<?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>188416</bug_id>
          
          <creation_ts>2018-08-08 13:47:15 -0700</creation_ts>
          <short_desc>Import WPTs for IntersectionObserver</short_desc>
          <delta_ts>2018-08-09 06:37:30 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>159475</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ali Juma">ajuma</reporter>
          <assigned_to name="Ali Juma">ajuma</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1448826</commentid>
    <comment_count>0</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-08 13:47:15 -0700</bug_when>
    <thetext>Import WPTs for IntersectionObserver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448828</commentid>
    <comment_count>1</comment_count>
      <attachid>346790</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-08 13:53:30 -0700</bug_when>
    <thetext>Created attachment 346790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448854</commentid>
    <comment_count>2</comment_count>
      <attachid>346790</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-08-08 14:48:50 -0700</bug_when>
    <thetext>Comment on attachment 346790
Patch

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

&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:580
&gt; +- (void)setIntersectionObserverEnabled:(BOOL)flag;
&gt; +- (BOOL)intersectionObserverEnabled;

I don&apos;t think you need this. You can to through the (admittedly bad) experimental features API.

&gt; Tools/DumpRenderTree/mac/DumpRenderTree.mm:870
&gt; +    [preferences setIntersectionObserverEnabled:YES];

We really need to make this automatic. Sad that you have to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448861</commentid>
    <comment_count>3</comment_count>
      <attachid>346790</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-08-08 14:59:03 -0700</bug_when>
    <thetext>Comment on attachment 346790
Patch

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

&gt;&gt; Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h:580
&gt;&gt; +- (BOOL)intersectionObserverEnabled;
&gt; 
&gt; I don&apos;t think you need this. You can to through the (admittedly bad) experimental features API.

This in WK1 (exposing the method that DumpRenderTree needs to call), so there&apos;s no experimental features API afaik.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448988</commentid>
    <comment_count>4</comment_count>
      <attachid>346790</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-09 06:36:58 -0700</bug_when>
    <thetext>Comment on attachment 346790
Patch

Clearing flags on attachment: 346790

Committed r234723: &lt;https://trac.webkit.org/changeset/234723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448989</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-09 06:36:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448990</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-09 06:37:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/43092053&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346790</attachid>
            <date>2018-08-08 13:53:30 -0700</date>
            <delta_ts>2018-08-09 06:36:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188416-20180808165328.patch</filename>
            <type>text/plain</type>
            <size>122289</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE4NDYzZjU4MWU2ZGM0NmRi
