<?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>147327</bug_id>
          
          <creation_ts>2015-07-27 11:23:25 -0700</creation_ts>
          <short_desc>Allow lax MIME type parsing for same-origin CSS in quirks mode.</short_desc>
          <delta_ts>2015-07-28 15:39:52 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://src.chromium.org/viewvc/blink?revision=196678&amp;view=revision</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>141501</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112443</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-27 11:23:25 -0700</bug_when>
    <thetext>Allow lax MIME type parsing for same-origin CSS in quirks mode.

Radar: &lt;rdar://problem/22010303&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112485</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-27 13:22:54 -0700</bug_when>
    <thetext>Known broken sites:
http://www.physioadvisor.com.au/14838650/wrist-tendonitis-physioadvisor.htm
http://wallpaperscraft.com
http://www.spoj.com/ST2015/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112528</commentid>
    <comment_count>2</comment_count>
      <attachid>257600</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-27 15:23:50 -0700</bug_when>
    <thetext>Created attachment 257600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112566</commentid>
    <comment_count>3</comment_count>
      <attachid>257609</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-27 16:06:43 -0700</bug_when>
    <thetext>Created attachment 257609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112599</commentid>
    <comment_count>4</comment_count>
      <attachid>257614</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-27 16:56:02 -0700</bug_when>
    <thetext>Created attachment 257614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112726</commentid>
    <comment_count>5</comment_count>
      <attachid>257614</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-07-28 09:37:00 -0700</bug_when>
    <thetext>Comment on attachment 257614
Patch

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

&gt; Source/WebCore/css/StyleSheetContents.cpp:309
&gt; +                if (isStrictParserMode(m_parserContext.mode))
&gt; +                    page-&gt;console().addMessage(MessageSource::Security, MessageLevel::Error, &quot;Did not parse stylesheet at &apos;&quot; + cachedStyleSheet-&gt;url().stringCenterEllipsizedToLength() + &quot;&apos; because its MIME type was invalid and we are in strict mode.&quot;);
&gt; +                else
&gt; +                    page-&gt;console().addMessage(MessageSource::Security, MessageLevel::Error, &quot;Did not parse stylesheet at &apos;&quot; + cachedStyleSheet-&gt;url().stringCenterEllipsizedToLength() + &quot;&apos; because its MIME type was invalid and it is cross-origin.&quot;);
&gt; +            }

- we were in strict mode?
- and it was cross-origin?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112745</commentid>
    <comment_count>6</comment_count>
      <attachid>257654</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-28 10:23:59 -0700</bug_when>
    <thetext>Created attachment 257654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112748</commentid>
    <comment_count>7</comment_count>
      <attachid>257654</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-28 10:25:51 -0700</bug_when>
    <thetext>Comment on attachment 257654
Patch

Clearing flags on attachment: 257654

Committed r187489: &lt;http://trac.webkit.org/changeset/187489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112749</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-28 10:25:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112784</commentid>
    <comment_count>9</comment_count>
      <attachid>257614</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-28 11:39:05 -0700</bug_when>
    <thetext>Comment on attachment 257614
Patch

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

&gt; Source/WebCore/css/StyleSheetContents.h:43
&gt;  class StyleRuleBase;
&gt;  class StyleRuleImport;
&gt; +class SecurityOrigin;

Not sorted correctly; Security should come before Style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112816</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-28 12:49:44 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 257614 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257614&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/StyleSheetContents.h:43
&gt; &gt;  class StyleRuleBase;
&gt; &gt;  class StyleRuleImport;
&gt; &gt; +class SecurityOrigin;
&gt; 
&gt; Not sorted correctly; Security should come before Style.

Follow-up nit fix in &lt;http://trac.webkit.org/changeset/187503&gt;, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112871</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-28 14:21:06 -0700</bug_when>
    <thetext>Follow-up test baseline landed in &lt;http://trac.webkit.org/changeset/187512&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112904</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-07-28 15:39:52 -0700</bug_when>
    <thetext>Committed r187523: &lt;http://trac.webkit.org/changeset/187523&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257600</attachid>
            <date>2015-07-27 15:23:50 -0700</date>
            <delta_ts>2015-07-27 16:06:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147327-20150727152229.patch</filename>
            <type>text/plain</type>
            <size>42677</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmEyOTc5NzA4YzBmOGNh
MGJiMGQ0NjRhZGIzYjFlZDllNzYxZjExZi4uN2Q5Y2MzZjFiZTgzZDM4OWZlODJlNDI2ZTJkMDhh
OWVkY2FjOTQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE1LTA3LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlw
ZSBwYXJzaW5nIGZvciBzYW1lLW9yaWdpbiBDU1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIyMDEwMzAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2UgbWFkZSBpbiByMTgwMDIwIGlzIHRvbyBzdHJpY3Qg
Zm9yIHRoZSB3ZWIsIGFuZCBkb2Vzbid0IG1hdGNoIEZpcmVmb3gKKyAgICAgICAgQ2hyb21lLCBv
ciBJRSdzIGJlaGF2aW9yLiBJbiBwYXJ0aWN1bGFyLCBpdCBkb2VzIG5vdCByZXNwZWN0IHRoZSBz
YW1lLW9yaWdpbgorICAgICAgICBjYXJ2ZW91dCB0aGF0IHRoZSBIVE1MIHNwZWMgc3BlY2lmaWVz
OgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRp
Y3MuaHRtbCNsaW5rLXR5cGUtc3R5bGVzaGVldAorCisgICAgICAgIFRoaXMgcGF0Y2ggY29ycmVj
dHMgdGhhdCBvdmVyc2lnaHQgYW5kIGFsaWducyBvdXIgYmVoYXZpb3Igd2l0aCBvdGhlciBwb3B1
bGFyCisgICAgICAgIGJyb3dzZXJzLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHdhcyBhZGFwdGVk
IGZyb20gQmxpbmsgcjE5NjY3ODoKKyAgICAgICAgaHR0cHM6Ly9zcmMuY2hyb21pdW0ub3JnL3Zp
ZXd2Yy9ibGluaz9yZXZpc2lvbj0xOTY2Nzgmdmlldz1yZXZpc2lvbgorCisgICAgICAgIFRlc3Rz
OiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0xLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUuaHRtbAorICAg
ICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNi5odG1sCisg
ICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTguaHRt
bAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4t
cXVpcmtzLmh0bWwKKworICAgICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSdWxlSW1wb3J0OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAg
KiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hl
ZXRDb250ZW50czo6cGFyc2VBdXRob3JTdHlsZVNoZWV0KToKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmg6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWNoZWRDU1NTdHlsZVNoZWV0OjpzaGVldFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2FuVXNlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkQ1NTU3R5bGVTaGVldDo6Y2hlY2tOb3RpZnkpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0Lmg6CisKIDIwMTUtMDctMjcgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRW5oYW5jZSBBbmltYXRpb24g
bG9nZ2luZyBzbGlnaHRseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVs
ZUltcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAppbmRl
eCAwNjQyYTFkMDQ2ZTZlOWE0YjRlNjk0M2E4MGQxYzJhZWY3MWY5ZWY0Li5mNTY3OTU2MDE4MWY5
ZWZhZmU1YTlmMTMyYTFiMDkxNDQwZmM1MDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlSW1wb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxl
SW1wb3J0LmNwcApAQCAtNzAsOCArNzAsOSBAQCB2b2lkIFN0eWxlUnVsZUltcG9ydDo6c2V0Q1NT
U3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IFVSTCYgYmFzZVVSTCwgYwogICAg
IGlmICghYmFzZVVSTC5pc051bGwoKSkKICAgICAgICAgY29udGV4dC5iYXNlVVJMID0gYmFzZVVS
TDsKIAorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fcGFyZW50U3R5bGVTaGVldCA/IG1fcGFy
ZW50U3R5bGVTaGVldC0+c2luZ2xlT3duZXJEb2N1bWVudCgpIDogbnVsbHB0cjsKICAgICBtX3N0
eWxlU2hlZXQgPSBTdHlsZVNoZWV0Q29udGVudHM6OmNyZWF0ZSh0aGlzLCBocmVmLCBjb250ZXh0
KTsKLSAgICBtX3N0eWxlU2hlZXQtPnBhcnNlQXV0aG9yU3R5bGVTaGVldChjYWNoZWRTdHlsZVNo
ZWV0KTsKKyAgICBtX3N0eWxlU2hlZXQtPnBhcnNlQXV0aG9yU3R5bGVTaGVldChjYWNoZWRTdHls
ZVNoZWV0LCBkb2N1bWVudCA/IGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cik7
CiAKICAgICBtX2xvYWRpbmcgPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dENvbnRlbnRzLmNwcAppbmRleCAyYjdlNDUxYzQ3ZGE5NDg0MGQ1YWExMDFlNjk1MjIwMzdkZTdm
NTEyLi4yNDU5MzVmYzU4Mjc4M2Y3YjNjZGRiZGU1M2NmYjMwZTViODVkZjg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUNsaWVudC5oIgogI2luY2x1ZGUg
IlJ1bGVTZXQuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlN0eWxl
UHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIlN0eWxlUnVs
ZUltcG9ydC5oIgpAQCAtMjkwLDE2ICsyOTEsMTggQEAgY29uc3QgQXRvbWljU3RyaW5nJiBTdHls
ZVNoZWV0Q29udGVudHM6OmRldGVybWluZU5hbWVzcGFjZShjb25zdCBBdG9taWNTdHJpbmcmIHAK
ICAgICByZXR1cm4gaXQtPnZhbHVlOwogfQogCi12b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cGFy
c2VBdXRob3JTdHlsZVNoZWV0KGNvbnN0IENhY2hlZENTU1N0eWxlU2hlZXQqIGNhY2hlZFN0eWxl
U2hlZXQpCit2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cGFyc2VBdXRob3JTdHlsZVNoZWV0KGNv
bnN0IENhY2hlZENTU1N0eWxlU2hlZXQqIGNhY2hlZFN0eWxlU2hlZXQsIGNvbnN0IFNlY3VyaXR5
T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsKLSAgICBib29sIGhhc1ZhbGlkTUlNRVR5cGUgPSB0
cnVlOwotICAgIFN0cmluZyBzaGVldFRleHQgPSBjYWNoZWRTdHlsZVNoZWV0LT5zaGVldFRleHQo
Jmhhc1ZhbGlkTUlNRVR5cGUpOworICAgIGJvb2wgaXNTYW1lT3JpZ2luUmVxdWVzdCA9IHNlY3Vy
aXR5T3JpZ2luICYmIHNlY3VyaXR5T3JpZ2luLT5jYW5SZXF1ZXN0KGJhc2VVUkwoKSk7CisgICAg
Q2FjaGVkQ1NTU3R5bGVTaGVldDo6TUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrID0gaXNTdHJp
Y3RQYXJzZXJNb2RlKG1fcGFyc2VyQ29udGV4dC5tb2RlKSB8fCAhaXNTYW1lT3JpZ2luUmVxdWVz
dCA/IENhY2hlZENTU1N0eWxlU2hlZXQ6Ok1JTUVUeXBlQ2hlY2s6OlN0cmljdCA6IENhY2hlZENT
U1N0eWxlU2hlZXQ6Ok1JTUVUeXBlQ2hlY2s6OkxheDsKKyAgICBib29sIGZhaWxlZE1JTUVUeXBl
Q2hlY2sgPSBmYWxzZTsKKyAgICBTdHJpbmcgc2hlZXRUZXh0ID0gY2FjaGVkU3R5bGVTaGVldC0+
c2hlZXRUZXh0KG1pbWVUeXBlQ2hlY2ssICZmYWlsZWRNSU1FVHlwZUNoZWNrKTsKIAotICAgIGlm
ICghaGFzVmFsaWRNSU1FVHlwZSkgeworICAgIGlmIChmYWlsZWRNSU1FVHlwZUNoZWNrKSB7CiAg
ICAgICAgIEFTU0VSVChzaGVldFRleHQuaXNOdWxsKCkpOwogICAgICAgICBpZiAoYXV0byogZG9j
dW1lbnQgPSBzaW5nbGVPd25lckRvY3VtZW50KCkpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiBw
YWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKLSAgICAgICAgICAgICAgICBwYWdlLT5jb25zb2xlKCku
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwg
IkRpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnIiArIGNhY2hlZFN0eWxlU2hlZXQtPnVybCgp
LnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSBpdHMgTUlNRSB0
eXBlIHdhcyBpbnZhbGlkLiIpOworICAgICAgICAgICAgICAgIHBhZ2UtPmNvbnNvbGUoKS5hZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiRGlk
IG5vdCBwYXJzZSBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldCBhdCAnIiArIGNhY2hlZFN0eWxlU2hl
ZXQtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSBp
dHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLiIpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmgKaW5kZXggZWQ2ZWUx
MzM2ODE2YmUwNTUyNTQ3MDhiY2Y3MDZjZDM2MDA4OWQxYS4uODY3YWY3NGRjYjdjMDM1NWQwMmU1
OTAyZGU4OWZmZTBiNGFjZmExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
U2hlZXRDb250ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVu
dHMuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE5vZGU7CiBjbGFz
cyBTdHlsZVJ1bGVCYXNlOwogY2xhc3MgU3R5bGVSdWxlSW1wb3J0OworY2xhc3MgU2VjdXJpdHlP
cmlnaW47CiAKIGNsYXNzIFN0eWxlU2hlZXRDb250ZW50cyA6IHB1YmxpYyBSZWZDb3VudGVkPFN0
eWxlU2hlZXRDb250ZW50cz4gewogcHVibGljOgpAQCAtNjIsNyArNjMsNyBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGRldGVybWluZU5hbWVzcGFjZShjb25zdCBBdG9taWNT
dHJpbmcmIHByZWZpeCk7CiAKLSAgICB2b2lkIHBhcnNlQXV0aG9yU3R5bGVTaGVldChjb25zdCBD
YWNoZWRDU1NTdHlsZVNoZWV0Kik7CisgICAgdm9pZCBwYXJzZUF1dGhvclN0eWxlU2hlZXQoY29u
c3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCosIGNvbnN0IFNlY3VyaXR5T3JpZ2luKik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgYm9vbCBwYXJzZVN0cmluZyhjb25zdCBTdHJpbmcmKTsKICAgICBib29sIHBh
cnNlU3RyaW5nQXRQb3NpdGlvbihjb25zdCBTdHJpbmcmLCBjb25zdCBUZXh0UG9zaXRpb24mLCBi
b29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExpbmtFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmNwcAppbmRleCBlNGUxMjgxMWM4NDUxMzIwMzhkODdjZjNiYzZjODQ0NjMzZjAwZWUxLi4zZjYy
ZjA2NDQyYTdiNDczZGE0NTAyMjA4MTRkM2RhY2E4YjFlYjg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTGlua0VsZW1lbnQuY3BwCkBAIC0zNDYsNyArMzQ2LDcgQEAgdm9pZCBIVE1MTGlua0Vs
ZW1lbnQ6OnNldENTU1N0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBjb25zdCBVUkwmIGJh
c2VVUkwsIGMKICAgICBtX3NoZWV0LT5zZXRNZWRpYVF1ZXJpZXMoTWVkaWFRdWVyeVNldDo6Y3Jl
YXRlQWxsb3dpbmdEZXNjcmlwdGlvblN5bnRheChtX21lZGlhKSk7CiAgICAgbV9zaGVldC0+c2V0
VGl0bGUodGl0bGUoKSk7CiAKLSAgICBzdHlsZVNoZWV0LmdldCgpLnBhcnNlQXV0aG9yU3R5bGVT
aGVldChjYWNoZWRTdHlsZVNoZWV0KTsKKyAgICBzdHlsZVNoZWV0LmdldCgpLnBhcnNlQXV0aG9y
U3R5bGVTaGVldChjYWNoZWRTdHlsZVNoZWV0LCBkb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCkp
OwogCiAgICAgbV9sb2FkaW5nID0gZmFsc2U7CiAgICAgc3R5bGVTaGVldC5nZXQoKS5ub3RpZnlM
b2FkZWRTaGVldChjYWNoZWRTdHlsZVNoZWV0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcAppbmRleCA2ZDExODgwMWFmODI2ODQ1
ZmI2MTk5MjcwNDRhZjliMmIyZDIzNmM0Li5lMThmYmUzNjI1NWY1MzdhZWVhZGQzOWFjYjhiODcy
NGY1ZTJlZTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
Q1NTU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZENTU1N0eWxlU2hlZXQuY3BwCkBAIC03OCwxMCArNzgsMTYgQEAgU3RyaW5nIENhY2hlZENTU1N0
eWxlU2hlZXQ6OmVuY29kaW5nKCkgY29uc3QKICAgICByZXR1cm4gbV9kZWNvZGVyLT5lbmNvZGlu
ZygpLm5hbWUoKTsKIH0KICAgICAKLWNvbnN0IFN0cmluZyBDYWNoZWRDU1NTdHlsZVNoZWV0Ojpz
aGVldFRleHQoYm9vbCogaGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKK2NvbnN0IFN0cmluZyBDYWNo
ZWRDU1NTdHlsZVNoZWV0OjpzaGVldFRleHQoTUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrLCBi
b29sKiBmYWlsZWRNSU1FVHlwZUNoZWNrKSBjb25zdAogeyAKLSAgICBpZiAoIW1fZGF0YSB8fCBt
X2RhdGEtPmlzRW1wdHkoKSB8fCAhY2FuVXNlU2hlZXQoaGFzVmFsaWRNSU1FVHlwZSkpCisgICAg
aWYgKCFtX2RhdGEgfHwgbV9kYXRhLT5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBTdHJpbmco
KTsKKworICAgIGlmICghY2FuVXNlU2hlZXQobWltZVR5cGVDaGVjaykpIHsKKyAgICAgICAgaWYg
KGZhaWxlZE1JTUVUeXBlQ2hlY2spCisgICAgICAgICAgICAqZmFpbGVkTUlNRVR5cGVDaGVjayA9
IHRydWU7CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CiAgICAgCiAgICAgaWYgKCFt
X2RlY29kZWRTaGVldFRleHQuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBtX2RlY29kZWRTaGVl
dFRleHQ7CkBAIC0xMTMsMTEgKzExOSwxNCBAQCB2b2lkIENhY2hlZENTU1N0eWxlU2hlZXQ6OmNo
ZWNrTm90aWZ5KCkKICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChtX3Jlc291cmNlUmVxdWVz
dC51cmwoKSwgbV9yZXNwb25zZS51cmwoKSwgbV9kZWNvZGVyLT5lbmNvZGluZygpLm5hbWUoKSwg
dGhpcyk7CiB9CiAKLWJvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2FuVXNlU2hlZXQoYm9vbCog
aGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKK2Jvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2FuVXNl
U2hlZXQoTUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrKSBjb25zdAogewogICAgIGlmIChlcnJv
ck9jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtaW1lVHlwZUNo
ZWNrID09IE1JTUVUeXBlQ2hlY2s6OkxheCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICAv
LyBUaGlzIGNoZWNrIGV4YWN0bHkgbWF0Y2hlcyBGaXJlZm94LiAgTm90ZSB0aGF0IHdlIGdyYWIg
dGhlIENvbnRlbnQtVHlwZQogICAgIC8vIGhlYWRlciBkaXJlY3RseSBiZWNhdXNlIHdlIHdhbnQg
dG8gc2VlIHdoYXQgdGhlIHZhbHVlIGlzIEJFRk9SRSBjb250ZW50CiAgICAgLy8gc25pZmZpbmcu
ICBGaXJlZm94IGRvZXMgdGhpcyBieSBzZXR0aW5nIGEgInR5cGUgaGludCIgb24gdGhlIGNoYW5u
ZWwuCkBAIC0xMjYsMTAgKzEzNSw3IEBAIGJvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2FuVXNl
U2hlZXQoYm9vbCogaGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKICAgICAvLyBUaGlzIGNvZGUgZGVm
YXVsdHMgdG8gYWxsb3dpbmcgdGhlIHN0eWxlc2hlZXQgZm9yIG5vbi1IVFRQIHByb3RvY29scyBz
bwogICAgIC8vIGZvbGtzIGNhbiB1c2Ugc3RhbmRhcmRzIG1vZGUgZm9yIGxvY2FsIEhUTUwgZG9j
dW1lbnRzLgogICAgIFN0cmluZyBtaW1lVHlwZSA9IGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5
cGUocmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBl
KSk7Ci0gICAgYm9vbCB0eXBlT0sgPSBtaW1lVHlwZS5pc0VtcHR5KCkgfHwgZXF1YWxJZ25vcmlu
Z0Nhc2UobWltZVR5cGUsICJ0ZXh0L2NzcyIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG1pbWVUeXBl
LCAiYXBwbGljYXRpb24veC11bmtub3duLWNvbnRlbnQtdHlwZSIpOwotICAgIGlmIChoYXNWYWxp
ZE1JTUVUeXBlKQotICAgICAgICAqaGFzVmFsaWRNSU1FVHlwZSA9IHR5cGVPSzsKLSAgICByZXR1
cm4gdHlwZU9LOworICAgIHJldHVybiBtaW1lVHlwZS5pc0VtcHR5KCkgfHwgZXF1YWxJZ25vcmlu
Z0Nhc2UobWltZVR5cGUsICJ0ZXh0L2NzcyIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG1pbWVUeXBl
LCAiYXBwbGljYXRpb24veC11bmtub3duLWNvbnRlbnQtdHlwZSIpOwogfQogCiB2b2lkIENhY2hl
ZENTU1N0eWxlU2hlZXQ6OmRlc3Ryb3lEZWNvZGVkRGF0YSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaAppbmRleCBkMGJjZDc0NjA5Y2Yx
YjBjZmFmNTNmYzdkMDIzODVlMzhiNTljMTJiLi41OTYzOTQ3MjRiNTNjZWU4N2U0OGRmZTY1NDhj
M2M0ZjVlOWRkNzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkQ1NTU3R5bGVTaGVldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRDU1NTdHlsZVNoZWV0LmgKQEAgLTQxLDEzICs0MSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIENhY2hlZENTU1N0eWxlU2hlZXQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgU3RyaW5nJiBjaGFyc2V0LCBTZXNzaW9uSUQpOwogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRD
U1NTdHlsZVNoZWV0KCk7CiAKLSAgICAgICAgY29uc3QgU3RyaW5nIHNoZWV0VGV4dChib29sKiBo
YXNWYWxpZE1JTUVUeXBlID0gbnVsbHB0cikgY29uc3Q7CisgICAgICAgIGVudW0gY2xhc3MgTUlN
RVR5cGVDaGVjayB7IFN0cmljdCwgTGF4IH07CisgICAgICAgIGNvbnN0IFN0cmluZyBzaGVldFRl
eHQoTUlNRVR5cGVDaGVjayA9IE1JTUVUeXBlQ2hlY2s6OlN0cmljdCwgYm9vbCogZmFpbGVkTUlN
RVR5cGVDaGVjayA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgICAgIFBhc3NSZWZQdHI8U3R5bGVT
aGVldENvbnRlbnRzPiByZXN0b3JlUGFyc2VkU3R5bGVTaGVldChjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiwgQ2FjaGVQb2xpY3kpOwogICAgICAgICB2b2lkIHNhdmVQYXJzZWRTdHlsZVNoZWV0KFJl
ZjxTdHlsZVNoZWV0Q29udGVudHM+JiYpOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgYm9vbCBj
YW5Vc2VTaGVldChib29sKiBoYXNWYWxpZE1JTUVUeXBlKSBjb25zdDsKKyAgICAgICAgYm9vbCBj
YW5Vc2VTaGVldChNSU1FVHlwZUNoZWNrKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIG1h
eVRyeVJlcGxhY2VFbmNvZGVkRGF0YSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50
Kikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTQ2YWRjY2Q2ZGUyMTAyNDhhZTQ1Y2JkNWFmY2QxZmVhOTE2
ZWRjOC4uZTkwMTJjMTAwODc4ZDEyYjYzMjJjYzNlZjJjNTM3YWJlZTlmYTY0MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ1IEBACisyMDE1LTA3LTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlwZSBwYXJzaW5nIGZvciBzYW1lLW9yaWdpbiBD
U1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyMDEwMzAzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQg
dGVzdCBjb3ZlcmFnZSBmb3IgTUlNRSB0eXBlIHBhcnNpbmcgZm9yIHNhbWUtb3JpZ2luIENTUyBp
bgorICAgICAgICBxdWlya3MgbW9kZSBhbmQgbm90LgorCisgICAgICAgICogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY3NzL2JhZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRl
eHQtcGxhaW4tYW5kLWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRl
eHQtcGxhaW4tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9jc3MtYWNj
ZXB0LWFueS10eXBlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L21pc2MvY3NzLWFjY2VwdC1hbnktdHlwZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtMS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3Nz
LTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLWNzcy00LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0xLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNz
cy0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmln
aW4tY3NzLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbWUtb3JpZ2luLWNzcy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvc2FtZS1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy04Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3Nz
LWluLXF1aXJrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1aXJrcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvaHR0cC90ZXN0cy9taXNjL2FjaWQzLWV4cGVjdGVkLnR4dDoKKwogMjAxNS0w
Ny0yNyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0
IHJlc3VsdCBnYXJkZW5pbmcgZm9yIEVsIENhcGl0YW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jc3MvYmFkLW1pbWUtdHlwZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jc3MvYmFkLW1pbWUtdHlwZS1leHBlY3Rl
ZC50eHQKaW5kZXggZDdmNzk2NmFkMmViNWYxMmY4ZTZiMzZjZWM1YTkyZWViNzMyZDQ5OC4uZWNl
NGE1ZjMwNTFjNzIzNjk2MjJmZDY4MWM3MDNmNjUyYjNhYWVlZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY3NzL2JhZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nzcy9iYWQtbWltZS10eXBl
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBw
YXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMv
c3R5bGVzaGVldC1iYWQtbWltZS10eXBlLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBp
bnZhbGlkLgorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIGNyb3NzLW9yaWdpbiBzdHls
ZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvc3R5bGVzaGVl
dC1iYWQtbWltZS10eXBlLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgog
VGVzdHMgdGhhdCBzaG93aW5nIFdlYiBJbnNwZWN0b3Igb24gYSBwYWdlIHRoYXQgaGFzIGEgc3R5
bGVzaGVldCB3aXRoIGFuIGludmFsaWQgTUlNRSB0eXBlIGRvZXMgbm90IGNyYXNoLgogCiBUaGlz
IHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taW1lL3N0YW5kYXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0
LXdpdGgtdGV4dC1wbGFpbi1hbmQtY3NzLWV4dGVuc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1sb2FkLXN0eWxlc2hl
ZXQtd2l0aC10ZXh0LXBsYWluLWFuZC1jc3MtZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dAppbmRleCBl
NGE1MGUzZDE1M2VhZWY2OWNlZjM2MDdlMjBkN2Q2NzJiOGFhOTczLi5mMjc4YjUwZDIxMjZiMmNl
ZjEwZDQzNGJkMjkwNTk3NWUwZjZlMDdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1sb2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0
LXBsYWluLWFuZC1jc3MtZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1sb2FkLXN0eWxlc2hlZXQtd2l0
aC10ZXh0LXBsYWluLWFuZC1jc3MtZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDIg
QEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbWltZS9yZXNvdXJjZXMvc3R5bGUtd2l0aC10ZXh0LXBsYWluLnBocC9m
b28uY3NzJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitDT05TT0xFIE1FU1NB
R0U6IERpZCBub3QgcGFyc2UgY3Jvc3Mtb3JpZ2luIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9taW1lL3Jlc291cmNlcy9zdHlsZS13aXRoLXRleHQtcGxhaW4ucGhwL2Zvby5j
c3MnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KIFRoaXMgdGVzdCBwYXNzZXMg
aWYgd2UgZG8gTk9UIGFwcGx5IHRoZSBzdHlsZXNoZWV0ICh3aGljaCB0dXJucyB0aGUgYmFja2dy
b3VuZCBjb2xvciByZWQuKSBUaGUgYmFja2dyb3VuZCBjb2xvciBpczogcmdiYSgwLCAwLCAwLCAw
KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2Rl
LWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taW1lL3N0YW5kYXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1z
dHlsZXNoZWV0LXdpdGgtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQKaW5kZXggZGRlMzFkNWQ3OTMz
NGYwMjVkYThjZjIyZGJkNThkZmQxYmY4MDZjOC4uNmQ1Yzc0MjNmYWI0MmNmZGMyZGI0YzVkOTg5
MThhYTM1ZjVhMjc2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taW1lL3N0
YW5kYXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdpdGgtdGV4dC1wbGFpbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taW1lL3N0YW5kYXJkLW1vZGUt
ZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdpdGgtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQKQEAg
LTEsMiArMSwyIEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBh
dCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL21pbWUvcmVzb3VyY2VzL3N0eWxlLXdpdGgtdGV4dC1w
bGFpbi5waHAnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVT
U0FHRTogRGlkIG5vdCBwYXJzZSBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldCBhdCAnaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL21pbWUvcmVzb3VyY2VzL3N0eWxlLXdpdGgtdGV4dC1wbGFpbi5waHAnIGJl
Y2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KIFRoaXMgdGVzdCBwYXNzZXMgaWYgd2Ug
ZG8gTk9UIGFwcGx5IHRoZSBzdHlsZXNoZWV0ICh3aGljaCB0dXJucyB0aGUgYmFja2dyb3VuZCBj
b2xvciByZWQuKSBUaGUgYmFja2dyb3VuZCBjb2xvciBpczogcmdiYSgwLCAwLCAwLCAwKS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0LWFueS10eXBl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0LWFu
eS10eXBlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjQ2M2U5
ZjU2MmJkZjE3MDgyYTZiNjc0MmU4NjY5N2E0ZmRkMGM5Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3Nz
LWFjY2VwdC1hbnktdHlwZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvc3R5bGVzaGVldC1iYWQtbWltZS10eXBlLnBo
cCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgotVGhpcyB3YXMgYSB0ZXN0IGZv
ciBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQ1MSBSRUdSRVNTSU9O
OiBEZWxsLmNvbSBkb2VzIG5vdCByZW5kZXIgY29ycmVjdGx5IGluIFRvVCAoc3R5bGVzaGVldCBu
b3QgbG9hZGVkKTogZ2l2ZW4gdGhlIHNlY3VyaXR5IGltcGxpY2F0aW9ucyBvZiBhY2NlcHRpbmcg
YmFkIE1JTUUgdHlwZXMsIHdlJ3JlIG5vdyBpbnRlbnRpb25hbGx5IGJyZWFraW5nIHRoaXMgY2Fz
ZSB0byBtYXRjaCBvdGhlciBicm93c2Vycy4KLQotU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1hY2NlcHQtYW55LXR5cGUuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0LWFueS10eXBlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGVkNjM4NWQ3ZTk4NjgxNjhiNDg2ZmEzMzU1ZmQ4ZWFiNzcyMzQw
MjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1hY2NlcHQtYW55LXR5cGUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0gICAgPHRpdGxlPjwvdGl0bGU+
Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvc3R5bGVzaGVldC1i
YWQtbWltZS10eXBlLnBocCI+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZnVuY3Rpb24gdGVzdCgp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKLSAgICAg
ICAgICAgIHZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KTsKLSAgICAgICAgICAg
IHRhcmdldC5pbm5lclRleHQgPSBzdHlsZS5wb3NpdGlvbiA9PSAicmVsYXRpdmUiID8gIkZBSUwi
IDogIlNVQ0NFU1MiOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InRlc3QoKSI+Ci0gICAgPHA+Ci0gICAgICAgIFRoaXMgd2FzIGEgdGVzdCBmb3IKLSAg
ICAgICAgPGk+PGEgaHJlZj0iaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE0NTEiPmh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDUxPC9hPgot
ICAgICAgICBSRUdSRVNTSU9OOiBEZWxsLmNvbSBkb2VzIG5vdCByZW5kZXIgY29ycmVjdGx5IGlu
IFRvVCAoc3R5bGVzaGVldCBub3QgbG9hZGVkKTwvaT46Ci0gICAgICAgIGdpdmVuIHRoZSBzZWN1
cml0eSBpbXBsaWNhdGlvbnMgb2YgYWNjZXB0aW5nIGJhZCBNSU1FIHR5cGVzLCB3ZSdyZSBub3cK
LSAgICAgICAgaW50ZW50aW9uYWxseSBicmVha2luZyB0aGlzIGNhc2UgdG8gbWF0Y2ggb3RoZXIg
YnJvd3NlcnMuCi0gICAgPC9wPgotICAgIDxwIGlkPSJ0YXJnZXQiPgotICAgIDwvcD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3Mt
cmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWlzYy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1tb2RlLWV4cGVj
dGVkLnR4dAppbmRleCBiMjgxOWQzYzIyZjQxYmY0YTZkYjkxZDkyMTg1ZjVlOWRjYTg5NGFjLi4y
MmY5NGE4YmQ2ZTdiMzBjZTYwMzIyOGI3YjVkMGUwOWM4NTM1YjZmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3NzLXJlamVjdC1hbnktdHlwZS1pbi1zdHJpY3QtbW9k
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1yZWpl
Y3QtYW55LXR5cGUtaW4tc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAot
Q09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9taXNjL3Jlc291cmNlcy9zdHlsZXNoZWV0LWJhZC1taW1lLXR5cGUucGhwJyBi
ZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitDT05TT0xFIE1FU1NBR0U6IERpZCBu
b3QgcGFyc2UgY3Jvc3Mtb3JpZ2luIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9taXNjL3Jlc291cmNlcy9zdHlsZXNoZWV0LWJhZC1taW1lLXR5cGUucGhwJyBiZWNhdXNlIGl0
cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCiBSZWxhdGVkIHRlc3QgdG8gaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0NTEgUkVHUkVTU0lPTjogRGVsbC5jb20gZG9lcyBu
b3QgcmVuZGVyIGNvcnJlY3RseSBpbiBUb1QgKHN0eWxlc2hlZXQgbm90IGxvYWRlZCkuIE1ha2lu
ZyBzdXJlIHRoYXQgaW4gc3RyaWN0IG1vZGUgd2Ugd291bGQgbm90IGxvYWQgc3VjaCBhIHN0eWxl
c2hlZXQuCiAKIFNVQ0NFU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0xLWV4cGVjdGVkLnR4dAppbmRleCBlODZl
NDExYjk3ZmY0NzU1YjVkYmFmZTgxYmU4MGRkNDU2OTgxODU1Li4zZWU2MDBlYTA0YTFmYzRkYzRh
ZjhiZTg4YzRhM2I0NTk2NjJhMjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQg
YXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRw
Oi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MxLmh0bWwnIGJl
Y2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5v
dCBwYXJzZSBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0
eS9yZXNvdXJjZXMveG9yaWdpbmNzczEuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBp
bnZhbGlkLgogCiBQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZv
ciBDU1MuIAogUEFTUyB4b3JpZ2luY3NzMS5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIHZpYSA8
bGluaz4uIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0CmluZGV4IDU1OTJkNzBmYThjZjFh
NWFiNzlhYTFiODFhNjJkYzE2OGZkMTk1YTIuLjNmODRkYWIxYjJmNjQzMTExNjZmNzg5Mzk0Mzk3
OWM4NmI2YmU3NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtMi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCcgYmVjYXVzZSBpdHMg
TUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIGNy
b3NzLW9yaWdpbiBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2Vz
L3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNl
cy94b3JpZ2luY3NzMi5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCiAK
IFBBU1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCiBQ
QVNTIHhvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVyIHZpYSA8bGlu
az4gb3IgQGltcG9ydC4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQKaW5kZXggY2NiNjg4
ZmY0YjU2NDExNzI1OGJjY2U1MGQ3M2VlNzU0NzNlM2YyOS4uOTBkMDE0NjgxM2U3NWZiNDk3YWY2
NzZlZThhYjNhMWYzODQxODBjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy00LWV4cGVjdGVkLnR4dApAQCAt
MSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0
ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MzLmh0
bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTog
RGlkIG5vdCBwYXJzZSBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMy5odG1sJyBiZWNhdXNlIGl0cyBN
SU1FIHR5cGUgd2FzIGludmFsaWQuCiAKIFBBU1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1J
TUUgYmVoYXZpb3IgZm9yIENTUy4gCiBQQVNTIHhvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIG5vdCBi
ZSBsb2FkZWQsIGV2ZW4gdGhvdWdoIGl0IGlzIHNhbWUtb3JpZ2luIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTUt
ZXhwZWN0ZWQudHh0CmluZGV4IDFlOTJlOGE5NGQwMzYzODVlM2Q5ZjgwZGY4ZjA3ZGQ2Yzc1MTQ5
YWIuLmRlN2Y3Nzg1YTc0NGZmZjJkYzZkNDY0N2M2MTU1NDMyZGFjMjBlYzEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy01LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jc3MtNS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IERp
ZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMveG9yaWdpbmNzczQuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgor
Q09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIGNyb3NzLW9yaWdpbiBzdHlsZXNoZWV0IGF0
ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDov
L2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1sJyBiZWNh
dXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCiAKIFBBU1MgVGVzdGluZyBjcm9zcy1vcmln
aW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCiBQQVNTIHhvcmlnaW5jc3M0Lmh0bWwgc2hv
dWxkIG5vdCBiZSBsb2FkZWQgdmlhIEBpbXBvcnQuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTctZXhwZWN0ZWQu
dHh0CmluZGV4IGY3NWRjNTNkZWViYjViMDk2MmVkMDcyZTNhNGQwMTY0NGJmY2NhMDguLmUxMGVh
ODJmNGE1NjUxOWVhNjU4Y2Q1ZTdmODIwMGNmNzJlZWRmY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNy1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFy
c2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNl
cy94b3JpZ2luY3NzNS5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitD
T05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2UgY3Jvc3Mtb3JpZ2luIHN0eWxlc2hlZXQgYXQg
J2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczUuaHRt
bCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgogCiBQQVNTIFRlc3RpbmcgY3Jv
c3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAogUEFTUyB4b3JpZ2luY3NzNS5o
dG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDZlZmQ1YmIzMjU5MjJiNTNiOWQzMmFiN2YwZjA5ZjY0OTdiMDg3NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBEaWQg
bm90IHBhcnNlIGNyb3NzLW9yaWdpbiBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2lu
Y3NzMS5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCisKK1BBU1MgVGVz
dGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdp
bmNzczEuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEgPGxpbms+LiAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM3YTQ2ZTA0MWU1OGJmNTQ5ZWIwODM0MjVhYzFjNzZhZWE2OGQ2NzcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3Jp
Z2luLWNzcy0xLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkv
cmVzb3VyY2VzL3hvcmlnaW5jc3MxLmh0bWwiPjwvbGluaz4KKworPHNjcmlwdD4KK2Z1bmN0aW9u
IGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlW
YWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVz
dCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDEnKSwgJ3JnYmEo
MCwgMCwgMCwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczEuaHRtbCBzaG91bGQgbm90IGJlIGxv
YWRlZCB2aWEgJmx0O2xpbmsmZ3Q7LicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9Owor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDEiIGNsYXNzPSJpZDEi
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0yLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZjYzOWFhYjI3N2JhYjY2MDVmZmQ2YjFiNTlhNDMwYjhjYzk1N2Q1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1j
c3MtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IERpZCBu
b3QgcGFyc2UgY3Jvc3Mtb3JpZ2luIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5j
c3MyLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KKworUEFTUyBUZXN0
aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2lu
Y3NzMi5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIGVpdGhlciB2aWEgPGxpbms+IG9yIEBpbXBv
cnQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUt
b3JpZ2luLWNzcy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUt
b3JpZ2luLWNzcy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGFiZjI5ZTQwYTNjNGVmY2IxM2Q1ODM0MDEw
NGY1YzNmY2I3YmUzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2FtZS1vcmlnaW4gQ1NTPC90aXRsZT4K
KworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9yZXNv
dXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmh0
bWwiPjwvbGluaz4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZChp
ZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKQor
fQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5k
IE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgp
IHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNr
Z3JvdW5kQ29sb3JGb3JJZCgnaWQyJyksICdyZ2JhKDAsIDAsIDAsIDApJyk7CisgICAgfSwgJ3hv
cmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVyIHZpYSAmbHQ7bGluayZn
dDsgb3IgQGltcG9ydC4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQyIiBjbGFzcz0iaWQyIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjZiYTdjMjQ4ODUzMTg1NTQ4MThlYWFlMWE1MjE5ZjdlMjI2NTk3MgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5k
IE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MxLmNzcyBzaG91bGQgYmUg
bG9hZGVkIHZpYSA8bGluaz4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YmUyYmVlYmZiMjll
MjVlNGY0NWUyNjgxOTMwMjVlMDVmMzEyMzBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy5odG1sCkBAIC0wLDAgKzEs
MzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdp
biBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IgorICAgICAgaHJlZj0i
L3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNz
czEuY3NzIj48L2xpbms+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3JG
b3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29s
b3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2FtZS1vcmln
aW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhn
ZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQzJyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAg
fSwgJ3hvcmlnaW5jc3MxLmNzcyBzaG91bGQgYmUgbG9hZGVkIHZpYSAmbHQ7bGluayZndDsnKTsK
KworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgICAgPGRpdiBpZD0iaWQzIiBjbGFzcz0iaWQzIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ1MDc3NzQ2MmYwNDFmMWEz
M2EwMTJmYzMxZjYzNTE4N2Y0ZTZhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIGNyb3NzLW9yaWdpbiBzdHls
ZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmln
aW5jc3MzLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KKworUEFTUyBU
ZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3Jp
Z2luY3NzMy5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLCBldmVuIHRob3VnaCBpdCBpcyBzYW1l
LW9yaWdpbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtNC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwMjIxOTc5MjFhZmVkMjUwMTBlNjhi
NDYwZjFkMmE4MTE0NGMzZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0
bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy94b3JpZ2lu
Y3NzMy5odG1sIj48L2xpbms+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29s
b3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2FtZS1v
cmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1
bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ0JyksICdyZ2JhKDAsIDAsIDAsIDApJyk7Cisg
ICAgfSwgJ3hvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQsIGV2ZW4gdGhvdWdo
IGl0IGlzIHNhbWUtb3JpZ2luJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNCIgY2xhc3M9ImlkNCI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIzN2M1NmMyYzEzYzBkNTExNzA0NDlhZTRiOTczNzEzYjVhZWI4ZjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBw
YXJzZSBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczQu
aHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorCitQQVNTIFRlc3Rpbmcg
c2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3M0
Lmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhIEBpbXBvcnQuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTRiNmRjMWE3NTEyMzk2ZTk3N2NiNjA1MjVmMWZlYTdlMzk3MGNjYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTUuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8dGl0bGU+U2FtZS1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK0BpbXBv
cnQgIi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmln
aW5jc3M0Lmh0bWwiOworPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5k
Q29sb3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91
bmQtY29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2Ft
ZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ1JyksICdyZ2JhKDAsIDAsIDAsIDApJyk7
CisgICAgfSwgJ3hvcmlnaW5jc3M0Lmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhIEBpbXBv
cnQuJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNSIgY2xhc3M9ImlkNSI+PC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUt
b3JpZ2luLWNzcy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc2FtZS1vcmlnaW4tY3NzLTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyZDlmYmU2ZmNm
NWZlOGExMjhkYjU3ZDJhZTk4MjVlYmQ1ZjJkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2
aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzMi5jc3Mgc2hvdWxkIGJlIGxvYWRlZC4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTYuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTg1MzQwMmQ1MzE5NWFhYzY0ZGQyMmIwNDFjZTU3MWQ3
ZTMyMDk2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zYW1lLW9yaWdpbi1jc3MtNi5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKwor
PHN0eWxlPgorQGltcG9ydCAiL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9y
ZXNvdXJjZXMveG9yaWdpbmNzczIuY3NzIjsKKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24g
Z2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZh
bHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0
KCJUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNicpLCAncmdiKDI1
NSwgMjU1LCAwKScpOworICAgIH0sICd4b3JpZ2luY3NzMi5jc3Mgc2hvdWxkIGJlIGxvYWRlZC4n
KTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPGRpdiBpZD0iaWQ2IiBjbGFzcz0iaWQ2Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmln
aW4tY3NzLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTExZTBjYzBlZmEzYjAw
ZjExOWRmY2Y2ZmUyM2FkN2JmMzFkYjQ5MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIGNyb3NzLW9yaWdpbiBz
dHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hv
cmlnaW5jc3M1Lmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KKworUEFT
UyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4
b3JpZ2luY3NzNS5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ5OWM0ZWQ1MjhjZTUyNWQ5N2VmNjE3M2U0OGU5ZmZlNTFhNGFiYTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNz
cy03Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitAaW1wb3J0
ICJyZXNvdXJjZXMveG9yaWdpbmNzczUuaHRtbCI7Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0
aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVy
dHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNf
dGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOwor
Cit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDcnKSwgJ3Jn
YmEoMCwgMCwgMCwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczUuaHRtbCBzaG91bGQgbm90IGJl
IGxvYWRlZC4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQ3IiBjbGFzcz0iaWQ3Ij48L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
c2FtZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDcxMjVi
ZWIzOWM0YTkxYjQ5ZWJjYjE0ZWU2MzBhMzUzMmVmODk5YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorQ2hlY2sgdGhhdCBkYXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZv
ciBub24tQ09SUyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0Y2hlcy4KKworUEFTUyBiYWNrZ3JvdW5k
IGltYWdlIGxvYWRlZAorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZp
b3IgZm9yIENTUy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc2FtZS1vcmlnaW4tY3NzLTguaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc2FtZS1vcmlnaW4tY3NzLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTIxZGU4ZmVkNWUyZGU0ODdh
ZWZjZjQzNjExMmNlODk3YTVjNGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC5odG1sCkBAIC0wLDAgKzEsMzEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8
L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKworPHN0eWxlPgorI2RhdGEtYmFja2dyb3VuZC11cmwgeworICAgIGNvbnRl
bnQ6ICJQQVNTIChpbWFnZSBsb2FkZWQpIjsKKyAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1h
Z2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3
aWR0aD0nMHB4JyBoZWlnaHQ9JzBweCc+PC9zdmc+Iik7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4K
K2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0
UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0g
YXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NT
LiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIG9ubG9hZFRlc3QuZG9u
ZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+Q2hlY2sgdGhhdCBk
YXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZvciBub24tQ09SUyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0
Y2hlcy48L3A+CisgICAgPGRpdiBpZD0iZGF0YS1iYWNrZ3JvdW5kLXVybCI+UEFTUyBiYWNrZ3Jv
dW5kIGltYWdlIGxvYWRlZDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4tcXVpcmtzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLWluLXF1aXJrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDIwMzRmYmYzZDI3YzQzYjE3
MjY3NjM5ODVkNmUxZjI5ZjRmNzZhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1aXJrcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMSBAQAorUEFTUyBiYWNrZ3JvdW5kIGltYWdlIGxvYWRlZAorCitQQVNTIFRl
c3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmln
aW5jc3MxLmh0bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEgPGxpbms+LiAKK1BBU1MgeG9yaWdpbmNz
czIuaHRtbCBzaG91bGQgYmUgbG9hZGVkIGVpdGhlciB2aWEgPGxpbms+IG9yIEBpbXBvcnQuIAor
UEFTUyB4b3JpZ2luY3NzMS5jc3Mgc2hvdWxkIGJlIGxvYWRlZCB2aWEgPGxpbms+IAorUEFTUyB4
b3JpZ2luY3NzMy5odG1sIHNob3VsZCBiZSBsb2FkZWQgCitQQVNTIHhvcmlnaW5jc3M0Lmh0bWwg
c2hvdWxkIGJlIGxvYWRlZCB2aWEgQGltcG9ydC4gCitQQVNTIHhvcmlnaW5jc3MyLmNzcyBzaG91
bGQgYmUgbG9hZGVkLiAKK1BBU1MgeG9yaWdpbmNzczUuaHRtbCBzaG91bGQgYmUgbG9hZGVkLiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdp
bi1jc3MtaW4tcXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Nh
bWUtb3JpZ2luLWNzcy1pbi1xdWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTY1MDY3NWIxY2UyZGM2
NzljOGU0ZmJiYjMxN2RmMjljNDNiNDA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4tcXVpcmtzLmh0bWwKQEAgLTAs
MCArMSw3NiBAQAorPGh0bWw+Cis8IS0tIAorICAgIE5vdGUgdGhlIGxhY2sgb2YgZG9jdHlwZSBh
Ym92ZTogVGhhdCBpcyBpbnRlbnRpb25hbC4gVGhpcyB0ZXN0CisgICAgTVVTVCBiZSBpbiBxdWly
a3MgbW9kZSB0byBoYXZlIGFueSByZWFsIHRlc3RpbmcgcG93ZXIuCistLT4KKzxoZWFkPgorPHRp
dGxlPlNhbWUtb3JpZ2luIENTUyBpbiBxdWlya3MgbW9kZTwvdGl0bGU+CisKKzxzY3JpcHQgc3Jj
PSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8bGluayBy
ZWw9InN0eWxlc2hlZXQiCisgICAgICBocmVmPSIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9
L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMS5odG1sIj48L2xpbms+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiCisgICAgICB0eXBlPSJ0ZXh0L2NzcyIKKyAgICAgIGhyZWY9Ii9yZXNvdXJj
ZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmh0bWwi
PjwvbGluaz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIKKyAgICAgIGhyZWY9Ii9yZXNvdXJjZXMv
cmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MxLmNzcyI+PC9s
aW5rPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IgorICAgICAgaHJlZj0icmVzb3VyY2VzL3hvcmln
aW5jc3MzLmh0bWwiPjwvbGluaz4KKzxzdHlsZT4KKy8qIERlbGliZXJhdGVseSByZXVzZSB0aGUg
c2FtZSBmaWxlIC8gY2xhc3MgLyBpZCBvbiB0aGlzIGZpcnN0IG9uZSAqLworQGltcG9ydCAiL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIu
aHRtbCI7CitAaW1wb3J0ICIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jl
c291cmNlcy94b3JpZ2luY3NzNC5odG1sIjsKK0BpbXBvcnQgIi9yZXNvdXJjZXMvcmVkaXJlY3Qu
cGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmNzcyI7CitAaW1wb3J0ICJy
ZXNvdXJjZXMveG9yaWdpbmNzczUuaHRtbCI7CisKKy8qIENoZWNrIHRoYXQgZGF0YTogaXMgc3Rp
bGwgYWxsb3dlZCBmb3Igbm9uLUNPUlMgY3Jvc3Mtb3JpZ2luIGltYWdlIGZldGNoZXMuICovCisj
ZGF0YS1iYWNrZ3JvdW5kLXVybCB7CisgICAgY29udGVudDogIlBBU1MgKGltYWdlIGxvYWRlZCki
OworICAgIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxu
cz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScwcHgnIGhlaWdodD0nMHB4Jz48
L3N2Zz4iKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGdldEJhY2tncm91
bmRDb2xvckZvcklkKGlkKSB7CisgICAgICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2Jh
Y2tncm91bmQtY29sb3InKQorICAgIH0KKyAgICB2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3Qo
IlRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKyAgICB3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkMScp
LCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczEuaHRtbCBzaG91
bGQgYmUgbG9hZGVkIHZpYSAmbHQ7bGluayZndDsuJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgn
aWQyJyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAgICAgIH0sICd4b3JpZ2luY3NzMi5odG1s
IHNob3VsZCBiZSBsb2FkZWQgZWl0aGVyIHZpYSAmbHQ7bGluayZndDsgb3IgQGltcG9ydC4nKTsK
KyAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGdl
dEJhY2tncm91bmRDb2xvckZvcklkKCdpZDMnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICAg
ICAgfSwgJ3hvcmlnaW5jc3MxLmNzcyBzaG91bGQgYmUgbG9hZGVkIHZpYSAmbHQ7bGluayZndDsn
KTsKKyAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDQnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAg
ICAgICAgfSwgJ3hvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIGJlIGxvYWRlZCcpOworICAgICAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3Vu
ZENvbG9yRm9ySWQoJ2lkNScpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9y
aWdpbmNzczQuaHRtbCBzaG91bGQgYmUgbG9hZGVkIHZpYSBAaW1wb3J0LicpOworICAgICAgICB0
ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3Vu
ZENvbG9yRm9ySWQoJ2lkNicpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9y
aWdpbmNzczIuY3NzIHNob3VsZCBiZSBsb2FkZWQuJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgn
aWQ3JyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAgICAgIH0sICd4b3JpZ2luY3NzNS5odG1s
IHNob3VsZCBiZSBsb2FkZWQuJyk7CisgICAgICAgIG9ubG9hZFRlc3QuZG9uZSgpOworICAgIH07
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkMSIgY2xhc3M9Imlk
MSI+PC9kaXY+CisgICAgPGRpdiBpZD0iaWQyIiBjbGFzcz0iaWQyIj48L2Rpdj4KKyAgICA8ZGl2
IGlkPSJpZDMiIGNsYXNzPSJpZDMiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImlkNCIgY2xhc3M9Imlk
NCI+PC9kaXY+CisgICAgPGRpdiBpZD0iaWQ1IiBjbGFzcz0iaWQ1Ij48L2Rpdj4KKyAgICA8ZGl2
IGlkPSJpZDYiIGNsYXNzPSJpZDYiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImlkNyIgY2xhc3M9Imlk
NyI+PC9kaXY+CisgICAgPGRpdiBpZD0iaWQ4IiBjbGFzcz0iaWQ4Ij48L2Rpdj4KKyAgICA8ZGl2
IGlkPSJkYXRhLWJhY2tncm91bmQtdXJsIj5QQVNTIGJhY2tncm91bmQgaW1hZ2UgbG9hZGVkPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvaHR0cC90ZXN0cy9taXNjL2FjaWQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9odHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0CmluZGV4IDU2YmU2ODQy
NjI2OWE1OTc1Njc2YWNhOGNiNjBmZTRhOGQxOTRkZjIuLjIzMTNjNmFkZTAwYjZhYzE0NzA2MDFi
NWIwNzdlMGVkMGQxYzRiMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9o
dHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9odHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAotQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9taXNjL3Jlc291cmNlcy9hY2lkMy9lbXB0eS5jc3MnIGJlY2F1c2UgaXRz
IE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBj
cm9zcy1vcmlnaW4gc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvcmVz
b3VyY2VzL2FjaWQzL2VtcHR5LmNzcycgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlk
LgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMjAsMjApIHNpemUgNjQ0eDQzMwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257609</attachid>
            <date>2015-07-27 16:06:43 -0700</date>
            <delta_ts>2015-07-27 16:55:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147327-20150727160523.patch</filename>
            <type>text/plain</type>
            <size>60566</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmEyOTc5NzA4YzBmOGNh
