<?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>211913</bug_id>
          
          <creation_ts>2020-05-14 11:59:42 -0700</creation_ts>
          <short_desc>Attribute non-network loads and loads with html strings as automatically app-bound</short_desc>
          <delta_ts>2020-05-14 18:22:17 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1652729</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-05-14 11:59:42 -0700</bug_when>
    <thetext>We should consider any non-network loads or WebView loads with html strings as app-bound.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652783</commentid>
    <comment_count>1</comment_count>
      <attachid>399403</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-05-14 13:49:29 -0700</bug_when>
    <thetext>Created attachment 399403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652791</commentid>
    <comment_count>2</comment_count>
      <attachid>399408</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-05-14 14:25:27 -0700</bug_when>
    <thetext>Created attachment 399408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652845</commentid>
    <comment_count>3</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-05-14 15:58:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/63157801&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652888</commentid>
    <comment_count>4</comment_count>
      <attachid>399408</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-05-14 17:35:42 -0700</bug_when>
    <thetext>Comment on attachment 399408
Patch

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

Looks good! I had a couple of minor suggestions.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1394
&gt; +    if (MIMEType == String(&quot;text/html&quot;) &amp;&amp; !WEB_PAGE_PROXY_ADDITIONS_SETISNAVIGATINGTOAPPBOUNDDOMAIN)

if (MIMEType == &quot;text/html&quot;_s &amp;&amp; !WEB_PAGE_PROXY_ADDITIONS_SETISNAVIGATINGTOAPPBOUNDDOMAIN)

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:3120
&gt; +    return requestURL.protocolIsAbout() || requestURL.protocolIsData() || requestURL.protocolIsBlob() || requestURL.isLocalFile() || requestURL.protocolIsJavaScript();

Didn&apos;t Chris have some comment on a different URL method to use for this? I can&apos;t find his comment right now. :-\</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652889</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-05-14 17:46:38 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #4)
&gt; Comment on attachment 399408 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=399408&amp;action=review
&gt; 
&gt; Looks good! I had a couple of minor suggestions.
&gt; 

Thanks!

&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1394
&gt; &gt; +    if (MIMEType == String(&quot;text/html&quot;) &amp;&amp; !WEB_PAGE_PROXY_ADDITIONS_SETISNAVIGATINGTOAPPBOUNDDOMAIN)
&gt; 
&gt; if (MIMEType == &quot;text/html&quot;_s &amp;&amp;
&gt; !WEB_PAGE_PROXY_ADDITIONS_SETISNAVIGATINGTOAPPBOUNDDOMAIN)
&gt; 

Will change!

&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:3120
&gt; &gt; +    return requestURL.protocolIsAbout() || requestURL.protocolIsData() || requestURL.protocolIsBlob() || requestURL.isLocalFile() || requestURL.protocolIsJavaScript();
&gt; 
&gt; Didn&apos;t Chris have some comment on a different URL method to use for this? I
&gt; can&apos;t find his comment right now. :-\

He suggested using !requestURL.protocolIsInHTTPFamily() in https://bugs.webkit.org/show_bug.cgi?id=208893. Since the tests use a custom URL scheme handler, they would also be included in this check. So I don&apos;t think that will work unless we figure out a way around the testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652890</commentid>
    <comment_count>6</comment_count>
      <attachid>399431</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-05-14 17:50:30 -0700</bug_when>
    <thetext>Created attachment 399431
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652901</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-14 18:21:24 -0700</bug_when>
    <thetext>Committed r261727: &lt;https://trac.webkit.org/changeset/261727&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399431.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652902</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-14 18:22:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/63252340&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399403</attachid>
            <date>2020-05-14 13:49:29 -0700</date>
            <delta_ts>2020-05-14 14:25:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211913-20200514134928.patch</filename>
            <type>text/plain</type>
            <size>19464</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNTg0ZTBjZGFhYWJmODE1
