<?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>183876</bug_id>
          
          <creation_ts>2018-03-21 15:40:51 -0700</creation_ts>
          <short_desc>Make AVFoundationEnabled preference available on iOS</short_desc>
          <delta_ts>2018-03-27 16:16:39 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1408208</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-03-21 15:40:51 -0700</bug_when>
    <thetext>Make AVFoundationEnabled preference available on iOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408209</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-21 15:41:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/38726459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409410</commentid>
    <comment_count>2</comment_count>
      <attachid>336543</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-03-26 14:17:08 -0700</bug_when>
    <thetext>Created attachment 336543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409413</commentid>
    <comment_count>3</comment_count>
      <attachid>336543</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-26 14:31:20 -0700</bug_when>
    <thetext>Comment on attachment 336543
Patch

r=me once non COCOA bots are happy.
I would add a test for the m_error early return and a comment to the added line in prepareLoad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409469</commentid>
    <comment_count>4</comment_count>
      <attachid>336564</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-03-26 20:36:07 -0700</bug_when>
    <thetext>Created attachment 336564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409506</commentid>
    <comment_count>5</comment_count>
      <attachid>336564</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 04:39:57 -0700</bug_when>
    <thetext>Comment on attachment 336564
Patch

Clearing flags on attachment: 336564

Committed r229995: &lt;https://trac.webkit.org/changeset/229995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409507</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 04:39:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409616</commentid>
    <comment_count>7</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-03-27 12:06:56 -0700</bug_when>
    <thetext>The API test added with this change is timing out on iOS bots:
https://build.webkit.org/builders/Apple%20iOS%2011%20Simulator%20Release%20WK2%20%28Tests%29/builds/3970</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409695</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-03-27 15:13:15 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409696</commentid>
    <comment_count>9</comment_count>
      <attachid>336621</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-03-27 15:13:15 -0700</bug_when>
    <thetext>Created attachment 336621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409698</commentid>
    <comment_count>10</comment_count>
      <attachid>336621</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 15:15:33 -0700</bug_when>
    <thetext>Comment on attachment 336621
Patch

Rejecting attachment 336621 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 336621, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Tools/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/7117537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409701</commentid>
    <comment_count>11</comment_count>
      <attachid>336624</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-03-27 15:22:24 -0700</bug_when>
    <thetext>Created attachment 336624
Fix the test on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409709</commentid>
    <comment_count>12</comment_count>
      <attachid>336627</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-03-27 15:51:26 -0700</bug_when>
    <thetext>Created attachment 336627
Fix the test on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409712</commentid>
    <comment_count>13</comment_count>
      <attachid>336627</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 16:16:38 -0700</bug_when>
    <thetext>Comment on attachment 336627
Fix the test on iOS.

Clearing flags on attachment: 336627

Committed r230013: &lt;https://trac.webkit.org/changeset/230013&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409713</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 16:16:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336543</attachid>
            <date>2018-03-26 14:17:08 -0700</date>
            <delta_ts>2018-03-26 20:36:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183876-20180326141707.patch</filename>
            <type>text/plain</type>
            <size>22040</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWUzYmI4ZGQxZjA5M2Q2