MGJiMGQ0NjRhZGIzYjFlZDllNzYxZjExZi4uYjVjOTJmNzg5MDU0NWI5NjBiZWRlMWQ1ZDgyZmM4
ZTZkNmNmYWE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE1LTA3LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlw
ZSBwYXJzaW5nIGZvciBzYW1lLW9yaWdpbiBDU1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIyMDEwMzAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2UgbWFkZSBpbiByMTgwMDIwIGlzIHRvbyBzdHJpY3Qg
Zm9yIHRoZSB3ZWIsIGFuZCBkb2Vzbid0IG1hdGNoIEZpcmVmb3gKKyAgICAgICAgQ2hyb21lLCBv
ciBJRSdzIGJlaGF2aW9yLiBJbiBwYXJ0aWN1bGFyLCBpdCBkb2VzIG5vdCByZXNwZWN0IHRoZSBz
YW1lLW9yaWdpbgorICAgICAgICBjYXJ2ZW91dCB0aGF0IHRoZSBIVE1MIHNwZWMgc3BlY2lmaWVz
OgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRp
Y3MuaHRtbCNsaW5rLXR5cGUtc3R5bGVzaGVldAorCisgICAgICAgIFRoaXMgcGF0Y2ggY29ycmVj
dHMgdGhhdCBvdmVyc2lnaHQgYW5kIGFsaWducyBvdXIgYmVoYXZpb3Igd2l0aCBvdGhlciBwb3B1
bGFyCisgICAgICAgIGJyb3dzZXJzLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHdhcyBhZGFwdGVk
IGZyb20gQmxpbmsgcjE5NjY3ODoKKyAgICAgICAgaHR0cHM6Ly9zcmMuY2hyb21pdW0ub3JnL3Zp
ZXd2Yy9ibGluaz9yZXZpc2lvbj0xOTY2Nzgmdmlldz1yZXZpc2lvbgorCisgICAgICAgIFRlc3Rz
OiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEuaHRtbAor
ICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1
aXJrcy0yLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLWNzcy1pbi1xdWlya3MtMy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01Lmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3Mt
Ni5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtaW4tcXVpcmtzLTcuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTEuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMi5odG1sCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0zLmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTQuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNS5odG1sCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTcuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy1pbi1xdWlya3MuaHRt
bAorCisgICAgICAgICogY3NzL1N0eWxlUnVsZUltcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJ1bGVJbXBvcnQ6OnNldENTU1N0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9TdHls
ZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldENvbnRlbnRz
OjpwYXJzZUF1dGhvclN0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVu
dHMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTGlua0VsZW1lbnQ6OnNldENTU1N0eWxlU2hlZXQpOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZENTU1N0eWxlU2hlZXQ6OnNoZWV0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NT
dHlsZVNoZWV0OjpjYW5Vc2VTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NTdHls
ZVNoZWV0OjpjaGVja05vdGlmeSk6IERlbGV0ZWQuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZENTU1N0eWxlU2hlZXQuaDoKKwogMjAxNS0wNy0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmhhbmNlIEFuaW1hdGlvbiBsb2dnaW5nIHNs
aWdodGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCmluZGV4IDA2NDJhMWQw
NDZlNmU5YTRiNGU2OTQzYTgwZDFjMmFlZjcxZjllZjQuLmY1Njc5NTYwMTgxZjllZmFmZTVhOWYx
MzJhMWIwOTE0NDBmYzUwMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGVJbXBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3Bw
CkBAIC03MCw4ICs3MCw5IEBAIHZvaWQgU3R5bGVSdWxlSW1wb3J0OjpzZXRDU1NTdHlsZVNoZWV0
KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgVVJMJiBiYXNlVVJMLCBjCiAgICAgaWYgKCFiYXNl
VVJMLmlzTnVsbCgpKQogICAgICAgICBjb250ZXh0LmJhc2VVUkwgPSBiYXNlVVJMOwogCisgICAg
RG9jdW1lbnQqIGRvY3VtZW50ID0gbV9wYXJlbnRTdHlsZVNoZWV0ID8gbV9wYXJlbnRTdHlsZVNo
ZWV0LT5zaW5nbGVPd25lckRvY3VtZW50KCkgOiBudWxscHRyOwogICAgIG1fc3R5bGVTaGVldCA9
IFN0eWxlU2hlZXRDb250ZW50czo6Y3JlYXRlKHRoaXMsIGhyZWYsIGNvbnRleHQpOwotICAgIG1f
c3R5bGVTaGVldC0+cGFyc2VBdXRob3JTdHlsZVNoZWV0KGNhY2hlZFN0eWxlU2hlZXQpOworICAg
IG1fc3R5bGVTaGVldC0+cGFyc2VBdXRob3JTdHlsZVNoZWV0KGNhY2hlZFN0eWxlU2hlZXQsIGRv
Y3VtZW50ID8gZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkgOiBudWxscHRyKTsKIAogICAgIG1f
bG9hZGluZyA9IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMu
Y3BwCmluZGV4IDJiN2U0NTFjNDdkYTk0ODQwZDVhYTEwMWU2OTUyMjAzN2RlN2Y1MTIuLmEwMDAy
MWI1MDcyMjFlN2U2NjA4NzY5YTExZjgyOTBhODljMjI4MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlBhZ2VDb25zb2xlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUnVsZVNldC5o
IgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVz
LmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlSW1wb3J0Lmgi
CkBAIC0yOTAsMTYgKzI5MSwyMiBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFN0eWxlU2hlZXRDb250
ZW50czo6ZGV0ZXJtaW5lTmFtZXNwYWNlKGNvbnN0IEF0b21pY1N0cmluZyYgcAogICAgIHJldHVy
biBpdC0+dmFsdWU7CiB9CiAKLXZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpwYXJzZUF1dGhvclN0
eWxlU2hlZXQoY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCogY2FjaGVkU3R5bGVTaGVldCkKK3Zv
aWQgU3R5bGVTaGVldENvbnRlbnRzOjpwYXJzZUF1dGhvclN0eWxlU2hlZXQoY29uc3QgQ2FjaGVk
Q1NTU3R5bGVTaGVldCogY2FjaGVkU3R5bGVTaGVldCwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHNl
Y3VyaXR5T3JpZ2luKQogewotICAgIGJvb2wgaGFzVmFsaWRNSU1FVHlwZSA9IHRydWU7Ci0gICAg
U3RyaW5nIHNoZWV0VGV4dCA9IGNhY2hlZFN0eWxlU2hlZXQtPnNoZWV0VGV4dCgmaGFzVmFsaWRN
SU1FVHlwZSk7CisgICAgYm9vbCBpc1NhbWVPcmlnaW5SZXF1ZXN0ID0gc2VjdXJpdHlPcmlnaW4g
JiYgc2VjdXJpdHlPcmlnaW4tPmNhblJlcXVlc3QoYmFzZVVSTCgpKTsKKyAgICBDYWNoZWRDU1NT
dHlsZVNoZWV0OjpNSU1FVHlwZUNoZWNrIG1pbWVUeXBlQ2hlY2sgPSBpc1N0cmljdFBhcnNlck1v
ZGUobV9wYXJzZXJDb250ZXh0Lm1vZGUpIHx8ICFpc1NhbWVPcmlnaW5SZXF1ZXN0ID8gQ2FjaGVk
Q1NTU3R5bGVTaGVldDo6TUlNRVR5cGVDaGVjazo6U3RyaWN0IDogQ2FjaGVkQ1NTU3R5bGVTaGVl
dDo6TUlNRVR5cGVDaGVjazo6TGF4OworICAgIGJvb2wgZmFpbGVkTUlNRVR5cGVDaGVjayA9IGZh
bHNlOworICAgIFN0cmluZyBzaGVldFRleHQgPSBjYWNoZWRTdHlsZVNoZWV0LT5zaGVldFRleHQo
bWltZVR5cGVDaGVjaywgJmZhaWxlZE1JTUVUeXBlQ2hlY2spOwogCi0gICAgaWYgKCFoYXNWYWxp
ZE1JTUVUeXBlKSB7CisgICAgaWYgKGZhaWxlZE1JTUVUeXBlQ2hlY2spIHsKICAgICAgICAgQVNT
RVJUKHNoZWV0VGV4dC5pc051bGwoKSk7CiAgICAgICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IHNp
bmdsZU93bmVyRG9jdW1lbnQoKSkgewotICAgICAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1
bWVudC0+cGFnZSgpKQotICAgICAgICAgICAgICAgIHBhZ2UtPmNvbnNvbGUoKS5hZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiRGlkIG5vdCBw
YXJzZSBzdHlsZXNoZWV0IGF0ICciICsgY2FjaGVkU3R5bGVTaGVldC0+dXJsKCkuc3RyaW5nQ2Vu
dGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGlu
dmFsaWQuIik7CisgICAgICAgICAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkp
IHsKKyAgICAgICAgICAgICAgICBpZiAoaXNTdHJpY3RQYXJzZXJNb2RlKG1fcGFyc2VyQ29udGV4
dC5tb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgcGFnZS0+Y29uc29sZSgpLmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJEaWQgbm90IHBh
cnNlIHN0eWxlc2hlZXQgYXQgJyIgKyBjYWNoZWRTdHlsZVNoZWV0LT51cmwoKS5zdHJpbmdDZW50
ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52
YWxpZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLiIpOworICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgcGFnZS0+Y29uc29sZSgpLmFkZE1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJEaWQgbm90IHBhcnNlIHN0eWxl
c2hlZXQgYXQgJyIgKyBjYWNoZWRTdHlsZVNoZWV0LT51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNp
emVkVG9MZW5ndGgoKSArICInIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZCBhbmQg
aXQgaXMgY3Jvc3Mtb3JpZ2luLiIpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAg
IHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dENvbnRlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmgKaW5k
ZXggZWQ2ZWUxMzM2ODE2YmUwNTUyNTQ3MDhiY2Y3MDZjZDM2MDA4OWQxYS4uODY3YWY3NGRjYjdj
MDM1NWQwMmU1OTAyZGU4OWZmZTBiNGFjZmExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlU2hlZXRDb250ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNo
ZWV0Q29udGVudHMuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE5v
ZGU7CiBjbGFzcyBTdHlsZVJ1bGVCYXNlOwogY2xhc3MgU3R5bGVSdWxlSW1wb3J0OworY2xhc3Mg
U2VjdXJpdHlPcmlnaW47CiAKIGNsYXNzIFN0eWxlU2hlZXRDb250ZW50cyA6IHB1YmxpYyBSZWZD
b3VudGVkPFN0eWxlU2hlZXRDb250ZW50cz4gewogcHVibGljOgpAQCAtNjIsNyArNjMsNyBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGRldGVybWluZU5hbWVzcGFjZShjb25z
dCBBdG9taWNTdHJpbmcmIHByZWZpeCk7CiAKLSAgICB2b2lkIHBhcnNlQXV0aG9yU3R5bGVTaGVl
dChjb25zdCBDYWNoZWRDU1NTdHlsZVNoZWV0Kik7CisgICAgdm9pZCBwYXJzZUF1dGhvclN0eWxl
U2hlZXQoY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCosIGNvbnN0IFNlY3VyaXR5T3JpZ2luKik7
CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBwYXJzZVN0cmluZyhjb25zdCBTdHJpbmcmKTsKICAg
ICBib29sIHBhcnNlU3RyaW5nQXRQb3NpdGlvbihjb25zdCBTdHJpbmcmLCBjb25zdCBUZXh0UG9z
aXRpb24mLCBib29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmNwcAppbmRleCBlNGUxMjgxMWM4NDUxMzIwMzhkODdjZjNiYzZjODQ0NjMzZjAw
ZWUxLi4zZjYyZjA2NDQyYTdiNDczZGE0NTAyMjA4MTRkM2RhY2E4YjFlYjg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCkBAIC0zNDYsNyArMzQ2LDcgQEAgdm9pZCBI
VE1MTGlua0VsZW1lbnQ6OnNldENTU1N0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBocmVmLCBjb25z
dCBVUkwmIGJhc2VVUkwsIGMKICAgICBtX3NoZWV0LT5zZXRNZWRpYVF1ZXJpZXMoTWVkaWFRdWVy
eVNldDo6Y3JlYXRlQWxsb3dpbmdEZXNjcmlwdGlvblN5bnRheChtX21lZGlhKSk7CiAgICAgbV9z
aGVldC0+c2V0VGl0bGUodGl0bGUoKSk7CiAKLSAgICBzdHlsZVNoZWV0LmdldCgpLnBhcnNlQXV0
aG9yU3R5bGVTaGVldChjYWNoZWRTdHlsZVNoZWV0KTsKKyAgICBzdHlsZVNoZWV0LmdldCgpLnBh
cnNlQXV0aG9yU3R5bGVTaGVldChjYWNoZWRTdHlsZVNoZWV0LCBkb2N1bWVudCgpLnNlY3VyaXR5
T3JpZ2luKCkpOwogCiAgICAgbV9sb2FkaW5nID0gZmFsc2U7CiAgICAgc3R5bGVTaGVldC5nZXQo
KS5ub3RpZnlMb2FkZWRTaGVldChjYWNoZWRTdHlsZVNoZWV0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcAppbmRleCA2ZDExODgw
MWFmODI2ODQ1ZmI2MTk5MjcwNDRhZjliMmIyZDIzNmM0Li5lMThmYmUzNjI1NWY1MzdhZWVhZGQz
OWFjYjhiODcyNGY1ZTJlZTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCkBAIC03OCwxMCArNzgsMTYgQEAgU3RyaW5nIENh
Y2hlZENTU1N0eWxlU2hlZXQ6OmVuY29kaW5nKCkgY29uc3QKICAgICByZXR1cm4gbV9kZWNvZGVy
LT5lbmNvZGluZygpLm5hbWUoKTsKIH0KICAgICAKLWNvbnN0IFN0cmluZyBDYWNoZWRDU1NTdHls
ZVNoZWV0OjpzaGVldFRleHQoYm9vbCogaGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKK2NvbnN0IFN0
cmluZyBDYWNoZWRDU1NTdHlsZVNoZWV0OjpzaGVldFRleHQoTUlNRVR5cGVDaGVjayBtaW1lVHlw
ZUNoZWNrLCBib29sKiBmYWlsZWRNSU1FVHlwZUNoZWNrKSBjb25zdAogeyAKLSAgICBpZiAoIW1f
ZGF0YSB8fCBtX2RhdGEtPmlzRW1wdHkoKSB8fCAhY2FuVXNlU2hlZXQoaGFzVmFsaWRNSU1FVHlw
ZSkpCisgICAgaWYgKCFtX2RhdGEgfHwgbV9kYXRhLT5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKKworICAgIGlmICghY2FuVXNlU2hlZXQobWltZVR5cGVDaGVjaykpIHsKKyAg
ICAgICAgaWYgKGZhaWxlZE1JTUVUeXBlQ2hlY2spCisgICAgICAgICAgICAqZmFpbGVkTUlNRVR5
cGVDaGVjayA9IHRydWU7CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CiAgICAgCiAg
ICAgaWYgKCFtX2RlY29kZWRTaGVldFRleHQuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBtX2Rl
Y29kZWRTaGVldFRleHQ7CkBAIC0xMTMsMTEgKzExOSwxNCBAQCB2b2lkIENhY2hlZENTU1N0eWxl
U2hlZXQ6OmNoZWNrTm90aWZ5KCkKICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChtX3Jlc291
cmNlUmVxdWVzdC51cmwoKSwgbV9yZXNwb25zZS51cmwoKSwgbV9kZWNvZGVyLT5lbmNvZGluZygp
Lm5hbWUoKSwgdGhpcyk7CiB9CiAKLWJvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2FuVXNlU2hl
ZXQoYm9vbCogaGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKK2Jvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVl
dDo6Y2FuVXNlU2hlZXQoTUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrKSBjb25zdAogewogICAg
IGlmIChlcnJvck9jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICht
aW1lVHlwZUNoZWNrID09IE1JTUVUeXBlQ2hlY2s6OkxheCkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKICAgICAvLyBUaGlzIGNoZWNrIGV4YWN0bHkgbWF0Y2hlcyBGaXJlZm94LiAgTm90ZSB0aGF0
IHdlIGdyYWIgdGhlIENvbnRlbnQtVHlwZQogICAgIC8vIGhlYWRlciBkaXJlY3RseSBiZWNhdXNl
IHdlIHdhbnQgdG8gc2VlIHdoYXQgdGhlIHZhbHVlIGlzIEJFRk9SRSBjb250ZW50CiAgICAgLy8g
c25pZmZpbmcuICBGaXJlZm94IGRvZXMgdGhpcyBieSBzZXR0aW5nIGEgInR5cGUgaGludCIgb24g
dGhlIGNoYW5uZWwuCkBAIC0xMjYsMTAgKzEzNSw3IEBAIGJvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVl
dDo6Y2FuVXNlU2hlZXQoYm9vbCogaGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKICAgICAvLyBUaGlz
IGNvZGUgZGVmYXVsdHMgdG8gYWxsb3dpbmcgdGhlIHN0eWxlc2hlZXQgZm9yIG5vbi1IVFRQIHBy
b3RvY29scyBzbwogICAgIC8vIGZvbGtzIGNhbiB1c2Ugc3RhbmRhcmRzIG1vZGUgZm9yIGxvY2Fs
IEhUTUwgZG9jdW1lbnRzLgogICAgIFN0cmluZyBtaW1lVHlwZSA9IGV4dHJhY3RNSU1FVHlwZUZy
b21NZWRpYVR5cGUocmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNv
bnRlbnRUeXBlKSk7Ci0gICAgYm9vbCB0eXBlT0sgPSBtaW1lVHlwZS5pc0VtcHR5KCkgfHwgZXF1
YWxJZ25vcmluZ0Nhc2UobWltZVR5cGUsICJ0ZXh0L2NzcyIpIHx8IGVxdWFsSWdub3JpbmdDYXNl
KG1pbWVUeXBlLCAiYXBwbGljYXRpb24veC11bmtub3duLWNvbnRlbnQtdHlwZSIpOwotICAgIGlm
IChoYXNWYWxpZE1JTUVUeXBlKQotICAgICAgICAqaGFzVmFsaWRNSU1FVHlwZSA9IHR5cGVPSzsK
LSAgICByZXR1cm4gdHlwZU9LOworICAgIHJldHVybiBtaW1lVHlwZS5pc0VtcHR5KCkgfHwgZXF1
YWxJZ25vcmluZ0Nhc2UobWltZVR5cGUsICJ0ZXh0L2NzcyIpIHx8IGVxdWFsSWdub3JpbmdDYXNl
KG1pbWVUeXBlLCAiYXBwbGljYXRpb24veC11bmtub3duLWNvbnRlbnQtdHlwZSIpOwogfQogCiB2
b2lkIENhY2hlZENTU1N0eWxlU2hlZXQ6OmRlc3Ryb3lEZWNvZGVkRGF0YSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaAppbmRleCBkMGJj
ZDc0NjA5Y2YxYjBjZmFmNTNmYzdkMDIzODVlMzhiNTljMTJiLi41OTYzOTQ3MjRiNTNjZWU4N2U0
OGRmZTY1NDhjM2M0ZjVlOWRkNzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmgKQEAgLTQxLDEzICs0MSwxNCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIENhY2hlZENTU1N0eWxlU2hlZXQoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBTZXNzaW9uSUQpOwogICAgICAgICB2aXJ0dWFs
IH5DYWNoZWRDU1NTdHlsZVNoZWV0KCk7CiAKLSAgICAgICAgY29uc3QgU3RyaW5nIHNoZWV0VGV4
dChib29sKiBoYXNWYWxpZE1JTUVUeXBlID0gbnVsbHB0cikgY29uc3Q7CisgICAgICAgIGVudW0g
Y2xhc3MgTUlNRVR5cGVDaGVjayB7IFN0cmljdCwgTGF4IH07CisgICAgICAgIGNvbnN0IFN0cmlu
ZyBzaGVldFRleHQoTUlNRVR5cGVDaGVjayA9IE1JTUVUeXBlQ2hlY2s6OlN0cmljdCwgYm9vbCog
ZmFpbGVkTUlNRVR5cGVDaGVjayA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgICAgIFBhc3NSZWZQ
dHI8U3R5bGVTaGVldENvbnRlbnRzPiByZXN0b3JlUGFyc2VkU3R5bGVTaGVldChjb25zdCBDU1NQ
YXJzZXJDb250ZXh0JiwgQ2FjaGVQb2xpY3kpOwogICAgICAgICB2b2lkIHNhdmVQYXJzZWRTdHls
ZVNoZWV0KFJlZjxTdHlsZVNoZWV0Q29udGVudHM+JiYpOwogCiAgICAgcHJpdmF0ZToKLSAgICAg
ICAgYm9vbCBjYW5Vc2VTaGVldChib29sKiBoYXNWYWxpZE1JTUVUeXBlKSBjb25zdDsKKyAgICAg
ICAgYm9vbCBjYW5Vc2VTaGVldChNSU1FVHlwZUNoZWNrKSBjb25zdDsKICAgICAgICAgdmlydHVh
bCBib29sIG1heVRyeVJlcGxhY2VFbmNvZGVkRGF0YSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IHRydWU7IH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQ2xpZW50KENhY2hlZFJlc291
cmNlQ2xpZW50Kikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTQ2YWRjY2Q2ZGUyMTAyNDhhZTQ1Y2JkNWFm
Y2QxZmVhOTE2ZWRjOC4uYjNiMWFiMmVkZmZlMWUwZmZhM2Y3OTliMjc4ODU5MWZlZDM5OTVjMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTA3LTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlwZSBwYXJzaW5nIGZvciBzYW1l
LW9yaWdpbiBDU1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyMDEw
MzAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZSBmb3IgTUlNRSB0eXBlIHBhcnNpbmcgZm9yIHNhbWUtb3Jp
Z2luIENTUyBpbgorICAgICAgICBxdWlya3MgbW9kZSBhbmQgbm90LgorCisgICAgICAgICogaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY3NzL2JhZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVl
dC13aXRoLXRleHQtcGxhaW4tYW5kLWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVl
dC13aXRoLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlz
Yy9jc3MtYWNjZXB0LWFueS10eXBlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvY3NzLWFjY2VwdC1hbnktdHlwZS5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWlzYy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1tb2RlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy00LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMS1leHBlY3Rl
ZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLWNzcy0xLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0yLWV4cGVjdGVkLnR4
dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4tY3NzLTItZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4t
cXVpcmtzLTMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tY3NzLWluLXF1aXJrcy00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy00Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1x
dWlya3MtNS1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy01LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTUuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJr
cy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy02Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1p
bi1xdWlya3MtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTguaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1v
cmlnaW4tY3NzLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmln
aW4tY3NzLTQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTYuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy1leHBlY3Rl
ZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvc2FtZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy04Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1aXJrcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLWluLXF1aXJrcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvaHR0cC90
ZXN0cy9taXNjL2FjaWQzLWV4cGVjdGVkLnR4dDoKKwogMjAxNS0wNy0yNyAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0IHJlc3VsdCBnYXJkZW5pbmcg
Zm9yIEVsIENhcGl0YW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9jc3MvYmFkLW1pbWUtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9jc3MvYmFkLW1pbWUtdHlwZS1leHBlY3RlZC50eHQKaW5kZXggZDdmNzk2
NmFkMmViNWYxMmY4ZTZiMzZjZWM1YTkyZWViNzMyZDQ5OC4uZmNhMzAzNzc5YWMyMjUwMGJhNjU0
NjRhMzljNTJjOGMwMWI1MzBlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY3NzL2JhZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nzcy9iYWQtbWltZS10eXBlLWV4cGVjdGVkLnR4dApAQCAt
MSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0
ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvc3R5bGVzaGVldC1iYWQtbWlt
ZS10eXBlLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorQ09OU09MRSBN
RVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9taXNjL3Jlc291cmNlcy9zdHlsZXNoZWV0LWJhZC1taW1lLXR5cGUucGhwJyBiZWNhdXNlIGl0
cyBNSU1FIHR5cGUgd2FzIGludmFsaWQgYW5kIHdlIGFyZSBpbiBzdHJpY3QgbW9kZS4KIFRlc3Rz
IHRoYXQgc2hvd2luZyBXZWIgSW5zcGVjdG9yIG9uIGEgcGFnZSB0aGF0IGhhcyBhIHN0eWxlc2hl
ZXQgd2l0aCBhbiBpbnZhbGlkIE1JTUUgdHlwZSBkb2VzIG5vdCBjcmFzaC4KIAogVGhpcyB0ZXN0
IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRo
LXRleHQtcGxhaW4tYW5kLWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9taW1lL3N0YW5kYXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdp
dGgtdGV4dC1wbGFpbi1hbmQtY3NzLWV4dGVuc2lvbi1leHBlY3RlZC50eHQKaW5kZXggZTRhNTBl
M2QxNTNlYWVmNjljZWYzNjA3ZTIwZDdkNjcyYjhhYTk3My4uMGZiNmEwNjcxYzBhZjAwOTZiNmQx
MDc5YTJiYjkxZmFlZWM2YjMwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
aW1lL3N0YW5kYXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdpdGgtdGV4dC1wbGFp
bi1hbmQtY3NzLWV4dGVuc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taW1lL3N0YW5kYXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdpdGgtdGV4
dC1wbGFpbi1hbmQtY3NzLWV4dGVuc2lvbi1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwyIEBACi1D
T05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4w
LjAuMTo4MDAwL21pbWUvcmVzb3VyY2VzL3N0eWxlLXdpdGgtdGV4dC1wbGFpbi5waHAvZm9vLmNz
cycgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorQ09OU09MRSBNRVNTQUdFOiBE
aWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taW1lL3Jl
c291cmNlcy9zdHlsZS13aXRoLXRleHQtcGxhaW4ucGhwL2Zvby5jc3MnIGJlY2F1c2UgaXRzIE1J
TUUgdHlwZSB3YXMgaW52YWxpZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLgogVGhpcyB0ZXN0
IHBhc3NlcyBpZiB3ZSBkbyBOT1QgYXBwbHkgdGhlIHN0eWxlc2hlZXQgKHdoaWNoIHR1cm5zIHRo
ZSBiYWNrZ3JvdW5kIGNvbG9yIHJlZC4pIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIGlzOiByZ2JhKDAs
IDAsIDAsIDApLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taW1lL3N0YW5k
YXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdpdGgtdGV4dC1wbGFpbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5v
dC1sb2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBsYWluLWV4cGVjdGVkLnR4dAppbmRleCBkZGUz
MWQ1ZDc5MzM0ZjAyNWRhOGNmMjJkYmQ1OGRmZDFiZjgwNmM4Li4wMzMyMGYwNjE0ZDQ3ODAwZjlh
YTY4N2M2ODU0YTBkYTMxMDYwYzVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1sb2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBs
YWluLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pbWUvc3RhbmRh
cmQtbW9kZS1kb2VzLW5vdC1sb2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBsYWluLWV4cGVjdGVk
LnR4dApAQCAtMSwyICsxLDIgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHls
ZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWltZS9yZXNvdXJjZXMvc3R5bGUtd2l0
aC10ZXh0LXBsYWluLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorQ09O
U09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9taW1lL3Jlc291cmNlcy9zdHlsZS13aXRoLXRleHQtcGxhaW4ucGhwJyBiZWNhdXNl
IGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQgYW5kIHdlIGFyZSBpbiBzdHJpY3QgbW9kZS4KIFRo
aXMgdGVzdCBwYXNzZXMgaWYgd2UgZG8gTk9UIGFwcGx5IHRoZSBzdHlsZXNoZWV0ICh3aGljaCB0
dXJucyB0aGUgYmFja2dyb3VuZCBjb2xvciByZWQuKSBUaGUgYmFja2dyb3VuZCBjb2xvciBpczog
cmdiYSgwLCAwLCAwLCAwKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9jc3MtYWNjZXB0LWFueS10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWlzYy9jc3MtYWNjZXB0LWFueS10eXBlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjQ2M2U5ZjU2MmJkZjE3MDgyYTZiNjc0MmU4NjY5N2E0ZmRkMGM5Zi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvY3NzLWFjY2VwdC1hbnktdHlwZS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBz
dHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvc3R5bGVz
aGVldC1iYWQtbWltZS10eXBlLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlk
LgotVGhpcyB3YXMgYSB0ZXN0IGZvciBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTQ1MSBSRUdSRVNTSU9OOiBEZWxsLmNvbSBkb2VzIG5vdCByZW5kZXIgY29ycmVjdGx5
IGluIFRvVCAoc3R5bGVzaGVldCBub3QgbG9hZGVkKTogZ2l2ZW4gdGhlIHNlY3VyaXR5IGltcGxp
Y2F0aW9ucyBvZiBhY2NlcHRpbmcgYmFkIE1JTUUgdHlwZXMsIHdlJ3JlIG5vdyBpbnRlbnRpb25h
bGx5IGJyZWFraW5nIHRoaXMgY2FzZSB0byBtYXRjaCBvdGhlciBicm93c2Vycy4KLQotU1VDQ0VT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1hY2NlcHQtYW55
LXR5cGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0LWFueS10
eXBlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkNjM4NWQ3ZTk4NjgxNjhi
NDg2ZmEzMzU1ZmQ4ZWFiNzcyMzQwMjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1hY2NlcHQtYW55
LXR5cGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHRpdGxlPjwvdGl0bGU+Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJy
ZXNvdXJjZXMvc3R5bGVzaGVldC1iYWQtbWltZS10eXBlLnBocCI+Ci0gICAgPHNjcmlwdD4KLSAg
ICAgICAgZnVuY3Rpb24gdGVzdCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKTsKLSAgICAgICAgICAgIHZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUo
dGFyZ2V0KTsKLSAgICAgICAgICAgIHRhcmdldC5pbm5lclRleHQgPSBzdHlsZS5wb3NpdGlvbiA9
PSAicmVsYXRpdmUiID8gIkZBSUwiIDogIlNVQ0NFU1MiOwotICAgICAgICB9Ci0gICAgPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InRlc3QoKSI+Ci0gICAgPHA+Ci0gICAgICAgIFRo
aXMgd2FzIGEgdGVzdCBmb3IKLSAgICAgICAgPGk+PGEgaHJlZj0iaHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0NTEiPmh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNDUxPC9hPgotICAgICAgICBSRUdSRVNTSU9OOiBEZWxsLmNvbSBkb2VzIG5v
dCByZW5kZXIgY29ycmVjdGx5IGluIFRvVCAoc3R5bGVzaGVldCBub3QgbG9hZGVkKTwvaT46Ci0g
ICAgICAgIGdpdmVuIHRoZSBzZWN1cml0eSBpbXBsaWNhdGlvbnMgb2YgYWNjZXB0aW5nIGJhZCBN
SU1FIHR5cGVzLCB3ZSdyZSBub3cKLSAgICAgICAgaW50ZW50aW9uYWxseSBicmVha2luZyB0aGlz
IGNhc2UgdG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMuCi0gICAgPC9wPgotICAgIDxwIGlkPSJ0YXJn
ZXQiPgotICAgIDwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWlzYy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1tb2RlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtcmVqZWN0LWFueS10eXBl
LWluLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dAppbmRleCBiMjgxOWQzYzIyZjQxYmY0YTZkYjkx
ZDkyMTg1ZjVlOWRjYTg5NGFjLi42ZjZhYTU2M2FlNWRmMWJjZTU4MjVjMjA3YTVjZjA3MWU1NzRh
MGQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3NzLXJlamVjdC1h
bnktdHlwZS1pbi1zdHJpY3QtbW9kZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9taXNjL2Nzcy1yZWplY3QtYW55LXR5cGUtaW4tc3RyaWN0LW1vZGUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxl
c2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNjL3Jlc291cmNlcy9zdHlsZXNoZWV0
LWJhZC1taW1lLXR5cGUucGhwJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitD
T05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4w
LjAuMTo4MDAwL21pc2MvcmVzb3VyY2VzL3N0eWxlc2hlZXQtYmFkLW1pbWUtdHlwZS5waHAnIGJl
Y2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2Rl
LgogUmVsYXRlZCB0ZXN0IHRvIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNDUxIFJFR1JFU1NJT046IERlbGwuY29tIGRvZXMgbm90IHJlbmRlciBjb3JyZWN0bHkgaW4g
VG9UIChzdHlsZXNoZWV0IG5vdCBsb2FkZWQpLiBNYWtpbmcgc3VyZSB0aGF0IGluIHN0cmljdCBt
b2RlIHdlIHdvdWxkIG5vdCBsb2FkIHN1Y2ggYSBzdHlsZXNoZWV0LgogCiBTVUNDRVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3Mt
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtMS1leHBlY3RlZC50eHQKaW5kZXggZTg2ZTQxMWI5N2ZmNDc1NWI1ZGJhZmU4MWJl
ODBkZDQ1Njk4MTg1NS4uNjUyZTUxMTM0YmQxNzg0NjEwOWVhZGJkZGJmY2Q0NWU3OTljMzkyMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
Y3NzLTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy0xLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUg
TUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMS5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2Fz
IGludmFsaWQuCitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAn
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczEuaHRtbCcgYmVjYXVz
ZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuCiAK
IFBBU1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCiBQ
QVNTIHhvcmlnaW5jc3MxLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhIDxsaW5rPi4gCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1jc3MtMi1leHBlY3RlZC50eHQKaW5kZXggNTU5MmQ3MGZhOGNmMWE1YWI3OWFhMWI4
MWE2MmRjMTY4ZmQxOTVhMi4uNjczZjEyNWM3YzMxNzc2Y2EwZjZmZmU5NWJhMjk0MjllZWViYjZm
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4tY3NzLTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy0yLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNP
TEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4x
OjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Nl
Y3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMi5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUg
d2FzIGludmFsaWQuCitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBh
dCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCcgYmVj
YXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUu
CiAKIFBBU1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4g
CiBQQVNTIHhvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVyIHZpYSA8
bGluaz4gb3IgQGltcG9ydC4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQKaW5kZXggY2Ni
Njg4ZmY0YjU2NDExNzI1OGJjY2U1MGQ3M2VlNzU0NzNlM2YyOS4uMTc5Yzg4YTNlMGJlY2U4NTUy
ZDM2ODRiNWEyYzljYzk5ZjA3Y2UyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy00LWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0
IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3Mz
Lmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FH
RTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MzLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3
YXMgaW52YWxpZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLgogCiBQQVNTIFRlc3RpbmcgY3Jv
c3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAogUEFTUyB4b3JpZ2luY3NzMy5o
dG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLCBldmVuIHRob3VnaCBpdCBpcyBzYW1lLW9yaWdpbiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLWNzcy01LWV4cGVjdGVkLnR4dAppbmRleCAxZTkyZThhOTRkMDM2Mzg1ZTNkOWY4
MGRmOGYwN2RkNmM3NTE0OWFiLi4xNjdlYWUxZTI5OWM3OTEyODA4ZjZkYTQwN2ZmNDJmN2U2Mzc3
MzE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtNS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09O
U09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAv
c2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3M0Lmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlw
ZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0
IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1sJyBi
ZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQgYW5kIHdlIGFyZSBpbiBzdHJpY3QgbW9k
ZS4KIAogUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NT
LiAKIFBBU1MgeG9yaWdpbmNzczQuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEgQGltcG9y
dC4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1jc3MtNy1leHBlY3RlZC50eHQKaW5kZXggZjc1ZGM1M2RlZWJiNWIwOTYy
ZWQwNzJlM2E0ZDAxNjQ0YmZjY2EwOC4uOTgxODBlNjYwZTA2NjBmMzE2MTZlMzNkZDUxODM0MmZi
MzcxN2Y0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAK
LUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3M1Lmh0bWwnIGJlY2F1c2Ug
aXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJz
ZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2Vz
L3hvcmlnaW5jc3M1Lmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZCBhbmQg
d2UgYXJlIGluIHN0cmljdCBtb2RlLgogCiBQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2luIGFuZCBN
SU1FIGJlaGF2aW9yIGZvciBDU1MuIAogUEFTUyB4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBub3Qg
YmUgbG9hZGVkLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMzYTdjYTQyMTE1NDVkYmE2NzNiYzQwODcxOWE3NzFkYTc0NWIzM2EK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ09O
U09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAv
c2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MxLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlw
ZSB3YXMgaW52YWxpZCBhbmQgaXQgaXMgY3Jvc3Mtb3JpZ2luLgorCitQQVNTIFRlc3RpbmcgY3Jv
c3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzMS5o
dG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIHZpYSA8bGluaz4uIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1p
bi1xdWlya3MtMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5NjJkZTE5ZjVmMjZlYTg0ZGE0ZGNjOWI0NmUx
NTFhMzA2MDljZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEuaHRtbApAQCAtMCwwICsxLDMzIEBA
Cis8aHRtbD4KKzwhLS0KKyAgICBOb3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQg
aXMgaW50ZW50aW9uYWwuIFRoaXMgdGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8g
aGF2ZSBhbnkgcmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1v
cmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jl
c291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMveG9yaWdpbmNzczEuaHRtbCI+PC9saW5rPgorCis8c2NyaXB0PgorZnVuY3Rpb24g
Z2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZh
bHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0
KCJUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDEnKSwgJ3JnYmEo
MCwgMCwgMCwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczEuaHRtbCBzaG91bGQgbm90IGJlIGxv
YWRlZCB2aWEgJmx0O2xpbmsmZ3Q7LicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9Owor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDEiIGNsYXNzPSJpZDEi
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0yLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTlkMDhjMGRhMWFhZjk5NjQwMmE5ZmZkMDE4
MTA1ZGRkY2I2Y2RkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAn
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCcgYmVjYXVz
ZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkIGFuZCBpdCBpcyBjcm9zcy1vcmlnaW4uCisKK1BB
U1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNT
IHhvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVyIHZpYSA8bGluaz4g
b3IgQGltcG9ydC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0yLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDIzMGVkNzYwZTVhZGYyZDVhNzU5ODQxM2U4ZjRjY2YyZmE5YmEzNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1p
bi1xdWlya3MtMi5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzxodG1sPgorPCEtLQorICAgIE5vdGUg
dGhlIGxhY2sgb2YgZG9jdHlwZSBhYm92ZTogVGhhdCBpcyBpbnRlbnRpb25hbC4gVGhpcyB0ZXN0
CisgICAgTVVTVCBiZSBpbiBxdWlya3MgbW9kZSB0byBoYXZlIGFueSByZWFsIHRlc3RpbmcgcG93
ZXIuCistLT4KKzxoZWFkPgorPHRpdGxlPkNyb3NzLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKwor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL3Jlc291cmNlcy9y
ZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMv
eG9yaWdpbmNzczIuaHRtbCI+PC9saW5rPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91
bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dy
b3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBj
cm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9h
ZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQyJyksICdyZ2JhKDAsIDAsIDAsIDAp
Jyk7CisgICAgfSwgJ3hvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVy
IHZpYSAmbHQ7bGluayZndDsgb3IgQGltcG9ydC4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgp
OworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQyIiBjbGFz
cz0iaWQyIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3Mt
aW4tcXVpcmtzLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZjBkMGJhMDgzYTgwMWZjMjRl
ZTJkNzE2MWViZGYzMWQyNjZhMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2luIGFuZCBNSU1FIGJl
aGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzMS5jc3Mgc2hvdWxkIGJlIGxvYWRlZCB2
aWEgPGxpbms+IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQyMmRjZTM3NjJmMDBmM2NmMzU2NjdmZmEwMTQ4ZTBjYzdlZjlmMTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4t
cXVpcmtzLTMuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzwhLS0KKyAgICBOb3RlIHRo
ZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMgaW50ZW50aW9uYWwuIFRoaXMgdGVzdAor
ICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2ZSBhbnkgcmVhbCB0ZXN0aW5nIHBvd2Vy
LgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlw
dCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIKKyAgICAgIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3QucGhw
P3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3Mx
LmNzcyI+PC9saW5rPgorCis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9y
SWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9y
JykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIGNyb3NzLW9yaWdp
biBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rp
b24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdl
dEJhY2tncm91bmRDb2xvckZvcklkKCdpZDMnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICB9
LCAneG9yaWdpbmNzczEuY3NzIHNob3VsZCBiZSBsb2FkZWQgdmlhICZsdDtsaW5rJmd0OycpOwor
CisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8ZGl2IGlkPSJpZDMiIGNsYXNzPSJpZDMiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
Y3NzLWluLXF1aXJrcy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDVhNmMzMDBhNzQ0MTQyNDdlM2FiMTQwYTQ5MmI1NjRiN2Y3Y2RkZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1p
bi1xdWlya3MtNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdGluZyBj
cm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3Mz
Lmh0bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEgPGxpbms+IAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1x
dWlya3MtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMDhlZmY0OWM2ZWZmMmI3OTMyYTY3NzI4OGZjOTA4
ZGZhZDRmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8
aHRtbD4KKzwhLS0KKyAgICBOb3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMg
aW50ZW50aW9uYWwuIFRoaXMgdGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2
ZSBhbnkgcmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmln
aW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3Vy
Y2VzL3hvcmlnaW5jc3MzLmh0bWwiPjwvbGluaz4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJh
Y2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgn
YmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVz
dGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ0JyksICdyZ2IoMjU1LCAy
NTUsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEg
Jmx0O2xpbmsmZ3Q7Jyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNCIgY2xhc3M9ImlkNCI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMjY3MzAyMDQ5NWZmYmU4MGJhYzQ4NzRkZTdlZjZmMWU1N2My
YWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3
LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4
MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1sJyBiZWNhdXNlIGl0cyBNSU1F
IHR5cGUgd2FzIGludmFsaWQgYW5kIGl0IGlzIGNyb3NzLW9yaWdpbi4KKworUEFTUyBUZXN0aW5n
IGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdpbmNz
czQuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEgQGltcG9ydC4gCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtNS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
Y3NzLWluLXF1aXJrcy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWY0MjU3MjU2ODcxODg2NjQ4NmI5MzQ5
Yjc4YWI5Yzg1MTlkYjgwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNS5odG1sCkBAIC0wLDAgKzEs
MzQgQEAKKzxodG1sPgorPCEtLQorICAgIE5vdGUgdGhlIGxhY2sgb2YgZG9jdHlwZSBhYm92ZTog
VGhhdCBpcyBpbnRlbnRpb25hbC4gVGhpcyB0ZXN0CisgICAgTVVTVCBiZSBpbiBxdWlya3MgbW9k
ZSB0byBoYXZlIGFueSByZWFsIHRlc3RpbmcgcG93ZXIuCistLT4KKzxoZWFkPgorPHRpdGxlPkNy
b3NzLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorQGltcG9ydCAiL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMveG9yaWdpbmNzczQuaHRtbCI7Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJh
Y2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgn
YmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVz
dGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ1JyksICdyZ2JhKDAsIDAs
IDAsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3M0Lmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQg
dmlhIEBpbXBvcnQuJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNSIgY2xhc3M9ImlkNSI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy02LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hMzExMjk4MjFiNTA2NGY4NDhhYTNkYjFkNmU3MTRhYmJjMGQ4
NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
KworUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAK
K1BBU1MgeG9yaWdpbmNzczIuY3NzIHNob3VsZCBiZSBsb2FkZWQuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtz
LTYuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNz
cy1pbi1xdWlya3MtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5NjhhOGJhOGQ0ZDFlNWMzMDNhOGIyY2Vk
MTAwZjcyZWVhZWNiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTYuaHRtbApAQCAtMCwwICsxLDM0
IEBACis8aHRtbD4KKzwhLS0KKyAgICBOb3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRo
YXQgaXMgaW50ZW50aW9uYWwuIFRoaXMgdGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUg
dG8gaGF2ZSBhbnkgcmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9z
cy1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK0BpbXBvcnQgIi9yZXNvdXJjZXMv
cmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2Vz
L3hvcmlnaW5jc3MyLmNzcyI7Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tn
cm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFj
a2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGlu
ZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ2JyksICdyZ2IoMjU1LCAyNTUs
IDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MyLmNzcyBzaG91bGQgYmUgbG9hZGVkLicpOworCisg
ICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8ZGl2IGlkPSJpZDYiIGNsYXNzPSJpZDYiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3Nz
LWluLXF1aXJrcy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDMzM2E4MmE5OTlhYzc5YmYyMjdlM2I5ZGZlZDA2NGNlZTQ2ZDU0NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1x
dWlya3MtNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdGluZyBjcm9z
cy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3M1Lmh0
bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEgQGltcG9ydC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1
aXJrcy03Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NlMzM0NzJiNGVhMGVkZjBkYzQwZjU3YTkwZTkyNmFi
OThkYTZlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzxo
dG1sPgorPCEtLQorICAgIE5vdGUgdGhlIGxhY2sgb2YgZG9jdHlwZSBhYm92ZTogVGhhdCBpcyBp
bnRlbnRpb25hbC4gVGhpcyB0ZXN0CisgICAgTVVTVCBiZSBpbiBxdWlya3MgbW9kZSB0byBoYXZl
IGFueSByZWFsIHRlc3RpbmcgcG93ZXIuCistLT4KKzxoZWFkPgorPHRpdGxlPkNyb3NzLW9yaWdp
biBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorQGltcG9ydCAicmVzb3VyY2VzL3hvcmlnaW5j
c3M1Lmh0bWwiOworPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29s
b3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgY3Jvc3Mt
b3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBm
dW5jdGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNycpLCAncmdiKDI1NSwgMjU1LCAwKScpOwor
ICAgIH0sICd4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBiZSBsb2FkZWQgdmlhIEBpbXBvcnQuJyk7
CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxkaXYgaWQ9ImlkNyIgY2xhc3M9ImlkNyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jc3MtaW4tcXVpcmtzLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NGVjZWFiZDEzYWZjNjIxZjhiOWRjMzVmYWJhYjgyZTU5ZDBhYWRmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3Nz
LWluLXF1aXJrcy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0NoZWNrIHRoYXQgZGF0
YTogaXMgc3RpbGwgYWxsb3dlZCBmb3Igbm9uLUNPUlMgY3Jvc3Mtb3JpZ2luIGltYWdlIGZldGNo
ZXMuCisKK1BBU1MgYmFja2dyb3VuZCBpbWFnZSBsb2FkZWQKKworUEFTUyBUZXN0aW5nIGNyb3Nz
LW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4t
cXVpcmtzLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTI5MDUxNDEzODA3OTA4YzVhM2EzYmQ5ZmZmYzVi
OTljM2MxNTA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAor
PGh0bWw+Cis8IS0tCisgICAgTm90ZSB0aGUgbGFjayBvZiBkb2N0eXBlIGFib3ZlOiBUaGF0IGlz
IGludGVudGlvbmFsLiBUaGlzIHRlc3QKKyAgICBNVVNUIGJlIGluIHF1aXJrcyBtb2RlIHRvIGhh
dmUgYW55IHJlYWwgdGVzdGluZyBwb3dlci4KKy0tPgorPGhlYWQ+Cis8dGl0bGU+Q3Jvc3Mtb3Jp
Z2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CisjZGF0YS1iYWNrZ3JvdW5kLXVybCB7Cisg
ICAgY29udGVudDogIlBBU1MgKGltYWdlIGxvYWRlZCkiOworICAgIGJhY2tncm91bmQ6IHVybCgi
ZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmcnIHdpZHRoPScwcHgnIGhlaWdodD0nMHB4Jz48L3N2Zz4iKTsKK30KKzwvc3R5bGU+Cis8
c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQpIHsKKyAgICByZXR1
cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCBu
dWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30KKwordmFyIG9ubG9h
ZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlv
ciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIG9ubG9h
ZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+Q2hl
Y2sgdGhhdCBkYXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZvciBub24tQ09SUyBjcm9zcy1vcmlnaW4g
aW1hZ2UgZmV0Y2hlcy48L3A+CisgICAgPGRpdiBpZD0iZGF0YS1iYWNrZ3JvdW5kLXVybCI+UEFT
UyBiYWNrZ3JvdW5kIGltYWdlIGxvYWRlZDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2lu
LWNzcy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzhlMDI1NGE3YWYzNDI1YTU2OGUyNDM3
YzJlOTk5YTNlYjBkNDUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNvdXJj
ZXMveG9yaWdpbmNzczEuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkIGFu
ZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuCisKK1BBU1MgVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQg
TUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdpbmNzczEuaHRtbCBzaG91bGQgbm90
IGJlIGxvYWRlZCB2aWEgPGxpbms+LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3YTQ2ZTA0
MWU1OGJmNTQ5ZWIwODM0MjVhYzFjNzZhZWE2OGQ2NzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0xLmh0bWwKQEAgLTAs
MCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUt
b3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9y
ZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3Mx
Lmh0bWwiPjwvbGluaz4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZv
cklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xv
cicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdp
biBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rp
b24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdl
dEJhY2tncm91bmRDb2xvckZvcklkKCdpZDEnKSwgJ3JnYmEoMCwgMCwgMCwgMCknKTsKKyAgICB9
LCAneG9yaWdpbmNzczEuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEgJmx0O2xpbmsmZ3Q7
LicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDEiIGNsYXNzPSJpZDEiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9y
aWdpbi1jc3MtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTRkODc2Y2MyNWQ1
OTI0Yjg0MDNhZDY4Njg0NzUyMWUzNzlhNjJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBh
dCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1
cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdh
cyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuCisKK1BBU1MgVGVzdGluZyBzYW1l
LW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdpbmNzczIuaHRt
bCBzaG91bGQgbm90IGJlIGxvYWRlZCBlaXRoZXIgdmlhIDxsaW5rPiBvciBAaW1wb3J0LiAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1j
c3MtMi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1j
c3MtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhYmYyOWU0MGEzYzRlZmNiMTNkNTgzNDAxMDRmNWMzZmNi
N2JlMzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy0yLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3Jp
cHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMi5odG1sIj48L2xp
bms+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQpIHsKKyAg
ICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30KKwordmFy
IG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJl
aGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAg
dGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENv
bG9yRm9ySWQoJ2lkMicpLCAncmdiYSgwLCAwLCAwLCAwKScpOworICAgIH0sICd4b3JpZ2luY3Nz
Mi5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIGVpdGhlciB2aWEgJmx0O2xpbmsmZ3Q7IG9yIEBp
bXBvcnQuJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkMiIgY2xhc3M9ImlkMiI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Nh
bWUtb3JpZ2luLWNzcy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2YmE3YzI0
ODg1MzE4NTU0ODE4ZWFhZTFhNTIxOWY3ZTIyNjU5NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0zLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJl
aGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzMS5jc3Mgc2hvdWxkIGJlIGxvYWRlZCB2
aWEgPGxpbms+IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJlMmJlZWJmYjI5ZTI1ZTRmNDVl
MjY4MTkzMDI1ZTA1ZjMxMjMwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2FtZS1vcmlnaW4gQ1NTPC90
aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIKKyAgICAgIGhyZWY9Ii9yZXNvdXJj
ZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MxLmNzcyI+
PC9saW5rPgorCis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQp
IHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30K
KwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBN
SU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7
CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dy
b3VuZENvbG9yRm9ySWQoJ2lkMycpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgIH0sICd4b3Jp
Z2luY3NzMS5jc3Mgc2hvdWxkIGJlIGxvYWRlZCB2aWEgJmx0O2xpbmsmZ3Q7Jyk7CisKKyAgICBv
bmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxk
aXYgaWQ9ImlkMyIgY2xhc3M9ImlkMyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlMmQzNzM3ZjAwNjYxNDY5NGFkZmNkMmFm
ZWU2ZTAxZDJkYzg2MWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
KworUEFTUyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAor
UEFTUyB4b3JpZ2luY3NzMy5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLCBldmVuIHRob3VnaCBp
dCBpcyBzYW1lLW9yaWdpbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwMjIxOTc5MjFhZmVk
MjUwMTBlNjhiNDYwZjFkMmE4MTE0NGMzZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWwKQEAgLTAsMCArMSwz
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2lu
IENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNl
cy94b3JpZ2luY3NzMy5odG1sIj48L2xpbms+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNr
Z3JvdW5kQ29sb3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2Jh
Y2tncm91bmQtY29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rp
bmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9u
bG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ0JyksICdyZ2JhKDAsIDAsIDAs
IDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQsIGV2
ZW4gdGhvdWdoIGl0IGlzIHNhbWUtb3JpZ2luJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsK
K307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNCIgY2xhc3M9
ImlkNCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVjZGE3YmE5MjNkYWIwNWUwMWJhMjJmNDFjNzZkYWQyZTVlNzEzYjIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3Jp
Z2luLWNzcy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTog
RGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3Vy
Y2VzL3JlZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1s
JyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQgYW5kIHdlIGFyZSBpbiBzdHJpY3Qg
bW9kZS4KKworUEFTUyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBD
U1MuIAorUEFTUyB4b3JpZ2luY3NzNC5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIHZpYSBAaW1w
b3J0LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtNS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0YjZkYzFhNzUxMjM5NmU5NzdjYjYwNTI1
ZjFmZWE3ZTM5NzBjY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+
CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorCis8c3R5bGU+CitAaW1wb3J0ICIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L3Nl
Y3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1sIjsKKzwvc3R5bGU+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQ
cm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBh
c3luY190ZXN0KCJUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1Mu
Iik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAo
KSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNScp
LCAncmdiYSgwLCAwLCAwLCAwKScpOworICAgIH0sICd4b3JpZ2luY3NzNC5odG1sIHNob3VsZCBu
b3QgYmUgbG9hZGVkIHZpYSBAaW1wb3J0LicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9
OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDUiIGNsYXNzPSJp
ZDUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kMmQ5ZmJlNmZjZjVmZThhMTI4ZGI1N2QyYWU5ODI1ZWJkNWYyZGYwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdp
bi1jc3MtNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdGluZyBzYW1l
LW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdpbmNzczIuY3Nz
IHNob3VsZCBiZSBsb2FkZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTk4NTM0MDJkNTMx
OTVhYWM2NGRkMjJiMDQxY2U1NzFkN2UzMjA5NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTYuaHRtbApAQCAtMCwwICsx
LDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2FtZS1vcmln
aW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK0BpbXBvcnQgIi9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmNzcyI7Cis8L3N0eWxl
PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAg
cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlk
KSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBv
bmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhh
dmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRl
c3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xv
ckZvcklkKCdpZDYnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczIu
Y3NzIHNob3VsZCBiZSBsb2FkZWQuJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNiIgY2xhc3M9ImlkNiI+
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBhYzBhZTI0MGUwYjNmNDUwOWRkNDU3ZjAwYzhhMWE4MjgzZDllYTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNz
cy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5v
dCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVz
b3VyY2VzL3hvcmlnaW5jc3M1Lmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxp
ZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLgorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4g
YW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3M1Lmh0bWwgc2hvdWxk
IG5vdCBiZSBsb2FkZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk5YzRlZDUyOGNlNTI1
ZDk3ZWY2MTczZTQ4ZTlmZmU1MWE0YWJhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTcuaHRtbApAQCAtMCwwICsxLDMx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2FtZS1vcmlnaW4g
Q1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK0BpbXBvcnQgInJlc291cmNlcy94b3JpZ2luY3Nz
NS5odG1sIjsKKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9y
Rm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNv
bG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIHNhbWUtb3Jp
Z2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
Z2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNycpLCAncmdiYSgwLCAwLCAwLCAwKScpOworICAg
IH0sICd4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLicpOworCisgICAgb25s
b2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2
IGlkPSJpZDciIGNsYXNzPSJpZDciPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNz
cy04LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzEyNWJlYjM5YzRhOTFiNDllYmNiMTRlZTYz
MGEzNTMyZWY4OTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitD
aGVjayB0aGF0IGRhdGE6IGlzIHN0aWxsIGFsbG93ZWQgZm9yIG5vbi1DT1JTIGNyb3NzLW9yaWdp
biBpbWFnZSBmZXRjaGVzLgorCitQQVNTIGJhY2tncm91bmQgaW1hZ2UgbG9hZGVkCisKK1BBU1Mg
VGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZlMjFkZThmZWQ1ZTJkZTQ4N2FlZmNmNDM2MTEyY2U4OTdhNWM0ZTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUt
b3JpZ2luLWNzcy04Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3Jj
PSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+
CisjZGF0YS1iYWNrZ3JvdW5kLXVybCB7CisgICAgY29udGVudDogIlBBU1MgKGltYWdlIGxvYWRl
ZCkiOworICAgIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4
bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScwcHgnIGhlaWdodD0nMHB4
Jz48L3N2Zz4iKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3Vu
ZENvbG9yRm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3Jv
dW5kLWNvbG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIHNh
bWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbiAoKSB7CisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5DaGVjayB0aGF0IGRhdGE6IGlzIHN0aWxsIGFsbG93ZWQg
Zm9yIG5vbi1DT1JTIGNyb3NzLW9yaWdpbiBpbWFnZSBmZXRjaGVzLjwvcD4KKyAgICA8ZGl2IGlk
PSJkYXRhLWJhY2tncm91bmQtdXJsIj5QQVNTIGJhY2tncm91bmQgaW1hZ2UgbG9hZGVkPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NhbWUtb3JpZ2luLWNzcy1pbi1xdWlya3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4tcXVpcmtzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMjAzNGZiZjNkMjdjNDNiMTcyNjc2Mzk4NWQ2ZTFmMjlmNGY3NmEz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtaW4tcXVpcmtzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitQQVNT
IGJhY2tncm91bmQgaW1hZ2UgbG9hZGVkCisKK1BBU1MgVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQg
TUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdpbmNzczEuaHRtbCBzaG91bGQgYmUg
bG9hZGVkIHZpYSA8bGluaz4uIAorUEFTUyB4b3JpZ2luY3NzMi5odG1sIHNob3VsZCBiZSBsb2Fk
ZWQgZWl0aGVyIHZpYSA8bGluaz4gb3IgQGltcG9ydC4gCitQQVNTIHhvcmlnaW5jc3MxLmNzcyBz
aG91bGQgYmUgbG9hZGVkIHZpYSA8bGluaz4gCitQQVNTIHhvcmlnaW5jc3MzLmh0bWwgc2hvdWxk
IGJlIGxvYWRlZCAKK1BBU1MgeG9yaWdpbmNzczQuaHRtbCBzaG91bGQgYmUgbG9hZGVkIHZpYSBA
aW1wb3J0LiAKK1BBU1MgeG9yaWdpbmNzczIuY3NzIHNob3VsZCBiZSBsb2FkZWQuIAorUEFTUyB4
b3JpZ2luY3NzNS5odG1sIHNob3VsZCBiZSBsb2FkZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy1pbi1xdWlya3MuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1aXJr
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBlNjUwNjc1YjFjZTJkYzY3OWM4ZTRmYmJiMzE3ZGYyOWM0M2I0
MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Nh
bWUtb3JpZ2luLWNzcy1pbi1xdWlya3MuaHRtbApAQCAtMCwwICsxLDc2IEBACis8aHRtbD4KKzwh
LS0gCisgICAgTm90ZSB0aGUgbGFjayBvZiBkb2N0eXBlIGFib3ZlOiBUaGF0IGlzIGludGVudGlv
bmFsLiBUaGlzIHRlc3QKKyAgICBNVVNUIGJlIGluIHF1aXJrcyBtb2RlIHRvIGhhdmUgYW55IHJl
YWwgdGVzdGluZyBwb3dlci4KKy0tPgorPGhlYWQ+Cis8dGl0bGU+U2FtZS1vcmlnaW4gQ1NTIGlu
IHF1aXJrcyBtb2RlPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIKKyAgICAg
IGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hv
cmlnaW5jc3MxLmh0bWwiPjwvbGluaz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIKKyAgICAgIHR5
cGU9InRleHQvY3NzIgorICAgICAgaHJlZj0iL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9z
ZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCI+PC9saW5rPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IgorICAgICAgaHJlZj0iL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1
cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczEuY3NzIj48L2xpbms+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiCisgICAgICBocmVmPSJyZXNvdXJjZXMveG9yaWdpbmNzczMuaHRtbCI+PC9saW5rPgor
PHN0eWxlPgorLyogRGVsaWJlcmF0ZWx5IHJldXNlIHRoZSBzYW1lIGZpbGUgLyBjbGFzcyAvIGlk
IG9uIHRoaXMgZmlyc3Qgb25lICovCitAaW1wb3J0ICIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91
cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMi5odG1sIjsKK0BpbXBvcnQgIi9yZXNv
dXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3M0Lmh0
bWwiOworQGltcG9ydCAiL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNv
dXJjZXMveG9yaWdpbmNzczIuY3NzIjsKK0BpbXBvcnQgInJlc291cmNlcy94b3JpZ2luY3NzNS5o
dG1sIjsKKworLyogQ2hlY2sgdGhhdCBkYXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZvciBub24tQ09S
UyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0Y2hlcy4gKi8KKyNkYXRhLWJhY2tncm91bmQtdXJsIHsK
KyAgICBjb250ZW50OiAiUEFTUyAoaW1hZ2UgbG9hZGVkKSI7CisgICAgYmFja2dyb3VuZDogdXJs
KCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2Zycgd2lkdGg9JzBweCcgaGVpZ2h0PScwcHgnPjwvc3ZnPiIpOworfQorPC9zdHlsZT4K
KzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQpIHsKKyAg
ICAgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCisgICAg
fQorICAgIHZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBh
bmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
biAoKSB7CisgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQxJyksICdyZ2IoMjU1LCAyNTUsIDApJyk7
CisgICAgICAgIH0sICd4b3JpZ2luY3NzMS5odG1sIHNob3VsZCBiZSBsb2FkZWQgdmlhICZsdDts
aW5rJmd0Oy4nKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDInKSwgJ3JnYigyNTUsIDI1NSwg
MCknKTsKKyAgICAgICAgfSwgJ3hvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIGJlIGxvYWRlZCBlaXRo
ZXIgdmlhICZsdDtsaW5rJmd0OyBvciBAaW1wb3J0LicpOworICAgICAgICB0ZXN0KGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQo
J2lkMycpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczEuY3Nz
IHNob3VsZCBiZSBsb2FkZWQgdmlhICZsdDtsaW5rJmd0OycpOworICAgICAgICB0ZXN0KGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9y
SWQoJ2lkNCcpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczMu
aHRtbCBzaG91bGQgYmUgbG9hZGVkJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ1JyksICdy
Z2IoMjU1LCAyNTUsIDApJyk7CisgICAgICAgIH0sICd4b3JpZ2luY3NzNC5odG1sIHNob3VsZCBi
ZSBsb2FkZWQgdmlhIEBpbXBvcnQuJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ2JyksICdy
Z2IoMjU1LCAyNTUsIDApJyk7CisgICAgICAgIH0sICd4b3JpZ2luY3NzMi5jc3Mgc2hvdWxkIGJl
IGxvYWRlZC4nKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDcnKSwgJ3JnYigyNTUsIDI1NSwg
MCknKTsKKyAgICAgICAgfSwgJ3hvcmlnaW5jc3M1Lmh0bWwgc2hvdWxkIGJlIGxvYWRlZC4nKTsK
KyAgICAgICAgb25sb2FkVGVzdC5kb25lKCk7CisgICAgfTsKKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+CisgICAgPGRpdiBpZD0iaWQxIiBjbGFzcz0iaWQxIj48L2Rpdj4KKyAgICA8ZGl2IGlk
PSJpZDIiIGNsYXNzPSJpZDIiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImlkMyIgY2xhc3M9ImlkMyI+
PC9kaXY+CisgICAgPGRpdiBpZD0iaWQ0IiBjbGFzcz0iaWQ0Ij48L2Rpdj4KKyAgICA8ZGl2IGlk
PSJpZDUiIGNsYXNzPSJpZDUiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImlkNiIgY2xhc3M9ImlkNiI+
PC9kaXY+CisgICAgPGRpdiBpZD0iaWQ3IiBjbGFzcz0iaWQ3Ij48L2Rpdj4KKyAgICA8ZGl2IGlk
PSJpZDgiIGNsYXNzPSJpZDgiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImRhdGEtYmFja2dyb3VuZC11
cmwiPlBBU1MgYmFja2dyb3VuZCBpbWFnZSBsb2FkZWQ8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9odHRwL3Rlc3RzL21pc2MvYWNp
ZDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvbWlz
Yy9hY2lkMy1leHBlY3RlZC50eHQKaW5kZXggNTZiZTY4NDI2MjY5YTU5NzU2NzZhY2E4Y2I2MGZl
NGE4ZDE5NGRmMi4uMTVkNmQzNTQ0MmM2OTE1N2FjM2UwMTU0Y2RkYjRmYjc4NmI4YjU3YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvbWlzYy9hY2lkMy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvbWlz
Yy9hY2lkMy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IERp
ZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvcmVz
b3VyY2VzL2FjaWQzL2VtcHR5LmNzcycgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlk
LgorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9taXNjL3Jlc291cmNlcy9hY2lkMy9lbXB0eS5jc3MnIGJlY2F1c2UgaXRz
IE1JTUUgdHlwZSB3YXMgaW52YWxpZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLgogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiBsYXllciBhdCAoMjAsMjApIHNpemUgNjQ0eDQzMwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257614</attachid>
            <date>2015-07-27 16:56:02 -0700</date>
            <delta_ts>2015-07-28 10:23:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147327-20150727165442.patch</filename>
            <type>text/plain</type>
            <size>59814</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDBiOTIzYWMwYzkyNjgy
