<?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>213245</bug_id>
          
          <creation_ts>2020-06-16 06:24:49 -0700</creation_ts>
          <short_desc>iOS Safari incorrectly reports &quot;AppleCoreMedia&quot; as UA string</short_desc>
          <delta_ts>2020-06-27 12:31:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>Safari 13</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 13</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>
          <dependson>213640</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Luther">jluther</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>jbedard</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1663053</commentid>
    <comment_count>0</comment_count>
    <who name="John Luther">jluther</who>
    <bug_when>2020-06-16 06:24:49 -0700</bug_when>
    <thetext>Safari on iOS reports an incorrect user agent string (AppleCoreMedia). This impacts us at JW Player by making it impossible to distinguish between native mobile apps and mobile web in our analytics. 

Filing this bug at the recommendation of Jer Noble.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663733</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-17 18:07:35 -0700</bug_when>
    <thetext>Jer Noble would know better, but how is this a WebKit issue? This indicates that loading didn&apos;t go through WebKit, as it should have.

Do you have steps to reproduce that would work for us?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663734</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-17 18:07:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/64471582&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663766</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-17 20:21:56 -0700</bug_when>
    <thetext>We pass a custom user-agent string to AVFoundation in a dictionary of header values, but that particular one appears to be ignored. We can work around this behavior by overriding the user-agent value at the WebCoreNSURLSession level.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663777</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-17 20:48:09 -0700</bug_when>
    <thetext>And the issue is trivially reproducible. You can verify that we&apos;re sending the wrong UA string in WebInspector with any page with a &lt;video&gt; element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663892</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-06-18 09:26:39 -0700</bug_when>
    <thetext>I see, so this was a misunderstanding: &quot;loading didn&apos;t go through WebKit&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665994</commentid>
    <comment_count>6</comment_count>
      <attachid>402718</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-24 23:14:04 -0700</bug_when>
    <thetext>Created attachment 402718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665999</commentid>
    <comment_count>7</comment_count>
      <attachid>402718</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-25 00:38:22 -0700</bug_when>
    <thetext>Comment on attachment 402718
Patch

LGTM.
In theory, CoreMedia should probably split their code so that they only set these headers (user-agent, accept...) in the code that actually sends the requests themselves.

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:38
&gt; +static String parseUserAgent(Vector&lt;char&gt;&amp;&amp; request)

const Vector&lt;char&gt;&amp;

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:40
&gt; +    Vector&lt;String&gt; headers = String::fromUTF8(request.data(), request.size()).split(&quot;\r\n&quot;);

auto

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:41
&gt; +    auto index = headers.findMatching([] (const String&amp; header) { return header.startsWith(&quot;User-Agent:&quot;); });

