<?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>48715</bug_id>
          
          <creation_ts>2010-10-30 06:24:34 -0700</creation_ts>
          <short_desc>Enable StrictTypeChecking for all types using SVG(Animated)PropertyTearOff</short_desc>
          <delta_ts>2010-11-01 02:12:15 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>47905</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>mdelaney7</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>302292</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-30 06:24:34 -0700</bug_when>
    <thetext>Enable StrictTypeChecking for all types using SVG(Animated)PropertyTearOff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302481</commentid>
    <comment_count>1</comment_count>
      <attachid>72475</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-31 13:38:33 -0700</bug_when>
    <thetext>Created attachment 72475
Patch

Added lots of new tests, and a little code :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302482</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-31 13:42:23 -0700</bug_when>
    <thetext>Attachment 72475 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/svg/SVGLength.cpp:206:  Non-label code inside switch statements should be indented.  [whitespace/indent] [4]
WebCore/bindings/v8/custom/V8SVGLengthCustom.cpp:82:  Tab found; better to use spaces  [whitespace/tab] [1]
Total errors found: 2 in 57 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302486</commentid>
    <comment_count>3</comment_count>
      <attachid>72476</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-31 13:51:15 -0700</bug_when>
    <thetext>Created attachment 72476
Patch v2

Fix style issues, more explicit ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302585</commentid>
    <comment_count>4</comment_count>
      <attachid>72476</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2010-11-01 01:01:08 -0700</bug_when>
    <thetext>Comment on attachment 72476
Patch v2

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

I only found small issues that can easily be corrected, so r=me.

&gt; WebCore/ChangeLog:11
&gt; +        When testing SVGLength it became obvious that quite a lot functionality was missing.

quite a lot *of* functionality

&gt; WebCore/ChangeLog:44
&gt; +        * svg/SVGLength.cpp: Implement all missing features of SVGLength.e

Remove the extra e.

&gt; WebCore/ChangeLog:47
&gt; +        (WebCore::SVGLength::value): Add ExceptionCode parameter throw NOT_SUPPORTED_ERR when trying to obtain to relative units, when no context is given (SVGLength created by createSVGLength()).

Should be rephrased, hard to read.

&gt; WebCore/ChangeLog:49
&gt; +        (WebCore::SVGLength::valueAsPercentage): s/100.0f/100/, use m_valueInSpecifiedUnits instead of valueInSpecifiedUnits().

Maybe not mention s/100.0f/100/, since it is the only mention of adapting to the code guideline style but other places in SVGLength.cpp were adapted too.
Or have a general remark in the ChangeLog that this style is now preferred because of the Webkit Coding style guideline.

&gt; WebCore/svg/SVGLength.cpp:421
&gt; +    return value / style-&gt;fontSize();

Can reuse fontSize local variable here.

&gt; LayoutTests/svg/dom/SVGAnimatedAngle-expected.txt:16
&gt; +Check assigning to baseVal has no effect, as no setter is defined

Check that.

&gt; LayoutTests/svg/dom/SVGAnimatedLength-expected.txt:16
&gt; +Check assigning to baseVal has no effect, as no setter is defined

Check that.

&gt; LayoutTests/svg/dom/SVGAnimatedLengthList-expected.txt:16
&gt; +Check assigning to baseVal has no effect, as no setter is defined

Check that.

&gt; LayoutTests/svg/dom/SVGAnimatedRect-expected.txt:16
&gt; +Check assigning to baseVal has no effect, as no setter is defined

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302591</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-01 01:53:58 -0700</bug_when>
    <thetext>Thanks for the quick review, fixed all issues, landing now...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302592</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-01 01:57:39 -0700</bug_when>
    <thetext>Landed in r71014.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302593</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-11-01 02:12:15 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Landed in r71014.

Forgot to land the svg/dynamic-updates changes, fixed in r71015.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72475</attachid>
            <date>2010-10-31 13:38:33 -0700</date>
            <delta_ts>2010-10-31 13:51:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>StrictMode.diff</filename>
            <type>text/plain</type>
            <size>114435</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDk5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzMgQEAKKzIwMTAtMTAtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRW5hYmxlIFN0cmljdFR5cGVDaGVja2luZyBmb3IgYWxsIHR5cGVzIHVzaW5nIFNWRyhB
bmltYXRlZClQcm9wZXJ0eVRlYXJPZmYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ4NzE1CisKKyAgICAgICAgRW5hYmxlIFN0cmljdFR5cGVDaGVja2lu
ZyBmb3IgYWxsIHJlYWR3cml0ZSBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbiBjYWxscyBvZiBhbGwg
dHlwZXMgdXNpbmcgdGhlIG5ldyBTVkcoQW5pbWF0ZWQpUHJvcGVydHlUZWFyT2ZmIGNvbmNlcHQu
CisgICAgICAgIEFsc28gZW5hYmxlIFJlcXVpcmVzQWxsQXJndW1lbnRzPVJhaXNlIGZvciBhbGwg
ZnVuY3Rpb24gY2FsbHMgb2YgdGhlc2UgbmV3IHR5cGVzLiBDb3ZlciB0aGlzIGZ1bmN0aW9uYWxp
dHkgYnkgdGVzdHMgZm9yIGVhY2ggb2YgdGhlbS4KKworICAgICAgICBXaGVuIHRlc3RpbmcgU1ZH
TGVuZ3RoIGl0IGJlY2FtZSBvYnZpb3VzIHRoYXQgcXVpdGUgYSBsb3QgZnVuY3Rpb25hbGl0eSB3
YXMgbWlzc2luZy4KKyAgICAgICAgQ29udmVyc2lvbiBmcm9tIHJlbGF0aXZlIGFyZ3VtZW50cyAo
cGVyY2VudGFnZSwgZW1zLCBleHMpIHRvIHVzZXIgc3BlY2lmaWVkIHVuaXRzIHdhcyBtaXNzaW5n
LCBhZGRlZCB0aGF0IGZ1bmN0aW9uYWxpdHkgYW5kIHRlc3RlZCBpdC4KKyAgICAgICAgVXNlciB1
bml0cyB0byBwdCBjb252ZXJzaW9uIHdhcyB3cm9uZywgZml4ZWQgdGhhdC4KKworICAgICAgICBU
ZXN0czogc3ZnL2RvbS9TVkdBbmltYXRlZEFuZ2xlLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9k
b20vU1ZHQW5pbWF0ZWRCb29sZWFuLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9kb20vU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvbi5odG1sCisgICAgICAgICAgICAgICBzdmcvZG9tL1NWR0FuaW1hdGVk
SW50ZWdlci5odG1sCisgICAgICAgICAgICAgICBzdmcvZG9tL1NWR0FuaW1hdGVkTGVuZ3RoLmh0
bWwKKyAgICAgICAgICAgICAgIHN2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Lmh0bWwKKyAg
ICAgICAgICAgICAgIHN2Zy9kb20vU1ZHQW5pbWF0ZWRSZWN0Lmh0bWwKKyAgICAgICAgICAgICAg
IHN2Zy9kb20vU1ZHTGVuZ3RoLXB4LXdpdGgtY29udGV4dC5odG1sCisgICAgICAgICAgICAgICBz
dmcvZG9tL1NWR0xlbmd0aC1weC5odG1sCisgICAgICAgICAgICAgICBzdmcvZG9tL1NWR0xlbmd0
aC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3RvbS5jcHA6IAor
ICAgICAgICAoV2ViQ29yZTo6SlNTVkdMZW5ndGg6OnZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTU1ZHTGVuZ3RoOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0xlbmd0aDo6
Y29udmVydFRvU3BlY2lmaWVkVW5pdHMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvck9iakMucG06CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVu
Z3RoQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1ZHTGVuZ3RoOjp2YWx1ZUFjY2Vz
c29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4U1ZHTGVuZ3RoOjp2YWx1ZUFjY2Vzc29y
U2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4U1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZp
ZWRVbml0c0NhbGxiYWNrKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsQmFzZWxpbmVT
aGlmdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsS2Vy
bmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZURh
c2hPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJv
a2VXaWR0aCk6CisgICAgICAgICogc3ZnL1NWR0FuZ2xlLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRCb29sZWFuLmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bi5pZGw6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5pZGw6CisgICAgICAgICog
c3ZnL1NWR0xlbmd0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsZW5ndGhUeXBlVG9TdHJpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpTVkdMZW5ndGgpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTGVuZ3RoOjp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OnNl
dFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6dmFsdWVBc1BlcmNlbnRhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpzZXRWYWx1ZUFzU3RyaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6dmFsdWVBc1N0cmluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdMZW5ndGg6Om5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdMZW5ndGg6OmRldGVybWluZVZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0
aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbml0c1RvUGVyY2VudGFnZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21QZXJjZW50YWdlVG9Vc2VyVW5pdHMpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9F
TVMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRU1TVG9V
c2VyVW5pdHMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9t
VXNlclVuaXRzVG9FWFMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjb252ZXJ0VmFs
dWVGcm9tRVhTVG9Vc2VyVW5pdHMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpmcm9t
Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjp0b0NTU1By
aW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoLmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMZW5ndGg6OnZhbHVlSW5TcGVjaWZpZWRVbml0cyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdMZW5ndGg6OnNldFZhbHVlSW5TcGVjaWZpZWRVbml0cyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdMZW5ndGg6OmlzUmVsYXRpdmUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguaWRsOgor
ICAgICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xl
bmd0aExpc3Q6OnBhcnNlKToKKwogMjAxMC0xMC0zMSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBTY2h1bHplLgpJbmRleDogV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3RvbS5jcHAJKHJldmlzaW9uIDcwOTg5KQor
KysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3RvbS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIyLDIyICsyMiw2NCBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSlNTVkdM
ZW5ndGguaCIKIAorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KICNpbmNsdWRlICJTVkdBbmlt
YXRlZFByb3BlcnR5LmgiCisjaW5jbHVkZSAiU1ZHRXhjZXB0aW9uLmgiCiAKIHVzaW5nIG5hbWVz
cGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotSlNWYWx1ZSBKU1NWR0xlbmd0aDo6
dmFsdWUoRXhlY1N0YXRlKikgY29uc3QKK0pTVmFsdWUgSlNTVkdMZW5ndGg6OnZhbHVlKEV4ZWNT
dGF0ZSogZXhlYykgY29uc3QKIHsKICAgICBTVkdMZW5ndGgmIHBvZEltcCA9IGltcGwoKS0+cHJv
cGVydHlSZWZlcmVuY2UoKTsKLSAgICByZXR1cm4ganNOdW1iZXIocG9kSW1wLnZhbHVlKGltcGwo
KS0+Y29udGV4dEVsZW1lbnQoKSkpOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGZs
b2F0IHZhbHVlID0gcG9kSW1wLnZhbHVlKGltcGwoKS0+Y29udGV4dEVsZW1lbnQoKSwgZWMpOwor
ICAgIGlmIChlYykgeworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOworICAgICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICB9CisKKyAgICByZXR1cm4ganNOdW1iZXIodmFs
dWUpOworfQorCit2b2lkIEpTU1ZHTGVuZ3RoOjpzZXRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIEpT
VmFsdWUgdmFsdWUpCit7CisgICAgaWYgKCF2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpICYmICF2
YWx1ZS5pc051bWJlcigpICYmICF2YWx1ZS5pc0Jvb2xlYW4oKSkgeworICAgICAgICB0aHJvd1ZN
VHlwZUVycm9yKGV4ZWMpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU1ZHTGVuZ3Ro
JiBwb2RJbXAgPSBpbXBsKCktPnByb3BlcnR5UmVmZXJlbmNlKCk7CisKKyAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKKyAgICBwb2RJbXAuc2V0VmFsdWUodmFsdWUudG9GbG9hdChleGVjKSwgaW1w
bCgpLT5jb250ZXh0RWxlbWVudCgpLCBlYyk7CisgICAgaWYgKGVjKSB7CisgICAgICAgIHNldERP
TUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpbXBs
KCktPmNvbW1pdENoYW5nZSgpOwogfQogCiBKU1ZhbHVlIEpTU1ZHTGVuZ3RoOjpjb252ZXJ0VG9T
cGVjaWZpZWRVbml0cyhFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgU1ZHTGVuZ3RoJiBwb2RJbXAg
PSBpbXBsKCktPnByb3BlcnR5UmVmZXJlbmNlKCk7Ci0gICAgcG9kSW1wLmNvbnZlcnRUb1NwZWNp
ZmllZFVuaXRzKGV4ZWMtPmFyZ3VtZW50KDApLnRvSW50MzIoZXhlYyksIGltcGwoKS0+Y29udGV4
dEVsZW1lbnQoKSk7CisKKyAgICAvLyBNaW1pYyB0aGUgYmVoYXZpb3VyIG9mIFJlcXVpcmVzQWxs
QXJndW1lbnRzPVJhaXNlLgorICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQorICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAiTm90
IGVub3VnaCBhcmd1bWVudHMiKSk7CisKKyAgICB1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSA9IGV4
ZWMtPmFyZ3VtZW50KDApLnRvVUludDMyKGV4ZWMpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKKyAgICBwb2RJbXAuY29udmVydFRvU3BlY2lmaWVkVW5pdHModW5pdFR5cGUsIGlt
cGwoKS0+Y29udGV4dEVsZW1lbnQoKSwgZWMpOworICAgIGlmIChlYykgeworICAgICAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgZWMpOworICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAg
ICB9CiAKICAgICBpbXBsKCktPmNvbW1pdENoYW5nZSgpOwogICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2Jq
Qy5wbQkocmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvck9iakMucG0JKHdvcmtpbmcgY29weSkKQEAgLTEyNDYsNyArMTI0Niw3IEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAgICAgICAgICAgICAjIFRPRE86IEhhbmRsZSBz
cGVjaWFsIGNhc2UgZm9yIERPTVNWR0xlbmd0aC4gV2UgZG8gbmVlZCBDdXN0b20gY29kZSBzdXBw
b3J0IGZvciB0aGlzLgogICAgICAgICAgICAgICAgIGlmICgkc3ZnUHJvcGVydHlUeXBlIGVxICJX
ZWJDb3JlOjpTVkdMZW5ndGgiIGFuZCAkYXR0cmlidXRlTmFtZSBlcSAidmFsdWUiKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICJ2YWx1ZSgwIC8qIEZJWE1FICov
IjsKKyAgICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gInZhbHVlKElNUEwt
PmNvbnRleHRFbGVtZW50KCksICI7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQog
CkBAIC0xMzkzLDcgKzEzOTMsMTIgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAg
ICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eVR5cGUgZXEgImZsb2F0IikgewogICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcG9kSW1wbCA9ICRhcmc7
XG4iKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHBvZEltcGwuJGNvcmVTZXR0ZXJOYW1lKCRhcmck
ZWMpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBTcGVjaWFsIGNhc2Ug
Zm9yIERPTVNWR0xlbmd0aC4gV2UgZG8gbmVlZCBDdXN0b20gY29kZSBzdXBwb3J0IGZvciB0aGlz
LgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eVR5cGUgZXEgIldlYkNv
cmU6OlNWR0xlbmd0aCIgYW5kICRhdHRyaWJ1dGVOYW1lIGVxICJ2YWx1ZSIpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBwb2RJbXBsLiRjb3Jl
U2V0dGVyTmFtZSgkYXJnLCBJTVBMLT5jb250ZXh0RWxlbWVudCgpJGVjKTtcbiIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBwb2RJbXBsLiRjb3JlU2V0dGVyTmFtZSgkYXJnJGVjKTtc
biIpOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgICAgICAgICAgaWYgKCRoYXNTZXR0ZXJFeGNlcHRpb24pIHsKQEAgLTE1Mjgs
OCArMTUzMyw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICBteSAk
c3ZnTWF0cml4SW52ZXJzZSA9ICgkcG9kVHlwZSBhbmQgJHBvZFR5cGUgZXEgIkFmZmluZVRyYW5z
Zm9ybSIgYW5kICRmdW5jdGlvbk5hbWUgZXEgImludmVyc2UiKTsKICAgICAgICAgICAgIG15ICRz
dmdMZW5ndGhDb252ZXJ0VG9TcGVjaWZpZWRVbml0cyA9ICgkc3ZnUHJvcGVydHlUeXBlIGFuZCAk
c3ZnUHJvcGVydHlUeXBlIGVxICJXZWJDb3JlOjpTVkdMZW5ndGgiIGFuZCAkZnVuY3Rpb25OYW1l
IGVxICJjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyIpOwogCisgICAgICAgICAgICBwdXNoKEBwYXJh
bWV0ZXJOYW1lcywgIklNUEwtPmNvbnRleHRFbGVtZW50KCkiKSBpZiAkc3ZnTGVuZ3RoQ29udmVy
dFRvU3BlY2lmaWVkVW5pdHM7IAogICAgICAgICAgICAgcHVzaChAcGFyYW1ldGVyTmFtZXMsICJl
YyIpIGlmICRyYWlzZXNFeGNlcHRpb25zIGFuZCAhKCRzdmdNYXRyaXhSb3RhdGVGcm9tVmVjdG9y
IHx8ICRzdmdNYXRyaXhJbnZlcnNlKTsKLSAgICAgICAgICAgIHB1c2goQHBhcmFtZXRlck5hbWVz
LCAiMCAvKiBGSVhNRSAqLyIpIGlmICRzdmdMZW5ndGhDb252ZXJ0VG9TcGVjaWZpZWRVbml0czsg
CiAKICAgICAgICAgICAgICMgSGFuZGxlIGFyZ3VtZW50cyB0aGF0IGFyZSAnU1ZHUHJvcGVydHkn
IGJhc2VkIChTVkdBbmdsZS9TVkdMZW5ndGgpLiBXZSBuZWVkIHRvIGNvbnZlcnQgZnJvbSBTVkdQ
cm9wZXJ0eVRlYXJPZmY8VHlwZT4qIHRvIFR5cGUsCiAgICAgICAgICAgICAjIHRvIGJlIGFibGUg
dG8gY2FsbCB0aGUgZGVzaXJlZCBXZWJDb3JlIGZ1bmN0aW9uLiBJZiB0aGUgY29udmVyc2lvbiBm
YWlscywgd2UgY2FuJ3QgZXh0cmFjdCBUeXBlIGFuZCBuZWVkIHRvIHJhaXNlIGFuIGV4Y2VwdGlv
bi4KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1
c3RvbS5jcHAJKHJldmlzaW9uIDcwOTg5KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTVkdMZW5ndGhDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwyNSArMzUsNTggQEAK
IAogI2luY2x1ZGUgIlNWR1Byb3BlcnR5VGVhck9mZi5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5o
IgorI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6dmFsdWVBY2Nlc3NvckdldHRlcih2
ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykK
IHsKLSAgICBJTkNfU1RBVFMoIkRPTS5TVkdMZW5ndGgudmFsdWUiKTsKKyAgICBJTkNfU1RBVFMo
IkRPTS5TVkdMZW5ndGgudmFsdWUuX2dldCIpOwogICAgIFNWR1Byb3BlcnR5VGVhck9mZjxTVkdM
ZW5ndGg+KiB3cmFwcGVyID0gVjhTVkdMZW5ndGg6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwog
ICAgIFNWR0xlbmd0aCYgaW1wID0gd3JhcHBlci0+cHJvcGVydHlSZWZlcmVuY2UoKTsKLSAgICBy
ZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC52YWx1ZSh3cmFwcGVyLT5jb250ZXh0RWxlbWVudCgp
KSk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZmxvYXQgdmFsdWUgPSBpbXAudmFs
dWUod3JhcHBlci0+Y29udGV4dEVsZW1lbnQoKSwgZWMpOworICAgIGlmIChVTkxJS0VMWShlYykp
IHsKKyAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKKyAgICAgICAgcmV0dXJu
IHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgIH0KKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6
TmV3KHZhbHVlKTsKK30KKwordm9pZCBWOFNWR0xlbmd0aDo6dmFsdWVBY2Nlc3NvclNldHRlcih2
ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNv
bnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uU1ZHTGVu
Z3RoLnZhbHVlLl9zZXQiKTsKKyAgICBpZiAoIWlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSAmJiAh
dmFsdWUtPklzTnVtYmVyKCkgJiYgIXZhbHVlLT5Jc0Jvb2xlYW4oKSkgeworICAgICAgICBWOFBy
b3h5Ojp0aHJvd1R5cGVFcnJvcigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU1ZH
UHJvcGVydHlUZWFyT2ZmPFNWR0xlbmd0aD4qIHdyYXBwZXIgPSBWOFNWR0xlbmd0aDo6dG9OYXRp
dmUoaW5mby5Ib2xkZXIoKSk7CisgICAgU1ZHTGVuZ3RoJiBpbXAgPSB3cmFwcGVyLT5wcm9wZXJ0
eVJlZmVyZW5jZSgpOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGltcC5zZXRWYWx1
ZShzdGF0aWNfY2FzdDxmbG9hdD4odmFsdWUtPk51bWJlclZhbHVlKCkpLCB3cmFwcGVyLT5jb250
ZXh0RWxlbWVudCgpLCBlYyk7CisgICAgaWYgKFVOTElLRUxZKGVjKSkKKyAgICAgICAgVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKKyAgICBlbHNlCisgICAgICAgIHdyYXBwZXItPmNvbW1p
dENoYW5nZSgpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhTVkdMZW5ndGg6OmNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsK
ICAgICBJTkNfU1RBVFMoIkRPTS5TVkdMZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMiKTsK
KyAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJO
b3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJveHk6OlN5bnRheEVycm9yKTsKKwogICAgIFNWR1By
b3BlcnR5VGVhck9mZjxTVkdMZW5ndGg+KiB3cmFwcGVyID0gVjhTVkdMZW5ndGg6OnRvTmF0aXZl
KGFyZ3MuSG9sZGVyKCkpOwogICAgIFNWR0xlbmd0aCYgaW1wID0gd3JhcHBlci0+cHJvcGVydHlS
ZWZlcmVuY2UoKTsKLSAgICBpbXAuY29udmVydFRvU3BlY2lmaWVkVW5pdHModG9JbnQzMihhcmdz
WzBdKSwgd3JhcHBlci0+Y29udGV4dEVsZW1lbnQoKSk7Ci0gICAgd3JhcHBlci0+Y29tbWl0Q2hh
bmdlKCk7Ci0gICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKwlFeGNlcHRpb25Db2RlIGVjID0g
MDsKKyAgICBFWENFUFRJT05fQkxPQ0soaW50LCB1bml0VHlwZSwgdG9VSW50MzIoYXJnc1swXSkp
OworICAgIGltcC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyh1bml0VHlwZSwgd3JhcHBlci0+Y29u
dGV4dEVsZW1lbnQoKSwgZWMpOworICAgIGlmIChVTkxJS0VMWShlYykpCisgICAgICAgIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgZWxzZQorICAgICAgICB3cmFwcGVyLT5jb21t
aXRDaGFuZ2UoKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1Jl
bmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVu
ZGVyU3R5bGUuaAkocmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
VkdSZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05MiwyOCArOTIsMzYgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBTVkdMZW5ndGggaW5pdGlhbEJhc2VsaW5lU2hpZnRWYWx1ZSgpCiAgICAg
ewogICAgICAgICBTVkdMZW5ndGggbGVuZ3RoOwotICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVj
aWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwKTsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CisgICAgICAgIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKExlbmd0aFR5cGVO
dW1iZXIsIDAsIGVjKTsKKyAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgICAgIHJldHVybiBsZW5n
dGg7CiAgICAgfQogCiAgICAgc3RhdGljIFNWR0xlbmd0aCBpbml0aWFsS2VybmluZygpCiAgICAg
ewogICAgICAgICBTVkdMZW5ndGggbGVuZ3RoOwotICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVj
aWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwKTsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CisgICAgICAgIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKExlbmd0aFR5cGVO
dW1iZXIsIDAsIGVjKTsKKyAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgICAgIHJldHVybiBsZW5n
dGg7CiAgICAgfQogCiAgICAgc3RhdGljIFNWR0xlbmd0aCBpbml0aWFsU3Ryb2tlRGFzaE9mZnNl
dCgpCiAgICAgewogICAgICAgICBTVkdMZW5ndGggbGVuZ3RoOwotICAgICAgICBsZW5ndGgubmV3
VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVyLCAwKTsKKyAgICAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKExl
bmd0aFR5cGVOdW1iZXIsIDAsIGVjKTsKKyAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgICAgIHJl
dHVybiBsZW5ndGg7CiAgICAgfQogCiAgICAgc3RhdGljIFNWR0xlbmd0aCBpbml0aWFsU3Ryb2tl
V2lkdGgoKQogICAgIHsKICAgICAgICAgU1ZHTGVuZ3RoIGxlbmd0aDsKLSAgICAgICAgbGVuZ3Ro
Lm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoTGVuZ3RoVHlwZU51bWJlciwgMSk7CisgICAgICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0
cyhMZW5ndGhUeXBlTnVtYmVyLCAxLCBlYyk7CisgICAgICAgIEFTU0VSVCghZWMpOwogICAgICAg
ICByZXR1cm4gbGVuZ3RoOwogICAgIH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuZ2xlLmlkbAkocmV2aXNpb24gNzA5ODkp
CisrKyBXZWJDb3JlL3N2Zy9TVkdBbmdsZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDEwICsz
NywxMCBAQCBtb2R1bGUgc3ZnIHsKICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVs
bFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlQXNTdHJpbmcKICAgICAgICAgICAgIHNldHRlciByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgICAgICB2b2lkIG5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMo
aW4gdW5zaWduZWQgc2hvcnQgdW5pdFR5cGUsIGluIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0
cykKKyAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZywgUmVxdWlyZXNBbGxBcmd1bWVudHM9UmFp
c2VdIHZvaWQgbmV3VmFsdWVTcGVjaWZpZWRVbml0cyhpbiB1bnNpZ25lZCBzaG9ydCB1bml0VHlw
ZSwgaW4gZmxvYXQgdmFsdWVJblNwZWNpZmllZFVuaXRzKQogICAgICAgICAgICAgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAKLSAgICAgICAgdm9pZCBjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhpbiB1
bnNpZ25lZCBzaG9ydCB1bml0VHlwZSkKKyAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZywgUmVx
dWlyZXNBbGxBcmd1bWVudHM9UmFpc2VdIHZvaWQgY29udmVydFRvU3BlY2lmaWVkVW5pdHMoaW4g
dW5zaWduZWQgc2hvcnQgdW5pdFR5cGUpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQm9vbGVhbi5pZGwJKHJldmlzaW9u
IDcwOTg5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjcsNyArMjcsNyBAQCBtb2R1bGUgc3ZnIHsKIAogICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9U1ZHXSBTVkdBbmltYXRlZEJvb2xlYW4gewogICAgICAgICBhdHRyaWJ1dGUgW1N0
cmljdFR5cGVDaGVja2luZ10gYm9vbGVhbiBiYXNlVmFsOwotICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW1N0cmljdFR5cGVDaGVja2luZ10gYm9vbGVhbiBhbmltVmFsOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBhbmltVmFsOwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaWRsCShyZXZpc2lvbiA3MDk4OSkKKysrIFdlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3
ICsyNiw3IEBACiBtb2R1bGUgc3ZnIHsKIAogICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZH
XSBTVkdBbmltYXRlZEVudW1lcmF0aW9uIHsKLSAgICAgICAgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IGJhc2VWYWw7CisgICAgICAgIGF0dHJpYnV0ZSBbU3RyaWN0VHlwZUNoZWNraW5nXSB1bnNp
Z25lZCBzaG9ydCBiYXNlVmFsOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgYW5pbVZhbDsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZElu
dGVnZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5p
ZGwJKHJldmlzaW9uIDcwOTg5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjYsOCArMjYsNyBAQAogbW9kdWxlIHN2ZyB7CiAKICAgICBp
bnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHQW5pbWF0ZWRJbnRlZ2VyIHsKLSAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIGxvbmcgYmFzZVZhbAotICAgICAgICAgICAgICAgICAgICAgLypz
ZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbikqLzsKKyAgICAgICAgYXR0cmlidXRlIFtTdHJpY3RU
eXBlQ2hlY2tpbmddIGxvbmcgYmFzZVZhbDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxv
bmcgYW5pbVZhbDsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHJldmlzaW9uIDcwOTg5KQor
KysgV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTQgKzI3
LDEzIEBACiAjaW5jbHVkZSAiQ1NTSGVscGVyLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9u
LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5j
bHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgog
Ci0jaW5jbHVkZSA8bWF0aC5oPgotI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgzLDYgKzgyLDcgQEAgc3RhdGljIGlu
bGluZSBTdHJpbmcgbGVuZ3RoVHlwZVRvU3RyaW5nKAogICAgICAgICByZXR1cm4gInBjIjsKICAg
ICB9CiAKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9
CiAKQEAgLTEyNiwxMCArMTI2LDExIEBAIGlubGluZSBTVkdMZW5ndGhUeXBlIHN0cmluZ1RvTGVu
Z3RoVHlwZSgKIH0KIAogU1ZHTGVuZ3RoOjpTVkdMZW5ndGgoU1ZHTGVuZ3RoTW9kZSBtb2RlLCBj
b25zdCBTdHJpbmcmIHZhbHVlQXNTdHJpbmcpCi0gICAgOiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0
cygwLjBmKQorICAgIDogbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMoMCkKICAgICAsIG1fdW5pdChz
dG9yZVVuaXQobW9kZSwgTGVuZ3RoVHlwZU51bWJlcikpCiB7Ci0gICAgc2V0VmFsdWVBc1N0cmlu
Zyh2YWx1ZUFzU3RyaW5nKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBzZXRWYWx1
ZUFzU3RyaW5nKHZhbHVlQXNTdHJpbmcsIGVjKTsKIH0KIAogU1ZHTGVuZ3RoOjpTVkdMZW5ndGgo
Y29uc3QgU1ZHTGVuZ3RoJiBvdGhlcikKQEAgLTE1NiwzNSArMTU3LDI0IEBAIFNWR0xlbmd0aFR5
cGUgU1ZHTGVuZ3RoOjp1bml0VHlwZSgpIGNvbnMKIAogZmxvYXQgU1ZHTGVuZ3RoOjp2YWx1ZShj
b25zdCBTVkdFbGVtZW50KiBjb250ZXh0KSBjb25zdAogewotICAgIFNWR0xlbmd0aFR5cGUgdHlw
ZSA9IGV4dHJhY3RUeXBlKG1fdW5pdCk7Ci0gICAgaWYgKHR5cGUgPT0gTGVuZ3RoVHlwZVVua25v
d24pCi0gICAgICAgIHJldHVybiAwLjBmOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAg
IHJldHVybiB2YWx1ZShjb250ZXh0LCBlYyk7Cit9CiAKLSAgICBzd2l0Y2ggKHR5cGUpIHsKK2Zs
b2F0IFNWR0xlbmd0aDo6dmFsdWUoY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9u
Q29kZSYgZWMpIGNvbnN0Cit7CisgICAgc3dpdGNoIChleHRyYWN0VHlwZShtX3VuaXQpKSB7Cisg
ICAgY2FzZSBMZW5ndGhUeXBlVW5rbm93bjoKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VS
UjsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBMZW5ndGhUeXBlTnVtYmVyOgogICAgICAg
ICByZXR1cm4gbV92YWx1ZUluU3BlY2lmaWVkVW5pdHM7CiAgICAgY2FzZSBMZW5ndGhUeXBlUGVy
Y2VudGFnZToKLSAgICAgICAgcmV0dXJuIFNWR0xlbmd0aDo6UGVyY2VudGFnZU9mVmlld3BvcnQo
bV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgLyAxMDAuMGYsIGNvbnRleHQsIGV4dHJhY3RNb2RlKG1f
dW5pdCkpOworICAgICAgICByZXR1cm4gY29udmVydFZhbHVlRnJvbVBlcmNlbnRhZ2VUb1VzZXJV
bml0cyhtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyAvIDEwMCwgY29udGV4dCwgZWMpOwogICAgIGNh
c2UgTGVuZ3RoVHlwZUVNUzoKKyAgICAgICAgcmV0dXJuIGNvbnZlcnRWYWx1ZUZyb21FTVNUb1Vz
ZXJVbml0cyhtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cywgY29udGV4dCwgZWMpOwogICAgIGNhc2Ug
TGVuZ3RoVHlwZUVYUzoKLSAgICB7Ci0gICAgICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IDA7Ci0g
ICAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQtPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICBz
dHlsZSA9IGNvbnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCk7Ci0gICAgICAgIGlmIChzdHlsZSkg
ewotICAgICAgICAgICAgZmxvYXQgdXNlU2l6ZSA9IHN0eWxlLT5mb250U2l6ZSgpOwotICAgICAg
ICAgICAgQVNTRVJUKHVzZVNpemUgPiAwKTsKLSAgICAgICAgICAgIGlmICh0eXBlID09IExlbmd0
aFR5cGVFTVMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1fdmFsdWVJblNwZWNpZmllZFVuaXRz
ICogdXNlU2l6ZTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGZsb2F0IHhI
ZWlnaHQgPSBzdHlsZS0+Zm9udCgpLnhIZWlnaHQoKTsKLSAgICAgICAgICAgICAgICAvLyBVc2Ug
b2YgY2VpbCBhbGxvd3MgYSBwaXhlbCBtYXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRwdXQg
b2YgY29vcmRzLXVuaXRzLTAzLWIuc3ZnCi0gICAgICAgICAgICAgICAgLy8gaWYgdGhpcyBjYXVz
ZXMgcHJvYmxlbXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBtYXliZSBpdCB3b3VsZCBiZSBiZXN0IHRv
IHJlbW92ZSB0aGlzCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1fdmFsdWVJblNwZWNpZmllZFVu
aXRzICogY2VpbGYoeEhlaWdodCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIDAuMGY7Ci0gICAgfQorICAgICAgICByZXR1cm4gY29udmVydFZhbHVlRnJvbUVYU1Rv
VXNlclVuaXRzKG1fdmFsdWVJblNwZWNpZmllZFVuaXRzLCBjb250ZXh0LCBlYyk7CiAgICAgY2Fz
ZSBMZW5ndGhUeXBlUFg6CiAgICAgICAgIHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0czsK
ICAgICBjYXNlIExlbmd0aFR5cGVDTToKQEAgLTE5NCwzMSArMTg0LDQ1IEBAIGZsb2F0IFNWR0xl
bmd0aDo6dmFsdWUoY29uc3QgU1ZHRWxlbWVudCoKICAgICBjYXNlIExlbmd0aFR5cGVJTjoKICAg
ICAgICAgcmV0dXJuIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzICogY3NzUGl4ZWxzUGVySW5jaDsK
ICAgICBjYXNlIExlbmd0aFR5cGVQVDoKLSAgICAgICAgcmV0dXJuIG1fdmFsdWVJblNwZWNpZmll
ZFVuaXRzIC8gNzIuMGYgKiBjc3NQaXhlbHNQZXJJbmNoOworICAgICAgICByZXR1cm4gbV92YWx1
ZUluU3BlY2lmaWVkVW5pdHMgLyA3MiAqIGNzc1BpeGVsc1BlckluY2g7CiAgICAgY2FzZSBMZW5n
dGhUeXBlUEM6Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyAvIDYuMGYg
KiBjc3NQaXhlbHNQZXJJbmNoOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOworICAgICAg
ICByZXR1cm4gbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgLyA2ICogY3NzUGl4ZWxzUGVySW5jaDsK
ICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMC4wZjsKKyAg
ICByZXR1cm4gMDsKIH0KIAotdm9pZCBTVkdMZW5ndGg6OnNldFZhbHVlKGZsb2F0IHZhbHVlKQor
dm9pZCBTVkdMZW5ndGg6OnNldFZhbHVlKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBTVkdMZW5ndGhUeXBlIHR5cGUgPSBl
eHRyYWN0VHlwZShtX3VuaXQpOwotICAgIEFTU0VSVCh0eXBlICE9IExlbmd0aFR5cGVVbmtub3du
KTsKLQotICAgIHN3aXRjaCAodHlwZSkgeworICAgIHN3aXRjaCAoZXh0cmFjdFR5cGUobV91bml0
KSkgeworICAgIGNhc2UgTGVuZ3RoVHlwZVVua25vd246CisgICAgICAgIGVjID0gTk9UX1NVUFBP
UlRFRF9FUlI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTGVuZ3RoVHlwZU51bWJlcjoKICAg
ICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSB2YWx1ZTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBMZW5ndGhUeXBlUGVyY2VudGFnZToKKyAgICB7CisgICAgICAgIGZsb2F0IHJlc3Vs
dCA9IGNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb1BlcmNlbnRhZ2UodmFsdWUsIGNvbnRleHQs
IGVjKTsKKyAgICAgICAgaWYgKCFlYykKKyAgICAgICAgICAgIG1fdmFsdWVJblNwZWNpZmllZFVu
aXRzID0gcmVzdWx0OyAKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgTGVuZ3RoVHlw
ZUVNUzoKKyAgICB7CisgICAgICAgIGZsb2F0IHJlc3VsdCA9IGNvbnZlcnRWYWx1ZUZyb21Vc2Vy
VW5pdHNUb0VNUyh2YWx1ZSwgY29udGV4dCwgZWMpOworICAgICAgICBpZiAoIWVjKQorICAgICAg
ICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSByZXN1bHQ7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KICAgICBjYXNlIExlbmd0aFR5cGVFWFM6Ci0gICAgICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgeworICAgICAgICBmbG9hdCByZXN1bHQgPSBjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRz
VG9FWFModmFsdWUsIGNvbnRleHQsIGVjKTsKKyAgICAgICAgaWYgKCFlYykKKyAgICAgICAgICAg
IG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gcmVzdWx0OyAKICAgICAgICAgYnJlYWs7CisgICAg
fQogICAgIGNhc2UgTGVuZ3RoVHlwZVBYOgogICAgICAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0
cyA9IHZhbHVlOwogICAgICAgICBicmVhazsKQEAgLTIzMiw5NyArMjM2LDEwNCBAQCB2b2lkIFNW
R0xlbmd0aDo6c2V0VmFsdWUoZmxvYXQgdmFsdWUpCiAgICAgICAgIG1fdmFsdWVJblNwZWNpZmll
ZFVuaXRzID0gdmFsdWUgLyBjc3NQaXhlbHNQZXJJbmNoOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIExlbmd0aFR5cGVQVDoKLSAgICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSB2YWx1
ZSAqIDcyLjBmIC8gY3NzUGl4ZWxzUGVySW5jaDsKKyAgICAgICAgbV92YWx1ZUluU3BlY2lmaWVk
VW5pdHMgPSB2YWx1ZSAqIDcyIC8gY3NzUGl4ZWxzUGVySW5jaDsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBMZW5ndGhUeXBlUEM6Ci0gICAgICAgIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0g
dmFsdWUgLyA2LjBmICogY3NzUGl4ZWxzUGVySW5jaDsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVm
YXVsdDoKKyAgICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSB2YWx1ZSAqIDYgLyBjc3NQ
aXhlbHNQZXJJbmNoOwogICAgICAgICBicmVhazsKICAgICB9CiB9CiAKLXZvaWQgU1ZHTGVuZ3Ro
OjpzZXRWYWx1ZUluU3BlY2lmaWVkVW5pdHMoZmxvYXQgdmFsdWUpCi17Ci0gICAgbV92YWx1ZUlu
U3BlY2lmaWVkVW5pdHMgPSB2YWx1ZTsKLX0KLQotZmxvYXQgU1ZHTGVuZ3RoOjp2YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMoKSBjb25zdAotewotICAgIHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0
czsKLX0KLQogZmxvYXQgU1ZHTGVuZ3RoOjp2YWx1ZUFzUGVyY2VudGFnZSgpIGNvbnN0CiB7CiAg
ICAgLy8gMTAwJSA9IDEwMC4wIGluc3RlYWQgb2YgMS4wIGZvciBoaXN0b3JpY2FsIHJlYXNvbnMs
IHRoaXMgY291bGQgZXZlbnR1YWxseSBiZSBjaGFuZ2VkCiAgICAgaWYgKGV4dHJhY3RUeXBlKG1f
dW5pdCkgPT0gTGVuZ3RoVHlwZVBlcmNlbnRhZ2UpCi0gICAgICAgIHJldHVybiB2YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMoKSAvIDEwMC4wZjsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWVJblNwZWNpZmll
ZFVuaXRzIC8gMTAwOwogCi0gICAgcmV0dXJuIHZhbHVlSW5TcGVjaWZpZWRVbml0cygpOworICAg
IHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0czsKIH0KIAotYm9vbCBTVkdMZW5ndGg6OnNl
dFZhbHVlQXNTdHJpbmcoY29uc3QgU3RyaW5nJiBzKQordm9pZCBTVkdMZW5ndGg6OnNldFZhbHVl
QXNTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAg
IGlmIChzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzdHJpbmcu
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CiAKLSAgICBmbG9hdCBjb252ZXJ0ZWROdW1iZXIg
PSAwLjBmOwotICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBzLmNoYXJhY3RlcnMoKTsKLSAgICBjb25z
dCBVQ2hhciogZW5kID0gcHRyICsgcy5sZW5ndGgoKTsKKyAgICBmbG9hdCBjb252ZXJ0ZWROdW1i
ZXIgPSAwOworICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBzdHJpbmcuY2hhcmFjdGVycygpOworICAg
IGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyBzdHJpbmcubGVuZ3RoKCk7CiAKLSAgICBpZiAoIXBh
cnNlTnVtYmVyKHB0ciwgZW5kLCBjb252ZXJ0ZWROdW1iZXIsIGZhbHNlKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIGNvbnZlcnRlZE51bWJl
ciwgZmFsc2UpKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KIAogICAgIFNWR0xlbmd0aFR5cGUgdHlwZSA9IHN0cmluZ1RvTGVuZ3RoVHlwZShwdHIs
IGVuZCk7Ci0gICAgaWYgKHR5cGUgPT0gTGVuZ3RoVHlwZVVua25vd24pCi0gICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAodHlwZSA9PSBMZW5ndGhUeXBlVW5rbm93bikgeworICAgICAgICBl
YyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBtX3VuaXQgPSBz
dG9yZVVuaXQoZXh0cmFjdE1vZGUobV91bml0KSwgdHlwZSk7CiAgICAgbV92YWx1ZUluU3BlY2lm
aWVkVW5pdHMgPSBjb252ZXJ0ZWROdW1iZXI7Ci0gICAgcmV0dXJuIHRydWU7CiB9CiAKIFN0cmlu
ZyBTVkdMZW5ndGg6OnZhbHVlQXNTdHJpbmcoKSBjb25zdAogewotICAgIHJldHVybiBTdHJpbmc6
Om51bWJlcihtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cykgKyBsZW5ndGhUeXBlVG9TdHJpbmcoZXh0
cmFjdFR5cGUobV91bml0KSk7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoU3RyaW5nOjpudW1iZXIo
bV92YWx1ZUluU3BlY2lmaWVkVW5pdHMpLCBsZW5ndGhUeXBlVG9TdHJpbmcoZXh0cmFjdFR5cGUo
bV91bml0KSkpOwogfQogCi12b2lkIFNWR0xlbmd0aDo6bmV3VmFsdWVTcGVjaWZpZWRVbml0cyh1
bnNpZ25lZCBzaG9ydCB0eXBlLCBmbG9hdCB2YWx1ZSkKK3ZvaWQgU1ZHTGVuZ3RoOjpuZXdWYWx1
ZVNwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0IHR5cGUsIGZsb2F0IHZhbHVlLCBFeGNlcHRp
b25Db2RlJiBlYykKIHsKLSAgICBpZiAodHlwZSA9PSBMZW5ndGhUeXBlVW5rbm93biB8fCB0eXBl
ID4gTGVuZ3RoVHlwZVBDKQorICAgIGlmICh0eXBlID09IExlbmd0aFR5cGVVbmtub3duIHx8IHR5
cGUgPiBMZW5ndGhUeXBlUEMpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKICAg
ICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIG1fdW5pdCA9IHN0b3JlVW5pdChleHRyYWN0TW9k
ZShtX3VuaXQpLCAoU1ZHTGVuZ3RoVHlwZSkgdHlwZSk7CisgICAgbV91bml0ID0gc3RvcmVVbml0
KGV4dHJhY3RNb2RlKG1fdW5pdCksIHN0YXRpY19jYXN0PFNWR0xlbmd0aFR5cGU+KHR5cGUpKTsK
ICAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyA9IHZhbHVlOwogfQogCi12b2lkIFNWR0xlbmd0
aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHModW5zaWduZWQgc2hvcnQgdHlwZSwgY29uc3QgU1ZH
RWxlbWVudCogY29udGV4dCkKK3ZvaWQgU1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0
cyh1bnNpZ25lZCBzaG9ydCB0eXBlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRp
b25Db2RlJiBlYykKIHsKLSAgICBpZiAodHlwZSA9PSBMZW5ndGhUeXBlVW5rbm93biB8fCB0eXBl
ID4gTGVuZ3RoVHlwZVBDKQorICAgIGlmICh0eXBlID09IExlbmd0aFR5cGVVbmtub3duIHx8IHR5
cGUgPiBMZW5ndGhUeXBlUEMpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKICAg
ICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGZsb2F0IHZhbHVlSW5Vc2VyVW5pdHMgPSB2YWx1
ZShjb250ZXh0KTsKLSAgICBtX3VuaXQgPSBzdG9yZVVuaXQoZXh0cmFjdE1vZGUobV91bml0KSwg
KFNWR0xlbmd0aFR5cGUpIHR5cGUpOwotICAgIHNldFZhbHVlKHZhbHVlSW5Vc2VyVW5pdHMpOwor
ICAgIGZsb2F0IHZhbHVlSW5Vc2VyVW5pdHMgPSB2YWx1ZShjb250ZXh0LCBlYyk7CisgICAgaWYg
KGVjKQorICAgICAgICByZXR1cm47CisKKyAgICB1bnNpZ25lZCBpbnQgb3JpZ2luYWxVbml0QW5k
VHlwZSA9IG1fdW5pdDsgICAgCisgICAgbV91bml0ID0gc3RvcmVVbml0KGV4dHJhY3RNb2RlKG1f
dW5pdCksIHN0YXRpY19jYXN0PFNWR0xlbmd0aFR5cGU+KHR5cGUpKTsKKyAgICBzZXRWYWx1ZSh2
YWx1ZUluVXNlclVuaXRzLCBjb250ZXh0LCBlYyk7CisgICAgaWYgKCFlYykKKyAgICAgICAgcmV0
dXJuOworCisgICAgLy8gRXZlbnR1YWxseSByZXN0b3JlIG9sZCB1bml0IGFuZCB0eXBlCisgICAg
bV91bml0ID0gb3JpZ2luYWxVbml0QW5kVHlwZTsKIH0KIAotZmxvYXQgU1ZHTGVuZ3RoOjpQZXJj
ZW50YWdlT2ZWaWV3cG9ydChmbG9hdCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwg
U1ZHTGVuZ3RoTW9kZSBtb2RlKQorYm9vbCBTVkdMZW5ndGg6OmRldGVybWluZVZpZXdwb3J0KGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIGZsb2F0JiB3aWR0aCwgZmxvYXQmIGhlaWdodCkgY29u
c3QKIHsKLSAgICBBU1NFUlQoY29udGV4dCk7Ci0KLSAgICBmbG9hdCB3aWR0aCA9IDAuMGYsIGhl
aWdodCA9IDAuMGY7Ci0gICAgU1ZHRWxlbWVudCogdmlld3BvcnRFbGVtZW50ID0gY29udGV4dC0+
dmlld3BvcnRFbGVtZW50KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICAvLyBQZXJjZW50YWdlT2ZWaWV3cG9ydCgpIGlzIHVzZWQgdG8gcmVzb2x2ZSBh
bGwgcmVsYXRpdmUtcG9zaXRpb25lZCB2YWx1ZXMgd2l0aGluIGEgU1ZHIGRvY3VtZW50IChmcmFn
bWVudCkKLSAgICBEb2N1bWVudCogZG9jID0gY29udGV4dC0+ZG9jdW1lbnQoKTsKLSAgICBpZiAo
ZG9jLT5kb2N1bWVudEVsZW1lbnQoKSA9PSBjb250ZXh0KSB7Ci0gICAgICAgIC8vIFJlc29sdmUg
dmFsdWUgYWdhaW5zdCBvdXRlcm1vc3QgPHN2Zz4gZWxlbWVudAotICAgICAgICBpZiAoUmVuZGVy
VmlldyogdmlldyA9IHRvUmVuZGVyVmlldyhkb2MtPnJlbmRlcmVyKCkpKSB7CisgICAgLy8gVGFr
ZSBzaXplIGZyb20gb3V0ZXJtb3N0IDxzdmc+IGVsZW1lbnQuCisgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gY29udGV4dC0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoZG9jdW1lbnQtPmRvY3VtZW50RWxl
bWVudCgpID09IGNvbnRleHQpIHsKKyAgICAgICAgaWYgKFJlbmRlclZpZXcqIHZpZXcgPSB0b1Jl
bmRlclZpZXcoZG9jdW1lbnQtPnJlbmRlcmVyKCkpKSB7CiAgICAgICAgICAgICB3aWR0aCA9IHZp
ZXctPnZpZXdXaWR0aCgpOwogICAgICAgICAgICAgaGVpZ2h0ID0gdmlldy0+dmlld0hlaWdodCgp
OwotICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAodmlld3BvcnRFbGVtZW50ICYmIHZpZXdwb3J0
RWxlbWVudC0+aXNTVkcoKSkgewotICAgICAgICAvLyBSZXNvbHZlIHZhbHVlIGFnYWluc3QgbmVh
cmVzdCB2aWV3cG9ydCBlbGVtZW50IChjb21tb24gY2FzZTogaW5uZXIgPHN2Zz4gZWxlbWVudHMp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICAvLyBSZXNvbHZlIHZhbHVlIGFnYWluc3QgbmVhcmVzdCB2aWV3
cG9ydCBlbGVtZW50IChjb21tb24gY2FzZTogaW5uZXIgPHN2Zz4gZWxlbWVudHMpCisgICAgU1ZH
RWxlbWVudCogdmlld3BvcnRFbGVtZW50ID0gY29udGV4dC0+dmlld3BvcnRFbGVtZW50KCk7Cisg
ICAgaWYgKHZpZXdwb3J0RWxlbWVudCAmJiB2aWV3cG9ydEVsZW1lbnQtPmlzU1ZHKCkpIHsKICAg
ICAgICAgY29uc3QgU1ZHU1ZHRWxlbWVudCogc3ZnID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHU1ZH
RWxlbWVudCo+KHZpZXdwb3J0RWxlbWVudCk7CiAgICAgICAgIGlmIChzdmctPmhhc0F0dHJpYnV0
ZShTVkdOYW1lczo6dmlld0JveEF0dHIpKSB7CiAgICAgICAgICAgICB3aWR0aCA9IHN2Zy0+dmll
d0JveCgpLndpZHRoKCk7CkBAIC0zMzEsMjUgKzM0MiwxMjcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpQ
ZXJjZW50YWdlT2ZWaWV3cG9ydChmbAogICAgICAgICAgICAgd2lkdGggPSBzdmctPndpZHRoKCku
dmFsdWUoc3ZnKTsKICAgICAgICAgICAgIGhlaWdodCA9IHN2Zy0+aGVpZ2h0KCkudmFsdWUoc3Zn
KTsKICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoY29udGV4dC0+cGFyZW50KCkgJiYgIWNvbnRl
eHQtPnBhcmVudCgpLT5pc1NWR0VsZW1lbnQoKSkgewotICAgICAgICAvLyBSZXNvbHZlIHZhbHVl
IGFnYWluc3QgZW5jbG9zaW5nIG5vbi1TVkcgUmVuZGVyQm94Ci0gICAgICAgIGlmIChSZW5kZXJP
YmplY3QqIHJlbmRlcmVyID0gY29udGV4dC0+cmVuZGVyZXIoKSkgewotICAgICAgICAgICAgaWYg
KHJlbmRlcmVyLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0
b1JlbmRlckJveChyZW5kZXJlcik7Ci0gICAgICAgICAgICAgICAgd2lkdGggPSBib3gtPndpZHRo
KCk7Ci0gICAgICAgICAgICAgICAgaGVpZ2h0ID0gYm94LT5oZWlnaHQoKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQorCisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKKyAgICAv
LyBSZXNvbHZlIHZhbHVlIGFnYWluc3QgZW5jbG9zaW5nIG5vbi1TVkcgUmVuZGVyQm94CisgICAg
aWYgKCFjb250ZXh0LT5wYXJlbnQoKSB8fCBjb250ZXh0LT5wYXJlbnQoKS0+aXNTVkdFbGVtZW50
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtb2RlID09IExlbmd0aE1vZGVX
aWR0aCkKKyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gY29udGV4dC0+cmVuZGVyZXIoKTsK
KyAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChyZW5kZXJlcik7Cisg
ICAgd2lkdGggPSBib3gtPndpZHRoKCk7CisgICAgaGVpZ2h0ID0gYm94LT5oZWlnaHQoKTsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tVXNl
clVuaXRzVG9QZXJjZW50YWdlKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0
LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBmbG9hdCB3aWR0aCA9IDA7CisgICAg
ZmxvYXQgaGVpZ2h0ID0gMDsKKyAgICBpZiAoIWRldGVybWluZVZpZXdwb3J0KGNvbnRleHQsIHdp
ZHRoLCBoZWlnaHQpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KKworICAgIHN3aXRjaCAoZXh0cmFjdE1vZGUobV91bml0KSkgewor
ICAgIGNhc2UgTGVuZ3RoTW9kZVdpZHRoOgorICAgICAgICByZXR1cm4gdmFsdWUgLyB3aWR0aCAq
IDEwMDsKKyAgICBjYXNlIExlbmd0aE1vZGVIZWlnaHQ6CisgICAgICAgIHJldHVybiB2YWx1ZSAv
IGhlaWdodCAqIDEwMDsKKyAgICBjYXNlIExlbmd0aE1vZGVPdGhlcjoKKyAgICAgICAgcmV0dXJu
IHZhbHVlIC8gKHNxcnRmKCh3aWR0aCAqIHdpZHRoICsgaGVpZ2h0ICogaGVpZ2h0KSAvIDIpKSAq
IDEwMDsKKyAgICB9OworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7
Cit9CisKK2Zsb2F0IFNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVBlcmNlbnRhZ2VUb1VzZXJV
bml0cyhmbG9hdCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9uQ29k
ZSYgZWMpIGNvbnN0Cit7CisgICAgZmxvYXQgd2lkdGggPSAwOworICAgIGZsb2F0IGhlaWdodCA9
IDA7CisgICAgaWYgKCFkZXRlcm1pbmVWaWV3cG9ydChjb250ZXh0LCB3aWR0aCwgaGVpZ2h0KSkg
eworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisKKyAgICBzd2l0Y2ggKGV4dHJhY3RNb2RlKG1fdW5pdCkpIHsKKyAgICBjYXNlIExlbmd0
aE1vZGVXaWR0aDoKICAgICAgICAgcmV0dXJuIHZhbHVlICogd2lkdGg7Ci0gICAgZWxzZSBpZiAo
bW9kZSA9PSBMZW5ndGhNb2RlSGVpZ2h0KQorICAgIGNhc2UgTGVuZ3RoTW9kZUhlaWdodDoKICAg
ICAgICAgcmV0dXJuIHZhbHVlICogaGVpZ2h0OwotICAgIGVsc2UgaWYgKG1vZGUgPT0gTGVuZ3Ro
TW9kZU90aGVyKQotICAgICAgICByZXR1cm4gdmFsdWUgKiBzcXJ0Zihwb3dmKHdpZHRoLCAyKSAr
IHBvd2YoaGVpZ2h0LCAyKSkgLyBzcXJ0ZigyLjBmKTsKKyAgICBjYXNlIExlbmd0aE1vZGVPdGhl
cjoKKyAgICAgICAgcmV0dXJuIHZhbHVlICogc3FydGYoKHdpZHRoICogd2lkdGggKyBoZWlnaHQg
KiBoZWlnaHQpIC8gMik7CisgICAgfTsKIAotICAgIHJldHVybiAwLjBmOworICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitmbG9hdCBTVkdMZW5ndGg6OmNvbnZl
cnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VNUyhmbG9hdCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCFjb250ZXh0IHx8
ICFjb250ZXh0LT5yZW5kZXJlcigpIHx8ICFjb250ZXh0LT5yZW5kZXJlcigpLT5zdHlsZSgpKSB7
CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRleHQtPnJlbmRlcmVyKCktPnN0eWxl
KCk7CisgICAgZmxvYXQgZm9udFNpemUgPSBzdHlsZS0+Zm9udFNpemUoKTsKKyAgICBpZiAoIWZv
bnRTaXplKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVy
biAwOworICAgIH0KKworICAgIHJldHVybiB2YWx1ZSAvIHN0eWxlLT5mb250U2l6ZSgpOworfQor
CitmbG9hdCBTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FTVNUb1VzZXJVbml0cyhmbG9hdCB2
YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0
Cit7CisgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5yZW5kZXJlcigpIHx8ICFjb250ZXh0
LT5yZW5kZXJlcigpLT5zdHlsZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7
CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNv
bnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCk7CisgICAgcmV0dXJuIHZhbHVlICogc3R5bGUtPmZv
bnRTaXplKCk7Cit9CisKK2Zsb2F0IFNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbml0
c1RvRVhTKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QKK3sKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnJlbmRlcmVy
KCkgfHwgIWNvbnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCkpIHsKKyAgICAgICAgZWMgPSBOT1Rf
U1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgUmVuZGVyU3R5
bGUqIHN0eWxlID0gY29udGV4dC0+cmVuZGVyZXIoKS0+c3R5bGUoKTsKKworICAgIC8vIFVzZSBv
ZiBjZWlsIGFsbG93cyBhIHBpeGVsIG1hdGNoIHRvIHRoZSBXM0NzIGV4cGVjdGVkIG91dHB1dCBv
ZiBjb29yZHMtdW5pdHMtMDMtYi5zdmcKKyAgICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVtcyBp
biByZWFsIHdvcmxkIGNhc2VzIG1heWJlIGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRoaXMK
KyAgICBmbG9hdCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCkpOworICAg
IGlmICgheEhlaWdodCkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAg
ICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gdmFsdWUgLyB4SGVpZ2h0OworfQorCitm
bG9hdCBTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1VzZXJVbml0cyhmbG9hdCB2YWx1
ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7
CisgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5yZW5kZXJlcigpIHx8ICFjb250ZXh0LT5y
ZW5kZXJlcigpLT5zdHlsZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRl
eHQtPnJlbmRlcmVyKCktPnN0eWxlKCk7CisgICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4
ZWwgbWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1i
LnN2ZworICAgIC8vIGlmIHRoaXMgY2F1c2VzIHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMg
bWF5YmUgaXQgd291bGQgYmUgYmVzdCB0byByZW1vdmUgdGhpcworICAgIHJldHVybiB2YWx1ZSAq
IGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsKIH0KIAogU1ZHTGVuZ3RoIFNWR0xlbmd0
aDo6ZnJvbUNTU1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkKQEAgLTM5
Nyw4ICs1MTAsMTIgQEAgU1ZHTGVuZ3RoIFNWR0xlbmd0aDo6ZnJvbUNTU1ByaW1pdGl2ZVZhbAog
ICAgIGlmIChzdmdUeXBlID09IExlbmd0aFR5cGVVbmtub3duKQogICAgICAgICByZXR1cm4gU1ZH
TGVuZ3RoKCk7CiAKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBTVkdMZW5ndGggbGVu
Z3RoOwotICAgIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHN2Z1R5cGUsIHZhbHVlLT5n
ZXRGbG9hdFZhbHVlKCkpOworICAgIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHN2Z1R5
cGUsIHZhbHVlLT5nZXRGbG9hdFZhbHVlKCksIGVjKTsKKyAgICBpZiAoZWMpICAgIAorICAgICAg
ICByZXR1cm4gU1ZHTGVuZ3RoKCk7CisKICAgICByZXR1cm4gbGVuZ3RoOwogfQogCkBAIC00Mzgs
OCArNTU1LDYgQEAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gU1ZHTGVuZ3RoOgogICAg
IGNhc2UgTGVuZ3RoVHlwZVBDOgogICAgICAgICBjc3NUeXBlID0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19QQzsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgfTsKIAogICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMoKSwgY3NzVHlwZSk7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdMZW5ndGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGgu
aAkocmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguaAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNyArMjIsOCBAQAogI2RlZmluZSBTVkdMZW5ndGhfaAogCiAjaWYgRU5BQkxF
KFNWRykKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC03NiwzMiArNzcsNDMgQEAgcHVibGljOgogICAgIGJvb2wgb3BlcmF0b3IhPShj
b25zdCBTVkdMZW5ndGgmKSBjb25zdDsKIAogICAgIGZsb2F0IHZhbHVlKGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHQpIGNvbnN0OwotICAgIHZvaWQgc2V0VmFsdWUoZmxvYXQpOworICAgIGZsb2F0
IHZhbHVlKGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsK
KyAgICB2b2lkIHNldFZhbHVlKGZsb2F0LCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNl
cHRpb25Db2RlJik7CisKKyAgICBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMoKSBjb25zdCB7
IHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0czsgfQorICAgIHZvaWQgc2V0VmFsdWVJblNw
ZWNpZmllZFVuaXRzKGZsb2F0IHZhbHVlKSB7IG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gdmFs
dWU7IH0KIAotICAgIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cygpIGNvbnN0OwotICAgIHZv
aWQgc2V0VmFsdWVJblNwZWNpZmllZFVuaXRzKGZsb2F0KTsKLSAgICAKICAgICBmbG9hdCB2YWx1
ZUFzUGVyY2VudGFnZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25z
dDsKLSAgICBib29sIHNldFZhbHVlQXNTdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBz
ZXRWYWx1ZUFzU3RyaW5nKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIHZv
aWQgbmV3VmFsdWVTcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCwgZmxvYXQgdmFsdWVJblNw
ZWNpZmllZFVuaXRzKTsKLSAgICB2b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKHVuc2lnbmVk
IHNob3J0LCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0KTsKKyAgICB2b2lkIG5ld1ZhbHVlU3Bl
Y2lmaWVkVW5pdHModW5zaWduZWQgc2hvcnQsIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cywg
RXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgY29udmVydFRvU3BlY2lmaWVkVW5pdHModW5zaWdu
ZWQgc2hvcnQsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKTsKIAog
ICAgIC8vIEhlbHBlciBmdW5jdGlvbnMKLSAgICBzdGF0aWMgZmxvYXQgUGVyY2VudGFnZU9mVmll
d3BvcnQoZmxvYXQgdmFsdWUsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIFNWR0xlbmd0aE1v
ZGUpOwotCiAgICAgaW5saW5lIGJvb2wgaXNSZWxhdGl2ZSgpIGNvbnN0CiAgICAgewogICAgICAg
ICBTVkdMZW5ndGhUeXBlIHR5cGUgPSB1bml0VHlwZSgpOwotICAgICAgICByZXR1cm4gKHR5cGUg
PT0gTGVuZ3RoVHlwZVBlcmNlbnRhZ2UgfHwgdHlwZSA9PSBMZW5ndGhUeXBlRU1TIHx8IHR5cGUg
PT0gTGVuZ3RoVHlwZUVYUyk7CisgICAgICAgIHJldHVybiB0eXBlID09IExlbmd0aFR5cGVQZXJj
ZW50YWdlIHx8IHR5cGUgPT0gTGVuZ3RoVHlwZUVNUyB8fCB0eXBlID09IExlbmd0aFR5cGVFWFM7
CiAgICAgfQogCiAgICAgc3RhdGljIFNWR0xlbmd0aCBmcm9tQ1NTUHJpbWl0aXZlVmFsdWUoQ1NT
UHJpbWl0aXZlVmFsdWUqKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4gdG9DU1NQcmltaXRpdmVWYWx1ZShjb25zdCBTVkdMZW5ndGgmKTsKIAogcHJpdmF0ZToKKyAg
ICBib29sIGRldGVybWluZVZpZXdwb3J0KGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIGZsb2F0
JiB3aWR0aCwgZmxvYXQmIGhlaWdodCkgY29uc3Q7CisKKyAgICBmbG9hdCBjb252ZXJ0VmFsdWVG
cm9tUGVyY2VudGFnZVRvVXNlclVuaXRzKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgZmxvYXQgY29udmVydFZhbHVlRnJv
bVVzZXJVbml0c1RvUGVyY2VudGFnZShmbG9hdCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29u
dGV4dCwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworCisgICAgZmxvYXQgY29udmVydFZhbHVlRnJv
bVVzZXJVbml0c1RvRU1TKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgZmxvYXQgY29udmVydFZhbHVlRnJvbUVNU1RvVXNl
clVuaXRzKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CisKKyAgICBmbG9hdCBjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9FWFMo
ZmxvYXQgdmFsdWUsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKKyAgICBmbG9hdCBjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMoZmxvYXQgdmFs
dWUsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKwor
cHJpdmF0ZToKICAgICBmbG9hdCBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0czsKICAgICB1bnNpZ25l
ZCBpbnQgbV91bml0OwogfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlkbAkocmV2aXNpb24gNzA5ODkpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdMZW5ndGguaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxNCArMzcsMjAg
QEAgbW9kdWxlIHN2ZyB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19MRU5HVEhU
WVBFX1BDICAgICAgICAgPSAxMDsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgdW5pdFR5cGU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tR2V0dGVyXSBmbG9h
dCB2YWx1ZTsKLSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0czsK
LSAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHZh
bHVlQXNTdHJpbmc7CisgICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tLCBTdHJpY3RUeXBlQ2hlY2tp
bmddIGZsb2F0IHZhbHVlCisgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbiks
CisgICAgICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICAgICAgdm9p
ZCBuZXdWYWx1ZVNwZWNpZmllZFVuaXRzKGluIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCAKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHZhbHVlSW5TcGVjaWZp
ZWRVbml0cyk7CisgICAgICAgIGF0dHJpYnV0ZSBbU3RyaWN0VHlwZUNoZWNraW5nXSBmbG9hdCB2
YWx1ZUluU3BlY2lmaWVkVW5pdHM7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051
bGxTdHJpbmcsIFN0cmljdFR5cGVDaGVja2luZ10gRE9NU3RyaW5nIHZhbHVlQXNTdHJpbmcKKyAg
ICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgICAgICBbQ3VzdG9t
XSB2b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKGluIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBl
KTsKKyAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZywgUmVxdWlyZXNBbGxBcmd1bWVudHM9UmFp
c2VdIHZvaWQgbmV3VmFsdWVTcGVjaWZpZWRVbml0cyhpbiB1bnNpZ25lZCBzaG9ydCB1bml0VHlw
ZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMpCisgICAgICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKKworICAgICAgICBbQ3VzdG9tLCBTdHJpY3RUeXBlQ2hlY2tpbmcsIFJl
cXVpcmVzQWxsQXJndW1lbnRzPVJhaXNlXSB2b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKGlu
IHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAJKHJldmlzaW9uIDcwOTg5
KQorKysgV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBTVkdMZW5ndGhMaXN0OjpwYXJz
ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBTVkdMZW5ndGhNb2RlIG1vZGUpCiB7CiAgICAgY2xlYXIo
KTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKIAogICAgIGNvbnN0IFVDaGFyKiBwdHIgPSB2
YWx1ZS5jaGFyYWN0ZXJzKCk7CiAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHZhbHVlLmxl
bmd0aCgpOwpAQCAtNDAsOCArNDEsMTMgQEAgdm9pZCBTVkdMZW5ndGhMaXN0OjpwYXJzZShjb25z
dCBTdHJpbmcmIAogICAgICAgICAgICAgcHRyKys7CiAgICAgICAgIGlmIChwdHIgPT0gc3RhcnQp
CiAgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBTVkdMZW5ndGggbGVuZ3RoKG1vZGUpOwot
ICAgICAgICBpZiAoIWxlbmd0aC5zZXRWYWx1ZUFzU3RyaW5nKFN0cmluZyhzdGFydCwgcHRyIC0g
c3RhcnQpKSkKKyAgICAgICAgU3RyaW5nIHZhbHVlU3RyaW5nKHN0YXJ0LCBwdHIgLSBzdGFydCk7
CisgICAgICAgIGlmICh2YWx1ZVN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGxlbmd0aC5zZXRWYWx1ZUFzU3RyaW5nKHZhbHVlU3RyaW5nLCBlYyk7CisgICAg
ICAgIGlmIChlYykKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgYXBwZW5kKGxlbmd0aCk7
CiAgICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDcwOTk3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNzMgQEAKKzIwMTAtMTAtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPG56
aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRW5hYmxlIFN0cmljdFR5cGVDaGVja2luZyBmb3IgYWxsIHR5cGVzIHVzaW5n
IFNWRyhBbmltYXRlZClQcm9wZXJ0eVRlYXJPZmYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4NzE1CisKKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuZ2xl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkQW5nbGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkQW5nbGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdBbmltYXRlZEJvb2xlYW4tZXhwZWN0ZWQudHh0
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFu
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5odG1sLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkSW50ZWdl
ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRJbnRl
Z2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkTGVuZ3RoLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdBbmltYXRlZExlbmd0aExpc3Qu
aHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdBbmltYXRlZFJlY3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkUmVjdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHTGVuZ3RoLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdMZW5ndGgtcHgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1weC13aXRo
LWNvbnRleHQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdMZW5ndGgtcHguaHRt
bDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdMZW5ndGguaHRtbDogQWRkZWQuCisgICAg
ICAgICogc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5nbGUuanM6CisgICAgICAgICogc3ZnL2Rv
bS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRBbmdsZS5qczogQWRkZWQuCisgICAgICAgICogc3Zn
L2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRCb29sZWFuLmpzOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmpzLgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkRW51bWVyYXRp
b24uanM6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVk
SW50ZWdlci5qczogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5p
bWF0ZWRMZW5ndGguanM6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NW
R0FuaW1hdGVkTGVuZ3RoTGlzdC5qczogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQt
dGVzdHMvU1ZHQW5pbWF0ZWRSZWN0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL3Njcmlw
dC10ZXN0cy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQuanM6IEFk
ZGVkLgorICAgICAgICAoY2FsY3VsYXRlRFBJKToKKyAgICAgICAgKGNhbGN1bGF0ZVhIZWlnaHQp
OgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC5qczogQWRkZWQu
CisgICAgICAgIChjYWxjdWxhdGVEUEkpOgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3Rz
L1NWR0xlbmd0aC5qczogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zdmctbGVuZ3RoLXVuaXRz
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZG9tL3N2Zy1sZW5ndGgtdW5p
dHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10
ZXN0cy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmpzOgorICAgICAgICAoZXhlY3V0
ZVRlc3QpOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0Np
cmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6Cisg
ICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHQ2lyY2xlRWxlbWVu
dC1zdmdkb20tci1wcm9wLmpzOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAgICAqIHN2
Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1j
eC1wcm9wLmpzOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAgICAqIHN2Zy9keW5hbWlj
LXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLmpz
OgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMv
c2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeC1wcm9wLmpzOgorICAgICAg
ICAoZXhlY3V0ZVRlc3QpOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRl
c3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeS1wcm9wLmpzOgorICAgICAgICAoZXhlY3V0
ZVRlc3QpOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS1oZWlnaHQtcHJvcC5qczoKKyAgICAgICAgKGV4ZWN1
dGVUZXN0KToKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdG
b3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5qczoKKyAgICAgICAgKGV4ZWN1
dGVUZXN0KToKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdG
b3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20teC1wcm9wLmpzOgorICAgICAgICAoZXhlY3V0ZVRl
c3QpOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50LXN2Z2RvbS15LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6
CisKIDIwMTAtMTAtMzEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3MDk1OS4KSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9kb20vU1ZHQW5nbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3N2Zy9kb20vU1ZHQW5nbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MDk4OSkKKysr
IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5nbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xNCw2ICsxNCwxMCBAQCBDaGVjayBpbnZhbGlkIGFyZ3VtZW50cyBmb3IgJ2NvbnZlcnRU
b1NwCiBQQVNTIGFuZ2xlLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0FuZ2xlLlNWR19BTkdM
RVRZUEVfVU5LTk9XTikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjog
RE9NIEV4Y2VwdGlvbiA5LgogUEFTUyBhbmdsZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygtMSkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5
LgogUEFTUyBhbmdsZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyg1KSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitQQVNTIGFuZ2xlLmNv
bnZlcnRUb1NwZWNpZmllZFVuaXRzKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KK1BBU1MgYW5nbGUuY29udmVydFRvU3BlY2lmaWVkVW5pdHMoYW5nbGUp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGFuZ2xlLmNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzKHN2Z0VsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCitQQVNTIGFuZ2xlLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKCkgdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KIFBBU1MgYW5nbGUu
dW5pdFR5cGUgaXMgU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9VTlNQRUNJRklFRAogCiBDaGVjayB2
YWxpZCBhcmd1bWVudHMgZm9yICdjb252ZXJ0VG9TcGVjaWZpZWRVbml0cycsIHRoYXQgc2hvdWxk
IG9ubHkgbW9kaWZ5IHRoZSAndmFsdWVBc1N0cmluZycKQEAgLTQyLDYgKzQ2LDE4IEBAIENoZWNr
IGludmFsaWQgYXJndW1lbnRzIGZvciAnbmV3VmFsdWVTcGUKIFBBU1MgYW5nbGUubmV3VmFsdWVT
cGVjaWZpZWRVbml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX1VOS05PV04sIDUwKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCiBQQVNT
IGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoLTEsIDUwKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCiBQQVNTIGFuZ2xlLm5ld1Zh
bHVlU3BlY2lmaWVkVW5pdHMoNSwgNTApIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBP
UlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRV
bml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX0RFRykgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRV
bml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX0RFRywgJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBhbmdsZS5uZXdWYWx1ZVNwZWNpZmllZFVu
aXRzKFNWR0FuZ2xlLlNWR19BTkdMRVRZUEVfREVHLCBhbmdsZSkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhT
VkdBbmdsZS5TVkdfQU5HTEVUWVBFX0RFRywgc3ZnRWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhT
VkdBbmdsZS5TVkdfQU5HTEVUWVBFX0RFRykgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBO
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cygn
YVN0cmluZycsIDQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNT
IGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoYW5nbGUsIDQpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMo
c3ZnRWxlbWVudCwgNCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BB
U1MgYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cygnYVN0cmluZycsICdhU3RyaW5nJykgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgYW5nbGUubmV3VmFsdWVT
cGVjaWZpZWRVbml0cyhhbmdsZSwgYW5nbGUpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoc3ZnRWxlbWVudCwg
c3ZnRWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mg
YW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cygpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCiBQQVNTIGFuZ2xlLnVuaXRUeXBlIGlzIFNWR0FuZ2xl
LlNWR19BTkdMRVRZUEVfVU5TUEVDSUZJRUQKIAogQ2hlY2sgdmFsaWQgYXJndW1lbnRzIGZvciAn
bmV3VmFsdWVTcGVjaWZpZWRVbml0cycsIHRoYXQgc2hvdWxkIG9ubHkgbW9kaWZ5IHRoZSAndmFs
dWVBc1N0cmluZycKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRBbmdsZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRl
ZEFuZ2xlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20v
U1ZHQW5pbWF0ZWRBbmdsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjcg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkQW5nbGUgQVBJIC0gdXRpbGl6aW5n
IHRoZSBvcmllbnRBbmdsZSBwcm9wZXJ0eSBvZiBTVkdNYXJrZXJFbGVtZW50CisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCisKK0NoZWNrIGluaXRpYWwgb3JpZW50QW5nbGUgdmFsdWUK
K1BBU1MgbWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS50b1N0cmluZygpIGlzICJbb2JqZWN0IFNW
R0FuaW1hdGVkQW5nbGVdIgorUEFTUyBtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwu
dG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdBbmdsZV0iCitQQVNTIG1hcmtlckVsZW1lbnQub3Jp
ZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCisKK0NoZWNrIHRoYXQgYW5nbGVzIGFyZSBkeW5h
bWljLCBjYWNoaW5nIHZhbHVlIGluIGEgbG9jYWwgdmFyaWFibGUgYW5kIG1vZGlmeWluZyBpdCwg
c2hvdWxkIHRha2UgZWZmZWN0CitQQVNTIG51bVJlZi52YWx1ZSBpcyAxMDAKK1BBU1MgbWFya2Vy
RWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDEwMAorCitDaGVjayBhc3NpZ25p
bmcgdG8gYmFzZVZhbCBoYXMgbm8gZWZmZWN0LCBhcyBubyBzZXR0ZXIgaXMgZGVmaW5lZAorUEFT
UyBtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwgPSAtMSBpcyAtMQorUEFTUyBtYXJr
ZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwgPSAnYVN0cmluZycgaXMgImFTdHJpbmciCitQ
QVNTIG1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbCA9IG1hcmtlckVsZW1lbnQgaXMg
bWFya2VyRWxlbWVudAorCitDaGVjayB0aGF0IHRoZSBvcmllbnRBbmdsZSB2YWx1ZSByZW1haW5l
ZCAxMDAsIGFuZCB0aGUgYmFzZVZhbCB0eXBlIGhhcyBub3QgYmVlbiBjaGFuZ2VkCitQQVNTIG1h
cmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbC50b1N0cmluZygpIGlzICJbb2JqZWN0IFNW
R0FuZ2xlXSIKK1BBU1MgbWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlz
IDEwMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRBbmdsZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRBbmdsZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEFuZ2xlLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkQW5nbGUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvZG9tL1NWR0FuaW1hdGVkQm9vbGVhbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEJvb2xlYW4tZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MDk3NykJKGZyb20gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLWV4cGVjdGVkLnR4dDo3MDk3NykKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5p
bWF0ZWRCb29sZWFuLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIEFQSQor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQgdmFsdWUKK1BBU1MgcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC5iYXNlVmFsIGlzIGZhbHNlCisKK1NldCB2YWx1ZSB0byB0cnVlCitQQVNT
IHJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IHRydWUgaXMg
dHJ1ZQorCitDYWNoaW5nIGJhc2VWYWwgaW4gbG9jYWwgdmFyaWFibGUKK1BBU1MgYmFzZVZhbCBp
cyB0cnVlCisKK01vZGlmeSBsb2NhbCBiYXNlVmFsIHZhcmlhYmxlIHRvIHRydWUKK1BBU1MgYmFz
ZVZhbCA9IGZhbHNlIGlzIGZhbHNlCisKK0Fzc3VyZSB0aGF0IHJlY3RFbGVtZW50LmV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQgaGFzIG5vdCBiZWVuIGNoYW5nZWQsIGJ1dCB0aGUgbG9jYWwgYmFz
ZVZhbCB2YXJpYWJsZQorUEFTUyBiYXNlVmFsIGlzIGZhbHNlCitQQVNTIHJlY3RFbGVtZW50LmV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCBpcyB0cnVlCisKK0NoZWNrIGFzc2lnbmlu
ZyBpbnZhbGlkIHZhbHVlcworUEFTUyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLmJhc2VWYWwgPSByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHJlY3RFbGVtZW50LmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IG51bGwgaXMgbnVsbAorUEFTUyByZWN0RWxl
bWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSAnYVN0cmluZycgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgcmVjdEVsZW1lbnQuZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KKworQ2hlY2sgdGhhdCB0aGUgdmFsdWUgaXMgbm93IGZh
bHNlCitQQVNTIHJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCBp
cyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQm9vbGVh
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTc3KQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdBbmltYXRlZEJvb2xlYW4tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEs
NCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCBB
UEkKK1RoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkQm9vbGVhbiBBUEkgLSB1dGlsaXpp
bmcgdGhlIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgcHJvcGVydHkgb2YgU1ZHUmVjdEVsZW1l
bnQKIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR0FuaW1hdGVkQm9vbGVhbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2
Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLmh0bWwJKHJldmlzaW9uIDcwOTc3KQkoZnJvbSBMYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaHRtbDo3MDk3NykK
KysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEJvb2xlYW4uaHRtbAkocmV2aXNpb24gNzA5
NzcpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQm9vbGVhbi5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9T
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRCb29sZWFuLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9i
b2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEVudW1l
cmF0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R0FuaW1hdGVkRW51bWVyYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwyOCBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0ZWRF
bnVtZXJhdGlvbiBBUEkgLSB1dGlsaXppbmcgdGhlIGNsaXBQYXRoVW5pdHMgcHJvcGVydHkgb2Yg
U1ZHQ2xpcFBhdGhFbGVtZW50CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK0No
ZWNrIGluaXRpYWwgY2xpcFBhdGhVbml0cyB2YWx1ZQorUEFTUyBjbGlwUGF0aEVsZW1lbnQuY2xp
cFBhdGhVbml0cy50b1N0cmluZygpIGlzICJbb2JqZWN0IFNWR0FuaW1hdGVkRW51bWVyYXRpb25d
IgorUEFTUyB0eXBlb2YoY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCkgaXMg
Im51bWJlciIKK1BBU1MgY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCBpcyBT
VkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRQorCitDaGVjayB0aGF0IGVu
dW1lcmF0aW9ucyBhcmUgc3RhdGljLCBjYWNoaW5nIHZhbHVlIGluIGEgbG9jYWwgdmFyaWFibGUg
YW5kIG1vZGlmeWluZyBpdCwgc2hvdWxkIGhhdmUgbm8gZWZmZWN0CitQQVNTIGVudW1SZWYgaXMg
U1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZUEVfVU5LTk9XTgorUEFTUyBjbGlwUGF0aEVsZW1lbnQu
Y2xpcFBhdGhVbml0cy5iYXNlVmFsIGlzIFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX1VTRVJT
UEFDRU9OVVNFCisKK0NoZWNrIGFzc2lnbmluZyB2YXJpb3VzIHZhbGlkIGFuZCBpbnZhbGlkIHZh
bHVlcworRkFJTCBjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhVbml0cy5iYXNlVmFsID0gMyBzaG91
bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgMy4KK1BBU1MgY2xpcFBhdGhFbGVtZW50LmNsaXBQ
YXRoVW5pdHMuYmFzZVZhbCA9IDIgaXMgU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZUEVfT0JKRUNU
Qk9VTkRJTkdCT1gKK0ZBSUwgY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCA9
IC0xIHNob3VsZCB0aHJvdyBhbiBleGNlcHRpb24uIFdhcyAtMS4KK1BBU1MgY2xpcFBhdGhFbGVt
ZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCA9ICdhU3RyaW5nJyB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhVbml0cy5i
YXNlVmFsID0gY2xpcFBhdGhFbGVtZW50IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCisKK0NoZWNrIHRoYXQgdGhlIGNsaXBQYXRoVW5pdHMgdmFsdWUgcmVtYWluZWQgb2Jq
ZWN0QkJveAorUEFTUyBjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhVbml0cy5iYXNlVmFsID0gMiBp
cyBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWAorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkRW51bWVy
YXRpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkSW50ZWdlci1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEludGVnZXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEludGVnZXIt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoZSBTVkdBbmltYXRlZEludGVnZXIgQVBJIC0gdXRpbGl6aW5nIHRoZSBmaWx0ZXJSZXNY
IHByb3BlcnR5IG9mIFNWR0ZpbHRlckVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKKworQ2hlY2sgaW5pdGlhbCBmaWx0ZXJSZXNYIHZhbHVlCitQQVNTIGZpbHRlckVsZW1l
bnQuZmlsdGVyUmVzWC50b1N0cmluZygpIGlzICJbb2JqZWN0IFNWR0FuaW1hdGVkSW50ZWdlcl0i
CitQQVNTIHR5cGVvZihmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCkgaXMgIm51bWJl
ciIKK1BBU1MgZmlsdGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwgaXMgMAorCitDaGVjayB0
aGF0IGludGVnZXJzIGFyZSBzdGF0aWMsIGNhY2hpbmcgdmFsdWUgaW4gYSBsb2NhbCB2YXJpYWJs
ZSBhbmQgbW9kaWZ5aW5nIGl0LCBzaG91bGQgaGF2ZSBubyBlZmZlY3QKK1BBU1MgbnVtUmVmIGlz
IDEwMAorUEFTUyBmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCBpcyAwCisKK0NoZWNr
IGFzc2lnbmluZyB2YXJpb3VzIHZhbGlkIGFuZCBpbnZhbGlkIHZhbHVlcworUEFTUyBmaWx0ZXJF
bGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCA9IC0xIGlzIC0xCitQQVNTIGZpbHRlckVsZW1lbnQu
ZmlsdGVyUmVzWC5iYXNlVmFsID0gMzAwIGlzIDMwMAorUEFTUyBmaWx0ZXJFbGVtZW50LmZpbHRl
clJlc1guYmFzZVZhbCA9ICdhU3RyaW5nJyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBl
IGVycm9yLgorUEFTUyBmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCA9IGZpbHRlckVs
ZW1lbnQgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KKworQ2hlY2sgdGhh
dCB0aGUgZmlsdGVyUmVzWCB2YWx1ZSByZW1haW5lZCAzMDAKK1BBU1MgZmlsdGVyRWxlbWVudC5m
aWx0ZXJSZXNYLmJhc2VWYWwgPSAzMDAgaXMgMzAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdB
bmltYXRlZEludGVnZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R0FuaW1hdGVkSW50ZWdlci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9TVkdBbmltYXRlZEludGVnZXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZExlbmd0
aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmlt
YXRlZExlbmd0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR0FuaW1hdGVkTGVuZ3RoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyNyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0ZWRMZW5ndGggQVBJIC0gdXRp
bGl6aW5nIHRoZSB3aWR0aCBwcm9wZXJ0eSBvZiBTVkdSZWN0RWxlbWVudAorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIHdpZHRoIHZhbHVlCitQQVNTIHJl
Y3RFbGVtZW50LndpZHRoLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgU1ZHQW5pbWF0ZWRMZW5ndGhd
IgorUEFTUyByZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsLnRvU3RyaW5nKCkgaXMgIltvYmplY3Qg
U1ZHTGVuZ3RoXSIKK1BBU1MgcmVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC52YWx1ZSBpcyAwCisK
K0NoZWNrIHRoYXQgbGVuZ3RocyBhcmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2Fs
IHZhcmlhYmxlIGFuZCBtb2RpZnlpbmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdAorUEFTUyBudW1S
ZWYudmFsdWUgaXMgMTAwCitQQVNTIHJlY3RFbGVtZW50LndpZHRoLmJhc2VWYWwudmFsdWUgaXMg
MTAwCisKK0NoZWNrIGFzc2lnbmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZlY3QsIGFzIG5vIHNl
dHRlciBpcyBkZWZpbmVkCitQQVNTIHJlY3RFbGVtZW50LndpZHRoLmJhc2VWYWwgPSAtMSBpcyAt
MQorUEFTUyByZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsID0gJ2FTdHJpbmcnIGlzICJhU3RyaW5n
IgorUEFTUyByZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsID0gcmVjdEVsZW1lbnQgaXMgcmVjdEVs
ZW1lbnQKKworQ2hlY2sgdGhhdCB0aGUgd2lkdGggdmFsdWUgcmVtYWluZWQgMTAwLCBhbmQgdGhl
IGJhc2VWYWwgdHlwZSBoYXMgbm90IGJlZW4gY2hhbmdlZAorUEFTUyByZWN0RWxlbWVudC53aWR0
aC5iYXNlVmFsLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgU1ZHTGVuZ3RoXSIKK1BBU1MgcmVjdEVs
ZW1lbnQud2lkdGguYmFzZVZhbC52YWx1ZSBpcyAxMDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R0FuaW1hdGVkTGVuZ3RoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdBbmltYXRlZExlbmd0aC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9TVkdBbmltYXRlZExlbmd0aC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9TVkdBbmltYXRlZExlbmd0aC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGhM
aXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0Fu
aW1hdGVkTGVuZ3RoTGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvZG9tL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMjcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkTGVuZ3Ro
TGlzdCBBUEkgLSB1dGlsaXppbmcgdGhlIGR4IHByb3BlcnR5IG9mIFNWR1RleHRFbGVtZW50CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK0NoZWNrIGluaXRpYWwgZHggdmFsdWUK
K1BBU1MgdGV4dEVsZW1lbnQuZHgudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdBbmltYXRlZExl
bmd0aExpc3RdIgorUEFTUyB0ZXh0RWxlbWVudC5keC5iYXNlVmFsLnRvU3RyaW5nKCkgaXMgIltv
YmplY3QgU1ZHTGVuZ3RoTGlzdF0iCitQQVNTIHRleHRFbGVtZW50LmR4LmJhc2VWYWwuZ2V0SXRl
bSgwKS52YWx1ZSBpcyA1MAorCitDaGVjayB0aGF0IGxlbmd0aCBsaXN0cyBhcmUgZHluYW1pYywg
Y2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBtb2RpZnlpbmcgaXQsIHNob3Vs
ZCB0YWtlIGVmZmVjdAorUEFTUyBudW1SZWYuZ2V0SXRlbSgwKS52YWx1ZSBpcyAxMDAKK1BBU1Mg
dGV4dEVsZW1lbnQuZHguYmFzZVZhbC5nZXRJdGVtKDApLnZhbHVlIGlzIDEwMAorCitDaGVjayBh
c3NpZ25pbmcgdG8gYmFzZVZhbCBoYXMgbm8gZWZmZWN0LCBhcyBubyBzZXR0ZXIgaXMgZGVmaW5l
ZAorUEFTUyB0ZXh0RWxlbWVudC5keC5iYXNlVmFsID0gLTEgaXMgLTEKK1BBU1MgdGV4dEVsZW1l
bnQuZHguYmFzZVZhbCA9ICdhU3RyaW5nJyBpcyAiYVN0cmluZyIKK1BBU1MgdGV4dEVsZW1lbnQu
ZHguYmFzZVZhbCA9IHRleHRFbGVtZW50IGlzIHRleHRFbGVtZW50CisKK0NoZWNrIHRoYXQgdGhl
IGR4IHZhbHVlIHJlbWFpbmVkIDEwMCwgYW5kIHRoZSBiYXNlVmFsIHR5cGUgaGFzIG5vdCBiZWVu
IGNoYW5nZWQKK1BBU1MgdGV4dEVsZW1lbnQuZHguYmFzZVZhbC50b1N0cmluZygpIGlzICJbb2Jq
ZWN0IFNWR0xlbmd0aExpc3RdIgorUEFTUyB0ZXh0RWxlbWVudC5keC5iYXNlVmFsLmdldEl0ZW0o
MCkudmFsdWUgaXMgMTAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZExlbmd0aExp
c3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkTGVu
Z3RoTGlzdC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmlt
YXRlZExlbmd0aExpc3QuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZFJlY3QtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRS
ZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZH
QW5pbWF0ZWRSZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAor
VGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0ZWRSZWN0IEFQSSAtIHV0aWxpemluZyB0aGUg
dmlld0JveCBwcm9wZXJ0eSBvZiBTVkdTVkdFbGVtZW50CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCisKK0NoZWNrIGluaXRpYWwgdmlld0JveCB2YWx1ZQorUEFTUyBzdmdFbGVtZW50
LnZpZXdCb3gudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdBbmltYXRlZFJlY3RdIgorUEFTUyBz
dmdFbGVtZW50LnZpZXdCb3guYmFzZVZhbC50b1N0cmluZygpIGlzICJbb2JqZWN0IFNWR1JlY3Rd
IgorUEFTUyBzdmdFbGVtZW50LnZpZXdCb3guYmFzZVZhbC54IGlzIDAKKworQ2hlY2sgdGhhdCBy
ZWN0cyBhcmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBt
b2RpZnlpbmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdAorUEFTUyBudW1SZWYueCBpcyAxMDAKK1BB
U1Mgc3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWwueCBpcyAxMDAKKworQ2hlY2sgYXNzaWduaW5n
IHRvIGJhc2VWYWwgaGFzIG5vIGVmZmVjdCwgYXMgbm8gc2V0dGVyIGlzIGRlZmluZWQKK1BBU1Mg
c3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWwgPSAtMSBpcyAtMQorUEFTUyBzdmdFbGVtZW50LnZp
ZXdCb3guYmFzZVZhbCA9ICdhU3RyaW5nJyBpcyAiYVN0cmluZyIKK1BBU1Mgc3ZnRWxlbWVudC52
aWV3Qm94LmJhc2VWYWwgPSBzdmdFbGVtZW50IGlzIHN2Z0VsZW1lbnQKKworQ2hlY2sgdGhhdCB0
aGUgdmlld0JveCB4IHJlbWFpbmVkIDEwMCwgYW5kIHRoZSBiYXNlVmFsIHR5cGUgaGFzIG5vdCBi
ZWVuIGNoYW5nZWQKK1BBU1Mgc3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWwudG9TdHJpbmcoKSBp
cyAiW29iamVjdCBTVkdSZWN0XSIKK1BBU1Mgc3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWwueCBp
cyAxMDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkUmVjdC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRSZWN0Lmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkUmVjdC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFJlY3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDcwOTg5KQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwz
NCArMCwwIEBACi1UaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkIEFQSQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotCi1DaGVjayBpbml0aWFs
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgdmFsdWUKLVBBU1MgcmVjdEVsZW1lbnQuZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsIGlzIGZhbHNlCi0KLVNldCB2YWx1ZSB0byB0
cnVlCi1QQVNTIHJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9
IHRydWUgaXMgdHJ1ZQotCi1DYWNoaW5nIGJhc2VWYWwgaW4gbG9jYWwgdmFyaWFibGUKLVBBU1Mg
YmFzZVZhbCBpcyB0cnVlCi0KLU1vZGlmeSBsb2NhbCBiYXNlVmFsIHZhcmlhYmxlIHRvIHRydWUK
LVBBU1MgYmFzZVZhbCA9IGZhbHNlIGlzIGZhbHNlCi0KLUFzc3VyZSB0aGF0IHJlY3RFbGVtZW50
LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgaGFzIG5vdCBiZWVuIGNoYW5nZWQsIGJ1dCB0aGUg
bG9jYWwgYmFzZVZhbCB2YXJpYWJsZQotUEFTUyBiYXNlVmFsIGlzIGZhbHNlCi1QQVNTIHJlY3RF
bGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCBpcyB0cnVlCi0KLUNoZWNr
IGFzc2lnbmluZyBpbnZhbGlkIHZhbHVlcwotUEFTUyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIHJlY3RFbGVt
ZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IG51bGwgaXMgbnVsbAotUEFT
UyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSAnYVN0cmlu
ZycgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgcmVjdEVsZW1l
bnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLQotQ2hlY2sgdGhhdCB0aGUgdmFsdWUg
aXMgbm93IGZhbHNlCi1QQVNTIHJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
YmFzZVZhbCBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5odG1sCShyZXZpc2lvbiA3MDk4OSkKKysrIExheW91dFRl
c3RzL3N2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KLTxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDUzIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdMZW5ndGggQVBJCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK0NoZWNrIGluaXRpYWwgbGVuZ3RoIHZhbHVl
cworUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJF
UgorUEFTUyBsZW5ndGgudmFsdWUgaXMgMAorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVu
aXRzIGlzIDAKK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjAiCisKK1NldCB2YWx1ZSB0
byBiZSAycHgKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQ
RV9QWAorUEFTUyBsZW5ndGgudmFsdWUgaXMgMgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmll
ZFVuaXRzIGlzIDIKK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjJweCIKKworQ2hlY2sg
aW52YWxpZCBhcmd1bWVudHMgZm9yICdjb252ZXJ0VG9TcGVjaWZpZWRVbml0cycKK1BBU1MgbGVu
Z3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9VTktO
T1dOKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0
aW9uIDkuCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygtMSkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBs
ZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoMTEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
Tk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgbGVuZ3RoLmNvbnZlcnRU
b1NwZWNpZmllZFVuaXRzKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQ
UE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lm
aWVkVW5pdHMobGVuZ3RoKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJS
OiBET00gRXhjZXB0aW9uIDkuCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhz
dmdFbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00g
RXhjZXB0aW9uIDkuCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygpIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGxlbmd0
aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgKK1BBU1MgbGVuZ3RoLnZh
bHVlIGlzIDIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyBpcyAyCitQQVNTIGxl
bmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgKKworQ2hlY2sgaW52
YWxpZCBhcmd1bWVudHMgZm9yICduZXdWYWx1ZVNwZWNpZmllZFVuaXRzJworUEFTUyBsZW5ndGgu
bmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfVU5LTk9XTiwg
NCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlv
biA5LgorUEFTUyBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cygtMSwgNCkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBs
ZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cygxMSwgNCkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBsZW5ndGgubmV3VmFs
dWVTcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgsICdhU3RyaW5nJykg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbGVuZ3RoLm5ld1Zh
bHVlU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYLCBsZW5ndGgpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGxlbmd0aC5uZXdWYWx1
ZVNwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWCwgc3ZnRWxlbWVudCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbGVuZ3RoLm5ld1Zh
bHVlU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBsZW5ndGgubmV3
VmFsdWVTcGVjaWZpZWRVbml0cygnYVN0cmluZycsIDQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IuCitQQVNTIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKGxlbmd0
aCwgNCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbGVuZ3Ro
Lm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoc3ZnRWxlbWVudCwgNCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMo
J2FTdHJpbmcnLCAnYVN0cmluZycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJy
b3IuCitQQVNTIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKGxlbmd0aCwgbGVuZ3RoKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBsZW5ndGgubmV3VmFs
dWVTcGVjaWZpZWRVbml0cyhzdmdFbGVtZW50LCBzdmdFbGVtZW50KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3Ro
LlNWR19MRU5HVEhUWVBFX1BYCitQQVNTIGxlbmd0aC52YWx1ZSBpcyAyCitQQVNTIGxlbmd0aC52
YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVu
Z3RoLlNWR19MRU5HVEhUWVBFX1BYCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtcHgt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3Ro
LXB4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZH
TGVuZ3RoLXB4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MyBAQAorVGhp
cyB0ZXN0IGNoZWNrcyBTVkdMZW5ndGggLSBjb252ZXJ0aW5nIGZyb20gcHggdG8gYWxsIG90aGVy
IHVuaXQgdHlwZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworU2V0IHZhbHVl
IHRvIGJlIDJweAorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhU
WVBFX1BYCitQQVNTIGxlbmd0aC52YWx1ZSBpcyAyCitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lm
aWVkVW5pdHMgaXMgMgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBpcyAiMnB4IgorCitDb252
ZXJ0IGZyb20gcHggdG8gdW5pdGxlc3MKK1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVu
aXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9OVU1CRVIpIGlzIHVuZGVmaW5lZC4KK1BBU1Mg
bGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjIiCitQQVNTIGxlbmd0aC52YWx1ZSBpcyAyCitQQVNT
IGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgorUEFTUyBsZW5ndGgudW5pdFR5cGUg
aXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUgorCitSZXNldCB0byAycHgKKworVHJ5
IGNvbnZlcnRpbmcgZnJvbSBweCB0byBwZXJjZW50YWdlLCBzaG91bGQgZmFpbCBhcyB0aGUgU1ZH
TGVuZ3RoIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBTVkdTVkdFbGVtZW50LCBhbmQgdGh1cyBu
byB2aWV3cG9ydCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUKK1BBU1MgbGVuZ3RoLmNvbnZlcnRU
b1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QRVJDRU5UQUdFKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitQ
QVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIycHgiCitQQVNTIGxlbmd0aC52YWx1ZSBpcyAy
CitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgorUEFTUyBsZW5ndGgudW5p
dFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYCisKK1Jlc2V0IHRvIDJweAorCitU
cnkgY29udmVydGluZyBmcm9tIHB4IHRvIGVtcywgc2hvdWxkIGZhaWwgYXMgdGhlIFNWR0xlbmd0
aCBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGEgU1ZHU1ZHRWxlbWVudCwgYW5kIHRodXMgbm8gZm9u
dC1zaXplIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZQorUEFTUyBsZW5ndGguY29udmVydFRvU3Bl
Y2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0VNUykgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBsZW5ndGgu
dmFsdWVBc1N0cmluZyBpcyAiMnB4IgorUEFTUyBsZW5ndGgudmFsdWUgaXMgMgorUEFTUyBsZW5n
dGgudmFsdWVJblNwZWNpZmllZFVuaXRzIGlzIDIKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNW
R0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWAorCitSZXNldCB0byAycHgKKworVHJ5IGNvbnZlcnRp
bmcgZnJvbSBweCB0byBleHMsIHNob3VsZCBmYWlsIGFzIHRoZSBTVkdMZW5ndGggaXMgbm90IGFz
c29jaWF0ZWQgd2l0aCBhIFNWR1NWR0VsZW1lbnQsIGFuZCB0aHVzIG5vIGZvbnQtc2l6ZSBpbmZv
cm1hdGlvbiBpcyBhdmFpbGFibGUKK1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRz
KFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9FWFMpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJp
bmcgaXMgIjJweCIKK1BBU1MgbGVuZ3RoLnZhbHVlIGlzIDIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5T
cGVjaWZpZWRVbml0cyBpcyAyCitQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZH
X0xFTkdUSFRZUEVfUFgKKworUmVzZXQgdG8gMnB4CisKK0NvbnZlcnQgZnJvbSBweCB0byBjbQor
UEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhU
WVBFX0NNKSBpcyB1bmRlZmluZWQuCitQQVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIwLjA1
MjkxNjdjbSIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDcpIGlz
ICIwLjA1MjkxNjciCitQQVNTIGxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIGlzICIyLjAiCitQQVNT
IGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfQ00KKworUmVzZXQg
dG8gMnB4CisKK0NvbnZlcnQgZnJvbSBweCB0byBtbQorUEFTUyBsZW5ndGguY29udmVydFRvU3Bl
Y2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX01NKSBpcyB1bmRlZmluZWQuCitQ
QVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIwLjUyOTE2N21tIgorUEFTUyBsZW5ndGgudmFs
dWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNikgaXMgIjAuNTI5MTY3IgorUEFTUyBsZW5ndGgu
dmFsdWUudG9GaXhlZCgxKSBpcyAiMi4wIgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVu
Z3RoLlNWR19MRU5HVEhUWVBFX01NCisKK1Jlc2V0IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHgg
dG8gaW4KK1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdf
TEVOR1RIVFlQRV9JTikgaXMgdW5kZWZpbmVkLgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBp
cyAiMC4wMjA4MzMzaW4iCitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhl
ZCg3KSBpcyAiMC4wMjA4MzMzIgorUEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgxKSBpcyAiMi4w
IgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0lOCisK
K1Jlc2V0IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHggdG8gcHQKK1BBU1MgbGVuZ3RoLmNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QVCkgaXMgdW5kZWZp
bmVkLgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBpcyAiMS41cHQiCitQQVNTIGxlbmd0aC52
YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMS41CitQQVNTIGxlbmd0aC52YWx1ZS50b0ZpeGVkKDEp
IGlzICIyLjAiCitQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZ
UEVfUFQKKworUmVzZXQgdG8gMnB4CisKK0NvbnZlcnQgZnJvbSBweCB0byBwYworUEFTUyBsZW5n
dGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BDKSBp
cyB1bmRlZmluZWQuCitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhlZCgz
KSBpcyAiMC4xMjUiCitQQVNTIGxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIGlzICIyLjAiCitQQVNT
IGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUEMKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLXB4LXdpdGgtY29udGV4dC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0
aC1weC13aXRoLWNvbnRleHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDky
IEBACitUaGlzIHRlc3QgY2hlY2tzIFNWR0xlbmd0aCAtIGNvbnZlcnRpbmcgZnJvbSBweCB0byBh
bGwgb3RoZXIgdW5pdCB0eXBlcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitT
ZXQgdmFsdWUgdG8gYmUgMnB4CitQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZH
X0xFTkdUSFRZUEVfUFgKK1BBU1MgbGVuZ3RoLnZhbHVlIGlzIDIKK1BBU1MgbGVuZ3RoLnZhbHVl
SW5TcGVjaWZpZWRVbml0cyBpcyAyCitQQVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIycHgi
CisKK0NvbnZlcnQgZnJvbSBweCB0byB1bml0bGVzcworUEFTUyBsZW5ndGguY29udmVydFRvU3Bl
Y2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUikgaXMgdW5kZWZpbmVk
LgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBpcyAiMiIKK1BBU1MgbGVuZ3RoLnZhbHVlIGlz
IDIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyBpcyAyCitQQVNTIGxlbmd0aC51
bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfTlVNQkVSCisKK1Jlc2V0IHRvIDJw
eAorCitDb252ZXJ0IGZyb20gcHggdG8gcGVyY2VudGFnZQorUEFTUyBsZW5ndGguY29udmVydFRv
U3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BFUkNFTlRBR0UpIGlzIHVu
ZGVmaW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjEuMzMzMzMlIgorUEFTUyBs
ZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNSkgaXMgIjEuMzMzMzMiCitQQVNT
IGxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIGlzICIyLjAiCitQQVNTIGxlbmd0aC51bml0VHlwZSBp
cyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUEVSQ0VOVEFHRQorCitSZXNldCB0byAycHgKKwor
Q29udmVydCBmcm9tIHB4IHRvIGVtcworUEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5p
dHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0VNUykgaXMgdW5kZWZpbmVkLgorUEFTUyBsZW5n
dGgudmFsdWVBc1N0cmluZyBpcyAiMC4xNjY2NjdlbSIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVj
aWZpZWRVbml0cy50b0ZpeGVkKDYpIGlzICIwLjE2NjY2NyIKK1BBU1MgbGVuZ3RoLnZhbHVlLnRv
Rml4ZWQoMSkgaXMgIjIuMCIKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdf
TEVOR1RIVFlQRV9FTVMKKworUmVzZXQgdG8gMnB4CisKK0NvbnZlcnQgZnJvbSBweCB0byBleHMK
K1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RI
VFlQRV9FWFMpIGlzIHVuZGVmaW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0
cy50b0ZpeGVkKDEpIGlzICIwLjIiCitQQVNTIGxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIGlzICIy
LjAiCitQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfRVhT
CisKK1Jlc2V0IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHggdG8gY20KK1BBU1MgbGVuZ3RoLmNv
bnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9DTSkgaXMgdW5k
ZWZpbmVkLgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBpcyAiMC4wNTI5MTY3Y20iCitQQVNT
IGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhlZCg3KSBpcyAiMC4wNTI5MTY3Igor
UEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgxKSBpcyAiMi4wIgorUEFTUyBsZW5ndGgudW5pdFR5
cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0NNCisKK1Jlc2V0IHRvIDJweAorCitDb252
ZXJ0IGZyb20gcHggdG8gbW0KK1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNW
R0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9NTSkgaXMgdW5kZWZpbmVkLgorUEFTUyBsZW5ndGgudmFs
dWVBc1N0cmluZyBpcyAiMC41MjkxNjdtbSIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRV
bml0cy50b0ZpeGVkKDYpIGlzICIwLjUyOTE2NyIKK1BBU1MgbGVuZ3RoLnZhbHVlLnRvRml4ZWQo
MSkgaXMgIjIuMCIKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RI
VFlQRV9NTQorCitSZXNldCB0byAycHgKKworQ29udmVydCBmcm9tIHB4IHRvIGluCitQQVNTIGxl
bmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfSU4p
IGlzIHVuZGVmaW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjAuMDIwODMzM2lu
IgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNykgaXMgIjAuMDIw
ODMzMyIKK1BBU1MgbGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkgaXMgIjIuMCIKK1BBU1MgbGVuZ3Ro
LnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9JTgorCitSZXNldCB0byAycHgK
KworQ29udmVydCBmcm9tIHB4IHRvIHB0CitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRV
bml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFQpIGlzIHVuZGVmaW5lZC4KK1BBU1MgbGVu
Z3RoLnZhbHVlQXNTdHJpbmcgaXMgIjEuNXB0IgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmll
ZFVuaXRzIGlzIDEuNQorUEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgxKSBpcyAiMi4wIgorUEFT
UyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BUCisKK1Jlc2V0
IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHggdG8gcGMKK1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1Nw
ZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QQykgaXMgdW5kZWZpbmVkLgor
UEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoMykgaXMgIjAuMTI1Igor
UEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgxKSBpcyAiMi4wIgorUEFTUyBsZW5ndGgudW5pdFR5
cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BDCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdMZW5ndGgtcHgtd2l0aC1jb250ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3ZnL2RvbS9TVkdMZW5ndGgtcHgtd2l0aC1jb250ZXh0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvU1ZHTGVuZ3RoLXB4LXdpdGgtY29u
dGV4dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLXB4Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdMZW5ndGgtcHguaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3N2Zy9kb20vU1ZHTGVuZ3RoLXB4Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGguaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0xlbmd0aC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc3ZnLWxlbmd0aC11
bml0cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmct
bGVuZ3RoLXVuaXRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzA5ODkpCisrKyBMYXlvdXRUZXN0
cy9zdmcvZG9tL3N2Zy1sZW5ndGgtdW5pdHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDEzICswLDAgQEAKLSAxCi0xCi0xCi0xCi0xCi01Ci01Ci01Ci01Ci01Ci1Eb25lIQotCi0K
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc3ZnLWxlbmd0aC11bml0cy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vc3ZnLWxlbmd0aC11bml0cy5odG1sCShyZXZpc2lv
biA3MDk4OSkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vc3ZnLWxlbmd0aC11bml0cy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMyICswLDAgQEAKLTxib2R5PgotPHN2ZyBpZD0iZm9vIj4KLTwv
c3ZnPgotPHByZT4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotdmFyIGVsbXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7Ci12YXIgbGVuID0gZWxtdC5jcmVhdGVTVkdMZW5n
dGgoKTsKLWRvY3VtZW50LndyaXRlbG4obGVuLnVuaXRUeXBlKQotbGVuLm5ld1ZhbHVlU3BlY2lm
aWVkVW5pdHMoMCwgNDIpOwotZG9jdW1lbnQud3JpdGVsbihsZW4udW5pdFR5cGUpCi1sZW4udmFs
dWUgPSA0ODsKLWRvY3VtZW50LndyaXRlbG4obGVuLnVuaXRUeXBlKQotbGVuLm5ld1ZhbHVlU3Bl
Y2lmaWVkVW5pdHMoNTExNjgsIDQyKTsKLWRvY3VtZW50LndyaXRlbG4obGVuLnVuaXRUeXBlKQot
bGVuLnZhbHVlID0gNDg7Ci1kb2N1bWVudC53cml0ZWxuKGxlbi51bml0VHlwZSkKLWxlbi52YWx1
ZUFzU3RyaW5nID0gIjMycHgiCi1kb2N1bWVudC53cml0ZWxuKGxlbi51bml0VHlwZSkKLWxlbi5j
b252ZXJ0VG9TcGVjaWZpZWRVbml0cygwKQotZG9jdW1lbnQud3JpdGVsbihsZW4udW5pdFR5cGUp
Ci1sZW4udmFsdWVBc1N0cmluZyA9ICIzMnB4IgotZG9jdW1lbnQud3JpdGVsbihsZW4udW5pdFR5
cGUpCi1sZW4uY29udmVydFRvU3BlY2lmaWVkVW5pdHMoNTExNjgpCi1kb2N1bWVudC53cml0ZWxu
KGxlbi51bml0VHlwZSkKLWxlbi52YWx1ZSA9IDQ4OwotZG9jdW1lbnQud3JpdGVsbihsZW4udW5p
dFR5cGUpCi1kb2N1bWVudC53cml0ZWxuKCJEb25lISIpCi08L3NjcmlwdD4KLTwvcHJlPgpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5nbGUuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5nbGUuanMJKHJldmlz
aW9uIDcwOTg5KQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5nbGUu
anMJKHdvcmtpbmcgY29weSkKQEAgLTE2LDYgKzE2LDEwIEBAIGRlYnVnKCJDaGVjayBpbnZhbGlk
IGFyZ3VtZW50cyBmb3IgJ2NvbnYKIHNob3VsZFRocm93KCJhbmdsZS5jb252ZXJ0VG9TcGVjaWZp
ZWRVbml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX1VOS05PV04pIik7CiBzaG91bGRUaHJvdygi
YW5nbGUuY29udmVydFRvU3BlY2lmaWVkVW5pdHMoLTEpIik7CiBzaG91bGRUaHJvdygiYW5nbGUu
Y29udmVydFRvU3BlY2lmaWVkVW5pdHMoNSkiKTsKK3Nob3VsZFRocm93KCJhbmdsZS5jb252ZXJ0
VG9TcGVjaWZpZWRVbml0cygnYVN0cmluZycpIik7CitzaG91bGRUaHJvdygiYW5nbGUuY29udmVy
dFRvU3BlY2lmaWVkVW5pdHMoYW5nbGUpIik7CitzaG91bGRUaHJvdygiYW5nbGUuY29udmVydFRv
U3BlY2lmaWVkVW5pdHMoc3ZnRWxlbWVudCkiKTsKK3Nob3VsZFRocm93KCJhbmdsZS5jb252ZXJ0
VG9TcGVjaWZpZWRVbml0cygpIik7CiBzaG91bGRCZSgiYW5nbGUudW5pdFR5cGUiLCAiU1ZHQW5n
bGUuU1ZHX0FOR0xFVFlQRV9VTlNQRUNJRklFRCIpOwogCiBkZWJ1ZygiIik7CkBAIC01MCw2ICs1
NCwxOCBAQCBkZWJ1ZygiQ2hlY2sgaW52YWxpZCBhcmd1bWVudHMgZm9yICduZXdWCiBzaG91bGRU
aHJvdygiYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBF
X1VOS05PV04sIDUwKSIpOwogc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5p
dHMoLTEsIDUwKSIpOwogc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMo
NSwgNTApIik7CitzaG91bGRUaHJvdygiYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdB
bmdsZS5TVkdfQU5HTEVUWVBFX0RFRykiKTsKK3Nob3VsZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNw
ZWNpZmllZFVuaXRzKFNWR0FuZ2xlLlNWR19BTkdMRVRZUEVfREVHLCAnYVN0cmluZycpIik7Citz
aG91bGRUaHJvdygiYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdBbmdsZS5TVkdfQU5H
TEVUWVBFX0RFRywgYW5nbGUpIik7CitzaG91bGRUaHJvdygiYW5nbGUubmV3VmFsdWVTcGVjaWZp
ZWRVbml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX0RFRywgc3ZnRWxlbWVudCkiKTsKK3Nob3Vs
ZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKFNWR0FuZ2xlLlNWR19BTkdMRVRZ
UEVfREVHKSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoJ2FT
dHJpbmcnLCA0KSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMo
YW5nbGUsIDQpIik7CitzaG91bGRUaHJvdygiYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhz
dmdFbGVtZW50LCA0KSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5p
dHMoJ2FTdHJpbmcnLCAnYVN0cmluZycpIik7CitzaG91bGRUaHJvdygiYW5nbGUubmV3VmFsdWVT
cGVjaWZpZWRVbml0cyhhbmdsZSwgYW5nbGUpIik7CitzaG91bGRUaHJvdygiYW5nbGUubmV3VmFs
dWVTcGVjaWZpZWRVbml0cyhzdmdFbGVtZW50LCBzdmdFbGVtZW50KSIpOworc2hvdWxkVGhyb3co
ImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoKSIpOwogc2hvdWxkQmUoImFuZ2xlLnVuaXRU
eXBlIiwgIlNWR0FuZ2xlLlNWR19BTkdMRVRZUEVfVU5TUEVDSUZJRUQiKTsKIAogZGVidWcoIiIp
OwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRBbmds
ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdB
bmltYXRlZEFuZ2xlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3Jp
cHQtdGVzdHMvU1ZHQW5pbWF0ZWRBbmdsZS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBA
QAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkQW5nbGUgQVBJ
IC0gdXRpbGl6aW5nIHRoZSBvcmllbnRBbmdsZSBwcm9wZXJ0eSBvZiBTVkdNYXJrZXJFbGVtZW50
Iik7CisKK3ZhciBtYXJrZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJtYXJrZXIiKTsKKworZGVidWcoIiIpOworZGVidWco
IkNoZWNrIGluaXRpYWwgb3JpZW50QW5nbGUgdmFsdWUiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygibWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHQW5p
bWF0ZWRBbmdsZV0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibWFya2VyRWxlbWVudC5vcmll
bnRBbmdsZS5iYXNlVmFsLnRvU3RyaW5nKCkiLCAiW29iamVjdCBTVkdBbmdsZV0iKTsKK3Nob3Vs
ZEJlKCJtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOworCitk
ZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCBhbmdsZXMgYXJlIGR5bmFtaWMsIGNhY2hpbmcg
dmFsdWUgaW4gYSBsb2NhbCB2YXJpYWJsZSBhbmQgbW9kaWZ5aW5nIGl0LCBzaG91bGQgdGFrZSBl
ZmZlY3QiKTsKK3ZhciBudW1SZWYgPSBtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWw7
CitudW1SZWYudmFsdWUgPSAxMDA7CitzaG91bGRCZSgibnVtUmVmLnZhbHVlIiwgIjEwMCIpOwor
c2hvdWxkQmUoIm1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSIsICIxMDAi
KTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGFzc2lnbmluZyB0byBiYXNlVmFsIGhhcyBu
byBlZmZlY3QsIGFzIG5vIHNldHRlciBpcyBkZWZpbmVkIik7CitzaG91bGRCZSgibWFya2VyRWxl
bWVudC5vcmllbnRBbmdsZS5iYXNlVmFsID0gLTEiLCAiLTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygibWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsID0gJ2FTdHJpbmcnIiwgImFT
dHJpbmciKTsKK3Nob3VsZEJlKCJtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwgPSBt
YXJrZXJFbGVtZW50IiwgIm1hcmtlckVsZW1lbnQiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNo
ZWNrIHRoYXQgdGhlIG9yaWVudEFuZ2xlIHZhbHVlIHJlbWFpbmVkIDEwMCwgYW5kIHRoZSBiYXNl
VmFsIHR5cGUgaGFzIG5vdCBiZWVuIGNoYW5nZWQiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
bWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsLnRvU3RyaW5nKCkiLCAiW29iamVjdCBT
VkdBbmdsZV0iKTsKK3Nob3VsZEJlKCJtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwu
dmFsdWUiLCAiMTAwIik7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlv
dXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZEJvb2xlYW4uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRCb29s
ZWFuLmpzCShyZXZpc2lvbiA3MDk3NykJKGZyb20gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQt
dGVzdHMvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5qczo3MDk3NykKKysrIExheW91dFRl
c3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkQm9vbGVhbi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM3IEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGUg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCBBUEkiKTsKKwordmFyIHJlY3RFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJy
ZWN0Iik7CitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgaW5pdGlhbCBTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkIHZhbHVlIik7CitzaG91bGRCZSgicmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC5iYXNlVmFsIiwgImZhbHNlIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJT
ZXQgdmFsdWUgdG8gdHJ1ZSIpOworc2hvdWxkQmUoInJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQuYmFzZVZhbCA9IHRydWUiLCAidHJ1ZSIpOworCitkZWJ1ZygiIik7CitkZWJ1
ZygiQ2FjaGluZyBiYXNlVmFsIGluIGxvY2FsIHZhcmlhYmxlIik7Cit2YXIgYmFzZVZhbCA9IHJl
Y3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbDsKK3Nob3VsZEJlKCJi
YXNlVmFsIiwgInRydWUiKTsKKworZGVidWcoIiIpOworZGVidWcoIk1vZGlmeSBsb2NhbCBiYXNl
VmFsIHZhcmlhYmxlIHRvIHRydWUiKTsKK3Nob3VsZEJlRmFsc2UoImJhc2VWYWwgPSBmYWxzZSIp
OworCitkZWJ1ZygiIik7CitkZWJ1ZygiQXNzdXJlIHRoYXQgcmVjdEVsZW1lbnQuZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCBoYXMgbm90IGJlZW4gY2hhbmdlZCwgYnV0IHRoZSBsb2NhbCBiYXNl
VmFsIHZhcmlhYmxlIik7CitzaG91bGRCZSgiYmFzZVZhbCIsICJmYWxzZSIpOworc2hvdWxkQmUo
InJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCIsICJ0cnVlIik7
CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBhc3NpZ25pbmcgaW52YWxpZCB2YWx1ZXMiKTsK
K3Nob3VsZFRocm93KCJyZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VW
YWwgPSByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIik7CitzaG91bGRCZU51
bGwoInJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IG51bGwi
KTsKK3Nob3VsZFRocm93KCJyZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJh
c2VWYWwgPSAnYVN0cmluZyciKTsKK3Nob3VsZFRocm93KCJyZWN0RWxlbWVudC5leHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSByZWN0RWxlbWVudCIpOworCitkZWJ1ZygiIik7Citk
ZWJ1ZygiQ2hlY2sgdGhhdCB0aGUgdmFsdWUgaXMgbm93IGZhbHNlIik7CitzaG91bGRCZSgicmVj
dEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsIiwgImZhbHNlIik7CisK
K3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3Nj
cmlwdC10ZXN0cy9TVkdBbmltYXRlZEJvb2xlYW4uanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRCb29sZWFuLmpzCShyZXZpc2lvbiA3
MDk3NykKKysrIExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkQm9v
bGVhbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLWRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgY2hlY2tzIHRoZSBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIEFQSSIpOworZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkQm9vbGVhbiBBUEkgLSB1
dGlsaXppbmcgdGhlIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgcHJvcGVydHkgb2YgU1ZHUmVj
dEVsZW1lbnQiKTsKIAogdmFyIHJlY3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5T
KCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJyZWN0Iik7CiBkZWJ1ZygiIik7CkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZEVudW1lcmF0aW9u
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0Fu
aW1hdGVkRW51bWVyYXRpb24uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9t
L3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmpzCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMwIEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbiBBUEkgLSB1dGlsaXppbmcgdGhlIGNsaXBQYXRoVW5pdHMgcHJvcGVydHkg
b2YgU1ZHQ2xpcFBhdGhFbGVtZW50Iik7CisKK3ZhciBjbGlwUGF0aEVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgImNsaXBQYXRo
Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBpbml0aWFsIGNsaXBQYXRoVW5pdHMgdmFs
dWUiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5p
dHMudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR0FuaW1hdGVkRW51bWVyYXRpb25dIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZihjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhVbml0cy5i
YXNlVmFsKSIsICJudW1iZXIiKTsKK3Nob3VsZEJlKCJjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhV
bml0cy5iYXNlVmFsIiwgIlNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNF
Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayB0aGF0IGVudW1lcmF0aW9ucyBhcmUgc3Rh
dGljLCBjYWNoaW5nIHZhbHVlIGluIGEgbG9jYWwgdmFyaWFibGUgYW5kIG1vZGlmeWluZyBpdCwg
c2hvdWxkIGhhdmUgbm8gZWZmZWN0Iik7Cit2YXIgZW51bVJlZiA9IGNsaXBQYXRoRWxlbWVudC5j
bGlwUGF0aFVuaXRzLmJhc2VWYWw7CitlbnVtUmVmID0gU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZ
UEVfVU5LTk9XTjsKK3Nob3VsZEJlKCJlbnVtUmVmIiwgIlNWR1VuaXRUeXBlcy5TVkdfVU5JVF9U
WVBFX1VOS05PV04iKTsKK3Nob3VsZEJlKCJjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhVbml0cy5i
YXNlVmFsIiwgIlNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNFIik7CisK
K2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBhc3NpZ25pbmcgdmFyaW91cyB2YWxpZCBhbmQgaW52
YWxpZCB2YWx1ZXMiKTsKK3Nob3VsZFRocm93KCJjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhVbml0
cy5iYXNlVmFsID0gMyIpOyAvLyBGSVhNRTogRG9lc24ndCB0aHJvdyBpbiBXZWJLaXQsIHdlJ3Jl
IG5vdCBjbGFtcGluZyB0byB0aGUgYWxsb3dlZCByYW5nZS4KK3Nob3VsZEJlKCJjbGlwUGF0aEVs
ZW1lbnQuY2xpcFBhdGhVbml0cy5iYXNlVmFsID0gMiIsICJTVkdVbml0VHlwZXMuU1ZHX1VOSVRf
VFlQRV9PQkpFQ1RCT1VORElOR0JPWCIpOworc2hvdWxkVGhyb3coImNsaXBQYXRoRWxlbWVudC5j
bGlwUGF0aFVuaXRzLmJhc2VWYWwgPSAtMSIpOyAvLyBGSVhNRTogRG9lc24ndCB0aHJvdyBpbiBX
ZWJLaXQsIHdlJ3JlIG5vdCBjbGFtcGluZyB0byB0aGUgYWxsb3dlZCByYW5nZS4KK3Nob3VsZFRo
cm93KCJjbGlwUGF0aEVsZW1lbnQuY2xpcFBhdGhVbml0cy5iYXNlVmFsID0gJ2FTdHJpbmcnIik7
CitzaG91bGRUaHJvdygiY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCA9IGNs
aXBQYXRoRWxlbWVudCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCB0aGUgY2xp
cFBhdGhVbml0cyB2YWx1ZSByZW1haW5lZCBvYmplY3RCQm94Iik7CitzaG91bGRCZSgiY2xpcFBh
dGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCA9IDIiLCAiU1ZHVW5pdFR5cGVzLlNWR19V
TklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1giKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkSW50
ZWdlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9T
VkdBbmltYXRlZEludGVnZXIuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9t
L3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZEludGVnZXIuanMJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMjkgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRlZElu
dGVnZXIgQVBJIC0gdXRpbGl6aW5nIHRoZSBmaWx0ZXJSZXNYIHByb3BlcnR5IG9mIFNWR0ZpbHRl
ckVsZW1lbnQiKTsKKwordmFyIGZpbHRlckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgImZpbHRlciIpOworCitkZWJ1ZygiIik7
CitkZWJ1ZygiQ2hlY2sgaW5pdGlhbCBmaWx0ZXJSZXNYIHZhbHVlIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImZpbHRlckVsZW1lbnQuZmlsdGVyUmVzWC50b1N0cmluZygpIiwgIltvYmplY3Qg
U1ZHQW5pbWF0ZWRJbnRlZ2VyXSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YoZmls
dGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwpIiwgIm51bWJlciIpOworc2hvdWxkQmUoImZp
bHRlckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsIiwgIjAiKTsKKworZGVidWcoIiIpOworZGVi
dWcoIkNoZWNrIHRoYXQgaW50ZWdlcnMgYXJlIHN0YXRpYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxv
Y2FsIHZhcmlhYmxlIGFuZCBtb2RpZnlpbmcgaXQsIHNob3VsZCBoYXZlIG5vIGVmZmVjdCIpOwor
dmFyIG51bVJlZiA9IGZpbHRlckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsOworbnVtUmVmID0g
MTAwOworc2hvdWxkQmUoIm51bVJlZiIsICIxMDAiKTsKK3Nob3VsZEJlKCJmaWx0ZXJFbGVtZW50
LmZpbHRlclJlc1guYmFzZVZhbCIsICIwIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBh
c3NpZ25pbmcgdmFyaW91cyB2YWxpZCBhbmQgaW52YWxpZCB2YWx1ZXMiKTsKK3Nob3VsZEJlKCJm
aWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCA9IC0xIiwgIi0xIik7IC8vIE5lZ2F0aXZl
IHZhbHVlcyBhcmUgYWxsb3dlZCBmcm9tIFNWRyBET00sIGJ1dCBzaG91bGQgbGVhZCB0byBhbiBl
cnJvciB3aGVuIHJlbmRlcmluZyAoZGlzYWJsZSB0aGUgZmlsdGVyKQorc2hvdWxkQmUoImZpbHRl
ckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsID0gMzAwIiwgIjMwMCIpOworc2hvdWxkVGhyb3co
ImZpbHRlckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsID0gJ2FTdHJpbmcnIik7CitzaG91bGRU
aHJvdygiZmlsdGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwgPSBmaWx0ZXJFbGVtZW50Iik7
CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayB0aGF0IHRoZSBmaWx0ZXJSZXNYIHZhbHVlIHJl
bWFpbmVkIDMwMCIpOworc2hvdWxkQmUoImZpbHRlckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFs
ID0gMzAwIiwgIjMwMCIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRMZW5ndGguanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRMZW5n
dGguanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9T
VkdBbmltYXRlZExlbmd0aC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkTGVuZ3RoIEFQSSAtIHV0aWxp
emluZyB0aGUgd2lkdGggcHJvcGVydHkgb2YgU1ZHUmVjdEVsZW1lbnQiKTsKKwordmFyIHJlY3RF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIsICJyZWN0Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBpbml0aWFsIHdpZHRo
IHZhbHVlIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RFbGVtZW50LndpZHRoLnRvU3Ry
aW5nKCkiLCAiW29iamVjdCBTVkdBbmltYXRlZExlbmd0aF0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygicmVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZH
TGVuZ3RoXSIpOworc2hvdWxkQmUoInJlY3RFbGVtZW50LndpZHRoLmJhc2VWYWwudmFsdWUiLCAi
MCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCBsZW5ndGhzIGFyZSBkeW5hbWlj
LCBjYWNoaW5nIHZhbHVlIGluIGEgbG9jYWwgdmFyaWFibGUgYW5kIG1vZGlmeWluZyBpdCwgc2hv
dWxkIHRha2UgZWZmZWN0Iik7Cit2YXIgbnVtUmVmID0gcmVjdEVsZW1lbnQud2lkdGguYmFzZVZh
bDsKK251bVJlZi52YWx1ZSA9IDEwMDsKK3Nob3VsZEJlKCJudW1SZWYudmFsdWUiLCAiMTAwIik7
CitzaG91bGRCZSgicmVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC52YWx1ZSIsICIxMDAiKTsKKwor
ZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGFzc2lnbmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZl
Y3QsIGFzIG5vIHNldHRlciBpcyBkZWZpbmVkIik7CitzaG91bGRCZSgicmVjdEVsZW1lbnQud2lk
dGguYmFzZVZhbCA9IC0xIiwgIi0xIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY3RFbGVt
ZW50LndpZHRoLmJhc2VWYWwgPSAnYVN0cmluZyciLCAiYVN0cmluZyIpOworc2hvdWxkQmUoInJl
Y3RFbGVtZW50LndpZHRoLmJhc2VWYWwgPSByZWN0RWxlbWVudCIsICJyZWN0RWxlbWVudCIpOwor
CitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCB0aGUgd2lkdGggdmFsdWUgcmVtYWluZWQg
MTAwLCBhbmQgdGhlIGJhc2VWYWwgdHlwZSBoYXMgbm90IGJlZW4gY2hhbmdlZCIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJyZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsLnRvU3RyaW5nKCkiLCAi
W29iamVjdCBTVkdMZW5ndGhdIik7CitzaG91bGRCZSgicmVjdEVsZW1lbnQud2lkdGguYmFzZVZh
bC52YWx1ZSIsICIxMDAiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRl
ZExlbmd0aExpc3QuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3Njcmlw
dC10ZXN0cy9TVkdBbmltYXRlZExlbmd0aExpc3QuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MzAgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRlZExlbmd0
aExpc3QgQVBJIC0gdXRpbGl6aW5nIHRoZSBkeCBwcm9wZXJ0eSBvZiBTVkdUZXh0RWxlbWVudCIp
OworCit2YXIgdGV4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiwgInRleHQiKTsKK3RleHRFbGVtZW50LnNldEF0dHJpYnV0ZSgi
ZHgiLCAiNTAiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGluaXRpYWwgZHggdmFsdWUi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dEVsZW1lbnQuZHgudG9TdHJpbmcoKSIsICJb
b2JqZWN0IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdF0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
dGV4dEVsZW1lbnQuZHguYmFzZVZhbC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHTGVuZ3RoTGlz
dF0iKTsKK3Nob3VsZEJlKCJ0ZXh0RWxlbWVudC5keC5iYXNlVmFsLmdldEl0ZW0oMCkudmFsdWUi
LCAiNTAiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRoYXQgbGVuZ3RoIGxpc3RzIGFy
ZSBkeW5hbWljLCBjYWNoaW5nIHZhbHVlIGluIGEgbG9jYWwgdmFyaWFibGUgYW5kIG1vZGlmeWlu
ZyBpdCwgc2hvdWxkIHRha2UgZWZmZWN0Iik7Cit2YXIgbnVtUmVmID0gdGV4dEVsZW1lbnQuZHgu
YmFzZVZhbDsKK251bVJlZi5nZXRJdGVtKDApLnZhbHVlID0gMTAwOworc2hvdWxkQmUoIm51bVJl
Zi5nZXRJdGVtKDApLnZhbHVlIiwgIjEwMCIpOworc2hvdWxkQmUoInRleHRFbGVtZW50LmR4LmJh
c2VWYWwuZ2V0SXRlbSgwKS52YWx1ZSIsICIxMDAiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNo
ZWNrIGFzc2lnbmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZlY3QsIGFzIG5vIHNldHRlciBpcyBk
ZWZpbmVkIik7CitzaG91bGRCZSgidGV4dEVsZW1lbnQuZHguYmFzZVZhbCA9IC0xIiwgIi0xIik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHRFbGVtZW50LmR4LmJhc2VWYWwgPSAnYVN0cmlu
ZyciLCAiYVN0cmluZyIpOworc2hvdWxkQmUoInRleHRFbGVtZW50LmR4LmJhc2VWYWwgPSB0ZXh0
RWxlbWVudCIsICJ0ZXh0RWxlbWVudCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhh
dCB0aGUgZHggdmFsdWUgcmVtYWluZWQgMTAwLCBhbmQgdGhlIGJhc2VWYWwgdHlwZSBoYXMgbm90
IGJlZW4gY2hhbmdlZCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0RWxlbWVudC5keC5i
YXNlVmFsLnRvU3RyaW5nKCkiLCAiW29iamVjdCBTVkdMZW5ndGhMaXN0XSIpOworc2hvdWxkQmUo
InRleHRFbGVtZW50LmR4LmJhc2VWYWwuZ2V0SXRlbSgwKS52YWx1ZSIsICIxMDAiKTsKKworc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0
LXRlc3RzL1NWR0FuaW1hdGVkUmVjdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcv
ZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFJlY3QuanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFJlY3QuanMJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjkgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBT
VkdBbmltYXRlZFJlY3QgQVBJIC0gdXRpbGl6aW5nIHRoZSB2aWV3Qm94IHByb3BlcnR5IG9mIFNW
R1NWR0VsZW1lbnQiKTsKKwordmFyIHN2Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInN2ZyIpOworCitkZWJ1ZygiIik7Citk
ZWJ1ZygiQ2hlY2sgaW5pdGlhbCB2aWV3Qm94IHZhbHVlIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInN2Z0VsZW1lbnQudmlld0JveC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHQW5pbWF0ZWRS
ZWN0XSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdmdFbGVtZW50LnZpZXdCb3guYmFzZVZh
bC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHUmVjdF0iKTsKK3Nob3VsZEJlKCJzdmdFbGVtZW50
LnZpZXdCb3guYmFzZVZhbC54IiwgIjAiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRo
YXQgcmVjdHMgYXJlIGR5bmFtaWMsIGNhY2hpbmcgdmFsdWUgaW4gYSBsb2NhbCB2YXJpYWJsZSBh
bmQgbW9kaWZ5aW5nIGl0LCBzaG91bGQgdGFrZSBlZmZlY3QiKTsKK3ZhciBudW1SZWYgPSBzdmdF
bGVtZW50LnZpZXdCb3guYmFzZVZhbDsKK251bVJlZi54ID0gMTAwOworc2hvdWxkQmUoIm51bVJl
Zi54IiwgIjEwMCIpOworc2hvdWxkQmUoInN2Z0VsZW1lbnQudmlld0JveC5iYXNlVmFsLngiLCAi
MTAwIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBhc3NpZ25pbmcgdG8gYmFzZVZhbCBo
YXMgbm8gZWZmZWN0LCBhcyBubyBzZXR0ZXIgaXMgZGVmaW5lZCIpOworc2hvdWxkQmUoInN2Z0Vs
ZW1lbnQudmlld0JveC5iYXNlVmFsID0gLTEiLCAiLTEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
Zygic3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWwgPSAnYVN0cmluZyciLCAiYVN0cmluZyIpOwor
c2hvdWxkQmUoInN2Z0VsZW1lbnQudmlld0JveC5iYXNlVmFsID0gc3ZnRWxlbWVudCIsICJzdmdF
bGVtZW50Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayB0aGF0IHRoZSB2aWV3Qm94IHgg
cmVtYWluZWQgMTAwLCBhbmQgdGhlIGJhc2VWYWwgdHlwZSBoYXMgbm90IGJlZW4gY2hhbmdlZCIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdmdFbGVtZW50LnZpZXdCb3guYmFzZVZhbC50b1N0
cmluZygpIiwgIltvYmplY3QgU1ZHUmVjdF0iKTsKK3Nob3VsZEJlKCJzdmdFbGVtZW50LnZpZXdC
b3guYmFzZVZhbC54IiwgIjEwMCIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0
cy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmpzCShyZXZpc2lvbiA3MDk4OSkKKysrIExh
eW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzAsMCBAQAotZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBjaGVja3MgdGhlIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgQVBJIik7Ci0KLXZh
ciByZWN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciLCAicmVjdCIpOwotZGVidWcoIiIpOwotZGVidWcoIkNoZWNrIGluaXRpYWwg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB2YWx1ZSIpOwotc2hvdWxkQmUoInJlY3RFbGVt
ZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCIsICJmYWxzZSIpOwotCi1kZWJ1
ZygiIik7Ci1kZWJ1ZygiU2V0IHZhbHVlIHRvIHRydWUiKTsKLXNob3VsZEJlKCJyZWN0RWxlbWVu
dC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSB0cnVlIiwgInRydWUiKTsKLQot
ZGVidWcoIiIpOwotZGVidWcoIkNhY2hpbmcgYmFzZVZhbCBpbiBsb2NhbCB2YXJpYWJsZSIpOwot
dmFyIGJhc2VWYWwgPSByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VW
YWw7Ci1zaG91bGRCZSgiYmFzZVZhbCIsICJ0cnVlIik7Ci0KLWRlYnVnKCIiKTsKLWRlYnVnKCJN
b2RpZnkgbG9jYWwgYmFzZVZhbCB2YXJpYWJsZSB0byB0cnVlIik7Ci1zaG91bGRCZUZhbHNlKCJi
YXNlVmFsID0gZmFsc2UiKTsKLQotZGVidWcoIiIpOwotZGVidWcoIkFzc3VyZSB0aGF0IHJlY3RF
bGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgaGFzIG5vdCBiZWVuIGNoYW5nZWQsIGJ1
dCB0aGUgbG9jYWwgYmFzZVZhbCB2YXJpYWJsZSIpOwotc2hvdWxkQmUoImJhc2VWYWwiLCAiZmFs
c2UiKTsKLXNob3VsZEJlKCJyZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJh
c2VWYWwiLCAidHJ1ZSIpOwotCi1kZWJ1ZygiIik7Ci1kZWJ1ZygiQ2hlY2sgYXNzaWduaW5nIGlu
dmFsaWQgdmFsdWVzIik7Ci1zaG91bGRUaHJvdygicmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCIpOwotc2hvdWxkQmVOdWxsKCJyZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmJhc2VWYWwgPSBudWxsIik7Ci1zaG91bGRUaHJvdygicmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gJ2FTdHJpbmcnIik7Ci1zaG91bGRUaHJvdygicmVjdEVs
ZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQiKTsK
LQotZGVidWcoIiIpOwotZGVidWcoIkNoZWNrIHRoYXQgdGhlIHZhbHVlIGlzIG5vdyBmYWxzZSIp
Owotc2hvdWxkQmUoInJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZh
bCIsICJmYWxzZSIpOwotCi1zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0
VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHTGVuZ3RoLXB4LXdpdGgtY29udGV4dC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdMZW5ndGgt
cHgtd2l0aC1jb250ZXh0LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9z
Y3JpcHQtdGVzdHMvU1ZHTGVuZ3RoLXB4LXdpdGgtY29udGV4dC5qcwkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNzAgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIFNWR0xlbmd0aCAt
IGNvbnZlcnRpbmcgZnJvbSBweCB0byBhbGwgb3RoZXIgdW5pdCB0eXBlcyIpOworCitmdW5jdGlv
biBjYWxjdWxhdGVEUEkoKQoreworICAgIC8vIENydWRlIGhhY2sgdG8gZGV0ZXJtaW5lIHRoZSBE
UEksIGluc3RlYWQgb2YgaGFyZGNvZGluZyBvdXIgOTYgZHBpIGhlcmUuCisgICAgdmFyIGRpdkVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkaXZFbGVtZW50LnNl
dEF0dHJpYnV0ZSgic3R5bGUiLCAiaGVpZ2h0OiAxaW4iKTsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZGVzY3JpcHRpb24iKS5hcHBlbmRDaGlsZChkaXZFbGVtZW50KTsKKyAgICB2YXIg
Y3NzUGl4ZWxzUGVySW5jaCA9IGRpdkVsZW1lbnQub2Zmc2V0SGVpZ2h0OworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLnJlbW92ZUNoaWxkKGRpdkVsZW1lbnQpOwor
CisgICAgLy8gQ3J1ZGUgaGFjayB0byBtYWtlIHRoaXMgdGVzdCBwYXNzIHdpdGggT3BlcmEvTWFj
CisgICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiT3BlcmEiKSAhPSAtMSkgewor
ICAgICAgICBpZiAobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNYWNpbnRvc2giKSAhPSAt
MSkgeyAgICAKKyAgICAgICAgICAgIGNzc1BpeGVsc1BlckluY2ggPSA3MjsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiBjc3NQaXhlbHNQZXJJbmNoOworfQorCitmdW5jdGlvbiBjYWxj
dWxhdGVYSGVpZ2h0KCkKK3sKKyAgICAvLyBDcnVkZSBoYWNrIHRvIGNhbGN1bGF0ZSB0aGUgeC1o
ZWlnaHQKKyAgICB2YXIgZGl2RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICAgIGRpdkVsZW1lbnQuc2V0QXR0cmlidXRlKCJzdHlsZSIsICJoZWlnaHQ6IDFleDsgZm9u
dC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogQWhlbTsiKTsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZGVzY3JpcHRpb24iKS5hcHBlbmRDaGlsZChkaXZFbGVtZW50KTsKKyAgICB2YXIg
eEhlaWdodCA9IGRpdkVsZW1lbnQub2Zmc2V0SGVpZ2h0OworICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJkZXNjcmlwdGlvbiIpLnJlbW92ZUNoaWxkKGRpdkVsZW1lbnQpOworICAgIHJldHVy
biB4SGVpZ2h0OworfQorCisvLyBTZXR1cCBhIHJlYWwgU1ZHIGRvY3VtZW50LCBzbyBTVkdMZW5n
dGggY2FuIHJlc29sdmUgcmVsYXRpdmUgdW5pdHMuCit2YXIgc3ZnRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAic3ZnIik7Citz
dmdFbGVtZW50LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTUwIik7CitzdmdFbGVtZW50LnNldEF0
dHJpYnV0ZSgiaGVpZ2h0IiwgIjUwIik7CisKK3ZhciByZWN0RWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAicmVjdCIpOworcmVj
dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJzdHlsZSIsICJ2aXNpYmlsaXR5OiBoaWRkZW47IGZvbnQt
c2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEFoZW07Iik7CitzdmdFbGVtZW50LmFwcGVuZENoaWxk
KHJlY3RFbGVtZW50KTsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLmFw
cGVuZENoaWxkKHN2Z0VsZW1lbnQpOworCisvLyBFeHRyYWN0IHRlc3QgaW5mb3JtYXRpb24KK3Zh
ciBsZW5ndGggPSByZWN0RWxlbWVudC54LmJhc2VWYWw7Cit2YXIgc3ZnV2lkdGggPSBzdmdFbGVt
ZW50LndpZHRoLmJhc2VWYWwudmFsdWU7Cit2YXIgc3ZnSGVpZ2h0ID0gc3ZnRWxlbWVudC5oZWln
aHQuYmFzZVZhbC52YWx1ZTsKK3ZhciBmb250U2l6ZSA9IHBhcnNlSW50KHJlY3RFbGVtZW50LnN0
eWxlLmZvbnRTaXplKTsKK3ZhciBjc3NQaXhlbHNQZXJJbmNoID0gY2FsY3VsYXRlRFBJKCk7CisK
K2RlYnVnKCIiKTsKK2RlYnVnKCJTZXQgdmFsdWUgdG8gYmUgMnB4Iik7CitsZW5ndGgudmFsdWVB
c1N0cmluZyA9ICIycHgiOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGgu
U1ZHX0xFTkdUSFRZUEVfUFgiKTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWUiLCAiMiIpOworc2hv
dWxkQmUoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMiLCAiMiIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsICIycHgiKTsKKworZGVidWcoIiIpOwor
ZGVidWcoIkNvbnZlcnQgZnJvbSBweCB0byB1bml0bGVzcyIpOworc2hvdWxkQmVVbmRlZmluZWQo
Imxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVf
TlVNQkVSKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIs
ICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlIiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgu
dmFsdWVJblNwZWNpZmllZFVuaXRzIiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUi
LCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUiIpOworCitkZWJ1ZygiIik7CitkZWJ1
ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1
ZygiIik7CitkZWJ1ZygiQ29udmVydCBmcm9tIHB4IHRvIHBlcmNlbnRhZ2UiKTsKK3Nob3VsZEJl
VW5kZWZpbmVkKCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19M
RU5HVEhUWVBFX1BFUkNFTlRBR0UpIik7CityZWZlcmVuY2VWYWx1ZSA9IE51bWJlcigyIC8gc3Zn
V2lkdGggKiAxMDApLnRvRml4ZWQoNSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52
YWx1ZUFzU3RyaW5nIiwgcmVmZXJlbmNlVmFsdWUgKyAiJSIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNSkiLCByZWZlcmVuY2VW
YWx1ZSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIiwg
IjIuMCIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdU
SFRZUEVfUEVSQ0VOVEFHRSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7
CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ29u
dmVydCBmcm9tIHB4IHRvIGVtcyIpOworc2hvdWxkQmVVbmRlZmluZWQoImxlbmd0aC5jb252ZXJ0
VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfRU1TKSIpOworcmVmZXJl
bmNlVmFsdWUgPSBOdW1iZXIoMiAvIGZvbnRTaXplKS50b0ZpeGVkKDYpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsgImVtIik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9G
aXhlZCg2KSIsIHJlZmVyZW5jZVZhbHVlKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3Ro
LnZhbHVlLnRvRml4ZWQoMSkiLCAiMi4wIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwg
IlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9FTVMiKTsKKworZGVidWcoIiIpOworZGVidWcoIlJl
c2V0IHRvIDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIp
OworZGVidWcoIkNvbnZlcnQgZnJvbSBweCB0byBleHMiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJs
ZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0VY
UykiKTsKK3JlZmVyZW5jZVZhbHVlID0gTnVtYmVyKDIgLyBjYWxjdWxhdGVYSGVpZ2h0KCkpLnRv
Rml4ZWQoMSk7CisvLyBEb24ndCBjaGVjayB2YWx1ZUFzU3RyaW5nIGhlcmUsIGl0J3MgdW5yZWxp
YWJsZSBhY3Jvc3MgYnJvd3NlcnMuCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1
ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhlZCgxKSIsIHJlZmVyZW5jZVZhbHVlKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkiLCAiMi4wIik7CitzaG91bGRC
ZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9FWFMiKTsKKwor
ZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRvIDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcg
PSAiMnB4IjsKKworZGVidWcoIiIpOworZGVidWcoIkNvbnZlcnQgZnJvbSBweCB0byBjbSIpOwor
c2hvdWxkQmVVbmRlZmluZWQoImxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5n
dGguU1ZHX0xFTkdUSFRZUEVfQ00pIik7CityZWZlcmVuY2VWYWx1ZSA9IE51bWJlcigyICogMi41
NCAvIGNzc1BpeGVsc1BlckluY2gpLnRvRml4ZWQoNyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
Imxlbmd0aC52YWx1ZUFzU3RyaW5nIiwgcmVmZXJlbmNlVmFsdWUgKyAiY20iKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDcpIiwg
cmVmZXJlbmNlVmFsdWUpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWUudG9G
aXhlZCgxKSIsICIyLjAiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3Ro
LlNWR19MRU5HVEhUWVBFX0NNIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJSZXNldCB0byAycHgi
KTsKK2xlbmd0aC52YWx1ZUFzU3RyaW5nID0gIjJweCI7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJD
b252ZXJ0IGZyb20gcHggdG8gbW0iKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJsZW5ndGguY29udmVy
dFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX01NKSIpOworcmVmZXJl
bmNlVmFsdWUgPSBOdW1iZXIoMiAqIDI1LjQgLyBjc3NQaXhlbHNQZXJJbmNoKS50b0ZpeGVkKDYp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5j
ZVZhbHVlICsgIm1tIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMudG9GaXhlZCg2KSIsIHJlZmVyZW5jZVZhbHVlKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygibGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkiLCAiMi4wIik7CitzaG91bGRCZSgibGVu
Z3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9NTSIpOworCitkZWJ1Zygi
Iik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgi
OworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ29udmVydCBmcm9tIHB4IHRvIGluIik7CitzaG91bGRC
ZVVuZGVmaW5lZCgibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdf
TEVOR1RIVFlQRV9JTikiKTsKK3JlZmVyZW5jZVZhbHVlID0gTnVtYmVyKDIgLyBjc3NQaXhlbHNQ
ZXJJbmNoKS50b0ZpeGVkKDcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVB
c1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsgImluIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
Imxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhlZCg3KSIsIHJlZmVyZW5jZVZhbHVl
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkiLCAiMi4w
Iik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQ
RV9JTiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5ndGgudmFs
dWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ29udmVydCBmcm9tIHB4
IHRvIHB0Iik7CitzaG91bGRCZVVuZGVmaW5lZCgibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVu
aXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QVCkiKTsKK3JlZmVyZW5jZVZhbHVlID0gTnVt
YmVyKDIgLyBjc3NQaXhlbHNQZXJJbmNoICogNzIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJs
ZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsgInB0Iik7CitzaG91bGRCZSgi
bGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyIsIHJlZmVyZW5jZVZhbHVlLnRvU3RyaW5nKCkp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWUudG9GaXhlZCgxKSIsICIyLjAi
KTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBF
X1BUIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJSZXNldCB0byAycHgiKTsKK2xlbmd0aC52YWx1
ZUFzU3RyaW5nID0gIjJweCI7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDb252ZXJ0IGZyb20gcHgg
dG8gcGMiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5p
dHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BDKSIpOworcmVmZXJlbmNlVmFsdWUgPSBOdW1i
ZXIoMiAvIGNzc1BpeGVsc1BlckluY2ggKiA2KS50b0ZpeGVkKDMpOworLy8gRG9uJ3QgY2hlY2sg
dmFsdWVBc1N0cmluZyBoZXJlLCBpdCdzIHVucmVsaWFibGUgYWNyb3NzIGJyb3dzZXJzLgorc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQo
MykiLCByZWZlcmVuY2VWYWx1ZSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1
ZS50b0ZpeGVkKDEpIiwgIjIuMCIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdM
ZW5ndGguU1ZHX0xFTkdUSFRZUEVfUEMiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdMZW5ndGgt
cHguanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9T
VkdMZW5ndGgtcHguanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQ0IEBACitkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGNoZWNrcyBTVkdMZW5ndGggLSBjb252ZXJ0aW5nIGZyb20gcHggdG8gYWxs
IG90aGVyIHVuaXQgdHlwZXMiKTsKKworZnVuY3Rpb24gY2FsY3VsYXRlRFBJKCkKK3sKKyAgICAv
LyBDcnVkZSBoYWNrIHRvIGRldGVybWluZSB0aGUgRFBJLCBpbnN0ZWFkIG9mIGhhcmRjb2Rpbmcg
b3VyIDk2IGRwaSBoZXJlLgorICAgIHZhciBkaXZFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgZGl2RWxlbWVudC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgImhlaWdo
dDogMWluIik7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuYXBw
ZW5kQ2hpbGQoZGl2RWxlbWVudCk7CisgICAgdmFyIGNzc1BpeGVsc1BlckluY2ggPSBkaXZFbGVt
ZW50Lm9mZnNldEhlaWdodDsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRp
b24iKS5yZW1vdmVDaGlsZChkaXZFbGVtZW50KTsKKworICAgIC8vIENydWRlIGhhY2sgdG8gbWFr
ZSB0aGlzIHRlc3QgcGFzcyB3aXRoIE9wZXJhL01hYworICAgIGlmIChuYXZpZ2F0b3IudXNlckFn
ZW50LmluZGV4T2YoIk9wZXJhIikgIT0gLTEpIHsKKyAgICAgICAgaWYgKG5hdmlnYXRvci51c2Vy
QWdlbnQuaW5kZXhPZigiTWFjaW50b3NoIikgIT0gLTEpIHsgICAgCisgICAgICAgICAgICBjc3NQ
aXhlbHNQZXJJbmNoID0gNzI7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gY3NzUGl4
ZWxzUGVySW5jaDsKK30KKwordmFyIGNzc1BpeGVsc1BlckluY2ggPSBjYWxjdWxhdGVEUEkoKTsK
KwordmFyIHN2Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiwgInN2ZyIpOwordmFyIGxlbmd0aCA9IHN2Z0VsZW1lbnQuY3JlYXRl
U1ZHTGVuZ3RoKCk7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJTZXQgdmFsdWUgdG8gYmUgMnB4Iik7
CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlw
ZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgiKTsKK3Nob3VsZEJlKCJsZW5ndGgudmFs
dWUiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMiLCAiMiIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsICIycHgiKTsK
KworZGVidWcoIiIpOworZGVidWcoIkNvbnZlcnQgZnJvbSBweCB0byB1bml0bGVzcyIpOworc2hv
dWxkQmVVbmRlZmluZWQoImxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGgu
U1ZHX0xFTkdUSFRZUEVfTlVNQkVSKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgu
dmFsdWVBc1N0cmluZyIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlIiwgIjIiKTsKK3No
b3VsZEJlKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzIiwgIjIiKTsKK3Nob3VsZEJlKCJs
ZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUiIpOworCitk
ZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9
ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVHJ5IGNvbnZlcnRpbmcgZnJvbSBweCB0byBw
ZXJjZW50YWdlLCBzaG91bGQgZmFpbCBhcyB0aGUgU1ZHTGVuZ3RoIGlzIG5vdCBhc3NvY2lhdGVk
IHdpdGggYSBTVkdTVkdFbGVtZW50LCBhbmQgdGh1cyBubyB2aWV3cG9ydCBpbmZvcm1hdGlvbiBp
cyBhdmFpbGFibGUiKTsKK3Nob3VsZFRocm93KCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5p
dHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BFUkNFTlRBR0UpIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImxlbmd0aC52YWx1ZUFzU3RyaW5nIiwgIjJweCIpOworc2hvdWxkQmUoImxlbmd0
aC52YWx1ZSIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyIs
ICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RI
VFlQRV9QWCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5ndGgu
dmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVHJ5IGNvbnZlcnRp
bmcgZnJvbSBweCB0byBlbXMsIHNob3VsZCBmYWlsIGFzIHRoZSBTVkdMZW5ndGggaXMgbm90IGFz
c29jaWF0ZWQgd2l0aCBhIFNWR1NWR0VsZW1lbnQsIGFuZCB0aHVzIG5vIGZvbnQtc2l6ZSBpbmZv
cm1hdGlvbiBpcyBhdmFpbGFibGUiKTsKK3Nob3VsZFRocm93KCJsZW5ndGguY29udmVydFRvU3Bl
Y2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0VNUykiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCAiMnB4Iik7CitzaG91bGRCZSgibGVu
Z3RoLnZhbHVlIiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRz
IiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3RoLlNWR19MRU5H
VEhUWVBFX1BYIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJSZXNldCB0byAycHgiKTsKK2xlbmd0
aC52YWx1ZUFzU3RyaW5nID0gIjJweCI7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUcnkgY29udmVy
dGluZyBmcm9tIHB4IHRvIGV4cywgc2hvdWxkIGZhaWwgYXMgdGhlIFNWR0xlbmd0aCBpcyBub3Qg
YXNzb2NpYXRlZCB3aXRoIGEgU1ZHU1ZHRWxlbWVudCwgYW5kIHRodXMgbm8gZm9udC1zaXplIGlu
Zm9ybWF0aW9uIGlzIGF2YWlsYWJsZSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5jb252ZXJ0VG9T
cGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfRVhTKSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsICIycHgiKTsKK3Nob3VsZEJlKCJs
ZW5ndGgudmFsdWUiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5p
dHMiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xF
TkdUSFRZUEVfUFgiKTsKKworZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRvIDJweCIpOworbGVu
Z3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIpOworZGVidWcoIkNvbnZlcnQg
ZnJvbSBweCB0byBjbSIpOworc2hvdWxkQmVVbmRlZmluZWQoImxlbmd0aC5jb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfQ00pIik7CityZWZlcmVuY2VWYWx1
ZSA9IE51bWJlcigyICogMi41NCAvIGNzc1BpeGVsc1BlckluY2gpLnRvRml4ZWQoNyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZUFzU3RyaW5nIiwgcmVmZXJlbmNlVmFsdWUg
KyAiY20iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRV
bml0cy50b0ZpeGVkKDcpIiwgcmVmZXJlbmNlVmFsdWUpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJsZW5ndGgudmFsdWUudG9GaXhlZCgxKSIsICIyLjAiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5p
dFR5cGUiLCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0NNIik7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCJSZXNldCB0byAycHgiKTsKK2xlbmd0aC52YWx1ZUFzU3RyaW5nID0gIjJweCI7CisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJDb252ZXJ0IGZyb20gcHggdG8gbW0iKTsKK3Nob3VsZEJlVW5kZWZp
bmVkKCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhU
WVBFX01NKSIpOworcmVmZXJlbmNlVmFsdWUgPSBOdW1iZXIoMiAqIDI1LjQgLyBjc3NQaXhlbHNQ
ZXJJbmNoKS50b0ZpeGVkKDYpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVB
c1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsgIm1tIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
Imxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhlZCg2KSIsIHJlZmVyZW5jZVZhbHVl
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkiLCAiMi4w
Iik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQ
RV9NTSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5ndGgudmFs
dWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ29udmVydCBmcm9tIHB4
IHRvIGluIik7CitzaG91bGRCZVVuZGVmaW5lZCgibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVu
aXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9JTikiKTsKK3JlZmVyZW5jZVZhbHVlID0gTnVt
YmVyKDIgLyBjc3NQaXhlbHNQZXJJbmNoKS50b0ZpeGVkKDcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsgImluIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhlZCg3
KSIsIHJlZmVyZW5jZVZhbHVlKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVl
LnRvRml4ZWQoMSkiLCAiMi4wIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xl
bmd0aC5TVkdfTEVOR1RIVFlQRV9JTiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8g
MnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1
ZygiQ29udmVydCBmcm9tIHB4IHRvIHB0Iik7CitzaG91bGRCZVVuZGVmaW5lZCgibGVuZ3RoLmNv
bnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QVCkiKTsKK3Jl
ZmVyZW5jZVZhbHVlID0gTnVtYmVyKDIgLyBjc3NQaXhlbHNQZXJJbmNoICogNzIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsg
InB0Iik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyIsIHJlZmVyZW5j
ZVZhbHVlLnRvU3RyaW5nKCkpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWUu
dG9GaXhlZCgxKSIsICIyLjAiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVu
Z3RoLlNWR19MRU5HVEhUWVBFX1BUIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJSZXNldCB0byAy
cHgiKTsKK2xlbmd0aC52YWx1ZUFzU3RyaW5nID0gIjJweCI7CisKK2RlYnVnKCIiKTsKK2RlYnVn
KCJDb252ZXJ0IGZyb20gcHggdG8gcGMiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJsZW5ndGguY29u
dmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BDKSIpOworcmVm
ZXJlbmNlVmFsdWUgPSBOdW1iZXIoMiAvIGNzc1BpeGVsc1BlckluY2ggKiA2KS50b0ZpeGVkKDMp
OworLy8gRG9uJ3QgY2hlY2sgdmFsdWVBc1N0cmluZyBoZXJlLCBpdCdzIHVucmVsaWFibGUgYWNy
b3NzIGJyb3dzZXJzLgorc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVJblNwZWNp
ZmllZFVuaXRzLnRvRml4ZWQoMykiLCByZWZlcmVuY2VWYWx1ZSk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIiwgIjIuMCIpOworc2hvdWxkQmUoImxlbmd0
aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUEMiKTsKKworc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3Rz
L1NWR0xlbmd0aC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10
ZXN0cy9TVkdMZW5ndGguanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3Nj
cmlwdC10ZXN0cy9TVkdMZW5ndGguanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTUgQEAKK2Rl
c2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdMZW5ndGggQVBJIik7CisKK3ZhciBz
dmdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIsICJzdmciKTsKK3ZhciBsZW5ndGggPSBzdmdFbGVtZW50LmNyZWF0ZVNWR0xlbmd0
aCgpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgaW5pdGlhbCBsZW5ndGggdmFsdWVzIik7
CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9O
VU1CRVIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWUiLCAiMCIpOworc2hvdWxkQmUoImxlbmd0
aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMiLCAiMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJs
ZW5ndGgudmFsdWVBc1N0cmluZyIsICIwIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJTZXQgdmFs
dWUgdG8gYmUgMnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworc2hvdWxkQmUo
Imxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgiKTsKK3Nob3Vs
ZEJlKCJsZW5ndGgudmFsdWUiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZUluU3BlY2lm
aWVkVW5pdHMiLCAiMiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0
cmluZyIsICIycHgiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGludmFsaWQgYXJndW1l
bnRzIGZvciAnY29udmVydFRvU3BlY2lmaWVkVW5pdHMnIik7CitzaG91bGRUaHJvdygibGVuZ3Ro
LmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9VTktOT1dO
KSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygtMSkiKTsK
K3Nob3VsZFRocm93KCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoMTEpIik7CitzaG91
bGRUaHJvdygibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKCdhU3RyaW5nJykiKTsKK3No
b3VsZFRocm93KCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMobGVuZ3RoKSIpOworc2hv
dWxkVGhyb3coImxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhzdmdFbGVtZW50KSIpOwor
c2hvdWxkVGhyb3coImxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygpIik7CitzaG91bGRC
ZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWCIpOworc2hv
dWxkQmUoImxlbmd0aC52YWx1ZSIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlSW5TcGVj
aWZpZWRVbml0cyIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0
aC5TVkdfTEVOR1RIVFlQRV9QWCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgaW52YWxp
ZCBhcmd1bWVudHMgZm9yICduZXdWYWx1ZVNwZWNpZmllZFVuaXRzJyIpOworc2hvdWxkVGhyb3co
Imxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9V
TktOT1dOLCA0KSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRz
KC0xLCA0KSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKDEx
LCA0KSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKFNWR0xl
bmd0aC5TVkdfTEVOR1RIVFlQRV9QWCwgJ2FTdHJpbmcnKSIpOworc2hvdWxkVGhyb3coImxlbmd0
aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWCwgbGVu
Z3RoKSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKFNWR0xl
bmd0aC5TVkdfTEVOR1RIVFlQRV9QWCwgc3ZnRWxlbWVudCkiKTsKK3Nob3VsZFRocm93KCJsZW5n
dGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgpIik7
CitzaG91bGRUaHJvdygibGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoJ2FTdHJpbmcnLCA0
KSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKGxlbmd0aCwg
NCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhzdmdFbGVt
ZW50LCA0KSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKCdh
U3RyaW5nJywgJ2FTdHJpbmcnKSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNp
ZmllZFVuaXRzKGxlbmd0aCwgbGVuZ3RoKSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1
ZVNwZWNpZmllZFVuaXRzKHN2Z0VsZW1lbnQsIHN2Z0VsZW1lbnQpIik7CitzaG91bGRCZSgibGVu
Z3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWCIpOworc2hvdWxkQmUo
Imxlbmd0aC52YWx1ZSIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRV
bml0cyIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdf
TEVOR1RIVFlQRV9QWCIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHQ2lyY2xlRWxlbWVu
dC1zdmdkb20tY3gtcHJvcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmpz
CShyZXZpc2lvbiA3MDk4OSkKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2Ny
aXB0LXRlc3RzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTE0LDcgKzE0LDcgQEAgcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoY2lyY2xlRWxl
bWVudAogc2hvdWxkQmUoImNpcmNsZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1ZSIsICItNTAiKTsK
IAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgY2lyY2xlRWxlbWVudC5jeC5iYXNlVmFs
LnZhbHVlID0gIjE1MCI7CisgICAgY2lyY2xlRWxlbWVudC5jeC5iYXNlVmFsLnZhbHVlID0gMTUw
OwogICAgIHNob3VsZEJlKCJjaXJjbGVFbGVtZW50LmN4LmJhc2VWYWwudmFsdWUiLCAiMTUwIik7
CiAKICAgICBjb21wbGV0ZVRlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMv
U1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3ktcHJvcC5qcwkocmV2aXNpb24gNzA5ODkpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdDaXJjbGVFbGVt
ZW50LXN2Z2RvbS1jeS1wcm9wLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNCw3ICsxNCw3IEBAIHJv
b3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGNpcmNsZUVsZW1lbnQKIHNob3VsZEJlKCJjaXJjbGVF
bGVtZW50LmN5LmJhc2VWYWwudmFsdWUiLCAiLTUwIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0
KCkgewotICAgIGNpcmNsZUVsZW1lbnQuY3kuYmFzZVZhbC52YWx1ZSA9ICIxNTAiOworICAgIGNp
cmNsZUVsZW1lbnQuY3kuYmFzZVZhbC52YWx1ZSA9IDE1MDsKICAgICBzaG91bGRCZSgiY2lyY2xl
RWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIiwgIjE1MCIpOwogCiAgICAgY29tcGxldGVUZXN0KCk7
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdD
aXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20t
ci1wcm9wLmpzCShyZXZpc2lvbiA3MDk4OSkKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLXItcHJvcC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMTQsNyArMTQsNyBAQCByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChj
aXJjbGVFbGVtZW50CiBzaG91bGRCZSgiY2lyY2xlRWxlbWVudC5yLmJhc2VWYWwudmFsdWUiLCAi
MSIpOwogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBjaXJjbGVFbGVtZW50LnIuYmFz
ZVZhbC52YWx1ZSA9ICIxNTAiOworICAgIGNpcmNsZUVsZW1lbnQuci5iYXNlVmFsLnZhbHVlID0g
MTUwOwogICAgIHNob3VsZEJlKCJjaXJjbGVFbGVtZW50LnIuYmFzZVZhbC52YWx1ZSIsICIxNTAi
KTsKIAogICAgIGNvbXBsZXRlVGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVz
dHMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AuanMJKHJldmlzaW9uIDcwOTg5KQor
KysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxsaXBz
ZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AuanMJKHdvcmtpbmcgY29weSkKQEAgLTE1LDcgKzE1LDcg
QEAgcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZWxsaXBzZUVsZW1lbgogc2hvdWxkQmUoImVs
bGlwc2VFbGVtZW50LmN4LmJhc2VWYWwudmFsdWUiLCAiLTUwIik7CiAKIGZ1bmN0aW9uIGV4ZWN1
dGVUZXN0KCkgewotICAgIGVsbGlwc2VFbGVtZW50LmN4LmJhc2VWYWwudmFsdWUgPSAiMTUwIjsK
KyAgICBlbGxpcHNlRWxlbWVudC5jeC5iYXNlVmFsLnZhbHVlID0gMTUwOwogICAgIHNob3VsZEJl
KCJlbGxpcHNlRWxlbWVudC5jeC5iYXNlVmFsLnZhbHVlIiwgIjE1MCIpOwogCiAgICAgY29tcGxl
dGVUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10
ZXN0cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3ktcHJvcC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdFbGxpcHNlRWxl
bWVudC1zdmdkb20tY3ktcHJvcC5qcwkocmV2aXNpb24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9z
dmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20t
Y3ktcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTUsNyArMTUsNyBAQCByb290U1ZHRWxlbWVu
dC5hcHBlbmRDaGlsZChlbGxpcHNlRWxlbWVuCiBzaG91bGRCZSgiZWxsaXBzZUVsZW1lbnQuY3ku
YmFzZVZhbC52YWx1ZSIsICItNTAiKTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAg
ZWxsaXBzZUVsZW1lbnQuY3kuYmFzZVZhbC52YWx1ZSA9ICIxNTAiOworICAgIGVsbGlwc2VFbGVt
ZW50LmN5LmJhc2VWYWwudmFsdWUgPSAxNTA7CiAgICAgc2hvdWxkQmUoImVsbGlwc2VFbGVtZW50
LmN5LmJhc2VWYWwudmFsdWUiLCAiMTUwIik7CiAKICAgICBjb21wbGV0ZVRlc3QoKTsKSW5kZXg6
IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VF
bGVtZW50LXN2Z2RvbS1yeC1wcm9wLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeC1w
cm9wLmpzCShyZXZpc2lvbiA3MDk4OSkKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0
ZXMvc2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeC1wcm9wLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNSw3ICsxNSw3IEBAIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGVs
bGlwc2VFbGVtZW4KIHNob3VsZEJlKCJlbGxpcHNlRWxlbWVudC5yeC5iYXNlVmFsLnZhbHVlIiwg
IjEwIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGVsbGlwc2VFbGVtZW50LnJ4
LmJhc2VWYWwudmFsdWUgPSAiMTUwIjsKKyAgICBlbGxpcHNlRWxlbWVudC5yeC5iYXNlVmFsLnZh
bHVlID0gMTUwOwogICAgIHNob3VsZEJlKCJlbGxpcHNlRWxlbWVudC5yeC5iYXNlVmFsLnZhbHVl
IiwgIjE1MCIpOwogCiAgICAgY29tcGxldGVUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcnkt
cHJvcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Nj
cmlwdC10ZXN0cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC5qcwkocmV2aXNpb24g
NzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9T
VkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTUs
NyArMTUsNyBAQCByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChlbGxpcHNlRWxlbWVuCiBzaG91
bGRCZSgiZWxsaXBzZUVsZW1lbnQucnkuYmFzZVZhbC52YWx1ZSIsICIxMCIpOwogCiBmdW5jdGlv
biBleGVjdXRlVGVzdCgpIHsKLSAgICBlbGxpcHNlRWxlbWVudC5yeS5iYXNlVmFsLnZhbHVlID0g
IjE1MCI7CisgICAgZWxsaXBzZUVsZW1lbnQucnkuYmFzZVZhbC52YWx1ZSA9IDE1MDsKICAgICBz
aG91bGRCZSgiZWxsaXBzZUVsZW1lbnQucnkuYmFzZVZhbC52YWx1ZSIsICIxNTAiKTsKIAogICAg
IGNvbXBsZXRlVGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9z
Y3JpcHQtdGVzdHMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRl
c3RzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS1oZWlnaHQtcHJvcC5qcwkocmV2aXNp
b24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0
cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTIwLDcgKzIwLDcgQEAgcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZm9yZWln
bk9iamVjdAogc2hvdWxkQmUoImZvcmVpZ25PYmplY3RFbGVtZW50LmhlaWdodC5iYXNlVmFsLnZh
bHVlIiwgIjIiKTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgZm9yZWlnbk9iamVj
dEVsZW1lbnQuaGVpZ2h0LmJhc2VWYWwudmFsdWUgPSAiMTUwIjsKKyAgICBmb3JlaWduT2JqZWN0
RWxlbWVudC5oZWlnaHQuYmFzZVZhbC52YWx1ZSA9IDE1MDsKICAgICBzaG91bGRCZSgiZm9yZWln
bk9iamVjdEVsZW1lbnQuaGVpZ2h0LmJhc2VWYWwudmFsdWUiLCAiMTUwIik7CiAKICAgICBjb21w
bGV0ZVRlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0
LXRlc3RzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS13aWR0aC1wcm9wLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NW
R0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS13aWR0aC1wcm9wLmpzCShyZXZpc2lvbiA3MDk4
OSkKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS13aWR0aC1wcm9wLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0yMCw3ICsyMCw3IEBAIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGZvcmVpZ25PYmplY3QK
IHNob3VsZEJlKCJmb3JlaWduT2JqZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsLnZhbHVlIiwgIjIi
KTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgZm9yZWlnbk9iamVjdEVsZW1lbnQu
d2lkdGguYmFzZVZhbC52YWx1ZSA9ICIxNTAiOworICAgIGZvcmVpZ25PYmplY3RFbGVtZW50Lndp
ZHRoLmJhc2VWYWwudmFsdWUgPSAxNTA7CiAgICAgc2hvdWxkQmUoImZvcmVpZ25PYmplY3RFbGVt
ZW50LndpZHRoLmJhc2VWYWwudmFsdWUiLCAiMTUwIik7CiAKICAgICBjb21wbGV0ZVRlc3QoKTsK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS14LXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQtc3ZnZG9tLXgtcHJvcC5qcwkocmV2aXNpb24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9z
dmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1z
dmdkb20teC1wcm9wLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBAIHJvb3RTVkdF
bGVtZW50LmFwcGVuZENoaWxkKGZvcmVpZ25PYmplY3QKIHNob3VsZEJlKCJmb3JlaWduT2JqZWN0
RWxlbWVudC54LmJhc2VWYWwudmFsdWUiLCAiLTEwMCIpOwogCiBmdW5jdGlvbiBleGVjdXRlVGVz
dCgpIHsKLSAgICBmb3JlaWduT2JqZWN0RWxlbWVudC54LmJhc2VWYWwudmFsdWUgPSAiMTAwIjsK
KyAgICBmb3JlaWduT2JqZWN0RWxlbWVudC54LmJhc2VWYWwudmFsdWUgPSAxMDA7CiAgICAgc2hv
dWxkQmUoImZvcmVpZ25PYmplY3RFbGVtZW50LnguYmFzZVZhbC52YWx1ZSIsICIxMDAiKTsKIAog
ICAgIGNvbXBsZXRlVGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRl
cy9zY3JpcHQtdGVzdHMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0
cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20teS1wcm9wLmpzCShyZXZpc2lvbiA3MDk4
OSkKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS15LXByb3AuanMJKHdvcmtpbmcgY29weSkKQEAgLTIw
LDcgKzIwLDcgQEAgcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZm9yZWlnbk9iamVjdAogc2hv
dWxkQmUoImZvcmVpZ25PYmplY3RFbGVtZW50LnkuYmFzZVZhbC52YWx1ZSIsICItODAiKTsKIAog
ZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgZm9yZWlnbk9iamVjdEVsZW1lbnQueS5iYXNl
VmFsLnZhbHVlID0gIjgwIjsKKyAgICBmb3JlaWduT2JqZWN0RWxlbWVudC55LmJhc2VWYWwudmFs
dWUgPSA4MDsKICAgICBzaG91bGRCZSgiZm9yZWlnbk9iamVjdEVsZW1lbnQueS5iYXNlVmFsLnZh
bHVlIiwgIjgwIik7CiAKICAgICBjb21wbGV0ZVRlc3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72476</attachid>
            <date>2010-10-31 13:51:15 -0700</date>
            <delta_ts>2010-11-01 01:01:08 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>StrictMode.diff</filename>
            <type>text/plain</type>
            <size>116152</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDk5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzMgQEAKKzIwMTAtMTAtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRW5hYmxlIFN0cmljdFR5cGVDaGVja2luZyBmb3IgYWxsIHR5cGVzIHVzaW5nIFNWRyhB
bmltYXRlZClQcm9wZXJ0eVRlYXJPZmYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ4NzE1CisKKyAgICAgICAgRW5hYmxlIFN0cmljdFR5cGVDaGVja2lu
ZyBmb3IgYWxsIHJlYWR3cml0ZSBhdHRyaWJ1dGVzIGFuZCBmdW5jdGlvbiBjYWxscyBvZiBhbGwg
dHlwZXMgdXNpbmcgdGhlIG5ldyBTVkcoQW5pbWF0ZWQpUHJvcGVydHlUZWFyT2ZmIGNvbmNlcHQu
CisgICAgICAgIEFsc28gZW5hYmxlIFJlcXVpcmVzQWxsQXJndW1lbnRzPVJhaXNlIGZvciBhbGwg
ZnVuY3Rpb24gY2FsbHMgb2YgdGhlc2UgbmV3IHR5cGVzLiBDb3ZlciB0aGlzIGZ1bmN0aW9uYWxp
dHkgYnkgdGVzdHMgZm9yIGVhY2ggb2YgdGhlbS4KKworICAgICAgICBXaGVuIHRlc3RpbmcgU1ZH
TGVuZ3RoIGl0IGJlY2FtZSBvYnZpb3VzIHRoYXQgcXVpdGUgYSBsb3QgZnVuY3Rpb25hbGl0eSB3
YXMgbWlzc2luZy4KKyAgICAgICAgQ29udmVyc2lvbiBmcm9tIHJlbGF0aXZlIGFyZ3VtZW50cyAo
cGVyY2VudGFnZSwgZW1zLCBleHMpIHRvIHVzZXIgc3BlY2lmaWVkIHVuaXRzIHdhcyBtaXNzaW5n
LCBhZGRlZCB0aGF0IGZ1bmN0aW9uYWxpdHkgYW5kIHRlc3RlZCBpdC4KKyAgICAgICAgVXNlciB1
bml0cyB0byBwdCBjb252ZXJzaW9uIHdhcyB3cm9uZywgZml4ZWQgdGhhdC4KKworICAgICAgICBU
ZXN0czogc3ZnL2RvbS9TVkdBbmltYXRlZEFuZ2xlLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9k
b20vU1ZHQW5pbWF0ZWRCb29sZWFuLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9kb20vU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvbi5odG1sCisgICAgICAgICAgICAgICBzdmcvZG9tL1NWR0FuaW1hdGVk
SW50ZWdlci5odG1sCisgICAgICAgICAgICAgICBzdmcvZG9tL1NWR0FuaW1hdGVkTGVuZ3RoLmh0
bWwKKyAgICAgICAgICAgICAgIHN2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Lmh0bWwKKyAg
ICAgICAgICAgICAgIHN2Zy9kb20vU1ZHQW5pbWF0ZWRSZWN0Lmh0bWwKKyAgICAgICAgICAgICAg
IHN2Zy9kb20vU1ZHTGVuZ3RoLXB4LXdpdGgtY29udGV4dC5odG1sCisgICAgICAgICAgICAgICBz
dmcvZG9tL1NWR0xlbmd0aC1weC5odG1sCisgICAgICAgICAgICAgICBzdmcvZG9tL1NWR0xlbmd0
aC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NWR0xlbmd0aEN1c3RvbS5jcHA6IFRo
ZXNlIFNWR0xlbmd0aCBtZXRob2RzIG5vdyB0YWtlIGFuIEV4Y2VwdGlvbkNvZGUgcGFyYW1ldGVy
LCBhZGFwdCB0byB0aGF0LiAKKyAgICAgICAgKFdlYkNvcmU6OkpTU1ZHTGVuZ3RoOjp2YWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpKU1NWR0xlbmd0aDo6c2V0VmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNTVkdMZW5ndGg6OmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtOiBSZW1vdmUgRklYTUVzLCBwYXNz
IHJlYWwgY29udGV4dCBpbnN0ZWFkIG9mZiBudWxsIHBvaW50ZXIuIERPTVNWR0xlbmd0aDo6dmFs
dWUgaXMgZnVuY3Rpb25hbCBub3cuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZH
TGVuZ3RoQ3VzdG9tLmNwcDogVGhlc2UgU1ZHTGVuZ3RoIG1ldGhvZHMgbm93IHRha2UgYW4gRXhj
ZXB0aW9uQ29kZSBwYXJhbWV0ZXIsIGFkYXB0IHRvIHRoYXQuCisgICAgICAgIChXZWJDb3JlOjpW
OFNWR0xlbmd0aDo6dmFsdWVBY2Nlc3NvckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOFNW
R0xlbmd0aDo6dmFsdWVBY2Nlc3NvclNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOFNWR0xl
bmd0aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmg6IEFkYXB0IHRvIFNWR0xlbmd0aCBBUEkgY2hhbmdl
cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsQmFzZWxpbmVTaGlm
dFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjppbml0aWFsS2Vybmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZURhc2hP
ZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VX
aWR0aCk6CisgICAgICAgICogc3ZnL1NWR0FuZ2xlLmlkbDogQWRkIFN0cmljdFR5cGVDaGVja2lu
ZywgUmVxdWlyZXNBbGxBcmd1bWVudHM9UmFpc2UgdG8gYWxsIG1ldGhvZHMuCisgICAgICAgICog
c3ZnL1NWR0FuaW1hdGVkQm9vbGVhbi5pZGw6IFJlbW92ZSBTdHJpY3RUeXBlQ2hlY2tpbmcgZnJv
bSBhbmltVmFsLCBpdCdzIHJlYWRvbmx5IHNvIHRoaXMgaXMgdXNlbGVzcy4KKyAgICAgICAgKiBz
dmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGw6IEFkZCBTdHJpY3RUeXBlQ2hlY2tpbmcgdG8g
YWxsIGF0dHJpYnV0ZXMuCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5pZGw6IERp
dHRvLgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguY3BwOiBJbXBsZW1lbnQgYWxsIG1pc3Npbmcg
ZmVhdHVyZXMgb2YgU1ZHTGVuZ3RoLmUKKyAgICAgICAgKFdlYkNvcmU6Omxlbmd0aFR5cGVUb1N0
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OlNWR0xlbmd0aCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdMZW5ndGg6OnZhbHVlKTogQWRkIEV4Y2VwdGlvbkNvZGUgcGFyYW1ldGVy
IHRocm93IE5PVF9TVVBQT1JURURfRVJSIHdoZW4gdHJ5aW5nIHRvIG9idGFpbiB0byByZWxhdGl2
ZSB1bml0cywgd2hlbiBubyBjb250ZXh0IGlzIGdpdmVuIChTVkdMZW5ndGggY3JlYXRlZCBieSBj
cmVhdGVTVkdMZW5ndGgoKSkuCisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OnNldFZhbHVl
KTogRGl0dG8sIGZvciB0aGUgc2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjp2
YWx1ZUFzUGVyY2VudGFnZSk6IHMvMTAwLjBmLzEwMC8sIHVzZSBtX3ZhbHVlSW5TcGVjaWZpZWRV
bml0cyBpbnN0ZWFkIG9mIHZhbHVlSW5TcGVjaWZpZWRVbml0cygpLgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGVuZ3RoOjpzZXRWYWx1ZUFzU3RyaW5nKTogVGhyb3cgU1lOVEFYX0VSUiBpZiBwYXJz
aW5nIGZhaWxlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6dmFsdWVBc1N0cmluZyk6
IFVzZSBtYWtlU3RyaW5nKCkgaW5zdGVhZCBvZiBTdHJpbmcgYW5kIG9wZXJhdG9yKy4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6bmV3VmFsdWVTcGVjaWZpZWRVbml0cyk6IEFkZCBFeGNl
cHRpb25Db2RlIHBhcmFtZXRlciwgdGhyb3cgTk9UX1NVUFBPUlRFRF9FUlIsIGlmIHRoZSBnaXZl
biB1bml0IHR5cGUgaXMgaW52YWxpZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6Y29u
dmVydFRvU3BlY2lmaWVkVW5pdHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0
aDo6ZGV0ZXJtaW5lVmlld3BvcnQpOiBBZGRlZCBoZWxwZXIgZnVuY3Rpb24gdXNlZCBieSBjb252
ZXJ0VmFsdWUqUGVyY2VudGFnZSouCisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZl
cnRWYWx1ZUZyb21Vc2VyVW5pdHNUb1BlcmNlbnRhZ2UpOiBBZGQgbmV3IGhlbHBlciBmdW5jdGlv
bnMsIHVzZWQgYnkgdmFsdWUvc2V0VmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6
OmNvbnZlcnRWYWx1ZUZyb21QZXJjZW50YWdlVG9Vc2VyVW5pdHMpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbml0c1RvRU1TKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FTVNUb1Vz
ZXJVbml0cyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjb252ZXJ0VmFs
dWVGcm9tVXNlclVuaXRzVG9FWFMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0
aDo6Y29udmVydFZhbHVlRnJvbUVYU1RvVXNlclVuaXRzKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpTVkdMZW5ndGg6OmZyb21DU1NQcmltaXRpdmVWYWx1ZSk6IEFkYXB0IHRvIG5ld1ZhbHVl
U3BlY2lmaWVkVW5pdHMgQVBJIGNoYW5nZS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6
dG9DU1NQcmltaXRpdmVWYWx1ZSk6IFJlbW92ZSBkZWZhdWx0IHN3aXRjaCBjYXNlLgorICAgICAg
ICAqIHN2Zy9TVkdMZW5ndGguaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6dmFsdWVJ
blNwZWNpZmllZFVuaXRzKTogSW5saW5lZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6
c2V0VmFsdWVJblNwZWNpZmllZFVuaXRzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdM
ZW5ndGg6OmlzUmVsYXRpdmUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGguaWRsOiBBZGQgU3Ry
aWN0VHlwZUNoZWNraW5nIGZvciBhbGwgYXR0cmlidXRlcy9mdW5jdGlvbnMgYW5kIFJlcXVpcmVz
QWxsQXJndW1lbnRzPVJhaXNlIGZvciBhbGwgZnVuY3Rpb25zLgorICAgICAgICAqIHN2Zy9TVkdM
ZW5ndGhMaXN0LmNwcDogQWRhcHQgdG8gU1ZHTGVuZ3RoIEFQSSBjaGFuZ2VzLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6cGFyc2UpOgorCiAyMDEwLTEwLTMxICBBbmRyZWFzIEts
aW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNjaHVs
emUuCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3VzdG9tLmNwcAkocmV2
aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHTGVuZ3RoQ3VzdG9tLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjIsMjIgKzIyLDY0IEBACiAjaWYgRU5BQkxFKFNWRykKICNp
bmNsdWRlICJKU1NWR0xlbmd0aC5oIgogCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHkuaCIKKyNpbmNsdWRlICJTVkdFeGNlcHRpb24uaCIK
IAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1KU1ZhbHVl
IEpTU1ZHTGVuZ3RoOjp2YWx1ZShFeGVjU3RhdGUqKSBjb25zdAorSlNWYWx1ZSBKU1NWR0xlbmd0
aDo6dmFsdWUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewogICAgIFNWR0xlbmd0aCYgcG9kSW1w
ID0gaW1wbCgpLT5wcm9wZXJ0eVJlZmVyZW5jZSgpOwotICAgIHJldHVybiBqc051bWJlcihwb2RJ
bXAudmFsdWUoaW1wbCgpLT5jb250ZXh0RWxlbWVudCgpKSk7CisgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CisgICAgZmxvYXQgdmFsdWUgPSBwb2RJbXAudmFsdWUoaW1wbCgpLT5jb250ZXh0RWxl
bWVudCgpLCBlYyk7CisgICAgaWYgKGVjKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVj
LCBlYyk7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIH0KKworICAgIHJldHVy
biBqc051bWJlcih2YWx1ZSk7Cit9CisKK3ZvaWQgSlNTVkdMZW5ndGg6OnNldFZhbHVlKEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAoIXZhbHVlLmlzVW5kZWZpbmVk
T3JOdWxsKCkgJiYgIXZhbHVlLmlzTnVtYmVyKCkgJiYgIXZhbHVlLmlzQm9vbGVhbigpKSB7Cisg
ICAgICAgIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBTVkdMZW5ndGgmIHBvZEltcCA9IGltcGwoKS0+cHJvcGVydHlSZWZlcmVuY2UoKTsKKwor
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIHBvZEltcC5zZXRWYWx1ZSh2YWx1ZS50b0Zs
b2F0KGV4ZWMpLCBpbXBsKCktPmNvbnRleHRFbGVtZW50KCksIGVjKTsKKyAgICBpZiAoZWMpIHsK
KyAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGltcGwoKS0+Y29tbWl0Q2hhbmdlKCk7CiB9CiAKIEpTVmFsdWUgSlNTVkdMZW5n
dGg6OmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBTVkdM
ZW5ndGgmIHBvZEltcCA9IGltcGwoKS0+cHJvcGVydHlSZWZlcmVuY2UoKTsKLSAgICBwb2RJbXAu
Y29udmVydFRvU3BlY2lmaWVkVW5pdHMoZXhlYy0+YXJndW1lbnQoMCkudG9JbnQzMihleGVjKSwg
aW1wbCgpLT5jb250ZXh0RWxlbWVudCgpKTsKKworICAgIC8vIE1pbWljIHRoZSBiZWhhdmlvdXIg
b2YgUmVxdWlyZXNBbGxBcmd1bWVudHM9UmFpc2UuCisgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291
bnQoKSA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVy
cm9yKGV4ZWMsICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKworICAgIHVuc2lnbmVkIHNob3J0
IHVuaXRUeXBlID0gZXhlYy0+YXJndW1lbnQoMCkudG9VSW50MzIoZXhlYyk7CisgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIHBvZEltcC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0
cyh1bml0VHlwZSwgaW1wbCgpLT5jb250ZXh0RWxlbWVudCgpLCBlYyk7CisgICAgaWYgKGVjKSB7
CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOworICAgIH0KIAogICAgIGltcGwoKS0+Y29tbWl0Q2hhbmdlKCk7CiAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvck9iakMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JPYmpDLnBtCShyZXZpc2lvbiA3MDk4OSkKKysrIFdlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkod29ya2luZyBjb3B5KQpAQCAtMTI0Niw3ICsx
MjQ2LDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgICAgICAgICAgICAgICMg
VE9ETzogSGFuZGxlIHNwZWNpYWwgY2FzZSBmb3IgRE9NU1ZHTGVuZ3RoLiBXZSBkbyBuZWVkIEN1
c3RvbSBjb2RlIHN1cHBvcnQgZm9yIHRoaXMuCiAgICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9w
ZXJ0eVR5cGUgZXEgIldlYkNvcmU6OlNWR0xlbmd0aCIgYW5kICRhdHRyaWJ1dGVOYW1lIGVxICJ2
YWx1ZSIpIHsKLSAgICAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gInZhbHVl
KDAgLyogRklYTUUgKi8iOworICAgICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQg
PSAidmFsdWUoSU1QTC0+Y29udGV4dEVsZW1lbnQoKSwgIjsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAKQEAgLTEzOTMsNyArMTM5MywxMiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbgogICAgICAgICAgICAgICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5VHlwZSBlcSAiZmxv
YXQiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBw
b2RJbXBsID0gJGFyZztcbiIpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcG9kSW1wbC4kY29yZVNl
dHRlck5hbWUoJGFyZyRlYyk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICMgRklYTUU6
IFNwZWNpYWwgY2FzZSBmb3IgRE9NU1ZHTGVuZ3RoLiBXZSBkbyBuZWVkIEN1c3RvbSBjb2RlIHN1
cHBvcnQgZm9yIHRoaXMuCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHN2Z1Byb3BlcnR5
VHlwZSBlcSAiV2ViQ29yZTo6U1ZHTGVuZ3RoIiBhbmQgJGF0dHJpYnV0ZU5hbWUgZXEgInZhbHVl
IikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IHBvZEltcGwuJGNvcmVTZXR0ZXJOYW1lKCRhcmcsIElNUEwtPmNvbnRleHRFbGVtZW50KCkkZWMp
O1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHBvZEltcGwuJGNvcmVTZXR0ZXJO
YW1lKCRhcmckZWMpO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgICAgICBpZiAoJGhhc1NldHRlckV4Y2VwdGlv
bikgewpAQCAtMTUyOCw4ICsxNTMzLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICAgICAgICAgIG15ICRzdmdNYXRyaXhJbnZlcnNlID0gKCRwb2RUeXBlIGFuZCAkcG9kVHlwZSBl
cSAiQWZmaW5lVHJhbnNmb3JtIiBhbmQgJGZ1bmN0aW9uTmFtZSBlcSAiaW52ZXJzZSIpOwogICAg
ICAgICAgICAgbXkgJHN2Z0xlbmd0aENvbnZlcnRUb1NwZWNpZmllZFVuaXRzID0gKCRzdmdQcm9w
ZXJ0eVR5cGUgYW5kICRzdmdQcm9wZXJ0eVR5cGUgZXEgIldlYkNvcmU6OlNWR0xlbmd0aCIgYW5k
ICRmdW5jdGlvbk5hbWUgZXEgImNvbnZlcnRUb1NwZWNpZmllZFVuaXRzIik7CiAKKyAgICAgICAg
ICAgIHB1c2goQHBhcmFtZXRlck5hbWVzLCAiSU1QTC0+Y29udGV4dEVsZW1lbnQoKSIpIGlmICRz
dmdMZW5ndGhDb252ZXJ0VG9TcGVjaWZpZWRVbml0czsgCiAgICAgICAgICAgICBwdXNoKEBwYXJh
bWV0ZXJOYW1lcywgImVjIikgaWYgJHJhaXNlc0V4Y2VwdGlvbnMgYW5kICEoJHN2Z01hdHJpeFJv
dGF0ZUZyb21WZWN0b3IgfHwgJHN2Z01hdHJpeEludmVyc2UpOwotICAgICAgICAgICAgcHVzaChA
cGFyYW1ldGVyTmFtZXMsICIwIC8qIEZJWE1FICovIikgaWYgJHN2Z0xlbmd0aENvbnZlcnRUb1Nw
ZWNpZmllZFVuaXRzOyAKIAogICAgICAgICAgICAgIyBIYW5kbGUgYXJndW1lbnRzIHRoYXQgYXJl
ICdTVkdQcm9wZXJ0eScgYmFzZWQgKFNWR0FuZ2xlL1NWR0xlbmd0aCkuIFdlIG5lZWQgdG8gY29u
dmVydCBmcm9tIFNWR1Byb3BlcnR5VGVhck9mZjxUeXBlPiogdG8gVHlwZSwKICAgICAgICAgICAg
ICMgdG8gYmUgYWJsZSB0byBjYWxsIHRoZSBkZXNpcmVkIFdlYkNvcmUgZnVuY3Rpb24uIElmIHRo
ZSBjb252ZXJzaW9uIGZhaWxzLCB3ZSBjYW4ndCBleHRyYWN0IFR5cGUgYW5kIG5lZWQgdG8gcmFp
c2UgYW4gZXhjZXB0aW9uLgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdM
ZW5ndGhDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcAkocmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDI1ICszNSw1OCBAQAogCiAjaW5jbHVkZSAiU1ZHUHJvcGVydHlUZWFyT2ZmLmgiCiAjaW5jbHVk
ZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1ZHTGVuZ3RoOjp2YWx1ZUFj
Y2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNz
b3JJbmZvJiBpbmZvKQogewotICAgIElOQ19TVEFUUygiRE9NLlNWR0xlbmd0aC52YWx1ZSIpOwor
ICAgIElOQ19TVEFUUygiRE9NLlNWR0xlbmd0aC52YWx1ZS5fZ2V0Iik7CiAgICAgU1ZHUHJvcGVy
dHlUZWFyT2ZmPFNWR0xlbmd0aD4qIHdyYXBwZXIgPSBWOFNWR0xlbmd0aDo6dG9OYXRpdmUoaW5m
by5Ib2xkZXIoKSk7CiAgICAgU1ZHTGVuZ3RoJiBpbXAgPSB3cmFwcGVyLT5wcm9wZXJ0eVJlZmVy
ZW5jZSgpOwotICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLnZhbHVlKHdyYXBwZXItPmNv
bnRleHRFbGVtZW50KCkpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBmbG9hdCB2
YWx1ZSA9IGltcC52YWx1ZSh3cmFwcGVyLT5jb250ZXh0RWxlbWVudCgpLCBlYyk7CisgICAgaWYg
KFVOTElLRUxZKGVjKSkgeworICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMpOwor
ICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CisgICAgfQorICAgIHJldHVy
biB2ODo6TnVtYmVyOjpOZXcodmFsdWUpOworfQorCit2b2lkIFY4U1ZHTGVuZ3RoOjp2YWx1ZUFj
Y2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZh
bHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RB
VFMoIkRPTS5TVkdMZW5ndGgudmFsdWUuX3NldCIpOworICAgIGlmICghaXNVbmRlZmluZWRPck51
bGwodmFsdWUpICYmICF2YWx1ZS0+SXNOdW1iZXIoKSAmJiAhdmFsdWUtPklzQm9vbGVhbigpKSB7
CisgICAgICAgIFY4UHJveHk6OnRocm93VHlwZUVycm9yKCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBTVkdQcm9wZXJ0eVRlYXJPZmY8U1ZHTGVuZ3RoPiogd3JhcHBlciA9IFY4U1ZH
TGVuZ3RoOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKKyAgICBTVkdMZW5ndGgmIGltcCA9IHdy
YXBwZXItPnByb3BlcnR5UmVmZXJlbmNlKCk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Cisg
ICAgaW1wLnNldFZhbHVlKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZS0+TnVtYmVyVmFsdWUoKSks
IHdyYXBwZXItPmNvbnRleHRFbGVtZW50KCksIGVjKTsKKyAgICBpZiAoVU5MSUtFTFkoZWMpKQor
ICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMpOworICAgIGVsc2UKKyAgICAgICAg
d3JhcHBlci0+Y29tbWl0Q2hhbmdlKCk7CiB9CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNW
R0xlbmd0aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLlNWR0xlbmd0aC5jb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyIpOworICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKKyAgICAgICAgcmV0dXJu
IHRocm93RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQcm94eTo6U3ludGF4RXJyb3Ip
OworCiAgICAgU1ZHUHJvcGVydHlUZWFyT2ZmPFNWR0xlbmd0aD4qIHdyYXBwZXIgPSBWOFNWR0xl
bmd0aDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgU1ZHTGVuZ3RoJiBpbXAgPSB3cmFw
cGVyLT5wcm9wZXJ0eVJlZmVyZW5jZSgpOwotICAgIGltcC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0
cyh0b0ludDMyKGFyZ3NbMF0pLCB3cmFwcGVyLT5jb250ZXh0RWxlbWVudCgpKTsKLSAgICB3cmFw
cGVyLT5jb21taXRDaGFuZ2UoKTsKLSAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIEVYQ0VQVElPTl9CTE9DSyhpbnQsIHVuaXRUeXBlLCB0
b1VJbnQzMihhcmdzWzBdKSk7CisgICAgaW1wLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKHVuaXRU
eXBlLCB3cmFwcGVyLT5jb250ZXh0RWxlbWVudCgpLCBlYyk7CisgICAgaWYgKFVOTElLRUxZKGVj
KSkKKyAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKKyAgICBlbHNlCisgICAg
ICAgIHdyYXBwZXItPmNvbW1pdENoYW5nZSgpOworICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oCShyZXZpc2lvbiA3MDk4OSkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDI4
ICs5MiwzNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFNWR0xlbmd0aCBpbml0aWFsQmFzZWxpbmVT
aGlmdFZhbHVlKCkKICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBsZW5ndGg7Ci0gICAgICAgIGxl
bmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKExlbmd0aFR5cGVOdW1iZXIsIDApOworICAgICAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgbGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVk
VW5pdHMoTGVuZ3RoVHlwZU51bWJlciwgMCwgZWMpOworICAgICAgICBBU1NFUlQoIWVjKTsKICAg
ICAgICAgcmV0dXJuIGxlbmd0aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZHTGVuZ3RoIGluaXRp
YWxLZXJuaW5nKCkKICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBsZW5ndGg7Ci0gICAgICAgIGxl
bmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKExlbmd0aFR5cGVOdW1iZXIsIDApOworICAgICAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgbGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVk
VW5pdHMoTGVuZ3RoVHlwZU51bWJlciwgMCwgZWMpOworICAgICAgICBBU1NFUlQoIWVjKTsKICAg
ICAgICAgcmV0dXJuIGxlbmd0aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZHTGVuZ3RoIGluaXRp
YWxTdHJva2VEYXNoT2Zmc2V0KCkKICAgICB7CiAgICAgICAgIFNWR0xlbmd0aCBsZW5ndGg7Ci0g
ICAgICAgIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKExlbmd0aFR5cGVOdW1iZXIsIDAp
OworICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICAgICAgbGVuZ3RoLm5ld1ZhbHVl
U3BlY2lmaWVkVW5pdHMoTGVuZ3RoVHlwZU51bWJlciwgMCwgZWMpOworICAgICAgICBBU1NFUlQo
IWVjKTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKICAgICB9CiAKICAgICBzdGF0aWMgU1ZHTGVu
Z3RoIGluaXRpYWxTdHJva2VXaWR0aCgpCiAgICAgewogICAgICAgICBTVkdMZW5ndGggbGVuZ3Ro
OwotICAgICAgICBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhMZW5ndGhUeXBlTnVtYmVy
LCAxKTsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIGxlbmd0aC5uZXdW
YWx1ZVNwZWNpZmllZFVuaXRzKExlbmd0aFR5cGVOdW1iZXIsIDEsIGVjKTsKKyAgICAgICAgQVNT
RVJUKCFlYyk7CiAgICAgICAgIHJldHVybiBsZW5ndGg7CiAgICAgfQogCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdBbmdsZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRs
CShyZXZpc2lvbiA3MDk4OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuZ2xlLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMzcsMTAgKzM3LDEwIEBAIG1vZHVsZSBzdmcgewogICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgdmFsdWVBc1N0cmluZwogICAgICAg
ICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgICAgIHZvaWQgbmV3VmFs
dWVTcGVjaWZpZWRVbml0cyhpbiB1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgaW4gZmxvYXQgdmFs
dWVJblNwZWNpZmllZFVuaXRzKQorICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSZXF1aXJl
c0FsbEFyZ3VtZW50cz1SYWlzZV0gdm9pZCBuZXdWYWx1ZVNwZWNpZmllZFVuaXRzKGluIHVuc2ln
bmVkIHNob3J0IHVuaXRUeXBlLCBpbiBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMpCiAgICAg
ICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgICAgICB2b2lkIGNvbnZlcnRUb1Nw
ZWNpZmllZFVuaXRzKGluIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKQorICAgICAgICBbU3RyaWN0
VHlwZUNoZWNraW5nLCBSZXF1aXJlc0FsbEFyZ3VtZW50cz1SYWlzZV0gdm9pZCBjb252ZXJ0VG9T
cGVjaWZpZWRVbml0cyhpbiB1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSkKICAgICAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkQm9vbGVhbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29s
ZWFuLmlkbAkocmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xl
YW4uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBAIG1vZHVsZSBzdmcgewogCiAg
ICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkddIFNWR0FuaW1hdGVkQm9vbGVhbiB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBbU3RyaWN0VHlwZUNoZWNraW5nXSBib29sZWFuIGJhc2VWYWw7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbU3RyaWN0VHlwZUNoZWNraW5nXSBib29sZWFuIGFuaW1W
YWw7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGFuaW1WYWw7CiAgICAgfTsK
IAogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGwJKHJldmlzaW9u
IDcwOTg5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIG1vZHVsZSBzdmcgewogCiAgICAgaW50ZXJmYWNl
IFtDb25kaXRpb25hbD1TVkddIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gewotICAgICAgICBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgYmFzZVZhbDsKKyAgICAgICAgYXR0cmlidXRlIFtTdHJpY3RU
eXBlQ2hlY2tpbmddIHVuc2lnbmVkIHNob3J0IGJhc2VWYWw7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBhbmltVmFsOwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRJbnRlZ2VyLmlkbAkocmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZEludGVnZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsyNiw3IEBACiBtb2R1
bGUgc3ZnIHsKIAogICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHXSBTVkdBbmltYXRlZElu
dGVnZXIgewotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyBiYXNlVmFsCi0gICAgICAg
ICAgICAgICAgICAgICAvKnNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKSovOworICAgICAgICBh
dHRyaWJ1dGUgW1N0cmljdFR5cGVDaGVja2luZ10gbG9uZyBiYXNlVmFsOwogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgbG9uZyBhbmltVmFsOwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0xlbmd0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAko
cmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNywxNCArMjcsMTMgQEAKICNpbmNsdWRlICJDU1NIZWxwZXIuaCIKICNpbmNsdWRl
ICJGbG9hdENvbnZlcnNpb24uaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJl
bmRlclZpZXcuaCIKICNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJT
VkdTVkdFbGVtZW50LmgiCiAKLSNpbmNsdWRlIDxtYXRoLmg+Ci0jaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODMsNiAr
ODIsNyBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBsZW5ndGhUeXBlVG9TdHJpbmcoCiAgICAgICAg
IHJldHVybiAicGMiOwogICAgIH0KIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJl
dHVybiBTdHJpbmcoKTsKIH0KIApAQCAtMTI2LDEwICsxMjYsMTEgQEAgaW5saW5lIFNWR0xlbmd0
aFR5cGUgc3RyaW5nVG9MZW5ndGhUeXBlKAogfQogCiBTVkdMZW5ndGg6OlNWR0xlbmd0aChTVkdM
ZW5ndGhNb2RlIG1vZGUsIGNvbnN0IFN0cmluZyYgdmFsdWVBc1N0cmluZykKLSAgICA6IG1fdmFs
dWVJblNwZWNpZmllZFVuaXRzKDAuMGYpCisgICAgOiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cygw
KQogICAgICwgbV91bml0KHN0b3JlVW5pdChtb2RlLCBMZW5ndGhUeXBlTnVtYmVyKSkKIHsKLSAg
ICBzZXRWYWx1ZUFzU3RyaW5nKHZhbHVlQXNTdHJpbmcpOworICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOworICAgIHNldFZhbHVlQXNTdHJpbmcodmFsdWVBc1N0cmluZywgZWMpOwogfQogCiBTVkdM
ZW5ndGg6OlNWR0xlbmd0aChjb25zdCBTVkdMZW5ndGgmIG90aGVyKQpAQCAtMTU2LDM1ICsxNTcs
MjQgQEAgU1ZHTGVuZ3RoVHlwZSBTVkdMZW5ndGg6OnVuaXRUeXBlKCkgY29ucwogCiBmbG9hdCBT
VkdMZW5ndGg6OnZhbHVlKGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQpIGNvbnN0CiB7Ci0gICAg
U1ZHTGVuZ3RoVHlwZSB0eXBlID0gZXh0cmFjdFR5cGUobV91bml0KTsKLSAgICBpZiAodHlwZSA9
PSBMZW5ndGhUeXBlVW5rbm93bikKLSAgICAgICAgcmV0dXJuIDAuMGY7CisgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CisgICAgcmV0dXJuIHZhbHVlKGNvbnRleHQsIGVjKTsKK30KIAotICAgIHN3
aXRjaCAodHlwZSkgeworZmxvYXQgU1ZHTGVuZ3RoOjp2YWx1ZShjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBzd2l0Y2ggKGV4dHJhY3RU
eXBlKG1fdW5pdCkpIHsKKyAgICBjYXNlIExlbmd0aFR5cGVVbmtub3duOgorICAgICAgICBlYyA9
IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIExlbmd0aFR5
cGVOdW1iZXI6CiAgICAgICAgIHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0czsKICAgICBj
YXNlIExlbmd0aFR5cGVQZXJjZW50YWdlOgotICAgICAgICByZXR1cm4gU1ZHTGVuZ3RoOjpQZXJj
ZW50YWdlT2ZWaWV3cG9ydChtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyAvIDEwMC4wZiwgY29udGV4
dCwgZXh0cmFjdE1vZGUobV91bml0KSk7CisgICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWVGcm9t
UGVyY2VudGFnZVRvVXNlclVuaXRzKG1fdmFsdWVJblNwZWNpZmllZFVuaXRzIC8gMTAwLCBjb250
ZXh0LCBlYyk7CiAgICAgY2FzZSBMZW5ndGhUeXBlRU1TOgorICAgICAgICByZXR1cm4gY29udmVy
dFZhbHVlRnJvbUVNU1RvVXNlclVuaXRzKG1fdmFsdWVJblNwZWNpZmllZFVuaXRzLCBjb250ZXh0
LCBlYyk7CiAgICAgY2FzZSBMZW5ndGhUeXBlRVhTOgotICAgIHsKLSAgICAgICAgUmVuZGVyU3R5
bGUqIHN0eWxlID0gMDsKLSAgICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC0+cmVuZGVyZXIo
KSkKLSAgICAgICAgICAgIHN0eWxlID0gY29udGV4dC0+cmVuZGVyZXIoKS0+c3R5bGUoKTsKLSAg
ICAgICAgaWYgKHN0eWxlKSB7Ci0gICAgICAgICAgICBmbG9hdCB1c2VTaXplID0gc3R5bGUtPmZv
bnRTaXplKCk7Ci0gICAgICAgICAgICBBU1NFUlQodXNlU2l6ZSA+IDApOwotICAgICAgICAgICAg
aWYgKHR5cGUgPT0gTGVuZ3RoVHlwZUVNUykKLSAgICAgICAgICAgICAgICByZXR1cm4gbV92YWx1
ZUluU3BlY2lmaWVkVW5pdHMgKiB1c2VTaXplOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgeEhlaWdodCA9IHN0eWxlLT5mb250KCkueEhlaWdodCgpOwotICAgICAg
ICAgICAgICAgIC8vIFVzZSBvZiBjZWlsIGFsbG93cyBhIHBpeGVsIG1hdGNoIHRvIHRoZSBXM0Nz
IGV4cGVjdGVkIG91dHB1dCBvZiBjb29yZHMtdW5pdHMtMDMtYi5zdmcKLSAgICAgICAgICAgICAg
ICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVtcyBpbiByZWFsIHdvcmxkIGNhc2VzIG1heWJlIGl0
IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRoaXMKLSAgICAgICAgICAgICAgICByZXR1cm4gbV92
YWx1ZUluU3BlY2lmaWVkVW5pdHMgKiBjZWlsZih4SGVpZ2h0KTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgICAgICByZXR1cm4gMC4wZjsKLSAgICB9CisgICAgICAgIHJldHVybiBjb252
ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMobV92YWx1ZUluU3BlY2lmaWVkVW5pdHMsIGNvbnRl
eHQsIGVjKTsKICAgICBjYXNlIExlbmd0aFR5cGVQWDoKICAgICAgICAgcmV0dXJuIG1fdmFsdWVJ
blNwZWNpZmllZFVuaXRzOwogICAgIGNhc2UgTGVuZ3RoVHlwZUNNOgpAQCAtMTk0LDMxICsxODQs
NDUgQEAgZmxvYXQgU1ZHTGVuZ3RoOjp2YWx1ZShjb25zdCBTVkdFbGVtZW50KgogICAgIGNhc2Ug
TGVuZ3RoVHlwZUlOOgogICAgICAgICByZXR1cm4gbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgKiBj
c3NQaXhlbHNQZXJJbmNoOwogICAgIGNhc2UgTGVuZ3RoVHlwZVBUOgotICAgICAgICByZXR1cm4g
bV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgLyA3Mi4wZiAqIGNzc1BpeGVsc1BlckluY2g7CisgICAg
ICAgIHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyAvIDcyICogY3NzUGl4ZWxzUGVySW5j
aDsKICAgICBjYXNlIExlbmd0aFR5cGVQQzoKLSAgICAgICAgcmV0dXJuIG1fdmFsdWVJblNwZWNp
ZmllZFVuaXRzIC8gNi4wZiAqIGNzc1BpeGVsc1BlckluY2g7Ci0gICAgZGVmYXVsdDoKLSAgICAg
ICAgYnJlYWs7CisgICAgICAgIHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyAvIDYgKiBj
c3NQaXhlbHNQZXJJbmNoOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
IHJldHVybiAwLjBmOworICAgIHJldHVybiAwOwogfQogCi12b2lkIFNWR0xlbmd0aDo6c2V0VmFs
dWUoZmxvYXQgdmFsdWUpCit2b2lkIFNWR0xlbmd0aDo6c2V0VmFsdWUoZmxvYXQgdmFsdWUsIGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIFNWR0xl
bmd0aFR5cGUgdHlwZSA9IGV4dHJhY3RUeXBlKG1fdW5pdCk7Ci0gICAgQVNTRVJUKHR5cGUgIT0g
TGVuZ3RoVHlwZVVua25vd24pOwotCi0gICAgc3dpdGNoICh0eXBlKSB7CisgICAgc3dpdGNoIChl
eHRyYWN0VHlwZShtX3VuaXQpKSB7CisgICAgY2FzZSBMZW5ndGhUeXBlVW5rbm93bjoKKyAgICAg
ICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMZW5n
dGhUeXBlTnVtYmVyOgogICAgICAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyA9IHZhbHVlOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIExlbmd0aFR5cGVQZXJjZW50YWdlOgorICAgICAgICB7
CisgICAgICAgICAgICBmbG9hdCByZXN1bHQgPSBjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9Q
ZXJjZW50YWdlKHZhbHVlLCBjb250ZXh0LCBlYyk7CisgICAgICAgICAgICBpZiAoIWVjKQorICAg
ICAgICAgICAgICAgIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gcmVzdWx0OyAKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CiAgICAgY2FzZSBMZW5ndGhUeXBlRU1TOgorICAgICAgICB7
CisgICAgICAgICAgICBmbG9hdCByZXN1bHQgPSBjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9F
TVModmFsdWUsIGNvbnRleHQsIGVjKTsKKyAgICAgICAgICAgIGlmICghZWMpCisgICAgICAgICAg
ICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSByZXN1bHQ7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQogICAgIGNhc2UgTGVuZ3RoVHlwZUVYUzoKLSAgICAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHsKKyAgICAgICAgICAgIGZsb2F0IHJl
c3VsdCA9IGNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VYUyh2YWx1ZSwgY29udGV4dCwgZWMp
OworICAgICAgICAgICAgaWYgKCFlYykKKyAgICAgICAgICAgICAgICBtX3ZhbHVlSW5TcGVjaWZp
ZWRVbml0cyA9IHJlc3VsdDsgCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIGNh
c2UgTGVuZ3RoVHlwZVBYOgogICAgICAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyA9IHZhbHVl
OwogICAgICAgICBicmVhazsKQEAgLTIzMiw5NyArMjM2LDEwNCBAQCB2b2lkIFNWR0xlbmd0aDo6
c2V0VmFsdWUoZmxvYXQgdmFsdWUpCiAgICAgICAgIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0g
dmFsdWUgLyBjc3NQaXhlbHNQZXJJbmNoOwogICAgICAgICBicmVhazsKICAgICBjYXNlIExlbmd0
aFR5cGVQVDoKLSAgICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSB2YWx1ZSAqIDcyLjBm
IC8gY3NzUGl4ZWxzUGVySW5jaDsKKyAgICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSB2
YWx1ZSAqIDcyIC8gY3NzUGl4ZWxzUGVySW5jaDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBM
ZW5ndGhUeXBlUEM6Ci0gICAgICAgIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gdmFsdWUgLyA2
LjBmICogY3NzUGl4ZWxzUGVySW5jaDsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKKyAg
ICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSB2YWx1ZSAqIDYgLyBjc3NQaXhlbHNQZXJJ
bmNoOwogICAgICAgICBicmVhazsKICAgICB9CiB9CiAKLXZvaWQgU1ZHTGVuZ3RoOjpzZXRWYWx1
ZUluU3BlY2lmaWVkVW5pdHMoZmxvYXQgdmFsdWUpCi17Ci0gICAgbV92YWx1ZUluU3BlY2lmaWVk
VW5pdHMgPSB2YWx1ZTsKLX0KLQotZmxvYXQgU1ZHTGVuZ3RoOjp2YWx1ZUluU3BlY2lmaWVkVW5p
dHMoKSBjb25zdAotewotICAgIHJldHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0czsKLX0KLQog
ZmxvYXQgU1ZHTGVuZ3RoOjp2YWx1ZUFzUGVyY2VudGFnZSgpIGNvbnN0CiB7CiAgICAgLy8gMTAw
JSA9IDEwMC4wIGluc3RlYWQgb2YgMS4wIGZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIHRoaXMgY291
bGQgZXZlbnR1YWxseSBiZSBjaGFuZ2VkCiAgICAgaWYgKGV4dHJhY3RUeXBlKG1fdW5pdCkgPT0g
TGVuZ3RoVHlwZVBlcmNlbnRhZ2UpCi0gICAgICAgIHJldHVybiB2YWx1ZUluU3BlY2lmaWVkVW5p
dHMoKSAvIDEwMC4wZjsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzIC8g
MTAwOwogCi0gICAgcmV0dXJuIHZhbHVlSW5TcGVjaWZpZWRVbml0cygpOworICAgIHJldHVybiBt
X3ZhbHVlSW5TcGVjaWZpZWRVbml0czsKIH0KIAotYm9vbCBTVkdMZW5ndGg6OnNldFZhbHVlQXNT
dHJpbmcoY29uc3QgU3RyaW5nJiBzKQordm9pZCBTVkdMZW5ndGg6OnNldFZhbHVlQXNTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGlmIChzLmlz
RW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChzdHJpbmcuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm47CiAKLSAgICBmbG9hdCBjb252ZXJ0ZWROdW1iZXIgPSAwLjBmOwot
ICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBzLmNoYXJhY3RlcnMoKTsKLSAgICBjb25zdCBVQ2hhciog
ZW5kID0gcHRyICsgcy5sZW5ndGgoKTsKKyAgICBmbG9hdCBjb252ZXJ0ZWROdW1iZXIgPSAwOwor
ICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBzdHJpbmcuY2hhcmFjdGVycygpOworICAgIGNvbnN0IFVD
aGFyKiBlbmQgPSBwdHIgKyBzdHJpbmcubGVuZ3RoKCk7CiAKLSAgICBpZiAoIXBhcnNlTnVtYmVy
KHB0ciwgZW5kLCBjb252ZXJ0ZWROdW1iZXIsIGZhbHNlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIGNvbnZlcnRlZE51bWJlciwgZmFsc2Up
KSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAog
ICAgIFNWR0xlbmd0aFR5cGUgdHlwZSA9IHN0cmluZ1RvTGVuZ3RoVHlwZShwdHIsIGVuZCk7Ci0g
ICAgaWYgKHR5cGUgPT0gTGVuZ3RoVHlwZVVua25vd24pCi0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBpZiAodHlwZSA9PSBMZW5ndGhUeXBlVW5rbm93bikgeworICAgICAgICBlYyA9IFNZTlRB
WF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBtX3VuaXQgPSBzdG9yZVVuaXQo
ZXh0cmFjdE1vZGUobV91bml0KSwgdHlwZSk7CiAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMg
PSBjb252ZXJ0ZWROdW1iZXI7Ci0gICAgcmV0dXJuIHRydWU7CiB9CiAKIFN0cmluZyBTVkdMZW5n
dGg6OnZhbHVlQXNTdHJpbmcoKSBjb25zdAogewotICAgIHJldHVybiBTdHJpbmc6Om51bWJlciht
X3ZhbHVlSW5TcGVjaWZpZWRVbml0cykgKyBsZW5ndGhUeXBlVG9TdHJpbmcoZXh0cmFjdFR5cGUo
bV91bml0KSk7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoU3RyaW5nOjpudW1iZXIobV92YWx1ZUlu
U3BlY2lmaWVkVW5pdHMpLCBsZW5ndGhUeXBlVG9TdHJpbmcoZXh0cmFjdFR5cGUobV91bml0KSkp
OwogfQogCi12b2lkIFNWR0xlbmd0aDo6bmV3VmFsdWVTcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBz
aG9ydCB0eXBlLCBmbG9hdCB2YWx1ZSkKK3ZvaWQgU1ZHTGVuZ3RoOjpuZXdWYWx1ZVNwZWNpZmll
ZFVuaXRzKHVuc2lnbmVkIHNob3J0IHR5cGUsIGZsb2F0IHZhbHVlLCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKLSAgICBpZiAodHlwZSA9PSBMZW5ndGhUeXBlVW5rbm93biB8fCB0eXBlID4gTGVuZ3Ro
VHlwZVBDKQorICAgIGlmICh0eXBlID09IExlbmd0aFR5cGVVbmtub3duIHx8IHR5cGUgPiBMZW5n
dGhUeXBlUEMpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKICAgICAgICAgcmV0
dXJuOworICAgIH0KIAotICAgIG1fdW5pdCA9IHN0b3JlVW5pdChleHRyYWN0TW9kZShtX3VuaXQp
LCAoU1ZHTGVuZ3RoVHlwZSkgdHlwZSk7CisgICAgbV91bml0ID0gc3RvcmVVbml0KGV4dHJhY3RN
b2RlKG1fdW5pdCksIHN0YXRpY19jYXN0PFNWR0xlbmd0aFR5cGU+KHR5cGUpKTsKICAgICBtX3Zh
bHVlSW5TcGVjaWZpZWRVbml0cyA9IHZhbHVlOwogfQogCi12b2lkIFNWR0xlbmd0aDo6Y29udmVy
dFRvU3BlY2lmaWVkVW5pdHModW5zaWduZWQgc2hvcnQgdHlwZSwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dCkKK3ZvaWQgU1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0cyh1bnNpZ25l
ZCBzaG9ydCB0eXBlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKLSAgICBpZiAodHlwZSA9PSBMZW5ndGhUeXBlVW5rbm93biB8fCB0eXBlID4gTGVuZ3Ro
VHlwZVBDKQorICAgIGlmICh0eXBlID09IExlbmd0aFR5cGVVbmtub3duIHx8IHR5cGUgPiBMZW5n
dGhUeXBlUEMpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKICAgICAgICAgcmV0
dXJuOworICAgIH0KIAotICAgIGZsb2F0IHZhbHVlSW5Vc2VyVW5pdHMgPSB2YWx1ZShjb250ZXh0
KTsKLSAgICBtX3VuaXQgPSBzdG9yZVVuaXQoZXh0cmFjdE1vZGUobV91bml0KSwgKFNWR0xlbmd0
aFR5cGUpIHR5cGUpOwotICAgIHNldFZhbHVlKHZhbHVlSW5Vc2VyVW5pdHMpOworICAgIGZsb2F0
IHZhbHVlSW5Vc2VyVW5pdHMgPSB2YWx1ZShjb250ZXh0LCBlYyk7CisgICAgaWYgKGVjKQorICAg
ICAgICByZXR1cm47CisKKyAgICB1bnNpZ25lZCBpbnQgb3JpZ2luYWxVbml0QW5kVHlwZSA9IG1f
dW5pdDsgICAgCisgICAgbV91bml0ID0gc3RvcmVVbml0KGV4dHJhY3RNb2RlKG1fdW5pdCksIHN0
YXRpY19jYXN0PFNWR0xlbmd0aFR5cGU+KHR5cGUpKTsKKyAgICBzZXRWYWx1ZSh2YWx1ZUluVXNl
clVuaXRzLCBjb250ZXh0LCBlYyk7CisgICAgaWYgKCFlYykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgLy8gRXZlbnR1YWxseSByZXN0b3JlIG9sZCB1bml0IGFuZCB0eXBlCisgICAgbV91bml0ID0g
b3JpZ2luYWxVbml0QW5kVHlwZTsKIH0KIAotZmxvYXQgU1ZHTGVuZ3RoOjpQZXJjZW50YWdlT2ZW
aWV3cG9ydChmbG9hdCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgU1ZHTGVuZ3Ro
TW9kZSBtb2RlKQorYm9vbCBTVkdMZW5ndGg6OmRldGVybWluZVZpZXdwb3J0KGNvbnN0IFNWR0Vs
ZW1lbnQqIGNvbnRleHQsIGZsb2F0JiB3aWR0aCwgZmxvYXQmIGhlaWdodCkgY29uc3QKIHsKLSAg
ICBBU1NFUlQoY29udGV4dCk7Ci0KLSAgICBmbG9hdCB3aWR0aCA9IDAuMGYsIGhlaWdodCA9IDAu
MGY7Ci0gICAgU1ZHRWxlbWVudCogdmlld3BvcnRFbGVtZW50ID0gY29udGV4dC0+dmlld3BvcnRF
bGVtZW50KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICAvLyBQZXJjZW50YWdlT2ZWaWV3cG9ydCgpIGlzIHVzZWQgdG8gcmVzb2x2ZSBhbGwgcmVsYXRp
dmUtcG9zaXRpb25lZCB2YWx1ZXMgd2l0aGluIGEgU1ZHIGRvY3VtZW50IChmcmFnbWVudCkKLSAg
ICBEb2N1bWVudCogZG9jID0gY29udGV4dC0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoZG9jLT5kb2N1
bWVudEVsZW1lbnQoKSA9PSBjb250ZXh0KSB7Ci0gICAgICAgIC8vIFJlc29sdmUgdmFsdWUgYWdh
aW5zdCBvdXRlcm1vc3QgPHN2Zz4gZWxlbWVudAotICAgICAgICBpZiAoUmVuZGVyVmlldyogdmll
dyA9IHRvUmVuZGVyVmlldyhkb2MtPnJlbmRlcmVyKCkpKSB7CisgICAgLy8gVGFrZSBzaXplIGZy
b20gb3V0ZXJtb3N0IDxzdmc+IGVsZW1lbnQuCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29u
dGV4dC0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpID09
IGNvbnRleHQpIHsKKyAgICAgICAgaWYgKFJlbmRlclZpZXcqIHZpZXcgPSB0b1JlbmRlclZpZXco
ZG9jdW1lbnQtPnJlbmRlcmVyKCkpKSB7CiAgICAgICAgICAgICB3aWR0aCA9IHZpZXctPnZpZXdX
aWR0aCgpOwogICAgICAgICAgICAgaGVpZ2h0ID0gdmlldy0+dmlld0hlaWdodCgpOwotICAgICAg
ICAgfQotICAgIH0gZWxzZSBpZiAodmlld3BvcnRFbGVtZW50ICYmIHZpZXdwb3J0RWxlbWVudC0+
aXNTVkcoKSkgewotICAgICAgICAvLyBSZXNvbHZlIHZhbHVlIGFnYWluc3QgbmVhcmVzdCB2aWV3
cG9ydCBlbGVtZW50IChjb21tb24gY2FzZTogaW5uZXIgPHN2Zz4gZWxlbWVudHMpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICAvLyBSZXNvbHZlIHZhbHVlIGFnYWluc3QgbmVhcmVzdCB2aWV3cG9ydCBlbGVt
ZW50IChjb21tb24gY2FzZTogaW5uZXIgPHN2Zz4gZWxlbWVudHMpCisgICAgU1ZHRWxlbWVudCog
dmlld3BvcnRFbGVtZW50ID0gY29udGV4dC0+dmlld3BvcnRFbGVtZW50KCk7CisgICAgaWYgKHZp
ZXdwb3J0RWxlbWVudCAmJiB2aWV3cG9ydEVsZW1lbnQtPmlzU1ZHKCkpIHsKICAgICAgICAgY29u
c3QgU1ZHU1ZHRWxlbWVudCogc3ZnID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHU1ZHRWxlbWVudCo+
KHZpZXdwb3J0RWxlbWVudCk7CiAgICAgICAgIGlmIChzdmctPmhhc0F0dHJpYnV0ZShTVkdOYW1l
czo6dmlld0JveEF0dHIpKSB7CiAgICAgICAgICAgICB3aWR0aCA9IHN2Zy0+dmlld0JveCgpLndp
ZHRoKCk7CkBAIC0zMzEsMjUgKzM0MiwxMjcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpQZXJjZW50YWdl
T2ZWaWV3cG9ydChmbAogICAgICAgICAgICAgd2lkdGggPSBzdmctPndpZHRoKCkudmFsdWUoc3Zn
KTsKICAgICAgICAgICAgIGhlaWdodCA9IHN2Zy0+aGVpZ2h0KCkudmFsdWUoc3ZnKTsKICAgICAg
ICAgfQotICAgIH0gZWxzZSBpZiAoY29udGV4dC0+cGFyZW50KCkgJiYgIWNvbnRleHQtPnBhcmVu
dCgpLT5pc1NWR0VsZW1lbnQoKSkgewotICAgICAgICAvLyBSZXNvbHZlIHZhbHVlIGFnYWluc3Qg
ZW5jbG9zaW5nIG5vbi1TVkcgUmVuZGVyQm94Ci0gICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHJl
bmRlcmVyID0gY29udGV4dC0+cmVuZGVyZXIoKSkgewotICAgICAgICAgICAgaWYgKHJlbmRlcmVy
LT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJv
eChyZW5kZXJlcik7Ci0gICAgICAgICAgICAgICAgd2lkdGggPSBib3gtPndpZHRoKCk7Ci0gICAg
ICAgICAgICAgICAgaGVpZ2h0ID0gYm94LT5oZWlnaHQoKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKKyAgICAvLyBSZXNvbHZl
IHZhbHVlIGFnYWluc3QgZW5jbG9zaW5nIG5vbi1TVkcgUmVuZGVyQm94CisgICAgaWYgKCFjb250
ZXh0LT5wYXJlbnQoKSB8fCBjb250ZXh0LT5wYXJlbnQoKS0+aXNTVkdFbGVtZW50KCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtb2RlID09IExlbmd0aE1vZGVXaWR0aCkKKyAg
ICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gY29udGV4dC0+cmVuZGVyZXIoKTsKKyAgICBpZiAo
IXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChyZW5kZXJlcik7CisgICAgd2lkdGgg
PSBib3gtPndpZHRoKCk7CisgICAgaGVpZ2h0ID0gYm94LT5oZWlnaHQoKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9Q
ZXJjZW50YWdlKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRp
b25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBmbG9hdCB3aWR0aCA9IDA7CisgICAgZmxvYXQgaGVp
Z2h0ID0gMDsKKyAgICBpZiAoIWRldGVybWluZVZpZXdwb3J0KGNvbnRleHQsIHdpZHRoLCBoZWln
aHQpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybiAw
OworICAgIH0KKworICAgIHN3aXRjaCAoZXh0cmFjdE1vZGUobV91bml0KSkgeworICAgIGNhc2Ug
TGVuZ3RoTW9kZVdpZHRoOgorICAgICAgICByZXR1cm4gdmFsdWUgLyB3aWR0aCAqIDEwMDsKKyAg
ICBjYXNlIExlbmd0aE1vZGVIZWlnaHQ6CisgICAgICAgIHJldHVybiB2YWx1ZSAvIGhlaWdodCAq
IDEwMDsKKyAgICBjYXNlIExlbmd0aE1vZGVPdGhlcjoKKyAgICAgICAgcmV0dXJuIHZhbHVlIC8g
KHNxcnRmKCh3aWR0aCAqIHdpZHRoICsgaGVpZ2h0ICogaGVpZ2h0KSAvIDIpKSAqIDEwMDsKKyAg
ICB9OworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK2Zs
b2F0IFNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVBlcmNlbnRhZ2VUb1VzZXJVbml0cyhmbG9h
dCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNv
bnN0Cit7CisgICAgZmxvYXQgd2lkdGggPSAwOworICAgIGZsb2F0IGhlaWdodCA9IDA7CisgICAg
aWYgKCFkZXRlcm1pbmVWaWV3cG9ydChjb250ZXh0LCB3aWR0aCwgaGVpZ2h0KSkgeworICAgICAg
ICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBzd2l0Y2ggKGV4dHJhY3RNb2RlKG1fdW5pdCkpIHsKKyAgICBjYXNlIExlbmd0aE1vZGVXaWR0
aDoKICAgICAgICAgcmV0dXJuIHZhbHVlICogd2lkdGg7Ci0gICAgZWxzZSBpZiAobW9kZSA9PSBM
ZW5ndGhNb2RlSGVpZ2h0KQorICAgIGNhc2UgTGVuZ3RoTW9kZUhlaWdodDoKICAgICAgICAgcmV0
dXJuIHZhbHVlICogaGVpZ2h0OwotICAgIGVsc2UgaWYgKG1vZGUgPT0gTGVuZ3RoTW9kZU90aGVy
KQotICAgICAgICByZXR1cm4gdmFsdWUgKiBzcXJ0Zihwb3dmKHdpZHRoLCAyKSArIHBvd2YoaGVp
Z2h0LCAyKSkgLyBzcXJ0ZigyLjBmKTsKKyAgICBjYXNlIExlbmd0aE1vZGVPdGhlcjoKKyAgICAg
ICAgcmV0dXJuIHZhbHVlICogc3FydGYoKHdpZHRoICogd2lkdGggKyBoZWlnaHQgKiBoZWlnaHQp
IC8gMik7CisgICAgfTsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAw
OworfQorCitmbG9hdCBTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VNUyhm
bG9hdCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMp
IGNvbnN0Cit7CisgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5yZW5kZXJlcigpIHx8ICFj
b250ZXh0LT5yZW5kZXJlcigpLT5zdHlsZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRF
RF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIFJlbmRlclN0eWxlKiBzdHls
ZSA9IGNvbnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCk7CisgICAgZmxvYXQgZm9udFNpemUgPSBz
dHlsZS0+Zm9udFNpemUoKTsKKyAgICBpZiAoIWZvbnRTaXplKSB7CisgICAgICAgIGVjID0gTk9U
X1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KIAotICAgIHJldHVybiAw
LjBmOworICAgIHJldHVybiB2YWx1ZSAvIHN0eWxlLT5mb250U2l6ZSgpOworfQorCitmbG9hdCBT
VkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FTVNUb1VzZXJVbml0cyhmbG9hdCB2YWx1ZSwgY29u
c3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAg
aWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5yZW5kZXJlcigpIHx8ICFjb250ZXh0LT5yZW5kZXJl
cigpLT5zdHlsZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KKworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRleHQtPnJl
bmRlcmVyKCktPnN0eWxlKCk7CisgICAgcmV0dXJuIHZhbHVlICogc3R5bGUtPmZvbnRTaXplKCk7
Cit9CisKK2Zsb2F0IFNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbml0c1RvRVhTKGZs
b2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykg
Y29uc3QKK3sKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnJlbmRlcmVyKCkgfHwgIWNv
bnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCkpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVE
X0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgUmVuZGVyU3R5bGUqIHN0eWxl
ID0gY29udGV4dC0+cmVuZGVyZXIoKS0+c3R5bGUoKTsKKworICAgIC8vIFVzZSBvZiBjZWlsIGFs
bG93cyBhIHBpeGVsIG1hdGNoIHRvIHRoZSBXM0NzIGV4cGVjdGVkIG91dHB1dCBvZiBjb29yZHMt
dW5pdHMtMDMtYi5zdmcKKyAgICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVtcyBpbiByZWFsIHdv
cmxkIGNhc2VzIG1heWJlIGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRoaXMKKyAgICBmbG9h
dCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCkpOworICAgIGlmICgheEhl
aWdodCkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm4g
MDsKKyAgICB9CisKKyAgICByZXR1cm4gdmFsdWUgLyB4SGVpZ2h0OworfQorCitmbG9hdCBTVkdM
ZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1VzZXJVbml0cyhmbG9hdCB2YWx1ZSwgY29uc3Qg
U1ZHRWxlbWVudCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYg
KCFjb250ZXh0IHx8ICFjb250ZXh0LT5yZW5kZXJlcigpIHx8ICFjb250ZXh0LT5yZW5kZXJlcigp
LT5zdHlsZSgpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJl
dHVybiAwOworICAgIH0KKworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRleHQtPnJlbmRl
cmVyKCktPnN0eWxlKCk7CisgICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwgbWF0Y2gg
dG8gdGhlIFczQ3MgZXhwZWN0ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2ZworICAg
IC8vIGlmIHRoaXMgY2F1c2VzIHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMgbWF5YmUgaXQg
d291bGQgYmUgYmVzdCB0byByZW1vdmUgdGhpcworICAgIHJldHVybiB2YWx1ZSAqIGNlaWxmKHN0
eWxlLT5mb250KCkueEhlaWdodCgpKTsKIH0KIAogU1ZHTGVuZ3RoIFNWR0xlbmd0aDo6ZnJvbUNT
U1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkKQEAgLTM5Nyw4ICs1MTAs
MTIgQEAgU1ZHTGVuZ3RoIFNWR0xlbmd0aDo6ZnJvbUNTU1ByaW1pdGl2ZVZhbAogICAgIGlmIChz
dmdUeXBlID09IExlbmd0aFR5cGVVbmtub3duKQogICAgICAgICByZXR1cm4gU1ZHTGVuZ3RoKCk7
CiAKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBTVkdMZW5ndGggbGVuZ3RoOwotICAg
IGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHN2Z1R5cGUsIHZhbHVlLT5nZXRGbG9hdFZh
bHVlKCkpOworICAgIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHN2Z1R5cGUsIHZhbHVl
LT5nZXRGbG9hdFZhbHVlKCksIGVjKTsKKyAgICBpZiAoZWMpICAgIAorICAgICAgICByZXR1cm4g
U1ZHTGVuZ3RoKCk7CisKICAgICByZXR1cm4gbGVuZ3RoOwogfQogCkBAIC00MzgsOCArNTU1LDYg
QEAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gU1ZHTGVuZ3RoOgogICAgIGNhc2UgTGVu
Z3RoVHlwZVBDOgogICAgICAgICBjc3NUeXBlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQzsK
ICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgfTsKIAogICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGxlbmd0
aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMoKSwgY3NzVHlwZSk7CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdMZW5ndGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguaAkocmV2aXNp
b24gNzA5ODkpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguaAkod29ya2luZyBjb3B5KQpAQCAt
MjIsNyArMjIsOCBAQAogI2RlZmluZSBTVkdMZW5ndGhfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC03NiwzMiArNzcsNDMgQEAgcHVibGljOgogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTVkdM
ZW5ndGgmKSBjb25zdDsKIAogICAgIGZsb2F0IHZhbHVlKGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRl
eHQpIGNvbnN0OwotICAgIHZvaWQgc2V0VmFsdWUoZmxvYXQpOworICAgIGZsb2F0IHZhbHVlKGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2b2lk
IHNldFZhbHVlKGZsb2F0LCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRpb25Db2Rl
Jik7CisKKyAgICBmbG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMoKSBjb25zdCB7IHJldHVybiBt
X3ZhbHVlSW5TcGVjaWZpZWRVbml0czsgfQorICAgIHZvaWQgc2V0VmFsdWVJblNwZWNpZmllZFVu
aXRzKGZsb2F0IHZhbHVlKSB7IG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gdmFsdWU7IH0KIAot
ICAgIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cygpIGNvbnN0OwotICAgIHZvaWQgc2V0VmFs
dWVJblNwZWNpZmllZFVuaXRzKGZsb2F0KTsKLSAgICAKICAgICBmbG9hdCB2YWx1ZUFzUGVyY2Vu
dGFnZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdDsKLSAgICBi
b29sIHNldFZhbHVlQXNTdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRWYWx1ZUFz
U3RyaW5nKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIHZvaWQgbmV3VmFs
dWVTcGVjaWZpZWRVbml0cyh1bnNpZ25lZCBzaG9ydCwgZmxvYXQgdmFsdWVJblNwZWNpZmllZFVu
aXRzKTsKLSAgICB2b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKHVuc2lnbmVkIHNob3J0LCBj
b25zdCBTVkdFbGVtZW50KiBjb250ZXh0KTsKKyAgICB2b2lkIG5ld1ZhbHVlU3BlY2lmaWVkVW5p
dHModW5zaWduZWQgc2hvcnQsIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cywgRXhjZXB0aW9u
Q29kZSYpOworICAgIHZvaWQgY29udmVydFRvU3BlY2lmaWVkVW5pdHModW5zaWduZWQgc2hvcnQs
IGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIC8vIEhl
bHBlciBmdW5jdGlvbnMKLSAgICBzdGF0aWMgZmxvYXQgUGVyY2VudGFnZU9mVmlld3BvcnQoZmxv
YXQgdmFsdWUsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIFNWR0xlbmd0aE1vZGUpOwotCiAg
ICAgaW5saW5lIGJvb2wgaXNSZWxhdGl2ZSgpIGNvbnN0CiAgICAgewogICAgICAgICBTVkdMZW5n
dGhUeXBlIHR5cGUgPSB1bml0VHlwZSgpOwotICAgICAgICByZXR1cm4gKHR5cGUgPT0gTGVuZ3Ro
VHlwZVBlcmNlbnRhZ2UgfHwgdHlwZSA9PSBMZW5ndGhUeXBlRU1TIHx8IHR5cGUgPT0gTGVuZ3Ro
VHlwZUVYUyk7CisgICAgICAgIHJldHVybiB0eXBlID09IExlbmd0aFR5cGVQZXJjZW50YWdlIHx8
IHR5cGUgPT0gTGVuZ3RoVHlwZUVNUyB8fCB0eXBlID09IExlbmd0aFR5cGVFWFM7CiAgICAgfQog
CiAgICAgc3RhdGljIFNWR0xlbmd0aCBmcm9tQ1NTUHJpbWl0aXZlVmFsdWUoQ1NTUHJpbWl0aXZl
VmFsdWUqKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdG9DU1NQ
cmltaXRpdmVWYWx1ZShjb25zdCBTVkdMZW5ndGgmKTsKIAogcHJpdmF0ZToKKyAgICBib29sIGRl
dGVybWluZVZpZXdwb3J0KGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIGZsb2F0JiB3aWR0aCwg
ZmxvYXQmIGhlaWdodCkgY29uc3Q7CisKKyAgICBmbG9hdCBjb252ZXJ0VmFsdWVGcm9tUGVyY2Vu
dGFnZVRvVXNlclVuaXRzKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBF
eGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgZmxvYXQgY29udmVydFZhbHVlRnJvbVVzZXJVbml0
c1RvUGVyY2VudGFnZShmbG9hdCB2YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCwgRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0OworCisgICAgZmxvYXQgY29udmVydFZhbHVlRnJvbVVzZXJVbml0
c1RvRU1TKGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CisgICAgZmxvYXQgY29udmVydFZhbHVlRnJvbUVNU1RvVXNlclVuaXRzKGZs
b2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7CisKKyAgICBmbG9hdCBjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9FWFMoZmxvYXQgdmFs
dWUsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAg
ICBmbG9hdCBjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMoZmxvYXQgdmFsdWUsIGNvbnN0
IFNWR0VsZW1lbnQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKworcHJpdmF0ZToK
ICAgICBmbG9hdCBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0czsKICAgICB1bnNpZ25lZCBpbnQgbV91
bml0OwogfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlkbAkocmV2aXNpb24gNzA5ODkpCisrKyBXZWJDb3JlL3N2
Zy9TVkdMZW5ndGguaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxNCArMzcsMjAgQEAgbW9kdWxl
IHN2ZyB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNWR19MRU5HVEhUWVBFX1BDICAg
ICAgICAgPSAxMDsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
dW5pdFR5cGU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tR2V0dGVyXSBmbG9hdCB2YWx1ZTsK
LSAgICAgICAgYXR0cmlidXRlIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0czsKLSAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlQXNTdHJp
bmc7CisgICAgICAgIGF0dHJpYnV0ZSBbQ3VzdG9tLCBTdHJpY3RUeXBlQ2hlY2tpbmddIGZsb2F0
IHZhbHVlCisgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbiksCisgICAgICAg
ICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKLSAgICAgICAgdm9pZCBuZXdWYWx1
ZVNwZWNpZmllZFVuaXRzKGluIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIGZsb2F0IHZhbHVlSW5TcGVjaWZpZWRVbml0cyk7
CisgICAgICAgIGF0dHJpYnV0ZSBbU3RyaWN0VHlwZUNoZWNraW5nXSBmbG9hdCB2YWx1ZUluU3Bl
Y2lmaWVkVW5pdHM7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcs
IFN0cmljdFR5cGVDaGVja2luZ10gRE9NU3RyaW5nIHZhbHVlQXNTdHJpbmcKKyAgICAgICAgICAg
IHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgICAgICBbQ3VzdG9tXSB2b2lkIGNv
bnZlcnRUb1NwZWNpZmllZFVuaXRzKGluIHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKTsKKyAgICAg
ICAgW1N0cmljdFR5cGVDaGVja2luZywgUmVxdWlyZXNBbGxBcmd1bWVudHM9UmFpc2VdIHZvaWQg
bmV3VmFsdWVTcGVjaWZpZWRVbml0cyhpbiB1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBm
bG9hdCB2YWx1ZUluU3BlY2lmaWVkVW5pdHMpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKworICAgICAgICBbQ3VzdG9tLCBTdHJpY3RUeXBlQ2hlY2tpbmcsIFJlcXVpcmVzQWxs
QXJndW1lbnRzPVJhaXNlXSB2b2lkIGNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKGluIHVuc2lnbmVk
IHNob3J0IHVuaXRUeXBlKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAg
fTsKIAogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAJKHJldmlzaW9uIDcwOTg5KQorKysgV2Vi
Q29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBTVkdMZW5ndGhMaXN0OjpwYXJzZShjb25zdCBT
dHJpbmcmIHZhbHVlLCBTVkdMZW5ndGhNb2RlIG1vZGUpCiB7CiAgICAgY2xlYXIoKTsKKyAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKIAogICAgIGNvbnN0IFVDaGFyKiBwdHIgPSB2YWx1ZS5jaGFy
YWN0ZXJzKCk7CiAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHZhbHVlLmxlbmd0aCgpOwpA
QCAtNDAsOCArNDEsMTMgQEAgdm9pZCBTVkdMZW5ndGhMaXN0OjpwYXJzZShjb25zdCBTdHJpbmcm
IAogICAgICAgICAgICAgcHRyKys7CiAgICAgICAgIGlmIChwdHIgPT0gc3RhcnQpCiAgICAgICAg
ICAgICBicmVhazsKKwogICAgICAgICBTVkdMZW5ndGggbGVuZ3RoKG1vZGUpOwotICAgICAgICBp
ZiAoIWxlbmd0aC5zZXRWYWx1ZUFzU3RyaW5nKFN0cmluZyhzdGFydCwgcHRyIC0gc3RhcnQpKSkK
KyAgICAgICAgU3RyaW5nIHZhbHVlU3RyaW5nKHN0YXJ0LCBwdHIgLSBzdGFydCk7CisgICAgICAg
IGlmICh2YWx1ZVN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IGxlbmd0aC5zZXRWYWx1ZUFzU3RyaW5nKHZhbHVlU3RyaW5nLCBlYyk7CisgICAgICAgIGlmIChl
YykKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgYXBwZW5kKGxlbmd0aCk7CiAgICAgICAg
IHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDcwOTk3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNzAgQEAKKzIwMTAtMTAtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5u
QHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRW5hYmxlIFN0cmljdFR5cGVDaGVja2luZyBmb3IgYWxsIHR5cGVzIHVzaW5nIFNWRyhBbmlt
YXRlZClQcm9wZXJ0eVRlYXJPZmYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ4NzE1CisKKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuZ2xlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkQW5nbGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkQW5nbGUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogc3ZnL2RvbS9TVkdBbmltYXRlZEJvb2xlYW4tZXhwZWN0ZWQudHh0OiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQtZXhw
ZWN0ZWQudHh0LgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLmh0bWw6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5odG1sLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkSW50ZWdlci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRJbnRlZ2VyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGgtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkTGVuZ3RoLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdBbmltYXRlZExlbmd0aExpc3QuaHRtbDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdBbmltYXRlZFJlY3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0FuaW1hdGVkUmVjdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9kb20vU1ZHTGVuZ3RoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdMZW5ndGgtcHgtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9TVkdMZW5ndGgtcHguaHRtbDogQWRkZWQu
CisgICAgICAgICogc3ZnL2RvbS9TVkdMZW5ndGguaHRtbDogQWRkZWQuCisgICAgICAgICogc3Zn
L2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5nbGUuanM6CisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQt
dGVzdHMvU1ZHQW5pbWF0ZWRBbmdsZS5qczogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zY3Jp
cHQtdGVzdHMvU1ZHQW5pbWF0ZWRCb29sZWFuLmpzOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9z
dmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmpzLgorICAg
ICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uanM6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkSW50ZWdlci5q
czogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRMZW5n
dGguanM6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVk
TGVuZ3RoTGlzdC5qczogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZH
QW5pbWF0ZWRSZWN0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL3NjcmlwdC10ZXN0cy9T
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9k
b20vc2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQuanM6IEFkZGVkLiBUZXN0
cyB2YXJpb3VzIG9wZXJhdGlvbnMgb24gYSBTVkdMZW5ndGggb2JqZWN0IG9idGFpbmVkIHZpYSBy
ZWN0RWxlbWVudC54LmJhc2VWYWwuCisgICAgICAgICogc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZH
TGVuZ3RoLXB4LmpzOiBBZGRlZC4gVGVzdHMgdmFyaW91cyBvcGVyYXRpb25zIG9uIGEgU1ZHTGVu
Z3RoIG9iamVjdCBjcmVhdGVkIHZpYSBzdmdFbGVtZW50LmNyZWF0ZVNWR0xlbmd0aCgpLgorICAg
ICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0xlbmd0aC5qczogQWRkZWQuCisgICAgICAg
ICogc3ZnL2RvbS9zdmctbGVuZ3RoLXVuaXRzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBzdmcvZG9tL3N2Zy1sZW5ndGgtdW5pdHMuaHRtbDogUmVtb3ZlZC4gVGVzdCBpcyBvYnNv
bGV0ZSBub3csIGFzIFNWR0xlbmd0aCogY292ZXJzIHRoaXMgaW4gZGV0YWlsLgorICAgICAgICAq
IHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9t
LWN4LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6IEZpeGVkIFN0cmljdFR5cGVDaGVj
a2luZyBjb3JyZWN0bmVzcywgZG9uJ3QgYXNzaWduIHN0cmluZ3MgYXMgU1ZHTGVuZ3RoIHZhbHVl
LgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0NpcmNsZUVs
ZW1lbnQtc3ZnZG9tLWN5LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6IERpdHRvLgor
ICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0NpcmNsZUVsZW1l
bnQtc3ZnZG9tLXItcHJvcC5qczoKKyAgICAgICAgKGV4ZWN1dGVUZXN0KTogRGl0dG8uCisgICAg
ICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQt
c3ZnZG9tLWN4LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6IERpdHRvLgorICAgICAg
ICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2
Z2RvbS1jeS1wcm9wLmpzOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOiBEaXR0by4KKyAgICAgICAg
KiBzdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdk
b20tcngtcHJvcC5qczoKKyAgICAgICAgKGV4ZWN1dGVUZXN0KTogRGl0dG8uCisgICAgICAgICog
c3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9t
LXJ5LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6IERpdHRvLgorICAgICAgICAqIHN2
Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2
Z2RvbS1oZWlnaHQtcHJvcC5qczoKKyAgICAgICAgKGV4ZWN1dGVUZXN0KTogRGl0dG8uCisgICAg
ICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQtc3ZnZG9tLXdpZHRoLXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6IERpdHRv
LgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LXN2Z2RvbS14LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6IERp
dHRvLgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50LXN2Z2RvbS15LXByb3AuanM6CisgICAgICAgIChleGVjdXRlVGVzdCk6
IERpdHRvLgorCiAyMDEwLTEwLTMxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzA5NTkuCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuZ2xlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuZ2xlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzA5
ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuZ2xlLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQsNiArMTQsMTAgQEAgQ2hlY2sgaW52YWxpZCBhcmd1bWVudHMgZm9yICdj
b252ZXJ0VG9TcAogUEFTUyBhbmdsZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdBbmdsZS5T
VkdfQU5HTEVUWVBFX1VOS05PV04pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRF
RF9FUlI6IERPTSBFeGNlcHRpb24gOS4KIFBBU1MgYW5nbGUuY29udmVydFRvU3BlY2lmaWVkVW5p
dHMoLTEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNl
cHRpb24gOS4KIFBBU1MgYW5nbGUuY29udmVydFRvU3BlY2lmaWVkVW5pdHMoNSkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBh
bmdsZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygnYVN0cmluZycpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGFuZ2xlLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRz
KGFuZ2xlKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBhbmds
ZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhzdmdFbGVtZW50KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBhbmdsZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygp
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCiBQQVNT
IGFuZ2xlLnVuaXRUeXBlIGlzIFNWR0FuZ2xlLlNWR19BTkdMRVRZUEVfVU5TUEVDSUZJRUQKIAog
Q2hlY2sgdmFsaWQgYXJndW1lbnRzIGZvciAnY29udmVydFRvU3BlY2lmaWVkVW5pdHMnLCB0aGF0
IHNob3VsZCBvbmx5IG1vZGlmeSB0aGUgJ3ZhbHVlQXNTdHJpbmcnCkBAIC00Miw2ICs0NiwxOCBA
QCBDaGVjayBpbnZhbGlkIGFyZ3VtZW50cyBmb3IgJ25ld1ZhbHVlU3BlCiBQQVNTIGFuZ2xlLm5l
d1ZhbHVlU3BlY2lmaWVkVW5pdHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9VTktOT1dOLCA1MCkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5
LgogUEFTUyBhbmdsZS5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKC0xLCA1MCkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgogUEFTUyBhbmds
ZS5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKDUsIDUwKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5P
VF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3Bl
Y2lmaWVkVW5pdHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9ERUcpIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3Bl
Y2lmaWVkVW5pdHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9ERUcsICdhU3RyaW5nJykgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgYW5nbGUubmV3VmFsdWVTcGVj
aWZpZWRVbml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX0RFRywgYW5nbGUpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVk
VW5pdHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9ERUcsIHN2Z0VsZW1lbnQpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVk
VW5pdHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9ERUcpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVk
VW5pdHMoJ2FTdHJpbmcnLCA0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9y
LgorUEFTUyBhbmdsZS5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKGFuZ2xlLCA0KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBhbmdsZS5uZXdWYWx1ZVNwZWNpZmll
ZFVuaXRzKHN2Z0VsZW1lbnQsIDQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJy
b3IuCitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoJ2FTdHJpbmcnLCAnYVN0cmlu
ZycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGFuZ2xlLm5l
d1ZhbHVlU3BlY2lmaWVkVW5pdHMoYW5nbGUsIGFuZ2xlKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgorUEFTUyBhbmdsZS5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHN2Z0Vs
ZW1lbnQsIHN2Z0VsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
CitQQVNTIGFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoKSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBhbmdsZS51bml0VHlwZSBpcyBT
VkdBbmdsZS5TVkdfQU5HTEVUWVBFX1VOU1BFQ0lGSUVECiAKIENoZWNrIHZhbGlkIGFyZ3VtZW50
cyBmb3IgJ25ld1ZhbHVlU3BlY2lmaWVkVW5pdHMnLCB0aGF0IHNob3VsZCBvbmx5IG1vZGlmeSB0
aGUgJ3ZhbHVlQXNTdHJpbmcnCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVk
QW5nbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZH
QW5pbWF0ZWRBbmdsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
dmcvZG9tL1NWR0FuaW1hdGVkQW5nbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDI3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRlZEFuZ2xlIEFQSSAtIHV0
aWxpemluZyB0aGUgb3JpZW50QW5nbGUgcHJvcGVydHkgb2YgU1ZHTWFya2VyRWxlbWVudAorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIG9yaWVudEFuZ2xl
IHZhbHVlCitQQVNTIG1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUudG9TdHJpbmcoKSBpcyAiW29i
amVjdCBTVkdBbmltYXRlZEFuZ2xlXSIKK1BBU1MgbWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5i
YXNlVmFsLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgU1ZHQW5nbGVdIgorUEFTUyBtYXJrZXJFbGVt
ZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMgMAorCitDaGVjayB0aGF0IGFuZ2xlcyBh
cmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBtb2RpZnlp
bmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdAorUEFTUyBudW1SZWYudmFsdWUgaXMgMTAwCitQQVNT
IG1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAxMDAKKworQ2hlY2sg
YXNzaWduaW5nIHRvIGJhc2VWYWwgaGFzIG5vIGVmZmVjdCwgYXMgbm8gc2V0dGVyIGlzIGRlZmlu
ZWQKK1BBU1MgbWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsID0gLTEgaXMgLTEKK1BB
U1MgbWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsID0gJ2FTdHJpbmcnIGlzICJhU3Ry
aW5nIgorUEFTUyBtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwgPSBtYXJrZXJFbGVt
ZW50IGlzIG1hcmtlckVsZW1lbnQKKworQ2hlY2sgdGhhdCB0aGUgb3JpZW50QW5nbGUgdmFsdWUg
cmVtYWluZWQgMTAwLCBhbmQgdGhlIGJhc2VWYWwgdHlwZSBoYXMgbm90IGJlZW4gY2hhbmdlZAor
UEFTUyBtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwudG9TdHJpbmcoKSBpcyAiW29i
amVjdCBTVkdBbmdsZV0iCitQQVNTIG1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbC52
YWx1ZSBpcyAxMDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQW5nbGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQW5nbGUuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRBbmdsZS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9TVkdBbmltYXRlZEFu
Z2xlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEJvb2xlYW4tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzA5NzcpCShmcm9tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC1leHBlY3RlZC50eHQ6NzA5NzcpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9t
L1NWR0FuaW1hdGVkQm9vbGVhbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzNCBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCBBUEkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworQ2hlY2sgaW5pdGlhbCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHZhbHVlCitQQVNTIHJlY3RFbGVtZW50LmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCBpcyBmYWxzZQorCitTZXQgdmFsdWUgdG8gdHJ1
ZQorUEFTUyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSB0
cnVlIGlzIHRydWUKKworQ2FjaGluZyBiYXNlVmFsIGluIGxvY2FsIHZhcmlhYmxlCitQQVNTIGJh
c2VWYWwgaXMgdHJ1ZQorCitNb2RpZnkgbG9jYWwgYmFzZVZhbCB2YXJpYWJsZSB0byB0cnVlCitQ
QVNTIGJhc2VWYWwgPSBmYWxzZSBpcyBmYWxzZQorCitBc3N1cmUgdGhhdCByZWN0RWxlbWVudC5l
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIGhhcyBub3QgYmVlbiBjaGFuZ2VkLCBidXQgdGhlIGxv
Y2FsIGJhc2VWYWwgdmFyaWFibGUKK1BBU1MgYmFzZVZhbCBpcyBmYWxzZQorUEFTUyByZWN0RWxl
bWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgaXMgdHJ1ZQorCitDaGVjayBh
c3NpZ25pbmcgaW52YWxpZCB2YWx1ZXMKK1BBU1MgcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyByZWN0RWxlbWVu
dC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSBudWxsIGlzIG51bGwKK1BBU1Mg
cmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gJ2FTdHJpbmcn
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHJlY3RFbGVtZW50
LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IHJlY3RFbGVtZW50IHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK0NoZWNrIHRoYXQgdGhlIHZhbHVlIGlz
IG5vdyBmYWxzZQorUEFTUyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJh
c2VWYWwgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQm9vbGVhbi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRl
ZEJvb2xlYW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MDk3NykKKysrIExheW91dFRlc3RzL3N2
Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw0ICsxLDQgQEAKLVRoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQgQVBJCitUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRlZEJvb2xlYW4gQVBJIC0g
dXRpbGl6aW5nIHRoZSBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHByb3BlcnR5IG9mIFNWR1Jl
Y3RFbGVtZW50CiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIApJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdBbmltYXRlZEJvb2xlYW4uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQm9vbGVhbi5odG1sCShyZXZpc2lvbiA3MDk3NykJKGZy
b20gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmh0bWw6
NzA5NzcpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQm9vbGVhbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkQm9vbGVhbi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRCb29sZWFuLmh0bWwJKHJldmlz
aW9uIDcwOTc3KQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEJvb2xlYW4uaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkQm9vbGVhbi5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2RvbS9TVkdBbmltYXRlZEVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0Fu
aW1hdGVkRW51bWVyYXRpb24gQVBJIC0gdXRpbGl6aW5nIHRoZSBjbGlwUGF0aFVuaXRzIHByb3Bl
cnR5IG9mIFNWR0NsaXBQYXRoRWxlbWVudAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworCitDaGVjayBpbml0aWFsIGNsaXBQYXRoVW5pdHMgdmFsdWUKK1BBU1MgY2xpcFBhdGhFbGVt
ZW50LmNsaXBQYXRoVW5pdHMudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdBbmltYXRlZEVudW1l
cmF0aW9uXSIKK1BBU1MgdHlwZW9mKGNsaXBQYXRoRWxlbWVudC5jbGlwUGF0aFVuaXRzLmJhc2VW
YWwpIGlzICJudW1iZXIiCitQQVNTIGNsaXBQYXRoRWxlbWVudC5jbGlwUGF0aFVuaXRzLmJhc2VW
YWwgaXMgU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UKKworQ2hlY2sg
dGhhdCBlbnVtZXJhdGlvbnMgYXJlIHN0YXRpYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZh
cmlhYmxlIGFuZCBtb2RpZnlpbmcgaXQsIHNob3VsZCBoYXZlIG5vIGVmZmVjdAorUEFTUyBlbnVt
UmVmIGlzIFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBFX1VOS05PV04KK1BBU1MgY2xpcFBhdGhF
bGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQ
RV9VU0VSU1BBQ0VPTlVTRQorCitDaGVjayBhc3NpZ25pbmcgdmFyaW91cyB2YWxpZCBhbmQgaW52
YWxpZCB2YWx1ZXMKK0ZBSUwgY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCA9
IDMgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gV2FzIDMuCitQQVNTIGNsaXBQYXRoRWxlbWVu
dC5jbGlwUGF0aFVuaXRzLmJhc2VWYWwgPSAyIGlzIFNWR1VuaXRUeXBlcy5TVkdfVU5JVF9UWVBF
X09CSkVDVEJPVU5ESU5HQk9YCitGQUlMIGNsaXBQYXRoRWxlbWVudC5jbGlwUGF0aFVuaXRzLmJh
c2VWYWwgPSAtMSBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uLiBXYXMgLTEuCitQQVNTIGNsaXBQ
YXRoRWxlbWVudC5jbGlwUGF0aFVuaXRzLmJhc2VWYWwgPSAnYVN0cmluZycgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRo
VW5pdHMuYmFzZVZhbCA9IGNsaXBQYXRoRWxlbWVudCB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBUeXBlIGVycm9yLgorCitDaGVjayB0aGF0IHRoZSBjbGlwUGF0aFVuaXRzIHZhbHVlIHJlbWFp
bmVkIG9iamVjdEJCb3gKK1BBU1MgY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZh
bCA9IDIgaXMgU1ZHVW5pdFR5cGVzLlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9TVkdBbmltYXRl
ZEVudW1lcmF0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZEludGVnZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRJbnRlZ2VyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRJ
bnRlZ2VyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0ZWRJbnRlZ2VyIEFQSSAtIHV0aWxpemluZyB0aGUgZmls
dGVyUmVzWCBwcm9wZXJ0eSBvZiBTVkdGaWx0ZXJFbGVtZW50CisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCisKK0NoZWNrIGluaXRpYWwgZmlsdGVyUmVzWCB2YWx1ZQorUEFTUyBmaWx0
ZXJFbGVtZW50LmZpbHRlclJlc1gudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdBbmltYXRlZElu
dGVnZXJdIgorUEFTUyB0eXBlb2YoZmlsdGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwpIGlz
ICJudW1iZXIiCitQQVNTIGZpbHRlckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsIGlzIDAKKwor
Q2hlY2sgdGhhdCBpbnRlZ2VycyBhcmUgc3RhdGljLCBjYWNoaW5nIHZhbHVlIGluIGEgbG9jYWwg
dmFyaWFibGUgYW5kIG1vZGlmeWluZyBpdCwgc2hvdWxkIGhhdmUgbm8gZWZmZWN0CitQQVNTIG51
bVJlZiBpcyAxMDAKK1BBU1MgZmlsdGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwgaXMgMAor
CitDaGVjayBhc3NpZ25pbmcgdmFyaW91cyB2YWxpZCBhbmQgaW52YWxpZCB2YWx1ZXMKK1BBU1Mg
ZmlsdGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwgPSAtMSBpcyAtMQorUEFTUyBmaWx0ZXJF
bGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCA9IDMwMCBpcyAzMDAKK1BBU1MgZmlsdGVyRWxlbWVu
dC5maWx0ZXJSZXNYLmJhc2VWYWwgPSAnYVN0cmluZycgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KK1BBU1MgZmlsdGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwgPSBm
aWx0ZXJFbGVtZW50IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK0No
ZWNrIHRoYXQgdGhlIGZpbHRlclJlc1ggdmFsdWUgcmVtYWluZWQgMzAwCitQQVNTIGZpbHRlckVs
ZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsID0gMzAwIGlzIDMwMAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9k
b20vU1ZHQW5pbWF0ZWRJbnRlZ2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2RvbS9TVkdBbmltYXRlZEludGVnZXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3N2Zy9kb20vU1ZHQW5pbWF0ZWRJbnRlZ2VyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkSW50ZWdlci5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0
ZWRMZW5ndGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20v
U1ZHQW5pbWF0ZWRMZW5ndGgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdBbmltYXRlZExlbmd0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMjcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkTGVuZ3RoIEFQ
SSAtIHV0aWxpemluZyB0aGUgd2lkdGggcHJvcGVydHkgb2YgU1ZHUmVjdEVsZW1lbnQKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworQ2hlY2sgaW5pdGlhbCB3aWR0aCB2YWx1ZQor
UEFTUyByZWN0RWxlbWVudC53aWR0aC50b1N0cmluZygpIGlzICJbb2JqZWN0IFNWR0FuaW1hdGVk
TGVuZ3RoXSIKK1BBU1MgcmVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC50b1N0cmluZygpIGlzICJb
b2JqZWN0IFNWR0xlbmd0aF0iCitQQVNTIHJlY3RFbGVtZW50LndpZHRoLmJhc2VWYWwudmFsdWUg
aXMgMAorCitDaGVjayB0aGF0IGxlbmd0aHMgYXJlIGR5bmFtaWMsIGNhY2hpbmcgdmFsdWUgaW4g
YSBsb2NhbCB2YXJpYWJsZSBhbmQgbW9kaWZ5aW5nIGl0LCBzaG91bGQgdGFrZSBlZmZlY3QKK1BB
U1MgbnVtUmVmLnZhbHVlIGlzIDEwMAorUEFTUyByZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsLnZh
bHVlIGlzIDEwMAorCitDaGVjayBhc3NpZ25pbmcgdG8gYmFzZVZhbCBoYXMgbm8gZWZmZWN0LCBh
cyBubyBzZXR0ZXIgaXMgZGVmaW5lZAorUEFTUyByZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsID0g
LTEgaXMgLTEKK1BBU1MgcmVjdEVsZW1lbnQud2lkdGguYmFzZVZhbCA9ICdhU3RyaW5nJyBpcyAi
YVN0cmluZyIKK1BBU1MgcmVjdEVsZW1lbnQud2lkdGguYmFzZVZhbCA9IHJlY3RFbGVtZW50IGlz
IHJlY3RFbGVtZW50CisKK0NoZWNrIHRoYXQgdGhlIHdpZHRoIHZhbHVlIHJlbWFpbmVkIDEwMCwg
YW5kIHRoZSBiYXNlVmFsIHR5cGUgaGFzIG5vdCBiZWVuIGNoYW5nZWQKK1BBU1MgcmVjdEVsZW1l
bnQud2lkdGguYmFzZVZhbC50b1N0cmluZygpIGlzICJbb2JqZWN0IFNWR0xlbmd0aF0iCitQQVNT
IHJlY3RFbGVtZW50LndpZHRoLmJhc2VWYWwudmFsdWUgaXMgMTAwCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2RvbS9TVkdBbmltYXRlZExlbmd0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2
Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGguaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3N2Zy9kb20vU1ZHQW5pbWF0ZWRMZW5ndGguaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRMZW5ndGguanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVk
TGVuZ3RoTGlzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9TVkdBbmltYXRlZExlbmd0aExpc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZExlbmd0aExpc3QtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRl
ZExlbmd0aExpc3QgQVBJIC0gdXRpbGl6aW5nIHRoZSBkeCBwcm9wZXJ0eSBvZiBTVkdUZXh0RWxl
bWVudAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIGR4
IHZhbHVlCitQQVNTIHRleHRFbGVtZW50LmR4LnRvU3RyaW5nKCkgaXMgIltvYmplY3QgU1ZHQW5p
bWF0ZWRMZW5ndGhMaXN0XSIKK1BBU1MgdGV4dEVsZW1lbnQuZHguYmFzZVZhbC50b1N0cmluZygp
IGlzICJbb2JqZWN0IFNWR0xlbmd0aExpc3RdIgorUEFTUyB0ZXh0RWxlbWVudC5keC5iYXNlVmFs
LmdldEl0ZW0oMCkudmFsdWUgaXMgNTAKKworQ2hlY2sgdGhhdCBsZW5ndGggbGlzdHMgYXJlIGR5
bmFtaWMsIGNhY2hpbmcgdmFsdWUgaW4gYSBsb2NhbCB2YXJpYWJsZSBhbmQgbW9kaWZ5aW5nIGl0
LCBzaG91bGQgdGFrZSBlZmZlY3QKK1BBU1MgbnVtUmVmLmdldEl0ZW0oMCkudmFsdWUgaXMgMTAw
CitQQVNTIHRleHRFbGVtZW50LmR4LmJhc2VWYWwuZ2V0SXRlbSgwKS52YWx1ZSBpcyAxMDAKKwor
Q2hlY2sgYXNzaWduaW5nIHRvIGJhc2VWYWwgaGFzIG5vIGVmZmVjdCwgYXMgbm8gc2V0dGVyIGlz
IGRlZmluZWQKK1BBU1MgdGV4dEVsZW1lbnQuZHguYmFzZVZhbCA9IC0xIGlzIC0xCitQQVNTIHRl
eHRFbGVtZW50LmR4LmJhc2VWYWwgPSAnYVN0cmluZycgaXMgImFTdHJpbmciCitQQVNTIHRleHRF
bGVtZW50LmR4LmJhc2VWYWwgPSB0ZXh0RWxlbWVudCBpcyB0ZXh0RWxlbWVudAorCitDaGVjayB0
aGF0IHRoZSBkeCB2YWx1ZSByZW1haW5lZCAxMDAsIGFuZCB0aGUgYmFzZVZhbCB0eXBlIGhhcyBu
b3QgYmVlbiBjaGFuZ2VkCitQQVNTIHRleHRFbGVtZW50LmR4LmJhc2VWYWwudG9TdHJpbmcoKSBp
cyAiW29iamVjdCBTVkdMZW5ndGhMaXN0XSIKK1BBU1MgdGV4dEVsZW1lbnQuZHguYmFzZVZhbC5n
ZXRJdGVtKDApLnZhbHVlIGlzIDEwMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmlt
YXRlZExlbmd0aExpc3QuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20v
U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHQW5pbWF0ZWRS
ZWN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0Fu
aW1hdGVkUmVjdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR0FuaW1hdGVkUmVjdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MjcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIFNWR0FuaW1hdGVkUmVjdCBBUEkgLSB1dGlsaXpp
bmcgdGhlIHZpZXdCb3ggcHJvcGVydHkgb2YgU1ZHU1ZHRWxlbWVudAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIHZpZXdCb3ggdmFsdWUKK1BBU1Mgc3Zn
RWxlbWVudC52aWV3Qm94LnRvU3RyaW5nKCkgaXMgIltvYmplY3QgU1ZHQW5pbWF0ZWRSZWN0XSIK
K1BBU1Mgc3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWwudG9TdHJpbmcoKSBpcyAiW29iamVjdCBT
VkdSZWN0XSIKK1BBU1Mgc3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWwueCBpcyAwCisKK0NoZWNr
IHRoYXQgcmVjdHMgYXJlIGR5bmFtaWMsIGNhY2hpbmcgdmFsdWUgaW4gYSBsb2NhbCB2YXJpYWJs
ZSBhbmQgbW9kaWZ5aW5nIGl0LCBzaG91bGQgdGFrZSBlZmZlY3QKK1BBU1MgbnVtUmVmLnggaXMg
MTAwCitQQVNTIHN2Z0VsZW1lbnQudmlld0JveC5iYXNlVmFsLnggaXMgMTAwCisKK0NoZWNrIGFz
c2lnbmluZyB0byBiYXNlVmFsIGhhcyBubyBlZmZlY3QsIGFzIG5vIHNldHRlciBpcyBkZWZpbmVk
CitQQVNTIHN2Z0VsZW1lbnQudmlld0JveC5iYXNlVmFsID0gLTEgaXMgLTEKK1BBU1Mgc3ZnRWxl
bWVudC52aWV3Qm94LmJhc2VWYWwgPSAnYVN0cmluZycgaXMgImFTdHJpbmciCitQQVNTIHN2Z0Vs
ZW1lbnQudmlld0JveC5iYXNlVmFsID0gc3ZnRWxlbWVudCBpcyBzdmdFbGVtZW50CisKK0NoZWNr
IHRoYXQgdGhlIHZpZXdCb3ggeCByZW1haW5lZCAxMDAsIGFuZCB0aGUgYmFzZVZhbCB0eXBlIGhh
cyBub3QgYmVlbiBjaGFuZ2VkCitQQVNTIHN2Z0VsZW1lbnQudmlld0JveC5iYXNlVmFsLnRvU3Ry
aW5nKCkgaXMgIltvYmplY3QgU1ZHUmVjdF0iCitQQVNTIHN2Z0VsZW1lbnQudmlld0JveC5iYXNl
VmFsLnggaXMgMTAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZFJlY3QuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0FuaW1hdGVkUmVjdC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdBbmltYXRlZFJlY3QuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRSZWN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MDk4OSkKKysrIExheW91dFRlc3RzL3N2Zy9kb20v
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsMzQgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCBBUEkKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLQotQ2hlY2sg
aW5pdGlhbCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHZhbHVlCi1QQVNTIHJlY3RFbGVt
ZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCBpcyBmYWxzZQotCi1TZXQgdmFs
dWUgdG8gdHJ1ZQotUEFTUyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJh
c2VWYWwgPSB0cnVlIGlzIHRydWUKLQotQ2FjaGluZyBiYXNlVmFsIGluIGxvY2FsIHZhcmlhYmxl
Ci1QQVNTIGJhc2VWYWwgaXMgdHJ1ZQotCi1Nb2RpZnkgbG9jYWwgYmFzZVZhbCB2YXJpYWJsZSB0
byB0cnVlCi1QQVNTIGJhc2VWYWwgPSBmYWxzZSBpcyBmYWxzZQotCi1Bc3N1cmUgdGhhdCByZWN0
RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIGhhcyBub3QgYmVlbiBjaGFuZ2VkLCBi
dXQgdGhlIGxvY2FsIGJhc2VWYWwgdmFyaWFibGUKLVBBU1MgYmFzZVZhbCBpcyBmYWxzZQotUEFT
UyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgaXMgdHJ1ZQot
Ci1DaGVjayBhc3NpZ25pbmcgaW52YWxpZCB2YWx1ZXMKLVBBU1MgcmVjdEVsZW1lbnQuZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBy
ZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSBudWxsIGlzIG51
bGwKLVBBU1MgcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0g
J2FTdHJpbmcnIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIHJl
Y3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IHJlY3RFbGVtZW50
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi0KLUNoZWNrIHRoYXQgdGhl
IHZhbHVlIGlzIG5vdyBmYWxzZQotUEFTUyByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmJhc2VWYWwgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9t
L1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaHRtbAkocmV2aXNpb24gNzA5ODkpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZG9tL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9TVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1MyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHTGVuZ3RoIEFQ
SQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitDaGVjayBpbml0aWFsIGxlbmd0
aCB2YWx1ZXMKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQ
RV9OVU1CRVIKK1BBU1MgbGVuZ3RoLnZhbHVlIGlzIDAKK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVj
aWZpZWRVbml0cyBpcyAwCitQQVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIwIgorCitTZXQg
dmFsdWUgdG8gYmUgMnB4CitQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xF
TkdUSFRZUEVfUFgKK1BBU1MgbGVuZ3RoLnZhbHVlIGlzIDIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5T
cGVjaWZpZWRVbml0cyBpcyAyCitQQVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIycHgiCisK
K0NoZWNrIGludmFsaWQgYXJndW1lbnRzIGZvciAnY29udmVydFRvU3BlY2lmaWVkVW5pdHMnCitQ
QVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZ
UEVfVU5LTk9XTikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9N
IEV4Y2VwdGlvbiA5LgorUEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoLTEpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4K
K1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKDExKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitQQVNTIGxlbmd0aC5j
b252ZXJ0VG9TcGVjaWZpZWRVbml0cygnYVN0cmluZycpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
Tk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgbGVuZ3RoLmNvbnZlcnRU
b1NwZWNpZmllZFVuaXRzKGxlbmd0aCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9S
VEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVk
VW5pdHMoc3ZnRWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VS
UjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMo
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFT
UyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYCitQQVNTIGxl
bmd0aC52YWx1ZSBpcyAyCitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgor
UEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYCisKK0No
ZWNrIGludmFsaWQgYXJndW1lbnRzIGZvciAnbmV3VmFsdWVTcGVjaWZpZWRVbml0cycKK1BBU1Mg
bGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1VO
S05PV04sIDQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBF
eGNlcHRpb24gOS4KK1BBU1MgbGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoLTEsIDQpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4K
K1BBU1MgbGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoMTEsIDQpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgbGVuZ3Ro
Lm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYLCAnYVN0
cmluZycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGxlbmd0
aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWCwgbGVu
Z3RoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBsZW5ndGgu
bmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgsIHN2Z0Vs
ZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGxlbmd0
aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWCkgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbGVu
Z3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoJ2FTdHJpbmcnLCA0KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0
cyhsZW5ndGgsIDQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNT
IGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHN2Z0VsZW1lbnQsIDQpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIGxlbmd0aC5uZXdWYWx1ZVNwZWNpZmll
ZFVuaXRzKCdhU3RyaW5nJywgJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBU
eXBlIGVycm9yLgorUEFTUyBsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhsZW5ndGgsIGxl
bmd0aCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbGVuZ3Ro
Lm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoc3ZnRWxlbWVudCwgc3ZnRWxlbWVudCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNW
R0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWAorUEFTUyBsZW5ndGgudmFsdWUgaXMgMgorUEFTUyBs
ZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzIGlzIDIKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlz
IFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVu
Z3RoLXB4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R0xlbmd0aC1weC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR0xlbmd0aC1weC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgU1ZHTGVuZ3RoIC0gY29udmVydGluZyBmcm9tIHB4IHRvIGFs
bCBvdGhlciB1bml0IHR5cGVzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK1Nl
dCB2YWx1ZSB0byBiZSAycHgKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdf
TEVOR1RIVFlQRV9QWAorUEFTUyBsZW5ndGgudmFsdWUgaXMgMgorUEFTUyBsZW5ndGgudmFsdWVJ
blNwZWNpZmllZFVuaXRzIGlzIDIKK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjJweCIK
KworQ29udmVydCBmcm9tIHB4IHRvIHVuaXRsZXNzCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfTlVNQkVSKSBpcyB1bmRlZmluZWQu
CitQQVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIyIgorUEFTUyBsZW5ndGgudmFsdWUgaXMg
MgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzIGlzIDIKK1BBU1MgbGVuZ3RoLnVu
aXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9OVU1CRVIKKworUmVzZXQgdG8gMnB4
CisKK1RyeSBjb252ZXJ0aW5nIGZyb20gcHggdG8gcGVyY2VudGFnZSwgc2hvdWxkIGZhaWwgYXMg
dGhlIFNWR0xlbmd0aCBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGEgU1ZHU1ZHRWxlbWVudCwgYW5k
IHRodXMgbm8gdmlld3BvcnQgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlCitQQVNTIGxlbmd0aC5j
b252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUEVSQ0VOVEFH
RSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlv
biA5LgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBpcyAiMnB4IgorUEFTUyBsZW5ndGgudmFs
dWUgaXMgMgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzIGlzIDIKK1BBU1MgbGVu
Z3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QWAorCitSZXNldCB0byAy
cHgKKworVHJ5IGNvbnZlcnRpbmcgZnJvbSBweCB0byBlbXMsIHNob3VsZCBmYWlsIGFzIHRoZSBT
VkdMZW5ndGggaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIFNWR1NWR0VsZW1lbnQsIGFuZCB0aHVz
IG5vIGZvbnQtc2l6ZSBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUKK1BBU1MgbGVuZ3RoLmNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9FTVMpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1Mg
bGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjJweCIKK1BBU1MgbGVuZ3RoLnZhbHVlIGlzIDIKK1BB
U1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyBpcyAyCitQQVNTIGxlbmd0aC51bml0VHlw
ZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgKKworUmVzZXQgdG8gMnB4CisKK1RyeSBj
b252ZXJ0aW5nIGZyb20gcHggdG8gZXhzLCBzaG91bGQgZmFpbCBhcyB0aGUgU1ZHTGVuZ3RoIGlz
IG5vdCBhc3NvY2lhdGVkIHdpdGggYSBTVkdTVkdFbGVtZW50LCBhbmQgdGh1cyBubyBmb250LXNp
emUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZp
ZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfRVhTKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitQQVNTIGxlbmd0aC52YWx1
ZUFzU3RyaW5nIGlzICIycHgiCitQQVNTIGxlbmd0aC52YWx1ZSBpcyAyCitQQVNTIGxlbmd0aC52
YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVu
Z3RoLlNWR19MRU5HVEhUWVBFX1BYCisKK1Jlc2V0IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHgg
dG8gY20KK1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdf
TEVOR1RIVFlQRV9DTSkgaXMgdW5kZWZpbmVkLgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBp
cyAiMC4wNTI5MTY3Y20iCitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhl
ZCg3KSBpcyAiMC4wNTI5MTY3IgorUEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgxKSBpcyAiMi4w
IgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0NNCisK
K1Jlc2V0IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHggdG8gbW0KK1BBU1MgbGVuZ3RoLmNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9NTSkgaXMgdW5kZWZp
bmVkLgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBpcyAiMC41MjkxNjdtbSIKK1BBU1MgbGVu
Z3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDYpIGlzICIwLjUyOTE2NyIKK1BBU1Mg
bGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkgaXMgIjIuMCIKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlz
IFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9NTQorCitSZXNldCB0byAycHgKKworQ29udmVydCBm
cm9tIHB4IHRvIGluCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5n
dGguU1ZHX0xFTkdUSFRZUEVfSU4pIGlzIHVuZGVmaW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlQXNT
dHJpbmcgaXMgIjAuMDIwODMzM2luIgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRz
LnRvRml4ZWQoNykgaXMgIjAuMDIwODMzMyIKK1BBU1MgbGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkg
aXMgIjIuMCIKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQ
RV9JTgorCitSZXNldCB0byAycHgKKworQ29udmVydCBmcm9tIHB4IHRvIHB0CitQQVNTIGxlbmd0
aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFQpIGlz
IHVuZGVmaW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjEuNXB0IgorUEFTUyBs
ZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzIGlzIDEuNQorUEFTUyBsZW5ndGgudmFsdWUudG9G
aXhlZCgxKSBpcyAiMi4wIgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19M
RU5HVEhUWVBFX1BUCisKK1Jlc2V0IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHggdG8gcGMKK1BB
U1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQ
RV9QQykgaXMgdW5kZWZpbmVkLgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRv
Rml4ZWQoMykgaXMgIjAuMTI1IgorUEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgxKSBpcyAiMi4w
IgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BDCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtcHgtd2l0aC1jb250ZXh0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1weC13aXRoLWNv
bnRleHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdMZW5ndGgtcHgtd2l0aC1jb250ZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw5MiBAQAorVGhpcyB0ZXN0IGNoZWNrcyBTVkdMZW5ndGggLSBjb252ZXJ0aW5nIGZyb20g
cHggdG8gYWxsIG90aGVyIHVuaXQgdHlwZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKKworU2V0IHZhbHVlIHRvIGJlIDJweAorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVu
Z3RoLlNWR19MRU5HVEhUWVBFX1BYCitQQVNTIGxlbmd0aC52YWx1ZSBpcyAyCitQQVNTIGxlbmd0
aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgorUEFTUyBsZW5ndGgudmFsdWVBc1N0cmluZyBp
cyAiMnB4IgorCitDb252ZXJ0IGZyb20gcHggdG8gdW5pdGxlc3MKK1BBU1MgbGVuZ3RoLmNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9OVU1CRVIpIGlzIHVu
ZGVmaW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjIiCitQQVNTIGxlbmd0aC52
YWx1ZSBpcyAyCitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMgaXMgMgorUEFTUyBs
ZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUgorCitSZXNl
dCB0byAycHgKKworQ29udmVydCBmcm9tIHB4IHRvIHBlcmNlbnRhZ2UKK1BBU1MgbGVuZ3RoLmNv
bnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QRVJDRU5UQUdF
KSBpcyB1bmRlZmluZWQuCitQQVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIxLjMzMzMzJSIK
K1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDUpIGlzICIxLjMzMzMz
IgorUEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgxKSBpcyAiMi4wIgorUEFTUyBsZW5ndGgudW5p
dFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BFUkNFTlRBR0UKKworUmVzZXQgdG8g
MnB4CisKK0NvbnZlcnQgZnJvbSBweCB0byBlbXMKK1BBU1MgbGVuZ3RoLmNvbnZlcnRUb1NwZWNp
ZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9FTVMpIGlzIHVuZGVmaW5lZC4KK1BB
U1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjAuMTY2NjY3ZW0iCitQQVNTIGxlbmd0aC52YWx1
ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhlZCg2KSBpcyAiMC4xNjY2NjciCitQQVNTIGxlbmd0aC52
YWx1ZS50b0ZpeGVkKDEpIGlzICIyLjAiCitQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5n
dGguU1ZHX0xFTkdUSFRZUEVfRU1TCisKK1Jlc2V0IHRvIDJweAorCitDb252ZXJ0IGZyb20gcHgg
dG8gZXhzCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZH
X0xFTkdUSFRZUEVfRVhTKSBpcyB1bmRlZmluZWQuCitQQVNTIGxlbmd0aC52YWx1ZUluU3BlY2lm
aWVkVW5pdHMudG9GaXhlZCgxKSBpcyAiMC4yIgorUEFTUyBsZW5ndGgudmFsdWUudG9GaXhlZCgx
KSBpcyAiMi4wIgorUEFTUyBsZW5ndGgudW5pdFR5cGUgaXMgU1ZHTGVuZ3RoLlNWR19MRU5HVEhU
WVBFX0VYUworCitSZXNldCB0byAycHgKKworQ29udmVydCBmcm9tIHB4IHRvIGNtCitQQVNTIGxl
bmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfQ00p
IGlzIHVuZGVmaW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlQXNTdHJpbmcgaXMgIjAuMDUyOTE2N2Nt
IgorUEFTUyBsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNykgaXMgIjAuMDUy
OTE2NyIKK1BBU1MgbGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkgaXMgIjIuMCIKK1BBU1MgbGVuZ3Ro
LnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9DTQorCitSZXNldCB0byAycHgK
KworQ29udmVydCBmcm9tIHB4IHRvIG1tCitQQVNTIGxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRV
bml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfTU0pIGlzIHVuZGVmaW5lZC4KK1BBU1MgbGVu
Z3RoLnZhbHVlQXNTdHJpbmcgaXMgIjAuNTI5MTY3bW0iCitQQVNTIGxlbmd0aC52YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMudG9GaXhlZCg2KSBpcyAiMC41MjkxNjciCitQQVNTIGxlbmd0aC52YWx1ZS50
b0ZpeGVkKDEpIGlzICIyLjAiCitQQVNTIGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZH
X0xFTkdUSFRZUEVfTU0KKworUmVzZXQgdG8gMnB4CisKK0NvbnZlcnQgZnJvbSBweCB0byBpbgor
UEFTUyBsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhU
WVBFX0lOKSBpcyB1bmRlZmluZWQuCitQQVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIwLjAy
MDgzMzNpbiIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDcpIGlz
ICIwLjAyMDgzMzMiCitQQVNTIGxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIGlzICIyLjAiCitQQVNT
IGxlbmd0aC51bml0VHlwZSBpcyBTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfSU4KKworUmVzZXQg
dG8gMnB4CisKK0NvbnZlcnQgZnJvbSBweCB0byBwdAorUEFTUyBsZW5ndGguY29udmVydFRvU3Bl
Y2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BUKSBpcyB1bmRlZmluZWQuCitQ
QVNTIGxlbmd0aC52YWx1ZUFzU3RyaW5nIGlzICIxLjVwdCIKK1BBU1MgbGVuZ3RoLnZhbHVlSW5T
cGVjaWZpZWRVbml0cyBpcyAxLjUKK1BBU1MgbGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkgaXMgIjIu
MCIKK1BBU1MgbGVuZ3RoLnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QVAor
CitSZXNldCB0byAycHgKKworQ29udmVydCBmcm9tIHB4IHRvIHBjCitQQVNTIGxlbmd0aC5jb252
ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUEMpIGlzIHVuZGVm
aW5lZC4KK1BBU1MgbGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDMpIGlzICIw
LjEyNSIKK1BBU1MgbGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkgaXMgIjIuMCIKK1BBU1MgbGVuZ3Ro
LnVuaXRUeXBlIGlzIFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QQworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2
Zy9kb20vU1ZHTGVuZ3RoLXB4LXdpdGgtY29udGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLXB4LXdpdGgtY29udGV4dC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdMZW5ndGgtcHgtd2l0aC1jb250ZXh0Lmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC13
aXRoLWNvbnRleHQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1weC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLXB4Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC1weC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9TVkdMZW5ndGgtcHguanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vU1ZHTGVuZ3RoLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL1NWR0xlbmd0aC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9TVkdMZW5ndGguanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Zy1s
ZW5ndGgtdW5pdHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
b20vc3ZnLWxlbmd0aC11bml0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcwOTg5KQorKysgTGF5
b3V0VGVzdHMvc3ZnL2RvbS9zdmctbGVuZ3RoLXVuaXRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwxMyArMCwwIEBACi0gMQotMQotMQotMQotMQotNQotNQotNQotNQotNQotRG9u
ZSEKLQotCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Zy1sZW5ndGgtdW5pdHMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Zy1sZW5ndGgtdW5pdHMuaHRtbAko
cmV2aXNpb24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3N2Zy1sZW5ndGgtdW5pdHMu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzMiArMCwwIEBACi08Ym9keT4KLTxzdmcgaWQ9ImZv
byI+Ci08L3N2Zz4KLTxwcmU+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0KLXZhciBlbG10
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOwotdmFyIGxlbiA9IGVsbXQuY3JlYXRl
U1ZHTGVuZ3RoKCk7Ci1kb2N1bWVudC53cml0ZWxuKGxlbi51bml0VHlwZSkKLWxlbi5uZXdWYWx1
ZVNwZWNpZmllZFVuaXRzKDAsIDQyKTsKLWRvY3VtZW50LndyaXRlbG4obGVuLnVuaXRUeXBlKQot
bGVuLnZhbHVlID0gNDg7Ci1kb2N1bWVudC53cml0ZWxuKGxlbi51bml0VHlwZSkKLWxlbi5uZXdW
YWx1ZVNwZWNpZmllZFVuaXRzKDUxMTY4LCA0Mik7Ci1kb2N1bWVudC53cml0ZWxuKGxlbi51bml0
VHlwZSkKLWxlbi52YWx1ZSA9IDQ4OwotZG9jdW1lbnQud3JpdGVsbihsZW4udW5pdFR5cGUpCi1s
ZW4udmFsdWVBc1N0cmluZyA9ICIzMnB4IgotZG9jdW1lbnQud3JpdGVsbihsZW4udW5pdFR5cGUp
Ci1sZW4uY29udmVydFRvU3BlY2lmaWVkVW5pdHMoMCkKLWRvY3VtZW50LndyaXRlbG4obGVuLnVu
aXRUeXBlKQotbGVuLnZhbHVlQXNTdHJpbmcgPSAiMzJweCIKLWRvY3VtZW50LndyaXRlbG4obGVu
LnVuaXRUeXBlKQotbGVuLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKDUxMTY4KQotZG9jdW1lbnQu
d3JpdGVsbihsZW4udW5pdFR5cGUpCi1sZW4udmFsdWUgPSA0ODsKLWRvY3VtZW50LndyaXRlbG4o
bGVuLnVuaXRUeXBlKQotZG9jdW1lbnQud3JpdGVsbigiRG9uZSEiKQotPC9zY3JpcHQ+Ci08L3By
ZT4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuZ2xlLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuZ2xlLmpz
CShyZXZpc2lvbiA3MDk4OSkKKysrIExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NW
R0FuZ2xlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw2ICsxNiwxMCBAQCBkZWJ1ZygiQ2hlY2sg
aW52YWxpZCBhcmd1bWVudHMgZm9yICdjb252CiBzaG91bGRUaHJvdygiYW5nbGUuY29udmVydFRv
U3BlY2lmaWVkVW5pdHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9VTktOT1dOKSIpOwogc2hvdWxk
VGhyb3coImFuZ2xlLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKC0xKSIpOwogc2hvdWxkVGhyb3co
ImFuZ2xlLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKDUpIik7CitzaG91bGRUaHJvdygiYW5nbGUu
Y29udmVydFRvU3BlY2lmaWVkVW5pdHMoJ2FTdHJpbmcnKSIpOworc2hvdWxkVGhyb3coImFuZ2xl
LmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKGFuZ2xlKSIpOworc2hvdWxkVGhyb3coImFuZ2xlLmNv
bnZlcnRUb1NwZWNpZmllZFVuaXRzKHN2Z0VsZW1lbnQpIik7CitzaG91bGRUaHJvdygiYW5nbGUu
Y29udmVydFRvU3BlY2lmaWVkVW5pdHMoKSIpOwogc2hvdWxkQmUoImFuZ2xlLnVuaXRUeXBlIiwg
IlNWR0FuZ2xlLlNWR19BTkdMRVRZUEVfVU5TUEVDSUZJRUQiKTsKIAogZGVidWcoIiIpOwpAQCAt
NTAsNiArNTQsMTggQEAgZGVidWcoIkNoZWNrIGludmFsaWQgYXJndW1lbnRzIGZvciAnbmV3Vgog
c2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoU1ZHQW5nbGUuU1ZHX0FO
R0xFVFlQRV9VTktOT1dOLCA1MCkiKTsKIHNob3VsZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNwZWNp
ZmllZFVuaXRzKC0xLCA1MCkiKTsKIHNob3VsZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNwZWNpZmll
ZFVuaXRzKDUsIDUwKSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5p
dHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9ERUcpIik7CitzaG91bGRUaHJvdygiYW5nbGUubmV3
VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX0RFRywgJ2FTdHJpbmcn
KSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoU1ZHQW5nbGUu
U1ZHX0FOR0xFVFlQRV9ERUcsIGFuZ2xlKSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVl
U3BlY2lmaWVkVW5pdHMoU1ZHQW5nbGUuU1ZHX0FOR0xFVFlQRV9ERUcsIHN2Z0VsZW1lbnQpIik7
CitzaG91bGRUaHJvdygiYW5nbGUubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdBbmdsZS5TVkdf
QU5HTEVUWVBFX0RFRykiKTsKK3Nob3VsZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNwZWNpZmllZFVu
aXRzKCdhU3RyaW5nJywgNCkiKTsKK3Nob3VsZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNwZWNpZmll
ZFVuaXRzKGFuZ2xlLCA0KSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5ld1ZhbHVlU3BlY2lmaWVk
VW5pdHMoc3ZnRWxlbWVudCwgNCkiKTsKK3Nob3VsZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNwZWNp
ZmllZFVuaXRzKCdhU3RyaW5nJywgJ2FTdHJpbmcnKSIpOworc2hvdWxkVGhyb3coImFuZ2xlLm5l
d1ZhbHVlU3BlY2lmaWVkVW5pdHMoYW5nbGUsIGFuZ2xlKSIpOworc2hvdWxkVGhyb3coImFuZ2xl
Lm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoc3ZnRWxlbWVudCwgc3ZnRWxlbWVudCkiKTsKK3Nob3Vs
ZFRocm93KCJhbmdsZS5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKCkiKTsKIHNob3VsZEJlKCJhbmds
ZS51bml0VHlwZSIsICJTVkdBbmdsZS5TVkdfQU5HTEVUWVBFX1VOU1BFQ0lGSUVEIik7CiAKIGRl
YnVnKCIiKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1h
dGVkQW5nbGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVz
dHMvU1ZHQW5pbWF0ZWRBbmdsZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9k
b20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkQW5nbGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMjkgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRlZEFu
Z2xlIEFQSSAtIHV0aWxpemluZyB0aGUgb3JpZW50QW5nbGUgcHJvcGVydHkgb2YgU1ZHTWFya2Vy
RWxlbWVudCIpOworCit2YXIgbWFya2VyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRO
UygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAibWFya2VyIik7CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCJDaGVjayBpbml0aWFsIG9yaWVudEFuZ2xlIHZhbHVlIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUudG9TdHJpbmcoKSIsICJbb2JqZWN0
IFNWR0FuaW1hdGVkQW5nbGVdIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm1hcmtlckVsZW1l
bnQub3JpZW50QW5nbGUuYmFzZVZhbC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHQW5nbGVdIik7
CitzaG91bGRCZSgibWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIiwgIjAi
KTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRoYXQgYW5nbGVzIGFyZSBkeW5hbWljLCBj
YWNoaW5nIHZhbHVlIGluIGEgbG9jYWwgdmFyaWFibGUgYW5kIG1vZGlmeWluZyBpdCwgc2hvdWxk
IHRha2UgZWZmZWN0Iik7Cit2YXIgbnVtUmVmID0gbWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5i
YXNlVmFsOworbnVtUmVmLnZhbHVlID0gMTAwOworc2hvdWxkQmUoIm51bVJlZi52YWx1ZSIsICIx
MDAiKTsKK3Nob3VsZEJlKCJtYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUi
LCAiMTAwIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBhc3NpZ25pbmcgdG8gYmFzZVZh
bCBoYXMgbm8gZWZmZWN0LCBhcyBubyBzZXR0ZXIgaXMgZGVmaW5lZCIpOworc2hvdWxkQmUoIm1h
cmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbCA9IC0xIiwgIi0xIik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbCA9ICdhU3RyaW5n
JyIsICJhU3RyaW5nIik7CitzaG91bGRCZSgibWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNl
VmFsID0gbWFya2VyRWxlbWVudCIsICJtYXJrZXJFbGVtZW50Iik7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCJDaGVjayB0aGF0IHRoZSBvcmllbnRBbmdsZSB2YWx1ZSByZW1haW5lZCAxMDAsIGFuZCB0
aGUgYmFzZVZhbCB0eXBlIGhhcyBub3QgYmVlbiBjaGFuZ2VkIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIm1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbC50b1N0cmluZygpIiwgIltv
YmplY3QgU1ZHQW5nbGVdIik7CitzaG91bGRCZSgibWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5i
YXNlVmFsLnZhbHVlIiwgIjEwMCIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRCb29sZWFuLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1h
dGVkQm9vbGVhbi5qcwkocmV2aXNpb24gNzA5NzcpCShmcm9tIExheW91dFRlc3RzL3N2Zy9kb20v
c2NyaXB0LXRlc3RzL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuanM6NzA5NzcpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZEJvb2xlYW4uanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVj
a3MgdGhlIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgQVBJIik7CisKK3ZhciByZWN0RWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciLCAicmVjdCIpOworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGluaXRpYWwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCB2YWx1ZSIpOworc2hvdWxkQmUoInJlY3RFbGVtZW50LmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCIsICJmYWxzZSIpOworCitkZWJ1ZygiIik7Citk
ZWJ1ZygiU2V0IHZhbHVlIHRvIHRydWUiKTsKK3Nob3VsZEJlKCJyZWN0RWxlbWVudC5leHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwgPSB0cnVlIiwgInRydWUiKTsKKworZGVidWcoIiIp
OworZGVidWcoIkNhY2hpbmcgYmFzZVZhbCBpbiBsb2NhbCB2YXJpYWJsZSIpOwordmFyIGJhc2VW
YWwgPSByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWw7CitzaG91
bGRCZSgiYmFzZVZhbCIsICJ0cnVlIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJNb2RpZnkgbG9j
YWwgYmFzZVZhbCB2YXJpYWJsZSB0byB0cnVlIik7CitzaG91bGRCZUZhbHNlKCJiYXNlVmFsID0g
ZmFsc2UiKTsKKworZGVidWcoIiIpOworZGVidWcoIkFzc3VyZSB0aGF0IHJlY3RFbGVtZW50LmV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgaGFzIG5vdCBiZWVuIGNoYW5nZWQsIGJ1dCB0aGUgbG9j
YWwgYmFzZVZhbCB2YXJpYWJsZSIpOworc2hvdWxkQmUoImJhc2VWYWwiLCAiZmFsc2UiKTsKK3No
b3VsZEJlKCJyZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwiLCAi
dHJ1ZSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgYXNzaWduaW5nIGludmFsaWQgdmFs
dWVzIik7CitzaG91bGRUaHJvdygicmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCIpOworc2hv
dWxkQmVOdWxsKCJyZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwg
PSBudWxsIik7CitzaG91bGRUaHJvdygicmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZC5iYXNlVmFsID0gJ2FTdHJpbmcnIik7CitzaG91bGRUaHJvdygicmVjdEVsZW1lbnQuZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gcmVjdEVsZW1lbnQiKTsKKworZGVidWco
IiIpOworZGVidWcoIkNoZWNrIHRoYXQgdGhlIHZhbHVlIGlzIG5vdyBmYWxzZSIpOworc2hvdWxk
QmUoInJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCIsICJmYWxz
ZSIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRCb29sZWFuLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkQm9vbGVhbi5qcwkocmV2
aXNpb24gNzA5NzcpCisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmlt
YXRlZEJvb2xlYW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1kZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCBBUEki
KTsKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRlZEJvb2xlYW4g
QVBJIC0gdXRpbGl6aW5nIHRoZSBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHByb3BlcnR5IG9m
IFNWR1JlY3RFbGVtZW50Iik7CiAKIHZhciByZWN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAicmVjdCIpOwogZGVidWcoIiIp
OwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0
cy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5qcwkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzMCBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhlIFNW
R0FuaW1hdGVkRW51bWVyYXRpb24gQVBJIC0gdXRpbGl6aW5nIHRoZSBjbGlwUGF0aFVuaXRzIHBy
b3BlcnR5IG9mIFNWR0NsaXBQYXRoRWxlbWVudCIpOworCit2YXIgY2xpcFBhdGhFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJj
bGlwUGF0aCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgaW5pdGlhbCBjbGlwUGF0aFVu
aXRzIHZhbHVlIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNsaXBQYXRoRWxlbWVudC5jbGlw
UGF0aFVuaXRzLnRvU3RyaW5nKCkiLCAiW29iamVjdCBTVkdBbmltYXRlZEVudW1lcmF0aW9uXSIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YoY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRo
VW5pdHMuYmFzZVZhbCkiLCAibnVtYmVyIik7CitzaG91bGRCZSgiY2xpcFBhdGhFbGVtZW50LmNs
aXBQYXRoVW5pdHMuYmFzZVZhbCIsICJTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BB
Q0VPTlVTRSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCBlbnVtZXJhdGlvbnMg
YXJlIHN0YXRpYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBtb2RpZnlp
bmcgaXQsIHNob3VsZCBoYXZlIG5vIGVmZmVjdCIpOwordmFyIGVudW1SZWYgPSBjbGlwUGF0aEVs
ZW1lbnQuY2xpcFBhdGhVbml0cy5iYXNlVmFsOworZW51bVJlZiA9IFNWR1VuaXRUeXBlcy5TVkdf
VU5JVF9UWVBFX1VOS05PV047CitzaG91bGRCZSgiZW51bVJlZiIsICJTVkdVbml0VHlwZXMuU1ZH
X1VOSVRfVFlQRV9VTktOT1dOIik7CitzaG91bGRCZSgiY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRo
VW5pdHMuYmFzZVZhbCIsICJTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVT
RSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgYXNzaWduaW5nIHZhcmlvdXMgdmFsaWQg
YW5kIGludmFsaWQgdmFsdWVzIik7CitzaG91bGRUaHJvdygiY2xpcFBhdGhFbGVtZW50LmNsaXBQ
YXRoVW5pdHMuYmFzZVZhbCA9IDMiKTsgLy8gRklYTUU6IERvZXNuJ3QgdGhyb3cgaW4gV2ViS2l0
LCB3ZSdyZSBub3QgY2xhbXBpbmcgdG8gdGhlIGFsbG93ZWQgcmFuZ2UuCitzaG91bGRCZSgiY2xp
cFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCA9IDIiLCAiU1ZHVW5pdFR5cGVzLlNW
R19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1giKTsKK3Nob3VsZFRocm93KCJjbGlwUGF0aEVs
ZW1lbnQuY2xpcFBhdGhVbml0cy5iYXNlVmFsID0gLTEiKTsgLy8gRklYTUU6IERvZXNuJ3QgdGhy
b3cgaW4gV2ViS2l0LCB3ZSdyZSBub3QgY2xhbXBpbmcgdG8gdGhlIGFsbG93ZWQgcmFuZ2UuCitz
aG91bGRUaHJvdygiY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCA9ICdhU3Ry
aW5nJyIpOworc2hvdWxkVGhyb3coImNsaXBQYXRoRWxlbWVudC5jbGlwUGF0aFVuaXRzLmJhc2VW
YWwgPSBjbGlwUGF0aEVsZW1lbnQiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRoYXQg
dGhlIGNsaXBQYXRoVW5pdHMgdmFsdWUgcmVtYWluZWQgb2JqZWN0QkJveCIpOworc2hvdWxkQmUo
ImNsaXBQYXRoRWxlbWVudC5jbGlwUGF0aFVuaXRzLmJhc2VWYWwgPSAyIiwgIlNWR1VuaXRUeXBl
cy5TVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YIik7CisKK3N1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmlt
YXRlZEludGVnZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQt
dGVzdHMvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmpzCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDI5IEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5p
bWF0ZWRJbnRlZ2VyIEFQSSAtIHV0aWxpemluZyB0aGUgZmlsdGVyUmVzWCBwcm9wZXJ0eSBvZiBT
VkdGaWx0ZXJFbGVtZW50Iik7CisKK3ZhciBmaWx0ZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJmaWx0ZXIiKTsKKworZGVi
dWcoIiIpOworZGVidWcoIkNoZWNrIGluaXRpYWwgZmlsdGVyUmVzWCB2YWx1ZSIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1gudG9TdHJpbmcoKSIsICJb
b2JqZWN0IFNWR0FuaW1hdGVkSW50ZWdlcl0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygidHlw
ZW9mKGZpbHRlckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsKSIsICJudW1iZXIiKTsKK3Nob3Vs
ZEJlKCJmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCIsICIwIik7CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJDaGVjayB0aGF0IGludGVnZXJzIGFyZSBzdGF0aWMsIGNhY2hpbmcgdmFsdWUg
aW4gYSBsb2NhbCB2YXJpYWJsZSBhbmQgbW9kaWZ5aW5nIGl0LCBzaG91bGQgaGF2ZSBubyBlZmZl
Y3QiKTsKK3ZhciBudW1SZWYgPSBmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbDsKK251
bVJlZiA9IDEwMDsKK3Nob3VsZEJlKCJudW1SZWYiLCAiMTAwIik7CitzaG91bGRCZSgiZmlsdGVy
RWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwiLCAiMCIpOworCitkZWJ1ZygiIik7CitkZWJ1Zygi
Q2hlY2sgYXNzaWduaW5nIHZhcmlvdXMgdmFsaWQgYW5kIGludmFsaWQgdmFsdWVzIik7CitzaG91
bGRCZSgiZmlsdGVyRWxlbWVudC5maWx0ZXJSZXNYLmJhc2VWYWwgPSAtMSIsICItMSIpOyAvLyBO
ZWdhdGl2ZSB2YWx1ZXMgYXJlIGFsbG93ZWQgZnJvbSBTVkcgRE9NLCBidXQgc2hvdWxkIGxlYWQg
dG8gYW4gZXJyb3Igd2hlbiByZW5kZXJpbmcgKGRpc2FibGUgdGhlIGZpbHRlcikKK3Nob3VsZEJl
KCJmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCA9IDMwMCIsICIzMDAiKTsKK3Nob3Vs
ZFRocm93KCJmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1guYmFzZVZhbCA9ICdhU3RyaW5nJyIpOwor
c2hvdWxkVGhyb3coImZpbHRlckVsZW1lbnQuZmlsdGVyUmVzWC5iYXNlVmFsID0gZmlsdGVyRWxl
bWVudCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCB0aGUgZmlsdGVyUmVzWCB2
YWx1ZSByZW1haW5lZCAzMDAiKTsKK3Nob3VsZEJlKCJmaWx0ZXJFbGVtZW50LmZpbHRlclJlc1gu
YmFzZVZhbCA9IDMwMCIsICIzMDAiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1hdGVkTGVuZ3RoLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0FuaW1h
dGVkTGVuZ3RoLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQt
dGVzdHMvU1ZHQW5pbWF0ZWRMZW5ndGguanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjkgQEAK
K2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdBbmltYXRlZExlbmd0aCBBUEkg
LSB1dGlsaXppbmcgdGhlIHdpZHRoIHByb3BlcnR5IG9mIFNWR1JlY3RFbGVtZW50Iik7CisKK3Zh
ciByZWN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciLCAicmVjdCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgaW5pdGlh
bCB3aWR0aCB2YWx1ZSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWN0RWxlbWVudC53aWR0
aC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHQW5pbWF0ZWRMZW5ndGhdIik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInJlY3RFbGVtZW50LndpZHRoLmJhc2VWYWwudG9TdHJpbmcoKSIsICJbb2Jq
ZWN0IFNWR0xlbmd0aF0iKTsKK3Nob3VsZEJlKCJyZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsLnZh
bHVlIiwgIjAiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRoYXQgbGVuZ3RocyBhcmUg
ZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBtb2RpZnlpbmcg
aXQsIHNob3VsZCB0YWtlIGVmZmVjdCIpOwordmFyIG51bVJlZiA9IHJlY3RFbGVtZW50LndpZHRo
LmJhc2VWYWw7CitudW1SZWYudmFsdWUgPSAxMDA7CitzaG91bGRCZSgibnVtUmVmLnZhbHVlIiwg
IjEwMCIpOworc2hvdWxkQmUoInJlY3RFbGVtZW50LndpZHRoLmJhc2VWYWwudmFsdWUiLCAiMTAw
Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBhc3NpZ25pbmcgdG8gYmFzZVZhbCBoYXMg
bm8gZWZmZWN0LCBhcyBubyBzZXR0ZXIgaXMgZGVmaW5lZCIpOworc2hvdWxkQmUoInJlY3RFbGVt
ZW50LndpZHRoLmJhc2VWYWwgPSAtMSIsICItMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJy
ZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsID0gJ2FTdHJpbmcnIiwgImFTdHJpbmciKTsKK3Nob3Vs
ZEJlKCJyZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsID0gcmVjdEVsZW1lbnQiLCAicmVjdEVsZW1l
bnQiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIHRoYXQgdGhlIHdpZHRoIHZhbHVlIHJl
bWFpbmVkIDEwMCwgYW5kIHRoZSBiYXNlVmFsIHR5cGUgaGFzIG5vdCBiZWVuIGNoYW5nZWQiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygicmVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC50b1N0cmlu
ZygpIiwgIltvYmplY3QgU1ZHTGVuZ3RoXSIpOworc2hvdWxkQmUoInJlY3RFbGVtZW50LndpZHRo
LmJhc2VWYWwudmFsdWUiLCAiMTAwIik7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZExlbmd0aExp
c3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZH
QW5pbWF0ZWRMZW5ndGhMaXN0LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmpzCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMwIEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHQW5pbWF0
ZWRMZW5ndGhMaXN0IEFQSSAtIHV0aWxpemluZyB0aGUgZHggcHJvcGVydHkgb2YgU1ZHVGV4dEVs
ZW1lbnQiKTsKKwordmFyIHRleHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJ0ZXh0Iik7Cit0ZXh0RWxlbWVudC5zZXRBdHRy
aWJ1dGUoImR4IiwgIjUwIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBpbml0aWFsIGR4
IHZhbHVlIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRleHRFbGVtZW50LmR4LnRvU3RyaW5n
KCkiLCAiW29iamVjdCBTVkdBbmltYXRlZExlbmd0aExpc3RdIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInRleHRFbGVtZW50LmR4LmJhc2VWYWwudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR0xl
bmd0aExpc3RdIik7CitzaG91bGRCZSgidGV4dEVsZW1lbnQuZHguYmFzZVZhbC5nZXRJdGVtKDAp
LnZhbHVlIiwgIjUwIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayB0aGF0IGxlbmd0aCBs
aXN0cyBhcmUgZHluYW1pYywgY2FjaGluZyB2YWx1ZSBpbiBhIGxvY2FsIHZhcmlhYmxlIGFuZCBt
b2RpZnlpbmcgaXQsIHNob3VsZCB0YWtlIGVmZmVjdCIpOwordmFyIG51bVJlZiA9IHRleHRFbGVt
ZW50LmR4LmJhc2VWYWw7CitudW1SZWYuZ2V0SXRlbSgwKS52YWx1ZSA9IDEwMDsKK3Nob3VsZEJl
KCJudW1SZWYuZ2V0SXRlbSgwKS52YWx1ZSIsICIxMDAiKTsKK3Nob3VsZEJlKCJ0ZXh0RWxlbWVu
dC5keC5iYXNlVmFsLmdldEl0ZW0oMCkudmFsdWUiLCAiMTAwIik7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCJDaGVjayBhc3NpZ25pbmcgdG8gYmFzZVZhbCBoYXMgbm8gZWZmZWN0LCBhcyBubyBzZXR0
ZXIgaXMgZGVmaW5lZCIpOworc2hvdWxkQmUoInRleHRFbGVtZW50LmR4LmJhc2VWYWwgPSAtMSIs
ICItMSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0RWxlbWVudC5keC5iYXNlVmFsID0g
J2FTdHJpbmcnIiwgImFTdHJpbmciKTsKK3Nob3VsZEJlKCJ0ZXh0RWxlbWVudC5keC5iYXNlVmFs
ID0gdGV4dEVsZW1lbnQiLCAidGV4dEVsZW1lbnQiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNo
ZWNrIHRoYXQgdGhlIGR4IHZhbHVlIHJlbWFpbmVkIDEwMCwgYW5kIHRoZSBiYXNlVmFsIHR5cGUg
aGFzIG5vdCBiZWVuIGNoYW5nZWQiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dEVsZW1l
bnQuZHguYmFzZVZhbC50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHTGVuZ3RoTGlzdF0iKTsKK3No
b3VsZEJlKCJ0ZXh0RWxlbWVudC5keC5iYXNlVmFsLmdldEl0ZW0oMCkudmFsdWUiLCAiMTAwIik7
CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9t
L3NjcmlwdC10ZXN0cy9TVkdBbmltYXRlZFJlY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRSZWN0LmpzCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZHQW5pbWF0ZWRSZWN0LmpzCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI5IEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNr
cyB0aGUgU1ZHQW5pbWF0ZWRSZWN0IEFQSSAtIHV0aWxpemluZyB0aGUgdmlld0JveCBwcm9wZXJ0
eSBvZiBTVkdTVkdFbGVtZW50Iik7CisKK3ZhciBzdmdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJzdmciKTsKKworZGVidWco
IiIpOworZGVidWcoIkNoZWNrIGluaXRpYWwgdmlld0JveCB2YWx1ZSIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJzdmdFbGVtZW50LnZpZXdCb3gudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR0Fu
aW1hdGVkUmVjdF0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic3ZnRWxlbWVudC52aWV3Qm94
LmJhc2VWYWwudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR1JlY3RdIik7CitzaG91bGRCZSgic3Zn
RWxlbWVudC52aWV3Qm94LmJhc2VWYWwueCIsICIwIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJD
aGVjayB0aGF0IHJlY3RzIGFyZSBkeW5hbWljLCBjYWNoaW5nIHZhbHVlIGluIGEgbG9jYWwgdmFy
aWFibGUgYW5kIG1vZGlmeWluZyBpdCwgc2hvdWxkIHRha2UgZWZmZWN0Iik7Cit2YXIgbnVtUmVm
ID0gc3ZnRWxlbWVudC52aWV3Qm94LmJhc2VWYWw7CitudW1SZWYueCA9IDEwMDsKK3Nob3VsZEJl
KCJudW1SZWYueCIsICIxMDAiKTsKK3Nob3VsZEJlKCJzdmdFbGVtZW50LnZpZXdCb3guYmFzZVZh
bC54IiwgIjEwMCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgYXNzaWduaW5nIHRvIGJh
c2VWYWwgaGFzIG5vIGVmZmVjdCwgYXMgbm8gc2V0dGVyIGlzIGRlZmluZWQiKTsKK3Nob3VsZEJl
KCJzdmdFbGVtZW50LnZpZXdCb3guYmFzZVZhbCA9IC0xIiwgIi0xIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInN2Z0VsZW1lbnQudmlld0JveC5iYXNlVmFsID0gJ2FTdHJpbmcnIiwgImFTdHJp
bmciKTsKK3Nob3VsZEJlKCJzdmdFbGVtZW50LnZpZXdCb3guYmFzZVZhbCA9IHN2Z0VsZW1lbnQi
LCAic3ZnRWxlbWVudCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ2hlY2sgdGhhdCB0aGUgdmll
d0JveCB4IHJlbWFpbmVkIDEwMCwgYW5kIHRoZSBiYXNlVmFsIHR5cGUgaGFzIG5vdCBiZWVuIGNo
YW5nZWQiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygic3ZnRWxlbWVudC52aWV3Qm94LmJhc2VW
YWwudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR1JlY3RdIik7CitzaG91bGRCZSgic3ZnRWxlbWVu
dC52aWV3Qm94LmJhc2VWYWwueCIsICIxMDAiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3Jp
cHQtdGVzdHMvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5qcwkocmV2aXNpb24gNzA5ODkp
CisrKyBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLWRlc2NyaXB0aW9u
KCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIEFQSSIp
OwotCi12YXIgcmVjdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiwgInJlY3QiKTsKLWRlYnVnKCIiKTsKLWRlYnVnKCJDaGVjayBp
bml0aWFsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgdmFsdWUiKTsKLXNob3VsZEJlKCJy
ZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmJhc2VWYWwiLCAiZmFsc2UiKTsK
LQotZGVidWcoIiIpOwotZGVidWcoIlNldCB2YWx1ZSB0byB0cnVlIik7Ci1zaG91bGRCZSgicmVj
dEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5iYXNlVmFsID0gdHJ1ZSIsICJ0cnVl
Iik7Ci0KLWRlYnVnKCIiKTsKLWRlYnVnKCJDYWNoaW5nIGJhc2VWYWwgaW4gbG9jYWwgdmFyaWFi
bGUiKTsKLXZhciBiYXNlVmFsID0gcmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5iYXNlVmFsOwotc2hvdWxkQmUoImJhc2VWYWwiLCAidHJ1ZSIpOwotCi1kZWJ1ZygiIik7Ci1k
ZWJ1ZygiTW9kaWZ5IGxvY2FsIGJhc2VWYWwgdmFyaWFibGUgdG8gdHJ1ZSIpOwotc2hvdWxkQmVG
YWxzZSgiYmFzZVZhbCA9IGZhbHNlIik7Ci0KLWRlYnVnKCIiKTsKLWRlYnVnKCJBc3N1cmUgdGhh
dCByZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIGhhcyBub3QgYmVlbiBjaGFu
Z2VkLCBidXQgdGhlIGxvY2FsIGJhc2VWYWwgdmFyaWFibGUiKTsKLXNob3VsZEJlKCJiYXNlVmFs
IiwgImZhbHNlIik7Ci1zaG91bGRCZSgicmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZC5iYXNlVmFsIiwgInRydWUiKTsKLQotZGVidWcoIiIpOwotZGVidWcoIkNoZWNrIGFzc2ln
bmluZyBpbnZhbGlkIHZhbHVlcyIpOwotc2hvdWxkVGhyb3coInJlY3RFbGVtZW50LmV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IHJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQiKTsKLXNob3VsZEJlTnVsbCgicmVjdEVsZW1lbnQuZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZC5iYXNlVmFsID0gbnVsbCIpOwotc2hvdWxkVGhyb3coInJlY3RFbGVtZW50LmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9ICdhU3RyaW5nJyIpOwotc2hvdWxkVGhyb3co
InJlY3RFbGVtZW50LmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuYmFzZVZhbCA9IHJlY3RFbGVt
ZW50Iik7Ci0KLWRlYnVnKCIiKTsKLWRlYnVnKCJDaGVjayB0aGF0IHRoZSB2YWx1ZSBpcyBub3cg
ZmFsc2UiKTsKLXNob3VsZEJlKCJyZWN0RWxlbWVudC5leHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmJhc2VWYWwiLCAiZmFsc2UiKTsKLQotc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6
IExheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC13aXRoLWNvbnRl
eHQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZH
TGVuZ3RoLXB4LXdpdGgtY29udGV4dC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2
Zy9kb20vc2NyaXB0LXRlc3RzL1NWR0xlbmd0aC1weC13aXRoLWNvbnRleHQuanMJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTcwIEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyBTVkdM
ZW5ndGggLSBjb252ZXJ0aW5nIGZyb20gcHggdG8gYWxsIG90aGVyIHVuaXQgdHlwZXMiKTsKKwor
ZnVuY3Rpb24gY2FsY3VsYXRlRFBJKCkKK3sKKyAgICAvLyBDcnVkZSBoYWNrIHRvIGRldGVybWlu
ZSB0aGUgRFBJLCBpbnN0ZWFkIG9mIGhhcmRjb2Rpbmcgb3VyIDk2IGRwaSBoZXJlLgorICAgIHZh
ciBkaXZFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZGl2RWxl
bWVudC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgImhlaWdodDogMWluIik7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuYXBwZW5kQ2hpbGQoZGl2RWxlbWVudCk7Cisg
ICAgdmFyIGNzc1BpeGVsc1BlckluY2ggPSBkaXZFbGVtZW50Lm9mZnNldEhlaWdodDsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5yZW1vdmVDaGlsZChkaXZFbGVt
ZW50KTsKKworICAgIC8vIENydWRlIGhhY2sgdG8gbWFrZSB0aGlzIHRlc3QgcGFzcyB3aXRoIE9w
ZXJhL01hYworICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk9wZXJhIikgIT0g
LTEpIHsKKyAgICAgICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTWFjaW50b3No
IikgIT0gLTEpIHsgICAgCisgICAgICAgICAgICBjc3NQaXhlbHNQZXJJbmNoID0gNzI7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gY3NzUGl4ZWxzUGVySW5jaDsKK30KKworZnVuY3Rp
b24gY2FsY3VsYXRlWEhlaWdodCgpCit7CisgICAgLy8gQ3J1ZGUgaGFjayB0byBjYWxjdWxhdGUg
dGhlIHgtaGVpZ2h0CisgICAgdmFyIGRpdkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICBkaXZFbGVtZW50LnNldEF0dHJpYnV0ZSgic3R5bGUiLCAiaGVpZ2h0OiAx
ZXg7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEFoZW07Iik7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuYXBwZW5kQ2hpbGQoZGl2RWxlbWVudCk7Cisg
ICAgdmFyIHhIZWlnaHQgPSBkaXZFbGVtZW50Lm9mZnNldEhlaWdodDsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKS5yZW1vdmVDaGlsZChkaXZFbGVtZW50KTsKKyAg
ICByZXR1cm4geEhlaWdodDsKK30KKworLy8gU2V0dXAgYSByZWFsIFNWRyBkb2N1bWVudCwgc28g
U1ZHTGVuZ3RoIGNhbiByZXNvbHZlIHJlbGF0aXZlIHVuaXRzLgordmFyIHN2Z0VsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInN2
ZyIpOworc3ZnRWxlbWVudC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjE1MCIpOworc3ZnRWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICI1MCIpOworCit2YXIgcmVjdEVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInJlY3Qi
KTsKK3JlY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgic3R5bGUiLCAidmlzaWJpbGl0eTogaGlkZGVu
OyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBBaGVtOyIpOworc3ZnRWxlbWVudC5hcHBl
bmRDaGlsZChyZWN0RWxlbWVudCk7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRp
b24iKS5hcHBlbmRDaGlsZChzdmdFbGVtZW50KTsKKworLy8gRXh0cmFjdCB0ZXN0IGluZm9ybWF0
aW9uCit2YXIgbGVuZ3RoID0gcmVjdEVsZW1lbnQueC5iYXNlVmFsOwordmFyIHN2Z1dpZHRoID0g
c3ZnRWxlbWVudC53aWR0aC5iYXNlVmFsLnZhbHVlOwordmFyIHN2Z0hlaWdodCA9IHN2Z0VsZW1l
bnQuaGVpZ2h0LmJhc2VWYWwudmFsdWU7Cit2YXIgZm9udFNpemUgPSBwYXJzZUludChyZWN0RWxl
bWVudC5zdHlsZS5mb250U2l6ZSk7Cit2YXIgY3NzUGl4ZWxzUGVySW5jaCA9IGNhbGN1bGF0ZURQ
SSgpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiU2V0IHZhbHVlIHRvIGJlIDJweCIpOworbGVuZ3Ro
LnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZH
TGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlIiwgIjIi
KTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzIiwgIjIiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCAiMnB4Iik7CisKK2RlYnVn
KCIiKTsKK2RlYnVnKCJDb252ZXJ0IGZyb20gcHggdG8gdW5pdGxlc3MiKTsKK3Nob3VsZEJlVW5k
ZWZpbmVkKCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5H
VEhUWVBFX05VTUJFUikiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNT
dHJpbmciLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZSIsICIyIik7CitzaG91bGRCZSgi
bGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnVu
aXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9OVU1CRVIiKTsKKworZGVidWcoIiIp
OworZGVidWcoIlJlc2V0IHRvIDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsK
KworZGVidWcoIiIpOworZGVidWcoIkNvbnZlcnQgZnJvbSBweCB0byBwZXJjZW50YWdlIik7Citz
aG91bGRCZVVuZGVmaW5lZCgibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0
aC5TVkdfTEVOR1RIVFlQRV9QRVJDRU5UQUdFKSIpOworcmVmZXJlbmNlVmFsdWUgPSBOdW1iZXIo
MiAvIHN2Z1dpZHRoICogMTAwKS50b0ZpeGVkKDUpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJs
ZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsgIiUiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDUpIiwgcmVm
ZXJlbmNlVmFsdWUpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWUudG9GaXhl
ZCgxKSIsICIyLjAiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3RoLlNW
R19MRU5HVEhUWVBFX1BFUkNFTlRBR0UiKTsKKworZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRv
IDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIpOworZGVi
dWcoIkNvbnZlcnQgZnJvbSBweCB0byBlbXMiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJsZW5ndGgu
Y29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0VNUykiKTsK
K3JlZmVyZW5jZVZhbHVlID0gTnVtYmVyKDIgLyBmb250U2l6ZSkudG9GaXhlZCg2KTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCByZWZlcmVuY2VWYWx1ZSAr
ICJlbSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVu
aXRzLnRvRml4ZWQoNikiLCByZWZlcmVuY2VWYWx1ZSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
Imxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIiwgIjIuMCIpOworc2hvdWxkQmUoImxlbmd0aC51bml0
VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfRU1TIik7CisKK2RlYnVnKCIiKTsKK2Rl
YnVnKCJSZXNldCB0byAycHgiKTsKK2xlbmd0aC52YWx1ZUFzU3RyaW5nID0gIjJweCI7CisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJDb252ZXJ0IGZyb20gcHggdG8gZXhzIik7CitzaG91bGRCZVVuZGVm
aW5lZCgibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RI
VFlQRV9FWFMpIik7CityZWZlcmVuY2VWYWx1ZSA9IE51bWJlcigyIC8gY2FsY3VsYXRlWEhlaWdo
dCgpKS50b0ZpeGVkKDEpOworLy8gRG9uJ3QgY2hlY2sgdmFsdWVBc1N0cmluZyBoZXJlLCBpdCdz
IHVucmVsaWFibGUgYWNyb3NzIGJyb3dzZXJzLgorc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5n
dGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoMSkiLCByZWZlcmVuY2VWYWx1ZSk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIiwgIjIuMCIpOwor
c2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfRVhT
Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJSZXNldCB0byAycHgiKTsKK2xlbmd0aC52YWx1ZUFz
U3RyaW5nID0gIjJweCI7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDb252ZXJ0IGZyb20gcHggdG8g
Y20iKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMo
U1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0NNKSIpOworcmVmZXJlbmNlVmFsdWUgPSBOdW1iZXIo
MiAqIDIuNTQgLyBjc3NQaXhlbHNQZXJJbmNoKS50b0ZpeGVkKDcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5jZVZhbHVlICsgImNtIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMudG9GaXhl
ZCg3KSIsIHJlZmVyZW5jZVZhbHVlKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZh
bHVlLnRvRml4ZWQoMSkiLCAiMi4wIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNW
R0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9DTSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQg
dG8gMnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7Citk
ZWJ1ZygiQ29udmVydCBmcm9tIHB4IHRvIG1tIik7CitzaG91bGRCZVVuZGVmaW5lZCgibGVuZ3Ro
LmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9NTSkiKTsK
K3JlZmVyZW5jZVZhbHVlID0gTnVtYmVyKDIgKiAyNS40IC8gY3NzUGl4ZWxzUGVySW5jaCkudG9G
aXhlZCg2KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCBy
ZWZlcmVuY2VWYWx1ZSArICJtbSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFs
dWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNikiLCByZWZlcmVuY2VWYWx1ZSk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZS50b0ZpeGVkKDEpIiwgIjIuMCIpOworc2hvdWxk
QmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfTU0iKTsKKwor
ZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRvIDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcg
PSAiMnB4IjsKKworZGVidWcoIiIpOworZGVidWcoIkNvbnZlcnQgZnJvbSBweCB0byBpbiIpOwor
c2hvdWxkQmVVbmRlZmluZWQoImxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5n
dGguU1ZHX0xFTkdUSFRZUEVfSU4pIik7CityZWZlcmVuY2VWYWx1ZSA9IE51bWJlcigyIC8gY3Nz
UGl4ZWxzUGVySW5jaCkudG9GaXhlZCg3KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3Ro
LnZhbHVlQXNTdHJpbmciLCByZWZlcmVuY2VWYWx1ZSArICJpbiIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNykiLCByZWZlcmVu
Y2VWYWx1ZSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZS50b0ZpeGVkKDEp
IiwgIjIuMCIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xF
TkdUSFRZUEVfSU4iKTsKKworZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRvIDJweCIpOworbGVu
Z3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIpOworZGVidWcoIkNvbnZlcnQg
ZnJvbSBweCB0byBwdCIpOworc2hvdWxkQmVVbmRlZmluZWQoImxlbmd0aC5jb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFQpIik7CityZWZlcmVuY2VWYWx1
ZSA9IE51bWJlcigyIC8gY3NzUGl4ZWxzUGVySW5jaCAqIDcyKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCByZWZlcmVuY2VWYWx1ZSArICJwdCIpOworc2hv
dWxkQmUoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMiLCByZWZlcmVuY2VWYWx1ZS50b1N0
cmluZygpKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSki
LCAiMi4wIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVO
R1RIVFlQRV9QVCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5n
dGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ29udmVydCBm
cm9tIHB4IHRvIHBjIik7CitzaG91bGRCZVVuZGVmaW5lZCgibGVuZ3RoLmNvbnZlcnRUb1NwZWNp
ZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QQykiKTsKK3JlZmVyZW5jZVZhbHVl
ID0gTnVtYmVyKDIgLyBjc3NQaXhlbHNQZXJJbmNoICogNikudG9GaXhlZCgzKTsKKy8vIERvbid0
IGNoZWNrIHZhbHVlQXNTdHJpbmcgaGVyZSwgaXQncyB1bnJlbGlhYmxlIGFjcm9zcyBicm93c2Vy
cy4KK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cy50
b0ZpeGVkKDMpIiwgcmVmZXJlbmNlVmFsdWUpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5n
dGgudmFsdWUudG9GaXhlZCgxKSIsICIyLjAiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUi
LCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BDIik7CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3NjcmlwdC10ZXN0cy9TVkdMZW5ndGgt
cHguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvU1ZH
TGVuZ3RoLXB4LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2RvbS9zY3JpcHQt
dGVzdHMvU1ZHTGVuZ3RoLXB4LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0NCBAQAorZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgU1ZHTGVuZ3RoIC0gY29udmVydGluZyBmcm9tIHB4
IHRvIGFsbCBvdGhlciB1bml0IHR5cGVzIik7CisKK2Z1bmN0aW9uIGNhbGN1bGF0ZURQSSgpCit7
CisgICAgLy8gQ3J1ZGUgaGFjayB0byBkZXRlcm1pbmUgdGhlIERQSSwgaW5zdGVhZCBvZiBoYXJk
Y29kaW5nIG91ciA5NiBkcGkgaGVyZS4KKyAgICB2YXIgZGl2RWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRpdkVsZW1lbnQuc2V0QXR0cmlidXRlKCJzdHlsZSIs
ICJoZWlnaHQ6IDFpbiIpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlv
biIpLmFwcGVuZENoaWxkKGRpdkVsZW1lbnQpOworICAgIHZhciBjc3NQaXhlbHNQZXJJbmNoID0g
ZGl2RWxlbWVudC5vZmZzZXRIZWlnaHQ7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRl
c2NyaXB0aW9uIikucmVtb3ZlQ2hpbGQoZGl2RWxlbWVudCk7CisKKyAgICAvLyBDcnVkZSBoYWNr
IHRvIG1ha2UgdGhpcyB0ZXN0IHBhc3Mgd2l0aCBPcGVyYS9NYWMKKyAgICBpZiAobmF2aWdhdG9y
LnVzZXJBZ2VudC5pbmRleE9mKCJPcGVyYSIpICE9IC0xKSB7CisgICAgICAgIGlmIChuYXZpZ2F0
b3IudXNlckFnZW50LmluZGV4T2YoIk1hY2ludG9zaCIpICE9IC0xKSB7ICAgIAorICAgICAgICAg
ICAgY3NzUGl4ZWxzUGVySW5jaCA9IDcyOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJu
IGNzc1BpeGVsc1BlckluY2g7Cit9CisKK3ZhciBjc3NQaXhlbHNQZXJJbmNoID0gY2FsY3VsYXRl
RFBJKCk7CisKK3ZhciBzdmdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJzdmciKTsKK3ZhciBsZW5ndGggPSBzdmdFbGVtZW50
LmNyZWF0ZVNWR0xlbmd0aCgpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiU2V0IHZhbHVlIHRvIGJl
IDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKK3Nob3VsZEJlKCJsZW5ndGgu
dW5pdFR5cGUiLCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYIik7CitzaG91bGRCZSgibGVu
Z3RoLnZhbHVlIiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRz
IiwgIjIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCAi
MnB4Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDb252ZXJ0IGZyb20gcHggdG8gdW5pdGxlc3Mi
KTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZH
TGVuZ3RoLlNWR19MRU5HVEhUWVBFX05VTUJFUikiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
bGVuZ3RoLnZhbHVlQXNTdHJpbmciLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZSIsICIy
Iik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlSW5TcGVjaWZpZWRVbml0cyIsICIyIik7CitzaG91
bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9OVU1CRVIi
KTsKKworZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRvIDJweCIpOworbGVuZ3RoLnZhbHVlQXNT
dHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIpOworZGVidWcoIlRyeSBjb252ZXJ0aW5nIGZyb20g
cHggdG8gcGVyY2VudGFnZSwgc2hvdWxkIGZhaWwgYXMgdGhlIFNWR0xlbmd0aCBpcyBub3QgYXNz
b2NpYXRlZCB3aXRoIGEgU1ZHU1ZHRWxlbWVudCwgYW5kIHRodXMgbm8gdmlld3BvcnQgaW5mb3Jt
YXRpb24gaXMgYXZhaWxhYmxlIik7CitzaG91bGRUaHJvdygibGVuZ3RoLmNvbnZlcnRUb1NwZWNp
ZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QRVJDRU5UQUdFKSIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsICIycHgiKTsKK3Nob3VsZEJl
KCJsZW5ndGgudmFsdWUiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVk
VW5pdHMiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZH
X0xFTkdUSFRZUEVfUFgiKTsKKworZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRvIDJweCIpOwor
bGVuZ3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIpOworZGVidWcoIlRyeSBj
b252ZXJ0aW5nIGZyb20gcHggdG8gZW1zLCBzaG91bGQgZmFpbCBhcyB0aGUgU1ZHTGVuZ3RoIGlz
IG5vdCBhc3NvY2lhdGVkIHdpdGggYSBTVkdTVkdFbGVtZW50LCBhbmQgdGh1cyBubyBmb250LXNp
emUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIik7CitzaG91bGRUaHJvdygibGVuZ3RoLmNvbnZl
cnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9FTVMpIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZUFzU3RyaW5nIiwgIjJweCIpOworc2hvdWxk
QmUoImxlbmd0aC52YWx1ZSIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlSW5TcGVjaWZp
ZWRVbml0cyIsICIyIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5T
VkdfTEVOR1RIVFlQRV9QWCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7
CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVHJ5
IGNvbnZlcnRpbmcgZnJvbSBweCB0byBleHMsIHNob3VsZCBmYWlsIGFzIHRoZSBTVkdMZW5ndGgg
aXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIFNWR1NWR0VsZW1lbnQsIGFuZCB0aHVzIG5vIGZvbnQt
c2l6ZSBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUiKTsKK3Nob3VsZFRocm93KCJsZW5ndGguY29u
dmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0VYUykiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCAiMnB4Iik7CitzaG91
bGRCZSgibGVuZ3RoLnZhbHVlIiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWVJblNwZWNp
ZmllZFVuaXRzIiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3Ro
LlNWR19MRU5HVEhUWVBFX1BYIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJSZXNldCB0byAycHgi
KTsKK2xlbmd0aC52YWx1ZUFzU3RyaW5nID0gIjJweCI7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJD
b252ZXJ0IGZyb20gcHggdG8gY20iKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJsZW5ndGguY29udmVy
dFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX0NNKSIpOworcmVmZXJl
bmNlVmFsdWUgPSBOdW1iZXIoMiAqIDIuNTQgLyBjc3NQaXhlbHNQZXJJbmNoKS50b0ZpeGVkKDcp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVBc1N0cmluZyIsIHJlZmVyZW5j
ZVZhbHVlICsgImNtIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMudG9GaXhlZCg3KSIsIHJlZmVyZW5jZVZhbHVlKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygibGVuZ3RoLnZhbHVlLnRvRml4ZWQoMSkiLCAiMi4wIik7CitzaG91bGRCZSgibGVu
Z3RoLnVuaXRUeXBlIiwgIlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9DTSIpOworCitkZWJ1Zygi
Iik7CitkZWJ1ZygiUmVzZXQgdG8gMnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgi
OworCitkZWJ1ZygiIik7CitkZWJ1ZygiQ29udmVydCBmcm9tIHB4IHRvIG1tIik7CitzaG91bGRC
ZVVuZGVmaW5lZCgibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdf
TEVOR1RIVFlQRV9NTSkiKTsKK3JlZmVyZW5jZVZhbHVlID0gTnVtYmVyKDIgKiAyNS40IC8gY3Nz
UGl4ZWxzUGVySW5jaCkudG9GaXhlZCg2KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3Ro
LnZhbHVlQXNTdHJpbmciLCByZWZlcmVuY2VWYWx1ZSArICJtbSIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRvRml4ZWQoNikiLCByZWZlcmVu
Y2VWYWx1ZSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0aC52YWx1ZS50b0ZpeGVkKDEp
IiwgIjIuMCIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xF
TkdUSFRZUEVfTU0iKTsKKworZGVidWcoIiIpOworZGVidWcoIlJlc2V0IHRvIDJweCIpOworbGVu
Z3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIpOworZGVidWcoIkNvbnZlcnQg
ZnJvbSBweCB0byBpbiIpOworc2hvdWxkQmVVbmRlZmluZWQoImxlbmd0aC5jb252ZXJ0VG9TcGVj
aWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfSU4pIik7CityZWZlcmVuY2VWYWx1
ZSA9IE51bWJlcigyIC8gY3NzUGl4ZWxzUGVySW5jaCkudG9GaXhlZCg3KTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCByZWZlcmVuY2VWYWx1ZSArICJpbiIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzLnRv
Rml4ZWQoNykiLCByZWZlcmVuY2VWYWx1ZSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImxlbmd0
aC52YWx1ZS50b0ZpeGVkKDEpIiwgIjIuMCIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIs
ICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfSU4iKTsKKworZGVidWcoIiIpOworZGVidWcoIlJl
c2V0IHRvIDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKKworZGVidWcoIiIp
OworZGVidWcoIkNvbnZlcnQgZnJvbSBweCB0byBwdCIpOworc2hvdWxkQmVVbmRlZmluZWQoImxl
bmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFQp
Iik7CityZWZlcmVuY2VWYWx1ZSA9IE51bWJlcigyIC8gY3NzUGl4ZWxzUGVySW5jaCAqIDcyKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCByZWZlcmVuY2VW
YWx1ZSArICJwdCIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZUluU3BlY2lmaWVkVW5pdHMiLCBy
ZWZlcmVuY2VWYWx1ZS50b1N0cmluZygpKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3Ro
LnZhbHVlLnRvRml4ZWQoMSkiLCAiMi4wIik7CitzaG91bGRCZSgibGVuZ3RoLnVuaXRUeXBlIiwg
IlNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QVCIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVz
ZXQgdG8gMnB4Iik7CitsZW5ndGgudmFsdWVBc1N0cmluZyA9ICIycHgiOworCitkZWJ1ZygiIik7
CitkZWJ1ZygiQ29udmVydCBmcm9tIHB4IHRvIHBjIik7CitzaG91bGRCZVVuZGVmaW5lZCgibGVu
Z3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aC5TVkdfTEVOR1RIVFlQRV9QQyki
KTsKK3JlZmVyZW5jZVZhbHVlID0gTnVtYmVyKDIgLyBjc3NQaXhlbHNQZXJJbmNoICogNikudG9G
aXhlZCgzKTsKKy8vIERvbid0IGNoZWNrIHZhbHVlQXNTdHJpbmcgaGVyZSwgaXQncyB1bnJlbGlh
YmxlIGFjcm9zcyBicm93c2Vycy4KK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZhbHVl
SW5TcGVjaWZpZWRVbml0cy50b0ZpeGVkKDMpIiwgcmVmZXJlbmNlVmFsdWUpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJsZW5ndGgudmFsdWUudG9GaXhlZCgxKSIsICIyLjAiKTsKK3Nob3VsZEJl
KCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BDIik7CisKK3N1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZG9tL3Njcmlw
dC10ZXN0cy9TVkdMZW5ndGguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2RvbS9z
Y3JpcHQtdGVzdHMvU1ZHTGVuZ3RoLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3Zn
L2RvbS9zY3JpcHQtdGVzdHMvU1ZHTGVuZ3RoLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU1
IEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGUgU1ZHTGVuZ3RoIEFQSSIpOwor
Cit2YXIgc3ZnRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciLCAic3ZnIik7Cit2YXIgbGVuZ3RoID0gc3ZnRWxlbWVudC5jcmVhdGVT
VkdMZW5ndGgoKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNrIGluaXRpYWwgbGVuZ3RoIHZh
bHVlcyIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdU
SFRZUEVfTlVNQkVSIik7CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlIiwgIjAiKTsKK3Nob3VsZEJl
KCJsZW5ndGgudmFsdWVJblNwZWNpZmllZFVuaXRzIiwgIjAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygibGVuZ3RoLnZhbHVlQXNTdHJpbmciLCAiMCIpOworCitkZWJ1ZygiIik7CitkZWJ1Zygi
U2V0IHZhbHVlIHRvIGJlIDJweCIpOworbGVuZ3RoLnZhbHVlQXNTdHJpbmcgPSAiMnB4IjsKK3No
b3VsZEJlKCJsZW5ndGgudW5pdFR5cGUiLCAiU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBFX1BYIik7
CitzaG91bGRCZSgibGVuZ3RoLnZhbHVlIiwgIjIiKTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWVJ
blNwZWNpZmllZFVuaXRzIiwgIjIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibGVuZ3RoLnZh
bHVlQXNTdHJpbmciLCAiMnB4Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJDaGVjayBpbnZhbGlk
IGFyZ3VtZW50cyBmb3IgJ2NvbnZlcnRUb1NwZWNpZmllZFVuaXRzJyIpOworc2hvdWxkVGhyb3co
Imxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVf
VU5LTk9XTikiKTsKK3Nob3VsZFRocm93KCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMo
LTEpIik7CitzaG91bGRUaHJvdygibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKDExKSIp
Oworc2hvdWxkVGhyb3coImxlbmd0aC5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cygnYVN0cmluZycp
Iik7CitzaG91bGRUaHJvdygibGVuZ3RoLmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKGxlbmd0aCki
KTsKK3Nob3VsZFRocm93KCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoc3ZnRWxlbWVu
dCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGguY29udmVydFRvU3BlY2lmaWVkVW5pdHMoKSIpOwor
c2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgi
KTsKK3Nob3VsZEJlKCJsZW5ndGgudmFsdWUiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1
ZUluU3BlY2lmaWVkVW5pdHMiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJT
VkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgiKTsKKworZGVidWcoIiIpOworZGVidWcoIkNoZWNr
IGludmFsaWQgYXJndW1lbnRzIGZvciAnbmV3VmFsdWVTcGVjaWZpZWRVbml0cyciKTsKK3Nob3Vs
ZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdU
SFRZUEVfVU5LTk9XTiwgNCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZp
ZWRVbml0cygtMSwgNCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRV
bml0cygxMSwgNCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0
cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgsICdhU3RyaW5nJykiKTsKK3Nob3VsZFRocm93
KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVf
UFgsIGxlbmd0aCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0
cyhTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgsIHN2Z0VsZW1lbnQpIik7CitzaG91bGRUaHJv
dygibGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoLlNWR19MRU5HVEhUWVBF
X1BYKSIpOworc2hvdWxkVGhyb3coImxlbmd0aC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKCdhU3Ry
aW5nJywgNCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhs
ZW5ndGgsIDQpIik7CitzaG91bGRUaHJvdygibGVuZ3RoLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMo
c3ZnRWxlbWVudCwgNCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFsdWVTcGVjaWZpZWRV
bml0cygnYVN0cmluZycsICdhU3RyaW5nJykiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgubmV3VmFs
dWVTcGVjaWZpZWRVbml0cyhsZW5ndGgsIGxlbmd0aCkiKTsKK3Nob3VsZFRocm93KCJsZW5ndGgu
bmV3VmFsdWVTcGVjaWZpZWRVbml0cyhzdmdFbGVtZW50LCBzdmdFbGVtZW50KSIpOworc2hvdWxk
QmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5ndGguU1ZHX0xFTkdUSFRZUEVfUFgiKTsKK3No
b3VsZEJlKCJsZW5ndGgudmFsdWUiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC52YWx1ZUluU3Bl
Y2lmaWVkVW5pdHMiLCAiMiIpOworc2hvdWxkQmUoImxlbmd0aC51bml0VHlwZSIsICJTVkdMZW5n
dGguU1ZHX0xFTkdUSFRZUEVfUFgiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0NpcmNs
ZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3gt
cHJvcC5qcwkocmV2aXNpb24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRh
dGVzL3NjcmlwdC10ZXN0cy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNCw3ICsxNCw3IEBAIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGNp
cmNsZUVsZW1lbnQKIHNob3VsZEJlKCJjaXJjbGVFbGVtZW50LmN4LmJhc2VWYWwudmFsdWUiLCAi
LTUwIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGNpcmNsZUVsZW1lbnQuY3gu
YmFzZVZhbC52YWx1ZSA9ICIxNTAiOworICAgIGNpcmNsZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1
ZSA9IDE1MDsKICAgICBzaG91bGRCZSgiY2lyY2xlRWxlbWVudC5jeC5iYXNlVmFsLnZhbHVlIiwg
IjE1MCIpOwogCiAgICAgY29tcGxldGVUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeS1wcm9w
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0
LXRlc3RzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanMJKHJldmlzaW9uIDcwOTg5
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHQ2ly
Y2xlRWxlbWVudC1zdmdkb20tY3ktcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTQsNyArMTQs
NyBAQCByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChjaXJjbGVFbGVtZW50CiBzaG91bGRCZSgi
Y2lyY2xlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIiwgIi01MCIpOwogCiBmdW5jdGlvbiBleGVj
dXRlVGVzdCgpIHsKLSAgICBjaXJjbGVFbGVtZW50LmN5LmJhc2VWYWwudmFsdWUgPSAiMTUwIjsK
KyAgICBjaXJjbGVFbGVtZW50LmN5LmJhc2VWYWwudmFsdWUgPSAxNTA7CiAgICAgc2hvdWxkQmUo
ImNpcmNsZUVsZW1lbnQuY3kuYmFzZVZhbC52YWx1ZSIsICIxNTAiKTsKIAogICAgIGNvbXBsZXRl
VGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVz
dHMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tci1wcm9wLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0NpcmNsZUVsZW1lbnQt
c3ZnZG9tLXItcHJvcC5qcwkocmV2aXNpb24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3Au
anMJKHdvcmtpbmcgY29weSkKQEAgLTE0LDcgKzE0LDcgQEAgcm9vdFNWR0VsZW1lbnQuYXBwZW5k
Q2hpbGQoY2lyY2xlRWxlbWVudAogc2hvdWxkQmUoImNpcmNsZUVsZW1lbnQuci5iYXNlVmFsLnZh
bHVlIiwgIjEiKTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgY2lyY2xlRWxlbWVu
dC5yLmJhc2VWYWwudmFsdWUgPSAiMTUwIjsKKyAgICBjaXJjbGVFbGVtZW50LnIuYmFzZVZhbC52
YWx1ZSA9IDE1MDsKICAgICBzaG91bGRCZSgiY2lyY2xlRWxlbWVudC5yLmJhc2VWYWwudmFsdWUi
LCAiMTUwIik7CiAKICAgICBjb21wbGV0ZVRlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1w
cm9wLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2Ny
aXB0LXRlc3RzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmpzCShyZXZpc2lvbiA3
MDk4OSkKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NW
R0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw3
ICsxNSw3IEBAIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGVsbGlwc2VFbGVtZW4KIHNob3Vs
ZEJlKCJlbGxpcHNlRWxlbWVudC5jeC5iYXNlVmFsLnZhbHVlIiwgIi01MCIpOwogCiBmdW5jdGlv
biBleGVjdXRlVGVzdCgpIHsKLSAgICBlbGxpcHNlRWxlbWVudC5jeC5iYXNlVmFsLnZhbHVlID0g
IjE1MCI7CisgICAgZWxsaXBzZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1ZSA9IDE1MDsKICAgICBz
aG91bGRCZSgiZWxsaXBzZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1ZSIsICIxNTAiKTsKIAogICAg
IGNvbXBsZXRlVGVzdCgpOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9z
Y3JpcHQtdGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxs
aXBzZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanMJKHJldmlzaW9uIDcwOTg5KQorKysgTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQt
c3ZnZG9tLWN5LXByb3AuanMJKHdvcmtpbmcgY29weSkKQEAgLTE1LDcgKzE1LDcgQEAgcm9vdFNW
R0VsZW1lbnQuYXBwZW5kQ2hpbGQoZWxsaXBzZUVsZW1lbgogc2hvdWxkQmUoImVsbGlwc2VFbGVt
ZW50LmN5LmJhc2VWYWwudmFsdWUiLCAiLTUwIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkg
ewotICAgIGVsbGlwc2VFbGVtZW50LmN5LmJhc2VWYWwudmFsdWUgPSAiMTUwIjsKKyAgICBlbGxp
cHNlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlID0gMTUwOwogICAgIHNob3VsZEJlKCJlbGxpcHNl
RWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIiwgIjE1MCIpOwogCiAgICAgY29tcGxldGVUZXN0KCk7
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdF
bGxpcHNlRWxlbWVudC1zdmdkb20tcngtcHJvcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdk
b20tcngtcHJvcC5qcwkocmV2aXNpb24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL3NjcmlwdC10ZXN0cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcngtcHJvcC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMTUsNyArMTUsNyBAQCByb290U1ZHRWxlbWVudC5hcHBlbmRD
aGlsZChlbGxpcHNlRWxlbWVuCiBzaG91bGRCZSgiZWxsaXBzZUVsZW1lbnQucnguYmFzZVZhbC52
YWx1ZSIsICIxMCIpOwogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBlbGxpcHNlRWxl
bWVudC5yeC5iYXNlVmFsLnZhbHVlID0gIjE1MCI7CisgICAgZWxsaXBzZUVsZW1lbnQucnguYmFz
ZVZhbC52YWx1ZSA9IDE1MDsKICAgICBzaG91bGRCZSgiZWxsaXBzZUVsZW1lbnQucnguYmFzZVZh
bC52YWx1ZSIsICIxNTAiKTsKIAogICAgIGNvbXBsZXRlVGVzdCgpOwpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQtc3Zn
ZG9tLXJ5LXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBk
YXRlcy9zY3JpcHQtdGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ5LXByb3AuanMJKHJl
dmlzaW9uIDcwOTg5KQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQt
dGVzdHMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ5LXByb3AuanMJKHdvcmtpbmcgY29weSkK
QEAgLTE1LDcgKzE1LDcgQEAgcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZWxsaXBzZUVsZW1l
bgogc2hvdWxkQmUoImVsbGlwc2VFbGVtZW50LnJ5LmJhc2VWYWwudmFsdWUiLCAiMTAiKTsKIAog
ZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgZWxsaXBzZUVsZW1lbnQucnkuYmFzZVZhbC52
YWx1ZSA9ICIxNTAiOworICAgIGVsbGlwc2VFbGVtZW50LnJ5LmJhc2VWYWwudmFsdWUgPSAxNTA7
CiAgICAgc2hvdWxkQmUoImVsbGlwc2VFbGVtZW50LnJ5LmJhc2VWYWwudmFsdWUiLCAiMTUwIik7
CiAKICAgICBjb21wbGV0ZVRlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS1oZWlnaHQt
cHJvcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Nj
cmlwdC10ZXN0cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AuanMJ
KHJldmlzaW9uIDcwOTg5KQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3Jp
cHQtdGVzdHMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBAIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxk
KGZvcmVpZ25PYmplY3QKIHNob3VsZEJlKCJmb3JlaWduT2JqZWN0RWxlbWVudC5oZWlnaHQuYmFz
ZVZhbC52YWx1ZSIsICIyIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGZvcmVp
Z25PYmplY3RFbGVtZW50LmhlaWdodC5iYXNlVmFsLnZhbHVlID0gIjE1MCI7CisgICAgZm9yZWln
bk9iamVjdEVsZW1lbnQuaGVpZ2h0LmJhc2VWYWwudmFsdWUgPSAxNTA7CiAgICAgc2hvdWxkQmUo
ImZvcmVpZ25PYmplY3RFbGVtZW50LmhlaWdodC5iYXNlVmFsLnZhbHVlIiwgIjE1MCIpOwogCiAg
ICAgY29tcGxldGVUZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVz
L3NjcmlwdC10ZXN0cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10
ZXN0cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5qcwkocmV2aXNp
b24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0
cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMjAsNyArMjAsNyBAQCByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChmb3JlaWdu
T2JqZWN0CiBzaG91bGRCZSgiZm9yZWlnbk9iamVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC52YWx1
ZSIsICIyIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGZvcmVpZ25PYmplY3RF
bGVtZW50LndpZHRoLmJhc2VWYWwudmFsdWUgPSAiMTUwIjsKKyAgICBmb3JlaWduT2JqZWN0RWxl
bWVudC53aWR0aC5iYXNlVmFsLnZhbHVlID0gMTUwOwogICAgIHNob3VsZEJlKCJmb3JlaWduT2Jq
ZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsLnZhbHVlIiwgIjE1MCIpOwogCiAgICAgY29tcGxldGVU
ZXN0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0
cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20teC1wcm9wLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LXN2Z2RvbS14LXByb3AuanMJKHJldmlzaW9uIDcwOTg5KQorKysgTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3JpcHQtdGVzdHMvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQtc3ZnZG9tLXgtcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQCBy
b290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChmb3JlaWduT2JqZWN0CiBzaG91bGRCZSgiZm9yZWln
bk9iamVjdEVsZW1lbnQueC5iYXNlVmFsLnZhbHVlIiwgIi0xMDAiKTsKIAogZnVuY3Rpb24gZXhl
Y3V0ZVRlc3QoKSB7Ci0gICAgZm9yZWlnbk9iamVjdEVsZW1lbnQueC5iYXNlVmFsLnZhbHVlID0g
IjEwMCI7CisgICAgZm9yZWlnbk9iamVjdEVsZW1lbnQueC5iYXNlVmFsLnZhbHVlID0gMTAwOwog
ICAgIHNob3VsZEJlKCJmb3JlaWduT2JqZWN0RWxlbWVudC54LmJhc2VWYWwudmFsdWUiLCAiMTAw
Iik7CiAKICAgICBjb21wbGV0ZVRlc3QoKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWlj
LXVwZGF0ZXMvc2NyaXB0LXRlc3RzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS15LXBy
b3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9zY3Jp
cHQtdGVzdHMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5qcwkocmV2aXNp
b24gNzA5ODkpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3NjcmlwdC10ZXN0
cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20teS1wcm9wLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0yMCw3ICsyMCw3IEBAIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGZvcmVpZ25PYmpl
Y3QKIHNob3VsZEJlKCJmb3JlaWduT2JqZWN0RWxlbWVudC55LmJhc2VWYWwudmFsdWUiLCAiLTgw
Iik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewotICAgIGZvcmVpZ25PYmplY3RFbGVtZW50
LnkuYmFzZVZhbC52YWx1ZSA9ICI4MCI7CisgICAgZm9yZWlnbk9iamVjdEVsZW1lbnQueS5iYXNl
VmFsLnZhbHVlID0gODA7CiAgICAgc2hvdWxkQmUoImZvcmVpZ25PYmplY3RFbGVtZW50LnkuYmFz
ZVZhbC52YWx1ZSIsICI4MCIpOwogCiAgICAgY29tcGxldGVUZXN0KCk7Cg==
</data>
<flag name="review"
          id="62732"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
          </attachment>
      

    </bug>

</bugzilla>