NjVhZjViZGZhY2RkYjAzODJkNzdhYjUuLjYyN2VmMGMzYWNlZjU5NGRjNjU4MjY1YTFlZTU3YWEw
MDg1MjM4NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjAtMDUtMTQgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlIG5v
bi1uZXR3b3JrIGxvYWRzIGFuZCBsb2FkcyB3aXRoIGh0bWwgc3RyaW5ncyBhcyBhdXRvbWF0aWNh
bGx5IGFwcC1ib3VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjExOTEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzE1NzgwMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgbG9naWMgZnJvbSBX
ZWJzaXRlRGF0YVN0b3JlQ29jb2EgdG8gV2ViUGFnZVByb3h5IHRvIGNoZWNrIGZvcgorICAgICAg
ICBzcGVjaWFsIGFwcC1ib3VuZCBwcm90b2NvbHMgYW5kIHNldCBtX2xpbWl0c05hdmlnYXRpb25U
b0FwcEJvdW5kRG9tYWlucworICAgICAgICB0byBmb3JjZSB0aGVzZSBXZWJWaWV3cyBpbnRvIGFw
cC1ib3VuZCBtb2RlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlOl0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAg
ICBUZXN0aW5nIFNQSSB0byBzZWUgd2hldGhlciBtX2xpbWl0c05hdmlnYXRpb25zVG9BcHBCb3Vu
ZERvbWFpbnMgd2FzCisgICAgICAgIHNldC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWREYXRhKToKKyAg
ICAgICAgQ2hlY2sgZm9yIGh0bWwgc3RyaW5nIGxvYWRzIGFuZCBmb3JjZSBXZWJWaWV3IGludG8g
YXBwLWJvdW5kIG1vZGUgaWYgbmVlZGVkLgorICAgICAgICBObyBuZWVkIHRvIHdvcnJ5IGFib3V0
IHNldHRpbmcgdGhpcyB2YXJpYWJsZSBldmVuIGlmIHRoZSBhcHAgaGFzbid0CisgICAgICAgIG9w
dGVkIGluIGJlY2F1c2Ugc2V0SXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbkFuZENoZWNrSWZQ
ZXJtaXR0ZWQKKyAgICAgICAgZG9lcyBhbiBlYXJseSByZXR1cm4gYmVmb3JlIGNoZWNraW5nIHRo
aXMgdmFyaWFibGUgaWYKKyAgICAgICAgV0tBcHBCb3VuZERvbWFpbnMgZG9lcyBub3QgZXhpc3Qu
CisKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91bmQpOgor
ICAgICAgICBBZGRzIGphdmFzY3JpcHQgcHJvdG9jb2xzIHRvIHRoaXMgY2hlY2suCisKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRJc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
QW5kQ2hlY2tJZlBlcm1pdHRlZCk6CisgICAgICAgIENoZWNrIGZvciBzcGVjaWFsIHByb3RvY29s
cyBoZXJlIGFuZCBmb3JjZSBXZWJWaWV3IGludG8gYXBwLWJvdW5kIG1vZGUuCisKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojppc0ZvcmNlZEludG9BcHBCb3VuZE1vZGVUZXN0aW5nKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6YmVnaW5BcHBCb3VuZERvbWFpbkNoZWNrKToKKyAgICAg
ICAgKFdlYktpdDo6c2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91bmQpOiBEZWxldGVkLgor
CiAyMDIwLTA1LTEzICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OKHIyNjA1NzEpOiBSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbiBkb2Vzbid0
IGhhdmUgaXRzIHNjcm9sbCBjaGFuZ2UgYXBwbGllZCB0byBsYXllcnMgYW55bW9yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZTY2NGI2
NTFkNTRkNDE0MWQ0MDA1ZDFhYzdjNGI3MjVlNWMwMGI4MC4uYzU3NWE0NDJhMDYyMzBkZGY1MDFl
NmI0ZjQyNjNiNWM1YTIzNGVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yNjE2LDYgKzI2MTYsMTMgQEAgc3RhdGljIGlubGluZSBX
ZWJLaXQ6OkZpbmRPcHRpb25zIHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kT3B0
aW9ucykKICAgICB9KTsKIH0KIAorLSAodm9pZClfaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlOih2
b2lkKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgX3BhZ2UtPmlzRm9yY2VkSW50
b0FwcEJvdW5kTW9kZVRlc3RpbmcoW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNv
bXBsZXRpb25IYW5kbGVyKV0gKGJvb2wgaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGlzRm9yY2VkSW50b0FwcEJvdW5kTW9kZSk7CisgICAgfSk7
Cit9CisKIC0gKHZvaWQpX3NlcnZpY2VXb3JrZXJzRW5hYmxlZDoodm9pZCheKShCT09MKSljb21w
bGV0aW9uSGFuZGxlcgogewogICAgIGF1dG8gZW5hYmxlZCA9IFtfY29uZmlndXJhdGlvbiBwcmVm
ZXJlbmNlc10tPl9wcmVmZXJlbmNlcy5nZXQoKS0+c2VydmljZVdvcmtlcnNFbmFibGVkKCkgfHwg
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2aWNl
V29ya2VyRW5hYmxlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNDUzOTUwNmQwMzkxOGQ2MTRmYjZmZTY2ODQz
ZDdhYWYwN2NkMTUyNC4uZGY3YjdiYWVlODdlY2RhMDcwNDZkYTJiZDkzOTFhZTc4MzEyYTlmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCkBAIC0zNDEsNiArMzQxLDcgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAtICh2b2lk
KV9nZXRQcm9jZXNzRGlzcGxheU5hbWVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5T
U3RyaW5nICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIC0gKHZvaWQpX2lzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW46KHZvaWQoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX2lzRm9yY2Vk
SW50b0FwcEJvdW5kTW9kZToodm9pZCheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiAtICh2b2lk
KV9ncmFudEFjY2Vzc1RvUHJlZmVyZW5jZVNlcnZpY2UgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggMmQ5M2VlODUzMTkxZDE1M2U3MDEzOGJhNzMyZWVlZDFlZTYx
YWE3ZS4uNGVkZjA4MDA0ZWE2ZGFmNGU3YThkMTQxZTQ4MWQ3OGJlM2U4Zjk2YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMzkxLDYgKzEzOTEsOSBAQCBS
ZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWREYXRhKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgZGF0YSwgYwogewogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9h
ZGluZywgImxvYWREYXRhOiIpOwogCisgICAgaWYgKE1JTUVUeXBlID09IFN0cmluZygidGV4dC9o
dG1sIikgJiYgIVdFQl9QQUdFX1BST1hZX0FERElUSU9OU19TRVRJU05BVklHQVRJTkdUT0FQUEJP
VU5ERE9NQUlOKQorICAgICAgICBtX2xpbWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnMg
PSB0cnVlOworCiAgICAgaWYgKG1faXNDbG9zZWQpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChMb2FkaW5nLCAibG9hZERhdGE6IHBhZ2UgaXMgY2xvc2VkIik7CiAgICAgICAgIHJl
dHVybiBudWxscHRyOwpAQCAtMzExMSw2ICszMTE0LDExIEBAIHByaXZhdGU6CiAgICAgUG9saWN5
Q2hlY2tJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIH07CiAKK3N0YXRpYyBib29sIHNob3VsZFRy
ZWF0VVJMUHJvdG9jb2xBc0FwcEJvdW5kKGNvbnN0IFVSTCYgcmVxdWVzdFVSTCkKK3sKKyAgICBy
ZXR1cm4gcmVxdWVzdFVSTC5wcm90b2NvbElzQWJvdXQoKSB8fCByZXF1ZXN0VVJMLnByb3RvY29s
SXNEYXRhKCkgfHwgcmVxdWVzdFVSTC5wcm90b2NvbElzQmxvYigpIHx8IHJlcXVlc3RVUkwuaXNM
b2NhbEZpbGUoKSB8fCByZXF1ZXN0VVJMLnByb3RvY29sSXNKYXZhU2NyaXB0KCk7Cit9CisKIGJv
b2wgV2ViUGFnZVByb3h5OjpzZXRJc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluQW5kQ2hlY2tJ
ZlBlcm1pdHRlZChib29sIGlzTWFpbkZyYW1lLCBjb25zdCBVUkwmIHJlcXVlc3RVUkwsIE9wdGlv
bmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0zMTI0LDYgKzMxMzIsMTAgQEAg
Ym9vbCBXZWJQYWdlUHJveHk6OnNldElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW5BbmRDaGVj
a0lmUGVybWl0dGVkKGJvb2wgaXNNYWkKICAgICAgICAgaWYgKG1faWdub3Jlc0FwcEJvdW5kRG9t
YWlucykKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAKKyAgICAgICAgaWYgKHNo
b3VsZFRyZWF0VVJMUHJvdG9jb2xBc0FwcEJvdW5kKHJlcXVlc3RVUkwpKSB7CisgICAgICAgICAg
ICBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluID0gTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW46OlllczsKKyAgICAgICAgICAgIG1fbGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlu
cyA9IHRydWU7CisgICAgICAgIH0KICAgICAgICAgaWYgKG1fbGltaXRzTmF2aWdhdGlvbnNUb0Fw
cEJvdW5kRG9tYWlucykgewogICAgICAgICAgICAgaWYgKCppc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluID09IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObykKICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC0zMTQ5LDYgKzMxNjEsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW5UZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm8KICAgICBjb21wbGV0aW9uSGFuZGxlcihtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4gJiYgKCptX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gPT0gTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW46OlllcykpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6aXNGb3JjZWRJbnRv
QXBwQm91bmRNb2RlVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQoreworICAgIGNvbXBsZXRpb25IYW5kbGVyKG1fbGltaXRzTmF2aWdhdGlv
bnNUb0FwcEJvdW5kRG9tYWlucyk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpkaXNhYmxlU2Vy
dmljZVdvcmtlckVudGl0bGVtZW50SW5OZXR3b3JrUHJvY2VzcygpCiB7CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCBhNDMwYTUxM2NlMWZlYzY5YTQzNmVhMTFkYWJiM2U3NjY4
YWYxNmM0Li5kNDYzNzIzNzYyN2U5ZGQ1NzEwZDBiZGE1Mzg4NjVmOThhNTUyODdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTc0Miw2ICsxNzQyLDggQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0TmVlZHNET01XaW5kb3dSZXNpemVFdmVudCgpOwogCiAgICAgdm9p
ZCBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIGlzRm9yY2VkSW50b0FwcEJvdW5kTW9kZVRlc3Rpbmco
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisKICAgICBPcHRpb25hbDxOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbigpIGNvbnN0
IHsgcmV0dXJuIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjsgfQogCiAgICAgdm9pZCBk
aXNhYmxlU2VydmljZVdvcmtlckVudGl0bGVtZW50SW5OZXR3b3JrUHJvY2VzcygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURh
dGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29j
b2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IDFiZDUzNTFkZmFlNmY1NTFjNmMwMTQx
OThlYTc3NDhmODZkMDY4ZjkuLmQ2MjlhNmQ0MTM4ZGJiM2YwYzA3NzY1OGU2OGY0NjE4ZWQ5YWRk
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29h
L1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTQ1OSwxMSArNDU5
LDYgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjplbnN1cmVBcHBCb3VuZERvbWFpbnMoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChjb25zdCBIYXNoU2UKICAgICB9KTsKIH0KIAotc3RhdGljIGJvb2wg
c2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91bmQoY29uc3QgVVJMJiByZXF1ZXN0VVJMKQot
ewotICAgIHJldHVybiByZXF1ZXN0VVJMLnByb3RvY29sSXNBYm91dCgpIHx8IHJlcXVlc3RVUkwu
cHJvdG9jb2xJc0RhdGEoKSB8fCByZXF1ZXN0VVJMLnByb3RvY29sSXNCbG9iKCkgfHwgcmVxdWVz
dFVSTC5pc0xvY2FsRmlsZSgpOwotfQotCiB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmJlZ2luQXBw
Qm91bmREb21haW5DaGVjayhjb25zdCBVUkwmIHJlcXVlc3RVUkwsIFdlYkZyYW1lUG9saWN5TGlz
dGVuZXJQcm94eSYgbGlzdGVuZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsK
QEAgLTQ3NiwxMCArNDcxLDYgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpiZWdpbkFwcEJvdW5k
RG9tYWluQ2hlY2soY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBXZWJGcmFtZVAKICAgICAgICAgICAg
IGxpc3RlbmVyLT5kaWRSZWNlaXZlQXBwQm91bmREb21haW5SZXN1bHQoV1RGOjpudWxsb3B0KTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBpZiAoc2hvdWxkVHJlYXRV
UkxQcm90b2NvbEFzQXBwQm91bmQocmVxdWVzdFVSTCkpIHsKLSAgICAgICAgICAgIGxpc3RlbmVy
LT5kaWRSZWNlaXZlQXBwQm91bmREb21haW5SZXN1bHQoTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW46Olllcyk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KICAgICAgICAgbGlzdGVu
ZXItPmRpZFJlY2VpdmVBcHBCb3VuZERvbWFpblJlc3VsdChkb21haW5zLmNvbnRhaW5zKFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluKHJlcXVlc3RVUkwpKSA/IE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluOjpZZXMgOiBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6Tm8pOwogICAgIH0pOwog
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE3
NTU5ZTY2NWNlYWIxOGI3MDBlNmNmOTE5OGVlZTY2NDVmZWIzYjUuLjZlMzA0NWJiNDc0NTQwNDRh
ZjE1N2U1MzM1MGI1MTk2Yjc3MDU5ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMC0wNS0xNCAgS2F0ZSBDaGVu
ZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBBdHRyaWJ1dGUgbm9u
LW5ldHdvcmsgbG9hZHMgYW5kIGxvYWRzIHdpdGggaHRtbCBzdHJpbmdzIGFzIGF1dG9tYXRpY2Fs
bHkgYXBwLWJvdW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTE5MTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzMTU3ODAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBuZXcgdGVzdHMgdG8g
Y2hlY2sgdGhhdCBXZWJWaWV3IGxvYWRzIHdpdGggSFRNTCBzdHJpbmdzIGhhdmUKKyAgICAgICAg
cHJvcGVyIGJlaGF2aW9yLgorCisgICAgICAgIFNvbWUgdGVzdHMgbmVlZCB0byB0ZXN0IGJlaGF2
aW9yIG9uIGFwcC1ib3VuZCBkb21haW5zIG9uIHdlYnZpZXdzIHdoaWNoIGRvIG5vdCBzcGVjaWZ5
CisgICAgICAgIGxpbWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnMuIFNpbmNlIGxvY2Fs
IGZpbGVzIG5vdyBkbyB0aGlzCisgICAgICAgIGF1dG9tYXRpY2FsbHksIHRoaXMgcGF0Y2ggdXBk
YXRlcyB0aG9zZSB0byB1c2UgYWN0dWFsIGFwcC1ib3VuZAorICAgICAgICBkb21haW5zIGZyb20g
dGhlIFdLQXBwQm91bmREb21haW5zIGxpc3QgaW5zdGVhZCB0byBtYWludGFpbiBiZWhhdmlvci4K
KworICAgICAgICBSZW1vdmUgbGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlucyBmb3Ig
bG9jYWwgZmlsZXMgdG8gbWFrZSBzdXJlCisgICAgICAgIHRoZXkgYXJlIGZvcmNlZCBpbnRvIHRo
aXMgbW9kZSBhdXRvbWF0aWNhbGx5LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tOgorICAgICAgICAoLVtJbkFwcEJyb3dz
ZXJTY2hlbWVIYW5kbGVyIHdlYlZpZXc6c3RhcnRVUkxTY2hlbWVUYXNrOl0pOgorICAgICAgICAo
VEVTVCk6CisKIDIwMjAtMDUtMTMgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtGbGF0cGFrIFNES10gUHJvcGVyIGhhbmRsaW5nIG9mIHNjY2FjaGUg
c2NoZWR1bGVyIFVSTCBjb21tYW5kLWxpbmUgYXJndW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5t
bQppbmRleCAzZGQ1MDMwZDRhM2QyZDhjZjdhZmU5NDZjZjA5NWQ4NzkxNTA3MWJjLi4zNmVhM2Rm
YWJmMjA2NGI2ZWYyYjlmMGZjY2ZiNjgxYmQ0NzgzODkyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0luQXBwQnJvd3NlclByaXZhY3kubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5
Lm1tCkBAIC0xMDIsNiArMTAyLDggQEAgc3RhdGljIE5TU3RyaW5nICogY29uc3QgdXNlclNjcmlw
dFNvdXJjZSA9IEAid2luZG93LndrVXNlclNjcmlwdEluamVjdGVkID0gdHJ1ZSIKICAgICAgICAg
cmVzcG9uc2UgPSBAIjxib2R5IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Jz48aWZyYW1l
IHNyYz0naW4tYXBwLWJyb3dzZXI6Ly8vaW4tYXBwLWJyb3dzZXItcHJpdmFjeS10ZXN0LXVzZXIt
c3R5bGUtc2hlZXRzJz48L2lmcmFtZT48L2JvZHk+IjsKICAgICBlbHNlIGlmIChbdGFzay5yZXF1
ZXN0LlVSTC5wYXRoIGlzRXF1YWxUb1N0cmluZzpAIi9pbi1hcHAtYnJvd3Nlci1wcml2YWN5LXRl
c3QtbWVzc2FnZS1oYW5kbGVyIl0pCiAgICAgICAgIHJlc3BvbnNlID0gQCI8Ym9keSBzdHlsZT0n
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Jz48L2JvZHk+PHNjcmlwdD5pZiAod2luZG93LndlYmtp
dC5tZXNzYWdlSGFuZGxlcnMpXG53aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFu
ZGxlci5wb3N0TWVzc2FnZSgnRmFpbGVkJyk7IFxuZWxzZSBcbiBkb2N1bWVudC5ib2R5LnN0eWxl
LmJhY2tncm91bmQgPSAncmVkJzs8L3NjcmlwdD4iOworICAgIGVsc2UgaWYgKFt0YXNrLnJlcXVl
c3QuVVJMLnBhdGggaXNFcXVhbFRvU3RyaW5nOkAiL2FwcC1ib3VuZC1kb21haW4tbG9hZCJdKQor
ICAgICAgICByZXNwb25zZSA9IEAiPGJvZHk+PC9ib2R5PiI7CiAKICAgICBbdGFzayBkaWRSZWNl
aXZlUmVzcG9uc2U6W1tbTlNVUkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhVUkw6dGFzay5yZXF1
ZXN0LlVSTCBNSU1FVHlwZTpAInRleHQvaHRtbCIgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOnJlc3Bv
bnNlLmxlbmd0aCB0ZXh0RW5jb2RpbmdOYW1lOm5pbF0gYXV0b3JlbGVhc2VdXTsKICAgICBbdGFz
ayBkaWRSZWNlaXZlRGF0YTpbcmVzcG9uc2UgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5n
RW5jb2RpbmddXTsKQEAgLTI3Miw3ICsyNzQsNiBAQCBURVNUKEluQXBwQnJvd3NlclByaXZhY3ks
IExvY2FsRmlsZXNBcmVBcHBCb3VuZCkKIHsKICAgICBpbml0aWFsaXplSW5BcHBCcm93c2VyUHJp
dmFjeVRlc3RTZXR0aW5ncygpOwogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Ci0gICAgW2NvbmZpZ3VyYXRpb24g
c2V0TGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWluczpZRVNdOwogCiAgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICBOU1VSTFJl
cXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUg
bWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJpbi1hcHAtYnJvd3Nlci1wcml2YWN5LWxvY2Fs
LWZpbGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJ
LnJlc291cmNlcyJdXTsKQEAgLTI4MCw4ICsyODEsOCBAQCBURVNUKEluQXBwQnJvd3NlclByaXZh
Y3ksIExvY2FsRmlsZXNBcmVBcHBCb3VuZCkKICAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CiAKICAgICBpc0RvbmUgPSBmYWxzZTsKLSAgICBbd2ViVmlldyBf
aXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjpeKEJPT0wgaXNBcHBCb3VuZCkgewotICAgICAg
ICBFWFBFQ1RfVFJVRShpc0FwcEJvdW5kKTsKKyAgICBbd2ViVmlldyBfaXNGb3JjZWRJbnRvQXBw
Qm91bmRNb2RlOl4oQk9PTCBpc0ZvcmNlZEludG9BcHBCb3VuZE1vZGUpIHsKKyAgICAgICAgRVhQ
RUNUX1RSVUUoaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKTsKICAgICAgICAgY2xlYW5VcEluQXBw
QnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKICAgICAgICAgaXNEb25lID0gdHJ1ZTsKICAg
ICB9XTsKQEAgLTI5MiwxNSArMjkzLDE0IEBAIFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgRGF0
YUZpbGVzQXJlQXBwQm91bmQpCiB7CiAgICAgaW5pdGlhbGl6ZUluQXBwQnJvd3NlclByaXZhY3lU
ZXN0U2V0dGluZ3MoKTsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwotICAgIFtjb25maWd1cmF0aW9uIHNldExp
bWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnM6WUVTXTsKIAogICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFpl
cm8gY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAImRhdGE6dGV4dC9odG1sLHN0YXJ0Il1dXTsKICAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9y
RGlkRmluaXNoTmF2aWdhdGlvbl07CiAKICAgICBpc0RvbmUgPSBmYWxzZTsKLSAgICBbd2ViVmll
dyBfaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjpeKEJPT0wgaXNBcHBCb3VuZCkgewotICAg
ICAgICBFWFBFQ1RfVFJVRShpc0FwcEJvdW5kKTsKKyAgICBbd2ViVmlldyBfaXNGb3JjZWRJbnRv
QXBwQm91bmRNb2RlOl4oQk9PTCBpc0ZvcmNlZEludG9BcHBCb3VuZE1vZGUpIHsKKyAgICAgICAg
RVhQRUNUX1RSVUUoaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKTsKICAgICAgICAgY2xlYW5VcElu
QXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKICAgICAgICAgaXNEb25lID0gdHJ1ZTsK
ICAgICB9XTsKQEAgLTMxMSwxNSArMzExLDE0IEBAIFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwg
QWJvdXRGaWxlc0FyZUFwcEJvdW5kKQogewogICAgIGluaXRpYWxpemVJbkFwcEJyb3dzZXJQcml2
YWN5VGVzdFNldHRpbmdzKCk7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKLSAgICBbY29uZmlndXJhdGlvbiBz
ZXRMaW1pdHNOYXZpZ2F0aW9uc1RvQXBwQm91bmREb21haW5zOllFU107CiAKICAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1Jl
Y3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhT
dHJpbmc6QCJhYm91dDpibGFuayJdXV07CiAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZp
bmlzaE5hdmlnYXRpb25dOwogCiAgICAgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgX2lz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46XihCT09MIGlzQXBwQm91bmQpIHsKLSAgICAgICAg
RVhQRUNUX1RSVUUoaXNBcHBCb3VuZCk7CisgICAgW3dlYlZpZXcgX2lzRm9yY2VkSW50b0FwcEJv
dW5kTW9kZTpeKEJPT0wgaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKSB7CisgICAgICAgIEVYUEVD
VF9UUlVFKGlzRm9yY2VkSW50b0FwcEJvdW5kTW9kZSk7CiAgICAgICAgIGNsZWFuVXBJbkFwcEJy
b3dzZXJQcml2YWN5VGVzdFNldHRpbmdzKCk7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAg
fV07CkBAIC04OTQsNyArODkzLDcgQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBOYXZpZ2F0
ZUF3YXlGcm9tQXBwQm91bmREb21haW5XaXRoQXBwQm91bmRGbGFnRmFpbHMpCiAgICAgW3dlYlZp
ZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKICAgICAKICAgICAvLyBO
YXZpZ2F0ZSB0byBhbiBhcHAtYm91bmQgZG9tYWluIGFuZCBleHBlY3QgYSBzdWNjZXNzZnVsIGxv
YWQuCi0gICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaW4tYXBwLWJyb3dz
ZXItcHJpdmFjeS1sb2NhbC1maWxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5
OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0
ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImlu
LWFwcC1icm93c2VyOi8vYXBwbGUuY29tL2FwcC1ib3VuZC1kb21haW4tbG9hZCJdXTsKICAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKICAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZp
bmlzaE5hdmlnYXRpb25dOwogICAgIApAQCAtOTI0LDcgKzkyMyw3IEBAIFRFU1QoSW5BcHBCcm93
c2VyUHJpdmFjeSwgQXBwQm91bmREb21haW5XaXRob3V0RmxhZ1RyZWF0ZWRBc05vbkFwcEJvdW5k
KQogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAg
ICAgCiAgICAgLy8gTmF2aWdhdGUgdG8gYW4gYXBwLWJvdW5kIGRvbWFpbiBhbmQgZXhwZWN0IGEg
c3VjY2Vzc2Z1bCBsb2FkLgotICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpA
ImluLWFwcC1icm93c2VyLXByaXZhY3ktbG9jYWwtZmlsZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwi
IHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIE5TVVJMUmVx
dWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJpbi1hcHAtYnJvd3NlcjovL2FwcGxlLmNvbS9hcHAtYm91bmQtZG9tYWluLWxv
YWQiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAgICAgW2RlbGVnYXRl
IHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKIApAQCAtOTUzLDcgKzk1Miw3IEBAIFRFU1Qo
SW5BcHBCcm93c2VyUHJpdmFjeSwgV2ViVmlld1dpdGhvdXRBcHBCb3VuZEZsYWdDYW5GcmVlbHlO
YXZpZ2F0ZSkKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0
KCldOwogICAgIAogICAgIC8vIE5hdmlnYXRlIHRvIGFuIGFwcC1ib3VuZCBkb21haW4gYW5kIGV4
cGVjdCBhIHN1Y2Nlc3NmdWwgbG9hZC4KLSAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVz
b3VyY2U6QCJpbi1hcHAtYnJvd3Nlci1wcml2YWN5LWxvY2FsLWZpbGUiIHdpdGhFeHRlbnNpb246
QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBO
U1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VS
TCBVUkxXaXRoU3RyaW5nOkAiaW4tYXBwLWJyb3dzZXI6Ly9hcHBsZS5jb20vYXBwLWJvdW5kLWRv
bWFpbi1sb2FkIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogICAgIFtk
ZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CiAKQEAgLTk2NSw3ICs5NjQsNyBA
QCBURVNUKEluQXBwQnJvd3NlclByaXZhY3ksIFdlYlZpZXdXaXRob3V0QXBwQm91bmRGbGFnQ2Fu
RnJlZWx5TmF2aWdhdGUpCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmUpOwog
CiAgICAgLy8gTmF2aWdhdGUgdG8gYW4gbm9uIGFwcC1ib3VuZCBkb21haW4gYW5kIGV4cGVjdCBh
IHN1Y2Nlc3NmdWwgbG9hZC4KLSAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImluLWFwcC1icm93c2VyOi8vL2luLWFwcC1icm93
c2VyLXByaXZhY3ktdGVzdC11c2VyLXN0eWxlLXNoZWV0cyJdXTsKKyAgICByZXF1ZXN0ID0gW05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImluLWFwcC1i
cm93c2VyOi8vaW4tYXBwLWJyb3dzZXItcHJpdmFjeS10ZXN0LXVzZXItc3R5bGUtc2hlZXRzIl1d
OwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogICAgIFtkZWxlZ2F0ZSB3YWl0
Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CiAgICAgCkBAIC0xMDAyLDcgKzEwMDEsNyBAQCBURVNU
KEluQXBwQnJvd3NlclByaXZhY3ksIFdlYlZpZXdDYW5ub3RVcGRhdGVBcHBCb3VuZEZsYWdPbmNl
U2V0KQogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07
CiAgICAgCiAgICAgLy8gTmF2aWdhdGUgdG8gYW4gYXBwLWJvdW5kIGRvbWFpbiBhbmQgZXhwZWN0
IGEgc3VjY2Vzc2Z1bCBsb2FkLgotICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJj
ZTpAImluLWFwcC1icm93c2VyLXByaXZhY3ktbG9jYWwtZmlsZSIgd2l0aEV4dGVuc2lvbjpAImh0
bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIE5TVVJM
UmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVS
TFdpdGhTdHJpbmc6QCJpbi1hcHAtYnJvd3NlcjovL2FwcGxlLmNvbS9hcHAtYm91bmQtZG9tYWlu
LWxvYWQiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAgICAgW2RlbGVn
YXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKIApAQCAtMTA3Myw2ICsxMDcyLDU1IEBA
IFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgV2ViVmlld0NhdGVnb3J5KQogICAgIGNsZWFuVXBJ
bkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRpbmdzKCk7CiB9CiAKK1RFU1QoSW5BcHBCcm93c2Vy
UHJpdmFjeSwgTG9hZEZyb21IVE1MU3RyaW5nc1N1Y2NlZWRzSWZBcHBCb3VuZCkKK3sKKyAgICBp
bml0aWFsaXplSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpOworICAgIGlzRG9uZSA9
IGZhbHNlOworCisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIHNjaGVtZUhhbmRsZXIgPSBhZG9w
dE5TKFtbSW5BcHBCcm93c2VyU2NoZW1lSGFuZGxlciBhbGxvY10gaW5pdF0pOworICAgIFtjb25m
aWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6c2NoZW1lSGFuZGxlci5nZXQoKSBmb3JVUkxT
Y2hlbWU6QCJpbi1hcHAtYnJvd3NlciJdOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMo
W0FwcEJvdW5kRG9tYWluRGVsZWdhdGUgbmV3XSk7CisKKyAgICBOU1N0cmluZyAqSFRNTCA9IEAi
PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxpbWcgc3JjPSdpbi1hcHAtYnJvd3NlcjovLy9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5LXRlc3QtdXNlci1zdHlsZS1zaGVldHMvJz48L2ltZz48L2JvZHk+
PC9odG1sPiI7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNv
bmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6
ZGVsZWdhdGUuZ2V0KCldOworCisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6SFRNTCBiYXNl
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaW4tYXBwLWJyb3dzZXI6Ly9hcHBsZS5jb20vIl1d
OworICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBjbGVh
blVwSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpOworfQorCitURVNUKEluQXBwQnJv
d3NlclByaXZhY3ksIExvYWRGcm9tSFRNTFN0cmluZ3NGYWlsc0lmTm90QXBwQm91bmQpCit7Cisg
ICAgaW5pdGlhbGl6ZUluQXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKKyAgICBpc0Rv
bmUgPSBmYWxzZTsKKworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byBzY2hlbWVIYW5kbGVyID0g
YWRvcHROUyhbW0luQXBwQnJvd3NlclNjaGVtZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBb
Y29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOnNjaGVtZUhhbmRsZXIuZ2V0KCkgZm9y
VVJMU2NoZW1lOkAiaW4tYXBwLWJyb3dzZXIiXTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9w
dE5TKFtBcHBCb3VuZERvbWFpbkRlbGVnYXRlIG5ld10pOworCisgICAgTlNTdHJpbmcgKkhUTUwg
PSBAIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48aW1nIHNyYz0naW4tYXBwLWJyb3dzZXI6Ly8v
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS10ZXN0LXVzZXItc3R5bGUtc2hlZXRzLyc+PC9pbWc+PC9i
b2R5PjwvaHRtbD4iOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlv
bjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVn
YXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkhUTUwg
YmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImluLWFwcC1icm93c2VyOi8vL2luLWFwcC1i
cm93c2VyLXByaXZhY3ktdGVzdC11c2VyLWFnZW50LXNjcmlwdCJdXTsKKyAgICBOU0Vycm9yICpl
cnJvciA9IFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbkVycm9y
XTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24sIEAiQXBw
LWJvdW5kIGRvbWFpbiBmYWlsdXJlIik7CisKKyAgICBpc0RvbmUgPSBmYWxzZTsKKyAgICBbd2Vi
VmlldyBfaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlOl4oQk9PTCBpc0ZvcmNlZEludG9BcHBCb3Vu
ZE1vZGUpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKTsK
KyAgICAgICAgY2xlYW5VcEluQXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKKyAgICAg
ICAgaXNEb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmlzRG9uZSk7Cit9CisKICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjZW5k
aWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399408</attachid>
            <date>2020-05-14 14:25:27 -0700</date>
            <delta_ts>2020-05-14 17:50:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211913-20200514142526.patch</filename>
            <type>text/plain</type>
            <size>20643</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNTg0ZTBjZGFhYWJmODE1