NzQxMzJhNWNjZDE1NDYzYTBjMDhiMmJiMC4uN2NlNDVmYmJmMDBmMjViODMyYzRlMTU1NGQ3MDU2
NGFmZDU0NTdiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAzLTI2ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgQVZGb3Vu
ZGF0aW9uRW5hYmxlZCBwcmVmZXJlbmNlIGF2YWlsYWJsZSBvbiBpT1MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mzg3NgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzg3MjY0NTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogQVZGb3VuZGF0aW9uUHJlZiBBUEkgdGVzdC4KKworICAgICAgICAq
IGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5pZGw6IFRoZXJlIGlzIG5vIG5lZWQgZm9yIGEgcnVudGlt
ZSBzZXR0aW5nIHRvIGVuYWJsZS9kaXNhYmxlIGF1ZGlvLAorICAgICAgICB0aGVyZSBpcyBhbHJl
YWR5IHNldHRpbmdzLm1lZGlhRW5hYmxlZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cHJlcGFyZUZvckxv
YWQpOiBGYWlsIGlmIHRoZXJlIGFyZSBubyBtZWRpYSBlbmdpbmVzIHJlZ2lzdGVyZWQuCisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpub25lU3VwcG9ydGVkKTogUmV0dXJuIGVh
cmx5IGlmIG1fZXJyb3IgaGFzIGFscmVhZHkgYmVlbiBzZXQuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpyZW1vdmVCZWhhdmlvcnNSZXN0cmljdGlvbnNBZnRlckZpcnN0VXNl
ckdlc3R1cmUpOiBSZW1vdmUgYSB0eXBvLgorCisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmF1ZGlvRW5hYmxlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmg6CisKIDIwMTgtMDMtMjMgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIE1ha2UgaW1wb3J0ZWQvbW96aWxs
YS9jc3MtYW5pbWF0aW9ucy90ZXN0X2FuaW1hdGlvbi1jdXJyZW50dGltZS5odG1sIHBhc3MgcmVs
aWFibHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggOTcwNmQyNDBjMTc3NDJlNTU3NjE0MjVlNzc5NTJjNjExMTVhNDU3
ZS4uNjM0MzcxZjNlZTNkMzQzMGFiMThiZDMwOGRjNTMzMWUwZmVkZDk0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxOC0wMy0yNiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFw
cGxlLmNvbT4KKworICAgICAgICBNYWtlIEFWRm91bmRhdGlvbkVuYWJsZWQgcHJlZmVyZW5jZSBh
dmFpbGFibGUgb24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODM4NzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzI2NDU5PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWw6IFNldCBBVkZvdW5kYXRpb25FbmFibGVkIHdpdGggREVGQVVMVF9BVkZP
VU5EQVRJT05fRU5BQkxFRC4KKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW06CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEFWRm91bmRhdGlvbkVuYWJsZWQ6XSk6
IEVuYWJsZSBmb3IgaU9TLgorICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF9hdkZvdW5kYXRpb25F
bmFibGVkXSk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaDoKKwogMjAxOC0wMy0yNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBbRXh0cmEgem9vbSBtb2RlXSBSZWZhY3RvciBpbnB1dCB2
aWV3IGNvbnRyb2xsZXIgcHJlc2VudGF0aW9uIGFuZCBkaXNtaXNzYWwgaGVscGVycwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5pZGwKaW5kZXggZTM3NzA2YTU0M2NlYzlkMGJk
ZTQ4MjJiMjdlMDJmZWFmODY5YTY2My4uZTExMmI2YWE0N2IzNmE3MGYzYjk0MGMyMzdhZjIwNmRm
NmU2ODAxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaWRsCkBAIC0y
NCw3ICsyNCw2IEBACiAgKi8KIAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9QXVkaW8sCiAgICAg
Q29uZGl0aW9uYWw9VklERU8sCiAgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1Eb2N1bWVudCwKICAg
ICBOYW1lZENvbnN0cnVjdG9yPUF1ZGlvKG9wdGlvbmFsIFtBdG9taWNTdHJpbmddIERPTVN0cmlu
ZyBzcmMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA3Zjlm
ZWIxNGU3Y2RmNDdhN2UzZTlmMzdhM2QxY2QyZWRhMTAxMzhlLi4xOGY5YWExMWQyNjZjNWMwMDQx
YzA3YzMyMjAwODFkZjU4NWMwNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTEzNDMsNiArMTM0Myw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJl
cGFyZUZvckxvYWQoKQogICAgIGlmIChtX21lZGlhU2Vzc2lvbi0+ZGF0YUxvYWRpbmdQZXJtaXR0
ZWQoKnRoaXMpKQogICAgICAgICBzZWxlY3RNZWRpYVJlc291cmNlKCk7CiAKKyAgICBpZiAoIU1l
ZGlhUGxheWVyOjppc0F2YWlsYWJsZSgpKQorICAgICAgICBub25lU3VwcG9ydGVkKCk7CisKICAg
ICAvLyAxMCAtIE5vdGU6IFBsYXliYWNrIG9mIGFueSBwcmV2aW91c2x5IHBsYXlpbmcgbWVkaWEg
cmVzb3VyY2UgZm9yIHRoaXMgZWxlbWVudCBzdG9wcy4KIAogICAgIGNvbmZpZ3VyZU1lZGlhQ29u
dHJvbHMoKTsKQEAgLTIxNTEsNiArMjE1NCw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Fp
dEZvclNvdXJjZUNoYW5nZSgpCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bm9uZVN1cHBvcnRl
ZCgpCiB7CisgICAgaWYgKG1fZXJyb3IpCisgICAgICAgIHJldHVybjsKKwogICAgIElORk9fTE9H
KExPR0lERU5USUZJRVIpOwogCiAgICAgc3RvcFBlcmlvZGljVGltZXJzKCk7CkBAIC02OTY0LDcg
KzY5NzAsNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0
aW9uc0FmdGVyRmlyc3RVc2VyR2VzdHVyZShNZWRpYUVsZQogICAgICAgICB8IE1lZGlhRWxlbWVu
dFNlc3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRvU2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyCiAg
ICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlVG9BdXRvcGxh
eVRvRXh0ZXJuYWxEZXZpY2UKICNlbmRpZgotICAgICAgICB8IE1lZGlhRWxlbWVudFNlc3Npb246
OlJlcXVpcmVVc2VyR2VzdHVyZUZvckxvYWQKICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UKICAgICAgICAgfCBNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JBdWRpb1JhdGVDaGFuZ2UKICAgICAg
ICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JGdWxsc2NyZWVu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAppbmRl
eCA4ZDUyYzQ0ODMwNTlhMWM5M2JkNjljM2VjYTlhNjRkMTRlMjYyYjQwLi44ZWI4ZTQzOWRmY2Ew
YjAwZmIwMzE4OTFlNTYzM2FiZDJjMzJjZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKQEAgLTU3LDExICs1Nyw0IEBAIGJvb2wgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c3BlY3RyZUdhZGdldHNFbmFibGVkKCkgY29uc3QKICAgICByZXR1
cm4gSlNDOjpPcHRpb25zOjplbmFibGVTcGVjdHJlR2FkZ2V0cygpOwogfQogCi0jaWYgRU5BQkxF
KFZJREVPKQotYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjphdWRpb0VuYWJsZWQoKSBjb25z
dAotewotICAgIHJldHVybiBNZWRpYVBsYXllcjo6aXNBdmFpbGFibGUoKTsKLX0KLSNlbmRpZgot
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCmluZGV4IDFiYzdmMDQyM2U4OGY5MDNlZTc3N2E0NDU1YWJlM2U2YWM3
NDU2ZjIuLjg4MDU5ODNmOGRmNDVkODVlNjkxMjlmYWIxNGM5MWU5MDYxMjQ0NzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yMzAsMTAgKzIz
MCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc3BlY3RyZUdhZGdldHNFbmFibGVkKCkgY29uc3Q7
CiAKLSNpZiBFTkFCTEUoVklERU8pCi0gICAgYm9vbCBhdWRpb0VuYWJsZWQoKSBjb25zdDsKLSNl
bmRpZgotCiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBZGRpdGlvbnNFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1faW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJv
b2wgaW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9y
QWRkaXRpb25zRW5hYmxlZDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbAppbmRleCBlZGM4YzEzMDJjNzFhMjMzMGJiZDc4ZDY1OTFjMzNlZTdmZjRlZWU0Li5kODI2
ZjVlNGY3ZDNlYWUyYjdjMjViYjk4OWU2MDYwZWVlMjk1NDAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTE5OCw3ICsxOTgsNyBAQCBBbGxvd0Nyb3NzT3Jp
Z2luU3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFsczoKIAogQVZGb3VuZGF0aW9uRW5hYmxl
ZDoKICAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgZGVmYXVsdFZhbHVlOiBE
RUZBVUxUX0FWRk9VTkRBVElPTl9FTkFCTEVECiAgIGdldHRlcjogaXNBVkZvdW5kYXRpb25FbmFi
bGVkCiAgIHdlYmNvcmVCaW5kaW5nOiBEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MKICAgY29uZGl0
aW9uOiBVU0UoQVZGT1VOREFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCA0MWE3ODQ0OTE3MDNhYTk2NDBmZTg5NjQ2
YzQxNDEwNjhjNzhhMjhiLi4wNDJiZGQwMjZjOGMwODdmNWEzYzY0MjE5NTk1N2U1YzU2NDk0YjI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuaApAQCAtMTY1LDYgKzE2NSwxNiBAQAogCiAjZW5kaWYKIAorI2lmIFVTRShBVkZPVU5E
QVRJT04pCisKKyNpZiAhRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKKyNkZWZpbmUgREVGQVVMVF9B
VkZPVU5EQVRJT05fRU5BQkxFRCB0cnVlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX0FWRk9VTkRB
VElPTl9FTkFCTEVEIGZhbHNlCisjZW5kaWYKKworI2VuZGlmCisKIC8vIENvY29hIHBvcnRzIG11
c3QgZGlzYWJsZSBleHBlcmltZW50YWwgZmVhdHVyZXMgb24gcmVsZWFzZSBicmFuY2hlcyBmb3Ig
bm93LgogI2lmIEVOQUJMRShFWFBFUklNRU5UQUxfRkVBVFVSRVMpIHx8IFBMQVRGT1JNKENPQ09B
KQogI2RlZmluZSBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVEIHRydWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2Vz
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0K
aW5kZXggMWMwMWRmMDNkZDkzNmE4ZjAzOTE3ZTZiOTg4NWRlNzlmYjliMmZmNC4uZGU3NGE3NDVh
MjJiZDkxMjBjMzg1ZmFiNmViOWUwY2UwYTBmNTdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KQEAgLTczMSw2ICs3MzEsMTYg
QEAgc3RhdGljIFdlYkNvcmU6OkVkaXRhYmxlTGlua0JlaGF2aW9yIHRvRWRpdGFibGVMaW5rQmVo
YXZpb3IoX1dLRWRpdGFibGVMaW5rQmVoYXYKICAgICBfcHJlZmVyZW5jZXMtPnNldEVkaXRhYmxl
TGlua0JlaGF2aW9yKHRvRWRpdGFibGVMaW5rQmVoYXZpb3IoZWRpdGFibGVMaW5rQmVoYXZpb3Ip
KTsKIH0KIAorLSAodm9pZClfc2V0QVZGb3VuZGF0aW9uRW5hYmxlZDooQk9PTCllbmFibGVkCit7
CisgICAgX3ByZWZlcmVuY2VzLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKGVuYWJsZWQpOworfQor
CistIChCT09MKV9hdkZvdW5kYXRpb25FbmFibGVkCit7CisgICAgcmV0dXJuIF9wcmVmZXJlbmNl
cy0+aXNBVkZvdW5kYXRpb25FbmFibGVkKCk7Cit9CisKICNpZiBQTEFURk9STShNQUMpCiAtICh2
b2lkKV9zZXRKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXM6KEJPT0wpZW5hYmxlZAogewpAQCAtODcy
LDE2ICs4ODIsNiBAQCBzdGF0aWMgV2ViQ29yZTo6RWRpdGFibGVMaW5rQmVoYXZpb3IgdG9FZGl0
YWJsZUxpbmtCZWhhdmlvcihfV0tFZGl0YWJsZUxpbmtCZWhhdgogICAgIHJldHVybiBfcHJlZmVy
ZW5jZXMtPmFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKCk7CiB9CiAKLS0gKHZvaWQp
X3NldEFWRm91bmRhdGlvbkVuYWJsZWQ6KEJPT0wpZW5hYmxlZAotewotICAgIF9wcmVmZXJlbmNl
cy0+c2V0QVZGb3VuZGF0aW9uRW5hYmxlZChlbmFibGVkKTsKLX0KLQotLSAoQk9PTClfYXZGb3Vu
ZGF0aW9uRW5hYmxlZAotewotICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmlzQVZGb3VuZGF0aW9u
RW5hYmxlZCgpOwotfQotCiAtICh2b2lkKV9zZXRTdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJp
bmc6KEJPT0wpZW5hYmxlZAogewogICAgIF9wcmVmZXJlbmNlcy0+c2V0U3VwcHJlc3Nlc0luY3Jl
bWVudGFsUmVuZGVyaW5nKGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCA1MmY1OTVmZGRl
NzRkNDM0MDFhOGFiNDIwNDU3MGNjNjU5MDdmNWFkLi42Y2JjZDQ0YTJkNzc5YTJjNWM3ODYxNjVh
NTA3NTg1MWJhMGY1ZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMTI4LDYgKzEyOCw4IEBAIHR5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0VkaXRhYmxlTGlua0JlaGF2aW9yKSB7CiAKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEVkaXRhYmxlTGlua0JlaGF2aW9yOikgX1dL
RWRpdGFibGVMaW5rQmVoYXZpb3IgX2VkaXRhYmxlTGlua0JlaGF2aW9yIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCitAcHJvcGVydHkgKG5v
bmF0b21pYywgc2V0dGVyPV9zZXRBVkZvdW5kYXRpb25FbmFibGVkOikgQk9PTCBfYXZGb3VuZGF0
aW9uRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlvcyhXS19JT1NfVEJB
KSk7CisKICsgKE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqKV9leHBlcmltZW50
YWxGZWF0dXJlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiAt
IChCT09MKV9pc0VuYWJsZWRGb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVh
dHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiAtICh2b2lk
KV9zZXRFbmFibGVkOihCT09MKXZhbHVlIGZvckZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1
cmUgKilmZWF0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsK
QEAgLTE0OCw3ICsxNTAsNiBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tFZGl0YWJs
ZUxpbmtCZWhhdmlvcikgewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxk
UHJpbnRCYWNrZ3JvdW5kczopIEJPT0wgX3Nob3VsZFByaW50QmFja2dyb3VuZHMgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0V2ViU2VjdXJpdHlFbmFibGVkOikgQk9PTCBfd2ViU2VjdXJpdHlFbmFibGVkIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldFVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0FsbG93ZWQ6KSBCT09MIF91bml2
ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHNBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFWRm91bmRhdGlv
bkVuYWJsZWQ6KSBCT09MIF9hdkZvdW5kYXRpb25FbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFN1cHBy
ZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZzopIEJPT0wgX3N1cHByZXNzZXNJbmNyZW1lbnRhbFJl
bmRlcmluZyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVu
YWJsZWQ6KSBCT09MIF9hc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWQgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0QXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkOikg
Qk9PTCBfYXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1YTdhMTZjNmI4MWQ4ZGU3M2Y1MmEyYzI3OWI5YzZj
N2JlZDUyMGE2Li44ODVkNDMzMWZjNTlmYmYwNzVmYTE4MzVhZDVjZjZmM2VjNjE0NjUzIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTgtMDMtMjYgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgTWFrZSBBVkZvdW5kYXRpb25FbmFibGVkIHByZWZlcmVuY2UgYXZhaWxhYmxl
IG9uIGlPUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgzODc2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODcyNjQ1OT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L3ZpZGVvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbTogQWRkZWQuCisg
ICAgICAgICgtW1ByZWZlcmVuY2VUZXN0TWVzc2FnZUhhbmRsZXIgdXNlckNvbnRlbnRDb250cm9s
bGVyOmRpZFJlY2VpdmVTY3JpcHRNZXNzYWdlOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
QVZGb3VuZGF0aW9uUHJlZjo6U2V0VXApOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6QVZGb3Vu
ZGF0aW9uUHJlZjo6dGVzdFdpdGhQcmVmZXJlbmNlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1RfRik6CisKIDIwMTgtMDMtMjYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgV2FybiBhZ2FpbnN0IGNvb2tpZSBhY2Nlc3MgaW4gdGhlIFdlYkNvbnRl
bnQgcHJvY2VzcyB1c2luZyBQcm9jZXNzUHJpdmlsZWdlIGFzc2VydGlvbnMKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggODc1MzRmODM3NWI5Mzg1MWYyYTQ5NTZkNTg0NTc2NDA4NjA0MDIyZC4u
YWNjMWY4Njc2ZDhlYzI0OTk2OTE0MTlmNDNjZmQ1ZWY0NzJkNzMyNSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5LDYgKzI5LDggQEAKIAkJMDc5OUMzNDkxRUJBMkQ3QjAwM0I3NTMyIC8q
IFVzZXJNZWRpYURpc2FibGVkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDdFREVGQUMxRUI5NDAwQzAwRDQzMjkyIC8qIFVzZXJNZWRpYURpc2FibGVk
Lm1tICovOyB9OwogCQkwNzk5QzM0QjFFQkEzMzAxMDAzQjc1MzIgLyogZGlzYWJsZUdldFVzZXJN
ZWRpYS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3OTlDMzRBMUVCQTMyRjQwMDNCNzUzMiAvKiBkaXNhYmxlR2V0VXNlck1lZGlhLmh0
bWwgKi87IH07CiAJCTA3QzA0NkNBMUU0MjYyQTgwMDcyMDFFNyAvKiBDQVJpbmdCdWZmZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdDMDQ2Qzkx
RTQyNTczRTAwNzIwMUU3IC8qIENBUmluZ0J1ZmZlci5jcHAgKi87IH07CisJCTA3Q0QzMkY2MjA2
NUI1NDMwMDY0QTRCRSAvKiBBVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdDRDMyRjUyMDY1QjU0MjAwNjRBNEJF
IC8qIEFWRm91bmRhdGlvblByZWZlcmVuY2UubW0gKi87IH07CisJCTA3Q0QzMkY4MjA2NUI3MkIw
MDY0QTRCRSAvKiB2aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3Q0QzMkY3MjA2NUI3MkEwMDY0QTRCRSAvKiB2aWRlby5odG1s
ICovOyB9OwogCQkwN0NFMUNGMzFGMDZBN0UwMDBCRjg5RjUgLyogR2V0VXNlck1lZGlhTmF2aWdh
dGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3
Q0UxQ0YyMUYwNkE3RTAwMEJGODlGNSAvKiBHZXRVc2VyTWVkaWFOYXZpZ2F0aW9uLm1tICovOyB9
OwogCQkwN0UxRjZBMjFGRkM0NEZBMDA5NkM3RUMgLyogZ2V0RGlzcGxheU1lZGlhLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFMUY2
QTExRkZDNDRGOTAwOTZDN0VDIC8qIGdldERpc3BsYXlNZWRpYS5odG1sICovOyB9OwogCQkwN0Ux
RjZBMzFGRkM0Qjc2MDA5NkM3RUMgLyogR2V0RGlzcGxheU1lZGlhLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdFMUY2QTAxRkZDM0EwODAwOTZDN0VD
IC8qIEdldERpc3BsYXlNZWRpYS5tbSAqLzsgfTsKQEAgLTEwOTksNiArMTEwMSw3IEBACiAJCQkJ
Q0Q3NThBNkYyMDU3MkVBMDAwNzE4MzRBIC8qIHZpZGVvLXdpdGgtcGF1c2VkLWF1ZGlvLWFuZC1w
bGF5aW5nLW11dGVkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQ0RDOEU0OTYxQkM2
RjEwODAwNTk0RkVDIC8qIHZpZGVvLXdpdGhvdXQtYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlDREM4RTQ5NzFCQzZGMTA4MDA1OTRGRUMgLyogdmlkZW8td2l0aG91dC1hdWRp
by5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJMDdDRDMyRjgyMDY1QjcyQjAwNjRBNEJF
IC8qIHZpZGVvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMUMyQjgxODYxQzg5MjU5
RDAwQTU1MjlGIC8qIHdlYmZvbnQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MTcx
NEVCNDFDRjhDNzhDMDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJDbGVhbnVwLTEuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MTcxNEVCNTFDRjhDNzhDMDA0NzIzQzQgLyogV2Vi
UHJvY2Vzc0tpbGxJREJDbGVhbnVwLTIuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTEx
MjIsNiArMTEyNSw4IEBACiAJCTA3NkU1MDdFMUY0NTAzMUUwMDZFOUY1QSAvKiBMb2dnaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ2dpbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzk5QzM0QTFFQkEzMkY0MDAzQjc1MzIgLyogZGlz
YWJsZUdldFVzZXJNZWRpYS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gZGlzYWJs
ZUdldFVzZXJNZWRpYS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwN0MwNDZD
OTFFNDI1NzNFMDA3MjAxRTcgLyogQ0FSaW5nQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENBUmluZ0J1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTA3Q0QzMkY1MjA2NUI1NDIwMDY0QTRCRSAvKiBBVkZvdW5kYXRpb25QcmVmZXJl
bmNlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVZGb3VuZGF0
aW9uUHJlZmVyZW5jZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDdDRDMyRjcy
MDY1QjcyQTAwNjRBNEJFIC8qIHZpZGVvLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IG5hbWUgPSB2aWRlby5odG1sOyBwYXRo
ID0gVGVzdHMvV2ViS2l0L3ZpZGVvLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTA3Q0UxQ0YyMUYwNkE3RTAwMEJGODlGNSAvKiBHZXRVc2VyTWVkaWFOYXZpZ2F0aW9uLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR2V0VXNlck1lZGlhTmF2aWdh
dGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdFMUY2QTAxRkZDM0EwODAw
OTZDN0VDIC8qIEdldERpc3BsYXlNZWRpYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IEdldERpc3BsYXlNZWRpYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMDdFMUY2QTExRkZDNDRGOTAwOTZDN0VDIC8qIGdldERpc3BsYXlNZWRpYS5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBuYW1lID0gZ2V0RGlzcGxheU1lZGlhLmh0bWw7IHBhdGggPSAuLi9XZWJLaXQvZ2V0RGlzcGxh
eU1lZGlhLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA4LDYgKzIwMTMs
NyBAQAogCQkwOEZCNzc5NEZFODQxNTVEQzAyQUFDMDcgLyogVGVzdFdlYktpdEFQSSAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMDdDRDMyRjcyMDY1Qjcy
QTAwNjRBNEJFIC8qIHZpZGVvLmh0bWwgKi8sCiAJCQkJMDhGQjc3OTVGRTg0MTU1REMwMkFBQzA3
IC8qIFNvdXJjZSAqLywKIAkJCQlCQ0I5RUI2NjExMjM2NkQ4MDBBMTM3RTAgLyogVGVzdHMgKi8s
CiAJCQkJQkM5MDk1N0QxMjU1NENFQTAwMDgzNzU2IC8qIENvbmZpZ3VyYXRpb25zICovLApAQCAt
MjExNCw2ICsyMTIwLDcgQEAKIAkJCQk4MzQxMzhDNjIwMzI2MUI5MDBGMjY5NjAgLyogQXN5bmNQ
b2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UubW0gKi8sCiAJCQkJNzU0Q0VDODAxRjY3MjJEQzAw
RDAwMzlBIC8qIEF1dG9GaWxsQXZhaWxhYmxlLm1tICovLAogCQkJCTJERDM1NTM1MUJEMDgzNzgw
MDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gKi8sCisJCQkJMDdDRDMyRjUyMDY1
QjU0MjAwNjRBNEJFIC8qIEFWRm91bmRhdGlvblByZWZlcmVuY2UubW0gKi8sCiAJCQkJMzc0QjdB
NUUxREYzNkVFRTAwQUNDQjZDIC8qIEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZS5tbSAqLywKIAkJCQkz
NzRCN0E1RjFERjM2RUVFMDBBQ0NCNkMgLyogQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0luLm1t
ICovLAogCQkJCTM3NEI3QTYyMURGMzczNEMwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0aW5nRGVsZWdh
dGVQcm90b2NvbC5oICovLApAQCAtMzQyNSw2ICszNDMyLDcgQEAKIAkJCQk3Q0NFN0VCNDFBNDEx
QTdFMDA0NDdDNEMgLyogQXR0cmlidXRlZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNE
QzhFNDhEMUJDNUNCNDUwMDU5NEZFQyAvKiBBdWRpb1Nlc3Npb25DYXRlZ29yeUlPUy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTdDODNFMEI5MUQwQTY0RjEwMEZFQkNGMyAvKiBBdXRvTGF5b3V0SW50
ZWdyYXRpb24ubW0gaW4gU291cmNlcyAqLywKKwkJCQkwN0NEMzJGNjIwNjVCNTQzMDA2NEE0QkUg
LyogQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUI1
MUE0MTFBN0UwMDQ0N0M0QyAvKiBCYWNrRm9yd2FyZExpc3QubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkzNzRCN0E2MDFERjM2RUVFMDBBQ0NCNkMgLyogQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTEzRUJCQjExQjg3NDM4MDAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFt
ZXRlcnMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L3ZpZGVvLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC92aWRlby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjYWZiZDBjNTNmZGQ5YzU3ZGI1NGZkMzlhNjk3YzU0
ZjcyZmUwNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC92aWRlby5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
CisgICAgPGJvZHk+CisgICAgICAgIDxwPgorICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3Qo
KSI+VGVzdDwvYnV0dG9uPgorICAgICAgICA8L3A+CisKKyAgICAgICAgPHNjcmlwdD4KKworICAg
ICAgICAgICAgbGV0IF9lbGVtZW50OworICAgICAgICAgICAgZnVuY3Rpb24gZWxlbWVudFR5cGUo
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiBfZWxlbWVudC50b1N0cmlu
ZygpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiB0
ZXN0KGVsZW1lbnRUeXBlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIF9lbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50VHlwZSk7CisgICAgICAgICAgICAgICAg
X2VsZW1lbnQub25lcnJvciA9IChldmVudCkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAo
d2luZG93LndlYmtpdCkKKyAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3Nh
Z2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgnZXJyb3InKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgX2VsZW1lbnQub25jYW5wbGF5ID0gKGV2ZW50KSA9PiB7
CisgICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cud2Via2l0KQorICAgICAgICAgICAgICAg
ICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNz
YWdlKCdjYW5wbGF5Jyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIF9lbGVt
ZW50LmNvbnRyb2xzID0gInRydWUiCisgICAgICAgICAgICAgICAgX2VsZW1lbnQuc3JjID0gInRl
c3QubXA0IjsKKworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoX2Vs
ZW1lbnQpOworICAgICAgICAgICAgfQorCisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDYwNjg2
YTkxOTlhOTA0YTI3NzkzMGYyM2Q1NjM4OGEwODk4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BVkZvdW5kYXRpb25QcmVmZXJlbmNl
Lm1tCkBAIC0wLDAgKzEsMTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisK
KyNpZiBXS19BUElfRU5BQkxFRAorCisjaWYgUExBVEZPUk0oQ09DT0EpCisKKyNpbXBvcnQgIlBs
YXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0LmgiCisjaW1wb3J0ICJUZXN0V0tXZWJW
aWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KKyNpbXBvcnQg
PFdlYktpdC9XS1VJRGVsZWdhdGVQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3
Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oPgorCitzdGF0aWMg
Ym9vbCByZWNlaXZlZFNjcmlwdE1lc3NhZ2UgPSBmYWxzZTsKK3N0YXRpYyBSZXRhaW5QdHI8V0tT
Y3JpcHRNZXNzYWdlPiBsYXN0U2NyaXB0TWVzc2FnZTsKKworQGludGVyZmFjZSBQcmVmZXJlbmNl
VGVzdE1lc3NhZ2VIYW5kbGVyIDogTlNPYmplY3QgPFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CitA
ZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBQcmVmZXJlbmNlVGVzdE1lc3NhZ2VIYW5kbGVyCisKKy0g
KHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJDb250ZW50Q29udHJvbGxlciAqKXVz
ZXJDb250ZW50Q29udHJvbGxlciBkaWRSZWNlaXZlU2NyaXB0TWVzc2FnZTooV0tTY3JpcHRNZXNz
YWdlICopbWVzc2FnZQoreworICAgIGxhc3RTY3JpcHRNZXNzYWdlID0gbWVzc2FnZTsKKyAgICBy
ZWNlaXZlZFNjcmlwdE1lc3NhZ2UgPSB0cnVlOworfQorQGVuZAorCituYW1lc3BhY2UgVGVzdFdl
YktpdEFQSSB7CisKK2NsYXNzIEFWRm91bmRhdGlvblByZWYgOiBwdWJsaWMgdGVzdGluZzo6VGVz
dCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lkIFNldFVwKCkKKyAgICB7CisgICAgICAgIG1f
Y29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBp
bml0XSk7CisKKyAgICAgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1ByZWZlcmVuY2VUZXN0
TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgW1ttX2NvbmZpZ3VyYXRpb24g
dXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdl
dCgpIG5hbWU6QCJ0ZXN0SGFuZGxlciJdOworICAgIH0KKworICAgIGVudW0gY2xhc3MgRWxlbWVu
dFR5cGUgeyBBdWRpbywgVmlkZW8gfTsKKyAgICB2b2lkIHRlc3RXaXRoUHJlZmVyZW5jZShFbGVt
ZW50VHlwZSBlbGVtZW50VHlwZSwgYm9vbCBlbmFibGVkKQorICAgIHsKKyAgICAgICAgcmVjZWl2
ZWRTY3JpcHRNZXNzYWdlID0gZmFsc2U7CisKKyAgICAgICAgYXV0byBwcmVmZXJlbmNlcyA9IFtt
X2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdOworICAgICAgICBwcmVmZXJlbmNlcy5fYXZGb3Vu
ZGF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7CisgICAgICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAw
LCA2MDApIGNvbmZpZ3VyYXRpb246bV9jb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgICAgIFt3
ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAInZpZGVvIl07CisKKyAgICAg
ICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpbTlNTdHJpbmcgc3RyaW5n
V2l0aEZvcm1hdDpAInRlc3QoJyVzJykiLCBlbGVtZW50VHlwZSA9PSBFbGVtZW50VHlwZTo6QXVk
aW8gPyAiYXVkaW8iIDogInZpZGVvIl1dOworCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNzYWdlKTsKKyAgICAgICAgYXV0byB0eXBlID0gW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImVsZW1lbnRUeXBlKCkiXTsKKworICAg
ICAgICBpZiAoZWxlbWVudFR5cGUgPT0gRWxlbWVudFR5cGU6OkF1ZGlvKQorICAgICAgICAgICAg
RVhQRUNUX1NUUkVRKHR5cGUuVVRGOFN0cmluZywgIltvYmplY3QgSFRNTEF1ZGlvRWxlbWVudF0i
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgRVhQRUNUX1NUUkVRKHR5cGUuVVRGOFN0cmlu
ZywgIltvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0iKTsKKworICAgICAgICBpZiAoZW5hYmxlZCkK
KyAgICAgICAgICAgIEVYUEVDVF9TVFJFUSgoKE5TU3RyaW5nICopW2xhc3RTY3JpcHRNZXNzYWdl
IGJvZHldKS5VVEY4U3RyaW5nLCAiY2FucGxheSIpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBFWFBFQ1RfU1RSRVEoKChOU1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5XSkuVVRG
OFN0cmluZywgImVycm9yIik7CisgICAgfQorCitwcml2YXRlOgorICAgIFJldGFpblB0cjxXS1dl
YlZpZXdDb25maWd1cmF0aW9uPiBtX2NvbmZpZ3VyYXRpb247Cit9OworCitURVNUX0YoQVZGb3Vu
ZGF0aW9uUHJlZiwgUHJlZlRlc3QpCit7CisgICAgdGVzdFdpdGhQcmVmZXJlbmNlKEVsZW1lbnRU
eXBlOjpBdWRpbywgdHJ1ZSk7CisgICAgdGVzdFdpdGhQcmVmZXJlbmNlKEVsZW1lbnRUeXBlOjpB
dWRpbywgZmFsc2UpOworICAgIHRlc3RXaXRoUHJlZmVyZW5jZShFbGVtZW50VHlwZTo6VmlkZW8s
IHRydWUpOworICAgIHRlc3RXaXRoUHJlZmVyZW5jZShFbGVtZW50VHlwZTo6VmlkZW8sIGZhbHNl
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYgLy8gUExBVEZP
Uk0oQ09DT0EpCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336564</attachid>
            <date>2018-03-26 20:36:07 -0700</date>
            <delta_ts>2018-03-27 15:13:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183876-20180326203606.patch</filename>
            <type>text/plain</type>
            <size>24796</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWUzYmI4ZGQxZjA5M2Q2