MmVkMzY0ZjhlMjkzNmY1YTQ3M2FkYjRkNy4uMjMzNTYzNjY2Zjc0Njk0YzcxZWI1OTc2MDRlZDRh
OTJmZjRjM2QyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE1LTA3LTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlw
ZSBwYXJzaW5nIGZvciBzYW1lLW9yaWdpbiBDU1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIyMDEwMzAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSBjaGFuZ2UgbWFkZSBpbiByMTgwMDIwIGlzIHRvbyBzdHJpY3Qg
Zm9yIHRoZSB3ZWIsIGFuZCBkb2Vzbid0IG1hdGNoIEZpcmVmb3gKKyAgICAgICAgQ2hyb21lLCBv
ciBJRSdzIGJlaGF2aW9yLiBJbiBwYXJ0aWN1bGFyLCBpdCBkb2VzIG5vdCByZXNwZWN0IHRoZSBz
YW1lLW9yaWdpbgorICAgICAgICBjYXJ2ZW91dCB0aGF0IHRoZSBIVE1MIHNwZWMgc3BlY2lmaWVz
OgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRp
Y3MuaHRtbCNsaW5rLXR5cGUtc3R5bGVzaGVldAorCisgICAgICAgIFRoaXMgcGF0Y2ggY29ycmVj
dHMgdGhhdCBvdmVyc2lnaHQgYW5kIGFsaWducyBvdXIgYmVoYXZpb3Igd2l0aCBvdGhlciBwb3B1
bGFyCisgICAgICAgIGJyb3dzZXJzLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHdhcyBhZGFwdGVk
IGZyb20gQmxpbmsgcjE5NjY3ODoKKyAgICAgICAgaHR0cHM6Ly9zcmMuY2hyb21pdW0ub3JnL3Zp
ZXd2Yy9ibGluaz9yZXZpc2lvbj0xOTY2Nzgmdmlldz1yZXZpc2lvbgorCisgICAgICAgIFRlc3Rz
OiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEuaHRtbAor
ICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1
aXJrcy0yLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLWNzcy1pbi1xdWlya3MtMy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01Lmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3Mt
Ni5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtaW4tcXVpcmtzLTcuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTEuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMi5odG1sCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0zLmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTQuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNS5odG1sCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTcuaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy1pbi1xdWlya3MuaHRt
bAorCisgICAgICAgICogY3NzL1N0eWxlUnVsZUltcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJ1bGVJbXBvcnQ6OnNldENTU1N0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9TdHls
ZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldENvbnRlbnRz
OjpwYXJzZUF1dGhvclN0eWxlU2hlZXQpOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVu
dHMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTGlua0VsZW1lbnQ6OnNldENTU1N0eWxlU2hlZXQpOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZENTU1N0eWxlU2hlZXQ6OnNoZWV0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NT
dHlsZVNoZWV0OjpjYW5Vc2VTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NTdHls
ZVNoZWV0OjpjaGVja05vdGlmeSk6IERlbGV0ZWQuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZENTU1N0eWxlU2hlZXQuaDoKKwogMjAxNS0wNy0yNyAgU2FpZCBBYm91LUhhbGxhd2EgIDxz
YWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGhhcHBlbnMgd2hlbiBjYWxs
aW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIgZm9yIGFuIFNWRyBlbGVtZW50IHdoaWNoIGhhcyBhbiBp
bnN0YW5jZSBpbnNpZGUgYSA8ZGVmcz4gZWxlbWVudCBvZiBzaGFkb3cgdHJlZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAppbmRleCAwNjQyYTFkMDQ2ZTZlOWE0YjRlNjk0M2E4
MGQxYzJhZWY3MWY5ZWY0Li5mNTY3OTU2MDE4MWY5ZWZhZmU1YTlmMTMyYTFiMDkxNDQwZmM1MDEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcApAQCAtNzAsOCArNzAsOSBA
QCB2b2lkIFN0eWxlUnVsZUltcG9ydDo6c2V0Q1NTU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGhy
ZWYsIGNvbnN0IFVSTCYgYmFzZVVSTCwgYwogICAgIGlmICghYmFzZVVSTC5pc051bGwoKSkKICAg
ICAgICAgY29udGV4dC5iYXNlVVJMID0gYmFzZVVSTDsKIAorICAgIERvY3VtZW50KiBkb2N1bWVu
dCA9IG1fcGFyZW50U3R5bGVTaGVldCA/IG1fcGFyZW50U3R5bGVTaGVldC0+c2luZ2xlT3duZXJE
b2N1bWVudCgpIDogbnVsbHB0cjsKICAgICBtX3N0eWxlU2hlZXQgPSBTdHlsZVNoZWV0Q29udGVu
dHM6OmNyZWF0ZSh0aGlzLCBocmVmLCBjb250ZXh0KTsKLSAgICBtX3N0eWxlU2hlZXQtPnBhcnNl
QXV0aG9yU3R5bGVTaGVldChjYWNoZWRTdHlsZVNoZWV0KTsKKyAgICBtX3N0eWxlU2hlZXQtPnBh
cnNlQXV0aG9yU3R5bGVTaGVldChjYWNoZWRTdHlsZVNoZWV0LCBkb2N1bWVudCA/IGRvY3VtZW50
LT5zZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cik7CiAKICAgICBtX2xvYWRpbmcgPSBmYWxzZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCAyYjdlNDUx
YzQ3ZGE5NDg0MGQ1YWExMDFlNjk1MjIwMzdkZTdmNTEyLi4xODM0MDMzMGNhOTBiNTU0ZjQ5NzNk
NmM5ZTkxZGJkMjEzZjBmNjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRl
bnRzLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQ
YWdlQ29uc29sZUNsaWVudC5oIgogI2luY2x1ZGUgIlJ1bGVTZXQuaCIKKyNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0
eWxlUnVsZS5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgpAQCAtMjkwLDE2ICsyOTEs
MjIgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBTdHlsZVNoZWV0Q29udGVudHM6OmRldGVybWluZU5h
bWVzcGFjZShjb25zdCBBdG9taWNTdHJpbmcmIHAKICAgICByZXR1cm4gaXQtPnZhbHVlOwogfQog
Ci12b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cGFyc2VBdXRob3JTdHlsZVNoZWV0KGNvbnN0IENh
Y2hlZENTU1N0eWxlU2hlZXQqIGNhY2hlZFN0eWxlU2hlZXQpCit2b2lkIFN0eWxlU2hlZXRDb250
ZW50czo6cGFyc2VBdXRob3JTdHlsZVNoZWV0KGNvbnN0IENhY2hlZENTU1N0eWxlU2hlZXQqIGNh
Y2hlZFN0eWxlU2hlZXQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsK
KyAgICBib29sIGlzU2FtZU9yaWdpblJlcXVlc3QgPSBzZWN1cml0eU9yaWdpbiAmJiBzZWN1cml0
eU9yaWdpbi0+Y2FuUmVxdWVzdChiYXNlVVJMKCkpOworICAgIENhY2hlZENTU1N0eWxlU2hlZXQ6
Ok1JTUVUeXBlQ2hlY2sgbWltZVR5cGVDaGVjayA9IGlzU3RyaWN0UGFyc2VyTW9kZShtX3BhcnNl
ckNvbnRleHQubW9kZSkgfHwgIWlzU2FtZU9yaWdpblJlcXVlc3QgPyBDYWNoZWRDU1NTdHlsZVNo
ZWV0OjpNSU1FVHlwZUNoZWNrOjpTdHJpY3QgOiBDYWNoZWRDU1NTdHlsZVNoZWV0OjpNSU1FVHlw
ZUNoZWNrOjpMYXg7CiAgICAgYm9vbCBoYXNWYWxpZE1JTUVUeXBlID0gdHJ1ZTsKLSAgICBTdHJp
bmcgc2hlZXRUZXh0ID0gY2FjaGVkU3R5bGVTaGVldC0+c2hlZXRUZXh0KCZoYXNWYWxpZE1JTUVU
eXBlKTsKKyAgICBTdHJpbmcgc2hlZXRUZXh0ID0gY2FjaGVkU3R5bGVTaGVldC0+c2hlZXRUZXh0
KG1pbWVUeXBlQ2hlY2ssICZoYXNWYWxpZE1JTUVUeXBlKTsKIAogICAgIGlmICghaGFzVmFsaWRN
SU1FVHlwZSkgewogICAgICAgICBBU1NFUlQoc2hlZXRUZXh0LmlzTnVsbCgpKTsKICAgICAgICAg
aWYgKGF1dG8qIGRvY3VtZW50ID0gc2luZ2xlT3duZXJEb2N1bWVudCgpKSB7Ci0gICAgICAgICAg
ICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCi0gICAgICAgICAgICAgICAgcGFn
ZS0+Y29uc29sZSgpLmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsICJEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJyIgKyBjYWNoZWRTdHls
ZVNoZWV0LT51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGJlY2F1
c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4iKTsKKyAgICAgICAgICAgIGlmIChhdXRvKiBw
YWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkgeworICAgICAgICAgICAgICAgIGlmIChpc1N0cmljdFBh
cnNlck1vZGUobV9wYXJzZXJDb250ZXh0Lm1vZGUpKQorICAgICAgICAgICAgICAgICAgICBwYWdl
LT5jb25zb2xlKCkuYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgIkRpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnIiArIGNhY2hlZFN0eWxl
U2hlZXQtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVz
ZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuIik7
CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwYWdlLT5jb25zb2xl
KCkuYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJv
ciwgIkRpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnIiArIGNhY2hlZFN0eWxlU2hlZXQtPnVy
bCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSBpdHMgTUlN
RSB0eXBlIHdhcyBpbnZhbGlkIGFuZCBpdCBpcyBjcm9zcy1vcmlnaW4uIik7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVNoZWV0Q29udGVudHMuaAppbmRleCBlZDZlZTEzMzY4MTZiZTA1NTI1NDcwOGJjZjcwNmNk
MzYwMDg5ZDFhLi44NjdhZjc0ZGNiN2MwMzU1ZDAyZTU5MDJkZTg5ZmZlMGI0YWNmYTFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5oCkBAIC00MCw2ICs0MCw3IEBAIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFN0eWxlUnVsZUJhc2U7CiBjbGFzcyBT
dHlsZVJ1bGVJbXBvcnQ7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAogY2xhc3MgU3R5bGVTaGVl
dENvbnRlbnRzIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVTaGVldENvbnRlbnRzPiB7CiBwdWJs
aWM6CkBAIC02Miw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
ZGV0ZXJtaW5lTmFtZXNwYWNlKGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4KTsKIAotICAgIHZv
aWQgcGFyc2VBdXRob3JTdHlsZVNoZWV0KGNvbnN0IENhY2hlZENTU1N0eWxlU2hlZXQqKTsKKyAg
ICB2b2lkIHBhcnNlQXV0aG9yU3R5bGVTaGVldChjb25zdCBDYWNoZWRDU1NTdHlsZVNoZWV0Kiwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4qKTsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIHBhcnNlU3Ry
aW5nKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgcGFyc2VTdHJpbmdBdFBvc2l0aW9uKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFRleHRQb3NpdGlvbiYsIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IGU0ZTEyODExYzg0NTEz
MjAzOGQ4N2NmM2JjNmM4NDQ2MzNmMDBlZTEuLjNmNjJmMDY0NDJhN2I0NzNkYTQ1MDIyMDgxNGQz
ZGFjYThiMWViODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAg
LTM0Niw3ICszNDYsNyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6c2V0Q1NTU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IFVSTCYgYmFzZVVSTCwgYwogICAgIG1fc2hlZXQtPnNl
dE1lZGlhUXVlcmllcyhNZWRpYVF1ZXJ5U2V0OjpjcmVhdGVBbGxvd2luZ0Rlc2NyaXB0aW9uU3lu
dGF4KG1fbWVkaWEpKTsKICAgICBtX3NoZWV0LT5zZXRUaXRsZSh0aXRsZSgpKTsKIAotICAgIHN0
eWxlU2hlZXQuZ2V0KCkucGFyc2VBdXRob3JTdHlsZVNoZWV0KGNhY2hlZFN0eWxlU2hlZXQpOwor
ICAgIHN0eWxlU2hlZXQuZ2V0KCkucGFyc2VBdXRob3JTdHlsZVNoZWV0KGNhY2hlZFN0eWxlU2hl
ZXQsIGRvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKSk7CiAKICAgICBtX2xvYWRpbmcgPSBmYWxz
ZTsKICAgICBzdHlsZVNoZWV0LmdldCgpLm5vdGlmeUxvYWRlZFNoZWV0KGNhY2hlZFN0eWxlU2hl
ZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0
eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxl
U2hlZXQuY3BwCmluZGV4IDZkMTE4ODAxYWY4MjY4NDVmYjYxOTkyNzA0NGFmOWIyYjJkMjM2YzQu
Ljc4MzlhNmY1YzExOGJiOWNkM2ZmZDdmY2VmNjYyODBkMDY2NmI0ZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKQEAgLTc4
LDkgKzc4LDkgQEAgU3RyaW5nIENhY2hlZENTU1N0eWxlU2hlZXQ6OmVuY29kaW5nKCkgY29uc3QK
ICAgICByZXR1cm4gbV9kZWNvZGVyLT5lbmNvZGluZygpLm5hbWUoKTsKIH0KICAgICAKLWNvbnN0
IFN0cmluZyBDYWNoZWRDU1NTdHlsZVNoZWV0OjpzaGVldFRleHQoYm9vbCogaGFzVmFsaWRNSU1F
VHlwZSkgY29uc3QKK2NvbnN0IFN0cmluZyBDYWNoZWRDU1NTdHlsZVNoZWV0OjpzaGVldFRleHQo
TUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrLCBib29sKiBoYXNWYWxpZE1JTUVUeXBlKSBjb25z
dAogeyAKLSAgICBpZiAoIW1fZGF0YSB8fCBtX2RhdGEtPmlzRW1wdHkoKSB8fCAhY2FuVXNlU2hl
ZXQoaGFzVmFsaWRNSU1FVHlwZSkpCisgICAgaWYgKCFtX2RhdGEgfHwgbV9kYXRhLT5pc0VtcHR5
KCkgfHwgIWNhblVzZVNoZWV0KG1pbWVUeXBlQ2hlY2ssIGhhc1ZhbGlkTUlNRVR5cGUpKQogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgCiAgICAgaWYgKCFtX2RlY29kZWRTaGVldFRleHQu
aXNOdWxsKCkpCkBAIC0xMTMsMTEgKzExMywxNCBAQCB2b2lkIENhY2hlZENTU1N0eWxlU2hlZXQ6
OmNoZWNrTm90aWZ5KCkKICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChtX3Jlc291cmNlUmVx
dWVzdC51cmwoKSwgbV9yZXNwb25zZS51cmwoKSwgbV9kZWNvZGVyLT5lbmNvZGluZygpLm5hbWUo
KSwgdGhpcyk7CiB9CiAKLWJvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2FuVXNlU2hlZXQoYm9v
bCogaGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKK2Jvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2Fu
VXNlU2hlZXQoTUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrLCBib29sKiBoYXNWYWxpZE1JTUVU
eXBlKSBjb25zdAogewogICAgIGlmIChlcnJvck9jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgIGlmIChtaW1lVHlwZUNoZWNrID09IE1JTUVUeXBlQ2hlY2s6OkxheCkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKICAgICAvLyBUaGlzIGNoZWNrIGV4YWN0bHkgbWF0Y2hlcyBG
aXJlZm94LiAgTm90ZSB0aGF0IHdlIGdyYWIgdGhlIENvbnRlbnQtVHlwZQogICAgIC8vIGhlYWRl
ciBkaXJlY3RseSBiZWNhdXNlIHdlIHdhbnQgdG8gc2VlIHdoYXQgdGhlIHZhbHVlIGlzIEJFRk9S
RSBjb250ZW50CiAgICAgLy8gc25pZmZpbmcuICBGaXJlZm94IGRvZXMgdGhpcyBieSBzZXR0aW5n
IGEgInR5cGUgaGludCIgb24gdGhlIGNoYW5uZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaAppbmRleCBkMGJjZDc0NjA5Y2YxYjBjZmFm
NTNmYzdkMDIzODVlMzhiNTljMTJiLi45MTE3Mjc5MGExYmZkNDU4ZWNjMDU4NjYwZjVmY2Y2Zjlj
ZmJmZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NT
U3R5bGVTaGVldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NT
dHlsZVNoZWV0LmgKQEAgLTQxLDEzICs0MSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIENhY2hlZENTU1N0eWxlU2hlZXQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Ry
aW5nJiBjaGFyc2V0LCBTZXNzaW9uSUQpOwogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRDU1NTdHls
ZVNoZWV0KCk7CiAKLSAgICAgICAgY29uc3QgU3RyaW5nIHNoZWV0VGV4dChib29sKiBoYXNWYWxp
ZE1JTUVUeXBlID0gbnVsbHB0cikgY29uc3Q7CisgICAgICAgIGVudW0gY2xhc3MgTUlNRVR5cGVD
aGVjayB7IFN0cmljdCwgTGF4IH07CisgICAgICAgIGNvbnN0IFN0cmluZyBzaGVldFRleHQoTUlN
RVR5cGVDaGVjayA9IE1JTUVUeXBlQ2hlY2s6OlN0cmljdCwgYm9vbCogaGFzVmFsaWRNSU1FVHlw
ZSA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgICAgIFBhc3NSZWZQdHI8U3R5bGVTaGVldENvbnRl
bnRzPiByZXN0b3JlUGFyc2VkU3R5bGVTaGVldChjb25zdCBDU1NQYXJzZXJDb250ZXh0JiwgQ2Fj
aGVQb2xpY3kpOwogICAgICAgICB2b2lkIHNhdmVQYXJzZWRTdHlsZVNoZWV0KFJlZjxTdHlsZVNo
ZWV0Q29udGVudHM+JiYpOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgYm9vbCBjYW5Vc2VTaGVl
dChib29sKiBoYXNWYWxpZE1JTUVUeXBlKSBjb25zdDsKKyAgICAgICAgYm9vbCBjYW5Vc2VTaGVl
dChNSU1FVHlwZUNoZWNrLCBib29sKiBoYXNWYWxpZE1JTUVUeXBlKSBjb25zdDsKICAgICAgICAg
dmlydHVhbCBib29sIG1heVRyeVJlcGxhY2VFbmNvZGVkRGF0YSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIHRydWU7IH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQ2xpZW50KENhY2hl
ZFJlc291cmNlQ2xpZW50Kikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2NlZmYzOTMwMGZmMzNiODJhNTMz
N2Y2ZTJjYmVlNDE2MjVmYWYwZS4uMzgzMzFkZDM2MGE4M2QwNzhkM2U4ZWRhYThhNTUwYjU0OGVh
NTQzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTA3LTI3ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlwZSBwYXJzaW5nIGZv
ciBzYW1lLW9yaWdpbiBDU1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzIyMDEwMzAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZSBmb3IgTUlNRSB0eXBlIHBhcnNpbmcgZm9yIHNh
bWUtb3JpZ2luIENTUyBpbgorICAgICAgICBxdWlya3MgbW9kZSBhbmQgbm90LgorCisgICAgICAg
ICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvY3NzL2JhZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5
bGVzaGVldC13aXRoLXRleHQtcGxhaW4tYW5kLWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5
bGVzaGVldC13aXRoLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWlzYy9jc3MtYWNjZXB0LWFueS10eXBlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL21pc2MvY3NzLWFjY2VwdC1hbnktdHlwZS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1t
b2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy00LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTctZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMS1l
eHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy0xLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0yLWV4cGVj
dGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtaW4tcXVpcmtzLTMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy00LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy00Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNz
cy1pbi1xdWlya3MtNS1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy01LWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTUuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWlu
LXF1aXJrcy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy02Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy1pbi1xdWlya3MtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTgu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1j
c3MtMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
c2FtZS1vcmlnaW4tY3NzLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9zYW1lLW9yaWdpbi1jc3MtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3Mt
NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2Ft
ZS1vcmlnaW4tY3NzLTQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9zYW1lLW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTYuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy1l
eHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy04Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1aXJrcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1v
cmlnaW4tY3NzLWluLXF1aXJrcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
aHR0cC90ZXN0cy9taXNjL2FjaWQzLWV4cGVjdGVkLnR4dDoKKwogMjAxNS0wNy0yNyAgU2FpZCBB
Ym91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGhh
cHBlbnMgd2hlbiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIgZm9yIGFuIFNWRyBlbGVtZW50
IHdoaWNoIGhhcyBhbiBpbnN0YW5jZSBpbnNpZGUgYSA8ZGVmcz4gZWxlbWVudCBvZiBzaGFkb3cg
dHJlZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY3NzL2Jh
ZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvY3NzL2JhZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0CmluZGV4IGQ3Zjc5NjZhZDJlYjVmMTJm
OGU2YjM2Y2VjNWE5MmVlYjczMmQ0OTguLmZjYTMwMzc3OWFjMjI1MDBiYTY1NDY0YTM5YzUyYzhj
MDFiNTMwZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Nz
cy9iYWQtbWltZS10eXBlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9jc3MvYmFkLW1pbWUtdHlwZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
Ci1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL21pc2MvcmVzb3VyY2VzL3N0eWxlc2hlZXQtYmFkLW1pbWUtdHlwZS5waHAn
IGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlk
IG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNv
dXJjZXMvc3R5bGVzaGVldC1iYWQtbWltZS10eXBlLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBl
IHdhcyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuCiBUZXN0cyB0aGF0IHNob3dp
bmcgV2ViIEluc3BlY3RvciBvbiBhIHBhZ2UgdGhhdCBoYXMgYSBzdHlsZXNoZWV0IHdpdGggYW4g
aW52YWxpZCBNSU1FIHR5cGUgZG9lcyBub3QgY3Jhc2guCiAKIFRoaXMgdGVzdCBwYXNzZXMgaWYg
aXQgZG9lcyBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
bWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1sb2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBsYWlu
LWFuZC1jc3MtZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxh
aW4tYW5kLWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0CmluZGV4IGU0YTUwZTNkMTUzZWFlZjY5
Y2VmMzYwN2UyMGQ3ZDY3MmI4YWE5NzMuLjBmYjZhMDY3MWMwYWYwMDk2YjZkMTA3OWEyYmI5MWZh
ZWVjNmIzMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9zdGFuZGFy
ZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4tYW5kLWNzcy1l
eHRlbnNpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9z
dGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4tYW5k
LWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsMiBAQAotQ09OU09MRSBNRVNT
QUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9t
aW1lL3Jlc291cmNlcy9zdHlsZS13aXRoLXRleHQtcGxhaW4ucGhwL2Zvby5jc3MnIGJlY2F1c2Ug
aXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJz
ZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWltZS9yZXNvdXJjZXMvc3R5
bGUtd2l0aC10ZXh0LXBsYWluLnBocC9mb28uY3NzJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2Fz
IGludmFsaWQgYW5kIHdlIGFyZSBpbiBzdHJpY3QgbW9kZS4KIFRoaXMgdGVzdCBwYXNzZXMgaWYg
d2UgZG8gTk9UIGFwcGx5IHRoZSBzdHlsZXNoZWV0ICh3aGljaCB0dXJucyB0aGUgYmFja2dyb3Vu
ZCBjb2xvciByZWQuKSBUaGUgYmFja2dyb3VuZCBjb2xvciBpczogcmdiYSgwLCAwLCAwLCAwKS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRv
ZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taW1lL3N0YW5kYXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHls
ZXNoZWV0LXdpdGgtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQKaW5kZXggZGRlMzFkNWQ3OTMzNGYw
MjVkYThjZjIyZGJkNThkZmQxYmY4MDZjOC4uMDMzMjBmMDYxNGQ0NzgwMGY5YWE2ODdjNjg1NGEw
ZGEzMTA2MGM1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taW1lL3N0YW5k
YXJkLW1vZGUtZG9lcy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdpdGgtdGV4dC1wbGFpbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taW1lL3N0YW5kYXJkLW1vZGUtZG9l
cy1ub3QtbG9hZC1zdHlsZXNoZWV0LXdpdGgtdGV4dC1wbGFpbi1leHBlY3RlZC50eHQKQEAgLTEs
MiArMSwyIEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAn
aHR0cDovLzEyNy4wLjAuMTo4MDAwL21pbWUvcmVzb3VyY2VzL3N0eWxlLXdpdGgtdGV4dC1wbGFp
bi5waHAnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FH
RTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlt
ZS9yZXNvdXJjZXMvc3R5bGUtd2l0aC10ZXh0LXBsYWluLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0
eXBlIHdhcyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuCiBUaGlzIHRlc3QgcGFz
c2VzIGlmIHdlIGRvIE5PVCBhcHBseSB0aGUgc3R5bGVzaGVldCAod2hpY2ggdHVybnMgdGhlIGJh
Y2tncm91bmQgY29sb3IgcmVkLikgVGhlIGJhY2tncm91bmQgY29sb3IgaXM6IHJnYmEoMCwgMCwg
MCwgMCkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3NzLWFjY2Vw
dC1hbnktdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3Nz
LWFjY2VwdC1hbnktdHlwZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDI0NjNlOWY1NjJiZGYxNzA4MmE2YjY3NDJlODY2OTdhNGZkZDBjOWYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9taXNjL2Nzcy1hY2NlcHQtYW55LXR5cGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBh
dCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvcmVzb3VyY2VzL3N0eWxlc2hlZXQtYmFkLW1p
bWUtdHlwZS5waHAnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KLVRoaXMgd2Fz
IGEgdGVzdCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0NTEg
UkVHUkVTU0lPTjogRGVsbC5jb20gZG9lcyBub3QgcmVuZGVyIGNvcnJlY3RseSBpbiBUb1QgKHN0
eWxlc2hlZXQgbm90IGxvYWRlZCk6IGdpdmVuIHRoZSBzZWN1cml0eSBpbXBsaWNhdGlvbnMgb2Yg
YWNjZXB0aW5nIGJhZCBNSU1FIHR5cGVzLCB3ZSdyZSBub3cgaW50ZW50aW9uYWxseSBicmVha2lu
ZyB0aGlzIGNhc2UgdG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMuCi0KLVNVQ0NFU1MKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0LWFueS10eXBlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3NzLWFjY2VwdC1hbnktdHlwZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDYzODVkN2U5ODY4MTY4YjQ4NmZhMzM1NWZk
OGVhYjc3MjM0MDI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0LWFueS10eXBlLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotICAgIDx0aXRs
ZT48L3RpdGxlPgotICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL3N0
eWxlc2hlZXQtYmFkLW1pbWUtdHlwZS5waHAiPgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGZ1bmN0
aW9uIHRlc3QoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
Iik7Ci0gICAgICAgICAgICB2YXIgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRhcmdldCk7Ci0g
ICAgICAgICAgICB0YXJnZXQuaW5uZXJUZXh0ID0gc3R5bGUucG9zaXRpb24gPT0gInJlbGF0aXZl
IiA/ICJGQUlMIiA6ICJTVUNDRVNTIjsKLSAgICAgICAgfQotICAgIDwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgotICAgIDxwPgotICAgICAgICBUaGlzIHdhcyBhIHRl
c3QgZm9yCi0gICAgICAgIDxpPjxhIGhyZWY9Imh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNDUxIj5odHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTQ1MTwvYT4KLSAgICAgICAgUkVHUkVTU0lPTjogRGVsbC5jb20gZG9lcyBub3QgcmVuZGVyIGNv
cnJlY3RseSBpbiBUb1QgKHN0eWxlc2hlZXQgbm90IGxvYWRlZCk8L2k+OgotICAgICAgICBnaXZl
biB0aGUgc2VjdXJpdHkgaW1wbGljYXRpb25zIG9mIGFjY2VwdGluZyBiYWQgTUlNRSB0eXBlcywg
d2UncmUgbm93Ci0gICAgICAgIGludGVudGlvbmFsbHkgYnJlYWtpbmcgdGhpcyBjYXNlIHRvIG1h
dGNoIG90aGVyIGJyb3dzZXJzLgotICAgIDwvcD4KLSAgICA8cCBpZD0idGFyZ2V0Ij4KLSAgICA8
L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvY3NzLXJlamVjdC1hbnktdHlwZS1pbi1zdHJpY3QtbW9kZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3NzLXJlamVjdC1hbnktdHlwZS1pbi1zdHJpY3Qt
bW9kZS1leHBlY3RlZC50eHQKaW5kZXggYjI4MTlkM2MyMmY0MWJmNGE2ZGI5MWQ5MjE4NWY1ZTlk
Y2E4OTRhYy4uNmY2YWE1NjNhZTVkZjFiY2U1ODI1YzIwN2E1Y2YwNzFlNTc0YTBkOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1yZWplY3QtYW55LXR5cGUtaW4t
c3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvc3R5bGVzaGVldC1iYWQtbWltZS10
eXBlLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorQ09OU09MRSBNRVNT
QUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9t
aXNjL3Jlc291cmNlcy9zdHlsZXNoZWV0LWJhZC1taW1lLXR5cGUucGhwJyBiZWNhdXNlIGl0cyBN
SU1FIHR5cGUgd2FzIGludmFsaWQgYW5kIHdlIGFyZSBpbiBzdHJpY3QgbW9kZS4KIFJlbGF0ZWQg
dGVzdCB0byBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQ1MSBSRUdS
RVNTSU9OOiBEZWxsLmNvbSBkb2VzIG5vdCByZW5kZXIgY29ycmVjdGx5IGluIFRvVCAoc3R5bGVz
aGVldCBub3QgbG9hZGVkKS4gTWFraW5nIHN1cmUgdGhhdCBpbiBzdHJpY3QgbW9kZSB3ZSB3b3Vs
ZCBub3QgbG9hZCBzdWNoIGEgc3R5bGVzaGVldC4KIAogU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTEt
ZXhwZWN0ZWQudHh0CmluZGV4IGU4NmU0MTFiOTdmZjQ3NTViNWRiYWZlODFiZTgwZGQ0NTY5ODE4
NTUuLjY1MmU1MTEzNGJkMTc4NDYxMDllYWRiZGRiZmNkNDVlNzk5YzM5MjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0xLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jc3MtMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IERp
ZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNl
cy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJj
ZXMveG9yaWdpbmNzczEuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgor
Q09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MxLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUg
dHlwZSB3YXMgaW52YWxpZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLgogCiBQQVNTIFRlc3Rp
bmcgY3Jvc3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAogUEFTUyB4b3JpZ2lu
Y3NzMS5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIHZpYSA8bGluaz4uIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3Nz
LTItZXhwZWN0ZWQudHh0CmluZGV4IDU1OTJkNzBmYThjZjFhNWFiNzlhYTFiODFhNjJkYzE2OGZk
MTk1YTIuLjY3M2YxMjVjN2MzMTc3NmNhMGY2ZmZlOTViYTI5NDI5ZWVlYmI2ZjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0yLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtMi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6
IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNv
dXJjZXMveG9yaWdpbmNzczIuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlk
LgorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0
OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmh0bWwnIGJlY2F1c2UgaXRzIE1J
TUUgdHlwZSB3YXMgaW52YWxpZCBhbmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLgogCiBQQVNTIFRl
c3RpbmcgY3Jvc3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAogUEFTUyB4b3Jp
Z2luY3NzMi5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIGVpdGhlciB2aWEgPGxpbms+IG9yIEBp
bXBvcnQuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0CmluZGV4IGNjYjY4OGZmNGI1NjQx
MTcyNThiY2NlNTBkNzNlZTc1NDczZTNmMjkuLjE3OWM4OGEzZTBiZWNlODU1MmQzNjg0YjVhMmM5
Y2M5OWYwN2NlMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy00LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMy5odG1sJyBiZWNh
dXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitDT05TT0xFIE1FU1NBR0U6IERpZCBub3Qg
cGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy94b3JpZ2luY3NzMy5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQg
YW5kIHdlIGFyZSBpbiBzdHJpY3QgbW9kZS4KIAogUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBh
bmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKIFBBU1MgeG9yaWdpbmNzczMuaHRtbCBzaG91bGQg
bm90IGJlIGxvYWRlZCwgZXZlbiB0aG91Z2ggaXQgaXMgc2FtZS1vcmlnaW4gCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtNS1leHBlY3RlZC50eHQKaW5kZXggMWU5MmU4YTk0ZDAzNjM4NWUzZDlmODBkZjhmMDdkZDZj
NzUxNDlhYi4uMTY3ZWFlMWUyOTljNzkxMjgwOGY2ZGE0MDdmZjQyZjdlNjM3NzMxNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLWNzcy01LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FH
RTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jl
c291cmNlcy94b3JpZ2luY3NzNC5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFs
aWQuCitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczQuaHRtbCcgYmVjYXVzZSBpdHMg
TUlNRSB0eXBlIHdhcyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuCiAKIFBBU1Mg
VGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCiBQQVNTIHhv
cmlnaW5jc3M0Lmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhIEBpbXBvcnQuIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4tY3NzLTctZXhwZWN0ZWQudHh0CmluZGV4IGY3NWRjNTNkZWViYjViMDk2MmVkMDcyZTNhNGQw
MTY0NGJmY2NhMDguLjk4MTgwZTY2MGUwNjYwZjMxNjE2ZTMzZGQ1MTgzNDJmYjM3MTdmNDEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNz
cy03LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1jc3MtNy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1F
U1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNS5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5
cGUgd2FzIGludmFsaWQuCitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVl
dCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3Nz
NS5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQgYW5kIHdlIGFyZSBpbiBz
dHJpY3QgbW9kZS4KIAogUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlv
ciBmb3IgQ1NTLiAKIFBBU1MgeG9yaWdpbmNzczUuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZC4g
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jc3MtaW4tcXVpcmtzLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0xLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zM2E3Y2E0MjExNTQ1ZGJhNjczYmM0MDg3MTlhNzcxZGE3NDViMzNhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3Nz
LWluLXF1aXJrcy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FH
RTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jl
c291cmNlcy94b3JpZ2luY3NzMS5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFs
aWQgYW5kIGl0IGlzIGNyb3NzLW9yaWdpbi4KKworUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBh
bmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdpbmNzczEuaHRtbCBzaG91bGQg
bm90IGJlIGxvYWRlZCB2aWEgPGxpbms+LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0xLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wOTYyZGUxOWY1ZjI2ZWE4NGRhNGRjYzliNDZlMTUxYTMwNjA5Y2Qz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4tY3NzLWluLXF1aXJrcy0xLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPGh0bWw+Cis8
IS0tCisgICAgTm90ZSB0aGUgbGFjayBvZiBkb2N0eXBlIGFib3ZlOiBUaGF0IGlzIGludGVudGlv
bmFsLiBUaGlzIHRlc3QKKyAgICBNVVNUIGJlIGluIHF1aXJrcyBtb2RlIHRvIGhhdmUgYW55IHJl
YWwgdGVzdGluZyBwb3dlci4KKy0tPgorPGhlYWQ+Cis8dGl0bGU+Q3Jvc3Mtb3JpZ2luIENTUzwv
dGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hv
cmlnaW5jc3MxLmh0bWwiPjwvbGluaz4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91
bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dy
b3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBj
cm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9h
ZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQxJyksICdyZ2JhKDAsIDAsIDAsIDAp
Jyk7CisgICAgfSwgJ3hvcmlnaW5jc3MxLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhICZs
dDtsaW5rJmd0Oy4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQxIiBjbGFzcz0iaWQxIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjk5ZDA4YzBkYTFhYWY5OTY0MDJhOWZmZDAxODEwNWRkZGNiNmNk
ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
Q09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUg
dHlwZSB3YXMgaW52YWxpZCBhbmQgaXQgaXMgY3Jvc3Mtb3JpZ2luLgorCitQQVNTIFRlc3Rpbmcg
Y3Jvc3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3Nz
Mi5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIGVpdGhlciB2aWEgPGxpbms+IG9yIEBpbXBvcnQu
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtaW4tcXVpcmtzLTIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyMzBlZDc2
MGU1YWRmMmQ1YTc1OTg0MTNlOGY0Y2NmMmZhOWJhMzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTIu
aHRtbApAQCAtMCwwICsxLDMyIEBACis8aHRtbD4KKzwhLS0KKyAgICBOb3RlIHRoZSBsYWNrIG9m
IGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMgaW50ZW50aW9uYWwuIFRoaXMgdGVzdAorICAgIE1VU1Qg
YmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2ZSBhbnkgcmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+Cis8
aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3QucGhw
P3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3My
Lmh0bWwiPjwvbGluaz4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJ
ZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3In
KQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgY3Jvc3Mtb3JpZ2lu
IGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
biAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0
QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkMicpLCAncmdiYSgwLCAwLCAwLCAwKScpOworICAgIH0s
ICd4b3JpZ2luY3NzMi5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIGVpdGhlciB2aWEgJmx0O2xp
bmsmZ3Q7IG9yIEBpbXBvcnQuJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkMiIgY2xhc3M9ImlkMiI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0z
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmYwZDBiYTA4M2E4MDFmYzI0ZWUyZDcxNjFlYmRm
MzFkMjY2YTEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQgQEAKKworUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3Ig
Q1NTLiAKK1BBU1MgeG9yaWdpbmNzczEuY3NzIHNob3VsZCBiZSBsb2FkZWQgdmlhIDxsaW5rPiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4tY3NzLWluLXF1aXJrcy0zLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjJkY2UzNzYy
ZjAwZjNjZjM1NjY3ZmZhMDE0OGUwY2M3ZWY5ZjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0zLmh0
bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+Cis8IS0tCisgICAgTm90ZSB0aGUgbGFjayBvZiBk
b2N0eXBlIGFib3ZlOiBUaGF0IGlzIGludGVudGlvbmFsLiBUaGlzIHRlc3QKKyAgICBNVVNUIGJl
IGluIHF1aXJrcyBtb2RlIHRvIGhhdmUgYW55IHJlYWwgdGVzdGluZyBwb3dlci4KKy0tPgorPGhl
YWQ+Cis8dGl0bGU+Q3Jvc3Mtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8bGluayByZWw9InN0
eWxlc2hlZXQiCisgICAgICBocmVmPSIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDov
L2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMS5jc3MiPjwvbGlu
az4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7Cisg
ICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3Zh
ciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUg
YmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAg
ICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5k
Q29sb3JGb3JJZCgnaWQzJyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5j
c3MxLmNzcyBzaG91bGQgYmUgbG9hZGVkIHZpYSAmbHQ7bGluayZndDsnKTsKKworICAgIG9ubG9h
ZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBp
ZD0iaWQzIiBjbGFzcz0iaWQzIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1YTZjMzAw
YTc0NDE0MjQ3ZTNhYjE0MGE0OTJiNTY0YjdmN2NkZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2lu
IGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzMy5odG1sIHNob3Vs
ZCBiZSBsb2FkZWQgdmlhIDxsaW5rPiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy00Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lZjA4ZWZmNDljNmVmZjJiNzkzMmE2NzcyODhmYzkwOGRmYWQ0ZjczCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tY3NzLWluLXF1aXJrcy00Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPGh0bWw+Cis8IS0t
CisgICAgTm90ZSB0aGUgbGFjayBvZiBkb2N0eXBlIGFib3ZlOiBUaGF0IGlzIGludGVudGlvbmFs
LiBUaGlzIHRlc3QKKyAgICBNVVNUIGJlIGluIHF1aXJrcyBtb2RlIHRvIGhhdmUgYW55IHJlYWwg
dGVzdGluZyBwb3dlci4KKy0tPgorPGhlYWQ+Cis8dGl0bGU+Q3Jvc3Mtb3JpZ2luIENTUzwvdGl0
bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorCis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy94b3JpZ2lu
Y3NzMy5odG1sIj48L2xpbms+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29s
b3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgY3Jvc3Mt
b3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBm
dW5jdGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNCcpLCAncmdiKDI1NSwgMjU1LCAwKScpOwor
ICAgIH0sICd4b3JpZ2luY3NzMy5odG1sIHNob3VsZCBiZSBsb2FkZWQgdmlhICZsdDtsaW5rJmd0
OycpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDQiIGNsYXNzPSJpZDQiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tY3NzLWluLXF1aXJrcy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDI2NzMwMjA0OTVmZmJlODBiYWM0ODc0ZGU3ZWY2ZjFlNTdjMmFmNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy1pbi1xdWlya3MtNS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1F
U1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0
eS9yZXNvdXJjZXMveG9yaWdpbmNzczQuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBp
bnZhbGlkIGFuZCBpdCBpcyBjcm9zcy1vcmlnaW4uCisKK1BBU1MgVGVzdGluZyBjcm9zcy1vcmln
aW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3M0Lmh0bWwgc2hv
dWxkIG5vdCBiZSBsb2FkZWQgdmlhIEBpbXBvcnQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmNDI1NzI1Njg3MTg4NjY0ODZiOTM0OWI3OGFiOWM4NTE5
ZGI4MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTUuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRt
bD4KKzwhLS0KKyAgICBOb3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMgaW50
ZW50aW9uYWwuIFRoaXMgdGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2ZSBh
bnkgcmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmlnaW4g
Q1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK0BpbXBvcnQgIi9yZXNvdXJjZXMvcmVkaXJlY3Qu
cGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5j
c3M0Lmh0bWwiOworPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29s
b3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgY3Jvc3Mt
b3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBm
dW5jdGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNScpLCAncmdiYSgwLCAwLCAwLCAwKScpOwor
ICAgIH0sICd4b3JpZ2luY3NzNC5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIHZpYSBAaW1wb3J0
LicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDUiIGNsYXNzPSJpZDUiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tY3NzLWluLXF1aXJrcy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTMxMTI5ODIxYjUwNjRmODQ4YWEzZGIxZDZlNzE0YWJiYzBkODQ2OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy1pbi1xdWlya3MtNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVz
dGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmln
aW5jc3MyLmNzcyBzaG91bGQgYmUgbG9hZGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy02Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtz
LTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jOTY4YThiYThkNGQxZTVjMzAzYThiMmNlZDEwMGY3MmVlYWVj
YmZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy02Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+
Cis8IS0tCisgICAgTm90ZSB0aGUgbGFjayBvZiBkb2N0eXBlIGFib3ZlOiBUaGF0IGlzIGludGVu
dGlvbmFsLiBUaGlzIHRlc3QKKyAgICBNVVNUIGJlIGluIHF1aXJrcyBtb2RlIHRvIGhhdmUgYW55
IHJlYWwgdGVzdGluZyBwb3dlci4KKy0tPgorPGhlYWQ+Cis8dGl0bGU+Q3Jvc3Mtb3JpZ2luIENT
UzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitAaW1wb3J0ICIvcmVzb3VyY2VzL3JlZGlyZWN0LnBo
cD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3Nz
Mi5jc3MiOworPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3JG
b3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29s
b3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3RpbmcgY3Jvc3Mtb3Jp
Z2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
Z2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNicpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAg
IH0sICd4b3JpZ2luY3NzMi5jc3Mgc2hvdWxkIGJlIGxvYWRlZC4nKTsKKworICAgIG9ubG9hZFRl
c3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0i
aWQ2IiBjbGFzcz0iaWQ2Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3Mt
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtaW4tcXVpcmtzLTctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzMzNhODJhOTk5
YWM3OWJmMjI3ZTNiOWRmZWQwNjRjZWU0NmQ1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2luIGFu
ZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBi
ZSBsb2FkZWQgdmlhIEBpbXBvcnQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTcuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNjZTMzNDcyYjRlYTBlZGYwZGM0MGY1N2E5MGU5MjZhYjk4ZGE2ZTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtaW4tcXVpcmtzLTcuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzwhLS0K
KyAgICBOb3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMgaW50ZW50aW9uYWwu
IFRoaXMgdGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2ZSBhbnkgcmVhbCB0
ZXN0aW5nIHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmlnaW4gQ1NTPC90aXRs
ZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+CisKKzxzdHlsZT4KK0BpbXBvcnQgInJlc291cmNlcy94b3JpZ2luY3NzNS5odG1sIjsK
Kzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQp
IHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30K
KwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQg
TUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkg
eworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tn
cm91bmRDb2xvckZvcklkKCdpZDcnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICB9LCAneG9y
aWdpbmNzczUuaHRtbCBzaG91bGQgYmUgbG9hZGVkIHZpYSBAaW1wb3J0LicpOworCisgICAgb25s
b2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2
IGlkPSJpZDciIGNsYXNzPSJpZDciPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1
aXJrcy04LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRlY2Vh
YmQxM2FmYzYyMWY4YjlkYzM1ZmFiYWI4MmU1OWQwYWFkZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3Mt
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitDaGVjayB0aGF0IGRhdGE6IGlzIHN0aWxs
IGFsbG93ZWQgZm9yIG5vbi1DT1JTIGNyb3NzLW9yaWdpbiBpbWFnZSBmZXRjaGVzLgorCitQQVNT
IGJhY2tncm91bmQgaW1hZ2UgbG9hZGVkCisKK1BBU1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5k
IE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtOC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2UyOTA1MTQxMzgwNzkwOGM1YTNhM2JkOWZmZmM1Yjk5YzNjMTUwNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLWNzcy1pbi1xdWlya3MtOC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzxodG1sPgorPCEt
LQorICAgIE5vdGUgdGhlIGxhY2sgb2YgZG9jdHlwZSBhYm92ZTogVGhhdCBpcyBpbnRlbnRpb25h
bC4gVGhpcyB0ZXN0CisgICAgTVVTVCBiZSBpbiBxdWlya3MgbW9kZSB0byBoYXZlIGFueSByZWFs
IHRlc3RpbmcgcG93ZXIuCistLT4KKzxoZWFkPgorPHRpdGxlPkNyb3NzLW9yaWdpbiBDU1M8L3Rp
dGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKworPHN0eWxlPgorI2RhdGEtYmFja2dyb3VuZC11cmwgeworICAgIGNvbnRlbnQ6
ICJQQVNTIChpbWFnZSBsb2FkZWQpIjsKKyAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2Uv
c3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0
aD0nMHB4JyBoZWlnaHQ9JzBweCc+PC9zdmc+Iik7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1
bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJv
cGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5
bmNfdGVzdCgiVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4i
KTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICBvbmxvYWRUZXN0LmRvbmUo
KTsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPkNoZWNrIHRoYXQgZGF0
YTogaXMgc3RpbGwgYWxsb3dlZCBmb3Igbm9uLUNPUlMgY3Jvc3Mtb3JpZ2luIGltYWdlIGZldGNo
ZXMuPC9wPgorICAgIDxkaXYgaWQ9ImRhdGEtYmFja2dyb3VuZC11cmwiPlBBU1MgYmFja2dyb3Vu
ZCBpbWFnZSBsb2FkZWQ8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2M4ZTAyNTRhN2FmMzQyNWE1NjhlMjQzN2MyZTk5OWEzZWIw
ZDQ1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
c2FtZS1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ09OU09MRSBN
RVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5j
c3MxLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZCBhbmQgd2UgYXJlIGlu
IHN0cmljdCBtb2RlLgorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZp
b3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MxLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQg
dmlhIDxsaW5rPi4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc2FtZS1vcmlnaW4tY3NzLTEuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc2FtZS1vcmlnaW4tY3NzLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zN2E0NmUwNDFlNThiZjU0OWVi
MDgzNDI1YWMxYzc2YWVhNjhkNjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS5odG1sCkBAIC0wLDAgKzEsMzAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8
L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMS5odG1sIj48L2xp
bms+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZChpZCkgewor
ICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKQorfQorCit2
YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUg
YmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAg
ICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5k
Q29sb3JGb3JJZCgnaWQxJyksICdyZ2JhKDAsIDAsIDAsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5j
c3MxLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhICZsdDtsaW5rJmd0Oy4nKTsKKworICAg
IG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAg
PGRpdiBpZD0iaWQxIiBjbGFzcz0iaWQxIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdp
bi1jc3MtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE0ZDg3NmNjMjVkNTkyNGI4NDAzYWQ2
ODY4NDc1MjFlMzc5YTYyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3Vy
Y2VzL3hvcmlnaW5jc3MyLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZCBh
bmQgd2UgYXJlIGluIHN0cmljdCBtb2RlLgorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5k
IE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5v
dCBiZSBsb2FkZWQgZWl0aGVyIHZpYSA8bGluaz4gb3IgQGltcG9ydC4gCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYWJmMjllNDBhM2M0ZWZjYjEzZDU4MzQwMTA0ZjVjM2ZjYjdiZTM1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdp
bi1jc3MtMi5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/
dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCI+PC9saW5rPgorPHNjcmlw
dD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCku
Z2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0
ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3Ig
Q1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rp
b24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdp
ZDInKSwgJ3JnYmEoMCwgMCwgMCwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczIuaHRtbCBzaG91
bGQgbm90IGJlIGxvYWRlZCBlaXRoZXIgdmlhICZsdDtsaW5rJmd0OyBvciBAaW1wb3J0LicpOwor
CisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8ZGl2IGlkPSJpZDIiIGNsYXNzPSJpZDIiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1j
c3MtMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUt
b3JpZ2luLWNzcy0zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmJhN2MyNDg4NTMxODU1NDgx
OGVhYWUxYTUyMTlmN2UyMjY1OTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACisKK1BBU1MgVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3Ig
Q1NTLiAKK1BBU1MgeG9yaWdpbmNzczEuY3NzIHNob3VsZCBiZSBsb2FkZWQgdmlhIDxsaW5rPiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdp
bi1jc3MtMy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdp
bi1jc3MtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiZTJiZWViZmIyOWUyNWU0ZjQ1ZTI2ODE5MzAyNWUw
NWYzMTIzMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbWUtb3JpZ2luLWNzcy0zLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
Cis8bGluayByZWw9InN0eWxlc2hlZXQiCisgICAgICBocmVmPSIvcmVzb3VyY2VzL3JlZGlyZWN0
LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMS5jc3MiPjwvbGluaz4KKwor
PHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0
dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwg
bnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxv
YWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlv
ciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3Qo
ZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZv
cklkKCdpZDMnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczEuY3Nz
IHNob3VsZCBiZSBsb2FkZWQgdmlhICZsdDtsaW5rJmd0OycpOworCisgICAgb25sb2FkVGVzdC5k
b25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDMi
IGNsYXNzPSJpZDMiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44ZTJkMzczN2YwMDY2MTQ2OTRhZGZjZDJhZmVlNmUwMWQyZGM4
NjFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVz
dGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdp
bmNzczMuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCwgZXZlbiB0aG91Z2ggaXQgaXMgc2FtZS1v
cmlnaW4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2Ft
ZS1vcmlnaW4tY3NzLTQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2Ft
ZS1vcmlnaW4tY3NzLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDIyMTk3OTIxYWZlZDI1MDEwZTY4YjQ2
MGYxZDJhODExNDRjM2U0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8L3RpdGxl
PgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMveG9yaWdpbmNz
czMuaHRtbCI+PC9saW5rPgorCis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9y
Rm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNv
bG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIHNhbWUtb3Jp
Z2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
Z2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNCcpLCAncmdiYSgwLCAwLCAwLCAwKScpOworICAg
IH0sICd4b3JpZ2luY3NzMy5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLCBldmVuIHRob3VnaCBp
dCBpcyBzYW1lLW9yaWdpbicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDQiIGNsYXNzPSJpZDQiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41Y2RhN2JhOTIzZGFiMDVlMDFiYTIyZjQxYzc2ZGFkMmU1ZTcxM2IyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFy
c2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVj
dC5waHA/dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczQuaHRtbCcgYmVjYXVzZSBp
dHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkIGFuZCB3ZSBhcmUgaW4gc3RyaWN0IG1vZGUuCisKK1BB
U1MgVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1Mg
eG9yaWdpbmNzczQuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEgQGltcG9ydC4gCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3Nz
LTUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3Nz
LTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNGI2ZGMxYTc1MTIzOTZlOTc3Y2I2MDUyNWYxZmVhN2UzOTcw
Y2NhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtNS5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0
IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0
eWxlPgorQGltcG9ydCAiL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNv
dXJjZXMveG9yaWdpbmNzczQuaHRtbCI7Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdl
dEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1
ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgi
VGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDUnKSwgJ3JnYmEoMCwg
MCwgMCwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczQuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRl
ZCB2aWEgQGltcG9ydC4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQ1IiBjbGFzcz0iaWQ1Ij48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc2FtZS1vcmlnaW4tY3NzLTYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDJkOWZiZTZmY2Y1ZmU4YTEyOGRiNTdkMmFlOTgyNWViZDVmMmRmMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTYtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5k
IE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MyLmNzcyBzaG91bGQgYmUg
bG9hZGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtNi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5ODUzNDAyZDUzMTk1YWFjNjRkZDIy
YjA0MWNlNTcxZDdlMzIwOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0
bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorCis8c3R5bGU+CitAaW1wb3J0ICIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9
L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMi5jc3MiOworPC9zdHlsZT4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdl
dFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9
IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENT
Uy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ2
JyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MyLmNzcyBzaG91bGQg
YmUgbG9hZGVkLicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDYiIGNsYXNzPSJpZDYiPjwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zYW1lLW9yaWdpbi1jc3MtNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWMw
YWUyNDBlMGIzZjQ1MDlkZDQ1N2YwMGM4YTFhODI4M2Q5ZWE2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5
bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3Jp
Z2luY3NzNS5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQgYW5kIHdlIGFy
ZSBpbiBzdHJpY3QgbW9kZS4KKworUEFTUyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJl
aGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBub3QgYmUgbG9h
ZGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtNy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5OWM0ZWQ1MjhjZTUyNWQ5N2VmNjE3M2U0
OGU5ZmZlNTFhNGFiYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+
CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorCis8c3R5bGU+CitAaW1wb3J0ICJyZXNvdXJjZXMveG9yaWdpbmNzczUuaHRtbCI7Cis8
L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7
CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisK
K3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlN
RSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewor
ICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91
bmRDb2xvckZvcklkKCdpZDcnKSwgJ3JnYmEoMCwgMCwgMCwgMCknKTsKKyAgICB9LCAneG9yaWdp
bmNzczUuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZC4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9u
ZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQ3IiBj
bGFzcz0iaWQ3Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDcxMjViZWIzOWM0YTkxYjQ5ZWJjYjE0ZWU2MzBhMzUzMmVmODk5
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2Ft
ZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorQ2hlY2sgdGhhdCBk
YXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZvciBub24tQ09SUyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0
Y2hlcy4KKworUEFTUyBiYWNrZ3JvdW5kIGltYWdlIGxvYWRlZAorCitQQVNTIFRlc3Rpbmcgc2Ft
ZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTguaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ZTIxZGU4ZmVkNWUyZGU0ODdhZWZjZjQzNjExMmNlODk3YTVjNGU3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3Mt
OC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorI2RhdGEtYmFj
a2dyb3VuZC11cmwgeworICAgIGNvbnRlbnQ6ICJQQVNTIChpbWFnZSBsb2FkZWQpIjsKKyAgICBi
YWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMHB4JyBoZWlnaHQ9JzBweCc+PC9zdmc+Iik7
Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklk
KGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicp
Cit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBh
bmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24g
KCkgeworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPHA+Q2hlY2sgdGhhdCBkYXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZvciBub24tQ09S
UyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0Y2hlcy48L3A+CisgICAgPGRpdiBpZD0iZGF0YS1iYWNr
Z3JvdW5kLXVybCI+UEFTUyBiYWNrZ3JvdW5kIGltYWdlIGxvYWRlZDwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1l
LW9yaWdpbi1jc3MtaW4tcXVpcmtzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1aXJrcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDIwMzRmYmYzZDI3YzQzYjE3MjY3NjM5ODVkNmUxZjI5ZjRmNzZhMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3Nz
LWluLXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorUEFTUyBiYWNrZ3JvdW5k
IGltYWdlIGxvYWRlZAorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZp
b3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MxLmh0bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEg
PGxpbms+LiAKK1BBU1MgeG9yaWdpbmNzczIuaHRtbCBzaG91bGQgYmUgbG9hZGVkIGVpdGhlciB2
aWEgPGxpbms+IG9yIEBpbXBvcnQuIAorUEFTUyB4b3JpZ2luY3NzMS5jc3Mgc2hvdWxkIGJlIGxv
YWRlZCB2aWEgPGxpbms+IAorUEFTUyB4b3JpZ2luY3NzMy5odG1sIHNob3VsZCBiZSBsb2FkZWQg
CitQQVNTIHhvcmlnaW5jc3M0Lmh0bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEgQGltcG9ydC4gCitQ
QVNTIHhvcmlnaW5jc3MyLmNzcyBzaG91bGQgYmUgbG9hZGVkLiAKK1BBU1MgeG9yaWdpbmNzczUu
aHRtbCBzaG91bGQgYmUgbG9hZGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4tcXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy1pbi1xdWlya3MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wZTY1MDY3NWIxY2UyZGM2NzljOGU0ZmJiYjMxN2RmMjljNDNiNDA2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1j
c3MtaW4tcXVpcmtzLmh0bWwKQEAgLTAsMCArMSw3NiBAQAorPGh0bWw+Cis8IS0tIAorICAgIE5v
dGUgdGhlIGxhY2sgb2YgZG9jdHlwZSBhYm92ZTogVGhhdCBpcyBpbnRlbnRpb25hbC4gVGhpcyB0
ZXN0CisgICAgTVVTVCBiZSBpbiBxdWlya3MgbW9kZSB0byBoYXZlIGFueSByZWFsIHRlc3Rpbmcg
cG93ZXIuCistLT4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3JpZ2luIENTUyBpbiBxdWlya3MgbW9k
ZTwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorCis8bGluayByZWw9InN0eWxlc2hlZXQiCisgICAgICBocmVmPSIvcmVz
b3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMS5o
dG1sIj48L2xpbms+Cis8bGluayByZWw9InN0eWxlc2hlZXQiCisgICAgICB0eXBlPSJ0ZXh0L2Nz
cyIKKyAgICAgIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVz
b3VyY2VzL3hvcmlnaW5jc3MyLmh0bWwiPjwvbGluaz4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIK
KyAgICAgIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3Vy
Y2VzL3hvcmlnaW5jc3MxLmNzcyI+PC9saW5rPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IgorICAg
ICAgaHJlZj0icmVzb3VyY2VzL3hvcmlnaW5jc3MzLmh0bWwiPjwvbGluaz4KKzxzdHlsZT4KKy8q
IERlbGliZXJhdGVseSByZXVzZSB0aGUgc2FtZSBmaWxlIC8gY2xhc3MgLyBpZCBvbiB0aGlzIGZp
cnN0IG9uZSAqLworQGltcG9ydCAiL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0
eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCI7CitAaW1wb3J0ICIvcmVzb3VyY2VzL3JlZGly
ZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1sIjsKK0BpbXBv
cnQgIi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmln
aW5jc3MyLmNzcyI7CitAaW1wb3J0ICJyZXNvdXJjZXMveG9yaWdpbmNzczUuaHRtbCI7CisKKy8q
IENoZWNrIHRoYXQgZGF0YTogaXMgc3RpbGwgYWxsb3dlZCBmb3Igbm9uLUNPUlMgY3Jvc3Mtb3Jp
Z2luIGltYWdlIGZldGNoZXMuICovCisjZGF0YS1iYWNrZ3JvdW5kLXVybCB7CisgICAgY29udGVu
dDogIlBBU1MgKGltYWdlIGxvYWRlZCkiOworICAgIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFn
ZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdp
ZHRoPScwcHgnIGhlaWdodD0nMHB4Jz48L3N2Zz4iKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0Pgor
ICAgIGZ1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgICAgIHJldHVy
biB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51
bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKQorICAgIH0KKyAgICB2YXIg
b25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVo
YXZpb3IgZm9yIENTUy4iKTsKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAg
ICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFj
a2dyb3VuZENvbG9yRm9ySWQoJ2lkMScpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9
LCAneG9yaWdpbmNzczEuaHRtbCBzaG91bGQgYmUgbG9hZGVkIHZpYSAmbHQ7bGluayZndDsuJyk7
CisgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhn
ZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQyJyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAg
ICAgIH0sICd4b3JpZ2luY3NzMi5odG1sIHNob3VsZCBiZSBsb2FkZWQgZWl0aGVyIHZpYSAmbHQ7
bGluayZndDsgb3IgQGltcG9ydC4nKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDMnKSwgJ3Jn
YigyNTUsIDI1NSwgMCknKTsKKyAgICAgICAgfSwgJ3hvcmlnaW5jc3MxLmNzcyBzaG91bGQgYmUg
bG9hZGVkIHZpYSAmbHQ7bGluayZndDsnKTsKKyAgICAgICAgdGVzdChmdW5jdGlvbiAoKSB7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDQnKSwg
J3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICAgICAgfSwgJ3hvcmlnaW5jc3MzLmh0bWwgc2hvdWxk
IGJlIGxvYWRlZCcpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNScpLCAncmdiKDI1NSwgMjU1
LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczQuaHRtbCBzaG91bGQgYmUgbG9hZGVkIHZp
YSBAaW1wb3J0LicpOworICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNicpLCAncmdiKDI1NSwgMjU1
LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczIuY3NzIHNob3VsZCBiZSBsb2FkZWQuJyk7
CisgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhn
ZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ3JyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAg
ICAgIH0sICd4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBiZSBsb2FkZWQuJyk7CisgICAgICAgIG9u
bG9hZFRlc3QuZG9uZSgpOworICAgIH07Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9ImlkMSIgY2xhc3M9ImlkMSI+PC9kaXY+CisgICAgPGRpdiBpZD0iaWQyIiBjbGFz
cz0iaWQyIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJpZDMiIGNsYXNzPSJpZDMiPjwvZGl2PgorICAg
IDxkaXYgaWQ9ImlkNCIgY2xhc3M9ImlkNCI+PC9kaXY+CisgICAgPGRpdiBpZD0iaWQ1IiBjbGFz
cz0iaWQ1Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJpZDYiIGNsYXNzPSJpZDYiPjwvZGl2PgorICAg
IDxkaXYgaWQ9ImlkNyIgY2xhc3M9ImlkNyI+PC9kaXY+CisgICAgPGRpdiBpZD0iaWQ4IiBjbGFz
cz0iaWQ4Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJkYXRhLWJhY2tncm91bmQtdXJsIj5QQVNTIGJh
Y2tncm91bmQgaW1hZ2UgbG9hZGVkPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaHR0cC90ZXN0cy9taXNjL2FjaWQzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9odHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhw
ZWN0ZWQudHh0CmluZGV4IDU2YmU2ODQyNjI2OWE1OTc1Njc2YWNhOGNiNjBmZTRhOGQxOTRkZjIu
LjE1ZDZkMzU0NDJjNjkxNTdhYzNlMDE1NGNkZGI0ZmI3ODZiOGI1N2IgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9odHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9odHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNl
IHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNjL3Jlc291cmNlcy9hY2lk
My9lbXB0eS5jc3MnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUg
TUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgw
MDAvbWlzYy9yZXNvdXJjZXMvYWNpZDMvZW1wdHkuY3NzJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUg
d2FzIGludmFsaWQgYW5kIHdlIGFyZSBpbiBzdHJpY3QgbW9kZS4KIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQg
KDIwLDIwKSBzaXplIDY0NHg0MzMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257654</attachid>
            <date>2015-07-28 10:23:59 -0700</date>
            <delta_ts>2015-07-28 10:25:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147327-20150728102238.patch</filename>
            <type>text/plain</type>
            <size>59722</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0ZWM0ZDgwZGFjOWFm