YWVlZjAzMGNlNjViZWE5N2NjMDY2ZDQuLmNhYmI3ZGRlMDY2ZDcxY2Y4ZTMxNThmNGM5MTA4ZTU3
YzJkYjUzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMDgtMDggIEFsaSBKdW1h
ICA8YWp1bWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcG9ydCBXUFRzIGZvciBJbnRlcnNl
Y3Rpb25PYnNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg4NDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBJbnRlcnNlY3Rpb25PYnNlcnZlciBhbiBleHBlcmltZW50YWwgZmVhdHVyZSwg
c28gdGhhdCBpdCBpcyBlbmFibGVkIGluCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIuCisKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKwogMjAxOC0wOC0wNSAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNb3JlIHR3ZWFrcyBh
bmQgcmVmYWN0b3JpbmcgdG8gcHJlcGFyZSBmb3IgQVJDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKaW5kZXggN2JhODQ5ZThkNjEwYjg0YzIyZDcyZWZhOWY0MDY2YWUzOGQ0MWYyNy4uNzg3NjRh
ZWI5OGZhYTI4OTNhMTM5OTBhZjYyMDcwYTMxZjZmYzdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTA4LTA4ICBBbGkgSnVtYSAgPGFqdW1hQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBJbXBvcnQgV1BUcyBmb3IgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODQx
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKwogMjAxOC0wOC0wOCAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93LXVwIGJ1aWxkIGZpeCBm
b3IgcjIzNDY4NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXgg
ZGM0ZjY4YzA1ZmE1NzhjODZjZWQ5MWQ0NzE1N2EzYmFhOWYxYzhlNy4uY2QyYmZkNWUxYjVjNmRk
OTM2ZWNiMzdhY2Y1NTg0MWI0OWI4NDljZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sCkBAIC02NTUsMTQgKzY1NSw2IEBAIE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQ6
CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKIAotSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOgotICB0eXBlOiBib29sCi0g
IGRlZmF1bHRWYWx1ZTogZmFsc2UKLSAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJbnRlcnNlY3Rpb24g
T2JzZXJ2ZXIiCi0gIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBJbnRlcnNlY3Rp
b24gT2JzZXJ2ZXIgc3VwcG9ydCIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMKLSAgY29uZGl0aW9uOiBFTkFCTEUoSU5URVJTRUNUSU9OX09CU0VSVkVSKQotCiBJbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFs
dWU6IHRydWUKQEAgLTExNDYsNiArMTEzOCwxNSBAQCBJbWFnZUJpdG1hcE9mZnNjcmVlbkNhbnZh
c0VuYWJsZWQ6CiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMKIAorSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOgorICB0
eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJJ
bnRlcnNlY3Rpb24gT2JzZXJ2ZXIiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJs
ZSBJbnRlcnNlY3Rpb24gT2JzZXJ2ZXIgc3VwcG9ydCIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBjb25kaXRpb246
IEVOQUJMRShJTlRFUlNFQ1RJT05fT0JTRVJWRVIpCisKIFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXgg
MDVhMTIxZGJjMzFlNzg0ZDEzNjlkNDMxZmIzNWNiNjQ0NzU1Zjc0OS4uNmJmMGQ0ODA0MjVhYTlm
MjE2YzZhMWYwYThlZjJhYTA2YjQ3ZTc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC01NzYsNiArNTc2
LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50
ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIC0gKHZvaWQpc2V0V2ViQXV0aGVudGljYXRp
b25FbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKXdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZDsK
IAorLSAodm9pZClzZXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ6KEJPT0wpZmxhZzsKKy0g
KEJPT0wpaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOworCiAtICh2b2lkKXNldElzU2VjdXJl
Q29udGV4dEF0dHJpYnV0ZUVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpaXNTZWN1cmVDb250
ZXh0QXR0cmlidXRlRW5hYmxlZDsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDViZWFlMmEzMWJkMzdmMmNmZGRmNTE4ZWI4Njg0YmFlMWIzMDYx
MjguLjBmNzI3ZTg5NWE5OTM5NTVmNzBjM2M4MzYwM2VmMjhhY2UzYmRiMDIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxOC0wOC0wOCAgQWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1w
b3J0IFdQVHMgZm9yIEludGVyc2VjdGlvbk9ic2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW4g
RHVtcFJlbmRlclRyZWUuIAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorICAgICAg
ICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVy
OjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAxOC0wOC0wOCAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBmYXN0
L2V2ZW50cy9pb3MvY29udGVudGVkaXRhYmxlLWF1dG9jYXBpdGFsaXplLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5k
ZXggZDliODRmYzIwMDlmMmM5NzZiYWUzZGFjZTgxMThlOTcyNDFlMmU2MC4uNWQ1MjkwNTczNmEz
NmJiOWI0YjZiNTBhOGY0NThjNTI4YTM1MmE0MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtODY3LDYgKzg2Nyw3IEBAIHN0YXRpYyB2b2lkIGVuYWJs
ZUV4cGVyaW1lbnRhbEZlYXR1cmVzKFdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBb
cHJlZmVyZW5jZXMgc2V0Q29sb3JGaWx0ZXJFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2Vz
IHNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQ6WUVTXTsKICAgICBbcHJl
ZmVyZW5jZXMgc2V0U2VydmVyVGltaW5nRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBz
ZXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ6WUVTXTsKIH0KIAogLy8gQ2FsbGVkIGJlZm9y
ZSBlYWNoIHRlc3QuCkBAIC05OTYsNyArOTk3LDYgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVy
ZW5jZXNGb3JUZXN0T3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKIAogICAgIHBy
ZWZlcmVuY2VzLmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQXR0YWNo
bWVudEVsZW1lbnQ7CiAgICAgcHJlZmVyZW5jZXMuYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCA9
IG9wdGlvbnMudXNlQWNjZWxlcmF0ZWREcmF3aW5nOwotICAgIHByZWZlcmVuY2VzLmludGVyc2Vj
dGlvbk9ic2VydmVyRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7
CiAgICAgcHJlZmVyZW5jZXMubWVudUl0ZW1FbGVtZW50RW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxl
TWVudUl0ZW1FbGVtZW50OwogICAgIHByZWZlcmVuY2VzLm1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkID0gb3B0aW9ucy5lbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzOwogICAgIHByZWZlcmVuY2Vz
LndlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlV2ViQXV0aGVudGljYXRp
b247CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDBlN2Q4
ZTZhNDhmM2RhYzE2NDkxNDg1NGJiNjAzMWZmMGNkOWRmMDEuLjAxMjAzY2UxOWRiNDZjZjIyMDcz
YjQ1YzBlZDMzOTliYWEwMzUwODQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCkBAIC03MTEsNyArNzExLDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQ
cmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAg
ICBXS1ByZWZlcmVuY2VzU2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKHByZWZlcmVuY2VzLCBvcHRp
b25zLnVzZU1vY2tTY3JvbGxiYXJzKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TmVlZHNTaXRlU3Bl
Y2lmaWNRdWlya3MocHJlZmVyZW5jZXMsIG9wdGlvbnMubmVlZHNTaXRlU3BlY2lmaWNRdWlya3Mp
OwogICAgIFdLUHJlZmVyZW5jZXNTZXRBdHRhY2htZW50RWxlbWVudEVuYWJsZWQocHJlZmVyZW5j
ZXMsIG9wdGlvbnMuZW5hYmxlQXR0YWNobWVudEVsZW1lbnQpOwotICAgIFdLUHJlZmVyZW5jZXNT
ZXRJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQocHJlZmVyZW5jZXMsIG9wdGlvbnMuZW5hYmxl
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZW51SXRlbUVsZW1l
bnRFbmFibGVkKHByZWZlcmVuY2VzLCBvcHRpb25zLmVuYWJsZU1lbnVJdGVtRWxlbWVudCk7CiAg
ICAgV0tQcmVmZXJlbmNlc1NldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKHByZWZlcmVuY2Vz
LCBvcHRpb25zLmVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHMpOwogICAgIFdLUHJlZmVyZW5jZXNT
ZXRXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQocHJlZmVyZW5jZXMsIG9wdGlvbnMuZW5hYmxlV2Vi
QXV0aGVudGljYXRpb24pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMDk0YTMy
MjZiNDhlY2M0YzAyOTVkNWZhODI5NjM5MWQzNzM3ZWI0MC4uZDgxNzk4NjUwY2EyYzRkYWEyN2Ey
ODUxNjg2NTIzMzNhZTY2NWIyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsODcgQEAKKzIwMTgtMDgtMDggIEFsaSBKdW1hICA8YWp1bWFAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEltcG9ydCBXUFRzIGZvciBJbnRlcnNlY3Rpb25PYnNlcnZlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NDE2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNl
Y3Rpb24tb2JzZXJ2ZXIvTUVUQS55bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvYm91bmRpbmctYm94LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9i
b3VuZGluZy1ib3guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY2xpZW50LXJl
Y3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci9jb250YWluaW5nLWJsb2NrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jb250YWluaW5nLWJs
b2NrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY3Jvc3Mtb3Jp
Z2luLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc2Nvbm5lY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc2Nvbm5lY3Qu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci9kaXNwbGF5LW5vbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc3BsYXktbm9uZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
L2VkZ2UtaW5jbHVzaXZlLWludGVyc2VjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRnZS1pbmNsdXNp
dmUtaW50ZXJzZWN0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
L2lkbGhhcm5lc3Mud2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanM6IEFkZGVkLgor
ICAgICAgICAoaWRsX2FycmF5LnNlbGYub2JzZXJ2ZXIubmV3LkludGVyc2VjdGlvbk9ic2VydmVy
KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lm
cmFtZS1uby1yb290LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pZnJhbWUtbm8tcm9vdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lubGlu
ZS1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaW5saW5lLWNsaWVudC1yZWN0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIv
aXNJbnRlcnNlY3RpbmctY2hhbmdlLWV2ZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaXNJbnRlcnNlY3Rp
bmctY2hhbmdlLWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL211bHRpcGxlLXRhcmdldHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
L211bHRpcGxlLXRhcmdldHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9tdWx0aXBsZS10aHJlc2hvbGRzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNl
cnZlci9tdWx0aXBsZS10aHJlc2hvbGRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvb2JzZXJ2ZXItYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvb2JzZXJ2ZXItYXR0cmlidXRlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLWV4Y2VwdGlv
bnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLWV4Y2VwdGlvbnMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1p
bi1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci13aXRob3V0LWpzLXJlZmVyZW5jZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvb2JzZXJ2ZXItd2l0aG91dC1qcy1yZWZlcmVuY2UuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZW1vdmUtZWxlbWVu
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvcmVtb3ZlLWVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZXNvdXJjZXMvY3Jvc3Mt
b3JpZ2luLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS1uby1yb290LXN1YmZyYW1l
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHdhaXRGb3JOb3RpZmljYXRpb24pOgorICAgICAgICAocnVuVGVzdEN5
Y2xlKToKKyAgICAgICAgKGNvbnRlbnRCb3VuZHMpOgorICAgICAgICAoYm9yZGVyQm94Qm91bmRz
KToKKyAgICAgICAgKGNsaWVudEJvdW5kcyk6CisgICAgICAgIChyZWN0QXJlYSk6CisgICAgICAg
IChjaGVja1JlY3QpOgorICAgICAgICAoY2hlY2tMYXN0RW50cnkpOgorICAgICAgICAoY2hlY2tK
c29uRW50cnkpOgorICAgICAgICAoY2hlY2tKc29uRW50cmllcyk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZXNvdXJjZXMvb2JzZXJ2ZXItaW4t
aWZyYW1lLXN1YmZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL3RpbWVzdGFtcC1zdWJmcmFtZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2Vy
dmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yb290LW1hcmdpbi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2
ZXIvcm9vdC1tYXJnaW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci9zYW1lLWRvY3VtZW50LW5vLXJvb3QtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2Vy
dmVyL3NhbWUtZG9jdW1lbnQtbm8tcm9vdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3NhbWUtZG9jdW1lbnQtcm9vdC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC1yb290Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC16ZXJv
LXNpemUtdGFyZ2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9zYW1lLWRvY3VtZW50LXplcm8tc2l6ZS10YXJn
ZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci9zaGFkb3ctY29udGVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2hhZG93LWNvbnRlbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci90ZXh0LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGV4dC10YXJnZXQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci90
aW1lc3RhbXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3RpbWVzdGFtcC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3VuY2xpcHBlZC1yb290
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci91bmNsaXBwZWQtcm9vdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3czYy1pbXBvcnQubG9nOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
L3plcm8tYXJlYS1lbGVtZW50LWhpZGRlbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvemVyby1hcmVhLWVsZW1l
bnQtaGlkZGVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvemVyby1hcmVhLWVsZW1lbnQtdmlzaWJsZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2
ZXIvemVyby1hcmVhLWVsZW1lbnQtdmlzaWJsZS5odG1sOiBBZGRlZC4KKwogMjAxOC0wOC0wOCAg
Q2hhcmxpZSBUdXJuZXIgIDxjdHVybmVyQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIENFTkMg
c2FuaXRpemF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IGZlYjgyNWFhYzA3YjdiZGU2
OWM5NjcxYjdmZmZlYzhmZDU2MWNjZjUuLjEzN2IyOWMxYjVmZDYyMzIyODlmMWQ2ZDUxODdjNTcx
N2NlNDk0ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMv
aW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0yNDYsNyArMjQ2LDcgQEAKICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL2lubmVyVGV4dCI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL2lucHV0LWV2ZW50cyI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzIjogInNraXAiLCAKLSAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlciI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9q
cyI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9rZXlib2FyZC1sb2NrIjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2xvbmd0YXNrLXRpbWluZyI6ICJza2lwIiwg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL01FVEEueW1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjMxZGRkYWI1NjFlZGQyOTJhMThlNWIyY2Q0ZmIzMTNhOTZhZjY1YjkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9NRVRBLnltbApAQCAtMCwwICsxLDMgQEAKK3NwZWM6IGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9JbnRlcnNlY3Rpb25PYnNlcnZlci8KK3N1Z2dlc3RlZF9yZXZpZXdl
cnM6CisgIC0gc3phZ2VyLWNocm9taXVtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9ib3VuZGluZy1i
b3gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvYm91bmRpbmctYm94LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41MDc2MmI2NGM4MGZlYmVjZmZhYWU5OGQ5YzQ2N2Q3ZDNmNjFlZjYyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvYm91bmRpbmctYm94LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKKworUEFTUyBUZXN0IHRoYXQgdGhlIHRhcmdldCdzIGJvcmRlciBib3VuZGluZyBib3gg
aXMgdXNlZCB0byBjYWxjdWxhdGUgaW50ZXJzZWN0aW9uLiAKK0ZBSUwgRmlyc3QgckFGLiBhc3Nl
cnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCB0YXJn
ZXQuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVkoMTk1cHgpJyBhc3NlcnRfZXF1YWxzOiBl
bnRyaWVzLmxlbmd0aCBleHBlY3RlZCAyIGJ1dCBnb3QgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci9ib3VuZGluZy1ib3guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2JvdW5kaW5nLWJveC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5MDUyYjExY2U2YzQwYzZhNTZmZTJiNzIzYzcwYzQ5ZGRjMzZkZDkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci9ib3VuZGluZy1ib3guaHRtbApAQCAtMCwwICsxLDYxIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3ByZSwgI2xvZyB7CisgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAyMDBweDsKK30KKyNyb290IHsKKyAgb3Zl
cmZsb3c6IHZpc2libGU7CisgIGhlaWdodDogMjAwcHg7CisgIHdpZHRoOiAxNjBweDsKKyAgYm9y
ZGVyOiA3cHggc29saWQgYmxhY2s7Cit9CisjdGFyZ2V0IHsKKyAgbWFyZ2luOiAxMHB4OworICB3
aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIHBhZGRpbmc6IDEwcHg7CisgIGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKworPGRpdiBpZD0icm9vdCI+CisgIDxk
aXYgaWQ9InRhcmdldCIgc3R5bGU9InRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMDBweCkiPjwvZGl2
PgorPC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgZW50cmllcyA9IFtdOwordmFyIHRhcmdldDsKKwor
cnVuVGVzdEN5Y2xlKGZ1bmN0aW9uKCkgeworICB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0Iik7CisgIGFzc2VydF90cnVlKCEhdGFyZ2V0LCAidGFyZ2V0IGV4aXN0cyIp
OworICB2YXIgcm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290Iik7CisgIGFzc2Vy
dF90cnVlKCEhcm9vdCwgInJvb3QgZXhpc3RzIik7CisgIHZhciBvYnNlcnZlciA9IG5ldyBJbnRl
cnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihjaGFuZ2VzKSB7CisgICAgZW50cmllcyA9IGVudHJp
ZXMuY29uY2F0KGNoYW5nZXMpCisgIH0sIHtyb290OiByb290fSk7CisgIG9ic2VydmVyLm9ic2Vy
dmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVyLnRha2VSZWNv
cmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAiTm8gaW5pdGlhbCBu
b3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJzdCByQUYuIik7Cit9
LCAiVGVzdCB0aGF0IHRoZSB0YXJnZXQncyBib3JkZXIgYm91bmRpbmcgYm94IGlzIHVzZWQgdG8g
Y2FsY3VsYXRlIGludGVyc2VjdGlvbi4iKTsKKworZnVuY3Rpb24gc3RlcDAoKSB7CisgIHZhciB0
YXJnZXRCb3VuZHMgPSBjbGllbnRCb3VuZHModGFyZ2V0KTsKKyAgdGFyZ2V0LnN0eWxlLnRyYW5z
Zm9ybSA9ICJ0cmFuc2xhdGVZKDE5NXB4KSI7CisgIHJ1blRlc3RDeWNsZShzdGVwMSwgInRhcmdl
dC5zdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlWSgxOTVweCknIik7CisgIGNoZWNrTGFzdEVu
dHJ5KGVudHJpZXMsIDAsIHRhcmdldEJvdW5kcy5jb25jYXQoMCwgMCwgMCwgMCwgOCwgMTgyLCA4
LCAyMjIsIGZhbHNlKSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAxKCkgeworICB2YXIgdGFyZ2V0Qm91
bmRzID0gY2xpZW50Qm91bmRzKHRhcmdldCk7CisgIHRhcmdldC5zdHlsZS50cmFuc2Zvcm0gPSAi
IjsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMSwgdGFyZ2V0Qm91bmRzLmNvbmNhdCgyNSwg
MTQ1LCAyMjAsIDIyMiwgOCwgMTgyLCA4LCAyMjIsIHRydWUpKTsKK30KKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY2xp
ZW50LXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4ZmMyYzRiNDQ5ZjRkNWQwZGNkYzNm
NzA3YTQxYTk1NmEwZDIyOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jbGllbnQtcmVj
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJFbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Qgc2hvdWxkIG1hdGNoIHRhcmdldC5ib3VuZGluZ0Ns
aWVudFJlY3QoKSAKK0ZBSUwgRmlyc3QgckFGIHNob3VsZCBnZW5lcmF0ZSBub3RpZmljYXRpb24u
IGFzc2VydF9lcXVhbHM6IE9uZSBub3RpZmljYXRpb24uIGV4cGVjdGVkIDEgYnV0IGdvdCAwCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJzZWN0aW9uLW9ic2VydmVyL2NsaWVudC1yZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jbGllbnQt
cmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNTBmZGIxNGFjNGUwOTRjYThlNDJhNGJmYWZiODNmMzZl
MTVhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jbGllbnQtcmVjdC5odG1sCkBAIC0w
LDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorcHJlLCAj
bG9nIHsKKyAgcG9zaXRpb246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxlZnQ6IDIwMHB4Owor
fQoraWZyYW1lIHsKKyAgd2lkdGg6IDE4MHB4OworICBoZWlnaHQ6IDEwMHB4OworfQorPC9zdHls
ZT4KKworPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmNkb2M9IjxkaXYgaWQ9J3RhcmdldCcgc3R5bGU9
J21hcmdpbjowLjVweDt3aWR0aDoxMDAwcHg7aGVpZ2h0OjEwMDBweDsnPjwvZGl2PiI+PC9pZnJh
bWU+CisKKzxzY3JpcHQ+Cit2YXIgdGFyZ2V0OwordmFyIGVudHJpZXMgPSBbXTsKK3ZhciBvYnNl
cnZlcjsKK3ZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWZyYW1lIik7CisK
K2lmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgcnVuVGVzdEN5Y2xlKGZ1bmN0aW9uKCkg
eworICAgIHRhcmdldCA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpOworICAgIGFzc2VydF90cnVlKCEhdGFyZ2V0LCAiVGFyZ2V0IGVsZW1lbnQgZXhpc3Rz
LiIpOworICAgIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGNo
YW5nZXMpIHsKKyAgICAgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKTsKKyAgICB9
KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgZW50cmllcyA9IGVudHJpZXMu
Y29uY2F0KG9ic2VydmVyLnRha2VSZWNvcmRzKCkpOworICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDAsICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgICAgcnVuVGVzdEN5
Y2xlKHRlc3QwLCAiRmlyc3QgckFGIHNob3VsZCBnZW5lcmF0ZSBub3RpZmljYXRpb24uIik7Cisg
IH0sICJJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdCBzaG91bGQg
bWF0Y2ggdGFyZ2V0LmJvdW5kaW5nQ2xpZW50UmVjdCgpIik7Cit9OworCitmdW5jdGlvbiB0ZXN0
MCgpIHsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIk9uZSBub3RpZmljYXRp
b24uIik7CisgIHZhciBiY3IgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgIGNo
ZWNrTGFzdEVudHJ5KGVudHJpZXMsIDAsIFtiY3IubGVmdCwgYmNyLnJpZ2h0LCBiY3IudG9wLCBi
Y3IuYm90dG9tXSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2NvbnRhaW5p
bmctYmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY29udGFpbmluZy1ibG9jay1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWVlYjE4ZTU5NzczMzJjNGZjOWQzY2EzNTg2MjRmZTY3ZmMwMGQ1
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2NvbnRhaW5pbmctYmxvY2stZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIEludGVyc2VjdGlvbk9ic2VydmVyIHNob3VsZCBv
bmx5IHJlcG9ydCBpbnRlcnNlY3Rpb25zIGlmIHJvb3QgaXMgYSBjb250YWluaW5nIGJsb2NrIGFu
Y2VzdG9yIG9mIHRhcmdldC4gCitGQUlMIEluIGNvbnRhaW5pbmcgYmxvY2sgYW5kIGludGVyc2Vj
dGluZy4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMSBidXQgZ290IDAK
K0ZBSUwgSW4gY29udGFpbmluZyBibG9jayBhbmQgbm90IGludGVyc2VjdGluZy4gYXNzZXJ0X2Vx
dWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgTm90IGluIGNv
bnRhaW5pbmcgYmxvY2sgYW5kIGludGVyc2VjdGluZy4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5s
ZW5ndGggZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgTm90IGluIGNvbnRhaW5pbmcgYmxvY2sg
YW5kIG5vdCBpbnRlcnNlY3RpbmcuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVj
dGVkIDIgYnV0IGdvdCAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2NvbnRhaW5pbmctYmxvY2su
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL2NvbnRhaW5pbmctYmxvY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNGY0NmIw
ZmE3N2Q4ZWQ5MzBmNWJhYzE5YzNmNTg1NGQ0OTUwZWQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvY29udGFpbmluZy1ibG9jay5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorcHJlLCAjbG9nIHsKKyAgcG9zaXRpb246IGFic29s
dXRlOworICB0b3A6IDA7CisgIGxlZnQ6IDIwMHB4OworfQorI3Jvb3QgeworICB3aWR0aDogMTcw
cHg7CisgIGhlaWdodDogMjAwcHg7CisgIG92ZXJmbG93LXk6IHNjcm9sbDsKK30KKyN0YXJnZXQg
eworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOworICBwb3NpdGlvbjogYWJzb2x1dGU7Cit9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJy
b290IiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj4KKyAgPGRpdiBpZD0idGFyZ2V0IiBzdHls
ZT0ibGVmdDogNTBweDsgdG9wOiAyNTBweCI+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK3Zh
ciBlbnRyaWVzID0gW107Cit2YXIgcm9vdCwgdGFyZ2V0OworCitydW5UZXN0Q3ljbGUoZnVuY3Rp
b24oKSB7CisgIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworICBhc3Nl
cnRfdHJ1ZSghIXJvb3QsICJyb290IGVsZW1lbnQgZXhpc3RzLiIpOworICB0YXJnZXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iik7CisgIGFzc2VydF90cnVlKCEhdGFyZ2V0LCAi
dGFyZ2V0IGVsZW1lbnQgZXhpc3RzLiIpOworICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oY2hhbmdlcykgeworICAgIGVudHJpZXMgPSBlbnRyaWVzLmNv
bmNhdChjaGFuZ2VzKTsKKyAgfSwgeyByb290OiByb290IH0pOworICBvYnNlcnZlci5vYnNlcnZl
KHRhcmdldCk7CisgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChvYnNlcnZlci50YWtlUmVjb3Jk
cygpKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMCwgIk5vIGluaXRpYWwgbm90
aWZpY2F0aW9ucy4iKTsKKyAgdGFyZ2V0LnN0eWxlLnRvcCA9ICIxMHB4IjsKKyAgcnVuVGVzdEN5
Y2xlKHRlc3QxLCAiSW4gY29udGFpbmluZyBibG9jayBhbmQgaW50ZXJzZWN0aW5nLiIpOworfSwg
IkludGVyc2VjdGlvbk9ic2VydmVyIHNob3VsZCBvbmx5IHJlcG9ydCBpbnRlcnNlY3Rpb25zIGlm
IHJvb3QgaXMgYSBjb250YWluaW5nIGJsb2NrIGFuY2VzdG9yIG9mIHRhcmdldC4iKTsKKworZnVu
Y3Rpb24gdGVzdDEoKSB7CisgIHJ1blRlc3RDeWNsZSh0ZXN0MiwgIkluIGNvbnRhaW5pbmcgYmxv
Y2sgYW5kIG5vdCBpbnRlcnNlY3RpbmcuIik7CisgIHZhciByb290Qm91bmRzID0gY29udGVudEJv
dW5kcyhyb290KTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMCwgWzU4LCAxNTgsIDE4LCAx
MTgsIDU4LCAxNTgsIDE4LCAxMThdLmNvbmNhdChyb290Qm91bmRzKSk7CisgIHRhcmdldC5zdHls
ZS50b3AgPSAiMjUwcHgiOworfQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgcnVuVGVzdEN5Y2xl
KHRlc3QzLCAiTm90IGluIGNvbnRhaW5pbmcgYmxvY2sgYW5kIGludGVyc2VjdGluZy4iKTsKKyAg
dmFyIHJvb3RCb3VuZHMgPSBjb250ZW50Qm91bmRzKHJvb3QpOworICBjaGVja0xhc3RFbnRyeShl
bnRyaWVzLCAxLCBbNTgsIDE1OCwgMjU4LCAzNTgsIDAsIDAsIDAsIDBdLmNvbmNhdChyb290Qm91
bmRzKSk7CisgIHJvb3Quc3R5bGUucG9zaXRpb24gPSAic3RhdGljIjsKKyAgdGFyZ2V0LnN0eWxl
LnRvcCA9ICIxMHB4IjsKK30KKworZnVuY3Rpb24gdGVzdDMoKSB7CisgIHJ1blRlc3RDeWNsZSh0
ZXN0NCwgIk5vdCBpbiBjb250YWluaW5nIGJsb2NrIGFuZCBub3QgaW50ZXJzZWN0aW5nLiIpOwor
ICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAxKTsKKyAgdGFyZ2V0LnN0eWxlLnRvcCA9ICIyNTBw
eCI7Cit9CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAx
KTsKKyAgdGFyZ2V0LnN0eWxlLnRvcCA9ICIwIjsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvY3Jvc3Mtb3JpZ2luLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9jcm9z
cy1vcmlnaW4taWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjY3MDliYzVjZjNiZGM3
MzAxYzA4NWJiNTNmZjY1MDYzZDcxYTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY3Jv
c3Mtb3JpZ2luLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKKworUEFTUyBJ
bnRlcnNlY3Rpb24gb2JzZXJ2ZXIgdGVzdCB3aXRoIG5vIGV4cGxpY2l0IHJvb3QgYW5kIHRhcmdl
dCBpbiBhIGNyb3NzLW9yaWdpbiBpZnJhbWUuIAorRkFJTCBGaXJzdCByQUYgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgdG9wRG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVu
dC5zY3JvbGxUb3AgPSAyMDAgCitGQUlMIGlmcmFtZURvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQu
c2Nyb2xsVG9wID0gMjUwIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlM
IHRvcERvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMTAwIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEgYnV0IGdvdCAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Nyb3NzLW9y
aWdpbi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Nyb3NzLW9yaWdpbi1pZnJhbWUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yYzljNGJjZWM2OTY2NmYwZTM3NTA5NjE4ZTA1YTZiNzQxZjU1MzNkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvY3Jvc3Mtb3JpZ2luLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEs
NTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorcHJlLCAjbG9nIHsK
KyAgcG9zaXRpb246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxlZnQ6IDIwMHB4OworfQoraWZy
YW1lIHsKKyAgd2lkdGg6IDE2MHB4OworICBoZWlnaHQ6IDEwMHB4OworICBvdmVyZmxvdy15OiBz
Y3JvbGw7Cit9Cisuc3BhY2VyIHsKKyAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMTAwcHgpOworfQor
PC9zdHlsZT4KKworPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxpZnJhbWUgc3JjPSJyZXNv
dXJjZXMvY3Jvc3Mtb3JpZ2luLXN1YmZyYW1lLmh0bWwiIHNhbmRib3g9ImFsbG93LXNjcmlwdHMi
PjwvaWZyYW1lPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKworPHNjcmlwdD4KK2FzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiaWZyYW1lIik7CisKKyAgZnVuY3Rpb24gaGFuZGxlTWVzc2FnZShldmVudCkgeworICAgIGlm
IChldmVudC5kYXRhLmhhc093blByb3BlcnR5KCdzY3JvbGxUbycpKSB7CisgICAgICBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IGV2ZW50LmRhdGEuc2Nyb2xsVG87CisgICAg
ICB3YWl0Rm9yTm90aWZpY2F0aW9uKHQsIGZ1bmN0aW9uKCkgeyBpZnJhbWUuY29udGVudFdpbmRv
dy5wb3N0TWVzc2FnZSgiIiwgIioiKTsgfSwKKyAgICAgICAgImRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wID0gIiArIGV2ZW50LmRhdGEuc2Nyb2xsVG8pOworICAgIH0gZWxzZSBp
ZiAoZXZlbnQuZGF0YS5oYXNPd25Qcm9wZXJ0eSgnYWN0dWFsJykpIHsKKyAgICAgIGNoZWNrSnNv
bkVudHJpZXMoZXZlbnQuZGF0YS5hY3R1YWwsIGV2ZW50LmRhdGEuZXhwZWN0ZWQsIGV2ZW50LmRh
dGEuZGVzY3JpcHRpb24pOworICAgIH0gZWxzZSBpZiAoZXZlbnQuZGF0YS5oYXNPd25Qcm9wZXJ0
eSgnRE9ORScpKSB7CisgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9
IDA7CisgICAgICB0LmRvbmUoKTsKKyAgICB9IGVsc2UgeworICAgICAgdmFyIGRlc2NyaXB0aW9u
ID0gZXZlbnQuZGF0YS5kZXNjcmlwdGlvbjsKKyAgICAgIHdhaXRGb3JOb3RpZmljYXRpb24odCwg
ZnVuY3Rpb24oKSB7IGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCIiLCAiKiIpOyB9
LCBkZXNjcmlwdGlvbik7CisgICAgfQorICB9CisKKyAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCB0LnN0ZXBfZnVuYyhoYW5kbGVNZXNzYWdlKSk7CisKKyAgaWZyYW1lLm9ubG9h
ZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgIHdhaXRGb3JOb3RpZmljYXRpb24odCwg
ZnVuY3Rpb24oKSB7IGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCIiLCAiKiIpIH0s
ICJzZXR1cCIpOworICB9KTsKK30sICJJbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgdGVzdCB3aXRoIG5v
IGV4cGxpY2l0IHJvb3QgYW5kIHRhcmdldCBpbiBhIGNyb3NzLW9yaWdpbiBpZnJhbWUuIik7Cis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc2Nvbm5lY3QtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvZGlzY29ubmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFkZjZlN2E3MGJi
MWE1MGNjMTc3M2YyNGFlODBmZTBkOWU2ZWVlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
L2Rpc2Nvbm5lY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQQVNTIEludGVyc2Vj
dGlvbk9ic2VydmVyIHNob3VsZCBub3QgZGVsaXZlciBwZW5kaW5nIG5vdGlmaWNhdGlvbnMgYWZ0
ZXIgZGlzY29ubmVjdCgpLiAKK0ZBSUwgRmlyc3QgckFGLiBhc3NlcnRfZXF1YWxzOiBJbml0aWFs
IG5vdGlmaWNhdGlvbi4gZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgb2JzZXJ2ZXIuZGlzY29u
bmVjdCgpIGFzc2VydF9lcXVhbHM6IE5vIG5ldyBub3RpZmljYXRpb25zLiBleHBlY3RlZCAxIGJ1
dCBnb3QgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9kaXNjb25uZWN0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci9kaXNjb25uZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGFiZmJjNGU4YWFmYTNlNWYwNzNmODg5OTE4
OGY0MDlhZjIxZTU2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc2Nvbm5lY3QuaHRt
bApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4K
K3ByZSwgI2xvZyB7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAy
MDBweDsKK30KKy5zcGFjZXIgeworICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxMDBweCk7Cit9Cisj
dGFyZ2V0IHsKKyAgd2lkdGg6IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+CisKKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+
Cis8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKwor
PHNjcmlwdD4KK3ZhciBlbnRyaWVzID0gW107Cit2YXIgb2JzZXJ2ZXI7Cit2YXIgdGFyZ2V0Owor
CitydW5UZXN0Q3ljbGUoZnVuY3Rpb24oKSB7CisgIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKTsKKyAgYXNzZXJ0X3RydWUoISF0YXJnZXQsICJ0YXJnZXQgZXhpc3Rz
Iik7CisgIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGNoYW5n
ZXMpIHsKKyAgICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykKKyAgfSk7CisgIG9i
c2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2Vy
dmVyLnRha2VSZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAi
Tm8gaW5pdGlhbCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJz
dCByQUYuIik7Cit9LCAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgc2hvdWxkIG5vdCBkZWxpdmVyIHBl
bmRpbmcgbm90aWZpY2F0aW9ucyBhZnRlciBkaXNjb25uZWN0KCkuIik7CisKK2Z1bmN0aW9uIHN0
ZXAwKCkgeworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJvYnNlcnZlci5kaXNjb25uZWN0KCkiKTsK
KyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAzMDA7CisgIG9ic2VydmVy
LmRpc2Nvbm5lY3QoKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIkluaXRp
YWwgbm90aWZpY2F0aW9uLiIpOworfQorCitmdW5jdGlvbiBzdGVwMSgpIHsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIk5vIG5ldyBub3RpZmljYXRpb25zLiIpOworfQorPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9kaXNwbGF5LW5vbmUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvZGlzcGxheS1ub25lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzJhNDFmZDc1
ZTE0NjQyNDFjZTZjMWJhYmM4M2NiYmNmY2QzODZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2
ZXIvZGlzcGxheS1ub25lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworUEFTUyBJbnRl
cnNlY3Rpb25PYnNlcnZlciBzaG91bGQgc2VuZCBhIG5vdC1pbnRlcnNlY3Rpbmcgbm90aWZpY2F0
aW9uIGZvciBhIHRhcmdldCB0aGF0IGdldHMgZGlzcGxheTpub25lLiAKK0ZBSUwgSW50ZXJzZWN0
aW5nIG5vdGlmaWNhdGlvbiBhZnRlciBmaXJzdCByQUYuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMu
bGVuZ3RoIGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIE5vdC1pbnRlcnNlY3Rpbmcgbm90aWZp
Y2F0aW9uIGFmdGVyIHNldHRpbmcgZGlzcGxheTpub25lIG9uIHRhcmdldC4gYXNzZXJ0X2VxdWFs
czogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgSW50ZXJzZWN0aW5n
IG5vdGlmaWNhdGlvbiBhZnRlciByZW1vdmluZyBkaXNwbGF5Om5vbmUgb24gdGFyZ2V0LiBhc3Nl
cnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAzIGJ1dCBnb3QgMAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci9kaXNwbGF5LW5vbmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc3BsYXktbm9uZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdjZWJjNTYzM2VmOTEyMjgxMjlkMmExYzA0NzgyNjI2MTVhZDNiYTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9kaXNwbGF5LW5vbmUuaHRtbApAQCAtMCwwICsx
LDU0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXItdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3ByZSwgI2xvZyB7
CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAyMDBweDsKK30KKyN0
YXJnZXQgeworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgd2lkdGg6IDEwMHB4OworICBo
ZWlnaHQ6IDEwMHB4OworfQorPC9zdHlsZT4KKworPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKwor
PHNjcmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsK
K3ZhciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisKK3ZhciBl
bnRyaWVzID0gW107CisKK3J1blRlc3RDeWNsZShmdW5jdGlvbigpIHsKKyAgdmFyIHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgdmFyIHJvb3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oY2hhbmdlcykgeworICAgIGVudHJpZXMgPSBlbnRyaWVzLmNv
bmNhdChjaGFuZ2VzKQorICB9KTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICBlbnRy
aWVzID0gZW50cmllcy5jb25jYXQob2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CisgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDAsICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7Cisg
IHJ1blRlc3RDeWNsZShzdGVwMCwgIkludGVyc2VjdGluZyBub3RpZmljYXRpb24gYWZ0ZXIgZmly
c3QgckFGLiIpOworfSwgIkludGVyc2VjdGlvbk9ic2VydmVyIHNob3VsZCBzZW5kIGEgbm90LWlu
dGVyc2VjdGluZyBub3RpZmljYXRpb24gZm9yIGEgdGFyZ2V0IHRoYXQgZ2V0cyBkaXNwbGF5Om5v
bmUuIik7CisKK2Z1bmN0aW9uIHN0ZXAwKCkgeworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJOb3Qt
aW50ZXJzZWN0aW5nIG5vdGlmaWNhdGlvbiBhZnRlciBzZXR0aW5nIGRpc3BsYXk6bm9uZSBvbiB0
YXJnZXQuIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDAsIFs4LCAxMDgsIDgsIDEwOCwg
OCwgMTA4LCA4LCAxMDgsIDAsIHZ3LCAwLCB2aCwgdHJ1ZV0pOworICB0YXJnZXQuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKK30KKworZnVuY3Rpb24gc3RlcDEoKSB7CisgIHJ1blRlc3RDeWNsZShz
dGVwMiwgIkludGVyc2VjdGluZyBub3RpZmljYXRpb24gYWZ0ZXIgcmVtb3ZpbmcgZGlzcGxheTpu
b25lIG9uIHRhcmdldC4iKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMSwgWzAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIGZhbHNlXSk7CisgIHRhcmdldC5zdHlsZS5kaXNw
bGF5ID0gIiI7Cit9CisKK2Z1bmN0aW9uIHN0ZXAyKCkgeworICBjaGVja0xhc3RFbnRyeShlbnRy
aWVzLCAyLCBbOCwgMTA4LCA4LCAxMDgsIDgsIDEwOCwgOCwgMTA4LCAwLCB2dywgMCwgdmgsIHRy
dWVdKTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRnZS1pbmNsdXNpdmUt
aW50ZXJzZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2VkZ2UtaW5jbHVzaXZlLWludGVy
c2VjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZkMTk5ZjdkNTNmMDUwMjk5ZDRmOGZl
MDhlYjI5NGE1MDE2N2E1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2VkZ2UtaW5jbHVz
aXZlLWludGVyc2VjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgSW50
ZXJzZWN0aW9uT2JzZXJ2ZXIgc2hvdWxkIGRldGVjdCBhbmQgcmVwb3J0IGVkZ2UtYWRqYWNlbnQg
YW5kIHplcm8tYXJlYSBpbnRlcnNlY3Rpb25zLiAKK0ZBSUwgRmlyc3QgckFGLiBhc3NlcnRfZXF1
YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCBTZXQgdHJhbnNm
b3JtPXRyYW5zbGF0ZVkoMjAwcHgpIG9uIHRhcmdldC4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5s
ZW5ndGggZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgU2V0IHRyYW5zZm9ybT10cmFuc2xhdGVZ
KDIwMXB4KSBvbiB0YXJnZXQuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVk
IDMgYnV0IGdvdCAwCitGQUlMIFNldCB0cmFuc2Zvcm09dHJhbnNsYXRlWSgxODVweCkgb24gdGFy
Z2V0LiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCA0IGJ1dCBnb3QgMAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci9lZGdlLWluY2x1c2l2ZS1pbnRlcnNlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL2VkZ2UtaW5jbHVzaXZlLWludGVyc2VjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5
ZmEyNGI4NzgwOGFiYzE1ODMwN2U4YzY5YWZlZWI1Y2UzYzE5MDcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci9lZGdlLWluY2x1c2l2ZS1pbnRlcnNlY3Rpb24uaHRtbApAQCAtMCwwICsxLDY2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXItdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3ByZSwgI2xvZyB7Cisg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAyMDBweDsKK30KKyNyb290
IHsKKyAgd2lkdGg6IDIwMHB4OworICBoZWlnaHQ6IDIwMHB4OworICBvdmVyZmxvdzogdmlzaWJs
ZTsKK30KKyN0YXJnZXQgeworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+
CisKKzxkaXYgaWQ9InJvb3QiPgorICA8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJ3aWR0aDogMTAw
cHg7IGhlaWdodDogMTAwcHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCkiPjwvZGl2Pgor
PC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgZW50cmllcyA9IFtdOworCitydW5UZXN0Q3ljbGUoZnVu
Y3Rpb24oKSB7CisgIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTsK
KyAgYXNzZXJ0X3RydWUoISFyb290LCAicm9vdCBlbGVtZW50IGV4aXN0cy4iKTsKKyAgdmFyIHRh
cmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgYXNzZXJ0X3RydWUo
ISF0YXJnZXQsICJ0YXJnZXQgZWxlbWVudCBleGlzdHMuIik7CisgIHZhciBvYnNlcnZlciA9IG5l
dyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihjaGFuZ2VzKSB7CisgICAgZW50cmllcyA9
IGVudHJpZXMuY29uY2F0KGNoYW5nZXMpOworICB9LCB7IHJvb3Q6IHJvb3QgfSk7CisgIG9ic2Vy
dmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVy
LnRha2VSZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAiTm8g
aW5pdGlhbCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJzdCBy
QUYuIik7Cit9LCAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgc2hvdWxkIGRldGVjdCBhbmQgcmVwb3J0
IGVkZ2UtYWRqYWNlbnQgYW5kIHplcm8tYXJlYSBpbnRlcnNlY3Rpb25zLiIpOworCitmdW5jdGlv
biBzdGVwMCgpIHsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAxLCAiU2V0IHRyYW5zZm9ybT10cmFuc2xh
dGVZKDIwMHB4KSBvbiB0YXJnZXQuIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDAsIFs4
LCAxMDgsIDI1OCwgMzU4LCAwLCAwLCAwLCAwLCA4LCAyMDgsIDgsIDIwOCwgZmFsc2VdKTsKKyAg
dGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICJ0cmFuc2xhdGVZKDIwMHB4KSI7Cit9CisKK2Z1bmN0
aW9uIHN0ZXAxKCkgeworICBydW5UZXN0Q3ljbGUoc3RlcDIsICJTZXQgdHJhbnNmb3JtPXRyYW5z
bGF0ZVkoMjAxcHgpIG9uIHRhcmdldC4iKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMSwg
WzgsIDEwOCwgMjA4LCAzMDgsIDgsIDEwOCwgMjA4LCAyMDgsIDgsIDIwOCwgOCwgMjA4LCB0cnVl
XSk7CisgIHRhcmdldC5zdHlsZS50cmFuc2Zvcm0gPSAidHJhbnNsYXRlWSgyMDFweCkiOworfQor
CitmdW5jdGlvbiBzdGVwMigpIHsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAzLCAiU2V0IHRyYW5zZm9y
bT10cmFuc2xhdGVZKDE4NXB4KSBvbiB0YXJnZXQuIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJp
ZXMsIDIpOworICB0YXJnZXQuc3R5bGUuaGVpZ2h0ID0gIjBweCI7CisgIHRhcmdldC5zdHlsZS53
aWR0aCA9ICIzMDBweCI7CisgIHRhcmdldC5zdHlsZS50cmFuc2Zvcm0gPSAidHJhbnNsYXRlWSgx
ODVweCkiOworfQorCitmdW5jdGlvbiBzdGVwMygpIHsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmll
cywgMywgWzgsIDMwOCwgMTkzLCAxOTMsIDgsIDIwOCwgMTkzLCAxOTMsIDgsIDIwOCwgOCwgMjA4
LCB0cnVlXSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lkbGhhcm5lc3Mu
d2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYjdmZWUwNWFjYjBiZDFlMjk5MDQ1MGJmMWI4ZWUyZDcyZTNiMWVl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IFJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBpZGxfdGVzdAorCitGQUlMIFVudGl0bGVkIFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBpZGxfdGVzdAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5k
b3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0
OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbApA
QCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3Qg
aW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNTllMWNlNjM4
YjVmMmNhYzRlNGYwMTNjNTY3YTU2ODk0NTk5YTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci9pZGxoYXJuZXNzLndpbmRvdy5qcwpAQCAtMCwwICsxLDIyIEBACisvLyBNRVRBOiBzY3JpcHQ9
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lk
bGhhcm5lc3MuanMKKworJ3VzZSBzdHJpY3QnOworCisvLyBodHRwczovL3czYy5naXRodWIuaW8v
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIvCisKK2lkbF90ZXN0KAorICBbJ2ludGVyc2VjdGlvbi1vYnNl
cnZlciddLAorICBbJ2RvbSddLAorICBpZGxfYXJyYXkgPT4geworICAgIGlkbF9hcnJheS5hZGRf
b2JqZWN0cyh7CisgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcjogWydvYnNlcnZlciddLAorICAg
IH0pOworICAgIHZhciBvcHRpb25zID0geworICAgICAgcm9vdDogZG9jdW1lbnQuYm9keSwKKyAg
ICAgIHJvb3RNYXJnaW46ICcwcHgnLAorICAgICAgdGhyZXNob2xkOiAxLjAKKyAgICB9CisgICAg
c2VsZi5vYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoKSA9PiB7fSwgb3B0aW9u
cyk7CisgIH0KKyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pZnJhbWUtbm8tcm9vdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci9pZnJhbWUtbm8tcm9vdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTEzN2JlZTZiNWQ0ZThkZTYzMTM1NDg3NjMzM2ZiZTliMDRiNjI0YwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL2lmcmFtZS1uby1yb290LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAK
KworCitQQVNTIE9ic2VydmVyIHdpdGggdGhlIGltcGxpY2l0IHJvb3Q7IHRhcmdldCBpbiBhIHNh
bWUtb3JpZ2luIGlmcmFtZS4gCitGQUlMIEZpcnN0IHJBRi4gYXNzZXJ0X2VxdWFsczogZW50cmll
cy5sZW5ndGggZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgZG9jdW1lbnQuc2Nyb2xsaW5nRWxl
bWVudC5zY3JvbGxUb3AgPSAyMDAgYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggPT0gMSBl
eHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCBpZnJhbWUuY29udGVudERvY3VtZW50LnNjcm9sbGlu
Z0VsZW1lbnQuc2Nyb2xsVG9wID0gMjUwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4
cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gMTAwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdv
dCAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lmcmFtZS1uby1yb290Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci9pZnJhbWUtbm8tcm9vdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzN2FlYWM1NTMwZjM0ODMyODI3NGY5
ZjhhMmVlYWU5ZjA4NjA5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pZnJhbWUtbm8t
cm9vdC5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKwor
PHN0eWxlPgorcHJlLCAjbG9nIHsKKyAgcG9zaXRpb246IGFic29sdXRlOworICB0b3A6IDA7Cisg
IGxlZnQ6IDIwMHB4OworfQorLnNwYWNlciB7CisgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4
KTsKK30KK2lmcmFtZSB7CisgIGhlaWdodDogMTAwcHg7CisgIHdpZHRoOiAxNTBweDsKK30KKzwv
c3R5bGU+CisKKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Cis8aWZyYW1lIGlkPSJ0YXJnZXQt
aWZyYW1lIiBzcmM9InJlc291cmNlcy9pZnJhbWUtbm8tcm9vdC1zdWJmcmFtZS5odG1sIj48L2lm
cmFtZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgdncgPSBk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7Cit2YXIgdmggPSBkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OworCit2YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldC1pZnJhbWUiKTsKK3ZhciB0YXJnZXQ7Cit2YXIgZW50cmllcyA9
IFtdOworCitpZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7CisgIHJ1blRlc3RDeWNsZShmdW5j
dGlvbigpIHsKKyAgICBhc3NlcnRfdHJ1ZSghIWlmcmFtZSwgImlmcmFtZSBleGlzdHMiKTsKKwor
ICAgIHRhcmdldCA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpOworICAgIGFzc2VydF90cnVlKCEhdGFyZ2V0LCAiVGFyZ2V0IGVsZW1lbnQgZXhpc3RzLiIp
OworICAgIHZhciBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihj
aGFuZ2VzKSB7CisgICAgICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykKKyAgICB9
KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgZW50cmllcyA9IGVudHJpZXMu
Y29uY2F0KG9ic2VydmVyLnRha2VSZWNvcmRzKCkpOworICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDAsICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgICAgcnVuVGVzdEN5
Y2xlKHN0ZXAwLCAiRmlyc3QgckFGLiIpOworICB9LCAiT2JzZXJ2ZXIgd2l0aCB0aGUgaW1wbGlj
aXQgcm9vdDsgdGFyZ2V0IGluIGEgc2FtZS1vcmlnaW4gaWZyYW1lLiIpOworfTsKKworZnVuY3Rp
b24gc3RlcDAoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMjAw
OworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9s
bFRvcCA9IDIwMCIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAwLCBbOCwgMTA4LCAyMDgs
IDMwOCwgMCwgMCwgMCwgMCwgMCwgdncsIDAsIHZoLCBmYWxzZV0pOworfQorCitmdW5jdGlvbiBz
dGVwMSgpIHsKKyAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9s
bFRvcCA9IDI1MDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAyLCAiaWZyYW1lLmNvbnRlbnREb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDI1MCIpOworICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAxLCAiZW50cmllcy5sZW5ndGggPT0gMSIpOworfQorCitmdW5jdGlvbiBz
dGVwMigpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAxMDA7Cisg
IHJ1blRlc3RDeWNsZShzdGVwMywgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9w
ID0gMTAwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDEsIFs4LCAxMDgsIC00MiwgNTgs
IDgsIDEwOCwgMCwgNTgsIDAsIHZ3LCAwLCB2aCwgdHJ1ZV0pOworfQorCitmdW5jdGlvbiBzdGVw
MygpIHsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMiwgWzgsIDEwOCwgLTQyLCA1OCwgMCwg
MCwgMCwgMCwgMCwgdncsIDAsIHZoLCBmYWxzZV0pOworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVt
ZW50LnNjcm9sbFRvcCA9IDA7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lu
bGluZS1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pbmxpbmUtY2xpZW50LXJl
Y3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjY2FkZjA1OTg5ZDAyOTljMDVjZDgwZDFmMDRi
Y2NjZDFiMDkwOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pbmxpbmUtY2xpZW50LXJl
Y3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorMSAyIDMgNCA1CisKK1BBU1MgSW5saW5l
IHRhcmdldCAKK0ZBSUwgRmlyc3QgckFGIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4
cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIHNjcm9sbGVyLnNjcm9sbExlZnQgPSA5MCBhc3NlcnRf
ZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAyIGJ1dCBnb3QgMAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci9pbmxpbmUtY2xpZW50LXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lubGluZS1jbGll
bnQtcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZGZjOGRlMjQ0NThlMGZiNDkwZGU0ZjAwNTM3MTk3
YzA2NjJlNTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pbmxpbmUtY2xpZW50LXJlY3Qu
aHRtbApAQCAtMCwwICsxLDkyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisKKzxzdHls
ZT4KK3ByZSwgI2xvZyB7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgdG9wOiAxMjBweDsKKyAg
bGVmdDogMDsKK30KKyNzY3JvbGxlciB7CisgIHdpZHRoOiAyNTBweDsKKyAgb3ZlcmZsb3c6IGF1
dG87Cit9Cisjb3ZlcmZsb3cgeworICB3aWR0aDogMTAwMHB4OworfQorLmNvbnRlbnQgeworICB3
aWR0aDogMTAwcHg7CisgIGhlaWdodDogMjBweDsKKyAgcGFkZGluZzogNDBweCAwOworICB0ZXh0
LWFsaWduOiBjZW50ZXI7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7CisgIGRpc3BsYXk6IGlu
bGluZS1ibG9jazsKK30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9InNjcm9sbGVyIj4KKyAgPGRpdiBp
ZD0ib3ZlcmZsb3ciPgorICAgIDxzcGFuPjxkaXYgY2xhc3M9ImNvbnRlbnQiPjE8L2Rpdj48L3Nw
YW4+CisgICAgPHNwYW4+PGRpdiBjbGFzcz0iY29udGVudCI+MjwvZGl2Pjwvc3Bhbj4KKyAgICA8
c3Bhbj48ZGl2IGNsYXNzPSJjb250ZW50Ij4zPC9kaXY+PC9zcGFuPgorICAgIDxzcGFuIGlkPSJ0
YXJnZXQiPjxkaXYgY2xhc3M9ImNvbnRlbnQiPjQ8L2Rpdj48L3NwYW4+CisgICAgPHNwYW4+PGRp
diBjbGFzcz0iY29udGVudCI+NTwvZGl2Pjwvc3Bhbj4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPHNj
cmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsKK3Zh
ciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisKK3ZhciBlbnRy
aWVzID0gW107Cit2YXIgc2Nyb2xsZXIsIHRhcmdldCwgc3BhY2VXaWR0aCwgdGFyZ2V0T2Zmc2V0
TGVmdCwgdGFyZ2V0T2Zmc2V0VG9wOworCitydW5UZXN0Q3ljbGUoZnVuY3Rpb24oKSB7CisgIHNj
cm9sbGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9sbGVyIik7CisgIGFzc2VydF90
cnVlKCEhc2Nyb2xsZXIsICJzY3JvbGxlciBleGlzdHMiKTsKKyAgdGFyZ2V0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOworICBhc3NlcnRfdHJ1ZSghIXRhcmdldCwgInRhcmdl
dCBleGlzdHMiKTsKKyAgdmFyIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1
bmN0aW9uKGNoYW5nZXMpIHsKKyAgICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykK
KyAgfSk7CisgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMu
Y29uY2F0KG9ic2VydmVyLnRha2VSZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAwLCAiTm8gaW5pdGlhbCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUo
c3RlcDAsICJGaXJzdCByQUYiKTsKK30sICJJbmxpbmUgdGFyZ2V0Iik7CisKK2Z1bmN0aW9uIHN0
ZXAwKCkgeworICAvLyBNZWFzdXJlIHNwYWNlIHdpZHRoIGJldHdlZW4gdHdvIGFkamFjZW50IGlu
bGluZXMuCisgIGxldCBuZXh0RWwgPSB0YXJnZXQubmV4dEVsZW1lbnRTaWJsaW5nOworICBzcGFj
ZVdpZHRoID0gbmV4dEVsLm9mZnNldExlZnQgLSB0YXJnZXQub2Zmc2V0TGVmdCAtIHRhcmdldC5v
ZmZzZXRXaWR0aDsKKyAgLy8gOHB4IGJvZHkgbWFyZ2luICsgMyBwcmVjZWRpbmcgc2libGluZ3Mg
QCAoMTAwcHggd2lkdGggKyBzcGFjZVdpZHRoKSBlYWNoCisgIHRhcmdldE9mZnNldExlZnQgPSA4
ICsgMzAwICsgKHNwYWNlV2lkdGggKiAzKTsKKyAgLy8gOHB4IGJvZHkgbWFyZ2luICsgNDBweCB0
b3AgcGFkZGluZworICB0YXJnZXRPZmZzZXRUb3AgPSA0ODsKKyAgbGV0IGxlZnQgPSB0YXJnZXRP
ZmZzZXRMZWZ0OworICBsZXQgcmlnaHQgPSBsZWZ0ICsgMTAwOworICBsZXQgdG9wID0gdGFyZ2V0
T2Zmc2V0VG9wOworICBsZXQgYm90dG9tID0gdG9wICsgdGFyZ2V0Lm9mZnNldEhlaWdodDsKKwor
ICBzY3JvbGxlci5zY3JvbGxMZWZ0ID0gOTA7CisgIHJ1blRlc3RDeWNsZShzdGVwMSwgInNjcm9s
bGVyLnNjcm9sbExlZnQgPSA5MCIpOworCisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDAsIFts
ZWZ0LCByaWdodCwgdG9wLCBib3R0b20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw
LCAwLCAwLCAwLCAwLCB2dywgMCwgdmgsIGZhbHNlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAxKCkg
eworICAvLyAtOTBweCBmb3Igc2Nyb2xsIG9mZnNldAorICBsZXQgbGVmdCA9IHRhcmdldE9mZnNl
dExlZnQgLSA5MDsKKyAgbGV0IHJpZ2h0ID0gbGVmdCArIDEwMDsKKyAgbGV0IHRvcCA9IHRhcmdl
dE9mZnNldFRvcDsKKyAgbGV0IGJvdHRvbSA9IHRvcCArIHRhcmdldC5vZmZzZXRIZWlnaHQ7Cisg
IC8vIDhweCBib2R5IG1hcmdpbiArIDI1MHB4IGNsaWVudCB3aWR0aCBvZiBzY3JvbGxlcgorICBs
ZXQgc2Nyb2xsZXJSaWdodCA9IDI1ODsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMSwgW2xl
ZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl
ZnQsIHNjcm9sbGVyUmlnaHQsIHRvcCwgYm90dG9tLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMCwgdncsIDAsIHZoLCB0cnVlXSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL2lzSW50ZXJzZWN0aW5nLWNoYW5nZS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2
ZXIvaXNJbnRlcnNlY3RpbmctY2hhbmdlLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDdkNDhmMjAxOTVlYzdhY2JiYjU0ODAwYzE2MDA5MmE5MTg1MGI2YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL2lzSW50ZXJzZWN0aW5nLWNoYW5nZS1ldmVudHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorCitQQVNTIGlzSW50ZXJzZWN0aW5nIGNoYW5nZXMgc2hvdWxkIHRyaWdn
ZXIgbm90aWZpY2F0aW9ucy4gCitGQUlMIFJlY3RzIGluIGluaXRpYWwgbm90aWZpY2F0aW9ucyBz
aG91bGQgcmVwb3J0IGluaXRpYWwgcG9zaXRpb25zLiBhc3NlcnRfZXF1YWxzOiBIYXMgMyBpbml0
aWFsIG5vdGlmaWNhdGlvbnMuIGV4cGVjdGVkIDMgYnV0IGdvdCAwCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL2lzSW50ZXJzZWN0aW5nLWNoYW5nZS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lzSW50
ZXJzZWN0aW5nLWNoYW5nZS1ldmVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOTM2MmMzMDI0YzIwMDNh
YzAzYzFlNzg5YzU0NDg2ODMwNzEwYzkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaXNJ
bnRlcnNlY3RpbmctY2hhbmdlLWV2ZW50cy5odG1sCkBAIC0wLDAgKzEsMTEyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3ByZSwgI2xvZyB7CisgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAyMDBweDsKK30KKyNyb290IHsKKyAgcG9zaXRp
b246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxlZnQ6IDA7CisgIHdpZHRoOiAxNTBweDsKKyAg
aGVpZ2h0OiAyMDBweDsKKyAgb3ZlcmZsb3cteTogc2Nyb2xsOworfQorI3RhcmdldDEsICN0YXJn
ZXQyLCAjdGFyZ2V0MywgI3RhcmdldDQgeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAw
cHg7Cit9CisjdGFyZ2V0MSB7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorI3Rhcmdl
dDIgeworICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisjdGFyZ2V0MyB7CisgIGJhY2tncm91
bmQtY29sb3I6IGJsdWU7Cit9CisjdGFyZ2V0NCB7CisgIGJhY2tncm91bmQtY29sb3I6IHllbGxv
dzsKK30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9InJvb3QiPgorICA8ZGl2IGlkPSJ0YXJnZXQxIj48
L2Rpdj4KKyAgPGRpdiBpZD0idGFyZ2V0MiI+PC9kaXY+CisgIDxkaXYgaWQ9InRhcmdldDMiPjwv
ZGl2PgorPC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgZW50cmllcyA9IFtdOwordmFyIG9ic2VydmVy
OworCitydW5UZXN0Q3ljbGUoZnVuY3Rpb24oKSB7CisgIHZhciByb290ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Jvb3QnKTsKKyAgdmFyIHRhcmdldDEgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGFyZ2V0MScpOworICB2YXIgdGFyZ2V0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXQyJyk7CisgIHZhciB0YXJnZXQzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rh
cmdldDMnKTsKKyAgYXNzZXJ0X3RydWUoISFyb290LCAicm9vdCBlbGVtZW50IGV4aXN0cy4iKTsK
KyAgYXNzZXJ0X3RydWUoISF0YXJnZXQxLCAidGFyZ2V0MSBlbGVtZW50IGV4aXN0cy4iKTsKKyAg
YXNzZXJ0X3RydWUoISF0YXJnZXQyLCAidGFyZ2V0MiBlbGVtZW50IGV4aXN0cy4iKTsKKyAgYXNz
ZXJ0X3RydWUoISF0YXJnZXQzLCAidGFyZ2V0MyBlbGVtZW50IGV4aXN0cy4iKTsKKyAgb2JzZXJ2
ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oY2hhbmdlcykgeworICAgIGVu
dHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKTsKKyAgfSwgeyByb290OiByb290IH0pOwor
ICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldDEpOworICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldDIp
OworICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldDMpOworICBlbnRyaWVzID0gZW50cmllcy5jb25j
YXQob2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDAsICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgIHJ1blRlc3RDeWNsZShzdGVw
MCwgIlJlY3RzIGluIGluaXRpYWwgbm90aWZpY2F0aW9ucyBzaG91bGQgcmVwb3J0IGluaXRpYWwg
cG9zaXRpb25zLiIpOworfSwgImlzSW50ZXJzZWN0aW5nIGNoYW5nZXMgc2hvdWxkIHRyaWdnZXIg
bm90aWZpY2F0aW9ucy4iKTsKKworZnVuY3Rpb24gc3RlcDAoKSB7CisgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDMsICJIYXMgMyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgIGNo
ZWNrUmVjdChlbnRyaWVzWzBdLmJvdW5kaW5nQ2xpZW50UmVjdCwgWzAsIDEwMCwgMCwgMTAwXSwg
IkNoZWNrIDFzdCBlbnRyeSByZWN0Iik7CisgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJn
ZXQuaWQsICd0YXJnZXQxJywgIkNoZWNrIDFzdCBlbnRyeSB0YXJnZXQgaWQuIik7CisgIGNoZWNr
SXNJbnRlcnNlY3RpbmcoZW50cmllcywgMCwgdHJ1ZSk7CisgIGNoZWNrUmVjdChlbnRyaWVzWzFd
LmJvdW5kaW5nQ2xpZW50UmVjdCwgWzAsIDEwMCwgMTAwLCAyMDBdLCAiQ2hlY2sgMm5kIGVudHJ5
IHJlY3QiKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzFdLnRhcmdldC5pZCwgJ3RhcmdldDIn
LCAiQ2hlY2sgMm5kIGVudHJ5IHRhcmdldCBpZC4iKTsKKyAgY2hlY2tJc0ludGVyc2VjdGluZyhl
bnRyaWVzLCAxLCB0cnVlKTsKKyAgY2hlY2tSZWN0KGVudHJpZXNbMl0uYm91bmRpbmdDbGllbnRS
ZWN0LCBbMCwgMTAwLCAyMDAsIDMwMF0sICJDaGVjayAzcmQgZW50cnkgcmVjdCIpOworICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMl0udGFyZ2V0LmlkLCAndGFyZ2V0MycsICJDaGVjayAzcmQgZW50
cnkgdGFyZ2V0IGlkLiIpOworICBjaGVja0lzSW50ZXJzZWN0aW5nKGVudHJpZXMsIDIsIHRydWUp
OworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJTZXQgc2Nyb2xsVG9wPTEwMCBhbmQgY2hlY2sgZm9y
IG5vIG5ldyBub3RpZmljYXRpb25zLiIpOworICByb290LnNjcm9sbFRvcCA9IDEwMDsKK30KKwor
ZnVuY3Rpb24gc3RlcDEoKSB7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICJI
YXMgMyB0b3RhbCBub3RpZmljYXRpb25zIGJlY2F1c2UgaXNJbnRlcnNlY3RpbmcgZGlkIG5vdCBj
aGFuZ2UuIik7CisgIHJ1blRlc3RDeWNsZShzdGVwMiwgIkFkZCA0dGggdGFyZ2V0LiIpOworICBy
b290LnNjcm9sbFRvcCA9IDA7CisgIHZhciB0YXJnZXQ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CisgIHRhcmdldDQuc2V0QXR0cmlidXRlKCdpZCcsICd0YXJnZXQ0Jyk7CisgIHJv
b3QuYXBwZW5kQ2hpbGQodGFyZ2V0NCk7CisgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0NCk7Cit9
CisKK2Z1bmN0aW9uIHN0ZXAyKCkgeworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA0
LCAiSGFzIDMgdG90YWwgbm90aWZpY2F0aW9ucyBiZWNhdXNlIDR0aCBlbGVtZW50IHdhcyBhZGRl
ZC4iKTsKKyAgY2hlY2tSZWN0KGVudHJpZXNbM10uYm91bmRpbmdDbGllbnRSZWN0LCBbMCwgMTAw
LCAzMDAsIDQwMF0sICJDaGVjayA0dGggZW50cnkgcmVjdCIpOworICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbM10udGFyZ2V0LmlkLCAndGFyZ2V0NCcsICJDaGVjayA0dGggZW50cnkgdGFyZ2V0IGlk
LiIpOworICBjaGVja0lzSW50ZXJzZWN0aW5nKGVudHJpZXMsIDMsIGZhbHNlKTsKKyAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzWzNdLmludGVyc2VjdGlvblJhdGlvLCAwLCAndGFyZ2V0NCBpbml0aWFs
bHkgaGFzIGludGVyc2VjdGlvblJhdGlvIG9mIDAuJyk7CisgIHJ1blRlc3RDeWNsZShzdGVwMywg
IlNldCBzY3JvbGxUb3A9MTAwIGFuZCBjaGVjayBmb3Igb25lIG5ldyBub3RpZmljYXRpb24uIik7
CisgIHJvb3Quc2Nyb2xsVG9wID0gMTAwOworfQorCitmdW5jdGlvbiBzdGVwMygpIHsKKyAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNSwgIkhhcyA1IHRvdGFsIG5vdGlmaWNhdGlvbnMu
Iik7CisgIGNoZWNrUmVjdChlbnRyaWVzWzRdLmJvdW5kaW5nQ2xpZW50UmVjdCwgWzAsIDEwMCwg
MjAwLCAzMDBdLCAiQ2hlY2sgNXRoIGVudHJ5IHJlY3QiKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzRdLnRhcmdldC5pZCwgJ3RhcmdldDQnLCAiQ2hlY2sgNXRoIGVudHJ5IHRhcmdldCBpZC4i
KTsKKyAgY2hlY2tJc0ludGVyc2VjdGluZyhlbnRyaWVzLCA0LCB0cnVlKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzRdLmludGVyc2VjdGlvblJhdGlvLCAwLCAndGFyZ2V0NCBzdGlsbCBoYXMg
aW50ZXJzZWN0aW9uUmF0aW8gb2YgMC4nKTsKKyAgcm9vdC5zY3JvbGxUb3AgPSAwOyAvLyByZXNl
dCB0byBtYWtlIGl0IGVhc2llciB0byByZWZyZXNoIGFuZCBydW4gdGhlIHRlc3QKK30KKworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9tdWx0aXBsZS10YXJnZXRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL211bHRpcGxlLXRhcmdldHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRk
MTQ4MmNjYjQ2YTNkYzRlNjg2ZGZmNWU4YTdiZmFjNWY3YmYyMGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci9tdWx0aXBsZS10YXJnZXRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAK
KworUEFTUyBPbmUgb2JzZXJ2ZXIgd2l0aCBtdWx0aXBsZSB0YXJnZXRzLiAKK0ZBSUwgRmlyc3Qg
ckFGLiBhc3NlcnRfZXF1YWxzOiBUaHJlZSBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIGV4cGVjdGVk
IDMgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0g
MTUwIGFzc2VydF9lcXVhbHM6IEZvdXIgbm90aWZpY2F0aW9ucy4gZXhwZWN0ZWQgNCBidXQgZ290
IDAKK0ZBSUwgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAxMDAwMCBhc3Nl
cnRfZXF1YWxzOiBTaXggbm90aWZpY2F0aW9ucy4gZXhwZWN0ZWQgNiBidXQgZ290IDAKK0ZBSUwg
ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwIGFzc2VydF9lcXVhbHM6IE5p
bmUgbm90aWZpY2F0aW9ucy4gZXhwZWN0ZWQgOSBidXQgZ290IDAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvbXVsdGlwbGUtdGFyZ2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvbXVsdGlwbGUtdGFyZ2V0cy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjUyNWM1YTY5OWQxY2M1MTA4MGJlYmM2NTBhZTM3N2IyNmMyZmU3ZWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9tdWx0aXBsZS10YXJnZXRzLmh0bWwKQEAgLTAs
MCArMSw4MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitwcmUsICNs
b2cgeworICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIHRvcDogMDsKKyAgbGVmdDogMjAwcHg7Cit9
Cisuc3BhY2VyIHsKKyAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMTAwcHgpOworfQorLnRhcmdldCB7
CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgbWFyZ2luOiAxMHB4OworICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+CisKKzxkaXYgY2xhc3M9InNwYWNl
ciI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQxIiBjbGFzcz0idGFyZ2V0Ij48L2Rpdj4KKzxkaXYg
aWQ9InRhcmdldDIiIGNsYXNzPSJ0YXJnZXQiPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0MyIgY2xh
c3M9InRhcmdldCI+PC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgZW50cmllcyA9IFtdOwordmFyIHRh
cmdldDEsIHRhcmdldDIsIHRhcmdldDM7CisKK3J1blRlc3RDeWNsZShmdW5jdGlvbigpIHsKKyAg
dGFyZ2V0MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQxIik7CisgIGFzc2VydF90
cnVlKCEhdGFyZ2V0MSwgInRhcmdldDEgZXhpc3RzLiIpOworICB0YXJnZXQyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldDIiKTsKKyAgYXNzZXJ0X3RydWUoISF0YXJnZXQyLCAidGFy
Z2V0MiBleGlzdHMuIik7CisgIHRhcmdldDMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0MyIpOworICBhc3NlcnRfdHJ1ZSghIXRhcmdldDMsICJ0YXJnZXQzIGV4aXN0cy4iKTsKKyAg
dmFyIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGNoYW5nZXMp
IHsKKyAgICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykKKyAgfSk7CisgIG9ic2Vy
dmVyLm9ic2VydmUodGFyZ2V0MSk7CisgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0Mik7CisgIG9i
c2VydmVyLm9ic2VydmUodGFyZ2V0Myk7CisgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChvYnNl
cnZlci50YWtlUmVjb3JkcygpKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMCwg
Ik5vIGluaXRpYWwgbm90aWZpY2F0aW9ucy4iKTsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAwLCAiRmly
c3QgckFGLiIpOworfSwgIk9uZSBvYnNlcnZlciB3aXRoIG11bHRpcGxlIHRhcmdldHMuIik7CisK
K2Z1bmN0aW9uIHN0ZXAwKCkgeworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRv
cCA9IDE1MDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAxLCAiZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVu
dC5zY3JvbGxUb3AgPSAxNTAiKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywg
IlRocmVlIGluaXRpYWwgbm90aWZpY2F0aW9ucy4iKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLnRhcmdldCwgdGFyZ2V0MSwgImVudHJpZXNbMF0udGFyZ2V0ID09PSB0YXJnZXQxIik7Cisg
IGFzc2VydF9lcXVhbHMoZW50cmllc1sxXS50YXJnZXQsIHRhcmdldDIsICJlbnRyaWVzWzFdLnRh
cmdldCA9PT0gdGFyZ2V0MiIpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMl0udGFyZ2V0LCB0
YXJnZXQzLCAiZW50cmllc1syXS50YXJnZXQgPT09IHRhcmdldDMiKTsKK30KKworZnVuY3Rpb24g
c3RlcDEoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMTAwMDA7
CisgIHJ1blRlc3RDeWNsZShzdGVwMiwgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gMTAwMDAiKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNCwgIkZvdXIg
bm90aWZpY2F0aW9ucy4iKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzNdLnRhcmdldCwgdGFy
Z2V0MSwgImVudHJpZXNbM10udGFyZ2V0ID09PSB0YXJnZXQxIik7Cit9CisKK2Z1bmN0aW9uIHN0
ZXAyKCkgeworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDA7CisgIHJ1
blRlc3RDeWNsZShzdGVwMywgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0g
MCIpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA2LCAiU2l4IG5vdGlmaWNhdGlv
bnMuIik7CisgIGFzc2VydF9lcXVhbHMoZW50cmllc1s0XS50YXJnZXQsIHRhcmdldDIsICJlbnRy
aWVzWzRdLnRhcmdldCA9PT0gdGFyZ2V0MiIpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbNV0u
dGFyZ2V0LCB0YXJnZXQzLCAiZW50cmllc1s1XS50YXJnZXQgPT09IHRhcmdldDMiKTsKK30KKwor
ZnVuY3Rpb24gc3RlcDMoKSB7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDksICJO
aW5lIG5vdGlmaWNhdGlvbnMuIik7CisgIGFzc2VydF9lcXVhbHMoZW50cmllc1s2XS50YXJnZXQs
IHRhcmdldDEsICJlbnRyaWVzWzZdLnRhcmdldCA9PT0gdGFyZ2V0MSIpOworICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbN10udGFyZ2V0LCB0YXJnZXQyLCAiZW50cmllc1s3XS50YXJnZXQgPT09IHRh
cmdldDIiKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzhdLnRhcmdldCwgdGFyZ2V0MywgImVu
dHJpZXNbOF0udGFyZ2V0ID09PSB0YXJnZXQzIik7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL211bHRpcGxlLXRocmVzaG9sZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvbXVs
dGlwbGUtdGhyZXNob2xkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRhNjZmODA4ZTVlZGI4
OTQ5ZDdkYThkYzE3Nzg1NTdiNjZmNzFlNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL211
bHRpcGxlLXRocmVzaG9sZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBP
YnNlcnZlciB3aXRoIG11bHRpcGxlIHRocmVzaG9sZHMuIAorRkFJTCBGaXJzdCByQUYuIGFzc2Vy
dF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIGRvY3Vt
ZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMTIwIGFzc2VydF9lcXVhbHM6IGVudHJp
ZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wID0gMTYwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVj
dGVkIDMgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9w
ID0gMjAwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDQgYnV0IGdvdCAw
CitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMjQwIGFzc2VydF9l
cXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDUgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50
LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gd2luZG93LmlubmVySGVpZ2h0ICsgMTQwIGFz
c2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDYgYnV0IGdvdCAwCitGQUlMIGRv
Y3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gd2luZG93LmlubmVySGVpZ2h0ICsg
MTYwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDcgYnV0IGdvdCAwCitG
QUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gd2luZG93LmlubmVySGVp
Z2h0ICsgMjAwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDggYnV0IGdv
dCAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL211bHRpcGxlLXRocmVzaG9sZHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL211bHRpcGxlLXRocmVzaG9sZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDUwMDY4OTQxY2Ux
ZDEzMmUzYmJhNjk3MGIzNjZhMjVhN2RiYzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIv
bXVsdGlwbGUtdGhyZXNob2xkcy5odG1sCkBAIC0wLDAgKzEsOTYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpz
Ij48L3NjcmlwdD4KKworPHN0eWxlPgorcHJlLCAjbG9nIHsKKyAgcG9zaXRpb246IGFic29sdXRl
OworICB0b3A6IDA7CisgIGxlZnQ6IDIwMHB4OworfQorLnNwYWNlciB7CisgIGhlaWdodDogY2Fs
YygxMDB2aCArIDEwMHB4KTsKK30KKyN0YXJnZXQgeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdo
dDogMTAwcHg7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKworPGRp
diBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJzcGFjZXIiPjwvZGl2PgorCis8c2NyaXB0PgordmFyIHZ3ID0gZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LmNsaWVudFdpZHRoOwordmFyIHZoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LmNsaWVudEhlaWdodDsKKwordmFyIGVudHJpZXMgPSBbXTsKK3ZhciB0YXJnZXQ7CisKK3J1blRl
c3RDeWNsZShmdW5jdGlvbigpIHsKKyAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldCIpOworICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVu
Y3Rpb24oY2hhbmdlcykgeworICAgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQor
ICB9LCB7IHRocmVzaG9sZDogWzAsIDAuMjUsIDAuNSwgMC43NSwgMV0gfSk7CisgIG9ic2VydmVy
Lm9ic2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVyLnRh
a2VSZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAiTm8gaW5p
dGlhbCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJzdCByQUYu
Iik7Cit9LCAiT2JzZXJ2ZXIgd2l0aCBtdWx0aXBsZSB0aHJlc2hvbGRzLiIpOworCitmdW5jdGlv
biBzdGVwMCgpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAxMjA7
CisgIHJ1blRlc3RDeWNsZShzdGVwMSwgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gMTIwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDAsIFs4LCAxMDgsIHZoICsg
MTA4LCB2aCArIDIwOCwgMCwgMCwgMCwgMCwgMCwgdncsIDAsIHZoLCBmYWxzZV0pOworfQorCitm
dW5jdGlvbiBzdGVwMSgpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3Ag
PSAxNjA7CisgIHJ1blRlc3RDeWNsZShzdGVwMiwgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQu
c2Nyb2xsVG9wID0gMTYwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDEsIFs4LCAxMDgs
IHZoIC0gMTIsIHZoICsgODgsIDgsIDEwOCwgdmggLSAxMiwgdmgsIDAsIHZ3LCAwLCB2aCwgdHJ1
ZV0pOworfQorCitmdW5jdGlvbiBzdGVwMigpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVu
dC5zY3JvbGxUb3AgPSAyMDA7CisgIHJ1blRlc3RDeWNsZShzdGVwMywgImRvY3VtZW50LnNjcm9s
bGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMjAwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMs
IDIsIFs4LCAxMDgsIHZoIC0gNTIsIHZoICsgNDgsIDgsIDEwOCwgdmggLSA1MiwgdmgsIDAsIHZ3
LCAwLCB2aCwgdHJ1ZV0pOworfQorCitmdW5jdGlvbiBzdGVwMygpIHsKKyAgZG9jdW1lbnQuc2Ny
b2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAyNDA7CisgIHJ1blRlc3RDeWNsZShzdGVwNCwgImRv
Y3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMjQwIik7CisgIGNoZWNrTGFzdEVu
dHJ5KGVudHJpZXMsIDMsIFs4LCAxMDgsIHZoIC0gOTIsIHZoICsgOCwgOCwgMTA4LCB2aCAtIDky
LCB2aCwgMCwgdncsIDAsIHZoLCB0cnVlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXA0KCkgeworICBk
b2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHZoICsgMTQwOworICBydW5UZXN0
Q3ljbGUoc3RlcDUsICJkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHdpbmRv
dy5pbm5lckhlaWdodCArIDE0MCIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCA0LCBbOCwg
MTA4LCB2aCAtIDEzMiwgdmggLSAzMiwgOCwgMTA4LCB2aCAtIDEzMiwgdmggLSAzMiwgMCwgdncs
IDAsIHZoLCB0cnVlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXA1KCkgeworICBkb2N1bWVudC5zY3Jv
bGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHZoICsgMTYwOworICBydW5UZXN0Q3ljbGUoc3RlcDYs
ICJkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHdpbmRvdy5pbm5lckhlaWdo
dCArIDE2MCIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCA1LCBbOCwgMTA4LCAtMzIsIDY4
LCA4LCAxMDgsIDAsIDY4LCAwLCB2dywgMCwgdmgsIHRydWVdKTsKK30KKworZnVuY3Rpb24gc3Rl
cDYoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gdmggKyAyMDA7
CisgIHJ1blRlc3RDeWNsZShzdGVwNywgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gd2luZG93LmlubmVySGVpZ2h0ICsgMjAwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJp
ZXMsIDYsIFs4LCAxMDgsIC01MiwgNDgsIDgsIDEwOCwgMCwgNDgsIDAsIHZ3LCAwLCB2aCwgdHJ1
ZV0pOworfQorCitmdW5jdGlvbiBzdGVwNygpIHsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywg
NywgWzgsIDEwOCwgLTkyLCA4LCA4LCAxMDgsIDAsIDgsIDAsIHZ3LCAwLCB2aCwgdHJ1ZV0pOwor
ICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHZoICsgMjIwOworICBydW5U
ZXN0Q3ljbGUoc3RlcDgsICJkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHdp
bmRvdy5pbm5lckhlaWdodCArIDIyMCIpOworfQorCitmdW5jdGlvbiBzdGVwOCgpIHsKKyAgY2hl
Y2tMYXN0RW50cnkoZW50cmllcywgOCwgWzgsIDEwOCwgLTExMiwgLTEyLCAwLCAwLCAwLCAwLCAw
LCB2dywgMCwgdmgsIGZhbHNlXSk7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gMDsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvb2JzZXJ2ZXItYXR0
cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZWZkNDRiNGVlZTBmNzc1MDRhOGNjZThiZDBiMjQ3OTEwOGJm
ZDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvb2JzZXJ2ZXItYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKK1BBU1MgT2JzZXJ2ZXIgYXR0cmlidXRlIGdldHRl
cnMuIAorUEFTUyBvYnNlcnZlci5yb290IAorUEFTUyBvYnNlcnZlci50aHJlc2hvbGRzIAorRkFJ
TCBvYnNlcnZlci5yb290TWFyZ2luIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIwcHggMHB4IDBw
eCAwcHgiIGJ1dCBnb3QgIjBweCIKK1BBU1Mgc2V0IG9ic2VydmVyLnJvb3QgCitQQVNTIHNldCBv
YnNlcnZlci50aHJlc2hvbGRzIAorRkFJTCBzZXQgb2JzZXJ2ZXIucm9vdE1hcmdpbiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiMTAlIDIwcHggMTAlIDIwcHgiIGJ1dCBnb3QgIjEwJSAyMHB4Igor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci9vYnNlcnZlci1hdHRyaWJ1dGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZjYTk1ZGVkMzE2MGI4ODdh
ZGM2YmJmYWRhMmU1YjM2NmVmYWMyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL29ic2Vy
dmVyLWF0dHJpYnV0ZXMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPGRpdiBp
ZD0icm9vdCI+PC9kaXY+CisKKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgb2Jz
ZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZSkge30sIHt9KTsKKyAg
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyhvYnNlcnZlci5yb290LCBudWxsKSB9LAor
ICAgICAgICJvYnNlcnZlci5yb290Iik7CisgIHRlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9hcnJh
eV9lcXVhbHMob2JzZXJ2ZXIudGhyZXNob2xkcywgWzBdKSB9LAorICAgICAgICJvYnNlcnZlci50
aHJlc2hvbGRzIik7CisgIHRlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9lcXVhbHMob2JzZXJ2ZXIu
cm9vdE1hcmdpbiwgIjBweCAwcHggMHB4IDBweCIpIH0sCisgICAgICAgIm9ic2VydmVyLnJvb3RN
YXJnaW4iKTsKKworICB2YXIgcm9vdERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290
Iik7CisgIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGUpIHt9
LCB7CisgICAgcm9vdDogcm9vdERpdiwKKyAgICB0aHJlc2hvbGQ6IFswLCAwLjI1LCAwLjUsIDEu
MF0sCisgICAgcm9vdE1hcmdpbjogIjEwJSAyMHB4IgorICB9KTsKKyAgdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X2VxdWFscyhvYnNlcnZlci5yb290LCByb290RGl2KSB9LAorICAgICAgICJzZXQg
b2JzZXJ2ZXIucm9vdCIpOworICB0ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfYXJyYXlfZXF1YWxz
KG9ic2VydmVyLnRocmVzaG9sZHMsIFswLCAwLjI1LCAwLjUsIDEuMF0pIH0sCisgICAgICAgInNl
dCBvYnNlcnZlci50aHJlc2hvbGRzIik7CisgIHRlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9lcXVh
bHMob2JzZXJ2ZXIucm9vdE1hcmdpbiwgIjEwJSAyMHB4IDEwJSAyMHB4IikgfSwKKyAgICAgICAi
c2V0IG9ic2VydmVyLnJvb3RNYXJnaW4iKTsKK30sICJPYnNlcnZlciBhdHRyaWJ1dGUgZ2V0dGVy
cy4iKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1leGNlcHRp
b25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLWV4Y2VwdGlvbnMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJlM2Q0NTc0ODAzMWZlYTNmODg5MDgxZjYxYWExZjEwMjNiZGYzMDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1leGNlcHRpb25zLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI1IEBACisKK0ZBSUwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgY29uc3Ry
dWN0b3Igd2l0aCB7IHRocmVzaG9sZDogWzEuMV0gfSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeworICAgIG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlID0+IHt9LCB7dGhy
ZXNob2xkOiBbMS4xXX0pCisgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIgY29uc3RydWN0b3Igd2l0aCB7IHRocmVzaG9sZDogWyJmb28iXSB9IAorRkFJTCBJbnRl
cnNlY3Rpb25PYnNlcnZlciBjb25zdHJ1Y3RvciB3aXR0aCB7IHJvb3RNYXJnaW46ICIxIiB9IGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgbmV3IEludGVyc2VjdGlv
bk9ic2VydmVyKGUgPT4ge30sIHtyb290TWFyZ2luOiAiMSJ9KQorICB9IiBkaWQgbm90IHRocm93
CitGQUlMIEludGVyc2VjdGlvbk9ic2VydmVyIGNvbnN0cnVjdG9yIHdpdGggeyByb290TWFyZ2lu
OiAiMmVtIiB9IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgbmV3
IEludGVyc2VjdGlvbk9ic2VydmVyKGUgPT4ge30sIHtyb290TWFyZ2luOiAiMmVtIn0pCisgIH0i
IGRpZCBub3QgdGhyb3cKK0ZBSUwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgY29uc3RydWN0b3Igd2l0
aCB7IHJvb3RNYXJnaW46ICJhdXRvIiB9IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7CisgICAgbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGUgPT4ge30sIHtyb290TWFyZ2lu
OiAiYXV0byJ9KQorICB9IiBkaWQgbm90IHRocm93CitGQUlMIEludGVyc2VjdGlvbk9ic2VydmVy
IGNvbnN0cnVjdG9yIHdpdGggeyByb290TWFyZ2luOiAiY2FsYygxcHggKyAycHgpIiB9IGFzc2Vy
dF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgbmV3IEludGVyc2VjdGlvbk9i
c2VydmVyKGUgPT4ge30sIHtyb290TWFyZ2luOiAiY2FsYygxcHggKyAycHgpIn0pCisgIH0iIGRp
ZCBub3QgdGhyb3cKK0ZBSUwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgY29uc3RydWN0b3Igd2l0aCB7
IHJvb3RNYXJnaW46ICIxcHggIWltcG9ydGFudCIgfSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeworICAgIG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlID0+IHt9LCB7cm9v
dE1hcmdpbjogIjFweCAhaW1wb3J0YW50In0pCisgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgSW50
ZXJzZWN0aW9uT2JzZXJ2ZXIgY29uc3RydWN0b3Igd2l0aCB7IHJvb3RNYXJnaW46ICIxcHggMXB4
IDFweCAxcHggMXB4IiB9IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Cisg
ICAgbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGUgPT4ge30sIHtyb290TWFyZ2luOiAiMXB4IDFw
eCAxcHggMXB4IDFweCJ9KQorICB9IiBkaWQgbm90IHRocm93CitQQVNTIEludGVyc2VjdGlvbk9i
c2VydmVyLm9ic2VydmUoImZvbyIpIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1l
eGNlcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1leGNlcHRpb25zLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDRmMTc4YmU1MWMzOTRiYTk4MjI1ZjM1OWViMDJjZDc4ZjQ1MjU5ZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLWV4Y2VwdGlvbnMuaHRtbApAQCAtMCwwICsxLDYw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRf
dGhyb3dzKFJhbmdlRXJyb3IoKSwgZnVuY3Rpb24oKSB7CisgICAgbmV3IEludGVyc2VjdGlvbk9i
c2VydmVyKGUgPT4ge30sIHt0aHJlc2hvbGQ6IFsxLjFdfSkKKyAgfSkKK30sICJJbnRlcnNlY3Rp
b25PYnNlcnZlciBjb25zdHJ1Y3RvciB3aXRoIHsgdGhyZXNob2xkOiBbMS4xXSB9Iik7CisKK3Rl
c3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRfdGhyb3dzKFR5cGVFcnJvcigpLCBmdW5jdGlvbigp
IHsKKyAgICBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZSA9PiB7fSwge3RocmVzaG9sZDogWyJm
b28iXX0pCisgIH0pCit9LCAnSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgY29uc3RydWN0b3Igd2l0aCB7
IHRocmVzaG9sZDogWyJmb28iXSB9Jyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICBhc3NlcnRf
dGhyb3dzKCJTWU5UQVhfRVJSIiwgZnVuY3Rpb24oKSB7CisgICAgbmV3IEludGVyc2VjdGlvbk9i
c2VydmVyKGUgPT4ge30sIHtyb290TWFyZ2luOiAiMSJ9KQorICB9KQorfSwgJ0ludGVyc2VjdGlv
bk9ic2VydmVyIGNvbnN0cnVjdG9yIHdpdHRoIHsgcm9vdE1hcmdpbjogIjEiIH0nKTsKKwordGVz
dChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlvbigp
IHsKKyAgICBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZSA9PiB7fSwge3Jvb3RNYXJnaW46ICIy
ZW0ifSkKKyAgfSkKK30sICdJbnRlcnNlY3Rpb25PYnNlcnZlciBjb25zdHJ1Y3RvciB3aXRoIHsg
cm9vdE1hcmdpbjogIjJlbSIgfScpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X3Ro
cm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeworICAgIG5ldyBJbnRlcnNlY3Rpb25PYnNl
cnZlcihlID0+IHt9LCB7cm9vdE1hcmdpbjogImF1dG8ifSkKKyAgfSkKK30sICdJbnRlcnNlY3Rp
b25PYnNlcnZlciBjb25zdHJ1Y3RvciB3aXRoIHsgcm9vdE1hcmdpbjogImF1dG8iIH0nKTsKKwor
dGVzdChmdW5jdGlvbiAoKSB7CisgIGFzc2VydF90aHJvd3MoIlNZTlRBWF9FUlIiLCBmdW5jdGlv
bigpIHsKKyAgICBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZSA9PiB7fSwge3Jvb3RNYXJnaW46
ICJjYWxjKDFweCArIDJweCkifSkKKyAgfSkKK30sICdJbnRlcnNlY3Rpb25PYnNlcnZlciBjb25z
dHJ1Y3RvciB3aXRoIHsgcm9vdE1hcmdpbjogImNhbGMoMXB4ICsgMnB4KSIgfScpOworCit0ZXN0
KGZ1bmN0aW9uICgpIHsKKyAgYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkg
eworICAgIG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlID0+IHt9LCB7cm9vdE1hcmdpbjogIjFw
eCAhaW1wb3J0YW50In0pCisgIH0pCit9LCAnSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgY29uc3RydWN0
b3Igd2l0aCB7IHJvb3RNYXJnaW46ICIxcHggIWltcG9ydGFudCIgfScpOworCit0ZXN0KGZ1bmN0
aW9uICgpIHsKKyAgYXNzZXJ0X3Rocm93cygiU1lOVEFYX0VSUiIsIGZ1bmN0aW9uKCkgeworICAg
IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlID0+IHt9LCB7cm9vdE1hcmdpbjogIjFweCAxcHgg
MXB4IDFweCAxcHgifSkKKyAgfSkKK30sICdJbnRlcnNlY3Rpb25PYnNlcnZlciBjb25zdHJ1Y3Rv
ciB3aXRoIHsgcm9vdE1hcmdpbjogIjFweCAxcHggMXB4IDFweCAxcHgiIH0nKTsKKwordGVzdChm
dW5jdGlvbiAoKSB7CisgIGFzc2VydF90aHJvd3MoVHlwZUVycm9yKCksIGZ1bmN0aW9uKCkgewor
ICAgIGxldCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihjID0+IHt9LCB7fSk7
CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSgiZm9vIik7CisgIH0pCit9LCAnSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIub2JzZXJ2ZSgiZm9vIiknKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIv
b2JzZXJ2ZXItaW4taWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci1pbi1pZnJhbWUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNGFhMzg3ZGUyYTgwZWI3MzA5YjNkNDU3ZWI2MDVkODdlYWU2MDQ2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvb2JzZXJ2ZXItaW4taWZyYW1lLmh0bWwKQEAgLTAs
MCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KK3ByZSwgI2xvZyB7CisgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAyMDBweDsKK30KKzwvc3R5bGU+Cis8
aWZyYW1lIGlkPSJ0YXJnZXQtaWZyYW1lIiBzcmM9InJlc291cmNlcy9vYnNlcnZlci1pbi1pZnJh
bWUtc3ViZnJhbWUuaHRtbCIgd2lkdGg9IjE1MHB4IiBoZWlnaHQ9IjE1MHB4Ij48L2lmcmFtZT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLXdpdGhvdXQtanMtcmVmZXJlbmNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLXdpdGhvdXQtanMtcmVmZXJlbmNlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OTM1ZWE2MTUxY2IzMzBkY2Q5MTUzYWNiYzVkMjdhNjE0MDVhNmQy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvb2JzZXJ2ZXItd2l0aG91dC1qcy1yZWZlcmVu
Y2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQQVNTIEludGVyc2VjdGlvbk9ic2Vy
dmVyIHRoYXQgaXMgdW5yZWFjaGFibGUgaW4ganMgc2hvdWxkIHN0aWxsIGdlbmVyYXRlIG5vdGlm
aWNhdGlvbnMuIAorRkFJTCBGaXJzdCByQUYgYXNzZXJ0X2VxdWFsczogT25lIG5vdGlmaWNhdGlv
bi4gZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5z
Y3JvbGxUb3AgPSAzMDAgYXNzZXJ0X2VxdWFsczogVHdvIG5vdGlmaWNhdGlvbnMuIGV4cGVjdGVk
IDIgYnV0IGdvdCAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLXdpdGhvdXQtanMt
cmVmZXJlbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci13aXRob3V0LWpzLXJlZmVyZW5jZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMyMTQzNDViNjEwNTJjZmMwYWIzNzIwZjY4ODQxNmZhZjIzYTU1ODUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9vYnNlcnZlci13aXRob3V0LWpzLXJlZmVyZW5j
ZS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKworPHN0
eWxlPgorcHJlLCAjbG9nIHsKKyAgcG9zaXRpb246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxl
ZnQ6IDIwMHB4OworfQorLnNwYWNlciB7CisgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4KTsK
K30KKyN0YXJnZXQgeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9k
aXY+Cis8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4K
KworPHNjcmlwdD4KK3ZhciBlbnRyaWVzID0gW107CisKK3J1blRlc3RDeWNsZShmdW5jdGlvbigp
IHsKKyAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAg
YXNzZXJ0X3RydWUoISF0YXJnZXQsICJUYXJnZXQgZXhpc3RzIik7CisgIGZ1bmN0aW9uIGNyZWF0
ZU9ic2VydmVyKCkgeworICAgIG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihjaGFu
Z2VzKSB7CisgICAgICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykKKyAgICB9KS5v
YnNlcnZlKHRhcmdldCk7CisgIH0KKyAgY3JlYXRlT2JzZXJ2ZXIoKTsKKyAgcnVuVGVzdEN5Y2xl
KHN0ZXAwLCAiRmlyc3QgckFGIik7Cit9LCAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgdGhhdCBpcyB1
bnJlYWNoYWJsZSBpbiBqcyBzaG91bGQgc3RpbGwgZ2VuZXJhdGUgbm90aWZpY2F0aW9ucy4iKTsK
KworZnVuY3Rpb24gc3RlcDAoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gMzAwOworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJkb2N1bWVudC5zY3JvbGxpbmdFbGVt
ZW50LnNjcm9sbFRvcCA9IDMwMCIpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAx
LCAiT25lIG5vdGlmaWNhdGlvbi4iKTsKK30KKworZnVuY3Rpb24gc3RlcDEoKSB7CisgIGRvY3Vt
ZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMDsKKyAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgMiwgIlR3byBub3RpZmljYXRpb25zLiIpOworfQorPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci9yZW1vdmUtZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9y
ZW1vdmUtZWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ0MTg2YzA4MjU4NmNjNjFm
MmI3NzhkMTk5NDBiNGFkNDE2NDdlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3JlbW92
ZS1lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworUEFTUyBWZXJpZnkgdGhh
dCBub3QtaW50ZXJzZWN0aW5nIG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgd2hlbiBhIHRhcmdldCBp
cyByZW1vdmVkIGZyb20gdGhlIERPTSB0cmVlLiAKK0ZBSUwgRmlyc3QgckFGIGFzc2VydF9lcXVh
bHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIHJvb3Quc2Nyb2xs
VG9wID0gMTUwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdv
dCAwCitGQUlMIHJvb3QucmVtb3ZlQ2hpbGQodGFyZ2V0KS4gYXNzZXJ0X2VxdWFsczogZW50cmll
cy5sZW5ndGggZXhwZWN0ZWQgMyBidXQgZ290IDAKK0ZBSUwgcm9vdC5pbnNlcnRCZWZvcmUodGFy
Z2V0LCB0cmFpbGluZ1NwYWNlKS4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0
ZWQgMyBidXQgZ290IDAKK0ZBSUwgcm9vdC5zY3JvbGxUb3AgPSAxNTAgYWZ0ZXIgcmVpbnNlcnRp
bmcgdGFyZ2V0LiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCA0IGJ1dCBn
b3QgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZW1vdmUtZWxlbWVudC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2
ZXIvcmVtb3ZlLWVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjZhNjVlMmQwZTQyNTEzYWVmZDQ1
Njg0MDliMWEyZjUxMGIyZGI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVtb3ZlLWVs
ZW1lbnQuaHRtbApAQCAtMCwwICsxLDgyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisK
KzxzdHlsZT4KK3ByZSwgI2xvZyB7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgdG9wOiAwOwor
ICBsZWZ0OiAyMDBweDsKK30KKyNyb290IHsKKyAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICBv
dmVyZmxvdy15OiBzY3JvbGw7CisgIGhlaWdodDogMjAwcHg7CisgIGJvcmRlcjogM3B4IHNvbGlk
IGJsYWNrOworfQorI3RhcmdldCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsK
KyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cisuc3BhY2VyIHsKKyAgaGVpZ2h0OiAzMDBw
eDsKK30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9InJvb3QiPgorICA8ZGl2IGlkPSJsZWFkaW5nLXNw
YWNlIiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKyAgPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KKyAg
PGRpdiBpZD0idHJhaWxpbmctc3BhY2UiIGNsYXNzPSJzcGFjZXIiPC9kaXY+Cis8L2Rpdj4KKwor
PHNjcmlwdD4KK3ZhciBlbnRyaWVzID0gW107Cit2YXIgcm9vdCwgdGFyZ2V0LCB0cmFpbGluZ1Nw
YWNlOworCitydW5UZXN0Q3ljbGUoZnVuY3Rpb24oKSB7CisgIHRhcmdldCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgYXNzZXJ0X3RydWUoISF0YXJnZXQsICJUYXJnZXQg
ZXhpc3RzIik7CisgIHRyYWlsaW5nU3BhY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJh
aWxpbmctc3BhY2UiKTsKKyAgYXNzZXJ0X3RydWUoISF0cmFpbGluZ1NwYWNlLCAiVHJhaWxpbmdT
cGFjZSBleGlzdHMiKTsKKyAgcm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290Iik7
CisgIGFzc2VydF90cnVlKCEhcm9vdCwgIlJvb3QgZXhpc3RzIik7CisgIHZhciBvYnNlcnZlciA9
IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihjaGFuZ2VzKSB7CisgICAgZW50cmll
cyA9IGVudHJpZXMuY29uY2F0KGNoYW5nZXMpCisgIH0sIHtyb290OiByb290fSk7CisgIG9ic2Vy
dmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVy
LnRha2VSZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAiTm8g
aW5pdGlhbCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJzdCBy
QUYiKTsKK30sICJWZXJpZnkgdGhhdCBub3QtaW50ZXJzZWN0aW5nIG5vdGlmaWNhdGlvbnMgYXJl
IHNlbnQgd2hlbiBhIHRhcmdldCBpcyByZW1vdmVkIGZyb20gdGhlIERPTSB0cmVlLiIpOworCitm
dW5jdGlvbiBzdGVwMCgpIHsKKyAgcm9vdC5zY3JvbGxUb3AgPSAxNTA7CisgIHJ1blRlc3RDeWNs
ZShzdGVwMSwgInJvb3Quc2Nyb2xsVG9wID0gMTUwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJp
ZXMsIDAsIFsxMSwgMTExLCAzMTEsIDQxMSwgMCwgMCwgMCwgMCwgMTEsIDExMSwgMTEsIDIxMSwg
ZmFsc2VdKTsKK30KKworZnVuY3Rpb24gc3RlcDEoKSB7CisgIHJvb3QucmVtb3ZlQ2hpbGQodGFy
Z2V0KTsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAyLCAicm9vdC5yZW1vdmVDaGlsZCh0YXJnZXQpLiIp
OworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAxLCBbMTEsIDExMSwgMTYxLCAyNjEsIDExLCAx
MTEsIDE2MSwgMjExLCAxMSwgMTExLCAxMSwgMjExLCB0cnVlXSk7Cit9CisKK2Z1bmN0aW9uIHN0
ZXAyKCkgeworICByb290LnNjcm9sbFRvcCA9IDA7CisgIHJvb3QuaW5zZXJ0QmVmb3JlKHRhcmdl
dCwgdHJhaWxpbmdTcGFjZSk7CisgIHJ1blRlc3RDeWNsZShzdGVwMywgInJvb3QuaW5zZXJ0QmVm
b3JlKHRhcmdldCwgdHJhaWxpbmdTcGFjZSkuIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMs
IDIsIFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCBmYWxzZV0pOworfQorCitm
dW5jdGlvbiBzdGVwMygpIHsKKyAgcm9vdC5zY3JvbGxUb3AgPSAxNTA7CisgIHJ1blRlc3RDeWNs
ZShzdGVwNCwgInJvb3Quc2Nyb2xsVG9wID0gMTUwIGFmdGVyIHJlaW5zZXJ0aW5nIHRhcmdldC4i
KTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMik7Cit9CisKK2Z1bmN0aW9uIHN0ZXA0KCkg
eworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAzLCBbMTEsIDExMSwgMTYxLCAyNjEsIDExLCAx
MTEsIDE2MSwgMjExLCAxMSwgMTExLCAxMSwgMjExLCB0cnVlXSk7Cit9Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tc3ViZnJhbWUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4tc3ViZnJhbWUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wY2MxMTdjYjNhNjlkMGYyZWQxOTUwNWY3ZDE0ZjgyNGNiYWQ2ZDcxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNl
Y3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1zdWJmcmFtZS5odG1sCkBAIC0w
LDAgKzEsMTI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxkaXYgc3R5bGU9ImhlaWdodDogMjAwcHg7
IHdpZHRoOiAxMDBweDsiPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0iYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHgiPjwvZGl2PgorPGRpdiBz
dHlsZT0iaGVpZ2h0OiAyMDBweDsgd2lkdGg6IDEwMHB4OyI+PC9kaXY+CisKKzxzY3JpcHQ+Cit2
YXIgcG9ydDsKK3ZhciBlbnRyaWVzID0gW107Cit2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RhcmdldCcpOwordmFyIHNjcm9sbGVyID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxl
bWVudDsKK3ZhciBuZXh0U3RlcDsKKworZnVuY3Rpb24gY2xpZW50UmVjdFRvSnNvbihyZWN0KSB7
CisgIGlmICghcmVjdCkKKyAgICByZXR1cm4gIm51bGwiOworICByZXR1cm4geworICAgIHRvcDog
cmVjdC50b3AsCisgICAgcmlnaHQ6IHJlY3QucmlnaHQsCisgICAgYm90dG9tOiByZWN0LmJvdHRv
bSwKKyAgICBsZWZ0OiByZWN0LmxlZnQKKyAgfTsKK30KKworZnVuY3Rpb24gZW50cnlUb0pzb24o
ZW50cnkpIHsKKyAgcmV0dXJuIHsKKyAgICBib3VuZGluZ0NsaWVudFJlY3Q6IGNsaWVudFJlY3RU
b0pzb24oZW50cnkuYm91bmRpbmdDbGllbnRSZWN0KSwKKyAgICBpbnRlcnNlY3Rpb25SZWN0OiBj
bGllbnRSZWN0VG9Kc29uKGVudHJ5LmludGVyc2VjdGlvblJlY3QpLAorICAgIHJvb3RCb3VuZHM6
IGNsaWVudFJlY3RUb0pzb24oZW50cnkucm9vdEJvdW5kcyksCisgICAgdGFyZ2V0OiBlbnRyeS50
YXJnZXQuaWQKKyAgfTsKK30KKworZnVuY3Rpb24gY29vcmRpbmF0ZXNUb0NsaWVudFJlY3RKc29u
KHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCkgeworICByZXR1cm4geworICAgIHRvcDogdG9wLAor
ICAgIHJpZ2h0OiByaWdodCwKKyAgICBib3R0b206IGJvdHRvbSwKKyAgICBsZWZ0OiBsZWZ0Cisg
IH07Cit9CisKKy8vIE5vdGUgdGhhdCB3ZSBuZXZlciB1c2UgUkFGIGluIHRoaXMgY29kZSwgYmVj
YXVzZSB0aGlzIGZyYW1lIG1pZ2h0IGdldCByZW5kZXItdGhyb3R0bGVkLgorLy8gSW5zdGVhZCBv
ZiBSQUYtaW5nLCB3ZSBqdXN0IHBvc3QgYW4gZW1wdHkgbWVzc2FnZSB0byB0aGUgcGFyZW50IHdp
bmRvdywgd2hpY2ggd2lsbAorLy8gUkFGIHdoZW4gaXQgaXMgcmVjZWl2ZWQsIGFuZCB0aGVuIHNl
bmQgdXMgYSBtZXNzYWdlIHRvIGNhdXNlIHRoZSBuZXh0IHN0ZXAgdG8gcnVuLgorCisvLyBVc2Ug
YSByb290TWFyZ2luIGhlcmUsIGFuZCB2ZXJpZnkgaXQgZG9lcyBOT1QgZ2V0IGFwcGxpZWQgZm9y
IHRoZSBjcm9zcy1vcmlnaW4gY2FzZS4KK3ZhciBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25P
YnNlcnZlcihmdW5jdGlvbihjaGFuZ2VzKSB7CisgICAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0
KGNoYW5nZXMpCit9LCB7IHJvb3RNYXJnaW46ICI3cHgiIH0pOworb2JzZXJ2ZXIub2JzZXJ2ZSh0
YXJnZXQpOworCitmdW5jdGlvbiBzdGVwMCgpIHsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0
KG9ic2VydmVyLnRha2VSZWNvcmRzKCkpOworICBuZXh0U3RlcCA9IHN0ZXAxOworICB2YXIgZXhw
ZWN0ZWQgPSBbeworICAgIGJvdW5kaW5nQ2xpZW50UmVjdDogY29vcmRpbmF0ZXNUb0NsaWVudFJl
Y3RKc29uKDgsIDIwOCwgMTA4LCAzMDgpLAorICAgIGludGVyc2VjdGlvblJlY3Q6IGNvb3JkaW5h
dGVzVG9DbGllbnRSZWN0SnNvbigwLCAwLCAwLCAwKSwKKyAgICByb290Qm91bmRzOiAibnVsbCIs
CisgICAgdGFyZ2V0OiB0YXJnZXQuaWQKKyAgfV07CisgIHBvcnQucG9zdE1lc3NhZ2UoeworICAg
IGFjdHVhbDogZW50cmllcy5tYXAoZW50cnlUb0pzb24pLAorICAgIGV4cGVjdGVkOiBleHBlY3Rl
ZCwKKyAgICBkZXNjcmlwdGlvbjogIkZpcnN0IHJBRiIKKyAgfSwgIioiKTsKKyAgZW50cmllcyA9
IFtdOworICBwb3J0LnBvc3RNZXNzYWdlKHtzY3JvbGxUbzogMjAwfSwgIioiKTsKK30KKworZnVu
Y3Rpb24gc3RlcDEoKSB7CisgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChvYnNlcnZlci50YWtl
UmVjb3JkcygpKTsKKyAgcG9ydC5wb3N0TWVzc2FnZSh7CisgICAgYWN0dWFsOiBlbnRyaWVzLm1h
cChlbnRyeVRvSnNvbiksCisgICAgZXhwZWN0ZWQ6IFtdLAorICAgIGRlc2NyaXB0aW9uOiAidG9w
RG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAyMDAiCisgIH0sICIqIik7Cisg
IGVudHJpZXMgPSBbXTsKKyAgc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMjUwOworICBuZXh0U3RlcCA9
IHN0ZXAyOworICBwb3J0LnBvc3RNZXNzYWdlKHt9LCAiKiIpOworfQorCitmdW5jdGlvbiBzdGVw
MigpIHsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVyLnRha2VSZWNvcmRzKCkp
OworICB2YXIgZXhwZWN0ZWQgPSBbeworICAgIGJvdW5kaW5nQ2xpZW50UmVjdDogY29vcmRpbmF0
ZXNUb0NsaWVudFJlY3RKc29uKC00MiwgMTA4LCA1OCwgOCksCisgICAgaW50ZXJzZWN0aW9uUmVj
dDogY29vcmRpbmF0ZXNUb0NsaWVudFJlY3RKc29uKDAsIDEwOCwgNTgsIDgpLAorICAgIHJvb3RC
b3VuZHM6ICJudWxsIiwKKyAgICB0YXJnZXQ6IHRhcmdldC5pZAorICB9XTsKKyAgcG9ydC5wb3N0
TWVzc2FnZSh7CisgICAgYWN0dWFsOiBlbnRyaWVzLm1hcChlbnRyeVRvSnNvbiksCisgICAgZXhw
ZWN0ZWQ6IGV4cGVjdGVkLAorICAgIGRlc2NyaXB0aW9uOiAiaWZyYW1lRG9jdW1lbnQuc2Nyb2xs
aW5nRWxlbWVudC5zY3JvbGxUb3AgPSAyNTAiCisgIH0sICIqIik7CisgIGVudHJpZXMgPSBbXTsK
KyAgbmV4dFN0ZXAgPSBzdGVwMzsKKyAgcG9ydC5wb3N0TWVzc2FnZSh7c2Nyb2xsVG86IDEwMH0s
ICIqIik7Cit9CisKK2Z1bmN0aW9uIHN0ZXAzKCkgeworICBlbnRyaWVzID0gZW50cmllcy5jb25j
YXQob2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CisgIHZhciBleHBlY3RlZCA9IFt7CisgICAgYm91
bmRpbmdDbGllbnRSZWN0OiBjb29yZGluYXRlc1RvQ2xpZW50UmVjdEpzb24oLTQyLCAxMDgsIDU4
LCA4KSwKKyAgICBpbnRlcnNlY3Rpb25SZWN0OiBjb29yZGluYXRlc1RvQ2xpZW50UmVjdEpzb24o
MCwgMCwgMCwgMCksCisgICAgcm9vdEJvdW5kczogIm51bGwiLAorICAgIHRhcmdldDogdGFyZ2V0
LmlkCisgIH1dOworICBwb3J0LnBvc3RNZXNzYWdlKHsKKyAgICBhY3R1YWw6IGVudHJpZXMubWFw
KGVudHJ5VG9Kc29uKSwKKyAgICBleHBlY3RlZDogZXhwZWN0ZWQsCisgICAgZGVzY3JpcHRpb246
ICJ0b3BEb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDEwMCIKKyAgfSwgIioi
KTsKKyAgcG9ydC5wb3N0TWVzc2FnZSh7RE9ORTogMX0sICIqIik7Cit9CisKK2Z1bmN0aW9uIGhh
bmRsZU1lc3NhZ2UoZXZlbnQpCit7CisgIHBvcnQgPSBldmVudC5zb3VyY2U7CisgIG5leHRTdGVw
KCk7Cit9CisKK25leHRTdGVwID0gc3RlcDA7Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVz
c2FnZSIsIGhhbmRsZU1lc3NhZ2UpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9y
ZXNvdXJjZXMvaWZyYW1lLW5vLXJvb3Qtc3ViZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNl
cy9pZnJhbWUtbm8tcm9vdC1zdWJmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlNjNhMDZjYTBmZjMw
ZWI2YmM4MmQyODM1MGNmOGQ4NTMxMzI1MWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9y
ZXNvdXJjZXMvaWZyYW1lLW5vLXJvb3Qtc3ViZnJhbWUuaHRtbApAQCAtMCwwICsxLDQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGRpdiBzdHlsZT0iaGVpZ2h0OiAyMDBweDsgd2lkdGg6IDEwMHB4OyI+
PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsg
d2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweCI+PC9kaXY+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIw
MHB4OyB3aWR0aDogMTAwcHg7Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNl
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11dGlscy5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNl
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11dGlscy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWQ4MTE5
MzJmMDZjMzRmMWJiM2JmZDcwMDk0YTBjZDVjMDQ2YzU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzCkBAIC0w
LDAgKzEsMTI3IEBACisvLyBIZXJlJ3MgaG93IHdhaXRGb3JOb3RpZmljYXRpb24gd29ya3M6Cisv
LworLy8gLSBteVRlc3RGdW5jdGlvbjAoKQorLy8gICAtIHdhaXRGb3JOb3RpZmljYXRpb24obXlU
ZXN0RnVuY3Rpb24xKQorLy8gICAgIC0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkKKy8vICAgLSBN
b2RpZnkgRE9NIGluIGEgd2F5IHRoYXQgc2hvdWxkIHRyaWdnZXIgYW4gSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIgY2FsbGJhY2suCisvLyAtIEJlZ2luRnJhbWUKKy8vICAgLSByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgaGFuZGxlciBydW5zCisvLyAgICAgLSBGaXJzdCBzdGVwX3RpbWVvdXQoKQorLy8gICAt
IFN0eWxlLCBsYXlvdXQsIHBhaW50CisvLyAgIC0gSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgZ2VuZXJh
dGVzIG5ldyBub3RpZmljYXRpb25zCisvLyAgICAgLSBQb3N0cyBhIHRhc2sgdG8gZGVsaXZlciBu
b3RpZmljYXRpb25zCisvLyAtIEZpcnN0IHN0ZXBfdGltZW91dCBoYW5kbGVyIHJ1bnMKKy8vICAg
LSBTZWNvbmQgc3RlcF90aW1lb3V0KCkKKy8vIC0gVGFzayB0byBkZWxpdmVyIEludGVyc2VjdGlv
bk9ic2VydmVyIG5vdGlmaWNhdGlvbnMgcnVucworLy8gICAtIEludGVyc2VjdGlvbk9ic2VydmVy
IGNhbGxiYWNrcyBydW4KKy8vIC0gU2Vjb25kIHN0ZXBfdGltZW91dCBoYW5kbGVyIHJ1bnMKKy8v
ICAgLSBteVRlc3RGdW5jdGlvbjEoKQorLy8gICAgIC0gW29wdGlvbmFsXSB3YWl0Rm9yTm90aWZp
Y2F0aW9uKG15VGVzdEZ1bmN0aW9uMikKKy8vICAgICAgIC0gcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCkKKy8vICAgICAtIFZlcmlmeSBuZXdseS1hcnJpdmVkIEludGVyc2VjdGlvbk9ic2VydmVyIG5v
dGlmaWNhdGlvbnMKKy8vICAgICAtIFtvcHRpb25hbF0gTW9kaWZ5IERPTSB0byB0cmlnZ2VyIG5l
dyBub3RpZmljYXRpb25zCitmdW5jdGlvbiB3YWl0Rm9yTm90aWZpY2F0aW9uKHQsIGYpIHsKKyAg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgeworICAgIHQuc3RlcF90aW1lb3V0KGZ1
bmN0aW9uKCkgeyB0LnN0ZXBfdGltZW91dChmKTsgfSk7CisgIH0pOworfQorCisvLyBUaGUgdGlt
aW5nIG9mIHdoZW4gcnVuVGVzdEN5Y2xlIGlzIGNhbGxlZCBpcyBpbXBvcnRhbnQuICBJdCBzaG91
bGQgYmUKKy8vIGNhbGxlZDoKKy8vCisvLyAgIC0gQmVmb3JlIG9yIGR1cmluZyB0aGUgd2luZG93
IGxvYWQgZXZlbnQsIG9yCisvLyAgIC0gSW5zaWRlIG9mIGEgcHJpb3IgcnVuVGVzdEN5Y2xlIGNh
bGxiYWNrLCAqYmVmb3JlKiBhbnkgYXNzZXJ0XyogbWV0aG9kcworLy8gICAgIGFyZSBjYWxsZWQu
CisvLworLy8gRm9sbG93aW5nIHRoZXNlIHJ1bGVzIHdpbGwgZW5zdXJlIHRoYXQgdGhlIHRlc3Qg
c3VpdGUgd2lsbCBub3QgYWJvcnQgYmVmb3JlCisvLyBhbGwgdGVzdCBzdGVwcyBoYXZlIHJ1bi4K
K2Z1bmN0aW9uIHJ1blRlc3RDeWNsZShmLCBkZXNjcmlwdGlvbikgeworICBhc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICB3YWl0Rm9yTm90aWZpY2F0aW9uKHQsIHQuc3RlcF9mdW5jX2RvbmUo
ZikpOworICB9LCBkZXNjcmlwdGlvbik7Cit9CisKKy8vIFJvb3QgYm91bmRzIGZvciBhIHJvb3Qg
d2l0aCBhbiBvdmVyZmxvdyBjbGlwIGFzIGRlZmluZWQgYnk6CisvLyAgIGh0dHA6Ly93aWNnLmdp
dGh1Yi5pby9JbnRlcnNlY3Rpb25PYnNlcnZlci8jaW50ZXJzZWN0aW9ub2JzZXJ2ZXItcm9vdC1p
bnRlcnNlY3Rpb24tcmVjdGFuZ2xlCitmdW5jdGlvbiBjb250ZW50Qm91bmRzKHJvb3QpIHsKKyAg
dmFyIGxlZnQgPSByb290Lm9mZnNldExlZnQgKyByb290LmNsaWVudExlZnQ7CisgIHZhciByaWdo
dCA9IGxlZnQgKyByb290LmNsaWVudFdpZHRoOworICB2YXIgdG9wID0gcm9vdC5vZmZzZXRUb3Ag
KyByb290LmNsaWVudFRvcDsKKyAgdmFyIGJvdHRvbSA9IHRvcCArIHJvb3QuY2xpZW50SGVpZ2h0
OworICByZXR1cm4gW2xlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbV07Cit9CisKKy8vIFJvb3QgYm91
bmRzIGZvciBhIHJvb3Qgd2l0aG91dCBhbiBvdmVyZmxvdyBjbGlwIGFzIGRlZmluZWQgYnk6Cisv
LyAgIGh0dHA6Ly93aWNnLmdpdGh1Yi5pby9JbnRlcnNlY3Rpb25PYnNlcnZlci8jaW50ZXJzZWN0
aW9ub2JzZXJ2ZXItcm9vdC1pbnRlcnNlY3Rpb24tcmVjdGFuZ2xlCitmdW5jdGlvbiBib3JkZXJC
b3hCb3VuZHMocm9vdCkgeworICB2YXIgbGVmdCA9IHJvb3Qub2Zmc2V0TGVmdDsKKyAgdmFyIHJp
Z2h0ID0gbGVmdCArIHJvb3Qub2Zmc2V0V2lkdGg7CisgIHZhciB0b3AgPSByb290Lm9mZnNldFRv
cDsKKyAgdmFyIGJvdHRvbSA9IHRvcCArIHJvb3Qub2Zmc2V0SGVpZ2h0OworICByZXR1cm4gW2xl
ZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbV07Cit9CisKK2Z1bmN0aW9uIGNsaWVudEJvdW5kcyhlbGVt
ZW50KSB7CisgIHZhciByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAg
cmV0dXJuIFtyZWN0LmxlZnQsIHJlY3QucmlnaHQsIHJlY3QudG9wLCByZWN0LmJvdHRvbV07Cit9
CisKK2Z1bmN0aW9uIHJlY3RBcmVhKHJlY3QpIHsKKyAgcmV0dXJuIChyZWN0LmxlZnQgLSByZWN0
LnJpZ2h0KSAqIChyZWN0LmJvdHRvbSAtIHJlY3QudG9wKTsKK30KKworZnVuY3Rpb24gY2hlY2tS
ZWN0KGFjdHVhbCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uLCBhbGwpIHsKKyAgaWYgKCFleHBlY3Rl
ZC5sZW5ndGgpCisgICAgcmV0dXJuOworICBhc3NlcnRfZXF1YWxzKGFjdHVhbC5sZWZ0IHwgMCwg
ZXhwZWN0ZWRbMF0gfCAwLCBkZXNjcmlwdGlvbiArICcubGVmdCcpOworICBhc3NlcnRfZXF1YWxz
KGFjdHVhbC5yaWdodCB8IDAsIGV4cGVjdGVkWzFdIHwgMCwgZGVzY3JpcHRpb24gKyAnLnJpZ2h0
Jyk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLnRvcCB8IDAsIGV4cGVjdGVkWzJdIHwgMCwgZGVz
Y3JpcHRpb24gKyAnLnRvcCcpOworICBhc3NlcnRfZXF1YWxzKGFjdHVhbC5ib3R0b20gfCAwLCBl
eHBlY3RlZFszXSB8IDAsIGRlc2NyaXB0aW9uICsgJy5ib3R0b20nKTsKK30KKworZnVuY3Rpb24g
Y2hlY2tMYXN0RW50cnkoZW50cmllcywgaSwgZXhwZWN0ZWQpIHsKKyAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgaSArIDEsICdlbnRyaWVzLmxlbmd0aCcpOworICBpZiAoZXhwZWN0ZWQp
IHsKKyAgICBjaGVja1JlY3QoCisgICAgICAgIGVudHJpZXNbaV0uYm91bmRpbmdDbGllbnRSZWN0
LCBleHBlY3RlZC5zbGljZSgwLCA0KSwKKyAgICAgICAgJ2VudHJpZXNbJyArIGkgKyAnXS5ib3Vu
ZGluZ0NsaWVudFJlY3QnLCBlbnRyaWVzW2ldKTsKKyAgICBjaGVja1JlY3QoCisgICAgICAgIGVu
dHJpZXNbaV0uaW50ZXJzZWN0aW9uUmVjdCwgZXhwZWN0ZWQuc2xpY2UoNCwgOCksCisgICAgICAg
ICdlbnRyaWVzWycgKyBpICsgJ10uaW50ZXJzZWN0aW9uUmVjdCcsIGVudHJpZXNbaV0pOworICAg
IGNoZWNrUmVjdCgKKyAgICAgICAgZW50cmllc1tpXS5yb290Qm91bmRzLCBleHBlY3RlZC5zbGlj
ZSg4LCAxMiksCisgICAgICAgICdlbnRyaWVzWycgKyBpICsgJ10ucm9vdEJvdW5kcycsIGVudHJp
ZXNbaV0pOworICAgIGlmIChleHBlY3RlZC5sZW5ndGggPiAxMikgeworICAgICAgYXNzZXJ0X2Vx
dWFscygKKyAgICAgICAgICBlbnRyaWVzW2ldLmlzSW50ZXJzZWN0aW5nLCBleHBlY3RlZFsxMl0s
CisgICAgICAgICAgJ2VudHJpZXNbJyArIGkgKyAnXS5pc0ludGVyc2VjdGluZycpOworICAgIH0K
KyAgfQorfQorCitmdW5jdGlvbiBjaGVja0pzb25FbnRyeShhY3R1YWwsIGV4cGVjdGVkKSB7Cisg
IGNoZWNrUmVjdCgKKyAgICAgIGFjdHVhbC5ib3VuZGluZ0NsaWVudFJlY3QsIGV4cGVjdGVkLmJv
dW5kaW5nQ2xpZW50UmVjdCwKKyAgICAgICdlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QnKTsKKyAg
Y2hlY2tSZWN0KAorICAgICAgYWN0dWFsLmludGVyc2VjdGlvblJlY3QsIGV4cGVjdGVkLmludGVy
c2VjdGlvblJlY3QsCisgICAgICAnZW50cnkuaW50ZXJzZWN0aW9uUmVjdCcpOworICBpZiAoYWN0
dWFsLnJvb3RCb3VuZHMgPT0gJ251bGwnKQorICAgIGFzc2VydF9lcXVhbHMoZXhwZWN0ZWQucm9v
dEJvdW5kcywgJ251bGwnLCAncm9vdEJvdW5kcyBpcyBudWxsJyk7CisgIGVsc2UKKyAgICBjaGVj
a1JlY3QoYWN0dWFsLnJvb3RCb3VuZHMsIGV4cGVjdGVkLnJvb3RCb3VuZHMsICdlbnRyeS5yb290
Qm91bmRzJyk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLnRhcmdldCwgZXhwZWN0ZWQudGFyZ2V0
KTsKK30KKworZnVuY3Rpb24gY2hlY2tKc29uRW50cmllcyhhY3R1YWwsIGV4cGVjdGVkLCBkZXNj
cmlwdGlvbikgeworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMoYWN0dWFs
Lmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFjdHVh
bC5sZW5ndGg7IGkrKykKKyAgICAgIGNoZWNrSnNvbkVudHJ5KGFjdHVhbFtpXSwgZXhwZWN0ZWRb
aV0pOworICB9LCBkZXNjcmlwdGlvbik7Cit9CisKK2Z1bmN0aW9uIGNoZWNrSXNJbnRlcnNlY3Rp
bmcoZW50cmllcywgaSwgZXhwZWN0ZWQpIHsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzW2ldLmlz
SW50ZXJzZWN0aW5nLCBleHBlY3RlZCwKKyAgICAnZW50cmllc1snICsgaSArICddLnRhcmdldC5p
c0ludGVyc2VjdGluZyBlcXVhbHMgJyArIGV4cGVjdGVkKTsKK30KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZXNvdXJjZXMvb2JzZXJ2ZXItaW4taWZy
YW1lLXN1YmZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZXNvdXJjZXMvb2JzZXJ2ZXItaW4taWZyYW1l
LXN1YmZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWQwNzY5YWU0NGExYmI0YTYxOTVjMDA2OTk5YjA5
NTlmNzA2MzMwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNlcy9vYnNlcnZl
ci1pbi1pZnJhbWUtc3ViZnJhbWUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3Njcmlw
dD4KKworPHN0eWxlPgorI3Jvb3QgeworICB3aWR0aDogMjAwcHg7CisgIGhlaWdodDogMjAwcHg7
Cit9Cisjc2Nyb2xsZXIgeworICB3aWR0aDogMTYwcHg7CisgIGhlaWdodDogMjAwcHg7CisgIG92
ZXJmbG93LXk6IHNjcm9sbDsKK30KKyN0YXJnZXQgeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdo
dDogMTAwcHg7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorLnNwYWNlciB7CisgIGhl
aWdodDogMzAwcHg7Cit9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJyb290Ij4KKyAgPGRpdiBpZD0i
c2Nyb2xsZXIiPgorICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgPGRpdiBpZD0i
dGFyZ2V0Ij48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICA8L2Rpdj4K
KzwvZGl2PgorCis8c2NyaXB0Pgorc2V0dXAoe21lc3NhZ2VfZXZlbnRzOiBbXSwgb3V0cHV0X2Rv
Y3VtZW50OiB3aW5kb3cucGFyZW50LmRvY3VtZW50fSk7CisKK3ZhciBlbnRyaWVzID0gW107Cit2
YXIgcm9vdCwgc2Nyb2xsZXIsIHRhcmdldDsKKworcnVuVGVzdEN5Y2xlKGZ1bmN0aW9uKCkgewor
ICByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3QiKTsKKyAgYXNzZXJ0X3RydWUo
ISFyb290LCAiUm9vdCBlbGVtZW50IGV4aXN0cy4iKTsKKyAgc2Nyb2xsZXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic2Nyb2xsZXIiKTsKKyAgYXNzZXJ0X3RydWUoISFzY3JvbGxlciwgIlNj
cm9sbGVyIGVsZW1lbnQgZXhpc3RzLiIpOworICB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0Iik7CisgIGFzc2VydF90cnVlKCEhdGFyZ2V0LCAiVGFyZ2V0IGVsZW1lbnQg
ZXhpc3RzLiIpOworICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVu
Y3Rpb24oY2hhbmdlcykgeworICAgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQor
ICB9LCB7cm9vdDogcm9vdH0pOworICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgIGVudHJp
ZXMgPSBlbnRyaWVzLmNvbmNhdChvYnNlcnZlci50YWtlUmVjb3JkcygpKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMCwgIk5vIGluaXRpYWwgbm90aWZpY2F0aW9ucy4iKQorICBy
dW5UZXN0Q3ljbGUoc3RlcDEsICJGaXJzdCByQUYuIik7Cit9LCAiSW50ZXJzZWN0aW9uT2JzZXJ2
ZXIgaW4gaWZyYW1lIHdpdGggZXhwbGljaXQgcm9vdC4iKTsKKworZnVuY3Rpb24gc3RlcDEoKSB7
CisgIHNjcm9sbGVyLnNjcm9sbFRvcCA9IDI1MDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAyLCAic2Ny
b2xsZXIuc2Nyb2xsVG9wID0gMjUwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDAsIFs4
LCAxMDgsIDMwOCwgNDA4LCAwLCAwLCAwLCAwLCA4LCAyMDgsIDgsIDIwOCwgZmFsc2VdKTsKK30K
KworZnVuY3Rpb24gc3RlcDIoKSB7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDEsIFs4LCAx
MDgsIDU4LCAxNTgsIDgsIDEwOCwgNTgsIDE1OCwgOCwgMjA4LCA4LCAyMDgsIHRydWVdKTsKK30K
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL3RpbWVzdGFtcC1zdWJm
cmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL3RpbWVzdGFtcC1zdWJmcmFtZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE0M2U0ZjZlMjNhNzY4ODk0OTQyMGEwN2NjZDIwZTNjMjExYTZmNmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci9yZXNvdXJjZXMvdGltZXN0YW1wLXN1YmZyYW1lLmh0bWwK
QEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisjdGFyZ2V0IHsKKyAg
d2lkdGg6IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsKK30KKy5zcGFjZXIgeworICB3aWR0aDogaGVpZ2h0OiAxMDBweAorfQorPC9zdHlsZT4KKwor
PGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCis8c2NyaXB0PgorZG9jdW1lbnQuY3JlYXRlT2JzZXJ2
ZXJDYWxsYmFjayA9IGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKG5ld0Vu
dHJpZXMpIHsKKyAgICBmb3IgKHZhciBpIGluIG5ld0VudHJpZXMpIHsKKyAgICAgIGVudHJpZXMu
cHVzaChuZXdFbnRyaWVzW2ldKTsKKyAgICB9CisgIH07Cit9Citkb2N1bWVudC5jcmVhdGVPYnNl
cnZlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CisgIHJldHVybiBuZXcgSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIoY2FsbGJhY2ssIHt9KTsKK307Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hYTFlODUxZTM1MWQ0YmU4ODMwYzQxMmNmZWEwZjA3OTQ3NTU4ZjYw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBA
IC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKwor
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1By
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4t
c3ViZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jlc291cmNlcy9pZnJhbWUtbm8tcm9vdC1zdWJmcmFt
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0
aWxzLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL29ic2VydmVyLWluLWlmcmFtZS1zdWJmcmFtZS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNl
Y3Rpb24tb2JzZXJ2ZXIvcmVzb3VyY2VzL3RpbWVzdGFtcC1zdWJmcmFtZS5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci9yb290LW1hcmdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yb290LW1h
cmdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQxZTQ4Zjk0ZWQzNzRjZmM0YjQ0Y2FkZmM2
OTEzOGQxMDRlMTQ4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKyAgCisKK1BBU1MgUm9vdCBtYXJnaW4gdGVzdHMg
CitGQUlMIEZpcnN0IHJBRi4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQg
MSBidXQgZ290IDAKK0ZBSUwgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0ID0g
MTAwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAwCitG
QUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LmNsaWVudEhlaWdodCArIDIwMCBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0
aCBleHBlY3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNj
cm9sbFRvcCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgKyAzMDAgYXNz
ZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMyBidXQgZ290IDAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNl
Y3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzFmZmZlYzAyYmVjYzUwY2NhYWQxZjhmZGFhOWZmZDE2YWZlZjExYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLmh0bWwKQEAgLTAsMCArMSw4
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitwcmUsICNsb2cgewor
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIHRvcDogMDsKKyAgbGVmdDogMjAwcHg7Cit9CisjdGFy
Z2V0IHsKKyAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICB3aWR0aDogMTAwcHg7CisgIGhlaWdo
dDogMTAwcHg7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorLnZlcnRpY2FsLXNwYWNl
ciB7CisgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4KTsKK30KKy5ob3Jpem9udGFsLXNwYWNl
ciB7CisgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgd2lkdGg6IDEyMHZ3OworfQorPC9zdHls
ZT4KKworPGRpdiBjbGFzcz0idmVydGljYWwtc3BhY2VyIj48L2Rpdj4KKzxkaXYgc3R5bGU9Indo
aXRlLXNwYWNlOm5vd3JhcDsiPgorICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLXNwYWNlciI+PC9k
aXY+CisgIDxkaXYgaWQ9InRhcmdldCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9Imhvcml6b250YWwt
c3BhY2VyIj48L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0idmVydGljYWwtc3BhY2VyIj48L2Rp
dj4KKworPHNjcmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRX
aWR0aDsKK3ZhciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisK
K3ZhciBlbnRyaWVzID0gW107Cit2YXIgdGFyZ2V0OworCitydW5UZXN0Q3ljbGUoZnVuY3Rpb24o
KSB7CisgIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgYXNz
ZXJ0X3RydWUoISF0YXJnZXQsICJUYXJnZXQgZXhpc3RzIik7CisgIHZhciBvYnNlcnZlciA9IG5l
dyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihjaGFuZ2VzKSB7CisgICAgZW50cmllcyA9
IGVudHJpZXMuY29uY2F0KGNoYW5nZXMpCisgIH0sIHsgcm9vdE1hcmdpbjogIjEwcHggMjAlIDQw
JSAzMHB4IiB9KTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICBlbnRyaWVzID0gZW50
cmllcy5jb25jYXQob2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CisgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIDAsICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgIHJ1blRlc3RD
eWNsZShzdGVwMCwgIkZpcnN0IHJBRi4iKTsKK30sICJSb290IG1hcmdpbiB0ZXN0cyIpOworCitm
dW5jdGlvbiBzdGVwMCgpIHsKKyAgdmFyIHRhcmdldEJvdW5kcyA9IGNsaWVudEJvdW5kcyh0YXJn
ZXQpOworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQgPSAxMDA7CisgIHJ1
blRlc3RDeWNsZShzdGVwMSwgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCA9
IDEwMCIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAwLCB0YXJnZXRCb3VuZHMuY29uY2F0
KDAsIDAsIDAsIDAsIC0zMCwgdncgKiAxLjIsIC0xMCwgdmggKiAxLjQsIGZhbHNlKSk7Cit9CisK
K2Z1bmN0aW9uIHN0ZXAxKCkgeworICB2YXIgdGFyZ2V0Qm91bmRzID0gY2xpZW50Qm91bmRzKHRh
cmdldCk7CisgIHZhciBzdyA9IHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmNsaWVudFdpZHRoOworICB2YXIgc2ggPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OworICBkb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50LnNjcm9sbFRvcCA9IHZoICsgMjAwOworICBydW5UZXN0Q3ljbGUoc3RlcDIsICJkb2N1
bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dC5jbGllbnRIZWlnaHQgKyAyMDAiKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMSwgdGFy
Z2V0Qm91bmRzLmNvbmNhdCgKKyAgICB0YXJnZXRCb3VuZHNbMF0sIE1hdGgubWluKHRhcmdldEJv
dW5kc1sxXSwgdncgKiAxLjIpLCB2aCArIDEwOCArIHNoLCBNYXRoLm1pbih2aCArIDIwOCArIHN3
LCB2aCAqIDEuNCksCisgICAgLTMwLCB2dyAqIDEuMiwgLTEwLCB2aCAqIDEuNCwKKyAgICB0cnVl
CisgICkpOworfQorCitmdW5jdGlvbiBzdGVwMigpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxl
bWVudC5zY3JvbGxUb3AgPSB2aCArIDMwMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAzLCAiZG9jdW1l
bnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQu
Y2xpZW50SGVpZ2h0ICsgMzAwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDEpOworfQor
CitmdW5jdGlvbiBzdGVwMygpIHsKKyAgdmFyIHRhcmdldEJvdW5kcyA9IGNsaWVudEJvdW5kcyh0
YXJnZXQpOworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQgPSAwOworICBk
b2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDA7CisgIGNoZWNrTGFzdEVudHJ5
KGVudHJpZXMsIDIsIHRhcmdldEJvdW5kcy5jb25jYXQoMCwgMCwgMCwgMCwgLTMwLCB2dyAqIDEu
MiwgLTEwLCB2aCAqIDEuNCwgZmFsc2UpKTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvc2FtZS1kb2N1bWVudC1uby1yb290LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3NhbWUt
ZG9jdW1lbnQtbm8tcm9vdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzBjN2E4OGNkODE2NDlh
ZTQ3Yjc5MmEwMDVlNTM4OTM0MDJkNDUzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Nh
bWUtZG9jdW1lbnQtbm8tcm9vdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK1BBU1Mg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW4gYSBzaW5nbGUgZG9jdW1lbnQgdXNpbmcgdGhlIGltcGxp
Y2l0IHJvb3QuIAorRkFJTCBGaXJzdCByQUYuIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3Ro
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Ny
b2xsVG9wID0gMzAwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0
IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMTAwIGFz
c2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdvdCAwCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL3NhbWUtZG9jdW1lbnQtbm8tcm9vdC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2Ft
ZS1kb2N1bWVudC1uby1yb290Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgzODgwODg4YWJkY2RkODcwZTJl
ZGIyMzU4ZjYxOWQ0MzRhZDUxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3NhbWUtZG9j
dW1lbnQtbm8tcm9vdC5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKworPHN0eWxlPgorcHJlLCAjbG9nIHsKKyAgcG9zaXRpb246IGFic29sdXRlOworICB0
b3A6IDA7CisgIGxlZnQ6IDIwMHB4OworfQorLnNwYWNlciB7CisgIGhlaWdodDogY2FsYygxMDB2
aCArIDEwMHB4KTsKK30KKyN0YXJnZXQgeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAw
cHg7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKworPGRpdiBjbGFz
cz0ic3BhY2VyIj48L2Rpdj4KKzxkaXYgaWQ9InRhcmdldCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJz
cGFjZXIiPjwvZGl2PgorCis8c2NyaXB0PgordmFyIHZ3ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LmNsaWVudFdpZHRoOwordmFyIHZoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVu
dEhlaWdodDsKKwordmFyIGVudHJpZXMgPSBbXTsKK3ZhciB0YXJnZXQ7CisKK3J1blRlc3RDeWNs
ZShmdW5jdGlvbigpIHsKKyAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpOworICBhc3NlcnRfdHJ1ZSghIXRhcmdldCwgInRhcmdldCBleGlzdHMiKTsKKyAgdmFyIG9i
c2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGNoYW5nZXMpIHsKKyAg
ICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykKKyAgfSk7CisgIG9ic2VydmVyLm9i
c2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVyLnRha2VS
ZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAiTm8gaW5pdGlh
bCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJzdCByQUYuIik7
Cit9LCAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW4gYSBzaW5nbGUgZG9jdW1lbnQgdXNpbmcgdGhl
IGltcGxpY2l0IHJvb3QuIik7CisKK2Z1bmN0aW9uIHN0ZXAwKCkgeworICBkb2N1bWVudC5zY3Jv
bGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDMwMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAxLCAiZG9j
dW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAzMDAiKTsKKyAgY2hlY2tMYXN0RW50
cnkoZW50cmllcywgMCwgWzgsIDEwOCwgdmggKyAxMDgsIHZoICsgMjA4LCAwLCAwLCAwLCAwLCAw
LCB2dywgMCwgdmgsIGZhbHNlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAxKCkgeworICBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDEwMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAy
LCAiZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAxMDAiKTsKKyAgY2hlY2tM
YXN0RW50cnkoZW50cmllcywgMSwgWzgsIDEwOCwgdmggLSAxOTIsIHZoIC0gOTIsIDgsIDEwOCwg
dmggLSAxOTIsIHZoIC0gOTIsIDAsIHZ3LCAwLCB2aCwgdHJ1ZV0pOworfQorCitmdW5jdGlvbiBz
dGVwMigpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwOworICBj
aGVja0xhc3RFbnRyeShlbnRyaWVzLCAyLCBbOCwgMTA4LCB2aCArIDgsIHZoICsgMTA4LCAwLCAw
LCAwLCAwLCAwLCB2dywgMCwgdmgsIGZhbHNlXSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL3NhbWUtZG9jdW1lbnQtcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9zYW1l
LWRvY3VtZW50LXJvb3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhMThkNGQ1NjBmYTZhMzg1
ZWI4YjRkYzdiYTU5YmUyNTJlNTIwMmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9zYW1l
LWRvY3VtZW50LXJvb3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitQQVNTIEludGVy
c2VjdGlvbk9ic2VydmVyIGluIGEgc2luZ2xlIGRvY3VtZW50IHdpdGggZXhwbGljaXQgcm9vdC4g
CitGQUlMIEZpcnN0IHJBRiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAx
IGJ1dCBnb3QgMAorRkFJTCBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHdp
bmRvdy5pbm5lckhlaWdodC4gYXNzZXJ0X2VxdWFsczogTm8gbm90aWZpY2F0aW9ucyBhZnRlciBz
Y3JvbGxpbmcgZnJhbWUuIGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIHJvb3Quc2Nyb2xsVG9w
ID0gMTUwIHdpdGggcm9vdCBzY3JvbGxlZCBpbnRvIHZpZXcuIGFzc2VydF9lcXVhbHM6IGVudHJp
ZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wID0gMC4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0
ZWQgMiBidXQgZ290IDAKK0ZBSUwgcm9vdC5zY3JvbGxUb3AgPSAwIGFzc2VydF9lcXVhbHM6IGVu
dHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdvdCAwCitGQUlMIHJvb3Quc2Nyb2xsVG9wID0g
MTUwIHdpdGggcm9vdCBzY3JvbGxlZCBvdXQgb2Ygdmlldy4gYXNzZXJ0X2VxdWFsczogZW50cmll
cy5sZW5ndGggZXhwZWN0ZWQgNCBidXQgZ290IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2Ft
ZS1kb2N1bWVudC1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9zYW1lLWRvY3VtZW50LXJvb3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MDQ2N2JlNzJiNGYyOThiYjlkODcwNGNiYjkzODM5MWUzOTVhM2VmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC1yb290Lmh0bWwKQEAgLTAsMCAr
MSw5MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitwcmUsICNsb2cg
eworICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIHRvcDogMDsKKyAgbGVmdDogMjAwcHg7Cit9Cisu
c3BhY2VyIHsKKyAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMTAwcHgpOworfQorI3Jvb3QgeworICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgIG92ZXJmbG93LXk6IHNjcm9sbDsKKyAgaGVpZ2h0OiAy
MDBweDsKKyAgYm9yZGVyOiAzcHggc29saWQgYmxhY2s7Cit9CisjdGFyZ2V0IHsKKyAgd2lkdGg6
IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKK30K
Kzwvc3R5bGU+CisKKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Cis8ZGl2IGlkPSJyb290Ij4K
KyAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAzMDBweDsiPjwvZGl2PgorICA8ZGl2IGlkPSJ0YXJnZXQi
PjwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorCis8c2NyaXB0Pgor
dmFyIHZ3ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoOwordmFyIHZoID0g
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDsKKwordmFyIGVudHJpZXMgPSBb
XTsKK3ZhciByb290LCB0YXJnZXQ7CisKK3J1blRlc3RDeWNsZShmdW5jdGlvbigpIHsKKyAgdGFy
Z2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOworICBhc3NlcnRfdHJ1ZSgh
IXRhcmdldCwgInRhcmdldCBleGlzdHMiKTsKKyAgcm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyb290Iik7CisgIGFzc2VydF90cnVlKCEhcm9vdCwgInJvb3QgZXhpc3RzIik7CisgIHZh
ciBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihjaGFuZ2VzKSB7
CisgICAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KGNoYW5nZXMpCisgIH0sIHsgcm9vdDogcm9v
dCB9KTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICBlbnRyaWVzID0gZW50cmllcy5j
b25jYXQob2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5s
ZW5ndGgsIDAsICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgIHJ1blRlc3RDeWNsZShz
dGVwMCwgIkZpcnN0IHJBRiIpOworfSwgIkludGVyc2VjdGlvbk9ic2VydmVyIGluIGEgc2luZ2xl
IGRvY3VtZW50IHdpdGggZXhwbGljaXQgcm9vdC4iKTsKKworZnVuY3Rpb24gc3RlcDAoKSB7Cisg
IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gdmg7CisgIHJ1blRlc3RDeWNs
ZShzdGVwMSwgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gd2luZG93Lmlu
bmVySGVpZ2h0LiIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAwLCBbIDExLCAxMTEsIHZo
ICsgNDExLCB2aCArIDUxMSwgMCwgMCwgMCwgMCwgMTEsIDExMSwgdmggKyAxMTEsIHZoICsgMzEx
LCBmYWxzZV0pOworfQorCitmdW5jdGlvbiBzdGVwMSgpIHsKKyAgcm9vdC5zY3JvbGxUb3AgPSAx
NTA7CisgIHJ1blRlc3RDeWNsZShzdGVwMiwgInJvb3Quc2Nyb2xsVG9wID0gMTUwIHdpdGggcm9v
dCBzY3JvbGxlZCBpbnRvIHZpZXcuIik7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsICJObyBub3RpZmljYXRpb25zIGFmdGVyIHNjcm9sbGluZyBmcmFtZS4iKTsKK30KKworZnVu
Y3Rpb24gc3RlcDIoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0g
MDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAzLCAiZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3Jv
bGxUb3AgPSAwLiIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAxLCBbMTEsIDExMSwgMjYx
LCAzNjEsIDExLCAxMTEsIDI2MSwgMzExLCAxMSwgMTExLCAxMTEsIDMxMSwgdHJ1ZV0pOworfQor
CitmdW5jdGlvbiBzdGVwMygpIHsKKyAgcm9vdC5zY3JvbGxUb3AgPSAwOworICBydW5UZXN0Q3lj
bGUoc3RlcDQsICJyb290LnNjcm9sbFRvcCA9IDAiKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmll
cywgMSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXA0KCkgeworICByb290LnNjcm9sbFRvcCA9IDE1MDsK
KyAgcnVuVGVzdEN5Y2xlKHN0ZXA1LCAicm9vdC5zY3JvbGxUb3AgPSAxNTAgd2l0aCByb290IHNj
cm9sbGVkIG91dCBvZiB2aWV3LiIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAyLCBbMTEs
IDExMSwgdmggKyA0MTEsIHZoICsgNTExLCAwLCAwLCAwLCAwLCAxMSwgMTExLCB2aCArIDExMSwg
dmggKyAzMTEsIGZhbHNlXSk7Cit9CisKKy8vIFRoaXMgdGVzdHMgdGhhdCBub3RpZmljYXRpb25z
IGFyZSBnZW5lcmF0ZWQgZXZlbiB3aGVuIHRoZSByb290IGVsZW1lbnQgaXMgb2ZmIHNjcmVlbi4K
K2Z1bmN0aW9uIHN0ZXA1KCkgeworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAzLCBbMTEsIDEx
MSwgdmggKyAyNjEsIHZoICsgMzYxLCAxMSwgMTExLCB2aCArIDI2MSwgdmggKyAzMTEsIDExLCAx
MTEsIHZoICsgMTExLCB2aCArIDMxMSwgdHJ1ZV0pOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci9zYW1lLWRvY3VtZW50LXplcm8tc2l6ZS10YXJnZXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC16ZXJvLXNpemUtdGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MGIxMWE2ODEzMDE1MTFkZjE0MjYyOWI3ZjZmMDFkNzI2NDVjOTlmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2FtZS1kb2N1bWVudC16ZXJvLXNpemUtdGFyZ2V0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworUEFTUyBPYnNlcnZpbmcgYSB6ZXJvLWFyZWEgdGFy
Z2V0LiAKK0ZBSUwgRmlyc3QgckFGIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVj
dGVkIDEgYnV0IGdvdCAwCitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9w
ID0gMzAwIGFzc2VydF9lcXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDIgYnV0IGdvdCAw
CitGQUlMIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMTAwIGFzc2VydF9l
cXVhbHM6IGVudHJpZXMubGVuZ3RoIGV4cGVjdGVkIDMgYnV0IGdvdCAwCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL3NhbWUtZG9jdW1lbnQtemVyby1zaXplLXRhcmdldC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIv
c2FtZS1kb2N1bWVudC16ZXJvLXNpemUtdGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDgzNWI0MDYz
NGQzM2QwYzdkZDkxMmVhODFkNGVmNmQ0MmFmN2MxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2Vy
dmVyL3NhbWUtZG9jdW1lbnQtemVyby1zaXplLXRhcmdldC5odG1sCkBAIC0wLDAgKzEsNjEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorcHJlLCAjbG9nIHsKKyAgcG9z
aXRpb246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxlZnQ6IDIwMHB4OworfQorLnNwYWNlciB7
CisgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4KTsKK30KKyN0YXJnZXQgeworICB3aWR0aDog
MHB4OworICBoZWlnaHQ6IDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0
eWxlPgorCis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0Ij48L2Rp
dj4KKzxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgdncgPSBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7Cit2YXIgdmggPSBkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OworCit2YXIgZW50cmllcyA9IFtdOwordmFyIHRhcmdl
dDsKKworcnVuVGVzdEN5Y2xlKGZ1bmN0aW9uKCkgeworICB0YXJnZXQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0Iik7CisgIGFzc2VydF90cnVlKCEhdGFyZ2V0LCAiVGFyZ2V0IGV4
aXN0cyIpOworICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rp
b24oY2hhbmdlcykgeworICAgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQorICB9
KTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICBlbnRyaWVzID0gZW50cmllcy5jb25j
YXQob2JzZXJ2ZXIudGFrZVJlY29yZHMoKSk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDAsICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgIHJ1blRlc3RDeWNsZShzdGVw
MCwgIkZpcnN0IHJBRiIpOworfSwgIk9ic2VydmluZyBhIHplcm8tYXJlYSB0YXJnZXQuIik7CisK
K2Z1bmN0aW9uIHN0ZXAwKCkgeworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRv
cCA9IDMwMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAxLCAiZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVu
dC5zY3JvbGxUb3AgPSAzMDAiKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMCwgWzgsIDgs
IHZoICsgMTA4LCB2aCArIDEwOCwgMCwgMCwgMCwgMCwgMCwgdncsIDAsIHZoLCBmYWxzZV0pOwor
fQorCitmdW5jdGlvbiBzdGVwMSgpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3Jv
bGxUb3AgPSAxMDA7CisgIHJ1blRlc3RDeWNsZShzdGVwMiwgImRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wID0gMTAwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDEsIFs4
LCA4LCB2aCAtIDE5MiwgdmggLSAxOTIsIDgsIDgsIHZoIC0gMTkyLCB2aCAtIDE5MiwgMCwgdncs
IDAsIHZoLCB0cnVlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAyKCkgeworICBkb2N1bWVudC5zY3Jv
bGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDA7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDIs
IFs4LCA4LCB2aCArIDgsIHZoICsgOCwgMCwgMCwgMCwgMCwgMCwgdncsIDAsIHZoLCBmYWxzZV0p
OworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9zaGFkb3ctY29udGVudC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9zaGFkb3ctY29udGVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYmQwMTc5ODg2NDMwYzUyODdhM2Y4ZDE0OTlmMjJkNjY0MDQ0NmU0ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL3NoYWRvdy1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKKworUEFTUyBPYnNlcnZpbmcgYSB0YXJnZXQgaW5zaWRlIHNoYWRvdyBET00uIAorRkFJTCBG
aXJzdCByQUYgYWZ0ZXIgY3JlYXRpbmcgc2hhZG93IERPTS4gYXNzZXJ0X2VxdWFsczogZW50cmll
cy5sZW5ndGggZXhwZWN0ZWQgMSBidXQgZ290IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvc2hh
ZG93LWNvbnRlbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3NoYWRvdy1jb250ZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDA0OWM3MDkxOWUxMjlmYTZjMzM1ZTg2MDFmNmNlNmE2Y2Q3M2E5ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJz
ZWN0aW9uLW9ic2VydmVyL3NoYWRvdy1jb250ZW50Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitwcmUsICNsb2cgeworICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgIHRvcDogMDsKKyAgbGVmdDogMjAwcHg7Cit9Cis8L3N0eWxlPgorCis8
ZGl2IGlkPSJob3N0Ij48L2Rpdj4KKworPHNjcmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5jbGllbnRXaWR0aDsKK3ZhciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dC5jbGllbnRIZWlnaHQ7CisKK3ZhciBlbnRyaWVzID0gW107Cit2YXIgdGFyZ2V0OworCitydW5U
ZXN0Q3ljbGUoZnVuY3Rpb24oKSB7CisgIHZhciBzaGFkb3dIb3N0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImhvc3QiKTsKKyAgYXNzZXJ0X3RydWUoISFzaGFkb3dIb3N0LCAiSG9zdCBleGlz
dHMiKTsKKyAgdmFyIHNoYWRvd1Jvb3QgPSBzaGFkb3dIb3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6
ICJvcGVuIiB9KTsKKyAgYXNzZXJ0X3RydWUoISFzaGFkb3dSb290LCAiU2hhZG93IHJvb3QgZXhp
c3RzIik7CisgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxkaXYgaWQ9J3RhcmdldCcgc3R5bGU9
J3dpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Jz48
L2Rpdj4iOworICB0YXJnZXQgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsK
KyAgYXNzZXJ0X3RydWUoISF0YXJnZXQsICJ0YXJnZXQgZXhpc3RzIik7CisKKyAgdmFyIG9ic2Vy
dmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGNoYW5nZXMpIHsKKyAgICBl
bnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykKKyAgfSk7CisgIG9ic2VydmVyLm9ic2Vy
dmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVyLnRha2VSZWNv
cmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAiTm8gaW5pdGlhbCBu
b3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJzdCByQUYgYWZ0ZXIg
Y3JlYXRpbmcgc2hhZG93IERPTS4iKTsKK30sICJPYnNlcnZpbmcgYSB0YXJnZXQgaW5zaWRlIHNo
YWRvdyBET00uIik7CisKK2Z1bmN0aW9uIHN0ZXAwKCkgeworICBjaGVja0xhc3RFbnRyeShlbnRy
aWVzLCAwLCBbOCwgMTA4LCA4LCAxMDgsIDgsIDEwOCwgOCwgMTA4LCAwLCB2dywgMCwgdmgsIHRy
dWVdKTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGV4dC10YXJnZXQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGV4dC10YXJnZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE3MTNlYzJhY2YyNjljOThkMTE0MGFiZmU0NDRlODdmNDQ2YjZhODYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci90ZXh0LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisK
KworUEFTUyBJbnRlcnNlY3Rpb25PYnNlcnZlciBvYnNlcnZpbmcgYSBiciBlbGVtZW50LiAKK0ZB
SUwgRmlyc3QgckFGLiBhc3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAxIGJ1
dCBnb3QgMAorRkFJTCBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDMwMCBh
c3NlcnRfZXF1YWxzOiBlbnRyaWVzLmxlbmd0aCBleHBlY3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBk
b2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDEwMCBhc3NlcnRfZXF1YWxzOiBl
bnRyaWVzLmxlbmd0aCBleHBlY3RlZCAzIGJ1dCBnb3QgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci90ZXh0LXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGV4dC10YXJnZXQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xM2RjM2FiZWEyZDhiMDQzOGFjNzZlOWRhOTc0NzE4Nzc4YmNiYjEyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNl
Y3Rpb24tb2JzZXJ2ZXIvdGV4dC10YXJnZXQuaHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3ByZSwgI2xvZyB7CisgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAyMDBweDsKK30KKy5zcGFjZXIgeworICBoZWln
aHQ6IGNhbGMoMTAwdmggKyAxMDBweCk7Cit9Cis8L3N0eWxlPgorCis8ZGl2IGNsYXNzPSJzcGFj
ZXIiPjwvZGl2PgorPGJyIGlkPSJ0YXJnZXQiPgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4K
KworPHNjcmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0
aDsKK3ZhciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisKK3Zh
ciBlbnRyaWVzID0gW107Cit2YXIgdGFyZ2V0OwordmFyIHR3LCB0aDsKKworcnVuVGVzdEN5Y2xl
KGZ1bmN0aW9uKCkgeworICB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
Iik7CisgIGxldCB0YXJnZXRfcmVjdCA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsK
KyAgdHcgPSB0YXJnZXRfcmVjdC53aWR0aDsKKyAgdGggPSB0YXJnZXRfcmVjdC5oZWlnaHQ7Cisg
IGFzc2VydF90cnVlKCEhdGFyZ2V0LCAidGFyZ2V0IGV4aXN0cyIpOworICB2YXIgb2JzZXJ2ZXIg
PSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oY2hhbmdlcykgeworICAgIGVudHJp
ZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQorICB9KTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
YXJnZXQpOworICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQob2JzZXJ2ZXIudGFrZVJlY29yZHMo
KSk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDAsICJObyBpbml0aWFsIG5vdGlm
aWNhdGlvbnMuIik7CisgIHJ1blRlc3RDeWNsZShzdGVwMCwgIkZpcnN0IHJBRi4iKTsKK30sICJJ
bnRlcnNlY3Rpb25PYnNlcnZlciBvYnNlcnZpbmcgYSBiciBlbGVtZW50LiIpOworCitmdW5jdGlv
biBzdGVwMCgpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAzMDA7
CisgIHJ1blRlc3RDeWNsZShzdGVwMSwgImRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xs
VG9wID0gMzAwIik7CisgIC8vIFRoZSBudW1iZXJzIGluIGJyYWNrZXRzIGFyZSB0YXJnZXQgY2xp
ZW50IHJlY3Q7IGludGVyc2VjdGlvbiByZWN0OworICAvLyBhbmQgcm9vdCBib3VuZHMuCisgIGNo
ZWNrTGFzdEVudHJ5KGVudHJpZXMsIDAsIFs4LCA4ICsgdHcsIHZoICsgMTA4LCB2aCArIDEwOCAr
IHRoLCAwLCAwLCAwLCAwLCAwLCB2dywgMCwgdmgsIGZhbHNlXSk7Cit9CisKK2Z1bmN0aW9uIHN0
ZXAxKCkgeworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDEwMDsKKyAg
cnVuVGVzdEN5Y2xlKHN0ZXAyLCAiZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3Ag
PSAxMDAiKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMSwgWzgsIDggKyB0dywgdmggLSAx
OTIsIHZoIC0gMTkyICsgdGgsIDgsIDggKyB0dywgdmggLSAxOTIsIHZoIC0gMTkyICsgdGgsIDAs
IHZ3LCAwLCB2aCwgdHJ1ZV0pOworfQorCitmdW5jdGlvbiBzdGVwMigpIHsKKyAgZG9jdW1lbnQu
c2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVz
LCAyLCBbOCwgOCArIHR3LCB2aCArIDgsIHZoICsgOCArIHRoLCAwLCAwLCAwLCAwLCAwLCB2dywg
MCwgdmgsIGZhbHNlXSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3RpbWVz
dGFtcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci90aW1lc3RhbXAtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM4ZTExMzUwNWIxODdhYjE5ZDAwNjUwN2FlYzk2YmZhOGI1NmE2OTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci90aW1lc3RhbXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBA
QAorCisKK1BBU1MgQ2hlY2sgdGhhdCB0aW1lc3RhbXBzIGNvcnJlc3BvbmQgdG8gdGhlIHRvIGV4
ZWN1dGlvbiBjb250ZXh0IHRoYXQgY3JlYXRlZCB0aGUgb2JzZXJ2ZXIuIAorRkFJTCBGaXJzdCBy
QUYgYWZ0ZXIgaWZyYW1lIGlzIGxvYWRlZC4gYXNzZXJ0X2VxdWFsczogT25lIG5vdGlmaWNhdGlv
biB0byB0b3Agd2luZG93IG9ic2VydmVyLiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCBHZW5l
cmF0ZSBub3RpZmljYXRpb25zLiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAndG9wV2luZG93RW50cmllc1sxXS50aW1lJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGlt
ZXN0YW1wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci90aW1lc3RhbXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTE5ODAw
NDBkMjk4YjRkNmQwMDU1OTc2ZWQ0MmMyMDJkZWM5ODg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvdGltZXN0YW1wLmh0bWwKQEAgLTAsMCArMSw5OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLXRlc3QtdXRpbHMuanMiPjwv
c2NyaXB0PgorCis8c3R5bGU+CitwcmUsICNsb2cgeworICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
IHRvcDogMDsKKyAgbGVmdDogMjAwcHg7Cit9Cisuc3BhY2VyIHsKKyAgaGVpZ2h0OiBjYWxjKDEw
MHZoICsgMTAwcHgpOworfQorCis8L3N0eWxlPgorPGRpdiBpZD0ibGVhZGluZy1zcGFjZSIgY2xh
c3M9InNwYWNlciI+PC9kaXY+Cis8ZGl2IGlkPSJ0cmFpbGluZy1zcGFjZSIgY2xhc3M9InNwYWNl
ciI+PC9kaXY+CisKKzxzY3JpcHQ+CisvLyBQaWNrIHRoaXMgbnVtYmVyIHRvIGJlIGNvbWZvcnRh
Ymx5IGdyZWF0ZXIgdGhhbiB0aGUgbGVuZ3RoIG9mIHR3byBmcmFtZXMgYXQgNjBIei4KK3ZhciB0
aW1lU2tldyA9IDQwOworCit2YXIgdG9wV2luZG93RW50cmllcyA9IFtdOwordmFyIGlmcmFtZVdp
bmRvd0VudHJpZXMgPSBbXTsKK3ZhciB0YXJnZXRJZnJhbWU7Cit2YXIgdG9wV2luZG93VGltZUJl
Zm9yZU5vdGlmaWNhdGlvbjsKK3ZhciBpZnJhbWVXaW5kb3dUaW1lQmVmb3JlTm90aWZpY2F0aW9u
OworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24o
KSB7CisgICAgdGFyZ2V0SWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7
CisgICAgYXNzZXJ0X3RydWUoISF0YXJnZXRJZnJhbWUsICJpZnJhbWUgZXhpc3RzIik7CisgICAg
dGFyZ2V0SWZyYW1lLnNyYyA9ICJyZXNvdXJjZXMvdGltZXN0YW1wLXN1YmZyYW1lLmh0bWwiOwor
ICAgIHZhciB0cmFpbGluZ1NwYWNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyYWlsaW5n
LXNwYWNlIik7CisgICAgYXNzZXJ0X3RydWUoISF0cmFpbGluZ1NwYWNlLCAidHJhaWxpbmctc3Bh
Y2UgZXhpc3RzIik7CisgICAgdHJhaWxpbmdTcGFjZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0
YXJnZXRJZnJhbWUsIHRyYWlsaW5nU3BhY2UpOworICAgIHRhcmdldElmcmFtZS5vbmxvYWQgPSBm
dW5jdGlvbigpIHsKKyAgICAgIHZhciB0YXJnZXQgPSB0YXJnZXRJZnJhbWUuY29udGVudERvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgICAgIHZhciBpZnJhbWVTY3JvbGxlciA9
IHRhcmdldElmcmFtZS5jb250ZW50RG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudDsKKworICAgICAg
Ly8gT2JzZXJ2ZXIgY3JlYXRlZCBoZXJlLCBjYWxsYmFjayBjcmVhdGVkIGluIGlmcmFtZSBjb250
ZXh0LiAgVGltZXN0YW1wcyBzaG91bGQgYmUKKyAgICAgIC8vIGZyb20gdGhpcyB3aW5kb3cuCisg
ICAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoCisgICAgICAgICAg
dGFyZ2V0SWZyYW1lLmNvbnRlbnREb2N1bWVudC5jcmVhdGVPYnNlcnZlckNhbGxiYWNrKHRvcFdp
bmRvd0VudHJpZXMpLCB7fSk7CisgICAgICBhc3NlcnRfdHJ1ZSghIW9ic2VydmVyLCAiT2JzZXJ2
ZXIgZXhpc3RzIik7CisgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisKKyAgICAgIC8v
IENhbGxiYWNrIGNyZWF0ZWQgaGVyZSwgb2JzZXJ2ZXIgY3JlYXRlZCBpbiBpZnJhbWUuICBUaW1l
c3RhbXBzIHNob3VsZCBiZQorICAgICAgLy8gZnJvbSBpZnJhbWUgd2luZG93LgorICAgICAgb2Jz
ZXJ2ZXIgPSB0YXJnZXRJZnJhbWUuY29udGVudERvY3VtZW50LmNyZWF0ZU9ic2VydmVyKGZ1bmN0
aW9uKG5ld0VudHJpZXMpIHsKKyAgICAgICAgaWZyYW1lV2luZG93RW50cmllcyA9IGlmcmFtZVdp
bmRvd0VudHJpZXMuY29uY2F0KG5ld0VudHJpZXMpOworICAgICAgfSk7CisgICAgICBvYnNlcnZl
ci5vYnNlcnZlKHRhcmdldCk7CisgICAgICBydW5UZXN0Q3ljbGUoc3RlcDEsICJGaXJzdCByQUYg
YWZ0ZXIgaWZyYW1lIGlzIGxvYWRlZC4iKTsKKyAgICAgIHQuZG9uZSgpOworICAgIH07CisgIH0s
IHRpbWVTa2V3KTsKK30sICJDaGVjayB0aGF0IHRpbWVzdGFtcHMgY29ycmVzcG9uZCB0byB0aGUg
dG8gZXhlY3V0aW9uIGNvbnRleHQgdGhhdCBjcmVhdGVkIHRoZSBvYnNlcnZlci4iKTsKKworZnVu
Y3Rpb24gc3RlcDEoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0g
MjAwOworICB0YXJnZXRJZnJhbWUuY29udGVudERvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Ny
b2xsVG9wID0gMjUwOworICB0b3BXaW5kb3dUaW1lQmVmb3JlTm90aWZpY2F0aW9uID0gcGVyZm9y
bWFuY2Uubm93KCk7CisgIGlmcmFtZVdpbmRvd1RpbWVCZWZvcmVOb3RpZmljYXRpb24gPSB0YXJn
ZXRJZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTsKKyAgcnVuVGVzdEN5Y2xl
KHN0ZXAyLCAiR2VuZXJhdGUgbm90aWZpY2F0aW9ucy4iKTsKKyAgYXNzZXJ0X2VxdWFscyh0b3BX
aW5kb3dFbnRyaWVzLmxlbmd0aCwgMSwgIk9uZSBub3RpZmljYXRpb24gdG8gdG9wIHdpbmRvdyBv
YnNlcnZlci4iKTsKKyAgYXNzZXJ0X2VxdWFscyhpZnJhbWVXaW5kb3dFbnRyaWVzLmxlbmd0aCwg
MSwgIk9uZSBub3RpZmljYXRpb24gdG8gaWZyYW1lIG9ic2VydmVyLiIpOworfQorCitmdW5jdGlv
biBzdGVwMigpIHsKKyAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwOwor
ICB2YXIgdG9wV2luZG93VGltZUFmdGVyTm90aWZpY2F0aW9uID0gcGVyZm9ybWFuY2Uubm93KCk7
CisgIHZhciBpZnJhbWVXaW5kb3dUaW1lQWZ0ZXJOb3RpZmljYXRpb24gPSB0YXJnZXRJZnJhbWUu
Y29udGVudFdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTsKKworICBhc3NlcnRfYXBwcm94X2VxdWFs
cygKKyAgICAgIHRvcFdpbmRvd0VudHJpZXNbMV0udGltZSAtIHRvcFdpbmRvd1RpbWVCZWZvcmVO
b3RpZmljYXRpb24sCisgICAgICBpZnJhbWVXaW5kb3dFbnRyaWVzWzFdLnRpbWUgLSBpZnJhbWVX
aW5kb3dUaW1lQmVmb3JlTm90aWZpY2F0aW9uLAorICAgICAgLy8gU2luY2UgYWxsIGludGVyc2Vj
dGlvbnMgYXJlIGNvbXB1dGVkIGluIGEgdGlnaHQgbG9vcCBiZXR3ZWVuIDIgZnJhbWVzLAorICAg
ICAgLy8gYW4gZXBzaWxvbiBvZiAxNm1zICh0aGUgbGVuZ3RoIG9mIG9uZSBmcmFtZSBhdCA2MEh6
KSB0dXJuZWQgb3V0IHRvIGJlCisgICAgICAvLyByZWxpYWJsZSwgZXZlbiBhdCBzbG93IGZyYW1l
IHJhdGVzLgorICAgICAgMTYsCisgICAgICAiTm90aWZpY2F0aW9uIHRpbWVzIGFyZSByZWxhdGl2
ZSB0byB0aGUgZXhwZWN0ZWQgdGltZSBvcmlnaW5zIik7CisKKyAgYXNzZXJ0X2VxdWFscyh0b3BX
aW5kb3dFbnRyaWVzLmxlbmd0aCwgMiwgIlRvcCB3aW5kb3cgb2JzZXJ2ZXIgaGFzIHR3byBub3Rp
ZmljYXRpb25zLiIpOworICBhc3NlcnRfYmV0d2Vlbl9pbmNsdXNpdmUoCisgICAgICB0b3BXaW5k
b3dFbnRyaWVzWzFdLnRpbWUsCisgICAgICB0b3BXaW5kb3dUaW1lQmVmb3JlTm90aWZpY2F0aW9u
LAorICAgICAgdG9wV2luZG93VGltZUFmdGVyTm90aWZpY2F0aW9uLAorICAgICAgIk5vdGlmaWNh
dGlvbiB0byB0b3Agd2luZG93IG9ic2VydmVyIGlzIHdpdGhpbiB0aGUgZXhwZWN0ZWQgcmFuZ2Uu
Iik7CisKKyAgYXNzZXJ0X2VxdWFscyhpZnJhbWVXaW5kb3dFbnRyaWVzLmxlbmd0aCwgMiwgIklm
cmFtZSBvYnNlcnZlciBoYXMgdHdvIG5vdGlmaWNhdGlvbnMuIik7CisgIGFzc2VydF9iZXR3ZWVu
X2luY2x1c2l2ZSgKKyAgICAgIGlmcmFtZVdpbmRvd0VudHJpZXNbMV0udGltZSwKKyAgICAgIGlm
cmFtZVdpbmRvd1RpbWVCZWZvcmVOb3RpZmljYXRpb24sCisgICAgICBpZnJhbWVXaW5kb3dUaW1l
QWZ0ZXJOb3RpZmljYXRpb24sCisgICAgICAiTm90aWZpY2F0aW9uIHRvIGlmcmFtZSBvYnNlcnZl
ciBpcyB3aXRoaW4gdGhlIGV4cGVjdGVkIHJhbmdlLiIpOworfQorPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci91bmNsaXBwZWQtcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci91bmNs
aXBwZWQtcm9vdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFiYzU3NzhjMzk3MTdlMmZlNWVm
ODJmMzk2MDIxMzc1OWVlYmI3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3VuY2xpcHBl
ZC1yb290LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBUZXN0IHRoYXQgYm9y
ZGVyIGJvdW5kaW5nIGJveCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBpbnRlcnNlY3Rpb24gd2l0aCBh
IG5vbi1zY3JvbGxpbmcgcm9vdC4gCitGQUlMIEZpcnN0IHJBRi4gYXNzZXJ0X2VxdWFsczogZW50
cmllcy5sZW5ndGggZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgdGFyZ2V0LnN0eWxlLnRyYW5z
Zm9ybSA9ICd0cmFuc2xhdGVZKDE5NXB4KScgYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGgg
ZXhwZWN0ZWQgMiBidXQgZ290IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdW5jbGlwcGVkLXJv
b3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL3VuY2xpcHBlZC1yb290Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRhZTAx
Y2VkYzJlZjk1ZjZkZDA0YTcyMmQ0N2FlZmEzMGU4Yjc3NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL3VuY2xpcHBlZC1yb290Lmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitwcmUsICNsb2cgeworICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgIHRvcDogMDsKKyAgbGVmdDogMjAwcHg7Cit9Cisjcm9vdCB7CisgIG92ZXJmbG93OiB2
aXNpYmxlOworICBoZWlnaHQ6IDIwMHB4OworICB3aWR0aDogMTYwcHg7CisgIGJvcmRlcjogN3B4
IHNvbGlkIGJsYWNrOworfQorI3RhcmdldCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAx
MDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgorCis8ZGl2IGlk
PSJyb290Ij4KKyAgPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0idHJhbnNmb3JtOiB0cmFuc2xhdGVZ
KDMwMHB4KSI+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK3ZhciBlbnRyaWVzID0gW107Cit2
YXIgdGFyZ2V0OworCitydW5UZXN0Q3ljbGUoZnVuY3Rpb24oKSB7CisgIHRhcmdldCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgYXNzZXJ0X3RydWUoISF0YXJnZXQsICJ0
YXJnZXQgZXhpc3RzIik7CisgIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJv
b3QiKTsKKyAgYXNzZXJ0X3RydWUoISFyb290LCAicm9vdCBleGlzdHMiKTsKKyAgdmFyIG9ic2Vy
dmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGNoYW5nZXMpIHsKKyAgICBl
bnRyaWVzID0gZW50cmllcy5jb25jYXQoY2hhbmdlcykKKyAgfSwge3Jvb3Q6IHJvb3R9KTsKKyAg
b2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQob2Jz
ZXJ2ZXIudGFrZVJlY29yZHMoKSk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDAs
ICJObyBpbml0aWFsIG5vdGlmaWNhdGlvbnMuIik7CisgIHJ1blRlc3RDeWNsZShzdGVwMCwgIkZp
cnN0IHJBRi4iKTsKK30sICJUZXN0IHRoYXQgYm9yZGVyIGJvdW5kaW5nIGJveCBpcyB1c2VkIHRv
IGNhbGN1bGF0ZSBpbnRlcnNlY3Rpb24gd2l0aCBhIG5vbi1zY3JvbGxpbmcgcm9vdC4iKTsKKwor
ZnVuY3Rpb24gc3RlcDAoKSB7CisgIHRhcmdldC5zdHlsZS50cmFuc2Zvcm0gPSAidHJhbnNsYXRl
WSgxOTVweCkiOworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJ0YXJnZXQuc3R5bGUudHJhbnNmb3Jt
ID0gJ3RyYW5zbGF0ZVkoMTk1cHgpJyIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAwLCBb
MTUsIDExNSwgMzE1LCA0MTUsIDAsIDAsIDAsIDAsIDgsIDE4MiwgOCwgMjIyLCBmYWxzZV0pOwor
fQorCitmdW5jdGlvbiBzdGVwMSgpIHsKKyAgdGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICIiOwor
ICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAxLCBbMTUsIDExNSwgMjEwLCAzMTAsIDE1LCAxMTUs
IDIxMCwgMjIyLCA4LCAxODIsIDgsIDIyMiwgdHJ1ZV0pOworfQorPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFjMDUwMTFmODBlMmVhMmNmZjRkYTZiYTYzY2M0YThhMzQyOWJhNWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDQ1IEBACitU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBm
aWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2JvdW5kaW5nLWJveC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvY2xpZW50LXJlY3QuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2NvbnRhaW5pbmctYmxvY2suaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL2Nyb3NzLW9yaWdpbi1pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc2Nvbm5l
Y3QuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL2Rpc3BsYXktbm9uZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvZWRnZS1pbmNs
dXNpdmUtaW50ZXJzZWN0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcwor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL2lmcmFtZS1uby1yb290Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pbmxpbmUtY2xpZW50LXJl
Y3QuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL2lzSW50ZXJzZWN0aW5nLWNoYW5nZS1ldmVudHMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL211bHRpcGxlLXRhcmdldHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL211bHRpcGxlLXRocmVzaG9s
ZHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLWF0dHJpYnV0ZXMuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL29i
c2VydmVyLWV4Y2VwdGlvbnMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL29ic2VydmVyLWluLWlmcmFtZS5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvb2JzZXJ2ZXItd2l0aG91dC1qcy1yZWZlcmVuY2UuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
L3JlbW92ZS1lbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yb290LW1hcmdpbi5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2
ZXIvc2FtZS1kb2N1bWVudC1uby1yb290Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9zYW1lLWRvY3VtZW50LXJv
b3QuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL3NhbWUtZG9jdW1lbnQtemVyby1zaXplLXRhcmdldC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvc2hhZG93LWNvbnRlbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3RleHQtdGFyZ2V0Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci90aW1lc3RhbXAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3VuY2xpcHBlZC1yb290Lmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci96ZXJvLWFyZWEtZWxlbWVudC1oaWRkZW4uaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3plcm8t
YXJlYS1lbGVtZW50LXZpc2libGUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvemVyby1hcmVh
LWVsZW1lbnQtaGlkZGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3plcm8tYXJlYS1lbGVtZW50
LWhpZGRlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUwN2VlMmJmMzc0NmU1ODk4YjFkZjM2
ZGIzZjg1MjE0YjVkNDU1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3plcm8tYXJlYS1l
bGVtZW50LWhpZGRlbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgQSB6ZXJv
LWFyZWEgaGlkZGVuIHRhcmdldCBzaG91bGQgbm90IGJlIGludGVyc2VjdGluZy4gCitGQUlMIEZp
cnN0IHJBRi4gYXNzZXJ0X2VxdWFsczogZW50cmllcy5sZW5ndGggZXhwZWN0ZWQgMSBidXQgZ290
IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvemVyby1hcmVhLWVsZW1lbnQtaGlkZGVuLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci96ZXJvLWFyZWEtZWxlbWVudC1oaWRkZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDA3
MDQwYzhmZTJlMjViZmNhOGZiZTQ1MGIwNmEyNjkzNGFkMTg2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24t
b2JzZXJ2ZXIvemVyby1hcmVhLWVsZW1lbnQtaGlkZGVuLmh0bWwKQEAgLTAsMCArMSw0MyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVy
LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitwcmUsICNsb2cgeworICBwb3Np
dGlvbjogYWJzb2x1dGU7CisgIHRvcDogMDsKKyAgbGVmdDogMjAwcHg7Cit9CisjdGFyZ2V0IHsK
KyAgd2lkdGg6IDBweDsKKyAgaGVpZ2h0OiAwcHg7CisgIHBvc2l0aW9uOiBmaXhlZDsKKyAgdG9w
OiAtMTAwMHB4OworfQorPC9zdHlsZT4KKworPGRpdiBpZD0ndGFyZ2V0Jz48L2Rpdj4KKworPHNj
cmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsKK3Zh
ciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisKK3ZhciBlbnRy
aWVzID0gW107CisKK3J1blRlc3RDeWNsZShmdW5jdGlvbigpIHsKKyAgdmFyIHRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgYXNzZXJ0X3RydWUoISF0YXJnZXQs
ICJ0YXJnZXQgZXhpc3RzIik7CisgIHZhciBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNl
cnZlcihmdW5jdGlvbihjaGFuZ2VzKSB7CisgICAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KGNo
YW5nZXMpCisgIH0pOworICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgIGVudHJpZXMgPSBl
bnRyaWVzLmNvbmNhdChvYnNlcnZlci50YWtlUmVjb3JkcygpKTsKKyAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMCwgIk5vIGluaXRpYWwgbm90aWZpY2F0aW9ucy4iKTsKKyAgcnVuVGVz
dEN5Y2xlKHN0ZXAwLCAiRmlyc3QgckFGLiIpOworfSwgIkEgemVyby1hcmVhIGhpZGRlbiB0YXJn
ZXQgc2hvdWxkIG5vdCBiZSBpbnRlcnNlY3RpbmcuIik7CisKK2Z1bmN0aW9uIHN0ZXAwKCkgewor
ICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAwLCBbOCwgOCwgLTEwMDAsIC0xMDAwLCAwLCAwLCAw
LCAwLCAwLCB2dywgMCwgdmgsIGZhbHNlXSk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL3plcm8tYXJlYS1lbGVtZW50LXZpc2libGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIv
emVyby1hcmVhLWVsZW1lbnQtdmlzaWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRiYTQ0
NDU2Zjc2NzQwYjdlMTZkMTE2NjdlZmViYWFkOGNlMzU4YQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyL3plcm8tYXJlYS1lbGVtZW50LXZpc2libGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorCitQQVNTIEVuc3VyZSB0aGF0IGEgemVyby1hcmVhIHRhcmdldCBpbnRlcnNlY3Rpbmcg
cm9vdCBnZW5lcmF0ZXMgYSBub3RpZmljYXRpb24gd2l0aCBpbnRlcnNlY3Rpb25SYXRpbyA9PSAx
IAorRkFJTCBGaXJzdCByQUYgc2hvdWxkIGdlbmVyYXRlIGEgbm90aWZpY2F0aW9uLiBhc3NlcnRf
ZXF1YWxzOiBPbmUgbm90aWZpY2F0aW9uLiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci96ZXJvLWFyZWEtZWxlbWVudC12aXNpYmxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci96
ZXJvLWFyZWEtZWxlbWVudC12aXNpYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmJmMTI5N2ZlNDUzZGNl
MWQ3NDhkMDQ3ZjU0ZWM0MjcyODlkOGRmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3pl
cm8tYXJlYS1lbGVtZW50LXZpc2libGUuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXItdGVzdC11dGls
cy5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3ByZSwgI2xvZyB7CisgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKKyAgdG9wOiAwOworICBsZWZ0OiAyMDBweDsKK30KKyN0YXJnZXQgeworICB3aWR0aDog
MHB4OworICBoZWlnaHQ6IDBweDsKK30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9J3RhcmdldCc+PC9k
aXY+CisKKzxzY3JpcHQ+Cit2YXIgZW50cmllcyA9IFtdOworCitydW5UZXN0Q3ljbGUoZnVuY3Rp
b24oKSB7CisgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7
CisgIGFzc2VydF90cnVlKCEhdGFyZ2V0LCAidGFyZ2V0IGV4aXN0cyIpOworICB2YXIgb2JzZXJ2
ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oY2hhbmdlcykgeworICAgIGVu
dHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQorICB9KTsKKyAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0YXJnZXQpOworICBlbnRyaWVzID0gZW50cmllcy5jb25jYXQob2JzZXJ2ZXIudGFrZVJlY29y
ZHMoKSk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDAsICJObyBpbml0aWFsIG5v
dGlmaWNhdGlvbnMuIik7CisgIHJ1blRlc3RDeWNsZShzdGVwMCwgIkZpcnN0IHJBRiBzaG91bGQg
Z2VuZXJhdGUgYSBub3RpZmljYXRpb24uIik7Cit9LCAiRW5zdXJlIHRoYXQgYSB6ZXJvLWFyZWEg
dGFyZ2V0IGludGVyc2VjdGluZyByb290IGdlbmVyYXRlcyBhIG5vdGlmaWNhdGlvbiB3aXRoIGlu
dGVyc2VjdGlvblJhdGlvID09IDEiKTsKKworZnVuY3Rpb24gc3RlcDAoKSB7CisgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJPbmUgbm90aWZpY2F0aW9uLiIpOworICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uaW50ZXJzZWN0aW9uUmF0aW8sIDEsICJpbnRlcnNlY3Rpb25SYXRp
byA9PSAxIik7Cit9Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>