NzQxMzJhNWNjZDE1NDYzYTBjMDhiMmJiMC4uMzhmZTYwOWViYmRiMjhjYmQ1NDBmYzM4YmM4Nzg0
ZmU2YjIzOGNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAzLTI2ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgQVZGb3Vu
ZGF0aW9uRW5hYmxlZCBwcmVmZXJlbmNlIGF2YWlsYWJsZSBvbiBpT1MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mzg3NgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzg3MjY0NTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4K
KworICAgICAgICBUZXN0OiBBVkZvdW5kYXRpb25QcmVmIEFQSSB0ZXN0LgorCisgICAgICAgICog
aHRtbC9IVE1MQXVkaW9FbGVtZW50LmlkbDogVGhlcmUgaXMgbm8gbmVlZCBmb3IgYSBydW50aW1l
IHNldHRpbmcgdG8gZW5hYmxlL2Rpc2FibGUgYXVkaW8sCisgICAgICAgIHRoZXJlIGlzIGFscmVh
ZHkgc2V0dGluZ3MubWVkaWFFbmFibGVkLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwcmVwYXJlRm9yTG9h
ZCk6IEZhaWwgaWYgdGhlcmUgYXJlIG5vIG1lZGlhIGVuZ2luZXMgcmVnaXN0ZXJlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om5vbmVTdXBwb3J0ZWQpOiBSZXR1cm4gZWFy
bHkgaWYgbV9lcnJvciBoYXMgYWxyZWFkeSBiZWVuIHNldC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yc1Jlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2Vy
R2VzdHVyZSk6IFJlbW92ZSBhIHR5cG8uCisKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
YXVkaW9FbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaDoKKwogMjAxOC0wMy0yMyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gTWFrZSBpbXBvcnRlZC9tb3ppbGxh
L2Nzcy1hbmltYXRpb25zL3Rlc3RfYW5pbWF0aW9uLWN1cnJlbnR0aW1lLmh0bWwgcGFzcyByZWxp
YWJseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA5NzA2ZDI0MGMxNzc0MmU1NTc2MTQyNWU3Nzk1MmM2MTExNWE0NTdl
Li5jMzlmOWY5OTEzYTA5MDViZjAzNWI0Nzg1ODM3YTM3M2U4N2M5ZDc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDE4LTAzLTI2ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBw
bGUuY29tPgorCisgICAgICAgIE1ha2UgQVZGb3VuZGF0aW9uRW5hYmxlZCBwcmVmZXJlbmNlIGF2
YWlsYWJsZSBvbiBpT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4Mzg3NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzg3MjY0NTk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sOiBTZXQgQVZGb3VuZGF0aW9uRW5hYmxlZCB3aXRoIERFRkFVTFRfQVZGT1VO
REFUSU9OX0VOQUJMRUQuCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1t
OgorICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF9zZXRBVkZvdW5kYXRpb25FbmFibGVkOl0pOiBF
bmFibGUgZm9yIGlPUy4KKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfYXZGb3VuZGF0aW9uRW5h
YmxlZF0pOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmg6CisKIDIwMTgtMDMtMjYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgW0V4dHJhIHpvb20gbW9kZV0gUmVmYWN0b3IgaW5wdXQgdmll
dyBjb250cm9sbGVyIHByZXNlbnRhdGlvbiBhbmQgZGlzbWlzc2FsIGhlbHBlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaWRsCmluZGV4IGUzNzcwNmE1NDNjZWM5ZDBiZGU0
ODIyYjI3ZTAyZmVhZjg2OWE2NjMuLmUxMTJiNmFhNDdiMzZhNzBmM2I5NDBjMjM3YWYyMDZkZjZl
NjgwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmlkbApAQCAtMjQs
NyArMjQsNiBAQAogICovCiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPUF1ZGlvLAogICAgIENv
bmRpdGlvbmFsPVZJREVPLAogICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9RG9jdW1lbnQsCiAgICAg
TmFtZWRDb25zdHJ1Y3Rvcj1BdWRpbyhvcHRpb25hbCBbQXRvbWljU3RyaW5nXSBET01TdHJpbmcg
c3JjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggN2Y5ZmVi
MTRlN2NkZjQ3YTdlM2U5ZjM3YTNkMWNkMmVkYTEwMTM4ZS4uYTBhMDkyNTg3NjUzZWE3NjA5Y2I0
NDU1MzNmOWFjYTEyZGUyYTA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCkBAIC0xMzM3LDExICsxMzM3LDE1IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJl
cGFyZUZvckxvYWQoKQogICAgIG1fYXV0b3BsYXlpbmcgPSB0cnVlOwogICAgIG1lZGlhU2Vzc2lv
bigpLmNsaWVudFdpbGxCZWdpbkF1dG9wbGF5aW5nKCk7CiAKLSAgICAvLyA5IC0gSW52b2tlIHRo
ZSBtZWRpYSBlbGVtZW50J3MgcmVzb3VyY2Ugc2VsZWN0aW9uIGFsZ29yaXRobS4KLSAgICAvLyBO
b3RlLCB1bmxlc3MgdGhlIHJlc3RyaWN0aW9uIG9uIHJlcXVpcmluZyB1c2VyIGFjdGlvbiBoYXMg
YmVlbiByZW1vdmVkLAotICAgIC8vIGRvIG5vdCBiZWdpbiBkb3dubG9hZGluZyBkYXRhLgotICAg
IGlmIChtX21lZGlhU2Vzc2lvbi0+ZGF0YUxvYWRpbmdQZXJtaXR0ZWQoKnRoaXMpKQotICAgICAg
ICBzZWxlY3RNZWRpYVJlc291cmNlKCk7CisgICAgaWYgKCFNZWRpYVBsYXllcjo6aXNBdmFpbGFi
bGUoKSkKKyAgICAgICAgbm9uZVN1cHBvcnRlZCgpOworICAgIGVsc2UgeworICAgICAgICAvLyA5
IC0gSW52b2tlIHRoZSBtZWRpYSBlbGVtZW50J3MgcmVzb3VyY2Ugc2VsZWN0aW9uIGFsZ29yaXRo
bS4KKyAgICAgICAgLy8gTm90ZSwgdW5sZXNzIHRoZSByZXN0cmljdGlvbiBvbiByZXF1aXJpbmcg
dXNlciBhY3Rpb24gaGFzIGJlZW4gcmVtb3ZlZCwKKyAgICAgICAgLy8gZG8gbm90IGJlZ2luIGRv
d25sb2FkaW5nIGRhdGEuCisgICAgICAgIGlmIChtX21lZGlhU2Vzc2lvbi0+ZGF0YUxvYWRpbmdQ
ZXJtaXR0ZWQoKnRoaXMpKQorICAgICAgICAgICAgc2VsZWN0TWVkaWFSZXNvdXJjZSgpOworICAg
IH0KIAogICAgIC8vIDEwIC0gTm90ZTogUGxheWJhY2sgb2YgYW55IHByZXZpb3VzbHkgcGxheWlu
ZyBtZWRpYSByZXNvdXJjZSBmb3IgdGhpcyBlbGVtZW50IHN0b3BzLgogCkBAIC0yMTUxLDYgKzIx
NTUsOSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndhaXRGb3JTb3VyY2VDaGFuZ2UoKQogCiB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om5vbmVTdXBwb3J0ZWQoKQogeworICAgIGlmIChtX2Vycm9y
KQorICAgICAgICByZXR1cm47CisKICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKIAogICAg
IHN0b3BQZXJpb2RpY1RpbWVycygpOwpAQCAtNjk2NCw3ICs2OTcxLDYgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZW1vdmVCZWhhdmlvcnNSZXN0cmljdGlvbnNBZnRlckZpcnN0VXNlckdlc3R1
cmUoTWVkaWFFbGUKICAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdl
c3R1cmVUb1Nob3dQbGF5YmFja1RhcmdldFBpY2tlcgogICAgICAgICB8IE1lZGlhRWxlbWVudFNl
c3Npb246OlJlcXVpcmVVc2VyR2VzdHVyZVRvQXV0b3BsYXlUb0V4dGVybmFsRGV2aWNlCiAjZW5k
aWYKLSAgICAgICAgfCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpSZXF1aXJlVXNlckdlc3R1cmVGb3JM
b2FkCiAgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9y
VmlkZW9SYXRlQ2hhbmdlCiAgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UmVxdWlyZVVz
ZXJHZXN0dXJlRm9yQXVkaW9SYXRlQ2hhbmdlCiAgICAgICAgIHwgTWVkaWFFbGVtZW50U2Vzc2lv
bjo6UmVxdWlyZVVzZXJHZXN0dXJlRm9yRnVsbHNjcmVlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggOGQ1MmM0NDgzMDU5YTFjOTNiZDY5
YzNlY2E5YTY0ZDE0ZTI2MmI0MC4uOGViOGU0MzlkZmNhMGIwMGZiMDMxODkxZTU2MzNhYmQyYzMy
Y2ZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwCkBAIC01NywxMSArNTcsNCBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNwZWN0
cmVHYWRnZXRzRW5hYmxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIEpTQzo6T3B0aW9uczo6ZW5hYmxl
U3BlY3RyZUdhZGdldHMoKTsKIH0KIAotI2lmIEVOQUJMRShWSURFTykKLWJvb2wgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6YXVkaW9FbmFibGVkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gTWVkaWFQ
bGF5ZXI6OmlzQXZhaWxhYmxlKCk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCAx
YmM3ZjA0MjNlODhmOTAzZWU3NzdhNDQ1NWFiZTNlNmFjNzQ1NmYyLi44ODA1OTgzZjhkZjQ1ZDg1
ZTY5MTI5ZmFiMTRjOTFlOTA2MTI0NDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMjMwLDEwICsyMzAsNiBAQCBwdWJsaWM6CiAKICAgICBi
b29sIHNwZWN0cmVHYWRnZXRzRW5hYmxlZCgpIGNvbnN0OwogCi0jaWYgRU5BQkxFKFZJREVPKQot
ICAgIGJvb2wgYXVkaW9FbmFibGVkKCkgY29uc3Q7Ci0jZW5kaWYKLQogICAgIHZvaWQgc2V0SW5z
cGVjdG9yQWRkaXRpb25zRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2luc3BlY3RvckFkZGl0
aW9uc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGluc3BlY3RvckFkZGl0aW9uc0Vu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQ7IH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZWRjOGMxMzAyYzcx
YTIzMzBiYmQ3OGQ2NTkxYzMzZWU3ZmY0ZWVlNC4uZDgyNmY1ZTRmN2QzZWFlMmI3YzI1YmI5ODll
NjA2MGVlZTI5NTQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CkBAIC0xOTgsNyArMTk4LDcgQEAgQWxsb3dDcm9zc09yaWdpblN1YnJlc291cmNlc1RvQXNrRm9y
Q3JlZGVudGlhbHM6CiAKIEFWRm91bmRhdGlvbkVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKLSAgZGVm
YXVsdFZhbHVlOiB0cnVlCisgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9BVkZPVU5EQVRJT05fRU5B
QkxFRAogICBnZXR0ZXI6IGlzQVZGb3VuZGF0aW9uRW5hYmxlZAogICB3ZWJjb3JlQmluZGluZzog
RGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzCiAgIGNvbmRpdGlvbjogVVNFKEFWRk9VTkRBVElPTikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVz
LmgKaW5kZXggNDFhNzg0NDkxNzAzYWE5NjQwZmU4OTY0NmM0MTQxMDY4Yzc4YTI4Yi4uZDQ4NDZk
ZGUxZjFmNjI5MGI1ZDcyMTc3MzYxZWM5ZjViODM5ZDRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTE2NSw2ICsxNjUs
MTIgQEAKIAogI2VuZGlmCiAKKyNpZiAhRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKKyNkZWZpbmUg
REVGQVVMVF9BVkZPVU5EQVRJT05fRU5BQkxFRCB0cnVlCisjZWxzZQorI2RlZmluZSBERUZBVUxU
X0FWRk9VTkRBVElPTl9FTkFCTEVEIGZhbHNlCisjZW5kaWYKKwogLy8gQ29jb2EgcG9ydHMgbXVz
dCBkaXNhYmxlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBvbiByZWxlYXNlIGJyYW5jaGVzIGZvciBu
b3cuCiAjaWYgRU5BQkxFKEVYUEVSSU1FTlRBTF9GRUFUVVJFUykgfHwgUExBVEZPUk0oQ09DT0Ep
CiAjZGVmaW5lIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQgdHJ1ZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQpp
bmRleCAxYzAxZGYwM2RkOTM2YThmMDM5MTdlNmI5ODg1ZGU3OWZiOWIyZmY0Li5kZTc0YTc0NWEy
MmJkOTEyMGMzODVmYWI2ZWI5ZTBjZTBhMGY1N2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQpAQCAtNzMxLDYgKzczMSwxNiBA
QCBzdGF0aWMgV2ViQ29yZTo6RWRpdGFibGVMaW5rQmVoYXZpb3IgdG9FZGl0YWJsZUxpbmtCZWhh
dmlvcihfV0tFZGl0YWJsZUxpbmtCZWhhdgogICAgIF9wcmVmZXJlbmNlcy0+c2V0RWRpdGFibGVM
aW5rQmVoYXZpb3IodG9FZGl0YWJsZUxpbmtCZWhhdmlvcihlZGl0YWJsZUxpbmtCZWhhdmlvcikp
OwogfQogCistICh2b2lkKV9zZXRBVkZvdW5kYXRpb25FbmFibGVkOihCT09MKWVuYWJsZWQKK3sK
KyAgICBfcHJlZmVyZW5jZXMtPnNldEFWRm91bmRhdGlvbkVuYWJsZWQoZW5hYmxlZCk7Cit9CisK
Ky0gKEJPT0wpX2F2Rm91bmRhdGlvbkVuYWJsZWQKK3sKKyAgICByZXR1cm4gX3ByZWZlcmVuY2Vz
LT5pc0FWRm91bmRhdGlvbkVuYWJsZWQoKTsKK30KKwogI2lmIFBMQVRGT1JNKE1BQykKIC0gKHZv
aWQpX3NldEphdmFFbmFibGVkRm9yTG9jYWxGaWxlczooQk9PTCllbmFibGVkCiB7CkBAIC04NzIs
MTYgKzg4Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpFZGl0YWJsZUxpbmtCZWhhdmlvciB0b0VkaXRh
YmxlTGlua0JlaGF2aW9yKF9XS0VkaXRhYmxlTGlua0JlaGF2CiAgICAgcmV0dXJuIF9wcmVmZXJl
bmNlcy0+YWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoKTsKIH0KIAotLSAodm9pZClf
c2V0QVZGb3VuZGF0aW9uRW5hYmxlZDooQk9PTCllbmFibGVkCi17Ci0gICAgX3ByZWZlcmVuY2Vz
LT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKGVuYWJsZWQpOwotfQotCi0tIChCT09MKV9hdkZvdW5k
YXRpb25FbmFibGVkCi17Ci0gICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+aXNBVkZvdW5kYXRpb25F
bmFibGVkKCk7Ci19Ci0KIC0gKHZvaWQpX3NldFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmlu
ZzooQk9PTCllbmFibGVkCiB7CiAgICAgX3ByZWZlcmVuY2VzLT5zZXRTdXBwcmVzc2VzSW5jcmVt
ZW50YWxSZW5kZXJpbmcoZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDUyZjU5NWZkZGU3
NGQ0MzQwMWE4YWI0MjA0NTcwY2M2NTkwN2Y1YWQuLjZjYmNkNDRhMmQ3NzlhMmM1Yzc4NjE2NWE1
MDc1ODUxYmEwZjVmZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xMjgsNiArMTI4LDggQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKIAogQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RWRpdGFibGVMaW5rQmVoYXZpb3I6KSBfV0tF
ZGl0YWJsZUxpbmtCZWhhdmlvciBfZWRpdGFibGVMaW5rQmVoYXZpb3IgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldEFWRm91bmRhdGlvbkVuYWJsZWQ6KSBCT09MIF9hdkZvdW5kYXRp
b25FbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEwKSwgaW9zKFdLX0lPU19UQkEp
KTsKKwogKyAoTlNBcnJheTxfV0tFeHBlcmltZW50YWxGZWF0dXJlICo+ICopX2V4cGVyaW1lbnRh
bEZlYXR1cmVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIC0g
KEJPT0wpX2lzRW5hYmxlZEZvckZlYXR1cmU6KF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKilmZWF0
dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIC0gKHZvaWQp
X3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooX1dLRXhwZXJpbWVudGFsRmVhdHVy
ZSAqKWZlYXR1cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwpA
QCAtMTQ4LDcgKzE1MCw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0VkaXRhYmxl
TGlua0JlaGF2aW9yKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG91bGRQ
cmludEJhY2tncm91bmRzOikgQk9PTCBfc2hvdWxkUHJpbnRCYWNrZ3JvdW5kcyBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRXZWJTZWN1cml0eUVuYWJsZWQ6KSBCT09MIF93ZWJTZWN1cml0eUVuYWJsZWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNl
dHRlcj1fc2V0VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzQWxsb3dlZDopIEJPT0wgX3VuaXZl
cnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0FsbG93ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QVZGb3VuZGF0aW9u
RW5hYmxlZDopIEJPT0wgX2F2Rm91bmRhdGlvbkVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U3VwcHJl
c3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nOikgQk9PTCBfc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVu
ZGVyaW5nIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldEFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5h
YmxlZDopIEJPT0wgX2FzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5hYmxlZCBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRBcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQ6KSBC
T09MIF9hcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDVhN2ExNmM2YjgxZDhkZTczZjUyYTJjMjc5YjljNmM3
YmVkNTIwYTYuLjFhMGUwMmQwNjJlOGY1OWMyNTNkODIyYjA3MjUyODk0ODNjMGMzMDggMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OSBAQAorMjAxOC0wMy0yNiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4K
KworICAgICAgICBNYWtlIEFWRm91bmRhdGlvbkVuYWJsZWQgcHJlZmVyZW5jZSBhdmFpbGFibGUg
b24gaU9TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODM4NzYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzI2NDU5PgorCisgICAgICAgIFJldmll
d2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC92aWRlby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0FWRm91bmRhdGlvblByZWZlcmVuY2UubW06IEFkZGVkLgorICAg
ICAgICAoLVtQcmVmZXJlbmNlVGVzdE1lc3NhZ2VIYW5kbGVyIHVzZXJDb250ZW50Q29udHJvbGxl
cjpkaWRSZWNlaXZlU2NyaXB0TWVzc2FnZTpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkFW
Rm91bmRhdGlvblByZWY6OlNldFVwKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkFWRm91bmRh
dGlvblByZWY6OnRlc3RXaXRoUHJlZmVyZW5jZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUX0YpOgorCiAyMDE4LTAzLTI2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFdhcm4gYWdhaW5zdCBjb29raWUgYWNjZXNzIGluIHRoZSBXZWJDb250ZW50
IHByb2Nlc3MgdXNpbmcgUHJvY2Vzc1ByaXZpbGVnZSBhc3NlcnRpb25zCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDg3NTM0ZjgzNzViOTM4NTFmMmE0OTU2ZDU4NDU3NjQwODYwNDAyMmQuLmFj
YzFmODY3NmQ4ZWMyNDk5NjkxNDE5ZjQzY2ZkNWVmNDcyZDczMjUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yOSw2ICsyOSw4IEBACiAJCTA3OTlDMzQ5MUVCQTJEN0IwMDNCNzUzMiAvKiBV
c2VyTWVkaWFEaXNhYmxlZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA3RURFRkFDMUVCOTQwMEMwMEQ0MzI5MiAvKiBVc2VyTWVkaWFEaXNhYmxlZC5t
bSAqLzsgfTsKIAkJMDc5OUMzNEIxRUJBMzMwMTAwM0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVk
aWEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzk5QzM0QTFFQkEzMkY0MDAzQjc1MzIgLyogZGlzYWJsZUdldFVzZXJNZWRpYS5odG1s
ICovOyB9OwogCQkwN0MwNDZDQTFFNDI2MkE4MDA3MjAxRTcgLyogQ0FSaW5nQnVmZmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QzA0NkM5MUU0
MjU3M0UwMDcyMDFFNyAvKiBDQVJpbmdCdWZmZXIuY3BwICovOyB9OworCQkwN0NEMzJGNjIwNjVC
NTQzMDA2NEE0QkUgLyogQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3Q0QzMkY1MjA2NUI1NDIwMDY0QTRCRSAv
KiBBVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tICovOyB9OworCQkwN0NEMzJGODIwNjVCNzJCMDA2
NEE0QkUgLyogdmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwN0NEMzJGNzIwNjVCNzJBMDA2NEE0QkUgLyogdmlkZW8uaHRtbCAq
LzsgfTsKIAkJMDdDRTFDRjMxRjA2QTdFMDAwQkY4OUY1IC8qIEdldFVzZXJNZWRpYU5hdmlnYXRp
b24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0NF
MUNGMjFGMDZBN0UwMDBCRjg5RjUgLyogR2V0VXNlck1lZGlhTmF2aWdhdGlvbi5tbSAqLzsgfTsK
IAkJMDdFMUY2QTIxRkZDNDRGQTAwOTZDN0VDIC8qIGdldERpc3BsYXlNZWRpYS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RTFGNkEx
MUZGQzQ0RjkwMDk2QzdFQyAvKiBnZXREaXNwbGF5TWVkaWEuaHRtbCAqLzsgfTsKIAkJMDdFMUY2
QTMxRkZDNEI3NjAwOTZDN0VDIC8qIEdldERpc3BsYXlNZWRpYS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3RTFGNkEwMUZGQzNBMDgwMDk2QzdFQyAv
KiBHZXREaXNwbGF5TWVkaWEubW0gKi87IH07CkBAIC0xMDk5LDYgKzExMDEsNyBAQAogCQkJCUNE
NzU4QTZGMjA1NzJFQTAwMDcxODM0QSAvKiB2aWRlby13aXRoLXBhdXNlZC1hdWRpby1hbmQtcGxh
eWluZy1tdXRlZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNEQzhFNDk2MUJDNkYx
MDgwMDU5NEZFQyAvKiB2aWRlby13aXRob3V0LWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJQ0RDOEU0OTcxQkM2RjEwODAwNTk0RkVDIC8qIHZpZGVvLXdpdGhvdXQtYXVkaW8u
bXA0IGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCTA3Q0QzMkY4MjA2NUI3MkIwMDY0QTRCRSAv
KiB2aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTFDMkI4MTg2MUM4OTI1OUQw
MEE1NTI5RiAvKiB3ZWJmb250Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTE3MTRF
QjQxQ0Y4Qzc4QzAwNDcyM0M0IC8qIFdlYlByb2Nlc3NLaWxsSURCQ2xlYW51cC0xLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTE3MTRFQjUxQ0Y4Qzc4QzAwNDcyM0M0IC8qIFdlYlBy
b2Nlc3NLaWxsSURCQ2xlYW51cC0yLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xMTIy
LDYgKzExMjUsOCBAQAogCQkwNzZFNTA3RTFGNDUwMzFFMDA2RTlGNUEgLyogTG9nZ2luZy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2dnaW5nLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5OUMzNEExRUJBMzJGNDAwM0I3NTMyIC8qIGRpc2Fi
bGVHZXRVc2VyTWVkaWEuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IGRpc2FibGVH
ZXRVc2VyTWVkaWEuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDdDMDQ2Qzkx
RTQyNTczRTAwNzIwMUU3IC8qIENBUmluZ0J1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDQVJpbmdCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwN0NEMzJGNTIwNjVCNTQyMDA2NEE0QkUgLyogQVZGb3VuZGF0aW9uUHJlZmVyZW5j
ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFWRm91bmRhdGlv
blByZWZlcmVuY2UubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3Q0QzMkY3MjA2
NUI3MkEwMDY0QTRCRSAvKiB2aWRlby5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0gdmlkZW8uaHRtbDsgcGF0aCA9
IFRlc3RzL1dlYktpdC92aWRlby5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
N0NFMUNGMjFGMDZBN0UwMDBCRjg5RjUgLyogR2V0VXNlck1lZGlhTmF2aWdhdGlvbi5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdldFVzZXJNZWRpYU5hdmlnYXRp
b24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3RTFGNkEwMUZGQzNBMDgwMDk2
QzdFQyAvKiBHZXREaXNwbGF5TWVkaWEubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBHZXREaXNwbGF5TWVkaWEubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA3RTFGNkExMUZGQzQ0RjkwMDk2QzdFQyAvKiBnZXREaXNwbGF5TWVkaWEuaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
bmFtZSA9IGdldERpc3BsYXlNZWRpYS5odG1sOyBwYXRoID0gLi4vV2ViS2l0L2dldERpc3BsYXlN
ZWRpYS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAwOCw2ICsyMDEzLDcg
QEAKIAkJMDhGQjc3OTRGRTg0MTU1REMwMkFBQzA3IC8qIFRlc3RXZWJLaXRBUEkgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTA3Q0QzMkY3MjA2NUI3MkEw
MDY0QTRCRSAvKiB2aWRlby5odG1sICovLAogCQkJCTA4RkI3Nzk1RkU4NDE1NURDMDJBQUMwNyAv
KiBTb3VyY2UgKi8sCiAJCQkJQkNCOUVCNjYxMTIzNjZEODAwQTEzN0UwIC8qIFRlc3RzICovLAog
CQkJCUJDOTA5NTdEMTI1NTRDRUEwMDA4Mzc1NiAvKiBDb25maWd1cmF0aW9ucyAqLywKQEAgLTIx
MTQsNiArMjEyMCw3IEBACiAJCQkJODM0MTM4QzYyMDMyNjFCOTAwRjI2OTYwIC8qIEFzeW5jUG9s
aWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlLm1tICovLAogCQkJCTc1NENFQzgwMUY2NzIyREMwMEQw
MDM5QSAvKiBBdXRvRmlsbEF2YWlsYWJsZS5tbSAqLywKIAkJCQkyREQzNTUzNTFCRDA4Mzc4MDA1
REY0QTcgLyogQXV0b0xheW91dEludGVncmF0aW9uLm1tICovLAorCQkJCTA3Q0QzMkY1MjA2NUI1
NDIwMDY0QTRCRSAvKiBBVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tICovLAogCQkJCTM3NEI3QTVF
MURGMzZFRUUwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0aW5nRGVsZWdhdGUubW0gKi8sCiAJCQkJMzc0
QjdBNUYxREYzNkVFRTAwQUNDQjZDIC8qIEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZVBsdWdJbi5tbSAq
LywKIAkJCQkzNzRCN0E2MjFERjM3MzRDMDBBQ0NCNkMgLyogQnVuZGxlRWRpdGluZ0RlbGVnYXRl
UHJvdG9jb2wuaCAqLywKQEAgLTM0MjUsNiArMzQzMiw3IEBACiAJCQkJN0NDRTdFQjQxQTQxMUE3
RTAwNDQ3QzRDIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREM4
RTQ4RDFCQzVDQjQ1MDA1OTRGRUMgLyogQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1MubW0gaW4gU291
cmNlcyAqLywKIAkJCQk3QzgzRTBCOTFEMEE2NEYxMDBGRUJDRjMgLyogQXV0b0xheW91dEludGVn
cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMDdDRDMyRjYyMDY1QjU0MzAwNjRBNEJFIC8q
IEFWRm91bmRhdGlvblByZWZlcmVuY2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCNTFB
NDExQTdFMDA0NDdDNEMgLyogQmFja0ZvcndhcmRMaXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Mzc0QjdBNjAxREYzNkVFRTAwQUNDQjZDIC8qIEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUExM0VCQkIxMUI4NzQzODAwMDA5NzExMCAvKiBCdW5kbGVQYXJhbWV0
ZXJzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC92aWRlby5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
dmlkZW8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2FmYmQwYzUzZmRkOWM1N2RiNTRmZDM5YTY5N2M1NGY3
MmZlMDRmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvdmlkZW8uaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxib2R5PgorICAgICAgICA8cD4KKyAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0KCki
PlRlc3Q8L2J1dHRvbj4KKyAgICAgICAgPC9wPgorCisgICAgICAgIDxzY3JpcHQ+CisKKyAgICAg
ICAgICAgIGxldCBfZWxlbWVudDsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGVsZW1lbnRUeXBlKCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gX2VsZW1lbnQudG9TdHJpbmco
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dChlbGVtZW50VHlwZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBfZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudFR5cGUpOworICAgICAgICAgICAgICAgIF9l
bGVtZW50Lm9uZXJyb3IgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHdp
bmRvdy53ZWJraXQpCisgICAgICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdl
SGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoJ2Vycm9yJyk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIF9lbGVtZW50Lm9uY2FucGxheSA9IChldmVudCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LndlYmtpdCkKKyAgICAgICAgICAgICAgICAg
ICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2Fn
ZSgnY2FucGxheScpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBfZWxlbWVu
dC5jb250cm9scyA9ICJ0cnVlIgorICAgICAgICAgICAgICAgIF9lbGVtZW50LnNyYyA9ICJ0ZXN0
Lm1wNCI7CisKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKF9lbGVt
ZW50KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L0FWRm91bmRhdGlvblByZWZlcmVuY2UubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0FWRm91bmRhdGlvblByZWZlcmVuY2UubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2MDY4NmE5
MTk5YTkwNGEyNzc5MzBmMjNkNTYzODhhMDg5OGMxNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5t
bQpAQCAtMCwwICsxLDEwOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisj
aWYgV0tfQVBJX0VOQUJMRUQKKworI2lmIFBMQVRGT1JNKENPQ09BKQorCisjaW1wb3J0ICJQbGF0
Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmll
dy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CisjaW1wb3J0IDxX
ZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5o
PgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaD4KKworc3RhdGljIGJv
b2wgcmVjZWl2ZWRTY3JpcHRNZXNzYWdlID0gZmFsc2U7CitzdGF0aWMgUmV0YWluUHRyPFdLU2Ny
aXB0TWVzc2FnZT4gbGFzdFNjcmlwdE1lc3NhZ2U7CisKK0BpbnRlcmZhY2UgUHJlZmVyZW5jZVRl
c3RNZXNzYWdlSGFuZGxlciA6IE5TT2JqZWN0IDxXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyPgorQGVu
ZAorCitAaW1wbGVtZW50YXRpb24gUHJlZmVyZW5jZVRlc3RNZXNzYWdlSGFuZGxlcgorCistICh2
b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2Vy
Q29udGVudENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6KFdLU2NyaXB0TWVzc2Fn
ZSAqKW1lc3NhZ2UKK3sKKyAgICBsYXN0U2NyaXB0TWVzc2FnZSA9IG1lc3NhZ2U7CisgICAgcmVj
ZWl2ZWRTY3JpcHRNZXNzYWdlID0gdHJ1ZTsKK30KK0BlbmQKKworbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgeworCitjbGFzcyBBVkZvdW5kYXRpb25QcmVmIDogcHVibGljIHRlc3Rpbmc6OlRlc3Qg
eworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCisgICAgeworICAgICAgICBtX2Nv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOworCisgICAgICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQcmVmZXJlbmNlVGVzdE1l
c3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgICAgIFtbbV9jb25maWd1cmF0aW9uIHVz
ZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQo
KSBuYW1lOkAidGVzdEhhbmRsZXIiXTsKKyAgICB9CisKKyAgICBlbnVtIGNsYXNzIEVsZW1lbnRU
eXBlIHsgQXVkaW8sIFZpZGVvIH07CisgICAgdm9pZCB0ZXN0V2l0aFByZWZlcmVuY2UoRWxlbWVu
dFR5cGUgZWxlbWVudFR5cGUsIGJvb2wgZW5hYmxlZCkKKyAgICB7CisgICAgICAgIHJlY2VpdmVk
U2NyaXB0TWVzc2FnZSA9IGZhbHNlOworCisgICAgICAgIGF1dG8gcHJlZmVyZW5jZXMgPSBbbV9j
b25maWd1cmF0aW9uIHByZWZlcmVuY2VzXTsKKyAgICAgICAgcHJlZmVyZW5jZXMuX2F2Rm91bmRh
dGlvbkVuYWJsZWQgPSBlbmFibGVkOworICAgICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwg
NjAwKSBjb25maWd1cmF0aW9uOm1fY29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgICAgICBbd2Vi
VmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJ2aWRlbyJdOworCisgICAgICAg
IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6W05TU3RyaW5nIHN0cmluZ1dp
dGhGb3JtYXQ6QCJ0ZXN0KCclcycpIiwgZWxlbWVudFR5cGUgPT0gRWxlbWVudFR5cGU6OkF1ZGlv
ID8gImF1ZGlvIiA6ICJ2aWRlbyJdXTsKKworICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJnJlY2VpdmVkU2NyaXB0TWVzc2FnZSk7CisgICAgICAgIGF1dG8gdHlwZSA9IFt3ZWJWaWV3
IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJlbGVtZW50VHlwZSgpIl07CisKKyAgICAg
ICAgaWYgKGVsZW1lbnRUeXBlID09IEVsZW1lbnRUeXBlOjpBdWRpbykKKyAgICAgICAgICAgIEVY
UEVDVF9TVFJFUSh0eXBlLlVURjhTdHJpbmcsICJbb2JqZWN0IEhUTUxBdWRpb0VsZW1lbnRdIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEVYUEVDVF9TVFJFUSh0eXBlLlVURjhTdHJpbmcs
ICJbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdIik7CisKKyAgICAgICAgaWYgKGVuYWJsZWQpCisg
ICAgICAgICAgICBFWFBFQ1RfU1RSRVEoKChOU1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBi
b2R5XSkuVVRGOFN0cmluZywgImNhbnBsYXkiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
RVhQRUNUX1NUUkVRKCgoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pLlVURjhT
dHJpbmcsICJlcnJvciIpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBSZXRhaW5QdHI8V0tXZWJW
aWV3Q29uZmlndXJhdGlvbj4gbV9jb25maWd1cmF0aW9uOworfTsKKworVEVTVF9GKEFWRm91bmRh
dGlvblByZWYsIFByZWZUZXN0KQoreworICAgIHRlc3RXaXRoUHJlZmVyZW5jZShFbGVtZW50VHlw
ZTo6QXVkaW8sIHRydWUpOworICAgIHRlc3RXaXRoUHJlZmVyZW5jZShFbGVtZW50VHlwZTo6QXVk
aW8sIGZhbHNlKTsKKyAgICB0ZXN0V2l0aFByZWZlcmVuY2UoRWxlbWVudFR5cGU6OlZpZGVvLCB0
cnVlKTsKKyAgICB0ZXN0V2l0aFByZWZlcmVuY2UoRWxlbWVudFR5cGU6OlZpZGVvLCBmYWxzZSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKKworI2VuZGlmIC8vIFBMQVRGT1JN
KENPQ09BKQorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NzkxZmZjZmY0ODdh
MzE5MWUwZDM5NDU1ZWMyY2VjODIyZDU5YTMwLi4yMDU2Yjk2NDI1MzhlN2I4MDQ4YTQyNThmMjZh
MTA0MzQ3YzIxNTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMDMtMjYgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBBVkZvdW5kYXRp
b25FbmFibGVkIHByZWZlcmVuY2UgYXZhaWxhYmxlIG9uIGlPUworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzODc2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8zODcyNjQ1OT4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisg
ICAgICAgICogbWVkaWEvbWVkaWEtZXJyb3ItZmlyZWQtb25jZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIG1lZGlhL21lZGlhLWVycm9yLWZpcmVkLW9uY2UuaHRtbDogQWRkZWQuCisK
IDIwMTgtMDMtMjMgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViIEFuaW1hdGlvbnNdIE1ha2UgaW1wb3J0ZWQvbW96aWxsYS9jc3MtYW5pbWF0aW9ucy90
ZXN0X2FuaW1hdGlvbi1jdXJyZW50dGltZS5odG1sIHBhc3MgcmVsaWFibHkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLWVycm9yLWZpcmVkLW9uY2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZXJyb3ItZmlyZWQtb25jZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTZiYjhhNjMzYTg1MjVmYTYzZGJhNjU4ZTZiMGU3Njc5MTA0NDFhYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWVycm9yLWZpcmVkLW9uY2UtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUlVOKHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgidmlkZW8iKSkKK1JVTih2aWRlby5zcmMgPSAiY29udGVudC9kb2VzLW5vdC1leGlzdC5t
cGVnIikKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWVycm9yLWZpcmVkLW9uY2UuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWVycm9yLWZp
cmVkLW9uY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmJjOGE5YWYyZmU0ZTRmYmYwOGIzN2E4OGY4YWM4
MDcxODU3YTMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZXJy
b3ItZmlyZWQtb25jZS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+ZXJyb3ItZXZlbnQtb25seS1maXJlZC1vbmNlPC90aXRs
ZT4KKyAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+
CisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZXZlbnQgPT4geworICAg
ICAgICAKKyAgICAgICAgICAgIHJ1bigndmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2
aWRlbyIpJyk7CisgICAgICAgICAgICB2aWRlby5jb250cm9scyA9IDE7CisKKyAgICAgICAgICAg
IHZpZGVvLm9uZXJyb3IgPSAoZXZlbnQpID0+IHsKKworICAgICAgICAgICAgICAgIHZpZGVvLm9u
ZXJyb3IgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIidlcnJv
cicgZXZlbnQgZmlyZWQgdHdpY2UuIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsK
KyAgICAgICAgICAgICAgICB9LCAyMDApOworCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZCh2aWRlbyk7CisgICAgICAgICAgICB9OworCisgICAgICAgICAgICBydW4o
J3ZpZGVvLnNyYyA9ICJjb250ZW50L2RvZXMtbm90LWV4aXN0Lm1wZWciJyk7CisgICAgICAgIH0p
OworCisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KKzwvaHRtbD4KKwor
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336621</attachid>
            <date>2018-03-27 15:13:15 -0700</date>
            <delta_ts>2018-03-27 15:21:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183876-20180327151315.patch</filename>
            <type>text/plain</type>
            <size>1660</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMDA4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTM1ODE1ZWExYTNlYzhhMTQwNGYxNWE3YTFkMzhjYTI5