ZDRjNGZlNjY0NDA5MzgzZGIwOTc5NTdhYS4uNzY2ZWViYWQzNWYxNzQyYjQ3ODM1MzBiMTYyNjY1
NWM1MGVhMjZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE1LTA3LTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlw
ZSBwYXJzaW5nIGZvciBzYW1lLW9yaWdpbiBDU1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIyMDEwMzAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRh
cy4KKworICAgICAgICBUaGUgY2hhbmdlIG1hZGUgaW4gcjE4MDAyMCBpcyB0b28gc3RyaWN0IGZv
ciB0aGUgd2ViLCBhbmQgZG9lc24ndCBtYXRjaCBGaXJlZm94CisgICAgICAgIENocm9tZSwgb3Ig
SUUncyBiZWhhdmlvci4gSW4gcGFydGljdWxhciwgaXQgZG9lcyBub3QgcmVzcGVjdCB0aGUgc2Ft
ZS1vcmlnaW4KKyAgICAgICAgY2FydmVvdXQgdGhhdCB0aGUgSFRNTCBzcGVjIHNwZWNpZmllczoK
KyAgICAgICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNz
Lmh0bWwjbGluay10eXBlLXN0eWxlc2hlZXQKKworICAgICAgICBUaGlzIHBhdGNoIGNvcnJlY3Rz
IHRoYXQgb3ZlcnNpZ2h0IGFuZCBhbGlnbnMgb3VyIGJlaGF2aW9yIHdpdGggb3RoZXIgcG9wdWxh
cgorICAgICAgICBicm93c2Vycy4KKworICAgICAgICBUaGlzIGNoYW5nZSB3YXMgYWRhcHRlZCBm
cm9tIEJsaW5rIHIxOTY2Nzg6CisgICAgICAgIGh0dHBzOi8vc3JjLmNocm9taXVtLm9yZy92aWV3
dmMvYmxpbms/cmV2aXNpb249MTk2Njc4JnZpZXc9cmV2aXNpb24KKworICAgICAgICBUZXN0czog
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0xLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtMi5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jc3MtaW4tcXVpcmtzLTMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy00Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNS5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTYu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3Nz
LWluLXF1aXJrcy03Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtOC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0xLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy5odG1sCisgICAgICAgICAgICAgICBodHRw
L3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNi5odG1sCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTguaHRtbAorICAgICAgICAg
ICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4tcXVpcmtzLmh0bWwK
KworICAgICAgICAqIGNzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlSW1wb3J0OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cGFyc2VBdXRob3JTdHlsZVNoZWV0KToKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRz
Lmg6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTExpbmtFbGVtZW50OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAgKiBsb2FkZXIv
Y2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRD
U1NTdHlsZVNoZWV0OjpzaGVldFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkQ1NTU3R5
bGVTaGVldDo6Y2FuVXNlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkQ1NTU3R5bGVT
aGVldDo6Y2hlY2tOb3RpZnkpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRDU1NTdHlsZVNoZWV0Lmg6CisKIDIwMTUtMDctMjggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CiAKICAgICAgICAgUm9sbGluZyBvdXQgcjE4NzQ2MywgYmVjYXVzZSBpdCBj
YXVzZWQgbWVtb3J5IGNvcnJ1cHRpb24gb24gbXVsdGlwbGUgdGVzdHMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGVJbXBvcnQuY3BwCmluZGV4IDA2NDJhMWQwNDZlNmU5YTRiNGU2OTQzYTgwZDFj
MmFlZjcxZjllZjQuLmY1Njc5NTYwMTgxZjllZmFmZTVhOWYxMzJhMWIwOTE0NDBmYzUwMTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCkBAIC03MCw4ICs3MCw5IEBAIHZv
aWQgU3R5bGVSdWxlSW1wb3J0OjpzZXRDU1NTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwg
Y29uc3QgVVJMJiBiYXNlVVJMLCBjCiAgICAgaWYgKCFiYXNlVVJMLmlzTnVsbCgpKQogICAgICAg
ICBjb250ZXh0LmJhc2VVUkwgPSBiYXNlVVJMOwogCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
bV9wYXJlbnRTdHlsZVNoZWV0ID8gbV9wYXJlbnRTdHlsZVNoZWV0LT5zaW5nbGVPd25lckRvY3Vt
ZW50KCkgOiBudWxscHRyOwogICAgIG1fc3R5bGVTaGVldCA9IFN0eWxlU2hlZXRDb250ZW50czo6
Y3JlYXRlKHRoaXMsIGhyZWYsIGNvbnRleHQpOwotICAgIG1fc3R5bGVTaGVldC0+cGFyc2VBdXRo
b3JTdHlsZVNoZWV0KGNhY2hlZFN0eWxlU2hlZXQpOworICAgIG1fc3R5bGVTaGVldC0+cGFyc2VB
dXRob3JTdHlsZVNoZWV0KGNhY2hlZFN0eWxlU2hlZXQsIGRvY3VtZW50ID8gZG9jdW1lbnQtPnNl
Y3VyaXR5T3JpZ2luKCkgOiBudWxscHRyKTsKIAogICAgIG1fbG9hZGluZyA9IGZhbHNlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDJiN2U0NTFjNDdk
YTk0ODQwZDVhYTEwMWU2OTUyMjAzN2RlN2Y1MTIuLjYwYzVkMzk2NmVjZjdkYTIzYjQ3NTNlZTVi
MzA1NzQxNWQzOWVjYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMu
Y3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VD
b25zb2xlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUnVsZVNldC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCiAjaW5jbHVkZSAiU3R5bGVS
dWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlSW1wb3J0LmgiCkBAIC0yOTAsMTYgKzI5MSwyMiBA
QCBjb25zdCBBdG9taWNTdHJpbmcmIFN0eWxlU2hlZXRDb250ZW50czo6ZGV0ZXJtaW5lTmFtZXNw
YWNlKGNvbnN0IEF0b21pY1N0cmluZyYgcAogICAgIHJldHVybiBpdC0+dmFsdWU7CiB9CiAKLXZv
aWQgU3R5bGVTaGVldENvbnRlbnRzOjpwYXJzZUF1dGhvclN0eWxlU2hlZXQoY29uc3QgQ2FjaGVk
Q1NTU3R5bGVTaGVldCogY2FjaGVkU3R5bGVTaGVldCkKK3ZvaWQgU3R5bGVTaGVldENvbnRlbnRz
OjpwYXJzZUF1dGhvclN0eWxlU2hlZXQoY29uc3QgQ2FjaGVkQ1NTU3R5bGVTaGVldCogY2FjaGVk
U3R5bGVTaGVldCwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKQogeworICAg
IGJvb2wgaXNTYW1lT3JpZ2luUmVxdWVzdCA9IHNlY3VyaXR5T3JpZ2luICYmIHNlY3VyaXR5T3Jp
Z2luLT5jYW5SZXF1ZXN0KGJhc2VVUkwoKSk7CisgICAgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6TUlN
RVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrID0gaXNTdHJpY3RQYXJzZXJNb2RlKG1fcGFyc2VyQ29u
dGV4dC5tb2RlKSB8fCAhaXNTYW1lT3JpZ2luUmVxdWVzdCA/IENhY2hlZENTU1N0eWxlU2hlZXQ6
Ok1JTUVUeXBlQ2hlY2s6OlN0cmljdCA6IENhY2hlZENTU1N0eWxlU2hlZXQ6Ok1JTUVUeXBlQ2hl
Y2s6OkxheDsKICAgICBib29sIGhhc1ZhbGlkTUlNRVR5cGUgPSB0cnVlOwotICAgIFN0cmluZyBz
aGVldFRleHQgPSBjYWNoZWRTdHlsZVNoZWV0LT5zaGVldFRleHQoJmhhc1ZhbGlkTUlNRVR5cGUp
OworICAgIFN0cmluZyBzaGVldFRleHQgPSBjYWNoZWRTdHlsZVNoZWV0LT5zaGVldFRleHQobWlt
ZVR5cGVDaGVjaywgJmhhc1ZhbGlkTUlNRVR5cGUpOwogCiAgICAgaWYgKCFoYXNWYWxpZE1JTUVU
eXBlKSB7CiAgICAgICAgIEFTU0VSVChzaGVldFRleHQuaXNOdWxsKCkpOwogICAgICAgICBpZiAo
YXV0byogZG9jdW1lbnQgPSBzaW5nbGVPd25lckRvY3VtZW50KCkpIHsKLSAgICAgICAgICAgIGlm
IChhdXRvKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKLSAgICAgICAgICAgICAgICBwYWdlLT5j
b25zb2xlKCkuYWRkTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVs
OjpFcnJvciwgIkRpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnIiArIGNhY2hlZFN0eWxlU2hl
ZXQtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSBp
dHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLiIpOworICAgICAgICAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBkb2N1bWVudC0+cGFnZSgpKSB7CisgICAgICAgICAgICAgICAgaWYgKGlzU3RyaWN0UGFyc2Vy
TW9kZShtX3BhcnNlckNvbnRleHQubW9kZSkpCisgICAgICAgICAgICAgICAgICAgIHBhZ2UtPmNv
bnNvbGUoKS5hZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6
OkVycm9yLCAiRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICciICsgY2FjaGVkU3R5bGVTaGVl
dC0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkgKyAiJyBiZWNhdXNlIG5v
biBDU1MgTUlNRSB0eXBlcyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUuIik7CisgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwYWdlLT5jb25zb2xlKCkuYWRk
TWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpFcnJvciwgIkRp
ZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnIiArIGNhY2hlZFN0eWxlU2hlZXQtPnVybCgpLnN0
cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0aCgpICsgIicgYmVjYXVzZSBub24gQ1NTIE1JTUUg
dHlwZXMgYXJlIG5vdCBhbGxvd2VkIGZvciBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldHMuIik7Cisg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuaAppbmRleCBlZDZlZTEzMzY4MTZiZTA1NTI1NDcw
OGJjZjcwNmNkMzYwMDg5ZDFhLi44NjdhZjc0ZGNiN2MwMzU1ZDAyZTU5MDJkZTg5ZmZlMGI0YWNm
YTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5oCkBAIC00MCw2ICs0
MCw3IEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFN0eWxlUnVsZUJhc2U7
CiBjbGFzcyBTdHlsZVJ1bGVJbXBvcnQ7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAogY2xhc3Mg
U3R5bGVTaGVldENvbnRlbnRzIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVTaGVldENvbnRlbnRz
PiB7CiBwdWJsaWM6CkBAIC02Miw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEF0b21p
Y1N0cmluZyYgZGV0ZXJtaW5lTmFtZXNwYWNlKGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4KTsK
IAotICAgIHZvaWQgcGFyc2VBdXRob3JTdHlsZVNoZWV0KGNvbnN0IENhY2hlZENTU1N0eWxlU2hl
ZXQqKTsKKyAgICB2b2lkIHBhcnNlQXV0aG9yU3R5bGVTaGVldChjb25zdCBDYWNoZWRDU1NTdHls
ZVNoZWV0KiwgY29uc3QgU2VjdXJpdHlPcmlnaW4qKTsKICAgICBXRUJDT1JFX0VYUE9SVCBib29s
IHBhcnNlU3RyaW5nKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgcGFyc2VTdHJpbmdBdFBvc2l0
aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IFRleHRQb3NpdGlvbiYsIGJvb2wgY3JlYXRlZEJ5UGFy
c2VyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IGU0ZTEy
ODExYzg0NTEzMjAzOGQ4N2NmM2JjNmM4NDQ2MzNmMDBlZTEuLjNmNjJmMDY0NDJhN2I0NzNkYTQ1
MDIyMDgxNGQzZGFjYThiMWViODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TExpbmtFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVu
dC5jcHAKQEAgLTM0Niw3ICszNDYsNyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6c2V0Q1NTU3R5
bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IFVSTCYgYmFzZVVSTCwgYwogICAgIG1f
c2hlZXQtPnNldE1lZGlhUXVlcmllcyhNZWRpYVF1ZXJ5U2V0OjpjcmVhdGVBbGxvd2luZ0Rlc2Ny
aXB0aW9uU3ludGF4KG1fbWVkaWEpKTsKICAgICBtX3NoZWV0LT5zZXRUaXRsZSh0aXRsZSgpKTsK
IAotICAgIHN0eWxlU2hlZXQuZ2V0KCkucGFyc2VBdXRob3JTdHlsZVNoZWV0KGNhY2hlZFN0eWxl
U2hlZXQpOworICAgIHN0eWxlU2hlZXQuZ2V0KCkucGFyc2VBdXRob3JTdHlsZVNoZWV0KGNhY2hl
ZFN0eWxlU2hlZXQsIGRvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKSk7CiAKICAgICBtX2xvYWRp
bmcgPSBmYWxzZTsKICAgICBzdHlsZVNoZWV0LmdldCgpLm5vdGlmeUxvYWRlZFNoZWV0KGNhY2hl
ZFN0eWxlU2hlZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZENTU1N0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZENTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDZkMTE4ODAxYWY4MjY4NDVmYjYxOTkyNzA0NGFmOWIy
YjJkMjM2YzQuLjc4MzlhNmY1YzExOGJiOWNkM2ZmZDdmY2VmNjYyODBkMDY2NmI0ZWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5j
cHAKQEAgLTc4LDkgKzc4LDkgQEAgU3RyaW5nIENhY2hlZENTU1N0eWxlU2hlZXQ6OmVuY29kaW5n
KCkgY29uc3QKICAgICByZXR1cm4gbV9kZWNvZGVyLT5lbmNvZGluZygpLm5hbWUoKTsKIH0KICAg
ICAKLWNvbnN0IFN0cmluZyBDYWNoZWRDU1NTdHlsZVNoZWV0OjpzaGVldFRleHQoYm9vbCogaGFz
VmFsaWRNSU1FVHlwZSkgY29uc3QKK2NvbnN0IFN0cmluZyBDYWNoZWRDU1NTdHlsZVNoZWV0Ojpz
aGVldFRleHQoTUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrLCBib29sKiBoYXNWYWxpZE1JTUVU
eXBlKSBjb25zdAogeyAKLSAgICBpZiAoIW1fZGF0YSB8fCBtX2RhdGEtPmlzRW1wdHkoKSB8fCAh
Y2FuVXNlU2hlZXQoaGFzVmFsaWRNSU1FVHlwZSkpCisgICAgaWYgKCFtX2RhdGEgfHwgbV9kYXRh
LT5pc0VtcHR5KCkgfHwgIWNhblVzZVNoZWV0KG1pbWVUeXBlQ2hlY2ssIGhhc1ZhbGlkTUlNRVR5
cGUpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgCiAgICAgaWYgKCFtX2RlY29kZWRT
aGVldFRleHQuaXNOdWxsKCkpCkBAIC0xMTMsMTEgKzExMywxNCBAQCB2b2lkIENhY2hlZENTU1N0
eWxlU2hlZXQ6OmNoZWNrTm90aWZ5KCkKICAgICAgICAgYy0+c2V0Q1NTU3R5bGVTaGVldChtX3Jl
c291cmNlUmVxdWVzdC51cmwoKSwgbV9yZXNwb25zZS51cmwoKSwgbV9kZWNvZGVyLT5lbmNvZGlu
ZygpLm5hbWUoKSwgdGhpcyk7CiB9CiAKLWJvb2wgQ2FjaGVkQ1NTU3R5bGVTaGVldDo6Y2FuVXNl
U2hlZXQoYm9vbCogaGFzVmFsaWRNSU1FVHlwZSkgY29uc3QKK2Jvb2wgQ2FjaGVkQ1NTU3R5bGVT
aGVldDo6Y2FuVXNlU2hlZXQoTUlNRVR5cGVDaGVjayBtaW1lVHlwZUNoZWNrLCBib29sKiBoYXNW
YWxpZE1JTUVUeXBlKSBjb25zdAogewogICAgIGlmIChlcnJvck9jY3VycmVkKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtaW1lVHlwZUNoZWNrID09IE1JTUVUeXBlQ2hlY2s6
OkxheCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICAvLyBUaGlzIGNoZWNrIGV4YWN0bHkg
bWF0Y2hlcyBGaXJlZm94LiAgTm90ZSB0aGF0IHdlIGdyYWIgdGhlIENvbnRlbnQtVHlwZQogICAg
IC8vIGhlYWRlciBkaXJlY3RseSBiZWNhdXNlIHdlIHdhbnQgdG8gc2VlIHdoYXQgdGhlIHZhbHVl
IGlzIEJFRk9SRSBjb250ZW50CiAgICAgLy8gc25pZmZpbmcuICBGaXJlZm94IGRvZXMgdGhpcyBi
eSBzZXR0aW5nIGEgInR5cGUgaGludCIgb24gdGhlIGNoYW5uZWwuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaAppbmRleCBkMGJjZDc0NjA5
Y2YxYjBjZmFmNTNmYzdkMDIzODVlMzhiNTljMTJiLi45MTE3Mjc5MGExYmZkNDU4ZWNjMDU4NjYw
ZjVmY2Y2ZjljZmJmZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkQ1NTU3R5bGVTaGVldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRDU1NTdHlsZVNoZWV0LmgKQEAgLTQxLDEzICs0MSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIENhY2hlZENTU1N0eWxlU2hlZXQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgU3RyaW5nJiBjaGFyc2V0LCBTZXNzaW9uSUQpOwogICAgICAgICB2aXJ0dWFsIH5DYWNo
ZWRDU1NTdHlsZVNoZWV0KCk7CiAKLSAgICAgICAgY29uc3QgU3RyaW5nIHNoZWV0VGV4dChib29s
KiBoYXNWYWxpZE1JTUVUeXBlID0gbnVsbHB0cikgY29uc3Q7CisgICAgICAgIGVudW0gY2xhc3Mg
TUlNRVR5cGVDaGVjayB7IFN0cmljdCwgTGF4IH07CisgICAgICAgIGNvbnN0IFN0cmluZyBzaGVl
dFRleHQoTUlNRVR5cGVDaGVjayA9IE1JTUVUeXBlQ2hlY2s6OlN0cmljdCwgYm9vbCogaGFzVmFs
aWRNSU1FVHlwZSA9IG51bGxwdHIpIGNvbnN0OwogCiAgICAgICAgIFBhc3NSZWZQdHI8U3R5bGVT
aGVldENvbnRlbnRzPiByZXN0b3JlUGFyc2VkU3R5bGVTaGVldChjb25zdCBDU1NQYXJzZXJDb250
ZXh0JiwgQ2FjaGVQb2xpY3kpOwogICAgICAgICB2b2lkIHNhdmVQYXJzZWRTdHlsZVNoZWV0KFJl
ZjxTdHlsZVNoZWV0Q29udGVudHM+JiYpOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgYm9vbCBj
YW5Vc2VTaGVldChib29sKiBoYXNWYWxpZE1JTUVUeXBlKSBjb25zdDsKKyAgICAgICAgYm9vbCBj
YW5Vc2VTaGVldChNSU1FVHlwZUNoZWNrLCBib29sKiBoYXNWYWxpZE1JTUVUeXBlKSBjb25zdDsK
ICAgICAgICAgdmlydHVhbCBib29sIG1heVRyeVJlcGxhY2VFbmNvZGVkRGF0YSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkQ2xp
ZW50KENhY2hlZFJlc291cmNlQ2xpZW50Kikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2ViMzFlYWNjNDFi
YmZkOTNhMDdiNzZhMmI2M2E3MTkzMmY1YmJjNy4uNTViN2VkYjQ5YmFmZTE3ZTA3MmJmYWY4Y2Yx
NjFmMWQ0MTg2NzFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTA3LTI4ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbGF4IE1JTUUgdHlwZSBw
YXJzaW5nIGZvciBzYW1lLW9yaWdpbiBDU1MgaW4gcXVpcmtzIG1vZGUuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMjcKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIyMDEwMzAzPgorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4K
KworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UgZm9yIE1JTUUgdHlwZSBwYXJzaW5n
IGZvciBzYW1lLW9yaWdpbiBDU1MgaW4KKyAgICAgICAgcXVpcmtzIG1vZGUgYW5kIG5vdC4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2Nzcy9iYWQtbWltZS10eXBlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1s
b2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBsYWluLWFuZC1jc3MtZXh0ZW5zaW9uLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1s
b2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBsYWluLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvY3NzLWFjY2VwdC1hbnktdHlwZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2Nzcy1hY2NlcHQtYW55LXR5cGUuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvY3NzLXJlamVjdC1hbnktdHlwZS1pbi1z
dHJpY3QtbW9kZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVp
cmtzLTEtZXhwZWN0ZWQudHh0OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtMS1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0xLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3Mt
Mi1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3Mtb3JpZ2luLWNzcy0yLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0zLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tY3NzLWluLXF1aXJrcy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi1jc3MtaW4tcXVpcmtzLTUtZXhwZWN0ZWQudHh0OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy1pbi1xdWlya3MtNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1jc3MtaW4tcXVpcmtzLTcuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1
aXJrcy04Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1v
cmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0yLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNz
cy0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmln
aW4tY3NzLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTctZXhwZWN0ZWQudHh0OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNy1leHBlY3RlZC50eHQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy04LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy1pbi1x
dWlya3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy1pbi1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2h0dHAvdGVzdHMvbWlzYy9hY2lkMy1leHBlY3RlZC50eHQ6CisKIDIwMTUtMDctMjgg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUm9sbGluZyBv
dXQgcjE4NzQ2MywgYmVjYXVzZSBpdCBjYXVzZWQgbWVtb3J5IGNvcnJ1cHRpb24gb24gbXVsdGlw
bGUgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
c3MvYmFkLW1pbWUtdHlwZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jc3MvYmFkLW1pbWUtdHlwZS1leHBlY3RlZC50eHQKaW5kZXggZDdmNzk2NmFkMmVi
NWYxMmY4ZTZiMzZjZWM1YTkyZWViNzMyZDQ5OC4uZjYwM2I4ZThjN2E3ODgzZTQ3MTU2YzJmZTk2
MDQ5NGIwY2VjZTk4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvY3NzL2JhZC1taW1lLXR5cGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2Nzcy9iYWQtbWltZS10eXBlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvc3R5bGVzaGVldC1iYWQtbWltZS10eXBl
LnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorQ09OU09MRSBNRVNTQUdF
OiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNj
L3Jlc291cmNlcy9zdHlsZXNoZWV0LWJhZC1taW1lLXR5cGUucGhwJyBiZWNhdXNlIG5vbiBDU1Mg
TUlNRSB0eXBlcyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUuCiBUZXN0cyB0aGF0IHNo
b3dpbmcgV2ViIEluc3BlY3RvciBvbiBhIHBhZ2UgdGhhdCBoYXMgYSBzdHlsZXNoZWV0IHdpdGgg
YW4gaW52YWxpZCBNSU1FIHR5cGUgZG9lcyBub3QgY3Jhc2guCiAKIFRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lcyBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pbWUvc3RhbmRhcmQtbW9kZS1kb2VzLW5vdC1sb2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBs
YWluLWFuZC1jc3MtZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQt
cGxhaW4tYW5kLWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0CmluZGV4IGU0YTUwZTNkMTUzZWFl
ZjY5Y2VmMzYwN2UyMGQ3ZDY3MmI4YWE5NzMuLjBiYmMwY2Q5MWRhNTA4OTAyYjI3MTIxZDMxMDQx
ZjliN2Y3NjMxZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9zdGFu
ZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4tYW5kLWNz
cy1leHRlbnNpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlt
ZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4t
YW5kLWNzcy1leHRlbnNpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsMiBAQAotQ09OU09MRSBN
RVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9taW1lL3Jlc291cmNlcy9zdHlsZS13aXRoLXRleHQtcGxhaW4ucGhwL2Zvby5jc3MnIGJlY2F1
c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBw
YXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWltZS9yZXNvdXJjZXMv
c3R5bGUtd2l0aC10ZXh0LXBsYWluLnBocC9mb28uY3NzJyBiZWNhdXNlIG5vbiBDU1MgTUlNRSB0
eXBlcyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUuCiBUaGlzIHRlc3QgcGFzc2VzIGlm
IHdlIGRvIE5PVCBhcHBseSB0aGUgc3R5bGVzaGVldCAod2hpY2ggdHVybnMgdGhlIGJhY2tncm91
bmQgY29sb3IgcmVkLikgVGhlIGJhY2tncm91bmQgY29sb3IgaXM6IHJnYmEoMCwgMCwgMCwgMCku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pbWUvc3RhbmRhcmQtbW9kZS1k
b2VzLW5vdC1sb2FkLXN0eWxlc2hlZXQtd2l0aC10ZXh0LXBsYWluLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5
bGVzaGVldC13aXRoLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0CmluZGV4IGRkZTMxZDVkNzkzMzRm
MDI1ZGE4Y2YyMmRiZDU4ZGZkMWJmODA2YzguLmY5OTVlYmFiMTIyNGJmNmMwYjU0ZWVkMmE1NzBl
ZTYxZTY2Njk3MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9zdGFu
ZGFyZC1tb2RlLWRvZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4tZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWRv
ZXMtbm90LWxvYWQtc3R5bGVzaGVldC13aXRoLXRleHQtcGxhaW4tZXhwZWN0ZWQudHh0CkBAIC0x
LDIgKzEsMiBAQAotQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQg
J2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taW1lL3Jlc291cmNlcy9zdHlsZS13aXRoLXRleHQtcGxh
aW4ucGhwJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitDT05TT0xFIE1FU1NB
R0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL21p
bWUvcmVzb3VyY2VzL3N0eWxlLXdpdGgtdGV4dC1wbGFpbi5waHAnIGJlY2F1c2Ugbm9uIENTUyBN
SU1FIHR5cGVzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS4KIFRoaXMgdGVzdCBwYXNz
ZXMgaWYgd2UgZG8gTk9UIGFwcGx5IHRoZSBzdHlsZXNoZWV0ICh3aGljaCB0dXJucyB0aGUgYmFj
a2dyb3VuZCBjb2xvciByZWQuKSBUaGUgYmFja2dyb3VuZCBjb2xvciBpczogcmdiYSgwLCAwLCAw
LCAwKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0
LWFueS10eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3Mt
YWNjZXB0LWFueS10eXBlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjQ2M2U5ZjU2MmJkZjE3MDgyYTZiNjc0MmU4NjY5N2E0ZmRkMGM5Zi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvY3NzLWFjY2VwdC1hbnktdHlwZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0
ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvc3R5bGVzaGVldC1iYWQtbWlt
ZS10eXBlLnBocCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgotVGhpcyB3YXMg
YSB0ZXN0IGZvciBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQ1MSBS
RUdSRVNTSU9OOiBEZWxsLmNvbSBkb2VzIG5vdCByZW5kZXIgY29ycmVjdGx5IGluIFRvVCAoc3R5
bGVzaGVldCBub3QgbG9hZGVkKTogZ2l2ZW4gdGhlIHNlY3VyaXR5IGltcGxpY2F0aW9ucyBvZiBh
Y2NlcHRpbmcgYmFkIE1JTUUgdHlwZXMsIHdlJ3JlIG5vdyBpbnRlbnRpb25hbGx5IGJyZWFraW5n
IHRoaXMgY2FzZSB0byBtYXRjaCBvdGhlciBicm93c2Vycy4KLQotU1VDQ0VTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1hY2NlcHQtYW55LXR5cGUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtYWNjZXB0LWFueS10eXBlLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkNjM4NWQ3ZTk4NjgxNjhiNDg2ZmEzMzU1ZmQ4
ZWFiNzcyMzQwMjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Nzcy1hY2NlcHQtYW55LXR5cGUuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci0gICAgPHRpdGxl
PjwvdGl0bGU+Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvc3R5
bGVzaGVldC1iYWQtbWltZS10eXBlLnBocCI+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZnVuY3Rp
b24gdGVzdCgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQi
KTsKLSAgICAgICAgICAgIHZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KTsKLSAg
ICAgICAgICAgIHRhcmdldC5pbm5lclRleHQgPSBzdHlsZS5wb3NpdGlvbiA9PSAicmVsYXRpdmUi
ID8gIkZBSUwiIDogIlNVQ0NFU1MiOwotICAgICAgICB9Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBvbmxvYWQ9InRlc3QoKSI+Ci0gICAgPHA+Ci0gICAgICAgIFRoaXMgd2FzIGEgdGVz
dCBmb3IKLSAgICAgICAgPGk+PGEgaHJlZj0iaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE0NTEiPmh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
NDUxPC9hPgotICAgICAgICBSRUdSRVNTSU9OOiBEZWxsLmNvbSBkb2VzIG5vdCByZW5kZXIgY29y
cmVjdGx5IGluIFRvVCAoc3R5bGVzaGVldCBub3QgbG9hZGVkKTwvaT46Ci0gICAgICAgIGdpdmVu
IHRoZSBzZWN1cml0eSBpbXBsaWNhdGlvbnMgb2YgYWNjZXB0aW5nIGJhZCBNSU1FIHR5cGVzLCB3
ZSdyZSBub3cKLSAgICAgICAgaW50ZW50aW9uYWxseSBicmVha2luZyB0aGlzIGNhc2UgdG8gbWF0
Y2ggb3RoZXIgYnJvd3NlcnMuCi0gICAgPC9wPgotICAgIDxwIGlkPSJ0YXJnZXQiPgotICAgIDwv
cD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jc3MtcmVqZWN0LWFueS10eXBlLWluLXN0cmljdC1t
b2RlLWV4cGVjdGVkLnR4dAppbmRleCBiMjgxOWQzYzIyZjQxYmY0YTZkYjkxZDkyMTg1ZjVlOWRj
YTg5NGFjLi41ZWJmNGJjODk5ZGQ0Y2NhODYzM2EwNjU4ODEwOWJjM2U0MDlhNDc2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY3NzLXJlamVjdC1hbnktdHlwZS1pbi1z
dHJpY3QtbW9kZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNj
L2Nzcy1yZWplY3QtYW55LXR5cGUtaW4tc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNjL3Jlc291cmNlcy9zdHlsZXNoZWV0LWJhZC1taW1lLXR5
cGUucGhwJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitDT05TT0xFIE1FU1NB
R0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL21p
c2MvcmVzb3VyY2VzL3N0eWxlc2hlZXQtYmFkLW1pbWUtdHlwZS5waHAnIGJlY2F1c2Ugbm9uIENT
UyBNSU1FIHR5cGVzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS4KIFJlbGF0ZWQgdGVz
dCB0byBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQ1MSBSRUdSRVNT
SU9OOiBEZWxsLmNvbSBkb2VzIG5vdCByZW5kZXIgY29ycmVjdGx5IGluIFRvVCAoc3R5bGVzaGVl
dCBub3QgbG9hZGVkKS4gTWFraW5nIHN1cmUgdGhhdCBpbiBzdHJpY3QgbW9kZSB3ZSB3b3VsZCBu
b3QgbG9hZCBzdWNoIGEgc3R5bGVzaGVldC4KIAogU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTEtZXhw
ZWN0ZWQudHh0CmluZGV4IGU4NmU0MTFiOTdmZjQ3NTViNWRiYWZlODFiZTgwZGQ0NTY5ODE4NTUu
LjFiY2JjMGE2OTBiZWJhYWMyNjZlMmNhNGVmYjU3MmM5MzBmYTMwNjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0xLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBu
b3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9y
ZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMv
eG9yaWdpbmNzczEuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZhbGlkLgorQ09O
U09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAv
c2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MxLmh0bWwnIGJlY2F1c2Ugbm9uIENTUyBNSU1F
IHR5cGVzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS4KIAogUEFTUyBUZXN0aW5nIGNy
b3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKIFBBU1MgeG9yaWdpbmNzczEu
aHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEgPGxpbms+LiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy0yLWV4
cGVjdGVkLnR4dAppbmRleCA1NTkyZDcwZmE4Y2YxYTVhYjc5YWExYjgxYTYyZGMxNjhmZDE5NWEy
Li45MDI3OGUwNTgxNzhjYWE0N2IzMDhlNTZmODczOTk3ZTQ5M2Y3NWM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtMi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
Y3NzLTItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBEaWQg
bm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMv
cmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2Vz
L3hvcmlnaW5jc3MyLmh0bWwnIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NP
TlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAu
MC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzMi5odG1sJyBiZWNhdXNlIG5vbiBDU1MgTUlN
RSB0eXBlcyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUuCiAKIFBBU1MgVGVzdGluZyBj
cm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCiBQQVNTIHhvcmlnaW5jc3My
Lmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVyIHZpYSA8bGluaz4gb3IgQGltcG9ydC4g
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jc3MtNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQKaW5kZXggY2NiNjg4ZmY0YjU2NDExNzI1OGJj
Y2U1MGQ3M2VlNzU0NzNlM2YyOS4uYTg4ZDUwMzdiZjI4NzJiYzYyODdhMDFkNTJhMzdhODQ3Y2Ix
ZGU3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy00LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNP
TlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MzLmh0bWwnIGJlY2F1c2UgaXRz
IE1JTUUgdHlwZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBz
dHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hv
cmlnaW5jc3MzLmh0bWwnIGJlY2F1c2Ugbm9uIENTUyBNSU1FIHR5cGVzIGFyZSBub3QgYWxsb3dl
ZCBpbiBzdHJpY3QgbW9kZS4KIAogUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBi
ZWhhdmlvciBmb3IgQ1NTLiAKIFBBU1MgeG9yaWdpbmNzczMuaHRtbCBzaG91bGQgbm90IGJlIGxv
YWRlZCwgZXZlbiB0aG91Z2ggaXQgaXMgc2FtZS1vcmlnaW4gCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNS1leHBl
Y3RlZC50eHQKaW5kZXggMWU5MmU4YTk0ZDAzNjM4NWUzZDlmODBkZjhmMDdkZDZjNzUxNDlhYi4u
ZmFhMGRmMjI1MGFhOWNkYTdhNWNmNzJkNTg5MDg1NjBiMDIxMmNiMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNz
cy01LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogRGlkIG5v
dCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94
b3JpZ2luY3NzNC5odG1sJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgd2FzIGludmFsaWQuCitDT05T
T0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9z
ZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczQuaHRtbCcgYmVjYXVzZSBub24gQ1NTIE1JTUUg
dHlwZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlLgogCiBQQVNTIFRlc3RpbmcgY3Jv
c3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAogUEFTUyB4b3JpZ2luY3NzNC5o
dG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIHZpYSBAaW1wb3J0LiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy03LWV4
cGVjdGVkLnR4dAppbmRleCBmNzVkYzUzZGVlYmI1YjA5NjJlZDA3MmUzYTRkMDE2NDRiZmNjYTA4
Li5lM2NlNzhhZWRmYzBmYTYzYzQ3ZTFhN2I1M2JlN2YyMTNhOGUyNWE0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtNy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
Y3NzLTctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBEaWQg
bm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9y
ZXNvdXJjZXMveG9yaWdpbmNzczUuaHRtbCcgYmVjYXVzZSBpdHMgTUlNRSB0eXBlIHdhcyBpbnZh
bGlkLgorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczUuaHRtbCcgYmVj
YXVzZSBub24gQ1NTIE1JTUUgdHlwZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlLgog
CiBQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAog
UEFTUyB4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlZDZmMDQ0
NzJjMWViNWFiZDMwNDMxNTNkM2E4MzhjOWE3YzBkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBh
cnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmln
aW5jc3MxLmh0bWwnIGJlY2F1c2Ugbm9uIENTUyBNSU1FIHR5cGVzIGFyZSBub3QgYWxsb3dlZCBm
b3IgY3Jvc3Mtb3JpZ2luIHN0eWxlc2hlZXRzLgorCitQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2lu
IGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzMS5odG1sIHNob3Vs
ZCBub3QgYmUgbG9hZGVkIHZpYSA8bGluaz4uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3Mt
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA5NjJkZTE5ZjVmMjZlYTg0ZGE0ZGNjOWI0NmUxNTFhMzA2MDlj
ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTEuaHRtbApAQCAtMCwwICsxLDMzIEBACis8aHRtbD4K
KzwhLS0KKyAgICBOb3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMgaW50ZW50
aW9uYWwuIFRoaXMgdGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2ZSBhbnkg
cmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmlnaW4gQ1NT
PC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3Jlc291cmNlcy9y
ZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMv
eG9yaWdpbmNzczEuaHRtbCI+PC9saW5rPgorCis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dy
b3VuZENvbG9yRm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNr
Z3JvdW5kLWNvbG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5n
IGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDEnKSwgJ3JnYmEoMCwgMCwgMCwg
MCknKTsKKyAgICB9LCAneG9yaWdpbmNzczEuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEg
Jmx0O2xpbmsmZ3Q7LicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDEiIGNsYXNzPSJpZDEiPjwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2FkNTU5MGFkOTEzOTg0NjE0YTc3NDE0OTc5MGE0NmIxZWMw
M2FlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVldCBhdCAnaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCcgYmVjYXVzZSBub24gQ1NT
IE1JTUUgdHlwZXMgYXJlIG5vdCBhbGxvd2VkIGZvciBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldHMu
CisKK1BBU1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4g
CitQQVNTIHhvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVyIHZpYSA8
bGluaz4gb3IgQGltcG9ydC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMi5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy0yLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDIzMGVkNzYwZTVhZGYyZDVhNzU5ODQxM2U4ZjRjY2YyZmE5YmEzNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy1pbi1xdWlya3MtMi5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzxodG1sPgorPCEtLQorICAg
IE5vdGUgdGhlIGxhY2sgb2YgZG9jdHlwZSBhYm92ZTogVGhhdCBpcyBpbnRlbnRpb25hbC4gVGhp
cyB0ZXN0CisgICAgTVVTVCBiZSBpbiBxdWlya3MgbW9kZSB0byBoYXZlIGFueSByZWFsIHRlc3Rp
bmcgcG93ZXIuCistLT4KKzxoZWFkPgorPHRpdGxlPkNyb3NzLW9yaWdpbiBDU1M8L3RpdGxlPgor
Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNv
dXJjZXMveG9yaWdpbmNzczIuaHRtbCI+PC9saW5rPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJh
Y2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgn
YmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVz
dGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQyJyksICdyZ2JhKDAsIDAs
IDAsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQg
ZWl0aGVyIHZpYSAmbHQ7bGluayZndDsgb3IgQGltcG9ydC4nKTsKKworICAgIG9ubG9hZFRlc3Qu
ZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQy
IiBjbGFzcz0iaWQyIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi1jc3MtaW4tcXVpcmtzLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZjBkMGJhMDgzYTgw
MWZjMjRlZTJkNzE2MWViZGYzMWQyNjZhMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3RpbmcgY3Jvc3Mtb3JpZ2luIGFuZCBN
SU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzMS5jc3Mgc2hvdWxkIGJlIGxv
YWRlZCB2aWEgPGxpbms+IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtMy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQyMmRjZTM3NjJmMDBmM2NmMzU2NjdmZmEwMTQ4ZTBjYzdlZjlmMTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1j
c3MtaW4tcXVpcmtzLTMuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzwhLS0KKyAgICBO
b3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMgaW50ZW50aW9uYWwuIFRoaXMg
dGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2ZSBhbnkgcmVhbCB0ZXN0aW5n
IHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmlnaW4gQ1NTPC90aXRsZT4KKwor
PHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIKKyAgICAgIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmln
aW5jc3MxLmNzcyI+PC9saW5rPgorCis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENv
bG9yRm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5k
LWNvbG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIGNyb3Nz
LW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0g
ZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1
YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDMnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsK
KyAgICB9LCAneG9yaWdpbmNzczEuY3NzIHNob3VsZCBiZSBsb2FkZWQgdmlhICZsdDtsaW5rJmd0
OycpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDMiIGNsYXNzPSJpZDMiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1v
cmlnaW4tY3NzLWluLXF1aXJrcy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDVhNmMzMDBhNzQ0MTQyNDdlM2FiMTQwYTQ5MmI1NjRiN2Y3Y2RkZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy1pbi1xdWlya3MtNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVz
dGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmln
aW5jc3MzLmh0bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEgPGxpbms+IAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtz
LTQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNz
cy1pbi1xdWlya3MtNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMDhlZmY0OWM2ZWZmMmI3OTMyYTY3NzI4
OGZjOTA4ZGZhZDRmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTQuaHRtbApAQCAtMCwwICsxLDMz
IEBACis8aHRtbD4KKzwhLS0KKyAgICBOb3RlIHRoZSBsYWNrIG9mIGRvY3R5cGUgYWJvdmU6IFRo
YXQgaXMgaW50ZW50aW9uYWwuIFRoaXMgdGVzdAorICAgIE1VU1QgYmUgaW4gcXVpcmtzIG1vZGUg
dG8gaGF2ZSBhbnkgcmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+Cis8aGVhZD4KKzx0aXRsZT5Dcm9z
cy1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
cmVzb3VyY2VzL3hvcmlnaW5jc3MzLmh0bWwiPjwvbGluaz4KKworPHNjcmlwdD4KK2Z1bmN0aW9u
IGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlW
YWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVz
dCgiVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKwor
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ0JyksICdyZ2Io
MjU1LCAyNTUsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIGJlIGxvYWRl
ZCB2aWEgJmx0O2xpbmsmZ3Q7Jyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNCIgY2xhc3M9ImlkNCI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmNlMjJkMTA3YTc0NGVlYWY4OGNlYmM0OGMwZDc1
ZmFiMWM0YWI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1sJyBiZWNhdXNlIG5v
biBDU1MgTUlNRSB0eXBlcyBhcmUgbm90IGFsbG93ZWQgZm9yIGNyb3NzLW9yaWdpbiBzdHlsZXNo
ZWV0cy4KKworUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3Ig
Q1NTLiAKK1BBU1MgeG9yaWdpbmNzczQuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZCB2aWEgQGlt
cG9ydC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy01Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWY0
MjU3MjU2ODcxODg2NjQ4NmI5MzQ5Yjc4YWI5Yzg1MTlkYjgwNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWly
a3MtNS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzxodG1sPgorPCEtLQorICAgIE5vdGUgdGhlIGxh
Y2sgb2YgZG9jdHlwZSBhYm92ZTogVGhhdCBpcyBpbnRlbnRpb25hbC4gVGhpcyB0ZXN0CisgICAg
TVVTVCBiZSBpbiBxdWlya3MgbW9kZSB0byBoYXZlIGFueSByZWFsIHRlc3RpbmcgcG93ZXIuCist
LT4KKzxoZWFkPgorPHRpdGxlPkNyb3NzLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNy
Yz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxl
PgorQGltcG9ydCAiL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczQuaHRtbCI7Cis8L3N0eWxlPgorPHNj
cmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJu
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVs
bCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRU
ZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3Ig
Zm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJ
ZCgnaWQ1JyksICdyZ2JhKDAsIDAsIDAsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3M0Lmh0bWwg
c2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhIEBpbXBvcnQuJyk7CisKKyAgICBvbmxvYWRUZXN0LmRv
bmUoKTsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNSIg
Y2xhc3M9ImlkNSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTYtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
Y3NzLWluLXF1aXJrcy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzExMjk4MjFiNTA2NGY4
NDhhYTNkYjFkNmU3MTRhYmJjMGQ4NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy02LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlN
RSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1MgeG9yaWdpbmNzczIuY3NzIHNob3VsZCBiZSBsb2Fk
ZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi1jc3MtaW4tcXVpcmtzLTYuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5Njhh
OGJhOGQ0ZDFlNWMzMDNhOGIyY2VkMTAwZjcyZWVhZWNiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtz
LTYuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzwhLS0KKyAgICBOb3RlIHRoZSBsYWNr
IG9mIGRvY3R5cGUgYWJvdmU6IFRoYXQgaXMgaW50ZW50aW9uYWwuIFRoaXMgdGVzdAorICAgIE1V
U1QgYmUgaW4gcXVpcmtzIG1vZGUgdG8gaGF2ZSBhbnkgcmVhbCB0ZXN0aW5nIHBvd2VyLgorLS0+
Cis8aGVhZD4KKzx0aXRsZT5Dcm9zcy1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9
Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
dzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4K
K0BpbXBvcnQgIi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vbG9jYWxob3N0Ojgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmNzcyI7Cis8L3N0eWxlPgorPHNjcmlw
dD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCku
Z2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0
ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9y
IENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgn
aWQ2JyksICdyZ2IoMjU1LCAyNTUsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MyLmNzcyBzaG91
bGQgYmUgbG9hZGVkLicpOworCisgICAgb25sb2FkVGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpZDYiIGNsYXNzPSJpZDYiPjwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDMzM2E4MmE5OTlhYzc5YmYyMjdlM2I5ZGZlZDA2NGNlZTQ2
ZDU0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CisKK1BBU1MgVGVzdGluZyBjcm9zcy1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4g
CitQQVNTIHhvcmlnaW5jc3M1Lmh0bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEgQGltcG9ydC4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2lu
LWNzcy1pbi1xdWlya3MtNy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
cm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy03Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NlMzM0NzJiNGVh
MGVkZjBkYzQwZjU3YTkwZTkyNmFiOThkYTZlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWNzcy1pbi1xdWlya3MtNy5odG1s
CkBAIC0wLDAgKzEsMzQgQEAKKzxodG1sPgorPCEtLQorICAgIE5vdGUgdGhlIGxhY2sgb2YgZG9j
dHlwZSBhYm92ZTogVGhhdCBpcyBpbnRlbnRpb25hbC4gVGhpcyB0ZXN0CisgICAgTVVTVCBiZSBp
biBxdWlya3MgbW9kZSB0byBoYXZlIGFueSByZWFsIHRlc3RpbmcgcG93ZXIuCistLT4KKzxoZWFk
PgorPHRpdGxlPkNyb3NzLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorQGltcG9y
dCAicmVzb3VyY2VzL3hvcmlnaW5jc3M1Lmh0bWwiOworPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5j
X3Rlc3QoIlRlc3RpbmcgY3Jvc3Mtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIik7
CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgdGVzdChmdW5jdGlvbiAoKSB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkNycpLCAn
cmdiKDI1NSwgMjU1LCAwKScpOworICAgIH0sICd4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBiZSBs
b2FkZWQgdmlhIEBpbXBvcnQuJyk7CisKKyAgICBvbmxvYWRUZXN0LmRvbmUoKTsKK307Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkNyIgY2xhc3M9ImlkNyI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGVjZWFiZDEzYWZjNjIxZjhiOWRjMzVmYWJhYjgy
ZTU5ZDBhYWRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDYgQEAKK0NoZWNrIHRoYXQgZGF0YTogaXMgc3RpbGwgYWxsb3dlZCBmb3Igbm9uLUNPUlMgY3Jv
c3Mtb3JpZ2luIGltYWdlIGZldGNoZXMuCisKK1BBU1MgYmFja2dyb3VuZCBpbWFnZSBsb2FkZWQK
KworUEFTUyBUZXN0aW5nIGNyb3NzLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4tY3NzLWluLXF1aXJrcy04Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1jc3MtaW4tcXVpcmtzLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTI5MDUxNDEz
ODA3OTA4YzVhM2EzYmQ5ZmZmYzViOTljM2MxNTA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tY3NzLWluLXF1aXJrcy04Lmh0
bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+Cis8IS0tCisgICAgTm90ZSB0aGUgbGFjayBvZiBk
b2N0eXBlIGFib3ZlOiBUaGF0IGlzIGludGVudGlvbmFsLiBUaGlzIHRlc3QKKyAgICBNVVNUIGJl
IGluIHF1aXJrcyBtb2RlIHRvIGhhdmUgYW55IHJlYWwgdGVzdGluZyBwb3dlci4KKy0tPgorPGhl
YWQ+Cis8dGl0bGU+Q3Jvc3Mtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNj
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CisjZGF0
YS1iYWNrZ3JvdW5kLXVybCB7CisgICAgY29udGVudDogIlBBU1MgKGltYWdlIGxvYWRlZCkiOwor
ICAgIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0n
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScwcHgnIGhlaWdodD0nMHB4Jz48L3N2
Zz4iKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9y
Rm9ySWQoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNv
bG9yJykKK30KKwordmFyIG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIGNyb3NzLW9y
aWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVu
Y3Rpb24gKCkgeworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+CisgICAgPHA+Q2hlY2sgdGhhdCBkYXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZvciBu
b24tQ09SUyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0Y2hlcy48L3A+CisgICAgPGRpdiBpZD0iZGF0
YS1iYWNrZ3JvdW5kLXVybCI+UEFTUyBiYWNrZ3JvdW5kIGltYWdlIGxvYWRlZDwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zYW1lLW9yaWdpbi1jc3MtMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy0xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYmNj
YzdiNDIyNzQzMDFlZDZjYTcyMjJhOGU0MzI2ZWI4NjM2ZThmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5
bGVzaGVldCBhdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/
dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczEuaHRtbCcgYmVjYXVzZSBub24gQ1NT
IE1JTUUgdHlwZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlLgorCitQQVNTIFRlc3Rp
bmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5j
c3MxLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgdmlhIDxsaW5rPi4gCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTEuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zN2E0NmUwNDFlNThiZjU0OWViMDgzNDI1YWMxYzc2YWVhNjhkNjc3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdp
bi1jc3MtMS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3cz
Yy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jl
c291cmNlcy94b3JpZ2luY3NzMS5odG1sIj48L2xpbms+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBn
ZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFs
dWUoJ2JhY2tncm91bmQtY29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3Qo
IlRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQxJyksICdyZ2JhKDAs
IDAsIDAsIDApJyk7CisgICAgfSwgJ3hvcmlnaW5jc3MxLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2Fk
ZWQgdmlhICZsdDtsaW5rJmd0Oy4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQxIiBjbGFzcz0iaWQxIj48
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzE0Y2EzNjk2YjBlNDJkYjc4NGI4YTdhN2Q0MGRmNDZkZTFkYzU2ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3Nz
LTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBEaWQgbm90
IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVk
aXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmh0bWwnIGJlY2F1
c2Ugbm9uIENTUyBNSU1FIHR5cGVzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS4KKwor
UEFTUyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFT
UyB4b3JpZ2luY3NzMi5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIGVpdGhlciB2aWEgPGxpbms+
IG9yIEBpbXBvcnQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbWUtb3JpZ2luLWNzcy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbWUtb3JpZ2luLWNzcy0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGFiZjI5ZTQwYTNjNGVmY2Ix
M2Q1ODM0MDEwNGY1YzNmY2I3YmUzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTIuaHRtbApAQCAtMCwwICsxLDI5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2FtZS1vcmlnaW4gQ1NT
PC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmln
aW5jc3MyLmh0bWwiPjwvbGluaz4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3JvdW5kQ29s
b3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcgc2FtZS1v
cmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9hZCA9IGZ1
bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQyJyksICdyZ2JhKDAsIDAsIDAsIDApJyk7Cisg
ICAgfSwgJ3hvcmlnaW5jc3MyLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2FkZWQgZWl0aGVyIHZpYSAm
bHQ7bGluayZndDsgb3IgQGltcG9ydC4nKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsK
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQyIiBjbGFzcz0iaWQy
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjZiYTdjMjQ4ODUzMTg1NTQ4MThlYWFlMWE1MjE5ZjdlMjI2NTk3MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4t
Y3NzLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3Rpbmcgc2FtZS1v
cmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MxLmNzcyBz
aG91bGQgYmUgbG9hZGVkIHZpYSA8bGluaz4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YmUy
YmVlYmZiMjllMjVlNGY0NWUyNjgxOTMwMjVlMDVmMzEyMzBlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtMy5odG1sCkBA
IC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5T
YW1lLW9yaWdpbiBDU1M8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPGxpbmsgcmVsPSJzdHlsZXNoZWV0IgorICAg
ICAgaHJlZj0iL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMv
eG9yaWdpbmNzczEuY3NzIj48L2xpbms+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRCYWNrZ3Jv
dW5kQ29sb3JGb3JJZChpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tn
cm91bmQtY29sb3InKQorfQorCit2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcg
c2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKword2luZG93Lm9ubG9h
ZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQzJyksICdyZ2IoMjU1LCAyNTUsIDAp
Jyk7CisgICAgfSwgJ3hvcmlnaW5jc3MxLmNzcyBzaG91bGQgYmUgbG9hZGVkIHZpYSAmbHQ7bGlu
ayZndDsnKTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+CisgICAgPGRpdiBpZD0iaWQzIiBjbGFzcz0iaWQzIj48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2Ft
ZS1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zYW1lLW9yaWdpbi1jc3MtNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGUyZDM3Mzdm
MDA2NjE0Njk0YWRmY2QyYWZlZTZlMDFkMmRjODYxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVo
YXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIG5vdCBiZSBsb2Fk
ZWQsIGV2ZW4gdGhvdWdoIGl0IGlzIHNhbWUtb3JpZ2luIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy00Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzAyMjE5NzkyMWFmZWQyNTAxMGU2OGI0NjBmMWQyYTgxMTQ0YzNlNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTQu
aHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
dGl0bGU+U2FtZS1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0icmVzb3VyY2VzL3hvcmlnaW5jc3MzLmh0bWwiPjwvbGluaz4KKworPHNjcmlwdD4K
K2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0
UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0g
YXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NT
LiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24g
KCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDQn
KSwgJ3JnYmEoMCwgMCwgMCwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczMuaHRtbCBzaG91bGQg
bm90IGJlIGxvYWRlZCwgZXZlbiB0aG91Z2ggaXQgaXMgc2FtZS1vcmlnaW4nKTsKKworICAgIG9u
bG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRp
diBpZD0iaWQ0IiBjbGFzcz0iaWQ0Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1j
c3MtNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQyNDIzNjBmZTQyZWRkNzcwMWQxYzZhNzI3
NDZjYTg2ZTZjMGFiNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
Q09OU09MRSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2Vz
L3hvcmlnaW5jc3M0Lmh0bWwnIGJlY2F1c2Ugbm9uIENTUyBNSU1FIHR5cGVzIGFyZSBub3QgYWxs
b3dlZCBpbiBzdHJpY3QgbW9kZS4KKworUEFTUyBUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1F
IGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3NzNC5odG1sIHNob3VsZCBub3QgYmUg
bG9hZGVkIHZpYSBAaW1wb3J0LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0YjZkYzFhNzUx
MjM5NmU5NzdjYjYwNTI1ZjFmZWE3ZTM5NzBjY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy01Lmh0bWwKQEAgLTAsMCAr
MSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNhbWUtb3Jp
Z2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitAaW1wb3J0ICIvcmVzb3VyY2VzL3JlZGly
ZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94b3JpZ2luY3NzNC5odG1sIjsKKzwvc3R5
bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoaWQpIHsKKyAg
ICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWQpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykKK30KKwordmFy
IG9ubG9hZFRlc3QgPSBhc3luY190ZXN0KCJUZXN0aW5nIHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJl
aGF2aW9yIGZvciBDU1MuIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAg
dGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENv
bG9yRm9ySWQoJ2lkNScpLCAncmdiYSgwLCAwLCAwLCAwKScpOworICAgIH0sICd4b3JpZ2luY3Nz
NC5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkIHZpYSBAaW1wb3J0LicpOworCisgICAgb25sb2Fk
VGVzdC5kb25lKCk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlk
PSJpZDUiIGNsYXNzPSJpZDUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMmQ5ZmJlNmZjZjVmZThhMTI4ZGI1N2QyYWU5ODI1
ZWJkNWYyZGYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zYW1lLW9yaWdpbi1jc3MtNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BB
U1MgVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiAKK1BBU1Mg
eG9yaWdpbmNzczIuY3NzIHNob3VsZCBiZSBsb2FkZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy02Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTk4NTM0MDJkNTMxOTVhYWM2NGRkMjJiMDQxY2U1NzFkN2UzMjA5NgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTYu
aHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
dGl0bGU+U2FtZS1vcmlnaW4gQ1NTPC90aXRsZT4KKworPHNjcmlwdCBzcmM9Ii93M2MvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK0BpbXBvcnQgIi9y
ZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3My
LmNzcyI7Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZv
cklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xv
cicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVzdGluZyBzYW1lLW9yaWdp
biBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rp
b24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGdl
dEJhY2tncm91bmRDb2xvckZvcklkKCdpZDYnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICB9
LCAneG9yaWdpbmNzczIuY3NzIHNob3VsZCBiZSBsb2FkZWQuJyk7CisKKyAgICBvbmxvYWRUZXN0
LmRvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9Imlk
NiIgY2xhc3M9ImlkNiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MDhlYTllNTRiNzY1ZmU5YWY0MTRiZGZhZTQ5MjY0OTNl
YjhmODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NhbWUtb3JpZ2luLWNzcy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NPTlNPTEUg
TUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3M1Lmh0bWwnIGJlY2F1c2Ugbm9uIENTUyBN
SU1FIHR5cGVzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS4KKworUEFTUyBUZXN0aW5n
IHNhbWUtb3JpZ2luIGFuZCBNSU1FIGJlaGF2aW9yIGZvciBDU1MuIAorUEFTUyB4b3JpZ2luY3Nz
NS5odG1sIHNob3VsZCBub3QgYmUgbG9hZGVkLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtNy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5
OWM0ZWQ1MjhjZTUyNWQ5N2VmNjE3M2U0OGU5ZmZlNTFhNGFiYTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2luLWNzcy03Lmh0bWwK
QEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxl
PlNhbWUtb3JpZ2luIENTUzwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitAaW1wb3J0ICJyZXNvdXJj
ZXMveG9yaWdpbmNzczUuaHRtbCI7Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldEJh
Y2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgn
YmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVzdCgiVGVz
dGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBh
c3NlcnRfZXF1YWxzKGdldEJhY2tncm91bmRDb2xvckZvcklkKCdpZDcnKSwgJ3JnYmEoMCwgMCwg
MCwgMCknKTsKKyAgICB9LCAneG9yaWdpbmNzczUuaHRtbCBzaG91bGQgbm90IGJlIGxvYWRlZC4n
KTsKKworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPGRpdiBpZD0iaWQ3IiBjbGFzcz0iaWQ3Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmln
aW4tY3NzLTgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW1lLW9yaWdpbi1jc3MtOC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDcxMjViZWIzOWM0YTkx
YjQ5ZWJjYjE0ZWU2MzBhMzUzMmVmODk5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLTgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorQ2hlY2sgdGhhdCBkYXRhOiBpcyBzdGlsbCBhbGxvd2VkIGZvciBub24tQ09S
UyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0Y2hlcy4KKworUEFTUyBiYWNrZ3JvdW5kIGltYWdlIGxv
YWRlZAorCitQQVNTIFRlc3Rpbmcgc2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENT
Uy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1v
cmlnaW4tY3NzLTguaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1v
cmlnaW4tY3NzLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTIxZGU4ZmVkNWUyZGU0ODdhZWZjZjQzNjEx
MmNlODk3YTVjNGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtOC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TYW1lLW9yaWdpbiBDU1M8L3RpdGxlPgor
Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKworPHN0eWxlPgorI2RhdGEtYmFja2dyb3VuZC11cmwgeworICAgIGNvbnRlbnQ6ICJQQVNT
IChpbWFnZSBsb2FkZWQpIjsKKyAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3ht
bDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMHB4
JyBoZWlnaHQ9JzBweCc+PC9zdmc+Iik7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Z1bmN0aW9u
IGdldEJhY2tncm91bmRDb2xvckZvcklkKGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwgbnVsbCkuZ2V0UHJvcGVydHlW
YWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpCit9CisKK3ZhciBvbmxvYWRUZXN0ID0gYXN5bmNfdGVz
dCgiVGVzdGluZyBzYW1lLW9yaWdpbiBhbmQgTUlNRSBiZWhhdmlvciBmb3IgQ1NTLiIpOworCit3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIG9ubG9hZFRlc3QuZG9uZSgpOworfTsK
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+Q2hlY2sgdGhhdCBkYXRhOiBpcyBz
dGlsbCBhbGxvd2VkIGZvciBub24tQ09SUyBjcm9zcy1vcmlnaW4gaW1hZ2UgZmV0Y2hlcy48L3A+
CisgICAgPGRpdiBpZD0iZGF0YS1iYWNrZ3JvdW5kLXVybCI+UEFTUyBiYWNrZ3JvdW5kIGltYWdl
IGxvYWRlZDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4tcXVpcmtzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1
aXJrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDIwMzRmYmYzZDI3YzQzYjE3MjY3NjM5ODVk
NmUxZjI5ZjRmNzZhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvc2FtZS1vcmlnaW4tY3NzLWluLXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorUEFTUyBiYWNrZ3JvdW5kIGltYWdlIGxvYWRlZAorCitQQVNTIFRlc3Rpbmcgc2Ft
ZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4gCitQQVNTIHhvcmlnaW5jc3MxLmh0
bWwgc2hvdWxkIGJlIGxvYWRlZCB2aWEgPGxpbms+LiAKK1BBU1MgeG9yaWdpbmNzczIuaHRtbCBz
aG91bGQgYmUgbG9hZGVkIGVpdGhlciB2aWEgPGxpbms+IG9yIEBpbXBvcnQuIAorUEFTUyB4b3Jp
Z2luY3NzMS5jc3Mgc2hvdWxkIGJlIGxvYWRlZCB2aWEgPGxpbms+IAorUEFTUyB4b3JpZ2luY3Nz
My5odG1sIHNob3VsZCBiZSBsb2FkZWQgCitQQVNTIHhvcmlnaW5jc3M0Lmh0bWwgc2hvdWxkIGJl
IGxvYWRlZCB2aWEgQGltcG9ydC4gCitQQVNTIHhvcmlnaW5jc3MyLmNzcyBzaG91bGQgYmUgbG9h
ZGVkLiAKK1BBU1MgeG9yaWdpbmNzczUuaHRtbCBzaG91bGQgYmUgbG9hZGVkLiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4t
cXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbWUtb3JpZ2lu
LWNzcy1pbi1xdWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTY1MDY3NWIxY2UyZGM2NzljOGU0ZmJi
YjMxN2RmMjljNDNiNDA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9zYW1lLW9yaWdpbi1jc3MtaW4tcXVpcmtzLmh0bWwKQEAgLTAsMCArMSw3NiBA
QAorPGh0bWw+Cis8IS0tIAorICAgIE5vdGUgdGhlIGxhY2sgb2YgZG9jdHlwZSBhYm92ZTogVGhh
dCBpcyBpbnRlbnRpb25hbC4gVGhpcyB0ZXN0CisgICAgTVVTVCBiZSBpbiBxdWlya3MgbW9kZSB0
byBoYXZlIGFueSByZWFsIHRlc3RpbmcgcG93ZXIuCistLT4KKzxoZWFkPgorPHRpdGxlPlNhbWUt
b3JpZ2luIENTUyBpbiBxdWlya3MgbW9kZTwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvdzNjL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3czYy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8bGluayByZWw9InN0eWxl
c2hlZXQiCisgICAgICBocmVmPSIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5
L3Jlc291cmNlcy94b3JpZ2luY3NzMS5odG1sIj48L2xpbms+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiCisgICAgICB0eXBlPSJ0ZXh0L2NzcyIKKyAgICAgIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmh0bWwiPjwvbGluaz4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIKKyAgICAgIGhyZWY9Ii9yZXNvdXJjZXMvcmVkaXJlY3Qu
cGhwP3VybD0vc2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MxLmNzcyI+PC9saW5rPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IgorICAgICAgaHJlZj0icmVzb3VyY2VzL3hvcmlnaW5jc3MzLmh0
bWwiPjwvbGluaz4KKzxzdHlsZT4KKy8qIERlbGliZXJhdGVseSByZXVzZSB0aGUgc2FtZSBmaWxl
IC8gY2xhc3MgLyBpZCBvbiB0aGlzIGZpcnN0IG9uZSAqLworQGltcG9ydCAiL3Jlc291cmNlcy9y
ZWRpcmVjdC5waHA/dXJsPS9zZWN1cml0eS9yZXNvdXJjZXMveG9yaWdpbmNzczIuaHRtbCI7CitA
aW1wb3J0ICIvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L3NlY3VyaXR5L3Jlc291cmNlcy94
b3JpZ2luY3NzNC5odG1sIjsKK0BpbXBvcnQgIi9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0v
c2VjdXJpdHkvcmVzb3VyY2VzL3hvcmlnaW5jc3MyLmNzcyI7CitAaW1wb3J0ICJyZXNvdXJjZXMv
eG9yaWdpbmNzczUuaHRtbCI7CisKKy8qIENoZWNrIHRoYXQgZGF0YTogaXMgc3RpbGwgYWxsb3dl
ZCBmb3Igbm9uLUNPUlMgY3Jvc3Mtb3JpZ2luIGltYWdlIGZldGNoZXMuICovCisjZGF0YS1iYWNr
Z3JvdW5kLXVybCB7CisgICAgY29udGVudDogIlBBU1MgKGltYWdlIGxvYWRlZCkiOworICAgIGJh
Y2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScwcHgnIGhlaWdodD0nMHB4Jz48L3N2Zz4iKTsK
K30KKzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGdldEJhY2tncm91bmRDb2xvckZv
cklkKGlkKSB7CisgICAgICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKQorICAgIH0KKyAgICB2YXIgb25sb2FkVGVzdCA9IGFzeW5jX3Rlc3QoIlRlc3Rpbmcg
c2FtZS1vcmlnaW4gYW5kIE1JTUUgYmVoYXZpb3IgZm9yIENTUy4iKTsKKyAgICB3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24gKCkgeworICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9ySWQoJ2lkMScpLCAncmdiKDI1
NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczEuaHRtbCBzaG91bGQgYmUgbG9h
ZGVkIHZpYSAmbHQ7bGluayZndDsuJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQyJyksICdy
Z2IoMjU1LCAyNTUsIDApJyk7CisgICAgICAgIH0sICd4b3JpZ2luY3NzMi5odG1sIHNob3VsZCBi
ZSBsb2FkZWQgZWl0aGVyIHZpYSAmbHQ7bGluayZndDsgb3IgQGltcG9ydC4nKTsKKyAgICAgICAg
dGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tncm91
bmRDb2xvckZvcklkKCdpZDMnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICAgICAgfSwgJ3hv
cmlnaW5jc3MxLmNzcyBzaG91bGQgYmUgbG9hZGVkIHZpYSAmbHQ7bGluayZndDsnKTsKKyAgICAg
ICAgdGVzdChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGdldEJhY2tn
cm91bmRDb2xvckZvcklkKCdpZDQnKSwgJ3JnYigyNTUsIDI1NSwgMCknKTsKKyAgICAgICAgfSwg
J3hvcmlnaW5jc3MzLmh0bWwgc2hvdWxkIGJlIGxvYWRlZCcpOworICAgICAgICB0ZXN0KGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9y
SWQoJ2lkNScpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczQu
aHRtbCBzaG91bGQgYmUgbG9hZGVkIHZpYSBAaW1wb3J0LicpOworICAgICAgICB0ZXN0KGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZ2V0QmFja2dyb3VuZENvbG9yRm9y
SWQoJ2lkNicpLCAncmdiKDI1NSwgMjU1LCAwKScpOworICAgICAgICB9LCAneG9yaWdpbmNzczIu
Y3NzIHNob3VsZCBiZSBsb2FkZWQuJyk7CisgICAgICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhnZXRCYWNrZ3JvdW5kQ29sb3JGb3JJZCgnaWQ3JyksICdy
Z2IoMjU1LCAyNTUsIDApJyk7CisgICAgICAgIH0sICd4b3JpZ2luY3NzNS5odG1sIHNob3VsZCBi
ZSBsb2FkZWQuJyk7CisgICAgICAgIG9ubG9hZFRlc3QuZG9uZSgpOworICAgIH07Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImlkMSIgY2xhc3M9ImlkMSI+PC9kaXY+
CisgICAgPGRpdiBpZD0iaWQyIiBjbGFzcz0iaWQyIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJpZDMi
IGNsYXNzPSJpZDMiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImlkNCIgY2xhc3M9ImlkNCI+PC9kaXY+
CisgICAgPGRpdiBpZD0iaWQ1IiBjbGFzcz0iaWQ1Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJpZDYi
IGNsYXNzPSJpZDYiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImlkNyIgY2xhc3M9ImlkNyI+PC9kaXY+
CisgICAgPGRpdiBpZD0iaWQ4IiBjbGFzcz0iaWQ4Ij48L2Rpdj4KKyAgICA8ZGl2IGlkPSJkYXRh
LWJhY2tncm91bmQtdXJsIj5QQVNTIGJhY2tncm91bmQgaW1hZ2UgbG9hZGVkPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaHR0cC90
ZXN0cy9taXNjL2FjaWQzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9o
dHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0CmluZGV4IDU2YmU2ODQyNjI2OWE1OTc1
Njc2YWNhOGNiNjBmZTRhOGQxOTRkZjIuLmNjYzRlOGQ0OGQ5ZmRiYTFhNWZkMWFhNTlmYTJmNGQ2
MWUxOTAyMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9odHRwL3Rlc3Rz
L21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9o
dHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09M
RSBNRVNTQUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9taXNjL3Jlc291cmNlcy9hY2lkMy9lbXB0eS5jc3MnIGJlY2F1c2UgaXRzIE1JTUUgdHlw
ZSB3YXMgaW52YWxpZC4KK0NPTlNPTEUgTUVTU0FHRTogRGlkIG5vdCBwYXJzZSBzdHlsZXNoZWV0
IGF0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvYWNpZDMvZW1wdHkuY3Nz
JyBiZWNhdXNlIG5vbiBDU1MgTUlNRSB0eXBlcyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1v
ZGUuCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKIGxheWVyIGF0ICgyMCwyMCkgc2l6ZSA2NDR4NDMzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>