auto

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:57
&gt; +        connection.receiveHTTPRequest([&amp;] (Vector&lt;char&gt;&amp;&amp; request) {

auto&amp;&amp;

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:58
&gt; +            auto userAgent = parseUserAgent(WTFMove(request));

no need to move. Ditto below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666080</commentid>
    <comment_count>8</comment_count>
      <attachid>402744</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-25 10:15:14 -0700</bug_when>
    <thetext>Created attachment 402744
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666179</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-25 13:00:57 -0700</bug_when>
    <thetext>ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666180</commentid>
    <comment_count>10</comment_count>
      <attachid>402744</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-25 13:04:48 -0700</bug_when>
    <thetext>Comment on attachment 402744
Patch for landing

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

source change looks fine

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:38
&gt; +static String parseUserAgent(const Vector&lt;char&gt;&amp; request)

Couldn&apos;t you just look for &quot;User-Agent: TestWebKitAPI\r\n&quot; in the request instead of this?

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:52
&gt; +    webView.get()._customUserAgent = @&quot;TestWebKitAPI&quot;;

Could you use customUserAgent instead of _customUserAgent?

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:105
&gt; +            connection.send(makeString(&quot;HTTP/1.1 200 OK\r\n&quot;,

Does this test even need to send a reply?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666183</commentid>
    <comment_count>11</comment_count>
      <attachid>402799</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-25 13:07:00 -0700</bug_when>
    <thetext>Created attachment 402799
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666187</commentid>
    <comment_count>12</comment_count>
      <attachid>402744</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-25 13:11:08 -0700</bug_when>
    <thetext>Comment on attachment 402744
Patch for landing

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

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:38
&gt;&gt; +static String parseUserAgent(const Vector&lt;char&gt;&amp; request)
&gt; 
&gt; Couldn&apos;t you just look for &quot;User-Agent: TestWebKitAPI\r\n&quot; in the request instead of this?

I could; but with this way, a failing test shows the incorrect User-Agent in the test output, rather than just a &quot;strncmp expected TRUE, got FALSE&quot;.

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:52
&gt;&gt; +    webView.get()._customUserAgent = @&quot;TestWebKitAPI&quot;;
&gt; 
&gt; Could you use customUserAgent instead of _customUserAgent?

I didn&apos;t know that was a thing! Yes, it could.

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:105
&gt;&gt; +            connection.send(makeString(&quot;HTTP/1.1 200 OK\r\n&quot;,
&gt; 
&gt; Does this test even need to send a reply?

Yes it does. I wanted to make sure both the initial request for the manifest contained the correct MIME type, and also follow-up requests for media segments also did.  Without sending a correct reply, the follow up media request will never be sent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666188</commentid>
    <comment_count>13</comment_count>
      <attachid>402799</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-25 13:13:17 -0700</bug_when>
    <thetext>Comment on attachment 402799
Patch for landing

Aha, you&apos;re right.  I thought receivedManifestRequest and receivedMediaRequest were the same.  It turns out, they&apos;re not the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666191</commentid>
    <comment_count>14</comment_count>
      <attachid>402802</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-25 13:23:11 -0700</bug_when>
    <thetext>Created attachment 402802
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666252</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-25 15:39:26 -0700</bug_when>
    <thetext>Committed r263537: &lt;https://trac.webkit.org/changeset/263537&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402802.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666375</commentid>
    <comment_count>16</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-25 21:59:25 -0700</bug_when>
    <thetext>This broke tvOS and watchOS builds: https://build.webkit.org/builders/Apple-tvOS-13-Release-Build/builds/171

(we don&apos;t have EWS yet, operations has been consumed by Big Sur work, it&apos;s coming soon)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666377</commentid>
    <comment_count>17</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-25 22:01:21 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 213640</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666677</commentid>
    <comment_count>18</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-26 16:32:53 -0700</bug_when>
    <thetext>Okay, looks like tvOS and watchOS don&apos;t `HAVE(NETWORK_FRAMEWORK)`. Just needs a compile guard around the test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666682</commentid>
    <comment_count>19</comment_count>
      <attachid>402926</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-06-26 16:36:59 -0700</bug_when>
    <thetext>Created attachment 402926
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666802</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-27 12:31:20 -0700</bug_when>
    <thetext>Committed r263627: &lt;https://trac.webkit.org/changeset/263627&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402926.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402718</attachid>
            <date>2020-06-24 23:14:04 -0700</date>
            <delta_ts>2020-06-25 13:06:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213245-20200624231404.patch</filename>
            <type>text/plain</type>
            <size>12124</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJiZWRlYzljZWRlOTg3
M2NjMzJlNGE4MjU1NjQ1YmZlZWU4YjdiZS4uZjgwNWU0MWI5NGIwMjg3Mjk3NDIwOGUzZWNiM2Rj
NTBiMjBiZGFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTI0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIGlPUyBTYWZhcmkgaW5jb3Jy
ZWN0bHkgcmVwb3J0cyAiQXBwbGVDb3JlTWVkaWEiIGFzIFVBIHN0cmluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjQ1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NDQ3MTU4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0czogVGVzdFdlYktpdEFQSS5NZWRpYUxvYWRpbmcuVXNlckFnZW50
U3RyaW5nQ1JBQlMKKyAgICAgICAgICAgICAgIFRlc3RXZWJLaXRBUEkuTWVkaWFMb2FkaW5nLlVz
ZXJBZ2VudFN0cmluZ0hMUworCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJD
b3JlTlNVUkxTZXNzaW9uLm1tOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRh
c2sgaW5pdFdpdGhTZXNzaW9uOmlkZW50aWZpZXI6cmVxdWVzdDpdKToKKwogMjAyMC0wNi0yMCAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWNvdmVyeU9TOiBQ
QUw6OmdldEFWUGxheWVyTGF5ZXJDbGFzcygpIHdpbGwgY3Jhc2ggd2hlbiBBVkZvdW5kYXRpb24g
aXMgbWlzc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
b2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCmluZGV4IGRkMDBkYWYxNDdkZjMxZTBm
MDY5YzEzNTkzNzIzOGEzN2IwYTcwNzQuLjM4NTExYzg4NjFjZTU4MzY1NzNkMTJkMWRjYjVmMTk1
YWMxZWJmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29j
b2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KQEAgLTY1Nyw2ICs2NTcsMTQgQEAg
LSAoaWQpaW5pdFdpdGhTZXNzaW9uOihXZWJDb3JlTlNVUkxTZXNzaW9uICopc2Vzc2lvbiBpZGVu
dGlmaWVyOihOU1VJbnRlZ2VyKWlkZW4KICAgICBzZWxmLnNlc3Npb24gPSBzZXNzaW9uOwogICAg
IHNlbGYuc3RhdGUgPSBOU1VSTFNlc3Npb25UYXNrU3RhdGVTdXNwZW5kZWQ7CiAgICAgc2VsZi5w
cmlvcml0eSA9IE5TVVJMU2Vzc2lvblRhc2tQcmlvcml0eURlZmF1bHQ7CisKKyAgICAvLyBDb3Jl
TWVkaWEgd2lsbCBleHBsaWNpdGx5IGFkZCBhIHVzZXIgYWdlbnQgaGVhZGVyLiBSZW1vdmUgaWYg
cHJlc2VudC4KKyAgICBpZiAoYXV0byogdXNlckFnZW50VmFsdWUgPSBbcmVxdWVzdCB2YWx1ZUZv
ckhUVFBIZWFkZXJGaWVsZDpAIlVzZXItQWdlbnQiXSkgeworICAgICAgICBOU011dGFibGVVUkxS
ZXF1ZXN0KiBtdXRhYmxlUmVxdWVzdCA9IFtyZXF1ZXN0IG11dGFibGVDb3B5V2l0aFpvbmU6bmls
XTsKKyAgICAgICAgW211dGFibGVSZXF1ZXN0IHNldFZhbHVlOm5pbCBmb3JIVFRQSGVhZGVyRmll
bGQ6QCJVc2VyLUFnZW50Il07CisgICAgICAgIHJlcXVlc3QgPSBbbXV0YWJsZVJlcXVlc3QgYXV0
b3JlbGVhc2VdOworICAgIH0KKwogICAgIHNlbGYub3JpZ2luYWxSZXF1ZXN0ID0gc2VsZi5jdXJy
ZW50UmVxdWVzdCA9IHJlcXVlc3Q7CiAKICAgICByZXR1cm4gc2VsZjsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OTJjOGUzMjE2ZTZmZmY5ZGFi
NjJlZWE5MjQ5OGYzYzA5M2Y5ZDQ4Li5mYWM1ODdhYTlhZGYwZDg5YjhmZDE4YTlhODBjOTllODcy
MDExMTVjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDYtMjQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgaU9TIFNhZmFyaSBpbmNvcnJlY3RseSByZXBvcnRzICJBcHBsZUNv
cmVNZWRpYSIgYXMgVUEgc3RyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTMyNDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0NDcxNTgyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW06IEFkZGVk
LgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6cGFyc2VVc2VyQWdlbnQpOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjAtMDYtMjIgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgWyBtYWNPUyBpT1MgXSAocjI2MzMyMSk6IFRlc3RXZWJLaXRB
UEkuU2xlZXBEaXNhYmxlci5Mb2FkICYgVGVzdFdlYktpdEFQSS5TbGVlcERpc2FibGVyLlJlbG9h
ZCBhcmUgY29uc3RhbnQgZmFpbHVyZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjg5YTA3
MDU0YjllYjRjN2UxOWM3NTgzMDFmYmY2ZTllMzUzMWQ2Yy4uNDRiZWYzYTYzNjE1ODg1ZTQyODlm
YTIxNzYxODMwZjg3ODczNjFhNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk1NCw2ICs5
NTQsNyBAQAogCQlDQUIwRkY1MjIyMzMyNDA3MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUt
MS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENBQjBGRjUxMjIzMzIzRjYwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS0xLmh0bWwg
Ki87IH07CiAJCUNBQjBGRjUzMjIzMzI0MDcwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS0y
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0FCMEZGNTAyMjMzMjNGNjAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTIuaHRtbCAq
LzsgfTsKIAkJQ0FCMEZGNTUyMjMzMkM1NzAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0FCMEZGNTQy
MjMzMkMzQTAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLm1tICovOyB9OworCQlDRDAzNzBF
MzI0QTQ0RDk2MDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwMzcwRTIyNEE0NEI3QTAwQkEzQ0FFIC8qIE1l
ZGlhTG9hZGluZy5tbSAqLzsgfTsKIAkJQ0QwQkQwQTYxRjc5OTI0RDAwMUFCMkNGIC8qIENvbnRl
eHRNZW51SW1nV2l0aFZpZGVvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0QwQkQwQTUxRjc5OTIyMDAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1nV2l0
aFZpZGVvLm1tICovOyB9OwogCQlDRDBCRDBBODFGNzk5ODJEMDAxQUIyQ0YgLyogQ29udGV4dE1l
bnVJbWdXaXRoVmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDBCRDBBNzFGNzk5N0MyMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJ
bWdXaXRoVmlkZW8uaHRtbCAqLzsgfTsKIAkJQ0QyMjdFNDQyMTFBNEQ1RDAwRDI4NUFGIC8qIFBy
ZWZlcnJlZEF1ZGlvQnVmZmVyU2l6ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEMjI3RTQzMjExQTRENUQwMEQyODVBRiAvKiBQcmVmZXJyZWRBdWRp
b0J1ZmZlclNpemUubW0gKi87IH07CkBAIC0yNTkzLDYgKzI1OTQsNyBAQAogCQlDQUIwRkY1MDIy
MzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMi5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5odG1sOyBwYXRoID0gIkluZGV4ZWREQkZpbGVOYW1lLTIuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNBQjBGRjUxMjIzMzIzRjYwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxl
TmFtZS0xLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiSW5kZXhlZERCRmlsZU5h
bWUtMS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0FCMEZGNTQyMjMzMkMz
QTAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gSW5kZXhlZERCRmlsZU5hbWUubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNEMDM3MEUyMjRBNDRCN0EwMEJBM0NBRSAvKiBNZWRpYUxvYWRpbmcubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYUxvYWRpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNEMEJEMEE1MUY3OTkyMjAwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dp
dGhWaWRlby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENvbnRleHRNZW51SW1nV2l0aFZpZGVv
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDBCRDBBNzFGNzk5N0MyMDAxQUIy
Q0YgLyogQ29udGV4dE1lbnVJbWdXaXRoVmlkZW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IENvbnRleHRNZW51
SW1nV2l0aFZpZGVvLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMjI1QzA3
MUM0NUE2OTIwMDE0MDc2MSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VkQ29udGVudFJhbmdlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNjIsNiArMzE2NCw3IEBACiAJCQkJOEMxMEFGOTYyMDY0
Njc3NzAwMThGRDkwIC8qIExvY2FsU3RvcmFnZVBlcnNpc3RlbmNlLm1tICovLAogCQkJCTdBNkEy
QzZGMURDQ0Y4N0IwMEMwRDA4NSAvKiBMb2NhbFN0b3JhZ2VRdWlya1Rlc3QubW0gKi8sCiAJCQkJ
MDdDQzdERkQyMjY2MzMwODAwRTM5MTgxIC8qIE1lZGlhQnVmZmVyaW5nUG9saWN5Lm1tICovLAor
CQkJCUNEMDM3MEUyMjRBNDRCN0EwMEJBM0NBRSAvKiBNZWRpYUxvYWRpbmcubW0gKi8sCiAJCQkJ
NTFCRTlFNjUyMzc2MDg5NTAwQjRFMTE3IC8qIE1lZGlhVHlwZS5tbSAqLywKIAkJCQk1MTY1RkUw
MzIwMUVFNjE3MDA5RjdFQzMgLyogTWVzc2FnZVBvcnRQcm92aWRlcnMubW0gKi8sCiAJCQkJNTFD
RDFDNkExQjM4Q0UzNjAwMTQyQ0E1IC8qIE1vZGFsQWxlcnRzLm1tICovLApAQCAtNDg1Miw2ICs0
ODU1LDcgQEAKIAkJCQkwNzExREY1MjIyNkE5NUZDMDAzREQyRjcgLyogQVZGb3VuZGF0aW9uU29m
dExpbmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjUxQTQxMUE3RTAwNDQ3QzRD
IC8qIEJhY2tGb3J3YXJkTGlzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFDN0ZFQjIwMjA3QzBG
MkUwMEQyMzI3OCAvKiBCYWNrZ3JvdW5kQ29sb3IubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDAz
NzBFMzI0QTQ0RDk2MDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzE1Q0JCMzAyM0YxRkYxQTAwMzAwQ0M3IC8qIEJhY2tsaWdodExldmVsTm90aWZpY2F0aW9u
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzE2OTJEQ0EyM0QxMERBRTAwNkU4OEY3IC8qIEJhdHRl
cnkubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzRCN0E2MDFERjM2RUVFMDBBQ0NCNkMgLyogQnVu
ZGxlRWRpdGluZ0RlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01lZGlhTG9hZGluZy5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFMb2FkaW5nLm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM3M2MwOTg1OTI5NDY5MWU3YjRjYTU5NzE4NjYxYjA4MjIxY2VjMWMKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01lZGlhTG9hZGluZy5t
bQpAQCAtMCwwICsxLDEyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2ltcG9ydCAiSFRUUFNlcnZlci5oIgorI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNp
bXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRl
Lmg+CisjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KKworI2lm
IEVOQUJMRShWSURFTykgJiYgVVNFKEFWRk9VTkRBVElPTikKKworbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgeworCitzdGF0aWMgU3RyaW5nIHBhcnNlVXNlckFnZW50KFZlY3RvcjxjaGFyPiYmIHJl
cXVlc3QpCit7CisgICAgVmVjdG9yPFN0cmluZz4gaGVhZGVycyA9IFN0cmluZzo6ZnJvbVVURjgo
cmVxdWVzdC5kYXRhKCksIHJlcXVlc3Quc2l6ZSgpKS5zcGxpdCgiXHJcbiIpOworICAgIGF1dG8g
aW5kZXggPSBoZWFkZXJzLmZpbmRNYXRjaGluZyhbXSAoY29uc3QgU3RyaW5nJiBoZWFkZXIpIHsg
cmV0dXJuIGhlYWRlci5zdGFydHNXaXRoKCJVc2VyLUFnZW50OiIpOyB9KTsKKyAgICBpZiAoaW5k
ZXggIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVybiBoZWFkZXJzW2luZGV4XTsKKyAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKK30KKworVEVTVChNZWRpYUxvYWRpbmcsIFVzZXJBZ2VudFN0cmlu
Z0NSQUJTKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5tZWRp
YVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlh
VHlwZU5vbmU7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlv
bjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIHdlYlZpZXcuZ2V0
KCkuX2N1c3RvbVVzZXJBZ2VudCA9IEAiVGVzdFdlYktpdEFQSSI7CisKKyAgICBib29sIHJlY2Vp
dmVkTWVkaWFSZXF1ZXN0ID0gZmFsc2U7CisKKyAgICBIVFRQU2VydmVyIHNlcnZlcihbJl0oQ29u
bmVjdGlvbiBjb25uZWN0aW9uKSBtdXRhYmxlIHsKKyAgICAgICAgY29ubmVjdGlvbi5yZWNlaXZl
SFRUUFJlcXVlc3QoWyZdIChWZWN0b3I8Y2hhcj4mJiByZXF1ZXN0KSB7CisgICAgICAgICAgICBh
dXRvIHVzZXJBZ2VudCA9IHBhcnNlVXNlckFnZW50KFdURk1vdmUocmVxdWVzdCkpOworICAgICAg
ICAgICAgRVhQRUNUX1NUUkVRKCJVc2VyLUFnZW50OiBUZXN0V2ViS2l0QVBJIiwgdXNlckFnZW50
LnV0ZjgoKS5kYXRhKCkpOworCisgICAgICAgICAgICByZWNlaXZlZE1lZGlhUmVxdWVzdCA9IHRy
dWU7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCI8dmlkZW8gc3JjPSdodHRwOi8vMTI3LjAuMC4x
OiVkL3ZpZGVvLm1wNCcgYXV0b3BsYXk+PC92aWRlbz4iLCBzZXJ2ZXIucG9ydCgpXSBiYXNlVVJM
Om5pbF07CisKKyAgICBVdGlsOjpydW4oJnJlY2VpdmVkTWVkaWFSZXF1ZXN0KTsKK30KKworVEVT
VChNZWRpYUxvYWRpbmcsIFVzZXJBZ2VudFN0cmluZ0hMUykKK3sKKyAgICBhdXRvIGNvbmZpZ3Vy
YXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwor
ICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkubWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQ
bGF5YmFjayA9IFdLQXVkaW92aXN1YWxNZWRpYVR5cGVOb25lOworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3Qo
MCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dp
bmRvdzpZRVNdKTsKKyAgICB3ZWJWaWV3LmdldCgpLl9jdXN0b21Vc2VyQWdlbnQgPSBAIlRlc3RX
ZWJLaXRBUEkiOworCisgICAgYm9vbCByZWNlaXZlZE1hbmlmZXN0UmVxdWVzdCA9IGZhbHNlOwor
ICAgIGJvb2wgcmVjZWl2ZWRNZWRpYVJlcXVlc3QgPSBmYWxzZTsKKworICAgIEhUVFBTZXJ2ZXIg
bWVkaWFTZXJ2ZXIoWyZdKENvbm5lY3Rpb24gY29ubmVjdGlvbikgbXV0YWJsZSB7CisgICAgICAg
IGNvbm5lY3Rpb24ucmVjZWl2ZUhUVFBSZXF1ZXN0KFtjb25uZWN0aW9uLCAmcmVjZWl2ZWRNZWRp
YVJlcXVlc3RdIChWZWN0b3I8Y2hhcj4mJiByZXF1ZXN0KSB7CisgICAgICAgICAgICBhdXRvIHVz
ZXJBZ2VudCA9IHBhcnNlVXNlckFnZW50KFdURk1vdmUocmVxdWVzdCkpOworICAgICAgICAgICAg
RVhQRUNUX1NUUkVRKCJVc2VyLUFnZW50OiBUZXN0V2ViS2l0QVBJIiwgdXNlckFnZW50LnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICAgICAgcmVjZWl2ZWRNZWRpYVJlcXVlc3QgPSB0cnVlOworICAg
ICAgICB9KTsKKyAgICB9KTsKKyAgICBhdXRvIG1lZGlhU2VydmVyUG9ydCA9IG1lZGlhU2VydmVy
LnBvcnQoKTsKKworICAgIEhUVFBTZXJ2ZXIgbWFuaWZlc3RTZXJ2ZXIoWyZdKENvbm5lY3Rpb24g
Y29ubmVjdGlvbikgbXV0YWJsZSB7CisgICAgICAgIGNvbm5lY3Rpb24ucmVjZWl2ZUhUVFBSZXF1
ZXN0KFtjb25uZWN0aW9uLCBtZWRpYVNlcnZlclBvcnQsICZyZWNlaXZlZE1hbmlmZXN0UmVxdWVz
dF0gKFZlY3RvcjxjaGFyPiYmIHJlcXVlc3QpIHsKKyAgICAgICAgICAgIGF1dG8gdXNlckFnZW50
ID0gcGFyc2VVc2VyQWdlbnQoV1RGTW92ZShyZXF1ZXN0KSk7CisgICAgICAgICAgICBFWFBFQ1Rf
U1RSRVEoIlVzZXItQWdlbnQ6IFRlc3RXZWJLaXRBUEkiLCB1c2VyQWdlbnQudXRmOCgpLmRhdGEo
KSk7CisKKyAgICAgICAgICAgIGF1dG8gcGF5bG9hZCA9IG1ha2VTdHJpbmcoCisgICAgICAgICAg
ICAgICAgIiNFWFRNM1VcbiIKKyAgICAgICAgICAgICAgICAiI0VYVC1YLVRBUkdFVERVUkFUSU9O
OjZcbiIKKyAgICAgICAgICAgICAgICAiI0VYVC1YLVZFUlNJT046NFxuIgorICAgICAgICAgICAg
ICAgICIjRVhULVgtTUVESUEtU0VRVUVOQ0U6MFxuIgorICAgICAgICAgICAgICAgICIjRVhULVgt
UExBWUxJU1QtVFlQRTpWT0RcbiIKKyAgICAgICAgICAgICAgICAiI0VYVElORjo2LjAyNzIsXG4i
CisgICAgICAgICAgICAgICAgImh0dHA6Ly8xMjcuMC4wLjE6IiwgbWVkaWFTZXJ2ZXJQb3J0LCAi
L21haW4xLnRzXG4iLAorICAgICAgICAgICAgICAgICIjRVhULVgtRU5ETElTVFxuIgorICAgICAg
ICAgICAgKTsKKworICAgICAgICAgICAgY29ubmVjdGlvbi5zZW5kKG1ha2VTdHJpbmcoIkhUVFAv
MS4xIDIwMCBPS1xyXG4iLAorICAgICAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogIiwgcGF5
bG9hZC5sZW5ndGgoKSwgIlxyXG4iLAorICAgICAgICAgICAgICAgICJcclxuIiwKKyAgICAgICAg
ICAgICAgICBwYXlsb2FkCisgICAgICAgICAgICApKTsKKworICAgICAgICAgICAgcmVjZWl2ZWRN
YW5pZmVzdFJlcXVlc3QgPSB0cnVlOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIFt3ZWJW
aWV3IGxvYWRIVE1MU3RyaW5nOltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPHZpZGVvIHNy
Yz0naHR0cDovLzEyNy4wLjAuMTolZC9tYW5pZmVzdC5tM3U4JyBhdXRvcGxheT48L3ZpZGVvPiIs
IG1hbmlmZXN0U2VydmVyLnBvcnQoKV0gYmFzZVVSTDpuaWxdOworCisgICAgVXRpbDo6cnVuKCZy
ZWNlaXZlZE1lZGlhUmVxdWVzdCk7Cit9CisKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402744</attachid>
            <date>2020-06-25 10:15:14 -0700</date>
            <delta_ts>2020-06-25 13:06:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213245-20200625101513.patch</filename>
            <type>text/plain</type>
            <size>12075</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJiZWRlYzljZWRlOTg3
M2NjMzJlNGE4MjU1NjQ1YmZlZWU4YjdiZS4uZjgwNWU0MWI5NGIwMjg3Mjk3NDIwOGUzZWNiM2Rj
NTBiMjBiZGFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTI0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIGlPUyBTYWZhcmkgaW5jb3Jy
ZWN0bHkgcmVwb3J0cyAiQXBwbGVDb3JlTWVkaWEiIGFzIFVBIHN0cmluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjQ1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NDQ3MTU4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0czogVGVzdFdlYktpdEFQSS5NZWRpYUxvYWRpbmcuVXNlckFnZW50
U3RyaW5nQ1JBQlMKKyAgICAgICAgICAgICAgIFRlc3RXZWJLaXRBUEkuTWVkaWFMb2FkaW5nLlVz
ZXJBZ2VudFN0cmluZ0hMUworCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJD
b3JlTlNVUkxTZXNzaW9uLm1tOgorICAgICAgICAoLVtXZWJDb3JlTlNVUkxTZXNzaW9uRGF0YVRh
c2sgaW5pdFdpdGhTZXNzaW9uOmlkZW50aWZpZXI6cmVxdWVzdDpdKToKKwogMjAyMC0wNi0yMCAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWNvdmVyeU9TOiBQ
QUw6OmdldEFWUGxheWVyTGF5ZXJDbGFzcygpIHdpbGwgY3Jhc2ggd2hlbiBBVkZvdW5kYXRpb24g
aXMgbWlzc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
b2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCmluZGV4IGRkMDBkYWYxNDdkZjMxZTBm
MDY5YzEzNTkzNzIzOGEzN2IwYTcwNzQuLjM4NTExYzg4NjFjZTU4MzY1NzNkMTJkMWRjYjVmMTk1
YWMxZWJmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29j
b2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KQEAgLTY1Nyw2ICs2NTcsMTQgQEAg
LSAoaWQpaW5pdFdpdGhTZXNzaW9uOihXZWJDb3JlTlNVUkxTZXNzaW9uICopc2Vzc2lvbiBpZGVu
dGlmaWVyOihOU1VJbnRlZ2VyKWlkZW4KICAgICBzZWxmLnNlc3Npb24gPSBzZXNzaW9uOwogICAg
IHNlbGYuc3RhdGUgPSBOU1VSTFNlc3Npb25UYXNrU3RhdGVTdXNwZW5kZWQ7CiAgICAgc2VsZi5w
cmlvcml0eSA9IE5TVVJMU2Vzc2lvblRhc2tQcmlvcml0eURlZmF1bHQ7CisKKyAgICAvLyBDb3Jl
TWVkaWEgd2lsbCBleHBsaWNpdGx5IGFkZCBhIHVzZXIgYWdlbnQgaGVhZGVyLiBSZW1vdmUgaWYg
cHJlc2VudC4KKyAgICBpZiAoYXV0byogdXNlckFnZW50VmFsdWUgPSBbcmVxdWVzdCB2YWx1ZUZv
ckhUVFBIZWFkZXJGaWVsZDpAIlVzZXItQWdlbnQiXSkgeworICAgICAgICBOU011dGFibGVVUkxS
ZXF1ZXN0KiBtdXRhYmxlUmVxdWVzdCA9IFtyZXF1ZXN0IG11dGFibGVDb3B5V2l0aFpvbmU6bmls
XTsKKyAgICAgICAgW211dGFibGVSZXF1ZXN0IHNldFZhbHVlOm5pbCBmb3JIVFRQSGVhZGVyRmll
bGQ6QCJVc2VyLUFnZW50Il07CisgICAgICAgIHJlcXVlc3QgPSBbbXV0YWJsZVJlcXVlc3QgYXV0
b3JlbGVhc2VdOworICAgIH0KKwogICAgIHNlbGYub3JpZ2luYWxSZXF1ZXN0ID0gc2VsZi5jdXJy
ZW50UmVxdWVzdCA9IHJlcXVlc3Q7CiAKICAgICByZXR1cm4gc2VsZjsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OTJjOGUzMjE2ZTZmZmY5ZGFi
NjJlZWE5MjQ5OGYzYzA5M2Y5ZDQ4Li5iODI1ZDVlM2FlMWE1ODFhZmFiNDE5ODllY2QxNGJjZjVi
YWZjYzk1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDYtMjQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgaU9TIFNhZmFyaSBpbmNvcnJlY3RseSByZXBvcnRzICJBcHBsZUNv
cmVNZWRpYSIgYXMgVUEgc3RyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTMyNDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0NDcxNTgyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01lZGlhTG9hZGluZy5tbTogQWRkZWQu
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpwYXJzZVVzZXJBZ2VudCk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMC0wNi0yMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIGlPUyBdIChyMjYzMzIxKTogVGVzdFdlYktpdEFQ
SS5TbGVlcERpc2FibGVyLkxvYWQgJiBUZXN0V2ViS2l0QVBJLlNsZWVwRGlzYWJsZXIuUmVsb2Fk
IGFyZSBjb25zdGFudCBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyODlhMDcw
NTRiOWViNGM3ZTE5Yzc1ODMwMWZiZjZlOWUzNTMxZDZjLi40NGJlZjNhNjM2MTU4ODVlNDI4OWZh
MjE3NjE4MzBmODc4NzM2MWE2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTU0LDYgKzk1
NCw3IEBACiAJCUNBQjBGRjUyMjIzMzI0MDcwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS0x
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0FCMEZGNTEyMjMzMjNGNjAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTEuaHRtbCAq
LzsgfTsKIAkJQ0FCMEZGNTMyMjMzMjQwNzAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTIu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDQUIwRkY1MDIyMzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMi5odG1sICov
OyB9OwogCQlDQUIwRkY1NTIyMzMyQzU3MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQUIwRkY1NDIy
MzMyQzNBMDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUubW0gKi87IH07CisJCUNEMDM3MEUz
MjRBNDREOTYwMEJBM0NBRSAvKiBNZWRpYUxvYWRpbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUgLyogTWVk
aWFMb2FkaW5nLm1tICovOyB9OwogCQlDRDBCRDBBNjFGNzk5MjREMDAxQUIyQ0YgLyogQ29udGV4
dE1lbnVJbWdXaXRoVmlkZW8ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDBCRDBBNTFGNzk5MjIwMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRo
VmlkZW8ubW0gKi87IH07CiAJCUNEMEJEMEE4MUY3OTk4MkQwMDFBQjJDRiAvKiBDb250ZXh0TWVu
dUltZ1dpdGhWaWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEMEJEMEE3MUY3OTk3QzIwMDFBQjJDRiAvKiBDb250ZXh0TWVudUlt
Z1dpdGhWaWRlby5odG1sICovOyB9OwogCQlDRDIyN0U0NDIxMUE0RDVEMDBEMjg1QUYgLyogUHJl
ZmVycmVkQXVkaW9CdWZmZXJTaXplLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QyMjdFNDMyMTFBNEQ1RDAwRDI4NUFGIC8qIFByZWZlcnJlZEF1ZGlv
QnVmZmVyU2l6ZS5tbSAqLzsgfTsKQEAgLTI1OTMsNiArMjU5NCw3IEBACiAJCUNBQjBGRjUwMjIz
MzIzRjYwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS0yLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSAiSW5kZXhlZERCRmlsZU5hbWUtMi5odG1sIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0FCMEZGNTEyMjMzMjNGNjAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVO
YW1lLTEuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJJbmRleGVkREJGaWxlTmFt
ZS0xLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQUIwRkY1NDIyMzMyQzNB
MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBJbmRleGVkREJGaWxlTmFtZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0QwMzcwRTIyNEE0NEI3QTAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IE1lZGlhTG9hZGluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0QwQkQwQTUxRjc5OTIyMDAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1nV2l0
aFZpZGVvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ29udGV4dE1lbnVJbWdXaXRoVmlkZW8u
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMEJEMEE3MUY3OTk3QzIwMDFBQjJD
RiAvKiBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gQ29udGV4dE1lbnVJ
bWdXaXRoVmlkZW8uaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QyMjVDMDcx
QzQ1QTY5MjAwMTQwNzYxIC8qIFBhcnNlZENvbnRlbnRSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZWRDb250ZW50UmFuZ2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMzE2Miw2ICszMTY0LDcgQEAKIAkJCQk4QzEwQUY5NjIwNjQ2
Nzc3MDAxOEZEOTAgLyogTG9jYWxTdG9yYWdlUGVyc2lzdGVuY2UubW0gKi8sCiAJCQkJN0E2QTJD
NkYxRENDRjg3QjAwQzBEMDg1IC8qIExvY2FsU3RvcmFnZVF1aXJrVGVzdC5tbSAqLywKIAkJCQkw
N0NDN0RGRDIyNjYzMzA4MDBFMzkxODEgLyogTWVkaWFCdWZmZXJpbmdQb2xpY3kubW0gKi8sCisJ
CQkJQ0QwMzcwRTIyNEE0NEI3QTAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSAqLywKIAkJCQk1
MUJFOUU2NTIzNzYwODk1MDBCNEUxMTcgLyogTWVkaWFUeXBlLm1tICovLAogCQkJCTUxNjVGRTAz
MjAxRUU2MTcwMDlGN0VDMyAvKiBNZXNzYWdlUG9ydFByb3ZpZGVycy5tbSAqLywKIAkJCQk1MUNE
MUM2QTFCMzhDRTM2MDAxNDJDQTUgLyogTW9kYWxBbGVydHMubW0gKi8sCkBAIC00ODUyLDYgKzQ4
NTUsNyBAQAogCQkJCTA3MTFERjUyMjI2QTk1RkMwMDNERDJGNyAvKiBBVkZvdW5kYXRpb25Tb2Z0
TGlua1Rlc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCNTFBNDExQTdFMDA0NDdDNEMg
LyogQmFja0ZvcndhcmRMaXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM3RkVCMjAyMDdDMEYy
RTAwRDIzMjc4IC8qIEJhY2tncm91bmRDb2xvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNEMDM3
MEUzMjRBNDREOTYwMEJBM0NBRSAvKiBNZWRpYUxvYWRpbmcubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlDMTVDQkIzMDIzRjFGRjFBMDAzMDBDQzcgLyogQmFja2xpZ2h0TGV2ZWxOb3RpZmljYXRpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQlDMTY5MkRDQTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVy
eS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3NEI3QTYwMURGMzZFRUUwMEFDQ0I2QyAvKiBCdW5k
bGVFZGl0aW5nRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFMb2FkaW5nLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWVkMGRmOWMyODk5ZjJhY2JiOWI4MTg4ZTJkMTk5OGI1ZWZkZTdiMwotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFMb2FkaW5nLm1t
CkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aW1wb3J0ICJIVFRQU2VydmVyLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2lt
cG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUu
aD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgorCisjaWYg
RU5BQkxFKFZJREVPKSAmJiBVU0UoQVZGT1VOREFUSU9OKQorCituYW1lc3BhY2UgVGVzdFdlYktp
dEFQSSB7CisKK3N0YXRpYyBTdHJpbmcgcGFyc2VVc2VyQWdlbnQoY29uc3QgVmVjdG9yPGNoYXI+
JiByZXF1ZXN0KQoreworICAgIGF1dG8gaGVhZGVycyA9IFN0cmluZzo6ZnJvbVVURjgocmVxdWVz
dC5kYXRhKCksIHJlcXVlc3Quc2l6ZSgpKS5zcGxpdCgiXHJcbiIpOworICAgIGF1dG8gaW5kZXgg
PSBoZWFkZXJzLmZpbmRNYXRjaGluZyhbXSAoYXV0byYgaGVhZGVyKSB7IHJldHVybiBoZWFkZXIu
c3RhcnRzV2l0aCgiVXNlci1BZ2VudDoiKTsgfSk7CisgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5k
KQorICAgICAgICByZXR1cm4gaGVhZGVyc1tpbmRleF07CisgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7Cit9CisKK1RFU1QoTWVkaWFMb2FkaW5nLCBVc2VyQWdlbnRTdHJpbmdDUkFCUykKK3sKKyAg
ICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkubWVkaWFUeXBlc1JlcXVpcmlu
Z1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92aXN1YWxNZWRpYVR5cGVOb25lOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv
bi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKyAgICB3ZWJWaWV3LmdldCgpLl9jdXN0b21Vc2Vy
QWdlbnQgPSBAIlRlc3RXZWJLaXRBUEkiOworCisgICAgYm9vbCByZWNlaXZlZE1lZGlhUmVxdWVz
dCA9IGZhbHNlOworCisgICAgSFRUUFNlcnZlciBzZXJ2ZXIoWyZdKENvbm5lY3Rpb24gY29ubmVj
dGlvbikgbXV0YWJsZSB7CisgICAgICAgIGNvbm5lY3Rpb24ucmVjZWl2ZUhUVFBSZXF1ZXN0KFsm
XSAoYXV0byYmIHJlcXVlc3QpIHsKKyAgICAgICAgICAgIGF1dG8gdXNlckFnZW50ID0gcGFyc2VV
c2VyQWdlbnQocmVxdWVzdCk7CisgICAgICAgICAgICBFWFBFQ1RfU1RSRVEoIlVzZXItQWdlbnQ6
IFRlc3RXZWJLaXRBUEkiLCB1c2VyQWdlbnQudXRmOCgpLmRhdGEoKSk7CisKKyAgICAgICAgICAg
IHJlY2VpdmVkTWVkaWFSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAg
ICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjx2
aWRlbyBzcmM9J2h0dHA6Ly8xMjcuMC4wLjE6JWQvdmlkZW8ubXA0JyBhdXRvcGxheT48L3ZpZGVv
PiIsIHNlcnZlci5wb3J0KCldIGJhc2VVUkw6bmlsXTsKKworICAgIFV0aWw6OnJ1bigmcmVjZWl2
ZWRNZWRpYVJlcXVlc3QpOworfQorCitURVNUKE1lZGlhTG9hZGluZywgVXNlckFnZW50U3RyaW5n
SExTKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5tZWRpYVR5
cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlw
ZU5vbmU7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIHdlYlZpZXcuZ2V0KCku
X2N1c3RvbVVzZXJBZ2VudCA9IEAiVGVzdFdlYktpdEFQSSI7CisKKyAgICBib29sIHJlY2VpdmVk
TWFuaWZlc3RSZXF1ZXN0ID0gZmFsc2U7CisgICAgYm9vbCByZWNlaXZlZE1lZGlhUmVxdWVzdCA9
IGZhbHNlOworCisgICAgSFRUUFNlcnZlciBtZWRpYVNlcnZlcihbJl0oQ29ubmVjdGlvbiBjb25u
ZWN0aW9uKSBtdXRhYmxlIHsKKyAgICAgICAgY29ubmVjdGlvbi5yZWNlaXZlSFRUUFJlcXVlc3Qo
W2Nvbm5lY3Rpb24sICZyZWNlaXZlZE1lZGlhUmVxdWVzdF0gKFZlY3RvcjxjaGFyPiYmIHJlcXVl
c3QpIHsKKyAgICAgICAgICAgIGF1dG8gdXNlckFnZW50ID0gcGFyc2VVc2VyQWdlbnQocmVxdWVz
dCk7CisgICAgICAgICAgICBFWFBFQ1RfU1RSRVEoIlVzZXItQWdlbnQ6IFRlc3RXZWJLaXRBUEki
LCB1c2VyQWdlbnQudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICByZWNlaXZlZE1lZGlhUmVx
dWVzdCA9IHRydWU7CisgICAgICAgIH0pOworICAgIH0pOworICAgIGF1dG8gbWVkaWFTZXJ2ZXJQ
b3J0ID0gbWVkaWFTZXJ2ZXIucG9ydCgpOworCisgICAgSFRUUFNlcnZlciBtYW5pZmVzdFNlcnZl
cihbJl0oQ29ubmVjdGlvbiBjb25uZWN0aW9uKSBtdXRhYmxlIHsKKyAgICAgICAgY29ubmVjdGlv
bi5yZWNlaXZlSFRUUFJlcXVlc3QoW2Nvbm5lY3Rpb24sIG1lZGlhU2VydmVyUG9ydCwgJnJlY2Vp
dmVkTWFuaWZlc3RSZXF1ZXN0XSAoVmVjdG9yPGNoYXI+JiYgcmVxdWVzdCkgeworICAgICAgICAg
ICAgYXV0byB1c2VyQWdlbnQgPSBwYXJzZVVzZXJBZ2VudChyZXF1ZXN0KTsKKyAgICAgICAgICAg
IEVYUEVDVF9TVFJFUSgiVXNlci1BZ2VudDogVGVzdFdlYktpdEFQSSIsIHVzZXJBZ2VudC51dGY4
KCkuZGF0YSgpKTsKKworICAgICAgICAgICAgYXV0byBwYXlsb2FkID0gbWFrZVN0cmluZygKKyAg
ICAgICAgICAgICAgICAiI0VYVE0zVVxuIgorICAgICAgICAgICAgICAgICIjRVhULVgtVEFSR0VU
RFVSQVRJT046NlxuIgorICAgICAgICAgICAgICAgICIjRVhULVgtVkVSU0lPTjo0XG4iCisgICAg
ICAgICAgICAgICAgIiNFWFQtWC1NRURJQS1TRVFVRU5DRTowXG4iCisgICAgICAgICAgICAgICAg
IiNFWFQtWC1QTEFZTElTVC1UWVBFOlZPRFxuIgorICAgICAgICAgICAgICAgICIjRVhUSU5GOjYu
MDI3MixcbiIKKyAgICAgICAgICAgICAgICAiaHR0cDovLzEyNy4wLjAuMToiLCBtZWRpYVNlcnZl
clBvcnQsICIvbWFpbjEudHNcbiIsCisgICAgICAgICAgICAgICAgIiNFWFQtWC1FTkRMSVNUXG4i
CisgICAgICAgICAgICApOworCisgICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQobWFrZVN0cmlu
ZygiSFRUUC8xLjEgMjAwIE9LXHJcbiIsCisgICAgICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3Ro
OiAiLCBwYXlsb2FkLmxlbmd0aCgpLCAiXHJcbiIsCisgICAgICAgICAgICAgICAgIlxyXG4iLAor
ICAgICAgICAgICAgICAgIHBheWxvYWQKKyAgICAgICAgICAgICkpOworCisgICAgICAgICAgICBy
ZWNlaXZlZE1hbmlmZXN0UmVxdWVzdCA9IHRydWU7CisgICAgICAgIH0pOworICAgIH0pOworCisg
ICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCI8
dmlkZW8gc3JjPSdodHRwOi8vMTI3LjAuMC4xOiVkL21hbmlmZXN0Lm0zdTgnIGF1dG9wbGF5Pjwv
dmlkZW8+IiwgbWFuaWZlc3RTZXJ2ZXIucG9ydCgpXSBiYXNlVVJMOm5pbF07CisKKyAgICBVdGls
OjpydW4oJnJlY2VpdmVkTWVkaWFSZXF1ZXN0KTsKK30KKworfQorCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402799</attachid>
            <date>2020-06-25 13:07:00 -0700</date>
            <delta_ts>2020-06-25 13:23:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213245-20200625130659.patch</filename>
            <type>text/plain</type>
            <size>12074</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJiZWRlYzljZWRlOTg3
M2NjMzJlNGE4MjU1NjQ1YmZlZWU4YjdiZS4uNzViYzA1ZDlhYWUyODI2YjliNzQ2MGU1ODdiOWQ5
Mjk4YzFiYzFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTI0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIGlPUyBTYWZhcmkgaW5jb3Jy
ZWN0bHkgcmVwb3J0cyAiQXBwbGVDb3JlTWVkaWEiIGFzIFVBIHN0cmluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjQ1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NDQ3MTU4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0
LgorCisgICAgICAgIFRlc3RzOiBUZXN0V2ViS2l0QVBJLk1lZGlhTG9hZGluZy5Vc2VyQWdlbnRT
dHJpbmdDUkFCUworICAgICAgICAgICAgICAgVGVzdFdlYktpdEFQSS5NZWRpYUxvYWRpbmcuVXNl
ckFnZW50U3RyaW5nSExTCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNv
cmVOU1VSTFNlc3Npb24ubW06CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFz
ayBpbml0V2l0aFNlc3Npb246aWRlbnRpZmllcjpyZXF1ZXN0Ol0pOgorCiAyMDIwLTA2LTIwICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJlY292ZXJ5T1M6IFBB
TDo6Z2V0QVZQbGF5ZXJMYXllckNsYXNzKCkgd2lsbCBjcmFzaCB3aGVuIEFWRm91bmRhdGlvbiBp
cyBtaXNzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nv
Y29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KaW5kZXggZGQwMGRhZjE0N2RmMzFlMGYw
NjljMTM1OTM3MjM4YTM3YjBhNzA3NC4uMzg1MTFjODg2MWNlNTgzNjU3M2QxMmQxZGNiNWYxOTVh
YzFlYmZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2Nv
YS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAtNjU3LDYgKzY1NywxNCBAQCAt
IChpZClpbml0V2l0aFNlc3Npb246KFdlYkNvcmVOU1VSTFNlc3Npb24gKilzZXNzaW9uIGlkZW50
aWZpZXI6KE5TVUludGVnZXIpaWRlbgogICAgIHNlbGYuc2Vzc2lvbiA9IHNlc3Npb247CiAgICAg
c2VsZi5zdGF0ZSA9IE5TVVJMU2Vzc2lvblRhc2tTdGF0ZVN1c3BlbmRlZDsKICAgICBzZWxmLnBy
aW9yaXR5ID0gTlNVUkxTZXNzaW9uVGFza1ByaW9yaXR5RGVmYXVsdDsKKworICAgIC8vIENvcmVN
ZWRpYSB3aWxsIGV4cGxpY2l0bHkgYWRkIGEgdXNlciBhZ2VudCBoZWFkZXIuIFJlbW92ZSBpZiBw
cmVzZW50LgorICAgIGlmIChhdXRvKiB1c2VyQWdlbnRWYWx1ZSA9IFtyZXF1ZXN0IHZhbHVlRm9y
SFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2VudCJdKSB7CisgICAgICAgIE5TTXV0YWJsZVVSTFJl
cXVlc3QqIG11dGFibGVSZXF1ZXN0ID0gW3JlcXVlc3QgbXV0YWJsZUNvcHlXaXRoWm9uZTpuaWxd
OworICAgICAgICBbbXV0YWJsZVJlcXVlc3Qgc2V0VmFsdWU6bmlsIGZvckhUVFBIZWFkZXJGaWVs
ZDpAIlVzZXItQWdlbnQiXTsKKyAgICAgICAgcmVxdWVzdCA9IFttdXRhYmxlUmVxdWVzdCBhdXRv
cmVsZWFzZV07CisgICAgfQorCiAgICAgc2VsZi5vcmlnaW5hbFJlcXVlc3QgPSBzZWxmLmN1cnJl
bnRSZXF1ZXN0ID0gcmVxdWVzdDsKIAogICAgIHJldHVybiBzZWxmOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk5MmM4ZTMyMTZlNmZmZjlkYWI2
MmVlYTkyNDk4ZjNjMDkzZjlkNDguLmI4MjVkNWUzYWUxYTU4MWFmYWI0MTk4OWVjZDE0YmNmNWJh
ZmNjOTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNi0yNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KKworICAgICAgICBpT1MgU2FmYXJpIGluY29ycmVjdGx5IHJlcG9ydHMgIkFwcGxlQ29y
ZU1lZGlhIiBhcyBVQSBzdHJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzI0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQ0NzE1ODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFMb2FkaW5nLm1tOiBBZGRlZC4K
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnBhcnNlVXNlckFnZW50KToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIwLTA2LTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIFsgbWFjT1MgaU9TIF0gKHIyNjMzMjEpOiBUZXN0V2ViS2l0QVBJ
LlNsZWVwRGlzYWJsZXIuTG9hZCAmIFRlc3RXZWJLaXRBUEkuU2xlZXBEaXNhYmxlci5SZWxvYWQg
YXJlIGNvbnN0YW50IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI4OWEwNzA1
NGI5ZWI0YzdlMTljNzU4MzAxZmJmNmU5ZTM1MzFkNmMuLjQ0YmVmM2E2MzYxNTg4NWU0Mjg5ZmEy
MTc2MTgzMGY4Nzg3MzYxYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NTQsNiArOTU0
LDcgQEAKIAkJQ0FCMEZGNTIyMjMzMjQwNzAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTEu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDQUIwRkY1MTIyMzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMS5odG1sICov
OyB9OwogCQlDQUIwRkY1MzIyMzMyNDA3MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMi5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENBQjBGRjUwMjIzMzIzRjYwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS0yLmh0bWwgKi87
IH07CiAJCUNBQjBGRjU1MjIzMzJDNTcwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBQjBGRjU0MjIz
MzJDM0EwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSAqLzsgfTsKKwkJQ0QwMzcwRTMy
NEE0NEQ5NjAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMDM3MEUyMjRBNDRCN0EwMEJBM0NBRSAvKiBNZWRp
YUxvYWRpbmcubW0gKi87IH07CiAJCUNEMEJEMEE2MUY3OTkyNEQwMDFBQjJDRiAvKiBDb250ZXh0
TWVudUltZ1dpdGhWaWRlby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEMEJEMEE1MUY3OTkyMjAwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhW
aWRlby5tbSAqLzsgfTsKIAkJQ0QwQkQwQTgxRjc5OTgyRDAwMUFCMkNGIC8qIENvbnRleHRNZW51
SW1nV2l0aFZpZGVvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1n
V2l0aFZpZGVvLmh0bWwgKi87IH07CiAJCUNEMjI3RTQ0MjExQTRENUQwMEQyODVBRiAvKiBQcmVm
ZXJyZWRBdWRpb0J1ZmZlclNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDIyN0U0MzIxMUE0RDVEMDBEMjg1QUYgLyogUHJlZmVycmVkQXVkaW9C
dWZmZXJTaXplLm1tICovOyB9OwpAQCAtMjU5Myw2ICsyNTk0LDcgQEAKIAkJQ0FCMEZGNTAyMjMz
MjNGNjAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTIuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9ICJJbmRleGVkREJGaWxlTmFtZS0yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDQUIwRkY1MTIyMzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5h
bWUtMS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIkluZGV4ZWREQkZpbGVOYW1l
LTEuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBQjBGRjU0MjIzMzJDM0Ew
MDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEluZGV4ZWREQkZpbGVOYW1lLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFMb2FkaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDBCRDBBNTFGNzk5MjIwMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRo
VmlkZW8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNG
IC8qIENvbnRleHRNZW51SW1nV2l0aFZpZGVvLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBDb250ZXh0TWVudUlt
Z1dpdGhWaWRlby5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDIyNUMwNzFD
NDVBNjkyMDAxNDA3NjEgLyogUGFyc2VkQ29udGVudFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlZENvbnRlbnRSYW5nZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zMTYyLDYgKzMxNjQsNyBAQAogCQkJCThDMTBBRjk2MjA2NDY3
NzcwMDE4RkQ5MCAvKiBMb2NhbFN0b3JhZ2VQZXJzaXN0ZW5jZS5tbSAqLywKIAkJCQk3QTZBMkM2
RjFEQ0NGODdCMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tICovLAogCQkJCTA3
Q0M3REZEMjI2NjMzMDgwMEUzOTE4MSAvKiBNZWRpYUJ1ZmZlcmluZ1BvbGljeS5tbSAqLywKKwkJ
CQlDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tICovLAogCQkJCTUx
QkU5RTY1MjM3NjA4OTUwMEI0RTExNyAvKiBNZWRpYVR5cGUubW0gKi8sCiAJCQkJNTE2NUZFMDMy
MDFFRTYxNzAwOUY3RUMzIC8qIE1lc3NhZ2VQb3J0UHJvdmlkZXJzLm1tICovLAogCQkJCTUxQ0Qx
QzZBMUIzOENFMzYwMDE0MkNBNSAvKiBNb2RhbEFsZXJ0cy5tbSAqLywKQEAgLTQ4NTIsNiArNDg1
NSw3IEBACiAJCQkJMDcxMURGNTIyMjZBOTVGQzAwM0REMkY3IC8qIEFWRm91bmRhdGlvblNvZnRM
aW5rVGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUI1MUE0MTFBN0UwMDQ0N0M0QyAv
KiBCYWNrRm9yd2FyZExpc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzdGRUIyMDIwN0MwRjJF
MDBEMjMyNzggLyogQmFja2dyb3VuZENvbG9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0QwMzcw
RTMyNEE0NEQ5NjAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUMxNUNCQjMwMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc0QjdBNjAxREYzNkVFRTAwQUNDQjZDIC8qIEJ1bmRs
ZUVkaXRpbmdEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01lZGlhTG9hZGluZy5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
ZWQwZGY5YzI4OTlmMmFjYmI5YjgxODhlMmQxOTk4YjVlZmRlN2IzCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW0K
QEAgLTAsMCArMSwxMjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
bXBvcnQgIkhUVFBTZXJ2ZXIuaCIKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1w
b3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5o
PgorI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CisKKyNpZiBF
TkFCTEUoVklERU8pICYmIFVTRShBVkZPVU5EQVRJT04pCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJIHsKKworc3RhdGljIFN0cmluZyBwYXJzZVVzZXJBZ2VudChjb25zdCBWZWN0b3I8Y2hhcj4m
IHJlcXVlc3QpCit7CisgICAgYXV0byBoZWFkZXJzID0gU3RyaW5nOjpmcm9tVVRGOChyZXF1ZXN0
LmRhdGEoKSwgcmVxdWVzdC5zaXplKCkpLnNwbGl0KCJcclxuIik7CisgICAgYXV0byBpbmRleCA9
IGhlYWRlcnMuZmluZE1hdGNoaW5nKFtdIChhdXRvJiBoZWFkZXIpIHsgcmV0dXJuIGhlYWRlci5z
dGFydHNXaXRoKCJVc2VyLUFnZW50OiIpOyB9KTsKKyAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQp
CisgICAgICAgIHJldHVybiBoZWFkZXJzW2luZGV4XTsKKyAgICByZXR1cm4gZW1wdHlTdHJpbmco
KTsKK30KKworVEVTVChNZWRpYUxvYWRpbmcsIFVzZXJBZ2VudFN0cmluZ0NSQUJTKQoreworICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5tZWRpYVR5cGVzUmVxdWlyaW5n
VXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9u
LmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIHdlYlZpZXcuZ2V0KCkuX2N1c3RvbVVzZXJB
Z2VudCA9IEAiVGVzdFdlYktpdEFQSSI7CisKKyAgICBib29sIHJlY2VpdmVkTWVkaWFSZXF1ZXN0
ID0gZmFsc2U7CisKKyAgICBIVFRQU2VydmVyIHNlcnZlcihbJl0oQ29ubmVjdGlvbiBjb25uZWN0
aW9uKSBtdXRhYmxlIHsKKyAgICAgICAgY29ubmVjdGlvbi5yZWNlaXZlSFRUUFJlcXVlc3QoWyZd
IChhdXRvJiYgcmVxdWVzdCkgeworICAgICAgICAgICAgYXV0byB1c2VyQWdlbnQgPSBwYXJzZVVz
ZXJBZ2VudChyZXF1ZXN0KTsKKyAgICAgICAgICAgIEVYUEVDVF9TVFJFUSgiVXNlci1BZ2VudDog
VGVzdFdlYktpdEFQSSIsIHVzZXJBZ2VudC51dGY4KCkuZGF0YSgpKTsKKworICAgICAgICAgICAg
cmVjZWl2ZWRNZWRpYVJlcXVlc3QgPSB0cnVlOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAg
IFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPHZp
ZGVvIHNyYz0naHR0cDovLzEyNy4wLjAuMTolZC92aWRlby5tcDQnIGF1dG9wbGF5PjwvdmlkZW8+
Iiwgc2VydmVyLnBvcnQoKV0gYmFzZVVSTDpuaWxdOworCisgICAgVXRpbDo6cnVuKCZyZWNlaXZl
ZE1lZGlhUmVxdWVzdCk7Cit9CisKK1RFU1QoTWVkaWFMb2FkaW5nLCBVc2VyQWdlbnRTdHJpbmdI
TFMpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLm1lZGlhVHlw
ZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBl
Tm9uZTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNv
bmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisgICAgd2ViVmlldy5nZXQoKS5f
Y3VzdG9tVXNlckFnZW50ID0gQCJUZXN0V2ViS2l0QVBJIjsKKworICAgIGJvb2wgcmVjZWl2ZWRN
YW5pZmVzdFJlcXVlc3QgPSBmYWxzZTsKKyAgICBib29sIHJlY2VpdmVkTWVkaWFSZXF1ZXN0ID0g
ZmFsc2U7CisKKyAgICBIVFRQU2VydmVyIG1lZGlhU2VydmVyKFsmXShDb25uZWN0aW9uIGNvbm5l
Y3Rpb24pIG11dGFibGUgeworICAgICAgICBjb25uZWN0aW9uLnJlY2VpdmVIVFRQUmVxdWVzdChb
Y29ubmVjdGlvbiwgJnJlY2VpdmVkTWVkaWFSZXF1ZXN0XSAoVmVjdG9yPGNoYXI+JiYgcmVxdWVz
dCkgeworICAgICAgICAgICAgYXV0byB1c2VyQWdlbnQgPSBwYXJzZVVzZXJBZ2VudChyZXF1ZXN0
KTsKKyAgICAgICAgICAgIEVYUEVDVF9TVFJFUSgiVXNlci1BZ2VudDogVGVzdFdlYktpdEFQSSIs
IHVzZXJBZ2VudC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIHJlY2VpdmVkTWVkaWFSZXF1
ZXN0ID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgfSk7CisgICAgYXV0byBtZWRpYVNlcnZlclBv
cnQgPSBtZWRpYVNlcnZlci5wb3J0KCk7CisKKyAgICBIVFRQU2VydmVyIG1hbmlmZXN0U2VydmVy
KFsmXShDb25uZWN0aW9uIGNvbm5lY3Rpb24pIG11dGFibGUgeworICAgICAgICBjb25uZWN0aW9u
LnJlY2VpdmVIVFRQUmVxdWVzdChbY29ubmVjdGlvbiwgbWVkaWFTZXJ2ZXJQb3J0LCAmcmVjZWl2
ZWRNYW5pZmVzdFJlcXVlc3RdIChWZWN0b3I8Y2hhcj4mJiByZXF1ZXN0KSB7CisgICAgICAgICAg
ICBhdXRvIHVzZXJBZ2VudCA9IHBhcnNlVXNlckFnZW50KHJlcXVlc3QpOworICAgICAgICAgICAg
RVhQRUNUX1NUUkVRKCJVc2VyLUFnZW50OiBUZXN0V2ViS2l0QVBJIiwgdXNlckFnZW50LnV0Zjgo
KS5kYXRhKCkpOworCisgICAgICAgICAgICBhdXRvIHBheWxvYWQgPSBtYWtlU3RyaW5nKAorICAg
ICAgICAgICAgICAgICIjRVhUTTNVXG4iCisgICAgICAgICAgICAgICAgIiNFWFQtWC1UQVJHRVRE
VVJBVElPTjo2XG4iCisgICAgICAgICAgICAgICAgIiNFWFQtWC1WRVJTSU9OOjRcbiIKKyAgICAg
ICAgICAgICAgICAiI0VYVC1YLU1FRElBLVNFUVVFTkNFOjBcbiIKKyAgICAgICAgICAgICAgICAi
I0VYVC1YLVBMQVlMSVNULVRZUEU6Vk9EXG4iCisgICAgICAgICAgICAgICAgIiNFWFRJTkY6Ni4w
MjcyLFxuIgorICAgICAgICAgICAgICAgICJodHRwOi8vMTI3LjAuMC4xOiIsIG1lZGlhU2VydmVy
UG9ydCwgIi9tYWluMS50c1xuIiwKKyAgICAgICAgICAgICAgICAiI0VYVC1YLUVORExJU1RcbiIK
KyAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIGNvbm5lY3Rpb24uc2VuZChtYWtlU3RyaW5n
KCJIVFRQLzEuMSAyMDAgT0tcclxuIiwKKyAgICAgICAgICAgICAgICAiQ29udGVudC1MZW5ndGg6
ICIsIHBheWxvYWQubGVuZ3RoKCksICJcclxuIiwKKyAgICAgICAgICAgICAgICAiXHJcbiIsCisg
ICAgICAgICAgICAgICAgcGF5bG9hZAorICAgICAgICAgICAgKSk7CisKKyAgICAgICAgICAgIHJl
Y2VpdmVkTWFuaWZlc3RSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAg
ICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjx2
aWRlbyBzcmM9J2h0dHA6Ly8xMjcuMC4wLjE6JWQvbWFuaWZlc3QubTN1OCcgYXV0b3BsYXk+PC92
aWRlbz4iLCBtYW5pZmVzdFNlcnZlci5wb3J0KCldIGJhc2VVUkw6bmlsXTsKKworICAgIFV0aWw6
OnJ1bigmcmVjZWl2ZWRNZWRpYVJlcXVlc3QpOworfQorCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402802</attachid>
            <date>2020-06-25 13:23:11 -0700</date>
            <delta_ts>2020-06-26 16:36:57 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213245-20200625132311.patch</filename>
            <type>text/plain</type>
            <size>12035</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJiZWRlYzljZWRlOTg3
M2NjMzJlNGE4MjU1NjQ1YmZlZWU4YjdiZS4uNzViYzA1ZDlhYWUyODI2YjliNzQ2MGU1ODdiOWQ5
Mjk4YzFiYzFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTI0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIGlPUyBTYWZhcmkgaW5jb3Jy
ZWN0bHkgcmVwb3J0cyAiQXBwbGVDb3JlTWVkaWEiIGFzIFVBIHN0cmluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjQ1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NDQ3MTU4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0
LgorCisgICAgICAgIFRlc3RzOiBUZXN0V2ViS2l0QVBJLk1lZGlhTG9hZGluZy5Vc2VyQWdlbnRT
dHJpbmdDUkFCUworICAgICAgICAgICAgICAgVGVzdFdlYktpdEFQSS5NZWRpYUxvYWRpbmcuVXNl
ckFnZW50U3RyaW5nSExTCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNv
cmVOU1VSTFNlc3Npb24ubW06CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFz
ayBpbml0V2l0aFNlc3Npb246aWRlbnRpZmllcjpyZXF1ZXN0Ol0pOgorCiAyMDIwLTA2LTIwICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJlY292ZXJ5T1M6IFBB
TDo6Z2V0QVZQbGF5ZXJMYXllckNsYXNzKCkgd2lsbCBjcmFzaCB3aGVuIEFWRm91bmRhdGlvbiBp
cyBtaXNzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nv
Y29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KaW5kZXggZGQwMGRhZjE0N2RmMzFlMGYw
NjljMTM1OTM3MjM4YTM3YjBhNzA3NC4uMzg1MTFjODg2MWNlNTgzNjU3M2QxMmQxZGNiNWYxOTVh
YzFlYmZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2Nv
YS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAtNjU3LDYgKzY1NywxNCBAQCAt
IChpZClpbml0V2l0aFNlc3Npb246KFdlYkNvcmVOU1VSTFNlc3Npb24gKilzZXNzaW9uIGlkZW50
aWZpZXI6KE5TVUludGVnZXIpaWRlbgogICAgIHNlbGYuc2Vzc2lvbiA9IHNlc3Npb247CiAgICAg
c2VsZi5zdGF0ZSA9IE5TVVJMU2Vzc2lvblRhc2tTdGF0ZVN1c3BlbmRlZDsKICAgICBzZWxmLnBy
aW9yaXR5ID0gTlNVUkxTZXNzaW9uVGFza1ByaW9yaXR5RGVmYXVsdDsKKworICAgIC8vIENvcmVN
ZWRpYSB3aWxsIGV4cGxpY2l0bHkgYWRkIGEgdXNlciBhZ2VudCBoZWFkZXIuIFJlbW92ZSBpZiBw
cmVzZW50LgorICAgIGlmIChhdXRvKiB1c2VyQWdlbnRWYWx1ZSA9IFtyZXF1ZXN0IHZhbHVlRm9y
SFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2VudCJdKSB7CisgICAgICAgIE5TTXV0YWJsZVVSTFJl
cXVlc3QqIG11dGFibGVSZXF1ZXN0ID0gW3JlcXVlc3QgbXV0YWJsZUNvcHlXaXRoWm9uZTpuaWxd
OworICAgICAgICBbbXV0YWJsZVJlcXVlc3Qgc2V0VmFsdWU6bmlsIGZvckhUVFBIZWFkZXJGaWVs
ZDpAIlVzZXItQWdlbnQiXTsKKyAgICAgICAgcmVxdWVzdCA9IFttdXRhYmxlUmVxdWVzdCBhdXRv
cmVsZWFzZV07CisgICAgfQorCiAgICAgc2VsZi5vcmlnaW5hbFJlcXVlc3QgPSBzZWxmLmN1cnJl
bnRSZXF1ZXN0ID0gcmVxdWVzdDsKIAogICAgIHJldHVybiBzZWxmOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk5MmM4ZTMyMTZlNmZmZjlkYWI2
MmVlYTkyNDk4ZjNjMDkzZjlkNDguLmI4MjVkNWUzYWUxYTU4MWFmYWI0MTk4OWVjZDE0YmNmNWJh
ZmNjOTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNi0yNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KKworICAgICAgICBpT1MgU2FmYXJpIGluY29ycmVjdGx5IHJlcG9ydHMgIkFwcGxlQ29y
ZU1lZGlhIiBhcyBVQSBzdHJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzI0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQ0NzE1ODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFMb2FkaW5nLm1tOiBBZGRlZC4K
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnBhcnNlVXNlckFnZW50KToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIwLTA2LTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIFsgbWFjT1MgaU9TIF0gKHIyNjMzMjEpOiBUZXN0V2ViS2l0QVBJ
LlNsZWVwRGlzYWJsZXIuTG9hZCAmIFRlc3RXZWJLaXRBUEkuU2xlZXBEaXNhYmxlci5SZWxvYWQg
YXJlIGNvbnN0YW50IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI4OWEwNzA1
NGI5ZWI0YzdlMTljNzU4MzAxZmJmNmU5ZTM1MzFkNmMuLjQ0YmVmM2E2MzYxNTg4NWU0Mjg5ZmEy
MTc2MTgzMGY4Nzg3MzYxYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NTQsNiArOTU0
LDcgQEAKIAkJQ0FCMEZGNTIyMjMzMjQwNzAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTEu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDQUIwRkY1MTIyMzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMS5odG1sICov
OyB9OwogCQlDQUIwRkY1MzIyMzMyNDA3MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMi5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENBQjBGRjUwMjIzMzIzRjYwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS0yLmh0bWwgKi87
IH07CiAJCUNBQjBGRjU1MjIzMzJDNTcwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBQjBGRjU0MjIz
MzJDM0EwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSAqLzsgfTsKKwkJQ0QwMzcwRTMy
NEE0NEQ5NjAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMDM3MEUyMjRBNDRCN0EwMEJBM0NBRSAvKiBNZWRp
YUxvYWRpbmcubW0gKi87IH07CiAJCUNEMEJEMEE2MUY3OTkyNEQwMDFBQjJDRiAvKiBDb250ZXh0
TWVudUltZ1dpdGhWaWRlby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEMEJEMEE1MUY3OTkyMjAwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhW
aWRlby5tbSAqLzsgfTsKIAkJQ0QwQkQwQTgxRjc5OTgyRDAwMUFCMkNGIC8qIENvbnRleHRNZW51
SW1nV2l0aFZpZGVvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1n
V2l0aFZpZGVvLmh0bWwgKi87IH07CiAJCUNEMjI3RTQ0MjExQTRENUQwMEQyODVBRiAvKiBQcmVm
ZXJyZWRBdWRpb0J1ZmZlclNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDIyN0U0MzIxMUE0RDVEMDBEMjg1QUYgLyogUHJlZmVycmVkQXVkaW9C
dWZmZXJTaXplLm1tICovOyB9OwpAQCAtMjU5Myw2ICsyNTk0LDcgQEAKIAkJQ0FCMEZGNTAyMjMz
MjNGNjAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTIuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9ICJJbmRleGVkREJGaWxlTmFtZS0yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDQUIwRkY1MTIyMzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5h
bWUtMS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIkluZGV4ZWREQkZpbGVOYW1l
LTEuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBQjBGRjU0MjIzMzJDM0Ew
MDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEluZGV4ZWREQkZpbGVOYW1lLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFMb2FkaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDBCRDBBNTFGNzk5MjIwMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRo
VmlkZW8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNG
IC8qIENvbnRleHRNZW51SW1nV2l0aFZpZGVvLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBDb250ZXh0TWVudUlt
Z1dpdGhWaWRlby5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDIyNUMwNzFD
NDVBNjkyMDAxNDA3NjEgLyogUGFyc2VkQ29udGVudFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlZENvbnRlbnRSYW5nZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zMTYyLDYgKzMxNjQsNyBAQAogCQkJCThDMTBBRjk2MjA2NDY3
NzcwMDE4RkQ5MCAvKiBMb2NhbFN0b3JhZ2VQZXJzaXN0ZW5jZS5tbSAqLywKIAkJCQk3QTZBMkM2
RjFEQ0NGODdCMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tICovLAogCQkJCTA3
Q0M3REZEMjI2NjMzMDgwMEUzOTE4MSAvKiBNZWRpYUJ1ZmZlcmluZ1BvbGljeS5tbSAqLywKKwkJ
CQlDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tICovLAogCQkJCTUx
QkU5RTY1MjM3NjA4OTUwMEI0RTExNyAvKiBNZWRpYVR5cGUubW0gKi8sCiAJCQkJNTE2NUZFMDMy
MDFFRTYxNzAwOUY3RUMzIC8qIE1lc3NhZ2VQb3J0UHJvdmlkZXJzLm1tICovLAogCQkJCTUxQ0Qx
QzZBMUIzOENFMzYwMDE0MkNBNSAvKiBNb2RhbEFsZXJ0cy5tbSAqLywKQEAgLTQ4NTIsNiArNDg1
NSw3IEBACiAJCQkJMDcxMURGNTIyMjZBOTVGQzAwM0REMkY3IC8qIEFWRm91bmRhdGlvblNvZnRM
aW5rVGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUI1MUE0MTFBN0UwMDQ0N0M0QyAv
KiBCYWNrRm9yd2FyZExpc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzdGRUIyMDIwN0MwRjJF
MDBEMjMyNzggLyogQmFja2dyb3VuZENvbG9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0QwMzcw
RTMyNEE0NEQ5NjAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUMxNUNCQjMwMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc0QjdBNjAxREYzNkVFRTAwQUNDQjZDIC8qIEJ1bmRs
ZUVkaXRpbmdEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01lZGlhTG9hZGluZy5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MTllMzEyMmQ1MWUwMTM0YTdkZGEyMjUzM2IyZmJhOGJmNmYzYTU2Ci0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW0K
QEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
bXBvcnQgIkhUVFBTZXJ2ZXIuaCIKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1w
b3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0
ZU51bWJlcnMuaD4KKworI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEFWRk9VTkRBVElPTikKKwor
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitzdGF0aWMgU3RyaW5nIHBhcnNlVXNlckFnZW50
KGNvbnN0IFZlY3RvcjxjaGFyPiYgcmVxdWVzdCkKK3sKKyAgICBhdXRvIGhlYWRlcnMgPSBTdHJp
bmc6OmZyb21VVEY4KHJlcXVlc3QuZGF0YSgpLCByZXF1ZXN0LnNpemUoKSkuc3BsaXQoIlxyXG4i
KTsKKyAgICBhdXRvIGluZGV4ID0gaGVhZGVycy5maW5kTWF0Y2hpbmcoW10gKGF1dG8mIGhlYWRl
cikgeyByZXR1cm4gaGVhZGVyLnN0YXJ0c1dpdGgoIlVzZXItQWdlbnQ6Iik7IH0pOworICAgIGlm
IChpbmRleCAhPSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuIGhlYWRlcnNbaW5kZXhdOworICAg
IHJldHVybiBlbXB0eVN0cmluZygpOworfQorCitURVNUKE1lZGlhTG9hZGluZywgVXNlckFnZW50
U3RyaW5nQ1JBQlMpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgp
Lm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFs
TWVkaWFUeXBlTm9uZTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CisgICAgd2ViVmll
dy5nZXQoKS5jdXN0b21Vc2VyQWdlbnQgPSBAIlRlc3RXZWJLaXRBUEkiOworCisgICAgYm9vbCBy
ZWNlaXZlZE1lZGlhUmVxdWVzdCA9IGZhbHNlOworCisgICAgSFRUUFNlcnZlciBzZXJ2ZXIoWyZd
KENvbm5lY3Rpb24gY29ubmVjdGlvbikgbXV0YWJsZSB7CisgICAgICAgIGNvbm5lY3Rpb24ucmVj
ZWl2ZUhUVFBSZXF1ZXN0KFsmXSAoYXV0byYmIHJlcXVlc3QpIHsKKyAgICAgICAgICAgIGF1dG8g
dXNlckFnZW50ID0gcGFyc2VVc2VyQWdlbnQocmVxdWVzdCk7CisgICAgICAgICAgICBFWFBFQ1Rf
U1RSRVEoIlVzZXItQWdlbnQ6IFRlc3RXZWJLaXRBUEkiLCB1c2VyQWdlbnQudXRmOCgpLmRhdGEo
KSk7CisKKyAgICAgICAgICAgIHJlY2VpdmVkTWVkaWFSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAg
fSk7CisgICAgfSk7CisKKyAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpbTlNTdHJpbmcgc3Ry
aW5nV2l0aEZvcm1hdDpAIjx2aWRlbyBzcmM9J2h0dHA6Ly8xMjcuMC4wLjE6JWQvdmlkZW8ubXA0
JyBhdXRvcGxheT48L3ZpZGVvPiIsIHNlcnZlci5wb3J0KCldIGJhc2VVUkw6bmlsXTsKKworICAg
IFV0aWw6OnJ1bigmcmVjZWl2ZWRNZWRpYVJlcXVlc3QpOworfQorCitURVNUKE1lZGlhTG9hZGlu
ZywgVXNlckFnZW50U3RyaW5nSExTKQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgY29uZmlndXJh
dGlvbi5nZXQoKS5tZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tB
dWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rl
c3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMw
MCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpIGFkZFRvV2luZG93OllFU10pOwor
ICAgIHdlYlZpZXcuZ2V0KCkuY3VzdG9tVXNlckFnZW50ID0gQCJUZXN0V2ViS2l0QVBJIjsKKwor
ICAgIGJvb2wgcmVjZWl2ZWRNYW5pZmVzdFJlcXVlc3QgPSBmYWxzZTsKKyAgICBib29sIHJlY2Vp
dmVkTWVkaWFSZXF1ZXN0ID0gZmFsc2U7CisKKyAgICBIVFRQU2VydmVyIG1lZGlhU2VydmVyKFsm
XShDb25uZWN0aW9uIGNvbm5lY3Rpb24pIG11dGFibGUgeworICAgICAgICBjb25uZWN0aW9uLnJl
Y2VpdmVIVFRQUmVxdWVzdChbY29ubmVjdGlvbiwgJnJlY2VpdmVkTWVkaWFSZXF1ZXN0XSAoVmVj
dG9yPGNoYXI+JiYgcmVxdWVzdCkgeworICAgICAgICAgICAgYXV0byB1c2VyQWdlbnQgPSBwYXJz
ZVVzZXJBZ2VudChyZXF1ZXN0KTsKKyAgICAgICAgICAgIEVYUEVDVF9TVFJFUSgiVXNlci1BZ2Vu
dDogVGVzdFdlYktpdEFQSSIsIHVzZXJBZ2VudC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAg
IHJlY2VpdmVkTWVkaWFSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgfSk7CisgICAg
YXV0byBtZWRpYVNlcnZlclBvcnQgPSBtZWRpYVNlcnZlci5wb3J0KCk7CisKKyAgICBIVFRQU2Vy
dmVyIG1hbmlmZXN0U2VydmVyKFsmXShDb25uZWN0aW9uIGNvbm5lY3Rpb24pIG11dGFibGUgewor
ICAgICAgICBjb25uZWN0aW9uLnJlY2VpdmVIVFRQUmVxdWVzdChbY29ubmVjdGlvbiwgbWVkaWFT
ZXJ2ZXJQb3J0LCAmcmVjZWl2ZWRNYW5pZmVzdFJlcXVlc3RdIChWZWN0b3I8Y2hhcj4mJiByZXF1
ZXN0KSB7CisgICAgICAgICAgICBhdXRvIHVzZXJBZ2VudCA9IHBhcnNlVXNlckFnZW50KHJlcXVl
c3QpOworICAgICAgICAgICAgRVhQRUNUX1NUUkVRKCJVc2VyLUFnZW50OiBUZXN0V2ViS2l0QVBJ
IiwgdXNlckFnZW50LnV0ZjgoKS5kYXRhKCkpOworCisgICAgICAgICAgICBhdXRvIHBheWxvYWQg
PSBtYWtlU3RyaW5nKAorICAgICAgICAgICAgICAgICIjRVhUTTNVXG4iCisgICAgICAgICAgICAg
ICAgIiNFWFQtWC1UQVJHRVREVVJBVElPTjo2XG4iCisgICAgICAgICAgICAgICAgIiNFWFQtWC1W
RVJTSU9OOjRcbiIKKyAgICAgICAgICAgICAgICAiI0VYVC1YLU1FRElBLVNFUVVFTkNFOjBcbiIK
KyAgICAgICAgICAgICAgICAiI0VYVC1YLVBMQVlMSVNULVRZUEU6Vk9EXG4iCisgICAgICAgICAg
ICAgICAgIiNFWFRJTkY6Ni4wMjcyLFxuIgorICAgICAgICAgICAgICAgICJodHRwOi8vMTI3LjAu
MC4xOiIsIG1lZGlhU2VydmVyUG9ydCwgIi9tYWluMS50c1xuIiwKKyAgICAgICAgICAgICAgICAi
I0VYVC1YLUVORExJU1RcbiIKKyAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIGNvbm5lY3Rp
b24uc2VuZChtYWtlU3RyaW5nKCJIVFRQLzEuMSAyMDAgT0tcclxuIiwKKyAgICAgICAgICAgICAg
ICAiQ29udGVudC1MZW5ndGg6ICIsIHBheWxvYWQubGVuZ3RoKCksICJcclxuIiwKKyAgICAgICAg
ICAgICAgICAiXHJcbiIsCisgICAgICAgICAgICAgICAgcGF5bG9hZAorICAgICAgICAgICAgKSk7
CisKKyAgICAgICAgICAgIHJlY2VpdmVkTWFuaWZlc3RSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAg
fSk7CisgICAgfSk7CisKKyAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpbTlNTdHJpbmcgc3Ry
aW5nV2l0aEZvcm1hdDpAIjx2aWRlbyBzcmM9J2h0dHA6Ly8xMjcuMC4wLjE6JWQvbWFuaWZlc3Qu
bTN1OCcgYXV0b3BsYXk+PC92aWRlbz4iLCBtYW5pZmVzdFNlcnZlci5wb3J0KCldIGJhc2VVUkw6
bmlsXTsKKworICAgIFV0aWw6OnJ1bigmcmVjZWl2ZWRNZWRpYVJlcXVlc3QpOworfQorCit9CisK
KyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402926</attachid>
            <date>2020-06-26 16:36:59 -0700</date>
            <delta_ts>2020-06-27 12:31:21 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213245-20200626163658.patch</filename>
            <type>text/plain</type>
            <size>12062</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJiZWRlYzljZWRlOTg3
M2NjMzJlNGE4MjU1NjQ1YmZlZWU4YjdiZS4uNzViYzA1ZDlhYWUyODI2YjliNzQ2MGU1ODdiOWQ5
Mjk4YzFiYzFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTI0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIGlPUyBTYWZhcmkgaW5jb3Jy
ZWN0bHkgcmVwb3J0cyAiQXBwbGVDb3JlTWVkaWEiIGFzIFVBIHN0cmluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMjQ1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NDQ3MTU4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0
LgorCisgICAgICAgIFRlc3RzOiBUZXN0V2ViS2l0QVBJLk1lZGlhTG9hZGluZy5Vc2VyQWdlbnRT
dHJpbmdDUkFCUworICAgICAgICAgICAgICAgVGVzdFdlYktpdEFQSS5NZWRpYUxvYWRpbmcuVXNl
ckFnZW50U3RyaW5nSExTCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNv
cmVOU1VSTFNlc3Npb24ubW06CisgICAgICAgICgtW1dlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFz
ayBpbml0V2l0aFNlc3Npb246aWRlbnRpZmllcjpyZXF1ZXN0Ol0pOgorCiAyMDIwLTA2LTIwICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJlY292ZXJ5T1M6IFBB
TDo6Z2V0QVZQbGF5ZXJMYXllckNsYXNzKCkgd2lsbCBjcmFzaCB3aGVuIEFWRm91bmRhdGlvbiBp
cyBtaXNzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nv
Y29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW0KaW5kZXggZGQwMGRhZjE0N2RmMzFlMGYw
NjljMTM1OTM3MjM4YTM3YjBhNzA3NC4uMzg1MTFjODg2MWNlNTgzNjU3M2QxMmQxZGNiNWYxOTVh
YzFlYmZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2Nv
YS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQpAQCAtNjU3LDYgKzY1NywxNCBAQCAt
IChpZClpbml0V2l0aFNlc3Npb246KFdlYkNvcmVOU1VSTFNlc3Npb24gKilzZXNzaW9uIGlkZW50
aWZpZXI6KE5TVUludGVnZXIpaWRlbgogICAgIHNlbGYuc2Vzc2lvbiA9IHNlc3Npb247CiAgICAg
c2VsZi5zdGF0ZSA9IE5TVVJMU2Vzc2lvblRhc2tTdGF0ZVN1c3BlbmRlZDsKICAgICBzZWxmLnBy
aW9yaXR5ID0gTlNVUkxTZXNzaW9uVGFza1ByaW9yaXR5RGVmYXVsdDsKKworICAgIC8vIENvcmVN
ZWRpYSB3aWxsIGV4cGxpY2l0bHkgYWRkIGEgdXNlciBhZ2VudCBoZWFkZXIuIFJlbW92ZSBpZiBw
cmVzZW50LgorICAgIGlmIChhdXRvKiB1c2VyQWdlbnRWYWx1ZSA9IFtyZXF1ZXN0IHZhbHVlRm9y
SFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2VudCJdKSB7CisgICAgICAgIE5TTXV0YWJsZVVSTFJl
cXVlc3QqIG11dGFibGVSZXF1ZXN0ID0gW3JlcXVlc3QgbXV0YWJsZUNvcHlXaXRoWm9uZTpuaWxd
OworICAgICAgICBbbXV0YWJsZVJlcXVlc3Qgc2V0VmFsdWU6bmlsIGZvckhUVFBIZWFkZXJGaWVs
ZDpAIlVzZXItQWdlbnQiXTsKKyAgICAgICAgcmVxdWVzdCA9IFttdXRhYmxlUmVxdWVzdCBhdXRv
cmVsZWFzZV07CisgICAgfQorCiAgICAgc2VsZi5vcmlnaW5hbFJlcXVlc3QgPSBzZWxmLmN1cnJl
bnRSZXF1ZXN0ID0gcmVxdWVzdDsKIAogICAgIHJldHVybiBzZWxmOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk5MmM4ZTMyMTZlNmZmZjlkYWI2
MmVlYTkyNDk4ZjNjMDkzZjlkNDguLmI4MjVkNWUzYWUxYTU4MWFmYWI0MTk4OWVjZDE0YmNmNWJh
ZmNjOTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNi0yNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KKworICAgICAgICBpT1MgU2FmYXJpIGluY29ycmVjdGx5IHJlcG9ydHMgIkFwcGxlQ29y
ZU1lZGlhIiBhcyBVQSBzdHJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzI0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQ0NzE1ODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWVkaWFMb2FkaW5nLm1tOiBBZGRlZC4K
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnBhcnNlVXNlckFnZW50KToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIwLTA2LTIyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIFsgbWFjT1MgaU9TIF0gKHIyNjMzMjEpOiBUZXN0V2ViS2l0QVBJ
LlNsZWVwRGlzYWJsZXIuTG9hZCAmIFRlc3RXZWJLaXRBUEkuU2xlZXBEaXNhYmxlci5SZWxvYWQg
YXJlIGNvbnN0YW50IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI4OWEwNzA1
NGI5ZWI0YzdlMTljNzU4MzAxZmJmNmU5ZTM1MzFkNmMuLjQ0YmVmM2E2MzYxNTg4NWU0Mjg5ZmEy
MTc2MTgzMGY4Nzg3MzYxYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NTQsNiArOTU0
LDcgQEAKIAkJQ0FCMEZGNTIyMjMzMjQwNzAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTEu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDQUIwRkY1MTIyMzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMS5odG1sICov
OyB9OwogCQlDQUIwRkY1MzIyMzMyNDA3MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5hbWUtMi5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENBQjBGRjUwMjIzMzIzRjYwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS0yLmh0bWwgKi87
IH07CiAJCUNBQjBGRjU1MjIzMzJDNTcwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBQjBGRjU0MjIz
MzJDM0EwMDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSAqLzsgfTsKKwkJQ0QwMzcwRTMy
NEE0NEQ5NjAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMDM3MEUyMjRBNDRCN0EwMEJBM0NBRSAvKiBNZWRp
YUxvYWRpbmcubW0gKi87IH07CiAJCUNEMEJEMEE2MUY3OTkyNEQwMDFBQjJDRiAvKiBDb250ZXh0
TWVudUltZ1dpdGhWaWRlby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENEMEJEMEE1MUY3OTkyMjAwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhW
aWRlby5tbSAqLzsgfTsKIAkJQ0QwQkQwQTgxRjc5OTgyRDAwMUFCMkNGIC8qIENvbnRleHRNZW51
SW1nV2l0aFZpZGVvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1n
V2l0aFZpZGVvLmh0bWwgKi87IH07CiAJCUNEMjI3RTQ0MjExQTRENUQwMEQyODVBRiAvKiBQcmVm
ZXJyZWRBdWRpb0J1ZmZlclNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDIyN0U0MzIxMUE0RDVEMDBEMjg1QUYgLyogUHJlZmVycmVkQXVkaW9C
dWZmZXJTaXplLm1tICovOyB9OwpAQCAtMjU5Myw2ICsyNTk0LDcgQEAKIAkJQ0FCMEZGNTAyMjMz
MjNGNjAwNkNBNUIwIC8qIEluZGV4ZWREQkZpbGVOYW1lLTIuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9ICJJbmRleGVkREJGaWxlTmFtZS0yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDQUIwRkY1MTIyMzMyM0Y2MDA2Q0E1QjAgLyogSW5kZXhlZERCRmlsZU5h
bWUtMS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIkluZGV4ZWREQkZpbGVOYW1l
LTEuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBQjBGRjU0MjIzMzJDM0Ew
MDZDQTVCMCAvKiBJbmRleGVkREJGaWxlTmFtZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEluZGV4ZWREQkZpbGVOYW1lLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFMb2FkaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDBCRDBBNTFGNzk5MjIwMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRo
VmlkZW8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNG
IC8qIENvbnRleHRNZW51SW1nV2l0aFZpZGVvLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBDb250ZXh0TWVudUlt
Z1dpdGhWaWRlby5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDIyNUMwNzFD
NDVBNjkyMDAxNDA3NjEgLyogUGFyc2VkQ29udGVudFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlZENvbnRlbnRSYW5nZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zMTYyLDYgKzMxNjQsNyBAQAogCQkJCThDMTBBRjk2MjA2NDY3
NzcwMDE4RkQ5MCAvKiBMb2NhbFN0b3JhZ2VQZXJzaXN0ZW5jZS5tbSAqLywKIAkJCQk3QTZBMkM2
RjFEQ0NGODdCMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tICovLAogCQkJCTA3
Q0M3REZEMjI2NjMzMDgwMEUzOTE4MSAvKiBNZWRpYUJ1ZmZlcmluZ1BvbGljeS5tbSAqLywKKwkJ
CQlDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUgLyogTWVkaWFMb2FkaW5nLm1tICovLAogCQkJCTUx
QkU5RTY1MjM3NjA4OTUwMEI0RTExNyAvKiBNZWRpYVR5cGUubW0gKi8sCiAJCQkJNTE2NUZFMDMy
MDFFRTYxNzAwOUY3RUMzIC8qIE1lc3NhZ2VQb3J0UHJvdmlkZXJzLm1tICovLAogCQkJCTUxQ0Qx
QzZBMUIzOENFMzYwMDE0MkNBNSAvKiBNb2RhbEFsZXJ0cy5tbSAqLywKQEAgLTQ4NTIsNiArNDg1
NSw3IEBACiAJCQkJMDcxMURGNTIyMjZBOTVGQzAwM0REMkY3IC8qIEFWRm91bmRhdGlvblNvZnRM
aW5rVGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUI1MUE0MTFBN0UwMDQ0N0M0QyAv
KiBCYWNrRm9yd2FyZExpc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzdGRUIyMDIwN0MwRjJF
MDBEMjMyNzggLyogQmFja2dyb3VuZENvbG9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0QwMzcw
RTMyNEE0NEQ5NjAwQkEzQ0FFIC8qIE1lZGlhTG9hZGluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUMxNUNCQjMwMjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUMxNjkyRENBMjNEMTBEQUUwMDZFODhGNyAvKiBCYXR0ZXJ5
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc0QjdBNjAxREYzNkVFRTAwQUNDQjZDIC8qIEJ1bmRs
ZUVkaXRpbmdEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01lZGlhTG9hZGluZy5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ZGQwZWQyM2I1NTRjMWQ3NTYwYmQ3NzNhYTM0M2FkYzMxMjMzMGExCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYUxvYWRpbmcubW0K
QEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
bXBvcnQgIkhUVFBTZXJ2ZXIuaCIKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1w
b3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0
ZU51bWJlcnMuaD4KKworI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEFWRk9VTkRBVElPTikgJiYg
SEFWRShORVRXT1JLX0ZSQU1FV09SSykKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitz
dGF0aWMgU3RyaW5nIHBhcnNlVXNlckFnZW50KGNvbnN0IFZlY3RvcjxjaGFyPiYgcmVxdWVzdCkK
K3sKKyAgICBhdXRvIGhlYWRlcnMgPSBTdHJpbmc6OmZyb21VVEY4KHJlcXVlc3QuZGF0YSgpLCBy
ZXF1ZXN0LnNpemUoKSkuc3BsaXQoIlxyXG4iKTsKKyAgICBhdXRvIGluZGV4ID0gaGVhZGVycy5m
aW5kTWF0Y2hpbmcoW10gKGF1dG8mIGhlYWRlcikgeyByZXR1cm4gaGVhZGVyLnN0YXJ0c1dpdGgo
IlVzZXItQWdlbnQ6Iik7IH0pOworICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkKKyAgICAgICAg
cmV0dXJuIGhlYWRlcnNbaW5kZXhdOworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCitU
RVNUKE1lZGlhTG9hZGluZywgVXNlckFnZW50U3RyaW5nQ1JBQlMpCit7CisgICAgYXV0byBjb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9u
Rm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlTm9uZTsKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRk
VG9XaW5kb3c6WUVTXSk7CisgICAgd2ViVmlldy5nZXQoKS5jdXN0b21Vc2VyQWdlbnQgPSBAIlRl
c3RXZWJLaXRBUEkiOworCisgICAgYm9vbCByZWNlaXZlZE1lZGlhUmVxdWVzdCA9IGZhbHNlOwor
CisgICAgSFRUUFNlcnZlciBzZXJ2ZXIoWyZdKENvbm5lY3Rpb24gY29ubmVjdGlvbikgbXV0YWJs
ZSB7CisgICAgICAgIGNvbm5lY3Rpb24ucmVjZWl2ZUhUVFBSZXF1ZXN0KFsmXSAoYXV0byYmIHJl
cXVlc3QpIHsKKyAgICAgICAgICAgIGF1dG8gdXNlckFnZW50ID0gcGFyc2VVc2VyQWdlbnQocmVx
dWVzdCk7CisgICAgICAgICAgICBFWFBFQ1RfU1RSRVEoIlVzZXItQWdlbnQ6IFRlc3RXZWJLaXRB
UEkiLCB1c2VyQWdlbnQudXRmOCgpLmRhdGEoKSk7CisKKyAgICAgICAgICAgIHJlY2VpdmVkTWVk
aWFSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBbd2ViVmlldyBs
b2FkSFRNTFN0cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjx2aWRlbyBzcmM9J2h0
dHA6Ly8xMjcuMC4wLjE6JWQvdmlkZW8ubXA0JyBhdXRvcGxheT48L3ZpZGVvPiIsIHNlcnZlci5w
b3J0KCldIGJhc2VVUkw6bmlsXTsKKworICAgIFV0aWw6OnJ1bigmcmVjZWl2ZWRNZWRpYVJlcXVl
c3QpOworfQorCitURVNUKE1lZGlhTG9hZGluZywgVXNlckFnZW50U3RyaW5nSExTKQoreworICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5tZWRpYVR5cGVzUmVxdWlyaW5n
VXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCAzMDAsIDMwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9u
LmdldCgpIGFkZFRvV2luZG93OllFU10pOworICAgIHdlYlZpZXcuZ2V0KCkuY3VzdG9tVXNlckFn
ZW50ID0gQCJUZXN0V2ViS2l0QVBJIjsKKworICAgIGJvb2wgcmVjZWl2ZWRNYW5pZmVzdFJlcXVl
c3QgPSBmYWxzZTsKKyAgICBib29sIHJlY2VpdmVkTWVkaWFSZXF1ZXN0ID0gZmFsc2U7CisKKyAg
ICBIVFRQU2VydmVyIG1lZGlhU2VydmVyKFsmXShDb25uZWN0aW9uIGNvbm5lY3Rpb24pIG11dGFi
bGUgeworICAgICAgICBjb25uZWN0aW9uLnJlY2VpdmVIVFRQUmVxdWVzdChbY29ubmVjdGlvbiwg
JnJlY2VpdmVkTWVkaWFSZXF1ZXN0XSAoVmVjdG9yPGNoYXI+JiYgcmVxdWVzdCkgeworICAgICAg
ICAgICAgYXV0byB1c2VyQWdlbnQgPSBwYXJzZVVzZXJBZ2VudChyZXF1ZXN0KTsKKyAgICAgICAg
ICAgIEVYUEVDVF9TVFJFUSgiVXNlci1BZ2VudDogVGVzdFdlYktpdEFQSSIsIHVzZXJBZ2VudC51
dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIHJlY2VpdmVkTWVkaWFSZXF1ZXN0ID0gdHJ1ZTsK
KyAgICAgICAgfSk7CisgICAgfSk7CisgICAgYXV0byBtZWRpYVNlcnZlclBvcnQgPSBtZWRpYVNl
cnZlci5wb3J0KCk7CisKKyAgICBIVFRQU2VydmVyIG1hbmlmZXN0U2VydmVyKFsmXShDb25uZWN0
aW9uIGNvbm5lY3Rpb24pIG11dGFibGUgeworICAgICAgICBjb25uZWN0aW9uLnJlY2VpdmVIVFRQ
UmVxdWVzdChbY29ubmVjdGlvbiwgbWVkaWFTZXJ2ZXJQb3J0LCAmcmVjZWl2ZWRNYW5pZmVzdFJl
cXVlc3RdIChWZWN0b3I8Y2hhcj4mJiByZXF1ZXN0KSB7CisgICAgICAgICAgICBhdXRvIHVzZXJB
Z2VudCA9IHBhcnNlVXNlckFnZW50KHJlcXVlc3QpOworICAgICAgICAgICAgRVhQRUNUX1NUUkVR
KCJVc2VyLUFnZW50OiBUZXN0V2ViS2l0QVBJIiwgdXNlckFnZW50LnV0ZjgoKS5kYXRhKCkpOwor
CisgICAgICAgICAgICBhdXRvIHBheWxvYWQgPSBtYWtlU3RyaW5nKAorICAgICAgICAgICAgICAg
ICIjRVhUTTNVXG4iCisgICAgICAgICAgICAgICAgIiNFWFQtWC1UQVJHRVREVVJBVElPTjo2XG4i
CisgICAgICAgICAgICAgICAgIiNFWFQtWC1WRVJTSU9OOjRcbiIKKyAgICAgICAgICAgICAgICAi
I0VYVC1YLU1FRElBLVNFUVVFTkNFOjBcbiIKKyAgICAgICAgICAgICAgICAiI0VYVC1YLVBMQVlM
SVNULVRZUEU6Vk9EXG4iCisgICAgICAgICAgICAgICAgIiNFWFRJTkY6Ni4wMjcyLFxuIgorICAg
ICAgICAgICAgICAgICJodHRwOi8vMTI3LjAuMC4xOiIsIG1lZGlhU2VydmVyUG9ydCwgIi9tYWlu
MS50c1xuIiwKKyAgICAgICAgICAgICAgICAiI0VYVC1YLUVORExJU1RcbiIKKyAgICAgICAgICAg
ICk7CisKKyAgICAgICAgICAgIGNvbm5lY3Rpb24uc2VuZChtYWtlU3RyaW5nKCJIVFRQLzEuMSAy
MDAgT0tcclxuIiwKKyAgICAgICAgICAgICAgICAiQ29udGVudC1MZW5ndGg6ICIsIHBheWxvYWQu
bGVuZ3RoKCksICJcclxuIiwKKyAgICAgICAgICAgICAgICAiXHJcbiIsCisgICAgICAgICAgICAg
ICAgcGF5bG9hZAorICAgICAgICAgICAgKSk7CisKKyAgICAgICAgICAgIHJlY2VpdmVkTWFuaWZl
c3RSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBbd2ViVmlldyBs
b2FkSFRNTFN0cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjx2aWRlbyBzcmM9J2h0
dHA6Ly8xMjcuMC4wLjE6JWQvbWFuaWZlc3QubTN1OCcgYXV0b3BsYXk+PC92aWRlbz4iLCBtYW5p
ZmVzdFNlcnZlci5wb3J0KCldIGJhc2VVUkw6bmlsXTsKKworICAgIFV0aWw6OnJ1bigmcmVjZWl2
ZWRNZWRpYVJlcXVlc3QpOworfQorCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>