NjVhZjViZGZhY2RkYjAzODJkNzdhYjUuLjYyN2VmMGMzYWNlZjU5NGRjNjU4MjY1YTFlZTU3YWEw
MDg1MjM4NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjAtMDUtMTQgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlIG5v
bi1uZXR3b3JrIGxvYWRzIGFuZCBsb2FkcyB3aXRoIGh0bWwgc3RyaW5ncyBhcyBhdXRvbWF0aWNh
bGx5IGFwcC1ib3VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjExOTEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzE1NzgwMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgbG9naWMgZnJvbSBX
ZWJzaXRlRGF0YVN0b3JlQ29jb2EgdG8gV2ViUGFnZVByb3h5IHRvIGNoZWNrIGZvcgorICAgICAg
ICBzcGVjaWFsIGFwcC1ib3VuZCBwcm90b2NvbHMgYW5kIHNldCBtX2xpbWl0c05hdmlnYXRpb25U
b0FwcEJvdW5kRG9tYWlucworICAgICAgICB0byBmb3JjZSB0aGVzZSBXZWJWaWV3cyBpbnRvIGFw
cC1ib3VuZCBtb2RlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlOl0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAg
ICBUZXN0aW5nIFNQSSB0byBzZWUgd2hldGhlciBtX2xpbWl0c05hdmlnYXRpb25zVG9BcHBCb3Vu
ZERvbWFpbnMgd2FzCisgICAgICAgIHNldC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWREYXRhKToKKyAg
ICAgICAgQ2hlY2sgZm9yIGh0bWwgc3RyaW5nIGxvYWRzIGFuZCBmb3JjZSBXZWJWaWV3IGludG8g
YXBwLWJvdW5kIG1vZGUgaWYgbmVlZGVkLgorICAgICAgICBObyBuZWVkIHRvIHdvcnJ5IGFib3V0
IHNldHRpbmcgdGhpcyB2YXJpYWJsZSBldmVuIGlmIHRoZSBhcHAgaGFzbid0CisgICAgICAgIG9w
dGVkIGluIGJlY2F1c2Ugc2V0SXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbkFuZENoZWNrSWZQ
ZXJtaXR0ZWQKKyAgICAgICAgZG9lcyBhbiBlYXJseSByZXR1cm4gYmVmb3JlIGNoZWNraW5nIHRo
aXMgdmFyaWFibGUgaWYKKyAgICAgICAgV0tBcHBCb3VuZERvbWFpbnMgZG9lcyBub3QgZXhpc3Qu
CisKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91bmQpOgor
ICAgICAgICBBZGRzIGphdmFzY3JpcHQgcHJvdG9jb2xzIHRvIHRoaXMgY2hlY2suCisKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRJc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
QW5kQ2hlY2tJZlBlcm1pdHRlZCk6CisgICAgICAgIENoZWNrIGZvciBzcGVjaWFsIHByb3RvY29s
cyBoZXJlIGFuZCBmb3JjZSBXZWJWaWV3IGludG8gYXBwLWJvdW5kIG1vZGUuCisKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojppc0ZvcmNlZEludG9BcHBCb3VuZE1vZGVUZXN0aW5nKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6YmVnaW5BcHBCb3VuZERvbWFpbkNoZWNrKToKKyAgICAg
ICAgKFdlYktpdDo6c2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91bmQpOiBEZWxldGVkLgor
CiAyMDIwLTA1LTEzICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OKHIyNjA1NzEpOiBSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbiBkb2Vzbid0
IGhhdmUgaXRzIHNjcm9sbCBjaGFuZ2UgYXBwbGllZCB0byBsYXllcnMgYW55bW9yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZTY2NGI2
NTFkNTRkNDE0MWQ0MDA1ZDFhYzdjNGI3MjVlNWMwMGI4MC4uYzU3NWE0NDJhMDYyMzBkZGY1MDFl
NmI0ZjQyNjNiNWM1YTIzNGVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yNjE2LDYgKzI2MTYsMTMgQEAgc3RhdGljIGlubGluZSBX
ZWJLaXQ6OkZpbmRPcHRpb25zIHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kT3B0
aW9ucykKICAgICB9KTsKIH0KIAorLSAodm9pZClfaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlOih2
b2lkKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgX3BhZ2UtPmlzRm9yY2VkSW50
b0FwcEJvdW5kTW9kZVRlc3RpbmcoW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNv
bXBsZXRpb25IYW5kbGVyKV0gKGJvb2wgaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGlzRm9yY2VkSW50b0FwcEJvdW5kTW9kZSk7CisgICAgfSk7
Cit9CisKIC0gKHZvaWQpX3NlcnZpY2VXb3JrZXJzRW5hYmxlZDoodm9pZCheKShCT09MKSljb21w
bGV0aW9uSGFuZGxlcgogewogICAgIGF1dG8gZW5hYmxlZCA9IFtfY29uZmlndXJhdGlvbiBwcmVm
ZXJlbmNlc10tPl9wcmVmZXJlbmNlcy5nZXQoKS0+c2VydmljZVdvcmtlcnNFbmFibGVkKCkgfHwg
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2aWNl
V29ya2VyRW5hYmxlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNDUzOTUwNmQwMzkxOGQ2MTRmYjZmZTY2ODQz
ZDdhYWYwN2NkMTUyNC4uZGY3YjdiYWVlODdlY2RhMDcwNDZkYTJiZDkzOTFhZTc4MzEyYTlmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCkBAIC0zNDEsNiArMzQxLDcgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAtICh2b2lk
KV9nZXRQcm9jZXNzRGlzcGxheU5hbWVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5T
U3RyaW5nICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIC0gKHZvaWQpX2lzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW46KHZvaWQoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX2lzRm9yY2Vk
SW50b0FwcEJvdW5kTW9kZToodm9pZCheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiAtICh2b2lk
KV9ncmFudEFjY2Vzc1RvUHJlZmVyZW5jZVNlcnZpY2UgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggMmQ5M2VlODUzMTkxZDE1M2U3MDEzOGJhNzMyZWVlZDFlZTYx
YWE3ZS4uNTM3YTFjMTNlMmZhYWExOThkN2IyZjg5YjFlODVjNmFhNjhkYzA2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMzkxLDYgKzEzOTEsOSBAQCBS
ZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWREYXRhKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgZGF0YSwgYwogewogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9h
ZGluZywgImxvYWREYXRhOiIpOwogCisgICAgaWYgKE1JTUVUeXBlID09IFN0cmluZygidGV4dC9o
dG1sIikgJiYgIVdFQl9QQUdFX1BST1hZX0FERElUSU9OU19TRVRJU05BVklHQVRJTkdUT0FQUEJP
VU5ERE9NQUlOKQorICAgICAgICBtX2xpbWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnMg
PSB0cnVlOworCiAgICAgaWYgKG1faXNDbG9zZWQpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChMb2FkaW5nLCAibG9hZERhdGE6IHBhZ2UgaXMgY2xvc2VkIik7CiAgICAgICAgIHJl
dHVybiBudWxscHRyOwpAQCAtMzExMSw2ICszMTE0LDEzIEBAIHByaXZhdGU6CiAgICAgUG9saWN5
Q2hlY2tJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIH07CiAKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorc3RhdGljIGJvb2wgc2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91bmQoY29uc3Qg
VVJMJiByZXF1ZXN0VVJMKQoreworICAgIHJldHVybiByZXF1ZXN0VVJMLnByb3RvY29sSXNBYm91
dCgpIHx8IHJlcXVlc3RVUkwucHJvdG9jb2xJc0RhdGEoKSB8fCByZXF1ZXN0VVJMLnByb3RvY29s
SXNCbG9iKCkgfHwgcmVxdWVzdFVSTC5pc0xvY2FsRmlsZSgpIHx8IHJlcXVlc3RVUkwucHJvdG9j
b2xJc0phdmFTY3JpcHQoKTsKK30KKyNlbmRpZgorCiBib29sIFdlYlBhZ2VQcm94eTo6c2V0SXNO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbkFuZENoZWNrSWZQZXJtaXR0ZWQoYm9vbCBpc01haW5G
cmFtZSwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKIHsKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQpAQCAtMzEyNCw2ICszMTM0LDEwIEBAIGJvb2wgV2ViUGFnZVByb3h5OjpzZXRJ
c05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluQW5kQ2hlY2tJZlBlcm1pdHRlZChib29sIGlzTWFp
CiAgICAgICAgIGlmIChtX2lnbm9yZXNBcHBCb3VuZERvbWFpbnMpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgCisgICAgICAgIGlmIChzaG91bGRUcmVhdFVSTFByb3RvY29sQXNB
cHBCb3VuZChyZXF1ZXN0VVJMKSkgeworICAgICAgICAgICAgaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbiA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpZZXM7CisgICAgICAgICAgICBt
X2xpbWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnMgPSB0cnVlOworICAgICAgICB9CiAg
ICAgICAgIGlmIChtX2xpbWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnMpIHsKICAgICAg
ICAgICAgIGlmICgqaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiA9PSBOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbjo6Tm8pCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzE0
OSw2ICszMTYzLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojppc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvCiAgICAgY29tcGxldGlvbkhh
bmRsZXIobV9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluICYmICgqbV9pc05hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluID09IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpZZXMpKTsKIH0K
IAordm9pZCBXZWJQYWdlUHJveHk6OmlzRm9yY2VkSW50b0FwcEJvdW5kTW9kZVRlc3RpbmcoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBj
b21wbGV0aW9uSGFuZGxlcihtX2xpbWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnMpOwor
fQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlzYWJsZVNlcnZpY2VXb3JrZXJFbnRpdGxlbWVudElu
TmV0d29ya1Byb2Nlc3MoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9S
TShNQUNDQVRBTFlTVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
YTQzMGE1MTNjZTFmZWM2OWE0MzZlYTExZGFiYjNlNzY2OGFmMTZjNC4uZDQ2MzcyMzc2MjdlOWRk
NTcxMGQwYmRhNTM4ODY1Zjk4YTU1Mjg3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTE3NDIsNiArMTc0Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE5lZWRz
RE9NV2luZG93UmVzaXplRXZlbnQoKTsKIAogICAgIHZvaWQgaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpblRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisgICAgdm9p
ZCBpc0ZvcmNlZEludG9BcHBCb3VuZE1vZGVUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYpOworCiAgICAgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4oKSBjb25zdCB7IHJldHVybiBtX2lzTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW47IH0KIAogICAgIHZvaWQgZGlzYWJsZVNlcnZpY2VXb3JrZXJFbnRp
dGxlbWVudEluTmV0d29ya1Byb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2Nv
YS5tbQppbmRleCAxYmQ1MzUxZGZhZTZmNTUxYzZjMDE0MTk4ZWE3NzQ4Zjg2ZDA2OGY5Li5kNjI5
YTZkNDEzOGRiYjNmMGMwNzc2NThlNjhmNDYxOGVkOWFkZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0
ZURhdGFTdG9yZUNvY29hLm1tCkBAIC00NTksMTEgKzQ1OSw2IEBAIHZvaWQgV2Vic2l0ZURhdGFT
dG9yZTo6ZW5zdXJlQXBwQm91bmREb21haW5zKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
SGFzaFNlCiAgICAgfSk7CiB9CiAKLXN0YXRpYyBib29sIHNob3VsZFRyZWF0VVJMUHJvdG9jb2xB
c0FwcEJvdW5kKGNvbnN0IFVSTCYgcmVxdWVzdFVSTCkKLXsKLSAgICByZXR1cm4gcmVxdWVzdFVS
TC5wcm90b2NvbElzQWJvdXQoKSB8fCByZXF1ZXN0VVJMLnByb3RvY29sSXNEYXRhKCkgfHwgcmVx
dWVzdFVSTC5wcm90b2NvbElzQmxvYigpIHx8IHJlcXVlc3RVUkwuaXNMb2NhbEZpbGUoKTsKLX0K
LQogdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpiZWdpbkFwcEJvdW5kRG9tYWluQ2hlY2soY29uc3Qg
VVJMJiByZXF1ZXN0VVJMLCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkmIGxpc3RlbmVyKQog
ewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CkBAIC00NzYsMTAgKzQ3MSw2IEBAIHZv
aWQgV2Vic2l0ZURhdGFTdG9yZTo6YmVnaW5BcHBCb3VuZERvbWFpbkNoZWNrKGNvbnN0IFVSTCYg
cmVxdWVzdFVSTCwgV2ViRnJhbWVQCiAgICAgICAgICAgICBsaXN0ZW5lci0+ZGlkUmVjZWl2ZUFw
cEJvdW5kRG9tYWluUmVzdWx0KFdURjo6bnVsbG9wdCk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KLSAgICAgICAgaWYgKHNob3VsZFRyZWF0VVJMUHJvdG9jb2xBc0FwcEJvdW5kKHJl
cXVlc3RVUkwpKSB7Ci0gICAgICAgICAgICBsaXN0ZW5lci0+ZGlkUmVjZWl2ZUFwcEJvdW5kRG9t
YWluUmVzdWx0KE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpZZXMpOwotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB9CiAgICAgICAgIGxpc3RlbmVyLT5kaWRSZWNlaXZlQXBwQm91bmRE
b21haW5SZXN1bHQoZG9tYWlucy5jb250YWlucyhXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbihy
ZXF1ZXN0VVJMKSkgPyBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6WWVzIDogTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW46Ok5vKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNzU1OWU2NjVjZWFiMThiNzAwZTZjZjkx
OThlZWU2NjQ1ZmViM2I1Li42ZTMwNDViYjQ3NDU0MDQ0YWYxNTdlNTMzNTBiNTE5NmI3NzA1OWY1
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMjAtMDUtMTQgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBh
cHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlIG5vbi1uZXR3b3JrIGxvYWRzIGFuZCBsb2Fk
cyB3aXRoIGh0bWwgc3RyaW5ncyBhcyBhdXRvbWF0aWNhbGx5IGFwcC1ib3VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExOTEzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82MzE1NzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgbmV3IHRlc3RzIHRvIGNoZWNrIHRoYXQgV2ViVmlldyBsb2Fk
cyB3aXRoIEhUTUwgc3RyaW5ncyBoYXZlCisgICAgICAgIHByb3BlciBiZWhhdmlvci4KKworICAg
ICAgICBTb21lIHRlc3RzIG5lZWQgdG8gdGVzdCBiZWhhdmlvciBvbiBhcHAtYm91bmQgZG9tYWlu
cyBvbiB3ZWJ2aWV3cyB3aGljaCBkbyBub3Qgc3BlY2lmeQorICAgICAgICBsaW1pdHNOYXZpZ2F0
aW9uc1RvQXBwQm91bmREb21haW5zLiBTaW5jZSBsb2NhbCBmaWxlcyBub3cgZG8gdGhpcworICAg
ICAgICBhdXRvbWF0aWNhbGx5LCB0aGlzIHBhdGNoIHVwZGF0ZXMgdGhvc2UgdG8gdXNlIGFjdHVh
bCBhcHAtYm91bmQKKyAgICAgICAgZG9tYWlucyBmcm9tIHRoZSBXS0FwcEJvdW5kRG9tYWlucyBs
aXN0IGluc3RlYWQgdG8gbWFpbnRhaW4gYmVoYXZpb3IuCisKKyAgICAgICAgUmVtb3ZlIGxpbWl0
c05hdmlnYXRpb25zVG9BcHBCb3VuZERvbWFpbnMgZm9yIGxvY2FsIGZpbGVzIHRvIG1ha2Ugc3Vy
ZQorICAgICAgICB0aGV5IGFyZSBmb3JjZWQgaW50byB0aGlzIG1vZGUgYXV0b21hdGljYWxseS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2Vy
UHJpdmFjeS5tbToKKyAgICAgICAgKC1bSW5BcHBCcm93c2VyU2NoZW1lSGFuZGxlciB3ZWJWaWV3
OnN0YXJ0VVJMU2NoZW1lVGFzazpdKToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIwLTA1LTEzICBQ
aGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbRmxhdHBh
ayBTREtdIFByb3BlciBoYW5kbGluZyBvZiBzY2NhY2hlIHNjaGVkdWxlciBVUkwgY29tbWFuZC1s
aW5lIGFyZ3VtZW50CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0luQXBwQnJvd3NlclByaXZhY3kubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0luQXBwQnJvd3NlclByaXZhY3kubW0KaW5kZXggM2RkNTAzMGQ0YTNkMmQ4
Y2Y3YWZlOTQ2Y2YwOTVkODc5MTUwNzFiYy4uNmVmMzIxOGE3ZWFhOWQ3OWI1NDBiNTBkYTE0YTZk
ZGE4ZGY3NzJkNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbQpAQCAtMTAyLDYgKzEwMiw4IEBA
IHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IHVzZXJTY3JpcHRTb3VyY2UgPSBAIndpbmRvdy53a1Vz
ZXJTY3JpcHRJbmplY3RlZCA9IHRydWUiCiAgICAgICAgIHJlc3BvbnNlID0gQCI8Ym9keSBzdHls
ZT0nYmFja2dyb3VuZC1jb2xvcjogcmVkOyc+PGlmcmFtZSBzcmM9J2luLWFwcC1icm93c2VyOi8v
L2luLWFwcC1icm93c2VyLXByaXZhY3ktdGVzdC11c2VyLXN0eWxlLXNoZWV0cyc+PC9pZnJhbWU+
PC9ib2R5PiI7CiAgICAgZWxzZSBpZiAoW3Rhc2sucmVxdWVzdC5VUkwucGF0aCBpc0VxdWFsVG9T
dHJpbmc6QCIvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS10ZXN0LW1lc3NhZ2UtaGFuZGxlciJdKQog
ICAgICAgICByZXNwb25zZSA9IEAiPGJvZHkgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6IGdyZWVu
Oyc+PC9ib2R5PjxzY3JpcHQ+aWYgKHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzKVxud2lu
ZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoJ0ZhaWxl
ZCcpOyBcbmVsc2UgXG4gZG9jdW1lbnQuYm9keS5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JlZCc7PC9z
Y3JpcHQ+IjsKKyAgICBlbHNlIGlmIChbdGFzay5yZXF1ZXN0LlVSTC5wYXRoIGlzRXF1YWxUb1N0
cmluZzpAIi9hcHAtYm91bmQtZG9tYWluLWxvYWQiXSkKKyAgICAgICAgcmVzcG9uc2UgPSBAIjxi
b2R5PjwvYm9keT4iOwogCiAgICAgW3Rhc2sgZGlkUmVjZWl2ZVJlc3BvbnNlOltbW05TVVJMUmVz
cG9uc2UgYWxsb2NdIGluaXRXaXRoVVJMOnRhc2sucmVxdWVzdC5VUkwgTUlNRVR5cGU6QCJ0ZXh0
L2h0bWwiIGV4cGVjdGVkQ29udGVudExlbmd0aDpyZXNwb25zZS5sZW5ndGggdGV4dEVuY29kaW5n
TmFtZTpuaWxdIGF1dG9yZWxlYXNlXV07CiAgICAgW3Rhc2sgZGlkUmVjZWl2ZURhdGE6W3Jlc3Bv
bnNlIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXV07CkBAIC0yNzIsNyAr
Mjc0LDYgQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBMb2NhbEZpbGVzQXJlQXBwQm91bmQp
CiB7CiAgICAgaW5pdGlhbGl6ZUluQXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKICAg
ICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOwotICAgIFtjb25maWd1cmF0aW9uIHNldExpbWl0c05hdmlnYXRpb25zVG9B
cHBCb3VuZERvbWFpbnM6WUVTXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291
cmNlOkAiaW4tYXBwLWJyb3dzZXItcHJpdmFjeS1sb2NhbC1maWxlIiB3aXRoRXh0ZW5zaW9uOkAi
aHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CkBAIC0yODAs
OCArMjgxLDggQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBMb2NhbEZpbGVzQXJlQXBwQm91
bmQpCiAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwogCiAg
ICAgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgX2lzTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW46XihCT09MIGlzQXBwQm91bmQpIHsKLSAgICAgICAgRVhQRUNUX1RSVUUoaXNBcHBCb3Vu
ZCk7CisgICAgW3dlYlZpZXcgX2lzRm9yY2VkSW50b0FwcEJvdW5kTW9kZTpeKEJPT0wgaXNGb3Jj
ZWRJbnRvQXBwQm91bmRNb2RlKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKGlzRm9yY2VkSW50b0Fw
cEJvdW5kTW9kZSk7CiAgICAgICAgIGNsZWFuVXBJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRp
bmdzKCk7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAgfV07CkBAIC0yOTIsMTUgKzI5Mywx
NCBAQCBURVNUKEluQXBwQnJvd3NlclByaXZhY3ksIERhdGFGaWxlc0FyZUFwcEJvdW5kKQogewog
ICAgIGluaXRpYWxpemVJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRpbmdzKCk7CiAgICAgYXV0
byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2Nd
IGluaXRdKTsKLSAgICBbY29uZmlndXJhdGlvbiBzZXRMaW1pdHNOYXZpZ2F0aW9uc1RvQXBwQm91
bmREb21haW5zOllFU107CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbi5nZXQoKV0pOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJkYXRhOnRleHQvaHRtbCxzdGFy
dCJdXV07CiAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwog
CiAgICAgaXNEb25lID0gZmFsc2U7Ci0gICAgW3dlYlZpZXcgX2lzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW46XihCT09MIGlzQXBwQm91bmQpIHsKLSAgICAgICAgRVhQRUNUX1RSVUUoaXNBcHBC
b3VuZCk7CisgICAgW3dlYlZpZXcgX2lzRm9yY2VkSW50b0FwcEJvdW5kTW9kZTpeKEJPT0wgaXNG
b3JjZWRJbnRvQXBwQm91bmRNb2RlKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKGlzRm9yY2VkSW50
b0FwcEJvdW5kTW9kZSk7CiAgICAgICAgIGNsZWFuVXBJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNl
dHRpbmdzKCk7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAgfV07CkBAIC0zMTEsMTUgKzMx
MSwxNCBAQCBURVNUKEluQXBwQnJvd3NlclByaXZhY3ksIEFib3V0RmlsZXNBcmVBcHBCb3VuZCkK
IHsKICAgICBpbml0aWFsaXplSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpOwogICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7Ci0gICAgW2NvbmZpZ3VyYXRpb24gc2V0TGltaXRzTmF2aWdhdGlvbnNUb0Fw
cEJvdW5kRG9tYWluczpZRVNdOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RX
S1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBjb25maWd1cmF0aW9uOmNv
bmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1
ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1d
OwogICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKIAogICAg
IGlzRG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IF9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluOl4oQk9PTCBpc0FwcEJvdW5kKSB7Ci0gICAgICAgIEVYUEVDVF9UUlVFKGlzQXBwQm91bmQp
OworICAgIFt3ZWJWaWV3IF9pc0ZvcmNlZEludG9BcHBCb3VuZE1vZGU6XihCT09MIGlzRm9yY2Vk
SW50b0FwcEJvdW5kTW9kZSkgeworICAgICAgICBFWFBFQ1RfVFJVRShpc0ZvcmNlZEludG9BcHBC
b3VuZE1vZGUpOwogICAgICAgICBjbGVhblVwSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5n
cygpOwogICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwpAQCAtODk0LDcgKzg5Myw3IEBA
IFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgTmF2aWdhdGVBd2F5RnJvbUFwcEJvdW5kRG9tYWlu
V2l0aEFwcEJvdW5kRmxhZ0ZhaWxzKQogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0
ZTpkZWxlZ2F0ZS5nZXQoKV07CiAgICAgCiAgICAgLy8gTmF2aWdhdGUgdG8gYW4gYXBwLWJvdW5k
IGRvbWFpbiBhbmQgZXhwZWN0IGEgc3VjY2Vzc2Z1bCBsb2FkLgotICAgIE5TVVJMUmVxdWVzdCAq
cmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBVUkxGb3JSZXNvdXJjZTpAImluLWFwcC1icm93c2VyLXByaXZhY3ktbG9jYWwtZmlsZSIg
d2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3Vy
Y2VzIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJpbi1hcHAtYnJvd3NlcjovL2FwcGxlLmNv
bS9hcHAtYm91bmQtZG9tYWluLWxvYWQiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVx
dWVzdF07CiAgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKICAgICAK
QEAgLTkyNCw3ICs5MjMsNyBAQCBURVNUKEluQXBwQnJvd3NlclByaXZhY3ksIEFwcEJvdW5kRG9t
YWluV2l0aG91dEZsYWdUcmVhdGVkQXNOb25BcHBCb3VuZCkKICAgICBbd2ViVmlldyBzZXROYXZp
Z2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogICAgIAogICAgIC8vIE5hdmlnYXRlIHRv
IGFuIGFwcC1ib3VuZCBkb21haW4gYW5kIGV4cGVjdCBhIHN1Y2Nlc3NmdWwgbG9hZC4KLSAgICBO
U1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJpbi1hcHAtYnJvd3Nlci1wcml2YWN5
LWxvY2FsLWZpbGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxS
ZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaW4tYXBwLWJyb3dz
ZXI6Ly9hcHBsZS5jb20vYXBwLWJvdW5kLWRvbWFpbi1sb2FkIl1dOwogICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OnJlcXVlc3RdOwogICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdh
dGlvbl07CiAKQEAgLTk1Myw3ICs5NTIsNyBAQCBURVNUKEluQXBwQnJvd3NlclByaXZhY3ksIFdl
YlZpZXdXaXRob3V0QXBwQm91bmRGbGFnQ2FuRnJlZWx5TmF2aWdhdGUpCiAgICAgW3dlYlZpZXcg
c2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKICAgICAKICAgICAvLyBOYXZp
Z2F0ZSB0byBhbiBhcHAtYm91bmQgZG9tYWluIGFuZCBleHBlY3QgYSBzdWNjZXNzZnVsIGxvYWQu
Ci0gICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaW4tYXBwLWJyb3dzZXIt
cHJpdmFjeS1sb2NhbC1maWxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAi
VGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0g
W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImluLWFw
cC1icm93c2VyOi8vYXBwbGUuY29tL2FwcC1ib3VuZC1kb21haW4tbG9hZCJdXTsKICAgICBbd2Vi
VmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKICAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZpbmlz
aE5hdmlnYXRpb25dOwogCkBAIC05NjUsNyArOTY0LDcgQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2
YWN5LCBXZWJWaWV3V2l0aG91dEFwcEJvdW5kRmxhZ0NhbkZyZWVseU5hdmlnYXRlKQogICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKIAogICAgIC8vIE5hdmlnYXRlIHRvIGFu
IG5vbiBhcHAtYm91bmQgZG9tYWluIGFuZCBleHBlY3QgYSBzdWNjZXNzZnVsIGxvYWQuCi0gICAg
cmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJp
bmc6QCJpbi1hcHAtYnJvd3NlcjovLy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5LXRlc3QtdXNlci1z
dHlsZS1zaGVldHMiXV07CisgICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJpbi1hcHAtYnJvd3NlcjovL2luLWFwcC1icm93c2Vy
LXByaXZhY3ktdGVzdC11c2VyLXN0eWxlLXNoZWV0cyJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpyZXF1ZXN0XTsKICAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25d
OwogICAgIApAQCAtMTAwMiw3ICsxMDAxLDcgQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBX
ZWJWaWV3Q2Fubm90VXBkYXRlQXBwQm91bmRGbGFnT25jZVNldCkKICAgICBbd2ViVmlldyBzZXRO
YXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogICAgIAogICAgIC8vIE5hdmlnYXRl
IHRvIGFuIGFwcC1ib3VuZCBkb21haW4gYW5kIGV4cGVjdCBhIHN1Y2Nlc3NmdWwgbG9hZC4KLSAg
ICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltb
TlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJpbi1hcHAtYnJvd3Nlci1wcml2
YWN5LWxvY2FsLWZpbGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0
V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaW4tYXBwLWJy
b3dzZXI6Ly9hcHBsZS5jb20vYXBwLWJvdW5kLWRvbWFpbi1sb2FkIl1dOwogICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2
aWdhdGlvbl07CiAKQEAgLTEwNzMsNiArMTA3Miw4MiBAQCBURVNUKEluQXBwQnJvd3NlclByaXZh
Y3ksIFdlYlZpZXdDYXRlZ29yeSkKICAgICBjbGVhblVwSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RT
ZXR0aW5ncygpOwogfQogCitURVNUKEluQXBwQnJvd3NlclByaXZhY3ksIExvYWRGcm9tSFRNTFN0
cmluZ3NTdWNjZWVkc0lmQXBwQm91bmQpCit7CisgICAgaW5pdGlhbGl6ZUluQXBwQnJvd3NlclBy
aXZhY3lUZXN0U2V0dGluZ3MoKTsKKyAgICBpc0RvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gY29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgYXV0byBzY2hlbWVIYW5kbGVyID0gYWRvcHROUyhbW0luQXBwQnJvd3NlclNjaGVt
ZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVI
YW5kbGVyOnNjaGVtZUhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiaW4tYXBwLWJyb3dzZXIi
XTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtBcHBCb3VuZERvbWFpbkRlbGVnYXRl
IG5ld10pOworCisgICAgTlNTdHJpbmcgKkhUTUwgPSBAIjxodG1sPjxoZWFkPjwvaGVhZD48Ym9k
eT48aW1nIHNyYz0naW4tYXBwLWJyb3dzZXI6Ly8vaW4tYXBwLWJyb3dzZXItcHJpdmFjeS10ZXN0
LXVzZXItc3R5bGUtc2hlZXRzLyc+PC9pbWc+PC9ib2R5PjwvaHRtbD4iOworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVj
dCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7Cisg
ICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAg
IFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkhUTUwgYmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAImluLWFwcC1icm93c2VyOi8vYXBwbGUuY29tLyJdXTsKKyAgICBbZGVsZWdhdGUgd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgY2xlYW5VcEluQXBwQnJvd3NlclByaXZhY3lU
ZXN0U2V0dGluZ3MoKTsKK30KKworVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBMb2FkRnJvbUhU
TUxTdHJpbmdOb0Jhc2VVUkxJc0FwcEJvdW5kKQoreworICAgIGluaXRpYWxpemVJbkFwcEJyb3dz
ZXJQcml2YWN5VGVzdFNldHRpbmdzKCk7CisgICAgaXNEb25lID0gZmFsc2U7CisKKyAgICBhdXRv
IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIGF1dG8gc2NoZW1lSGFuZGxlciA9IGFkb3B0TlMoW1tJbkFwcEJyb3dzZXJT
Y2hlbWVIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2No
ZW1lSGFuZGxlcjpzY2hlbWVIYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAImluLWFwcC1icm93
c2VyIl07CisKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbQXBwQm91bmREb21haW5EZWxl
Z2F0ZSBuZXddKTsKKworICAgIE5TU3RyaW5nICpIVE1MID0gQCI8aHRtbD48aGVhZD48L2hlYWQ+
PGJvZHk+PGltZyBzcmM9J2luLWFwcC1icm93c2VyOi8vL2luLWFwcC1icm93c2VyLXByaXZhY3kt
dGVzdC11c2VyLXN0eWxlLXNoZWV0cy8nPjwvaW1nPjwvYm9keT48L2h0bWw+IjsKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0p
OworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisK
KyAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpIVE1MIGJhc2VVUkw6bmlsXTsKKyAgICBbZGVs
ZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgaXNEb25lID0gZmFsc2U7
CisgICAgW3dlYlZpZXcgX2lzRm9yY2VkSW50b0FwcEJvdW5kTW9kZTpeKEJPT0wgaXNGb3JjZWRJ
bnRvQXBwQm91bmRNb2RlKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKGlzRm9yY2VkSW50b0FwcEJv
dW5kTW9kZSk7CisgICAgICAgIGNsZWFuVXBJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRpbmdz
KCk7CisgICAgICAgIGlzRG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZpc0RvbmUpOworfQorCitURVNUKEluQXBwQnJvd3NlclByaXZhY3ksIExvYWRG
cm9tSFRNTFN0cmluZ3NGYWlsc0lmTm90QXBwQm91bmQpCit7CisgICAgaW5pdGlhbGl6ZUluQXBw
QnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKKyAgICBpc0RvbmUgPSBmYWxzZTsKKworICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgYXV0byBzY2hlbWVIYW5kbGVyID0gYWRvcHROUyhbW0luQXBwQnJv
d3NlclNjaGVtZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbY29uZmlndXJhdGlvbiBzZXRV
UkxTY2hlbWVIYW5kbGVyOnNjaGVtZUhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiaW4tYXBw
LWJyb3dzZXIiXTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtBcHBCb3VuZERvbWFp
bkRlbGVnYXRlIG5ld10pOworCisgICAgTlNTdHJpbmcgKkhUTUwgPSBAIjxodG1sPjxoZWFkPjwv
aGVhZD48Ym9keT48aW1nIHNyYz0naW4tYXBwLWJyb3dzZXI6Ly8vaW4tYXBwLWJyb3dzZXItcHJp
dmFjeS10ZXN0LXVzZXItc3R5bGUtc2hlZXRzLyc+PC9pbWc+PC9ib2R5PjwvaHRtbD4iOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdl
dCgpXSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgp
XTsKKworICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkhUTUwgYmFzZVVSTDpbTlNVUkwgVVJM
V2l0aFN0cmluZzpAImluLWFwcC1icm93c2VyOi8vL2luLWFwcC1icm93c2VyLXByaXZhY3ktdGVz
dC11c2VyLWFnZW50LXNjcmlwdCJdXTsKKyAgICBOU0Vycm9yICplcnJvciA9IFtkZWxlZ2F0ZSB3
YWl0Rm9yRGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbkVycm9yXTsKKyAgICBFWFBFQ1RfV0tf
U1RSRVEoZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24sIEAiQXBwLWJvdW5kIGRvbWFpbiBmYWls
dXJlIik7CisKKyAgICBpc0RvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfaXNGb3JjZWRJbnRv
QXBwQm91bmRNb2RlOl4oQk9PTCBpc0ZvcmNlZEludG9BcHBCb3VuZE1vZGUpIHsKKyAgICAgICAg
RVhQRUNUX1RSVUUoaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKTsKKyAgICAgICAgY2xlYW5VcElu
QXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKKyAgICAgICAgaXNEb25lID0gdHJ1ZTsK
KyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7Cit9CisKICNl
bmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9T
X0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399431</attachid>
            <date>2020-05-14 17:50:30 -0700</date>
            <delta_ts>2020-05-14 18:21:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-211913-20200514175029.patch</filename>
            <type>text/plain</type>
            <size>20635</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNTg0ZTBjZGFhYWJmODE1