OGQyNzA0ZC4uNjY3NWYwZDJiMTVjNjJiZTU3NmI4ODAwMDU5YmVhMGZlYWFhYTcxMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE4LTAzLTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM4NzYK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzI2NDU5PgorCisgICAgICAgIEZpeCB0aGUgdGVz
dCBhZGRlZCBpbiByMjI5OTk1IGluIHRoZSBpT1Mgc2ltdWxhdG9yLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6QVZGb3VuZGF0aW9uUHJlZjo6dGVzdFdpdGhQcmVmZXJl
bmNlKToKKwogMjAxOC0wMy0yNyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIEFWRm91bmRhdGlvbkVuYWJsZWQgcHJlZmVyZW5jZSBhdmFpbGFi
bGUgb24gaU9TCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0FWRm91bmRhdGlvblByZWZlcmVuY2UubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0FWRm91bmRhdGlvblByZWZlcmVuY2UubW0KaW5kZXggMDA2MDY4NmE5MTk5
YTkwNGEyNzc5MzBmMjNkNTYzODhhMDg5OGMxNy4uZDI1OWZlODZlNTZmMzRhMjBlOTJmMmZjZDJj
MGViNmNkMWIzYTRiMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9BVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbQpAQCAtNzEsNiAr
NzEsMTIgQEAgcHVibGljOgogCiAgICAgICAgIGF1dG8gcHJlZmVyZW5jZXMgPSBbbV9jb25maWd1
cmF0aW9uIHByZWZlcmVuY2VzXTsKICAgICAgICAgcHJlZmVyZW5jZXMuX2F2Rm91bmRhdGlvbkVu
YWJsZWQgPSBlbmFibGVkOworICAgICAgICBtX2NvbmZpZ3VyYXRpb24uZ2V0KCkuX21lZGlhRGF0
YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisgICAgICAg
IG1fY29uZmlndXJhdGlvbi5nZXQoKS5hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gWUVTOwor
ICAgICAgICBtX2NvbmZpZ3VyYXRpb24uZ2V0KCkuX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJl
c1BsYXlzSW5saW5lQXR0cmlidXRlID0gTk87CisjZW5kaWYKKwogICAgICAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOm1fY29uZmlndXJhdGlvbi5nZXQoKV0p
OwogICAgICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJ2aWRl
byJdOwogCg==
</data>
<flag name="commit-queue"
          id="355144"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336624</attachid>
            <date>2018-03-27 15:22:24 -0700</date>
            <delta_ts>2018-03-27 15:51:00 -0700</delta_ts>
            <desc>Fix the test on iOS.</desc>
            <filename>test_fix.txt</filename>
            <type>text/plain</type>
            <size>1540</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMzU4
MTVlYTFhMy4uYzAxYjgyODViNjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wMy0yNyAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzODc2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODcy
NjQ1OT4KKyAgICAgICAgCisgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBmb3IgdGhlIHRlc3QgYWRk
ZWQgaW4gcjIyOTk5NSBpbiB0aGUgaU9TIHNpbXVsYXRvci4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OkFWRm91bmRhdGlvblByZWY6OnRlc3RXaXRoUHJlZmVyZW5jZSk6
CisKIDIwMTgtMDMtMjcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTWFrZSBBVkZvdW5kYXRpb25FbmFibGVkIHByZWZlcmVuY2UgYXZhaWxhYmxlIG9u
IGlPUwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9B
VkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9BVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tCmluZGV4IDAwNjA2ODZhOTE5Li5kMjU5
ZmU4NmU1NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9BVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbQpAQCAtNzEsNiArNzEsMTIg
QEAgcHVibGljOgogCiAgICAgICAgIGF1dG8gcHJlZmVyZW5jZXMgPSBbbV9jb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXTsKICAgICAgICAgcHJlZmVyZW5jZXMuX2F2Rm91bmRhdGlvbkVuYWJsZWQg
PSBlbmFibGVkOworICAgICAgICBtX2NvbmZpZ3VyYXRpb24uZ2V0KCkuX21lZGlhRGF0YUxvYWRz
QXV0b21hdGljYWxseSA9IFlFUzsKKyNpZiBUQVJHRVRfT1NfSVBIT05FCisgICAgICAgIG1fY29u
ZmlndXJhdGlvbi5nZXQoKS5hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gWUVTOworICAgICAg
ICBtX2NvbmZpZ3VyYXRpb24uZ2V0KCkuX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlz
SW5saW5lQXR0cmlidXRlID0gTk87CisjZW5kaWYKKwogICAgICAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOm1fY29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAg
ICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJ2aWRlbyJdOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336627</attachid>
            <date>2018-03-27 15:51:26 -0700</date>
            <delta_ts>2018-03-27 16:16:38 -0700</delta_ts>
            <desc>Fix the test on iOS.</desc>
            <filename>test_fix.txt</filename>
            <type>text/plain</type>
            <size>1862</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMzU4