NjVhZjViZGZhY2RkYjAzODJkNzdhYjUuLjZmNmY0MDIwMzVhNWYyOGY3ZjFhMzZiMDIxNTZkNTAy
ZTMyNGUzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjAtMDUtMTQgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQXR0cmlidXRlIG5v
bi1uZXR3b3JrIGxvYWRzIGFuZCBsb2FkcyB3aXRoIGh0bWwgc3RyaW5ncyBhcyBhdXRvbWF0aWNh
bGx5IGFwcC1ib3VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjExOTEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzE1NzgwMQorCisgICAgICAg
IFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgTW92ZSBsb2dpYyBmcm9tIFdl
YnNpdGVEYXRhU3RvcmVDb2NvYSB0byBXZWJQYWdlUHJveHkgdG8gY2hlY2sgZm9yCisgICAgICAg
IHNwZWNpYWwgYXBwLWJvdW5kIHByb3RvY29scyBhbmQgc2V0IG1fbGltaXRzTmF2aWdhdGlvblRv
QXBwQm91bmREb21haW5zCisgICAgICAgIHRvIGZvcmNlIHRoZXNlIFdlYlZpZXdzIGludG8gYXBw
LWJvdW5kIG1vZGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9pc0ZvcmNlZEludG9BcHBCb3VuZE1vZGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAg
IFRlc3RpbmcgU1BJIHRvIHNlZSB3aGV0aGVyIG1fbGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5k
RG9tYWlucyB3YXMKKyAgICAgICAgc2V0LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZERhdGEpOgorICAg
ICAgICBDaGVjayBmb3IgaHRtbCBzdHJpbmcgbG9hZHMgYW5kIGZvcmNlIFdlYlZpZXcgaW50byBh
cHAtYm91bmQgbW9kZSBpZiBuZWVkZWQuCisgICAgICAgIE5vIG5lZWQgdG8gd29ycnkgYWJvdXQg
c2V0dGluZyB0aGlzIHZhcmlhYmxlIGV2ZW4gaWYgdGhlIGFwcCBoYXNuJ3QKKyAgICAgICAgb3B0
ZWQgaW4gYmVjYXVzZSBzZXRJc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluQW5kQ2hlY2tJZlBl
cm1pdHRlZAorICAgICAgICBkb2VzIGFuIGVhcmx5IHJldHVybiBiZWZvcmUgY2hlY2tpbmcgdGhp
cyB2YXJpYWJsZSBpZgorICAgICAgICBXS0FwcEJvdW5kRG9tYWlucyBkb2VzIG5vdCBleGlzdC4K
KworICAgICAgICAoV2ViS2l0OjpzaG91bGRUcmVhdFVSTFByb3RvY29sQXNBcHBCb3VuZCk6Cisg
ICAgICAgIEFkZHMgamF2YXNjcmlwdCBwcm90b2NvbHMgdG8gdGhpcyBjaGVjay4KKworICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW5B
bmRDaGVja0lmUGVybWl0dGVkKToKKyAgICAgICAgQ2hlY2sgZm9yIHNwZWNpYWwgcHJvdG9jb2xz
IGhlcmUgYW5kIGZvcmNlIFdlYlZpZXcgaW50byBhcHAtYm91bmQgbW9kZS4KKworICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmlzRm9yY2VkSW50b0FwcEJvdW5kTW9kZVRlc3RpbmcpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpiZWdpbkFwcEJvdW5kRG9tYWluQ2hlY2spOgorICAgICAg
ICAoV2ViS2l0OjpzaG91bGRUcmVhdFVSTFByb3RvY29sQXNBcHBCb3VuZCk6IERlbGV0ZWQuCisK
IDIwMjAtMDUtMTMgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT04ocjI2MDU3MSk6IFJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uIGRvZXNuJ3Qg
aGF2ZSBpdHMgc2Nyb2xsIGNoYW5nZSBhcHBsaWVkIHRvIGxheWVycyBhbnltb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBlNjY0YjY1
MWQ1NGQ0MTQxZDQwMDVkMWFjN2M0YjcyNWU1YzAwYjgwLi5jNTc1YTQ0MmEwNjIzMGRkZjUwMWU2
YjRmNDI2M2I1YzVhMjM0ZWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KQEAgLTI2MTYsNiArMjYxNiwxMyBAQCBzdGF0aWMgaW5saW5lIFdl
YktpdDo6RmluZE9wdGlvbnMgdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmRPcHRp
b25zKQogICAgIH0pOwogfQogCistICh2b2lkKV9pc0ZvcmNlZEludG9BcHBCb3VuZE1vZGU6KHZv
aWQoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBfcGFnZS0+aXNGb3JjZWRJbnRv
QXBwQm91bmRNb2RlVGVzdGluZyhbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29t
cGxldGlvbkhhbmRsZXIpXSAoYm9vbCBpc0ZvcmNlZEludG9BcHBCb3VuZE1vZGUpIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKTsKKyAgICB9KTsK
K30KKwogLSAodm9pZClfc2VydmljZVdvcmtlcnNFbmFibGVkOih2b2lkKF4pKEJPT0wpKWNvbXBs
ZXRpb25IYW5kbGVyCiB7CiAgICAgYXV0byBlbmFibGVkID0gW19jb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXS0+X3ByZWZlcmVuY2VzLmdldCgpLT5zZXJ2aWNlV29ya2Vyc0VuYWJsZWQoKSB8fCBX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNlcnZpY2VX
b3JrZXJFbmFibGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCA0NTM5NTA2ZDAzOTE4ZDYxNGZiNmZlNjY4NDNk
N2FhZjA3Y2QxNTI0Li5kZjdiN2JhZWU4N2VjZGEwNzA0NmRhMmJkOTM5MWFlNzgzMTJhOWYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmgKQEAgLTM0MSw2ICszNDEsNyBAQCBmb3IgdGhpcyBwcm9wZXJ0eS4KIC0gKHZvaWQp
X2dldFByb2Nlc3NEaXNwbGF5TmFtZVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNT
dHJpbmcgKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAodm9pZClfaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbjoodm9pZCheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfaXNGb3JjZWRJ
bnRvQXBwQm91bmRNb2RlOih2b2lkKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIC0gKHZvaWQp
X2dyYW50QWNjZXNzVG9QcmVmZXJlbmNlU2VydmljZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCAyZDkzZWU4NTMxOTFkMTUzZTcwMTM4YmE3MzJlZWVkMWVlNjFh
YTdlLi43YTA5ZTc3MTBmOTJiYWZhNDU3OGU0NWQzYTI2YjQ4ZDFmYjk4MTExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEzOTEsNiArMTM5MSw5IEBAIFJl
ZlB0cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG9hZERhdGEoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiBkYXRhLCBjCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2Fk
aW5nLCAibG9hZERhdGE6Iik7CiAKKyAgICBpZiAoTUlNRVR5cGUgPT0gInRleHQvaHRtbCJfcyAm
JiAhV0VCX1BBR0VfUFJPWFlfQURESVRJT05TX1NFVElTTkFWSUdBVElOR1RPQVBQQk9VTkRET01B
SU4pCisgICAgICAgIG1fbGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlucyA9IHRydWU7
CisKICAgICBpZiAobV9pc0Nsb3NlZCkgewogICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KExvYWRpbmcsICJsb2FkRGF0YTogcGFnZSBpcyBjbG9zZWQiKTsKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CkBAIC0zMTExLDYgKzMxMTQsMTMgQEAgcHJpdmF0ZToKICAgICBQb2xpY3lDaGVja0lk
ZW50aWZpZXIgbV9pZGVudGlmaWVyOwogfTsKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitz
dGF0aWMgYm9vbCBzaG91bGRUcmVhdFVSTFByb3RvY29sQXNBcHBCb3VuZChjb25zdCBVUkwmIHJl
cXVlc3RVUkwpCit7CisgICAgcmV0dXJuIHJlcXVlc3RVUkwucHJvdG9jb2xJc0Fib3V0KCkgfHwg
cmVxdWVzdFVSTC5wcm90b2NvbElzRGF0YSgpIHx8IHJlcXVlc3RVUkwucHJvdG9jb2xJc0Jsb2Io
KSB8fCByZXF1ZXN0VVJMLmlzTG9jYWxGaWxlKCkgfHwgcmVxdWVzdFVSTC5wcm90b2NvbElzSmF2
YVNjcmlwdCgpOworfQorI2VuZGlmCisKIGJvb2wgV2ViUGFnZVByb3h5OjpzZXRJc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluQW5kQ2hlY2tJZlBlcm1pdHRlZChib29sIGlzTWFpbkZyYW1lLCBj
b25zdCBVUkwmIHJlcXVlc3RVUkwsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
PiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCkBAIC0zMTI0LDYgKzMxMzQsMTAgQEAgYm9vbCBXZWJQYWdlUHJveHk6OnNldElzTmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW5BbmRDaGVja0lmUGVybWl0dGVkKGJvb2wgaXNNYWkKICAgICAg
ICAgaWYgKG1faWdub3Jlc0FwcEJvdW5kRG9tYWlucykKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICAKKyAgICAgICAgaWYgKHNob3VsZFRyZWF0VVJMUHJvdG9jb2xBc0FwcEJvdW5k
KHJlcXVlc3RVUkwpKSB7CisgICAgICAgICAgICBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
ID0gTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46OlllczsKKyAgICAgICAgICAgIG1fbGltaXRz
TmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlucyA9IHRydWU7CisgICAgICAgIH0KICAgICAgICAg
aWYgKG1fbGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlucykgewogICAgICAgICAgICAg
aWYgKCppc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluID09IE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluOjpObykKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMTQ5LDYgKzMx
NjMsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW5U
ZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm8KICAgICBjb21wbGV0aW9uSGFuZGxlciht
X2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gJiYgKCptX2lzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4gPT0gTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46OlllcykpOwogfQogCit2b2lk
IFdlYlBhZ2VQcm94eTo6aXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlVGVzdGluZyhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGNvbXBsZXRp
b25IYW5kbGVyKG1fbGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlucyk7Cit9CisKIHZv
aWQgV2ViUGFnZVByb3h5OjpkaXNhYmxlU2VydmljZVdvcmtlckVudGl0bGVtZW50SW5OZXR3b3Jr
UHJvY2VzcygpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBhNDMwYTUx
M2NlMWZlYzY5YTQzNmVhMTFkYWJiM2U3NjY4YWYxNmM0Li5kNDYzNzIzNzYyN2U5ZGQ1NzEwZDBi
ZGE1Mzg4NjVmOThhNTUyODdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMTc0Miw2ICsxNzQyLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0TmVlZHNET01XaW5k
b3dSZXNpemVFdmVudCgpOwogCiAgICAgdm9pZCBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
VGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIGlzRm9y
Y2VkSW50b0FwcEJvdW5kTW9kZVRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
Jik7CisKICAgICBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1faXNOYXZpZ2F0aW5nVG9BcHBC
b3VuZERvbWFpbjsgfQogCiAgICAgdm9pZCBkaXNhYmxlU2VydmljZVdvcmtlckVudGl0bGVtZW50
SW5OZXR3b3JrUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmlu
ZGV4IDFiZDUzNTFkZmFlNmY1NTFjNmMwMTQxOThlYTc3NDhmODZkMDY4ZjkuLmQ2MjlhNmQ0MTM4
ZGJiM2YwYzA3NzY1OGU2OGY0NjE4ZWQ5YWRkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0
b3JlQ29jb2EubW0KQEAgLTQ1OSwxMSArNDU5LDYgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpl
bnN1cmVBcHBCb3VuZERvbWFpbnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBIYXNoU2UK
ICAgICB9KTsKIH0KIAotc3RhdGljIGJvb2wgc2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91
bmQoY29uc3QgVVJMJiByZXF1ZXN0VVJMKQotewotICAgIHJldHVybiByZXF1ZXN0VVJMLnByb3Rv
Y29sSXNBYm91dCgpIHx8IHJlcXVlc3RVUkwucHJvdG9jb2xJc0RhdGEoKSB8fCByZXF1ZXN0VVJM
LnByb3RvY29sSXNCbG9iKCkgfHwgcmVxdWVzdFVSTC5pc0xvY2FsRmlsZSgpOwotfQotCiB2b2lk
IFdlYnNpdGVEYXRhU3RvcmU6OmJlZ2luQXBwQm91bmREb21haW5DaGVjayhjb25zdCBVUkwmIHJl
cXVlc3RVUkwsIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSYgbGlzdGVuZXIpCiB7CiAgICAg
QVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTQ3NiwxMCArNDcxLDYgQEAgdm9pZCBXZWJz
aXRlRGF0YVN0b3JlOjpiZWdpbkFwcEJvdW5kRG9tYWluQ2hlY2soY29uc3QgVVJMJiByZXF1ZXN0
VVJMLCBXZWJGcmFtZVAKICAgICAgICAgICAgIGxpc3RlbmVyLT5kaWRSZWNlaXZlQXBwQm91bmRE
b21haW5SZXN1bHQoV1RGOjpudWxsb3B0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQotICAgICAgICBpZiAoc2hvdWxkVHJlYXRVUkxQcm90b2NvbEFzQXBwQm91bmQocmVxdWVzdFVS
TCkpIHsKLSAgICAgICAgICAgIGxpc3RlbmVyLT5kaWRSZWNlaXZlQXBwQm91bmREb21haW5SZXN1
bHQoTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46Olllcyk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KICAgICAgICAgbGlzdGVuZXItPmRpZFJlY2VpdmVBcHBCb3VuZERvbWFpblJl
c3VsdChkb21haW5zLmNvbnRhaW5zKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluKHJlcXVlc3RV
UkwpKSA/IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpZZXMgOiBOYXZpZ2F0aW5nVG9BcHBC
b3VuZERvbWFpbjo6Tm8pOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE3NTU5ZTY2NWNlYWIxOGI3MDBlNmNmOTE5OGVlZTY2
NDVmZWIzYjUuLjZmNzAzODM0OTM2MTRjMzU5NTNkZWY0MWIzY2I2YzQ5MDMzOWE0MzAgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NiBAQAorMjAyMC0wNS0xNCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNv
bT4KKworICAgICAgICBBdHRyaWJ1dGUgbm9uLW5ldHdvcmsgbG9hZHMgYW5kIGxvYWRzIHdpdGgg
aHRtbCBzdHJpbmdzIGFzIGF1dG9tYXRpY2FsbHkgYXBwLWJvdW5kCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE5MTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzYzMTU3ODAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKwor
ICAgICAgICBBZGRzIG5ldyB0ZXN0cyB0byBjaGVjayB0aGF0IFdlYlZpZXcgbG9hZHMgd2l0aCBI
VE1MIHN0cmluZ3MgaGF2ZQorICAgICAgICBwcm9wZXIgYmVoYXZpb3IuCisKKyAgICAgICAgU29t
ZSB0ZXN0cyBuZWVkIHRvIHRlc3QgYmVoYXZpb3Igb24gYXBwLWJvdW5kIGRvbWFpbnMgb24gd2Vi
dmlld3Mgd2hpY2ggZG8gbm90IHNwZWNpZnkKKyAgICAgICAgbGltaXRzTmF2aWdhdGlvbnNUb0Fw
cEJvdW5kRG9tYWlucy4gU2luY2UgbG9jYWwgZmlsZXMgbm93IGRvIHRoaXMKKyAgICAgICAgYXV0
b21hdGljYWxseSwgdGhpcyBwYXRjaCB1cGRhdGVzIHRob3NlIHRvIHVzZSBhY3R1YWwgYXBwLWJv
dW5kCisgICAgICAgIGRvbWFpbnMgZnJvbSB0aGUgV0tBcHBCb3VuZERvbWFpbnMgbGlzdCBpbnN0
ZWFkIHRvIG1haW50YWluIGJlaGF2aW9yLgorCisgICAgICAgIFJlbW92ZSBsaW1pdHNOYXZpZ2F0
aW9uc1RvQXBwQm91bmREb21haW5zIGZvciBsb2NhbCBmaWxlcyB0byBtYWtlIHN1cmUKKyAgICAg
ICAgdGhleSBhcmUgZm9yY2VkIGludG8gdGhpcyBtb2RlIGF1dG9tYXRpY2FsbHkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0luQXBwQnJvd3NlclByaXZhY3ku
bW06CisgICAgICAgICgtW0luQXBwQnJvd3NlclNjaGVtZUhhbmRsZXIgd2ViVmlldzpzdGFydFVS
TFNjaGVtZVRhc2s6XSk6CisgICAgICAgIChURVNUKToKKwogMjAyMC0wNS0xMyAgUGhpbGlwcGUg
Tm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0ZsYXRwYWsgU0RLXSBQ
cm9wZXIgaGFuZGxpbmcgb2Ygc2NjYWNoZSBzY2hlZHVsZXIgVVJMIGNvbW1hbmQtbGluZSBhcmd1
bWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9J
bkFwcEJyb3dzZXJQcml2YWN5Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCmluZGV4IDNkZDUwMzBkNGEzZDJkOGNmN2FmZTk0
NmNmMDk1ZDg3OTE1MDcxYmMuLjZlZjMyMThhN2VhYTlkNzliNTQwYjUwZGExNGE2ZGRhOGRmNzcy
ZDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5B
cHBCcm93c2VyUHJpdmFjeS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0luQXBwQnJvd3NlclByaXZhY3kubW0KQEAgLTEwMiw2ICsxMDIsOCBAQCBzdGF0aWMg
TlNTdHJpbmcgKiBjb25zdCB1c2VyU2NyaXB0U291cmNlID0gQCJ3aW5kb3cud2tVc2VyU2NyaXB0
SW5qZWN0ZWQgPSB0cnVlIgogICAgICAgICByZXNwb25zZSA9IEAiPGJvZHkgc3R5bGU9J2JhY2tn
cm91bmQtY29sb3I6IHJlZDsnPjxpZnJhbWUgc3JjPSdpbi1hcHAtYnJvd3NlcjovLy9pbi1hcHAt
YnJvd3Nlci1wcml2YWN5LXRlc3QtdXNlci1zdHlsZS1zaGVldHMnPjwvaWZyYW1lPjwvYm9keT4i
OwogICAgIGVsc2UgaWYgKFt0YXNrLnJlcXVlc3QuVVJMLnBhdGggaXNFcXVhbFRvU3RyaW5nOkAi
L2luLWFwcC1icm93c2VyLXByaXZhY3ktdGVzdC1tZXNzYWdlLWhhbmRsZXIiXSkKICAgICAgICAg
cmVzcG9uc2UgPSBAIjxib2R5IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsnPjwvYm9k
eT48c2NyaXB0PmlmICh3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycylcbndpbmRvdy53ZWJr
aXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCdGYWlsZWQnKTsgXG5l
bHNlIFxuIGRvY3VtZW50LmJvZHkuc3R5bGUuYmFja2dyb3VuZCA9ICdyZWQnOzwvc2NyaXB0PiI7
CisgICAgZWxzZSBpZiAoW3Rhc2sucmVxdWVzdC5VUkwucGF0aCBpc0VxdWFsVG9TdHJpbmc6QCIv
YXBwLWJvdW5kLWRvbWFpbi1sb2FkIl0pCisgICAgICAgIHJlc3BvbnNlID0gQCI8Ym9keT48L2Jv
ZHk+IjsKIAogICAgIFt0YXNrIGRpZFJlY2VpdmVSZXNwb25zZTpbW1tOU1VSTFJlc3BvbnNlIGFs
bG9jXSBpbml0V2l0aFVSTDp0YXNrLnJlcXVlc3QuVVJMIE1JTUVUeXBlOkAidGV4dC9odG1sIiBl
eHBlY3RlZENvbnRlbnRMZW5ndGg6cmVzcG9uc2UubGVuZ3RoIHRleHRFbmNvZGluZ05hbWU6bmls
XSBhdXRvcmVsZWFzZV1dOwogICAgIFt0YXNrIGRpZFJlY2VpdmVEYXRhOltyZXNwb25zZSBkYXRh
VXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOwpAQCAtMjcyLDcgKzI3NCw2IEBA
IFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgTG9jYWxGaWxlc0FyZUFwcEJvdW5kKQogewogICAg
IGluaXRpYWxpemVJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRpbmdzKCk7CiAgICAgYXV0byBj
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKLSAgICBbY29uZmlndXJhdGlvbiBzZXRMaW1pdHNOYXZpZ2F0aW9uc1RvQXBwQm91bmRE
b21haW5zOllFU107CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbi5nZXQoKV0pOwogICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImlu
LWFwcC1icm93c2VyLXByaXZhY3ktbG9jYWwtZmlsZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1
YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOwpAQCAtMjgwLDggKzI4MSw4
IEBAIFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgTG9jYWxGaWxlc0FyZUFwcEJvdW5kKQogICAg
IFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKIAogICAgIGlzRG9u
ZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IF9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOl4o
Qk9PTCBpc0FwcEJvdW5kKSB7Ci0gICAgICAgIEVYUEVDVF9UUlVFKGlzQXBwQm91bmQpOworICAg
IFt3ZWJWaWV3IF9pc0ZvcmNlZEludG9BcHBCb3VuZE1vZGU6XihCT09MIGlzRm9yY2VkSW50b0Fw
cEJvdW5kTW9kZSkgeworICAgICAgICBFWFBFQ1RfVFJVRShpc0ZvcmNlZEludG9BcHBCb3VuZE1v
ZGUpOwogICAgICAgICBjbGVhblVwSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpOwog
ICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwpAQCAtMjkyLDE1ICsyOTMsMTQgQEAgVEVT
VChJbkFwcEJyb3dzZXJQcml2YWN5LCBEYXRhRmlsZXNBcmVBcHBCb3VuZCkKIHsKICAgICBpbml0
aWFsaXplSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpOwogICAgIGF1dG8gY29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7
Ci0gICAgW2NvbmZpZ3VyYXRpb24gc2V0TGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlu
czpZRVNdOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24u
Z2V0KCldKTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RX
aXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiZGF0YTp0ZXh0L2h0bWwsc3RhcnQiXV1dOwog
ICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKIAogICAgIGlz
RG9uZSA9IGZhbHNlOwotICAgIFt3ZWJWaWV3IF9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
Ol4oQk9PTCBpc0FwcEJvdW5kKSB7Ci0gICAgICAgIEVYUEVDVF9UUlVFKGlzQXBwQm91bmQpOwor
ICAgIFt3ZWJWaWV3IF9pc0ZvcmNlZEludG9BcHBCb3VuZE1vZGU6XihCT09MIGlzRm9yY2VkSW50
b0FwcEJvdW5kTW9kZSkgeworICAgICAgICBFWFBFQ1RfVFJVRShpc0ZvcmNlZEludG9BcHBCb3Vu
ZE1vZGUpOwogICAgICAgICBjbGVhblVwSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygp
OwogICAgICAgICBpc0RvbmUgPSB0cnVlOwogICAgIH1dOwpAQCAtMzExLDE1ICszMTEsMTQgQEAg
VEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBBYm91dEZpbGVzQXJlQXBwQm91bmQpCiB7CiAgICAg
aW5pdGlhbGl6ZUluQXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKICAgICBhdXRvIGNv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOwotICAgIFtjb25maWd1cmF0aW9uIHNldExpbWl0c05hdmlnYXRpb25zVG9BcHBCb3VuZERv
bWFpbnM6WUVTXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpjb25maWd1cmF0
aW9uLmdldCgpXSk7CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJsYW5rIl1dXTsKICAgICBb
d2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CiAKICAgICBpc0RvbmUg
PSBmYWxzZTsKLSAgICBbd2ViVmlldyBfaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjpeKEJP
T0wgaXNBcHBCb3VuZCkgewotICAgICAgICBFWFBFQ1RfVFJVRShpc0FwcEJvdW5kKTsKKyAgICBb
d2ViVmlldyBfaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlOl4oQk9PTCBpc0ZvcmNlZEludG9BcHBC
b3VuZE1vZGUpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoaXNGb3JjZWRJbnRvQXBwQm91bmRNb2Rl
KTsKICAgICAgICAgY2xlYW5VcEluQXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3MoKTsKICAg
ICAgICAgaXNEb25lID0gdHJ1ZTsKICAgICB9XTsKQEAgLTg5NCw3ICs4OTMsNyBAQCBURVNUKElu
QXBwQnJvd3NlclByaXZhY3ksIE5hdmlnYXRlQXdheUZyb21BcHBCb3VuZERvbWFpbldpdGhBcHBC
b3VuZEZsYWdGYWlscykKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdh
dGUuZ2V0KCldOwogICAgIAogICAgIC8vIE5hdmlnYXRlIHRvIGFuIGFwcC1ib3VuZCBkb21haW4g
YW5kIGV4cGVjdCBhIHN1Y2Nlc3NmdWwgbG9hZC4KLSAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJM
Rm9yUmVzb3VyY2U6QCJpbi1hcHAtYnJvd3Nlci1wcml2YWN5LWxvY2FsLWZpbGUiIHdpdGhFeHRl
bnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsK
KyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJM
OltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaW4tYXBwLWJyb3dzZXI6Ly9hcHBsZS5jb20vYXBwLWJv
dW5kLWRvbWFpbi1sb2FkIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwog
ICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CiAgICAgCkBAIC05MjQs
NyArOTIzLDcgQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBBcHBCb3VuZERvbWFpbldpdGhv
dXRGbGFnVHJlYXRlZEFzTm9uQXBwQm91bmQpCiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRl
bGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKICAgICAKICAgICAvLyBOYXZpZ2F0ZSB0byBhbiBhcHAt
Ym91bmQgZG9tYWluIGFuZCBleHBlY3QgYSBzdWNjZXNzZnVsIGxvYWQuCi0gICAgTlNVUkxSZXF1
ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1h
aW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaW4tYXBwLWJyb3dzZXItcHJpdmFjeS1sb2NhbC1m
aWxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCBy
ZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImluLWFwcC1icm93c2VyOi8vYXBw
bGUuY29tL2FwcC1ib3VuZC1kb21haW4tbG9hZCJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVz
dDpyZXF1ZXN0XTsKICAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwog
CkBAIC05NTMsNyArOTUyLDcgQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBXZWJWaWV3V2l0
aG91dEFwcEJvdW5kRmxhZ0NhbkZyZWVseU5hdmlnYXRlKQogICAgIFt3ZWJWaWV3IHNldE5hdmln
YXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAgICAgCiAgICAgLy8gTmF2aWdhdGUgdG8g
YW4gYXBwLWJvdW5kIGRvbWFpbiBhbmQgZXhwZWN0IGEgc3VjY2Vzc2Z1bCBsb2FkLgotICAgIE5T
VVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1
bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImluLWFwcC1icm93c2VyLXByaXZhY3kt
bG9jYWwtZmlsZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJL
aXRBUEkucmVzb3VyY2VzIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJpbi1hcHAtYnJvd3Nl
cjovL2FwcGxlLmNvbS9hcHAtYm91bmQtZG9tYWluLWxvYWQiXV07CiAgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6cmVxdWVzdF07CiAgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0
aW9uXTsKIApAQCAtOTY1LDcgKzk2NCw3IEBAIFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgV2Vi
Vmlld1dpdGhvdXRBcHBCb3VuZEZsYWdDYW5GcmVlbHlOYXZpZ2F0ZSkKICAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7CiAKICAgICAvLyBOYXZpZ2F0ZSB0byBhbiBub24gYXBw
LWJvdW5kIGRvbWFpbiBhbmQgZXhwZWN0IGEgc3VjY2Vzc2Z1bCBsb2FkLgotICAgIHJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaW4t
YXBwLWJyb3dzZXI6Ly8vaW4tYXBwLWJyb3dzZXItcHJpdmFjeS10ZXN0LXVzZXItc3R5bGUtc2hl
ZXRzIl1dOworICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VS
TCBVUkxXaXRoU3RyaW5nOkAiaW4tYXBwLWJyb3dzZXI6Ly9pbi1hcHAtYnJvd3Nlci1wcml2YWN5
LXRlc3QtdXNlci1zdHlsZS1zaGVldHMiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVx
dWVzdF07CiAgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKICAgICAK
QEAgLTEwMDIsNyArMTAwMSw3IEBAIFRFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgV2ViVmlld0Nh
bm5vdFVwZGF0ZUFwcEJvdW5kRmxhZ09uY2VTZXQpCiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlv
bkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKICAgICAKICAgICAvLyBOYXZpZ2F0ZSB0byBhbiBh
cHAtYm91bmQgZG9tYWluIGFuZCBleHBlY3QgYSBzdWNjZXNzZnVsIGxvYWQuCi0gICAgTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxl
IG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaW4tYXBwLWJyb3dzZXItcHJpdmFjeS1sb2Nh
bC1maWxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQ
SS5yZXNvdXJjZXMiXV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVz
dCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImluLWFwcC1icm93c2VyOi8v
YXBwbGUuY29tL2FwcC1ib3VuZC1kb21haW4tbG9hZCJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpyZXF1ZXN0XTsKICAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25d
OwogCkBAIC0xMDczLDYgKzEwNzIsODIgQEAgVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBXZWJW
aWV3Q2F0ZWdvcnkpCiAgICAgY2xlYW5VcEluQXBwQnJvd3NlclByaXZhY3lUZXN0U2V0dGluZ3Mo
KTsKIH0KIAorVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBMb2FkRnJvbUhUTUxTdHJpbmdzU3Vj
Y2VlZHNJZkFwcEJvdW5kKQoreworICAgIGluaXRpYWxpemVJbkFwcEJyb3dzZXJQcml2YWN5VGVz
dFNldHRpbmdzKCk7CisgICAgaXNEb25lID0gZmFsc2U7CisKKyAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IGF1dG8gc2NoZW1lSGFuZGxlciA9IGFkb3B0TlMoW1tJbkFwcEJyb3dzZXJTY2hlbWVIYW5kbGVy
IGFsbG9jXSBpbml0XSk7CisgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpz
Y2hlbWVIYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAImluLWFwcC1icm93c2VyIl07CisKKyAg
ICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbQXBwQm91bmREb21haW5EZWxlZ2F0ZSBuZXddKTsK
KworICAgIE5TU3RyaW5nICpIVE1MID0gQCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+PGltZyBz
cmM9J2luLWFwcC1icm93c2VyOi8vL2luLWFwcC1icm93c2VyLXByaXZhY3ktdGVzdC11c2VyLXN0
eWxlLXNoZWV0cy8nPjwvaW1nPjwvYm9keT48L2h0bWw+IjsKKyAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
ODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIFt3ZWJW
aWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2ViVmll
dyBsb2FkSFRNTFN0cmluZzpIVE1MIGJhc2VVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJpbi1h
cHAtYnJvd3NlcjovL2FwcGxlLmNvbS8iXV07CisgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5p
c2hOYXZpZ2F0aW9uXTsKKworICAgIGNsZWFuVXBJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRp
bmdzKCk7Cit9CisKK1RFU1QoSW5BcHBCcm93c2VyUHJpdmFjeSwgTG9hZEZyb21IVE1MU3RyaW5n
Tm9CYXNlVVJMSXNBcHBCb3VuZCkKK3sKKyAgICBpbml0aWFsaXplSW5BcHBCcm93c2VyUHJpdmFj
eVRlc3RTZXR0aW5ncygpOworICAgIGlzRG9uZSA9IGZhbHNlOworCisgICAgYXV0byBjb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
KyAgICBhdXRvIHNjaGVtZUhhbmRsZXIgPSBhZG9wdE5TKFtbSW5BcHBCcm93c2VyU2NoZW1lSGFu
ZGxlciBhbGxvY10gaW5pdF0pOworICAgIFtjb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRs
ZXI6c2NoZW1lSGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJpbi1hcHAtYnJvd3NlciJdOwor
CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW0FwcEJvdW5kRG9tYWluRGVsZWdhdGUgbmV3
XSk7CisKKyAgICBOU1N0cmluZyAqSFRNTCA9IEAiPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5Pjxp
bWcgc3JjPSdpbi1hcHAtYnJvd3NlcjovLy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5LXRlc3QtdXNl
ci1zdHlsZS1zaGVldHMvJz48L2ltZz48L2JvZHk+PC9odG1sPiI7CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBb
d2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgW3dl
YlZpZXcgbG9hZEhUTUxTdHJpbmc6SFRNTCBiYXNlVVJMOm5pbF07CisgICAgW2RlbGVnYXRlIHdh
aXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGlzRG9uZSA9IGZhbHNlOworICAgIFt3
ZWJWaWV3IF9pc0ZvcmNlZEludG9BcHBCb3VuZE1vZGU6XihCT09MIGlzRm9yY2VkSW50b0FwcEJv
dW5kTW9kZSkgeworICAgICAgICBFWFBFQ1RfVFJVRShpc0ZvcmNlZEludG9BcHBCb3VuZE1vZGUp
OworICAgICAgICBjbGVhblVwSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpOworICAg
ICAgICBpc0RvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmaXNEb25lKTsKK30KKworVEVTVChJbkFwcEJyb3dzZXJQcml2YWN5LCBMb2FkRnJvbUhUTUxT
dHJpbmdzRmFpbHNJZk5vdEFwcEJvdW5kKQoreworICAgIGluaXRpYWxpemVJbkFwcEJyb3dzZXJQ
cml2YWN5VGVzdFNldHRpbmdzKCk7CisgICAgaXNEb25lID0gZmFsc2U7CisKKyAgICBhdXRvIGNv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOworICAgIGF1dG8gc2NoZW1lSGFuZGxlciA9IGFkb3B0TlMoW1tJbkFwcEJyb3dzZXJTY2hl
bWVIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1l
SGFuZGxlcjpzY2hlbWVIYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAImluLWFwcC1icm93c2Vy
Il07CisKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbQXBwQm91bmREb21haW5EZWxlZ2F0
ZSBuZXddKTsKKworICAgIE5TU3RyaW5nICpIVE1MID0gQCI8aHRtbD48aGVhZD48L2hlYWQ+PGJv
ZHk+PGltZyBzcmM9J2luLWFwcC1icm93c2VyOi8vL2luLWFwcC1icm93c2VyLXByaXZhY3ktdGVz
dC11c2VyLXN0eWxlLXNoZWV0cy8nPjwvaW1nPjwvYm9keT48L2h0bWw+IjsKKyAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwor
ICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAg
ICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpIVE1MIGJhc2VVUkw6W05TVVJMIFVSTFdpdGhTdHJp
bmc6QCJpbi1hcHAtYnJvd3NlcjovLy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5LXRlc3QtdXNlci1h
Z2VudC1zY3JpcHQiXV07CisgICAgTlNFcnJvciAqZXJyb3IgPSBbZGVsZWdhdGUgd2FpdEZvckRp
ZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb25FcnJvcl07CisgICAgRVhQRUNUX1dLX1NUUkVRKGVy
cm9yLmxvY2FsaXplZERlc2NyaXB0aW9uLCBAIkFwcC1ib3VuZCBkb21haW4gZmFpbHVyZSIpOwor
CisgICAgaXNEb25lID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX2lzRm9yY2VkSW50b0FwcEJvdW5k
TW9kZTpeKEJPT0wgaXNGb3JjZWRJbnRvQXBwQm91bmRNb2RlKSB7CisgICAgICAgIEVYUEVDVF9U
UlVFKGlzRm9yY2VkSW50b0FwcEJvdW5kTW9kZSk7CisgICAgICAgIGNsZWFuVXBJbkFwcEJyb3dz
ZXJQcml2YWN5VGVzdFNldHRpbmdzKCk7CisgICAgICAgIGlzRG9uZSA9IHRydWU7CisgICAgfV07
CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmUpOworfQorCiAjZW5kaWYgLy8g
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>