MTVlYTFhMy4uYzAxYjgyODViNjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wMy0yNyAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzODc2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODcy
NjQ1OT4KKyAgICAgICAgCisgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBmb3IgdGhlIHRlc3QgYWRk
ZWQgaW4gcjIyOTk5NSBpbiB0aGUgaU9TIHNpbXVsYXRvci4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OkFWRm91bmRhdGlvblByZWY6OnRlc3RXaXRoUHJlZmVyZW5jZSk6
CisKIDIwMTgtMDMtMjcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTWFrZSBBVkZvdW5kYXRpb25FbmFibGVkIHByZWZlcmVuY2UgYXZhaWxhYmxlIG9u
IGlPUwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9B
VkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9BVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tCmluZGV4IDAwNjA2ODZhOTE5Li5hMjdh
YzkwMDEyZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9BVkZvdW5kYXRpb25QcmVmZXJlbmNlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvQVZGb3VuZGF0aW9uUHJlZmVyZW5jZS5tbQpAQCAtMzUsNyArMzUsNyBA
QAogI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJL
aXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgot
I2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaD4KKyNpbXBvcnQgPFdlYktp
dC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgogCiBzdGF0aWMgYm9vbCByZWNlaXZl
ZFNjcmlwdE1lc3NhZ2UgPSBmYWxzZTsKIHN0YXRpYyBSZXRhaW5QdHI8V0tTY3JpcHRNZXNzYWdl
PiBsYXN0U2NyaXB0TWVzc2FnZTsKQEAgLTcxLDYgKzcxLDEyIEBAIHB1YmxpYzoKIAogICAgICAg
ICBhdXRvIHByZWZlcmVuY2VzID0gW21fY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc107CiAgICAg
ICAgIHByZWZlcmVuY2VzLl9hdkZvdW5kYXRpb25FbmFibGVkID0gZW5hYmxlZDsKKyAgICAgICAg
bV9jb25maWd1cmF0aW9uLmdldCgpLl9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBZRVM7
CisjaWYgVEFSR0VUX09TX0lQSE9ORQorICAgICAgICBtX2NvbmZpZ3VyYXRpb24uZ2V0KCkuYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IFlFUzsKKyAgICAgICAgbV9jb25maWd1cmF0aW9uLmdl
dCgpLl9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9IE5P
OworI2VuZGlmCisKICAgICAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmln
dXJhdGlvbjptX2NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICAgICAgW3dlYlZpZXcgc3luY2hy
b25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAidmlkZW8iXTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>