<?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>232764</bug_id>
          
          <creation_ts>2021-11-05 13:28:40 -0700</creation_ts>
          <short_desc>[iOS] Mail compose becomes unresponsive after pasting in text and attempting to type</short_desc>
          <delta_ts>2021-11-05 17:51:26 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1812224</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-05 13:28:40 -0700</bug_when>
    <thetext>rdar://84669661</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812241</commentid>
    <comment_count>1</comment_count>
      <attachid>443436</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-05 14:11:37 -0700</bug_when>
    <thetext>Created attachment 443436
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812242</commentid>
    <comment_count>2</comment_count>
      <attachid>443437</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-05 14:16:24 -0700</bug_when>
    <thetext>Created attachment 443437
Rebase on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812246</commentid>
    <comment_count>3</comment_count>
      <attachid>443437</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-11-05 14:54:33 -0700</bug_when>
    <thetext>Comment on attachment 443437
Rebase on trunk

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

r=me

&gt; Source/WebCore/editing/VisibleUnits.cpp:1511
&gt; +    case TextGranularity::SentenceGranularity: {
&gt; +        auto boundaryInDirection = useDownstream ? endOfSentence : startOfSentence;
&gt; +        boundary = vp == boundaryInDirection(vp) ? vp : boundaryInDirection(useDownstream ? previousSentencePosition(vp) : nextSentencePosition(vp));
&gt;          break;
&gt; +    }

To my taste, this would read better as 

If (vp == boundaryInDirection(vp)) {
    boundary = vp;
    break;
}

auto position = useDownstream ? previousSentencePosition(vp) : nextSentencePosition(vp);
boundary = boundaryInDirection(position);
break;

More granular to step in a debugger and diff in a source control tool this way too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812248</commentid>
    <comment_count>4</comment_count>
      <attachid>443437</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-05 14:56:28 -0700</bug_when>
    <thetext>Comment on attachment 443437
Rebase on trunk

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

&gt;&gt; Source/WebCore/editing/VisibleUnits.cpp:1511
&gt;&gt; +    }
&gt; 
&gt; To my taste, this would read better as 
&gt; 
&gt; If (vp == boundaryInDirection(vp)) {
&gt;     boundary = vp;
&gt;     break;
&gt; }
&gt; 
&gt; auto position = useDownstream ? previousSentencePosition(vp) : nextSentencePosition(vp);
&gt; boundary = boundaryInDirection(position);
&gt; break;
&gt; 
&gt; More granular to step in a debugger and diff in a source control tool this way too.

Sounds good! Will change to that.

&gt; Tools/ChangeLog:9
&gt; +        Add a layout test that exercises the hang (and also verifies that we don&apos;t hit any debug assertions in the

(self-nit: s/layout test/API test/)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812254</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-11-05 15:04:13 -0700</bug_when>
    <thetext>If you self-nit then you also need to self-high-five when the patch lands :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812287</commentid>
    <comment_count>6</comment_count>
      <attachid>443455</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-05 16:02:26 -0700</bug_when>
    <thetext>Created attachment 443455
For landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812307</commentid>
    <comment_count>7</comment_count>
      <attachid>443455</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-05 17:46:47 -0700</bug_when>
    <thetext>Comment on attachment 443455
For landing

(In reply to Geoffrey Garen from comment #5)
&gt; If you self-nit then you also need to self-high-five when the patch lands :P

👏</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812308</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-05 17:51:23 -0700</bug_when>
    <thetext>Committed r285359 (243918@main): &lt;https://commits.webkit.org/243918@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443455.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443436</attachid>
            <date>2021-11-05 14:11:37 -0700</date>
            <delta_ts>2021-11-05 14:16:23 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-232764-20211105141136.patch</filename>
            <type>text/plain</type>
            <size>16643</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTEzOGMzYWZlZWU3NDU5
NTQ2NzE0NTU2NDZmMmI3ZmE3NjA5M2FhOS4uMWEzZmYzZWI0MmM4NzBkNWM2YzZmODljYmVhOTU3
Y2MzZmI2YjY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTExLTA1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1haWwg
Y29tcG9zZSBiZWNvbWVzIHVucmVzcG9uc2l2ZSBhZnRlciBwYXN0aW5nIGluIHRleHQgYW5kIGF0
dGVtcHRpbmcgdG8gdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNzY0CisgICAgICAgIHJkYXI6Ly84NDY2OTY2MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHNvbWUgcmVjZW50IGNoYW5n
ZXMgaW4gVUlLaXQsIGtleWJvYXJkIGNvZGUgbm93IGNhbGxzIGludG8gYC1yZXF1ZXN0RG9jdW1l
bnRDb250ZXh0OmNvbXBsZXRpb25IYW5kbGVyOmAKKyAgICAgICAgYWZ0ZXIgaW5zZXJ0aW5nIHRl
eHQgd2l0aCB0aGUgc29mdHdhcmUga2V5Ym9hcmQsIGFuZCBzcGVjaWZpY2FsbHkgcmVxdWVzdHMg
c2VudGVuY2UtZ3JhbnVsYXJpdHkgdGV4dCBjb250ZXh0CisgICAgICAgIG5lYXIgdGhlIHNlbGVj
dGlvbi4gVGhpcyB0cmlnZ2VyZWQgYW4gZXhpc3RpbmcgYnVnIGluIFdlYktpdCwgd2hlcmUgd2Ug
aGFuZyB1bmRlcm5lYXRoCisgICAgICAgIGBXZWJQYWdlOjpyZXF1ZXN0RG9jdW1lbnRFZGl0aW5n
Q29udGV4dGAgd2hlbiB0cnlpbmcgdG8gbW92ZSBiYWNrd2FyZHMgYnkgc2VudGVuY2UgZ3JhbnVs
YXJpdHksIHdoZW4gY29tcHV0aW5nCisgICAgICAgIGBjb250ZXh0QmVmb3JlU3RhcnRgOyB0aGlz
IGhhbmcgb2NjdXJzIGJlY2F1c2UgaXQncyBwb3NzaWJsZSBmb3IgdGhlIGxvZ2ljIGluIGBuZXh0
U2VudGVuY2VCb3VuZGFyeUluRGlyZWN0aW9uYAorICAgICAgICAoaW5zaWRlIFdlYkNvcmUpIHRv
IHJldHVybiBhIHZpc2libGUgcG9zaXRpb24gdGhhdCBpcyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0
aW9uLCByZWxhdGl2ZSB0byB0aGUgZ2l2ZW4gc3RhcnRpbmcKKyAgICAgICAgcG9zaXRpb24gYW5k
IGRpcmVjdGlvbi4gSW4gdHVybiwgdGhpcyBtZWFucyB3ZSBlbmQgdXAgcmV2aXNpdGluZyB2aXNp
YmxlIHBvc2l0aW9ucyB3aGlsZSBtb3ZpbmcgdG8gdGhlIG5leHQKKyAgICAgICAgc2VudGVuY2Ug
Ym91bmRhcnkuCisKKyAgICAgICAgVG8gcHJldmVudCB0aGlzLCB3ZSBtYWtlIHR3byBtaW5vciBh
ZGp1c3RtZW50cyBpbiBlZGl0aW5nIGNvZGUuIEZpcnN0LCBpbiBgbmV4dFNlbnRlbmNlQm91bmRh
cnlJbkRpcmVjdGlvbigpYCwKKyAgICAgICAgd2UgdXNlIGByZXN1bHRgIGluc3RlYWQgb2YgdGhl
IGdpdmVuIGB2cGAgd2hlbiB0cnlpbmcgdG8gZmluZCB0aGUgbmV4dCBzZW50ZW5jZSBib3VuZGFy
eSwgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlCisgICAgICAgIGdpdmVuIHZpc2libGUgcG9zaXRpb24g
aXMgbm90IGFscmVhZHkgd2l0aGluIGEgc2VudGVuY2UuIFRoaXMgd2FzIHByZXN1bWFibHkgdGhl
IG9yaWdpbmFsIGludGVudCBvZiB0aGlzIGNvZGUsCisgICAgICAgIHdoaWNoIGlzIHRvICJpdGVy
YXRlIHRvIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBzZW50ZW5jZSAod2hlbiBtb3ZpbmcgZG93bnN0
cmVhbSkgb3IgdGhlIGVuZCBvZiB0aGUgcHJldmlvdXMKKyAgICAgICAgc2VudGVuY2UgKHdoZW4g
bW92aW5nIHVwc3RyZWFtKSIuIEhvd2V2ZXIsIHNpbmNlIGB2cGAgaXMgY3VycmVudGx5IHVzZWQg
aGVyZSBpbnN0ZWFkLCB3ZSBlbmQgdXAgbW92aW5nIGluIHRoZQorICAgICAgICB3cm9uZyBkaXJl
Y3Rpb24gYW5kIHJldHVybiB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgc2VudGVuY2Ugd2hlbiBt
b3ZpbmcgZG93bnN0cmVhbSwgb3IgdGhlIGVuZCBvZiB0aGUgY3VycmVudAorICAgICAgICBzZW50
ZW5jZSB3aGVuIG1vdmluZyB1cHN0cmVhbS4KKworICAgICAgICBGaXhpbmcgdGhpcyBpc3N1ZSBp
cyBhY3R1YWxseSBhbHJlYWR5IHN1ZmZpY2llbnQgaW4gb3JkZXIgdG8gYWRkcmVzcyB0aGUgaGFu
Z3MgZW5jb3VudGVyZWQgaW4gdGhlIHJhZGFyOworICAgICAgICBob3dldmVyLCB0aGUgdGVzdCBj
YXNlIHN0aWxsIGhpdHMgc3Vic2VxdWVudCBkZWJ1ZyBhc3NlcnRpb25zIGluIGBtb3ZlQnlHcmFu
dWxhcml0eVJlc3BlY3RpbmdXb3JkQm91bmRhcnlgLCBkdWUKKyAgICAgICAgdG8gYGF0Qm91bmRh
cnlPZkdyYW51bGFyaXR5YCBuZXZlciByZXR1cm5pbmcgYHRydWVgLCBldmVuIGZvciB2aXNpYmxl
IHBvc2l0aW9ucyB0aGF0IGFyZSBhdCB0aGUgc3RhcnQgb3IgZW5kIG9mCisgICAgICAgIHNlbnRl
bmNlcy4gSW4gbGlldSBvZiBkZWJ1ZyBhc3NlcnRpb25zLCB0aGlzIGNhdXNlcyBgLXJlcXVlc3RE
b2N1bWVudENvbnRleHRgIHRvIGVmZmVjdGl2ZWx5IGlnbm9yZSB0aGUgZ2l2ZW4KKyAgICAgICAg
Z3JhbnVsYXJpdHkgYW5kIHRyYXZlcnNlIHRvbyBmYXIgaW4gZWl0aGVyIGRpcmVjdGlvbiwgZHVl
IHRvIGBhdEJvdW5kYXJ5T2ZHcmFudWxhcml0eWAgYWx3YXlzIGJlaW5nIGBmYWxzZWAgKHdlCisg
ICAgICAgIGF2b2lkIGluZmluaXRlbHkgbG9vcGluZyBhbmQgYmFpbCBiZWNhdXNlIGFmdGVyIGZp
eGluZyB0aGUgZmlyc3QgYnVnIGFib3ZlLCBgbmV4dFBvc2l0aW9uYCBldmVudHVhbGx5IGJlY29t
ZXMKKyAgICAgICAgbnVsbCkuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGlzIGFzc2VydGlvbiwg
d2UgbWFrZSBhIHNlY29uZCB0d2VhayB0byBgYXRCb3VuZGFyeU9mR3JhbnVsYXJpdHlgIHRoYXQg
YWxsb3dzIHVzIHRvIHJldHVybiBgdHJ1ZWAKKyAgICAgICAgaWYgdGhlIGdpdmVuIHBvc2l0aW9u
IGlzIGFscmVhZHkgYXQgYSBzZW50ZW5jZSBib3VuZGFyeSAoaW5zdGVhZCBvZiBtYXJjaGluZyB0
byB0aGUgcHJldmlvdXMgb3IgbmV4dCBzZW50ZW5jZQorICAgICAgICBhbmQgdGhlbiBtb3Zpbmcg
aW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbikuIFRoZSBsYXR0ZXIgd2FzIGFkZGVkIGluIHIyNTM1
NjEgdG8gZml4IHNvbWUgY29ybmVyIGNhc2VzIHdoZXJlCisgICAgICAgIGBzdGFydE9mU2VudGVu
Y2UoKWAgb3IgYGVuZE9mU2VudGVuY2UoKWAgd291bGQgZW5kIHVwIG1vdmluZyB1cyBwYXN0IHRo
ZSBuZXh0IChvciBwcmV2aW91cykgc2VudGVuY2UsIGJ1dCB0aGlzCisgICAgICAgIHNlZW1zIHRv
IGJyZWFrIHNvbWUgZXhpc3Rpbmcgc2NlbmFyaW9zIHdoZXJlIHRoZSBnaXZlbiBwb3NpdGlvbiBp
cyBhbHJlYWR5IGF0IHRoZSBzdGFydCBvciBlbmQgb2YgdGhlIHNlbnRlbmNlLgorCisgICAgICAg
IFRlc3Q6IERvY3VtZW50RWRpdGluZ0NvbnRleHQuUmVxdWVzdFNlbnRlbmNlc0FmdGVyVGV4dElu
c2VydGlvbgorCisgICAgICAgICogZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6YXRCb3VuZGFyeU9mR3JhbnVsYXJpdHkpOgorICAgICAgICAoV2ViQ29yZTo6bmV4
dFNlbnRlbmNlQm91bmRhcnlJbkRpcmVjdGlvbik6CisKKyAgICAgICAgU2VlIGFib3ZlIGZvciBt
b3JlIGRldGFpbHMuCisKIDIwMjEtMTEtMDQgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIDpob3N0OjpwYXJ0KGZvbykgc2VsZWN0b3IgZG9lcyBub3Qgc2VsZWN0
IGVsZW1lbnRzIGluc2lkZSBzaGFkb3cgcm9vdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJs
ZVVuaXRzLmNwcAppbmRleCA2YzAyNGJlMzU0ODU5ZjBjYzc3MGYxMTllZjllNzFiYmE1ZDRhZDc2
Li5hODQyOGZiMTAxZWM4NDM0MzU3ZWRiZTVmMTQ4YWVhNzJmNWYzMWY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwCkBAIC0xNTA0LDkgKzE1MDQsMTEgQEAgYm9vbCBh
dEJvdW5kYXJ5T2ZHcmFudWxhcml0eShjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZwLCBUZXh0R3Jh
bnVsYXJpdHkgZ3JhbnVsYXIKICAgICAgICAgYm91bmRhcnkgPSB1c2VEb3duc3RyZWFtID8gZW5k
T2ZXb3JkKHZwLCBMZWZ0V29yZElmT25Cb3VuZGFyeSkgOiBzdGFydE9mV29yZCh2cCwgUmlnaHRX
b3JkSWZPbkJvdW5kYXJ5KTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFRleHRHcmFudWxh
cml0eTo6U2VudGVuY2VHcmFudWxhcml0eToKLSAgICAgICAgYm91bmRhcnkgPSB1c2VEb3duc3Ry
ZWFtID8gZW5kT2ZTZW50ZW5jZShwcmV2aW91c1NlbnRlbmNlUG9zaXRpb24odnApKSA6IHN0YXJ0
T2ZTZW50ZW5jZShuZXh0U2VudGVuY2VQb3NpdGlvbih2cCkpOworICAgIGNhc2UgVGV4dEdyYW51
bGFyaXR5OjpTZW50ZW5jZUdyYW51bGFyaXR5OiB7CisgICAgICAgIGF1dG8gYm91bmRhcnlJbkRp
cmVjdGlvbiA9IHVzZURvd25zdHJlYW0gPyBlbmRPZlNlbnRlbmNlIDogc3RhcnRPZlNlbnRlbmNl
OworICAgICAgICBib3VuZGFyeSA9IHZwID09IGJvdW5kYXJ5SW5EaXJlY3Rpb24odnApID8gdnAg
OiBib3VuZGFyeUluRGlyZWN0aW9uKHVzZURvd25zdHJlYW0gPyBwcmV2aW91c1NlbnRlbmNlUG9z
aXRpb24odnApIDogbmV4dFNlbnRlbmNlUG9zaXRpb24odnApKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgfQogCiAgICAgY2FzZSBUZXh0R3JhbnVsYXJpdHk6OkxpbmVHcmFudWxhcml0eToKICAgICAg
ICAgYm91bmRhcnkgPSB2cDsKQEAgLTE2ODMsNyArMTY4NSw3IEBAIHN0YXRpYyBWaXNpYmxlUG9z
aXRpb24gbmV4dFNlbnRlbmNlQm91bmRhcnlJbkRpcmVjdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24mIHZwCiAgICAgICAgIGlmIChyZXN1bHQuaXNOdWxsKCkgfHwgcmVzdWx0ID09IHZwKQogICAg
ICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwogCi0gICAgICAgIHJlc3VsdCA9IHVz
ZURvd25zdHJlYW0gPyBzdGFydE9mU2VudGVuY2UodnApIDogZW5kT2ZTZW50ZW5jZSh2cCk7Cisg
ICAgICAgIHJlc3VsdCA9IHVzZURvd25zdHJlYW0gPyBzdGFydE9mU2VudGVuY2UocmVzdWx0KSA6
IGVuZE9mU2VudGVuY2UocmVzdWx0KTsKICAgICB9CiAKICAgICBpZiAocmVzdWx0ID09IHZwKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIwODAz
YWMwN2VkMjBiZGIzOWUzY2Y1ZGIzNWZmMmJmNzk0YjgwNzYuLjVhYWZhNWI4Mzg5ZGViZDUzZWQw
MzJjNGMwZDcwZTY5OWNkNmM5ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0xMS0wNSAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWlsIGNvbXBvc2Ug
YmVjb21lcyB1bnJlc3BvbnNpdmUgYWZ0ZXIgcGFzdGluZyBpbiB0ZXh0IGFuZCBhdHRlbXB0aW5n
IHRvIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMjc2NAorICAgICAgICByZGFyOi8vODQ2Njk2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0aGF0IGV4ZXJjaXNl
cyB0aGUgaGFuZyAoYW5kIGFsc28gdmVyaWZpZXMgdGhhdCB3ZSBkb24ndCBoaXQgYW55IGRlYnVn
IGFzc2VydGlvbnMgaW4gdGhlCisgICAgICAgIHByb2Nlc3MpLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0
Lm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9JbnNlcnRUZXh0QWx0ZXJuYXRpdmVzLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9zaW1w
bGUtZWRpdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL1VJS2l0
U1BJLmg6CisKKyAgICAgICAgRHJpdmUtYnkgZml4ZXM6IHJlbW92ZSBzb21lIG9sZCBzdGFnaW5n
IGRlY2xhcmF0aW9ucyBmb3IgVUlLaXQgU1BJIHRoYXQgaGFzIGxvbmcgYmVlbiBpbiB0aGUgaW50
ZXJuYWwgaU9TIDE1CisgICAgICAgIFNESy4gUmVtb3ZlIHRoZSBzdGFnaW5nIGNhdGVnb3JpZXMg
YW5kIGRlZmluaXRpb25zLCBhbmQgbW92ZSB0aGVtIHRvIHRoZSBub24taW50ZXJuYWwgU0RLIHNl
Y3Rpb24gaW5zdGVhZC4KKwogMjAyMS0xMS0wNCAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18y
MkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGZvciBjcmFzaGVzIGluIGxheW91dCB0ZXN0cyBp
biBBWCBpc29sYXRlZCB0cmVlIG1vZGUuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVjNzMx
ZTI0MDYwZDU0ZWViYmVjZGU4OGRkZWZmNDBiYTdlYWIzZmYuLjQ0Yzg4YWM4ZDY0NzhhNjg3NzVi
Yzc4MWQ0Y2U3NWNkODBlYzkwZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjgyLDYg
KzEyODIsNyBAQAogCQlGNENENzRDOTIwRkRCNDk2MDBERTM3OTQgLyogVGVzdFVSTFNjaGVtZUhh
bmRsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NENENzRDODIwRkRCNDk2MDBERTM3OTQgLyogVGVzdFVSTFNjaGVtZUhhbmRsZXIubW0gKi87IH07
CiAJCUY0Q0YzMjgwMjM2NjU1MjIwMEQzQUQwNyAvKiBFbnRlcktleUhpbnRUZXN0cy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0Q0YzMjdGMjM2NjU1
MjIwMEQzQUQwNyAvKiBFbnRlcktleUhpbnRUZXN0cy5tbSAqLzsgfTsKIAkJRjRDRkNEREEyNDlG
QzlFNDAwNTI3NDgyIC8qIFNwYWNlT25seS5vdGYgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRDRkNERDgyNDlGQzlEOTAwNTI3NDgyIC8qIFNw
YWNlT25seS5vdGYgKi87IH07CisJCUY0RDA2MDA4MjczNEExQUIwMDhGQTY3QSAvKiBzaW1wbGUt
ZWRpdG9yLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjREMDYwMDcyNzM0QTA4QzAwOEZBNjdBIC8qIHNpbXBsZS1lZGl0b3IuaHRtbCAq
LzsgfTsKIAkJRjREMjk4NkUyMEZFRTczNzAwOTJENjM2IC8qIFJ1blNjcmlwdEFmdGVyRG9jdW1l
bnRMb2FkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjREMjk4NkQyMEZFRTczNzAwOTJENjM2IC8qIFJ1blNjcmlwdEFmdGVyRG9jdW1lbnRMb2FkLm1t
ICovOyB9OwogCQlGNEQ0RjNCNjFFNEUyQkNCMDBCQjI3NjcgLyogRHJhZ0FuZERyb3BTaW11bGF0
b3JJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NEQ0RjNCNDFFNEUyQkNCMDBCQjI3NjcgLyogRHJhZ0FuZERyb3BTaW11bGF0b3JJT1MubW0gKi87
IH07CiAJCUY0RDRGM0I5MUU0RTM2RTQwMEJCMjc2NyAvKiBEcmFnQW5kRHJvcFRlc3RzSU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRENEYzQjcx
RTRFMzZFNDAwQkIyNzY3IC8qIERyYWdBbmREcm9wVGVzdHNJT1MubW0gKi87IH07CkBAIC0xMzg5
LDcgKzEzOTAsNiBAQAogCQkJZHN0UGF0aCA9IFRlc3RXZWJLaXRBUEkucmVzb3VyY2VzOwogCQkJ
ZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJCQlmaWxlcyA9ICgKLQkJCQk0OUQyRTVDMjI3MzFFM0JD
MDBCQ0NBRUQgLyogZmlsZS13aXRoLWlmcmFtZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAog
CQkJCTU1QTgxN0ZGMjE4MTAyMUEwMDA0QTM5QSAvKiAxMDB4MTAwLXJlZC50Z2EgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCiAJCQkJMUE5RTUyQzkxM0U2NUVGNDAwNjkxN0Y1IC8qIDE4LWNoYXJhY3Rl
cnMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NUE4MTgwMDIxODEwMjIxMDAwNEEz
OUEgLyogNDAweDQwMC1ncmVlbi5wbmcgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNTE2LDYg
KzE1MTYsNyBAQAogCQkJCUNEQTI5QjJCMjBGRDM1ODQwMEYxNUNFRCAvKiBFeGl0RnVsbHNjcmVl
bk9uRW50ZXJQaVAuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDFBQjlBMzFFRjQ2
OTZCMDA4M0ZBMDggLyogZmlsZS11cGxvYWRpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQlCQzJEMDA2NDEyQUEwNENFMDBFNzMyQTMgLyogZmlsZS13aXRoLWFuY2hvci5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAorCQkJCTQ5RDJFNUMyMjczMUUzQkMwMEJDQ0FFRCAvKiBmaWxl
LXdpdGgtaWZyYW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQ0Q1OUY1MzQxOUU5
MTEwRDAwQ0YxODM1IC8qIGZpbGUtd2l0aC1tc2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQk1MjRCQkM5RTE5REY3MkMwMDAyRjFBRjEgLyogZmlsZS13aXRoLXZpZGVvLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMUEwMkM4NzAxMjVENENGRDAwRTNGNEJEIC8qIGZpbmQu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE3MjEsNiArMTcyMiw3IEBACiAJCQkJRjRG
QzA3NzcyMEYwMTNCNjAwQ0EwNDNDIC8qIHNpZ25pZmljYW50LXRleHQtbWlsZXN0b25lLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQzlCNEFEMkExRUNBNkVCRTAwRjVGRUEwIC8qIHNp
bGVuY2UtbG9uZy5tNGEgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMUFEQkVGRTMxMzBDNkFB
MTAwRDYxRDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAorCQkJCUY0RDA2MDA4MjczNEExQUIwMDhGQTY3QSAvKiBzaW1wbGUtZWRp
dG9yLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQzBBREJFOTYxMkZDQTc5QjAwRDJD
MTI5IC8qIHNpbXBsZS1mb3JtLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzNEQzg5
MTIxNDE5NTVGRTAwNzQ3RUY3IC8qIHNpbXBsZS1pZnJhbWUuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlGNEVDODA5NDI2MEQzMDU0MDAxMDMxMUQgLyogc2ltcGxlLWltYWdlLW92ZXJs
YXkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTMxNzksNiArMzE4MSw3IEBACiAJCUY0
Q0YzMjdGMjM2NjU1MjIwMEQzQUQwNyAvKiBFbnRlcktleUhpbnRUZXN0cy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IEVudGVyS2V5SGludFRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNENGQ0REODI0OUZDOUQ5MDA1Mjc0ODIgLyogU3BhY2VPbmx5Lm90ZiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBT
cGFjZU9ubHkub3RmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNENGQ0REOTI0OUZD
OUQ5MDA1Mjc0ODIgLyogQWhlbS50dGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gQWhlbS50dGY7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUY0RDA2MDA3MjczNEEwOEMwMDhGQTY3QSAvKiBzaW1wbGUtZWRpdG9yLmh0
bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSAic2ltcGxlLWVkaXRvci5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjREMjk4NkQyMEZFRTczNzAwOTJENjM2IC8qIFJ1blNjcmlwdEFmdGVyRG9jdW1l
bnRMb2FkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUnVuU2NyaXB0QWZ0ZXJEb2N1bWVudExv
YWQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RDRGM0I0MUU0RTJCQ0IwMEJC
Mjc2NyAvKiBEcmFnQW5kRHJvcFNpbXVsYXRvcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERyYWdBbmREcm9wU2ltdWxhdG9ySU9TLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNEQ0RjNCNzFFNEUzNkU0MDBCQjI3NjcgLyogRHJhZ0FuZERy
b3BUZXN0c0lPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERy
YWdBbmREcm9wVGVzdHNJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTA0
LDYgKzQxMDcsNyBAQAogCQkJCTcyODNBOUQxMjJGQjFEOTcwMEIyMUM3RCAvKiBleGlmLW9yaWVu
dGF0aW9uLTgtbGxvLmpwZyAqLywKIAkJCQlDREEyOUIyQTIwRkQzNDRFMDBGMTVDRUQgLyogRXhp
dEZ1bGxzY3JlZW5PbkVudGVyUGlQLmh0bWwgKi8sCiAJCQkJRjQxQUI5OUIxRUY0NjkyQzAwODNG
QTA4IC8qIGZpbGUtdXBsb2FkaW5nLmh0bWwgKi8sCisJCQkJNDlEMkU1QzEyNzMxRTM3NDAwQkND
QUVEIC8qIGZpbGUtd2l0aC1pZnJhbWUuaHRtbCAqLywKIAkJCQlBMTdFQUM1NDIwODMwNTZFMDA4
NEI0MUIgLyogZmluZC5wZGYgKi8sCiAJCQkJRjQzRTNCQzAyMERBREI4MDAwQTRFN0VEIC8qIGZp
eGVkLW5hdi1iYXIuaHRtbCAqLywKIAkJCQk5MzU3NUM1NTFEMzAzNjZFMDAwRDYwNEQgLyogZm9j
dXMtaW5wdXRzLmh0bWwgKi8sCkBAIC00MjMzLDYgKzQyMzcsNyBAQAogCQkJCUY0RTNEODA3MjBG
NzA4RTQwMDdCNThDNSAvKiBzaWduaWZpY2FudC10ZXh0LW1pbGVzdG9uZS1hcnRpY2xlLmh0bWwg
Ki8sCiAJCQkJRjRGQzA3NzYyMEYwMTA4MTAwQ0EwNDNDIC8qIHNpZ25pZmljYW50LXRleHQtbWls
ZXN0b25lLmh0bWwgKi8sCiAJCQkJQzlCNEFEMjkxRUNBNkVBNTAwRjVGRUEwIC8qIHNpbGVuY2Ut
bG9uZy5tNGEgKi8sCisJCQkJRjREMDYwMDcyNzM0QTA4QzAwOEZBNjdBIC8qIHNpbXBsZS1lZGl0
b3IuaHRtbCAqLywKIAkJCQlGNEY0MDVCQjFENEMwQ0Y4MDA3QTk3MDcgLyogc2tpbm55LWF1dG9w
bGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLywKIAkJCQlGNENGQ0REODI0OUZDOUQ5MDA1
Mjc0ODIgLyogU3BhY2VPbmx5Lm90ZiAqLywKIAkJCQk5MzYwMjcwNTI1QTNCMjhFMDAzNjc2NzAg
Lyogc3BlZWNocmVjb2duaXRpb24tYmFzaWMuaHRtbCAqLywKQEAgLTQyODksNyArNDI5NCw2IEBA
CiAJCQkJNTE3MTRFQjMxQ0Y4Qzc2MTAwNDcyM0M0IC8qIFdlYlByb2Nlc3NLaWxsSURCQ2xlYW51
cC0yLmh0bWwgKi8sCiAJCQkJNTEyMEM4M0IxRTY3NEUzNTAwMjVCMjUwIC8qIFdlYnNpdGVEYXRh
U3RvcmVDdXN0b21QYXRocy5odG1sICovLAogCQkJCTJFMTMxQzE3MUQ4M0E5N0UwMDFCQTM2QyAv
KiB3aWRlLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLywKLQkJCQk0OUQyRTVD
MTI3MzFFMzc0MDBCQ0NBRUQgLyogZmlsZS13aXRoLWlmcmFtZS5odG1sICovLAogCQkJKTsKIAkJ
CW5hbWUgPSBSZXNvdXJjZXM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdD
b250ZXh0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVu
dEVkaXRpbmdDb250ZXh0Lm1tCmluZGV4IGQzMDlhMWMyZjM3Mjk1ZjJjZDRjMjE1ODMyNDc4ZmE3
NjE5NTY4OGEuLmFkNGU3MTBmZWI0MTRkZDg1M2FmOGRiZWI0ZTlmN2I4ODg3YTYxNTIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRFZGl0
aW5nQ29udGV4dC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW0KQEAgLTEzMjYsNCArMTMyNiwxNSBAQCBURVNUKERv
Y3VtZW50RWRpdGluZ0NvbnRleHQsIFJlcXVlc3RMYXN0VHdvTGluZXMpCiAgICAgRVhQRUNUX05V
TEwoY29udGV4dC5jb250ZXh0QWZ0ZXIpOwogfQogCitURVNUKERvY3VtZW50RWRpdGluZ0NvbnRl
eHQsIFJlcXVlc3RTZW50ZW5jZXNBZnRlclRleHRJbnNlcnRpb24pCit7CisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRl
c3RQYWdlTmFtZWQ6QCJzaW1wbGUtZWRpdG9yIl07CisKKyAgICBhdXRvICpjb250ZXh0ID0gW3dl
YlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3REb2N1bWVudENvbnRleHQ6bWFrZVJlcXVlc3QoVUlX
S0RvY3VtZW50UmVxdWVzdFRleHQsIFVJVGV4dEdyYW51bGFyaXR5U2VudGVuY2UsIDEpXTsKKyAg
ICBFWFBFQ1RfTlNTVFJJTkdfRVEoIkYiLCBjb250ZXh0LmNvbnRleHRCZWZvcmUpOworICAgIEVY
UEVDVF9OVUxMKGNvbnRleHQuc2VsZWN0ZWRUZXh0KTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEo
IlxuVGhpcyBpcyBhIHRlc3QuIiwgY29udGV4dC5jb250ZXh0QWZ0ZXIpOworfQorCiAjZW5kaWYg
Ly8gUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgSEFWRShVSV9XS19ET0NVTUVOVF9DT05URVhUKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbnNlcnRU
ZXh0QWx0ZXJuYXRpdmVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9JbnNlcnRUZXh0QWx0ZXJuYXRpdmVzLm1tCmluZGV4IDdiMDBlYWZiMjE1ODFiMTFkZTJjODU2
NDFhNDI5ZmI0OGNmNzZlOWYuLjA4ZmMxNTI5Mjk3ZmRlMWNhMTc2NzIzNjZjZDYzNGJhNjNiN2Y4
YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5z
ZXJ0VGV4dEFsdGVybmF0aXZlcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0luc2VydFRleHRBbHRlcm5hdGl2ZXMubW0KQEAgLTYyLDcgKzYyLDcgQEAgVEVT
VChJbnNlcnRUZXh0QWx0ZXJuYXRpdmVzLCBTaW1wbGUpCiAKICAgICBFWFBFQ1RfV0tfU1RSRVEo
ImhlbGxvIiwgW1t3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XSBzZWxlY3RlZFRleHRdKTsK
IAotICAgIGF1dG8gKmFsdGVybmF0aXZlcyA9IFsoaWQ8VUlXS0ludGVyYWN0aW9uVmlld1Byb3Rv
Y29sX1N0YWdpbmc2NjY0NjA0Mj4pW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXddIGFsdGVy
bmF0aXZlc0ZvclNlbGVjdGVkVGV4dF07CisgICAgYXV0byAqYWx0ZXJuYXRpdmVzID0gW3dlYlZp
ZXcgdGV4dElucHV0Q29udGVudFZpZXddLmFsdGVybmF0aXZlc0ZvclNlbGVjdGVkVGV4dDsKICAg
ICBFWFBFQ1RfRVEoMXVsLCBhbHRlcm5hdGl2ZXMuY291bnQpOwogICAgIEVYUEVDVF9XS19TVFJF
USgiaGVsbG8iLCBhbHRlcm5hdGl2ZXNbMF0ucHJpbWFyeVN0cmluZyk7CiAgICAgRVhQRUNUX0VR
KDF1bCwgYWx0ZXJuYXRpdmVzWzBdLmFsdGVybmF0aXZlU3RyaW5ncy5jb3VudCk7CmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3NpbXBsZS1lZGl0b3Iu
aHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evc2ltcGxlLWVkaXRv
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBmNTY3MWFiMzAzYTU4ODdkYmE0YzIzYTlmZDJmNzUzNzg2MzU3
YzEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL3NpbXBsZS1lZGl0b3IuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBh
ZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgKCkgPT4geworICAgICAgICAgICAg
bGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgICAgICAg
ICAgIGdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKHRhcmdldCwgMSk7CisgICAgICAgIH0pOwor
ICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgY29udGVudGVkaXRhYmxlPgorSGVsbG8gd29y
bGQuCis8YnIgaWQ9ImJyMSI+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiB0b21hdG87IiBpZD0n
dGFyZ2V0Jz5GPC9kaXY+Cis8YnIgaWQ9ImJyMiI+CitUaGlzIGlzIGEgdGVzdC4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCmluZGV4IDM2YWEwZTQ3YWMzYTIx
NzJkN2I4NjU3ZWYxM2QxMjliNzgwYjk4MGIuLjRkZjJiM2U0ZTYwNjlhZGQ2NDA5OTBkOGVkZDBk
YWVkNzcwZjMxNWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJ
LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaApAQCAtMTY3LDYgKzE2
Nyw4IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIsIFVJV0tEb2N1bWVudFJlcXVlc3RG
bGFncykgewogICAgIFVJV0tEb2N1bWVudFJlcXVlc3RSZWN0cyA9IDEgPDwgMiwKICAgICBVSVdL
RG9jdW1lbnRSZXF1ZXN0U3BhdGlhbCA9IDEgPDwgMywKICAgICBVSVdLRG9jdW1lbnRSZXF1ZXN0
QW5ub3RhdGlvbiA9IDEgPDwgNCwKKyAgICBVSVdLRG9jdW1lbnRSZXF1ZXN0TWFya2VkVGV4dFJl
Y3RzID0gMSA8PCA1LAorICAgIFVJV0tEb2N1bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3VycmVudFNl
bGVjdGlvbiA9IDEgPDwgNiwKIH07CiAKIEBpbnRlcmZhY2UgVUlXS0RvY3VtZW50UmVxdWVzdCA6
IE5TT2JqZWN0CkBAIC0yMDcsNiArMjA5LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
VUlXS0dlc3R1cmVUeXBlKSB7CiAtICh2b2lkKXVwZGF0ZVNlbGVjdGlvbldpdGhFeHRlbnRQb2lu
dDooQ0dQb2ludClwb2ludCB3aXRoQm91bmRhcnk6KFVJVGV4dEdyYW51bGFyaXR5KWdyYW51bGFy
aXR5IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHNlbGVjdGlvbkVuZElzTW92aW5n
KSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpc2VsZWN0V29yZEZvclJlcGxhY2VtZW50Owog
LSAoQk9PTCl0ZXh0SW50ZXJhY3Rpb25HZXN0dXJlOihVSVdLR2VzdHVyZVR5cGUpZ2VzdHVyZSBz
aG91bGRCZWdpbkF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7CistIChOU0FycmF5PE5TVGV4dEFsdGVy
bmF0aXZlcyAqPiAqKWFsdGVybmF0aXZlc0ZvclNlbGVjdGVkVGV4dDsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKnNlbGVjdGVkVGV4dDsKIAogQG9wdGlvbmFsCkBA
IC0yNjcsMTQgKzI3MCw2IEBAIElHTk9SRV9XQVJOSU5HU19FTkQKIAogI2VuZGlmIC8vIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCiAKLSNkZWZpbmUgVUlXS0RvY3VtZW50UmVxdWVzdE1hcmtlZFRl
eHRSZWN0cyAoMSA8PCA1KQotI2RlZmluZSBVSVdLRG9jdW1lbnRSZXF1ZXN0U3BhdGlhbEFuZEN1
cnJlbnRTZWxlY3Rpb24gKDEgPDwgNikKLQotQHByb3RvY29sIFVJV0tJbnRlcmFjdGlvblZpZXdQ
cm90b2NvbF9TdGFnaW5nNjY2NDYwNDIgPFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbD4KLUBv
cHRpb25hbAotLSAoTlNBcnJheTxOU1RleHRBbHRlcm5hdGl2ZXMgKj4gKilhbHRlcm5hdGl2ZXNG
b3JTZWxlY3RlZFRleHQ7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgVUlUZXh0QXV0b2ZpbGxTdWdnZXN0
aW9uICgpCiArIChpbnN0YW5jZXR5cGUpYXV0b2ZpbGxTdWdnZXN0aW9uV2l0aFVzZXJuYW1lOihO
U1N0cmluZyAqKXVzZXJuYW1lIHBhc3N3b3JkOihOU1N0cmluZyAqKXBhc3N3b3JkOwogQGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443437</attachid>
            <date>2021-11-05 14:16:24 -0700</date>
            <delta_ts>2021-11-05 14:54:33 -0700</delta_ts>
            <desc>Rebase on trunk</desc>
            <filename>bug-232764-20211105141623.patch</filename>
            <type>text/plain</type>
            <size>14906</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk5OWI2ZTJhNDNmZTY2
OTcyYTU5ZTA2YTg0ZjEzMGEwMjYzYTg2Yy4uY2U2NzAxY2JjNzIzODY4MmZmN2EzNzhkMzIzMzk3
Yjg2OGIyMDViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTExLTA1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1haWwg
Y29tcG9zZSBiZWNvbWVzIHVucmVzcG9uc2l2ZSBhZnRlciBwYXN0aW5nIGluIHRleHQgYW5kIGF0
dGVtcHRpbmcgdG8gdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNzY0CisgICAgICAgIHJkYXI6Ly84NDY2OTY2MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHNvbWUgcmVjZW50IGNoYW5n
ZXMgaW4gVUlLaXQsIGtleWJvYXJkIGNvZGUgbm93IGNhbGxzIGludG8gYC1yZXF1ZXN0RG9jdW1l
bnRDb250ZXh0OmNvbXBsZXRpb25IYW5kbGVyOmAKKyAgICAgICAgYWZ0ZXIgaW5zZXJ0aW5nIHRl
eHQgd2l0aCB0aGUgc29mdHdhcmUga2V5Ym9hcmQsIGFuZCBzcGVjaWZpY2FsbHkgcmVxdWVzdHMg
c2VudGVuY2UtZ3JhbnVsYXJpdHkgdGV4dCBjb250ZXh0CisgICAgICAgIG5lYXIgdGhlIHNlbGVj
dGlvbi4gVGhpcyB0cmlnZ2VyZWQgYW4gZXhpc3RpbmcgYnVnIGluIFdlYktpdCwgd2hlcmUgd2Ug
aGFuZyB1bmRlcm5lYXRoCisgICAgICAgIGBXZWJQYWdlOjpyZXF1ZXN0RG9jdW1lbnRFZGl0aW5n
Q29udGV4dGAgd2hlbiB0cnlpbmcgdG8gbW92ZSBiYWNrd2FyZHMgYnkgc2VudGVuY2UgZ3JhbnVs
YXJpdHksIHdoZW4gY29tcHV0aW5nCisgICAgICAgIGBjb250ZXh0QmVmb3JlU3RhcnRgOyB0aGlz
IGhhbmcgb2NjdXJzIGJlY2F1c2UgaXQncyBwb3NzaWJsZSBmb3IgdGhlIGxvZ2ljIGluIGBuZXh0
U2VudGVuY2VCb3VuZGFyeUluRGlyZWN0aW9uYAorICAgICAgICAoaW5zaWRlIFdlYkNvcmUpIHRv
IHJldHVybiBhIHZpc2libGUgcG9zaXRpb24gdGhhdCBpcyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0
aW9uLCByZWxhdGl2ZSB0byB0aGUgZ2l2ZW4gc3RhcnRpbmcKKyAgICAgICAgcG9zaXRpb24gYW5k
IGRpcmVjdGlvbi4gSW4gdHVybiwgdGhpcyBtZWFucyB3ZSBlbmQgdXAgcmV2aXNpdGluZyB2aXNp
YmxlIHBvc2l0aW9ucyB3aGlsZSBtb3ZpbmcgdG8gdGhlIG5leHQKKyAgICAgICAgc2VudGVuY2Ug
Ym91bmRhcnkuCisKKyAgICAgICAgVG8gcHJldmVudCB0aGlzLCB3ZSBtYWtlIHR3byBtaW5vciBh
ZGp1c3RtZW50cyBpbiBlZGl0aW5nIGNvZGUuIEZpcnN0LCBpbiBgbmV4dFNlbnRlbmNlQm91bmRh
cnlJbkRpcmVjdGlvbigpYCwKKyAgICAgICAgd2UgdXNlIGByZXN1bHRgIGluc3RlYWQgb2YgdGhl
IGdpdmVuIGB2cGAgd2hlbiB0cnlpbmcgdG8gZmluZCB0aGUgbmV4dCBzZW50ZW5jZSBib3VuZGFy
eSwgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlCisgICAgICAgIGdpdmVuIHZpc2libGUgcG9zaXRpb24g
aXMgbm90IGFscmVhZHkgd2l0aGluIGEgc2VudGVuY2UuIFRoaXMgd2FzIHByZXN1bWFibHkgdGhl
IG9yaWdpbmFsIGludGVudCBvZiB0aGlzIGNvZGUsCisgICAgICAgIHdoaWNoIGlzIHRvICJpdGVy
YXRlIHRvIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBzZW50ZW5jZSAod2hlbiBtb3ZpbmcgZG93bnN0
cmVhbSkgb3IgdGhlIGVuZCBvZiB0aGUgcHJldmlvdXMKKyAgICAgICAgc2VudGVuY2UgKHdoZW4g
bW92aW5nIHVwc3RyZWFtKSIuIEhvd2V2ZXIsIHNpbmNlIGB2cGAgaXMgY3VycmVudGx5IHVzZWQg
aGVyZSBpbnN0ZWFkLCB3ZSBlbmQgdXAgbW92aW5nIGluIHRoZQorICAgICAgICB3cm9uZyBkaXJl
Y3Rpb24gYW5kIHJldHVybiB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgc2VudGVuY2Ugd2hlbiBt
b3ZpbmcgZG93bnN0cmVhbSwgb3IgdGhlIGVuZCBvZiB0aGUgY3VycmVudAorICAgICAgICBzZW50
ZW5jZSB3aGVuIG1vdmluZyB1cHN0cmVhbS4KKworICAgICAgICBGaXhpbmcgdGhpcyBpc3N1ZSBp
cyBhY3R1YWxseSBhbHJlYWR5IHN1ZmZpY2llbnQgaW4gb3JkZXIgdG8gYWRkcmVzcyB0aGUgaGFu
Z3MgZW5jb3VudGVyZWQgaW4gdGhlIHJhZGFyOworICAgICAgICBob3dldmVyLCB0aGUgdGVzdCBj
YXNlIHN0aWxsIGhpdHMgc3Vic2VxdWVudCBkZWJ1ZyBhc3NlcnRpb25zIGluIGBtb3ZlQnlHcmFu
dWxhcml0eVJlc3BlY3RpbmdXb3JkQm91bmRhcnlgLCBkdWUKKyAgICAgICAgdG8gYGF0Qm91bmRh
cnlPZkdyYW51bGFyaXR5YCBuZXZlciByZXR1cm5pbmcgYHRydWVgLCBldmVuIGZvciB2aXNpYmxl
IHBvc2l0aW9ucyB0aGF0IGFyZSBhdCB0aGUgc3RhcnQgb3IgZW5kIG9mCisgICAgICAgIHNlbnRl
bmNlcy4gSW4gbGlldSBvZiBkZWJ1ZyBhc3NlcnRpb25zLCB0aGlzIGNhdXNlcyBgLXJlcXVlc3RE
b2N1bWVudENvbnRleHRgIHRvIGVmZmVjdGl2ZWx5IGlnbm9yZSB0aGUgZ2l2ZW4KKyAgICAgICAg
Z3JhbnVsYXJpdHkgYW5kIHRyYXZlcnNlIHRvbyBmYXIgaW4gZWl0aGVyIGRpcmVjdGlvbiwgZHVl
IHRvIGBhdEJvdW5kYXJ5T2ZHcmFudWxhcml0eWAgYWx3YXlzIGJlaW5nIGBmYWxzZWAgKHdlCisg
ICAgICAgIGF2b2lkIGluZmluaXRlbHkgbG9vcGluZyBhbmQgYmFpbCBiZWNhdXNlIGFmdGVyIGZp
eGluZyB0aGUgZmlyc3QgYnVnIGFib3ZlLCBgbmV4dFBvc2l0aW9uYCBldmVudHVhbGx5IGJlY29t
ZXMKKyAgICAgICAgbnVsbCkuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGlzIGFzc2VydGlvbiwg
d2UgbWFrZSBhIHNlY29uZCB0d2VhayB0byBgYXRCb3VuZGFyeU9mR3JhbnVsYXJpdHlgIHRoYXQg
YWxsb3dzIHVzIHRvIHJldHVybiBgdHJ1ZWAKKyAgICAgICAgaWYgdGhlIGdpdmVuIHBvc2l0aW9u
IGlzIGFscmVhZHkgYXQgYSBzZW50ZW5jZSBib3VuZGFyeSAoaW5zdGVhZCBvZiBtYXJjaGluZyB0
byB0aGUgcHJldmlvdXMgb3IgbmV4dCBzZW50ZW5jZQorICAgICAgICBhbmQgdGhlbiBtb3Zpbmcg
aW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbikuIFRoZSBsYXR0ZXIgd2FzIGFkZGVkIGluIHIyNTM1
NjEgdG8gZml4IHNvbWUgY29ybmVyIGNhc2VzIHdoZXJlCisgICAgICAgIGBzdGFydE9mU2VudGVu
Y2UoKWAgb3IgYGVuZE9mU2VudGVuY2UoKWAgd291bGQgZW5kIHVwIG1vdmluZyB1cyBwYXN0IHRo
ZSBuZXh0IChvciBwcmV2aW91cykgc2VudGVuY2UsIGJ1dCB0aGlzCisgICAgICAgIHNlZW1zIHRv
IGJyZWFrIHNvbWUgZXhpc3Rpbmcgc2NlbmFyaW9zIHdoZXJlIHRoZSBnaXZlbiBwb3NpdGlvbiBp
cyBhbHJlYWR5IGF0IHRoZSBzdGFydCBvciBlbmQgb2YgdGhlIHNlbnRlbmNlLgorCisgICAgICAg
IFRlc3Q6IERvY3VtZW50RWRpdGluZ0NvbnRleHQuUmVxdWVzdFNlbnRlbmNlc0FmdGVyVGV4dElu
c2VydGlvbgorCisgICAgICAgICogZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6YXRCb3VuZGFyeU9mR3JhbnVsYXJpdHkpOgorICAgICAgICAoV2ViQ29yZTo6bmV4
dFNlbnRlbmNlQm91bmRhcnlJbkRpcmVjdGlvbik6CisKKyAgICAgICAgU2VlIGFib3ZlIGZvciBt
b3JlIGRldGFpbHMuCisKIDIwMjEtMTEtMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXN0cnVjdHVyZSBXS0NvbnRlbnRSdWxlTGlzdCBB
Y3Rpb24gc3RvcmFnZSBkdXJpbmcgY29tcGlsYXRpb24gYW5kIGludGVycHJldGF0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAKaW5kZXggNmMwMjRiZTM1NDg1OWYwY2M3
NzBmMTE5ZWY5ZTcxYmJhNWQ0YWQ3Ni4uYTg0MjhmYjEwMWVjODQzNDM1N2VkYmU1ZjE0OGFlYTcy
ZjVmMzFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5pdHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcApAQCAtMTUw
NCw5ICsxNTA0LDExIEBAIGJvb2wgYXRCb3VuZGFyeU9mR3JhbnVsYXJpdHkoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiB2cCwgVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyCiAgICAgICAgIGJvdW5kYXJ5
ID0gdXNlRG93bnN0cmVhbSA/IGVuZE9mV29yZCh2cCwgTGVmdFdvcmRJZk9uQm91bmRhcnkpIDog
c3RhcnRPZldvcmQodnAsIFJpZ2h0V29yZElmT25Cb3VuZGFyeSk7CiAgICAgICAgIGJyZWFrOwog
Ci0gICAgY2FzZSBUZXh0R3JhbnVsYXJpdHk6OlNlbnRlbmNlR3JhbnVsYXJpdHk6Ci0gICAgICAg
IGJvdW5kYXJ5ID0gdXNlRG93bnN0cmVhbSA/IGVuZE9mU2VudGVuY2UocHJldmlvdXNTZW50ZW5j
ZVBvc2l0aW9uKHZwKSkgOiBzdGFydE9mU2VudGVuY2UobmV4dFNlbnRlbmNlUG9zaXRpb24odnAp
KTsKKyAgICBjYXNlIFRleHRHcmFudWxhcml0eTo6U2VudGVuY2VHcmFudWxhcml0eTogeworICAg
ICAgICBhdXRvIGJvdW5kYXJ5SW5EaXJlY3Rpb24gPSB1c2VEb3duc3RyZWFtID8gZW5kT2ZTZW50
ZW5jZSA6IHN0YXJ0T2ZTZW50ZW5jZTsKKyAgICAgICAgYm91bmRhcnkgPSB2cCA9PSBib3VuZGFy
eUluRGlyZWN0aW9uKHZwKSA/IHZwIDogYm91bmRhcnlJbkRpcmVjdGlvbih1c2VEb3duc3RyZWFt
ID8gcHJldmlvdXNTZW50ZW5jZVBvc2l0aW9uKHZwKSA6IG5leHRTZW50ZW5jZVBvc2l0aW9uKHZw
KSk7CiAgICAgICAgIGJyZWFrOworICAgIH0KIAogICAgIGNhc2UgVGV4dEdyYW51bGFyaXR5OjpM
aW5lR3JhbnVsYXJpdHk6CiAgICAgICAgIGJvdW5kYXJ5ID0gdnA7CkBAIC0xNjgzLDcgKzE2ODUs
NyBAQCBzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIG5leHRTZW50ZW5jZUJvdW5kYXJ5SW5EaXJlY3Rp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2cAogICAgICAgICBpZiAocmVzdWx0LmlzTnVsbCgp
IHx8IHJlc3VsdCA9PSB2cCkKICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsK
IAotICAgICAgICByZXN1bHQgPSB1c2VEb3duc3RyZWFtID8gc3RhcnRPZlNlbnRlbmNlKHZwKSA6
IGVuZE9mU2VudGVuY2UodnApOworICAgICAgICByZXN1bHQgPSB1c2VEb3duc3RyZWFtID8gc3Rh
cnRPZlNlbnRlbmNlKHJlc3VsdCkgOiBlbmRPZlNlbnRlbmNlKHJlc3VsdCk7CiAgICAgfQogCiAg
ICAgaWYgKHJlc3VsdCA9PSB2cCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCA4NmM1OWFiN2VhMDk5OWYzMWEyN2QwZmRlZTkxNmZhZjRjYjcxNmI4
Li5lMzQwN2E3MDJlNzc2MDA5ZDdlMTI2MTMxMDA3MWUyYWM4MzhjNDc2IDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MjEtMTEtMDUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW2lPU10gTWFpbCBjb21wb3NlIGJlY29tZXMgdW5yZXNwb25zaXZlIGFmdGVyIHBhc3Rpbmcg
aW4gdGV4dCBhbmQgYXR0ZW1wdGluZyB0byB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI3NjQKKyAgICAgICAgcmRhcjovLzg0NjY5NjYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbGF5
b3V0IHRlc3QgdGhhdCBleGVyY2lzZXMgdGhlIGhhbmcgKGFuZCBhbHNvIHZlcmlmaWVzIHRoYXQg
d2UgZG9uJ3QgaGl0IGFueSBkZWJ1ZyBhc3NlcnRpb25zIGluIHRoZQorICAgICAgICBwcm9jZXNz
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
RG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5zZXJ0VGV4dEFsdGVybmF0aXZlcy5tbToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2Evc2ltcGxlLWVkaXRvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oOgorCisgICAgICAgIERyaXZlLWJ5IGZpeGVzOiBy
ZW1vdmUgc29tZSBvbGQgc3RhZ2luZyBkZWNsYXJhdGlvbnMgZm9yIFVJS2l0IFNQSSB0aGF0IGhh
cyBsb25nIGJlZW4gaW4gdGhlIGludGVybmFsIGlPUyAxNQorICAgICAgICBTREsuIFJlbW92ZSB0
aGUgc3RhZ2luZyBjYXRlZ29yaWVzIGFuZCBkZWZpbml0aW9ucywgYW5kIG1vdmUgdGhlbSB0byB0
aGUgbm9uLWludGVybmFsIFNESyBzZWN0aW9uIGluc3RlYWQuCisKIDIwMjEtMTEtMDUgIFJ5YW4g
SGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgQnJpbmcgdXAgcXVldWVz
IGZvciBNb250ZXJleQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNmM3OTFmZjJiNDkxYzE2
ODQ0OWRjOTIxNGRjNDkxMjM0Mjc4ZDAwLi41NTAwZTJjYWIyMDBmZTMxNDU2YmNhNjVmZDk1Zjg2
OWZhMjE5NThiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI4Myw2ICsxMjgzLDcgQEAK
IAkJRjRDRDc0QzkyMEZEQjQ5NjAwREUzNzk0IC8qIFRlc3RVUkxTY2hlbWVIYW5kbGVyLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRDRDc0QzgyMEZE
QjQ5NjAwREUzNzk0IC8qIFRlc3RVUkxTY2hlbWVIYW5kbGVyLm1tICovOyB9OwogCQlGNENGMzI4
MDIzNjY1NTIyMDBEM0FEMDcgLyogRW50ZXJLZXlIaW50VGVzdHMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNENGMzI3RjIzNjY1NTIyMDBEM0FEMDcg
LyogRW50ZXJLZXlIaW50VGVzdHMubW0gKi87IH07CiAJCUY0Q0ZDRERBMjQ5RkM5RTQwMDUyNzQ4
MiAvKiBTcGFjZU9ubHkub3RmIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0Q0ZDREQ4MjQ5RkM5RDkwMDUyNzQ4MiAvKiBTcGFjZU9ubHkub3Rm
ICovOyB9OworCQlGNEQwNjAwODI3MzRBMUFCMDA4RkE2N0EgLyogc2ltcGxlLWVkaXRvci5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0
RDA2MDA3MjczNEEwOEMwMDhGQTY3QSAvKiBzaW1wbGUtZWRpdG9yLmh0bWwgKi87IH07CiAJCUY0
RDI5ODZFMjBGRUU3MzcwMDkyRDYzNiAvKiBSdW5TY3JpcHRBZnRlckRvY3VtZW50TG9hZC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RDI5ODZEMjBG
RUU3MzcwMDkyRDYzNiAvKiBSdW5TY3JpcHRBZnRlckRvY3VtZW50TG9hZC5tbSAqLzsgfTsKIAkJ
RjRENEYzQjYxRTRFMkJDQjAwQkIyNzY3IC8qIERyYWdBbmREcm9wU2ltdWxhdG9ySU9TLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRENEYzQjQxRTRF
MkJDQjAwQkIyNzY3IC8qIERyYWdBbmREcm9wU2ltdWxhdG9ySU9TLm1tICovOyB9OwogCQlGNEQ0
RjNCOTFFNEUzNkU0MDBCQjI3NjcgLyogRHJhZ0FuZERyb3BUZXN0c0lPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RDRGM0I3MUU0RTM2RTQwMEJC
Mjc2NyAvKiBEcmFnQW5kRHJvcFRlc3RzSU9TLm1tICovOyB9OwpAQCAtMTcyMiw2ICsxNzIzLDcg
QEAKIAkJCQlGNEZDMDc3NzIwRjAxM0I2MDBDQTA0M0MgLyogc2lnbmlmaWNhbnQtdGV4dC1taWxl
c3RvbmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDOUI0QUQyQTFFQ0E2RUJFMDBG
NUZFQTAgLyogc2lsZW5jZS1sb25nLm00YSBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkxQURC
RUZFMzEzMEM2QUExMDBENjFEMTkgLyogc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJRjREMDYwMDgyNzM0QTFBQjAwOEZBNjdBIC8q
IHNpbXBsZS1lZGl0b3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDMEFEQkU5NjEy
RkNBNzlCMDBEMkMxMjkgLyogc2ltcGxlLWZvcm0uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQkzM0RDODkxMjE0MTk1NUZFMDA3NDdFRjcgLyogc2ltcGxlLWlmcmFtZS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovLAogCQkJCUY0RUM4MDk0MjYwRDMwNTQwMDEwMzExRCAvKiBzaW1wbGUt
aW1hZ2Utb3ZlcmxheS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMzE4MCw2ICszMTgy
LDcgQEAKIAkJRjRDRjMyN0YyMzY2NTUyMjAwRDNBRDA3IC8qIEVudGVyS2V5SGludFRlc3RzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRW50ZXJLZXlIaW50VGVzdHMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0Q0ZDREQ4MjQ5RkM5RDkwMDUyNzQ4MiAvKiBTcGFjZU9ubHku
b3RmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmls
ZTsgcGF0aCA9IFNwYWNlT25seS5vdGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
Q0ZDREQ5MjQ5RkM5RDkwMDUyNzQ4MiAvKiBBaGVtLnR0ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBBaGVtLnR0Zjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjREMDYwMDcyNzM0QTA4QzAwOEZBNjdBIC8qIHNpbXBs
ZS1lZGl0b3IuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJzaW1wbGUtZWRpdG9yLmh0bWwiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNEQyOTg2RDIwRkVFNzM3MDA5MkQ2MzYgLyogUnVuU2NyaXB0
QWZ0ZXJEb2N1bWVudExvYWQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSdW5TY3JpcHRBZnRl
ckRvY3VtZW50TG9hZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRENEYzQjQx
RTRFMkJDQjAwQkIyNzY3IC8qIERyYWdBbmREcm9wU2ltdWxhdG9ySU9TLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRHJhZ0FuZERyb3BTaW11bGF0b3JJT1MubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RDRGM0I3MUU0RTM2RTQwMEJCMjc2NyAv
KiBEcmFnQW5kRHJvcFRlc3RzSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRHJhZ0FuZERyb3BUZXN0c0lPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQyMzUsNiArNDIzOCw3IEBACiAJCQkJRjRFM0Q4MDcyMEY3MDhFNDAwN0I1OEM1IC8q
IHNpZ25pZmljYW50LXRleHQtbWlsZXN0b25lLWFydGljbGUuaHRtbCAqLywKIAkJCQlGNEZDMDc3
NjIwRjAxMDgxMDBDQTA0M0MgLyogc2lnbmlmaWNhbnQtdGV4dC1taWxlc3RvbmUuaHRtbCAqLywK
IAkJCQlDOUI0QUQyOTFFQ0E2RUE1MDBGNUZFQTAgLyogc2lsZW5jZS1sb25nLm00YSAqLywKKwkJ
CQlGNEQwNjAwNzI3MzRBMDhDMDA4RkE2N0EgLyogc2ltcGxlLWVkaXRvci5odG1sICovLAogCQkJ
CUY0RjQwNUJCMUQ0QzBDRjgwMDdBOTcwNyAvKiBza2lubnktYXV0b3BsYXlpbmctdmlkZW8td2l0
aC1hdWRpby5odG1sICovLAogCQkJCUY0Q0ZDREQ4MjQ5RkM5RDkwMDUyNzQ4MiAvKiBTcGFjZU9u
bHkub3RmICovLAogCQkJCTkzNjAyNzA1MjVBM0IyOEUwMDM2NzY3MCAvKiBzcGVlY2hyZWNvZ25p
dGlvbi1iYXNpYy5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tCmluZGV4IGQz
MDlhMWMyZjM3Mjk1ZjJjZDRjMjE1ODMyNDc4ZmE3NjE5NTY4OGEuLmFkNGU3MTBmZWI0MTRkZDg1
M2FmOGRiZWI0ZTlmN2I4ODg3YTYxNTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW0K
QEAgLTEzMjYsNCArMTMyNiwxNSBAQCBURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFJlcXVl
c3RMYXN0VHdvTGluZXMpCiAgICAgRVhQRUNUX05VTEwoY29udGV4dC5jb250ZXh0QWZ0ZXIpOwog
fQogCitURVNUKERvY3VtZW50RWRpdGluZ0NvbnRleHQsIFJlcXVlc3RTZW50ZW5jZXNBZnRlclRl
eHRJbnNlcnRpb24pCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKKyAg
ICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUtZWRpdG9y
Il07CisKKyAgICBhdXRvICpjb250ZXh0ID0gW3dlYlZpZXcgc3luY2hyb25vdXNseVJlcXVlc3RE
b2N1bWVudENvbnRleHQ6bWFrZVJlcXVlc3QoVUlXS0RvY3VtZW50UmVxdWVzdFRleHQsIFVJVGV4
dEdyYW51bGFyaXR5U2VudGVuY2UsIDEpXTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoIkYiLCBj
b250ZXh0LmNvbnRleHRCZWZvcmUpOworICAgIEVYUEVDVF9OVUxMKGNvbnRleHQuc2VsZWN0ZWRU
ZXh0KTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoIlxuVGhpcyBpcyBhIHRlc3QuIiwgY29udGV4
dC5jb250ZXh0QWZ0ZXIpOworfQorCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
SEFWRShVSV9XS19ET0NVTUVOVF9DT05URVhUKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbnNlcnRUZXh0QWx0ZXJuYXRpdmVzLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbnNlcnRUZXh0QWx0ZXJuYXRpdmVzLm1t
CmluZGV4IDdiMDBlYWZiMjE1ODFiMTFkZTJjODU2NDFhNDI5ZmI0OGNmNzZlOWYuLjA4ZmMxNTI5
Mjk3ZmRlMWNhMTc2NzIzNjZjZDYzNGJhNjNiN2Y4YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5zZXJ0VGV4dEFsdGVybmF0aXZlcy5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0luc2VydFRleHRBbHRlcm5h
dGl2ZXMubW0KQEAgLTYyLDcgKzYyLDcgQEAgVEVTVChJbnNlcnRUZXh0QWx0ZXJuYXRpdmVzLCBT
aW1wbGUpCiAKICAgICBFWFBFQ1RfV0tfU1RSRVEoImhlbGxvIiwgW1t3ZWJWaWV3IHRleHRJbnB1
dENvbnRlbnRWaWV3XSBzZWxlY3RlZFRleHRdKTsKIAotICAgIGF1dG8gKmFsdGVybmF0aXZlcyA9
IFsoaWQ8VUlXS0ludGVyYWN0aW9uVmlld1Byb3RvY29sX1N0YWdpbmc2NjY0NjA0Mj4pW3dlYlZp
ZXcgdGV4dElucHV0Q29udGVudFZpZXddIGFsdGVybmF0aXZlc0ZvclNlbGVjdGVkVGV4dF07Cisg
ICAgYXV0byAqYWx0ZXJuYXRpdmVzID0gW3dlYlZpZXcgdGV4dElucHV0Q29udGVudFZpZXddLmFs
dGVybmF0aXZlc0ZvclNlbGVjdGVkVGV4dDsKICAgICBFWFBFQ1RfRVEoMXVsLCBhbHRlcm5hdGl2
ZXMuY291bnQpOwogICAgIEVYUEVDVF9XS19TVFJFUSgiaGVsbG8iLCBhbHRlcm5hdGl2ZXNbMF0u
cHJpbWFyeVN0cmluZyk7CiAgICAgRVhQRUNUX0VRKDF1bCwgYWx0ZXJuYXRpdmVzWzBdLmFsdGVy
bmF0aXZlU3RyaW5ncy5jb3VudCk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL3NpbXBsZS1lZGl0b3IuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2Evc2ltcGxlLWVkaXRvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmNTY3MWFi
MzAzYTU4ODdkYmE0YzIzYTlmZDJmNzUzNzg2MzU3YzEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3NpbXBsZS1lZGl0b3IuaHRtbApAQCAt
MCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50
TG9hZGVkIiwgKCkgPT4geworICAgICAgICAgICAgbGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgICAgICAgICAgIGdldFNlbGVjdGlvbigpLnNldFBvc2l0
aW9uKHRhcmdldCwgMSk7CisgICAgICAgIH0pOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgY29udGVudGVkaXRhYmxlPgorSGVsbG8gd29ybGQuCis8YnIgaWQ9ImJyMSI+Cis8ZGl2IHN0
eWxlPSJiYWNrZ3JvdW5kOiB0b21hdG87IiBpZD0ndGFyZ2V0Jz5GPC9kaXY+Cis8YnIgaWQ9ImJy
MiI+CitUaGlzIGlzIGEgdGVzdC4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9V
SUtpdFNQSS5oCmluZGV4IDM2YWEwZTQ3YWMzYTIxNzJkN2I4NjU3ZWYxM2QxMjliNzgwYjk4MGIu
LjRkZjJiM2U0ZTYwNjlhZGQ2NDA5OTBkOGVkZDBkYWVkNzcwZjMxNWQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9pb3MvVUlLaXRTUEkuaApAQCAtMTY3LDYgKzE2Nyw4IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhO
U0ludGVnZXIsIFVJV0tEb2N1bWVudFJlcXVlc3RGbGFncykgewogICAgIFVJV0tEb2N1bWVudFJl
cXVlc3RSZWN0cyA9IDEgPDwgMiwKICAgICBVSVdLRG9jdW1lbnRSZXF1ZXN0U3BhdGlhbCA9IDEg
PDwgMywKICAgICBVSVdLRG9jdW1lbnRSZXF1ZXN0QW5ub3RhdGlvbiA9IDEgPDwgNCwKKyAgICBV
SVdLRG9jdW1lbnRSZXF1ZXN0TWFya2VkVGV4dFJlY3RzID0gMSA8PCA1LAorICAgIFVJV0tEb2N1
bWVudFJlcXVlc3RTcGF0aWFsQW5kQ3VycmVudFNlbGVjdGlvbiA9IDEgPDwgNiwKIH07CiAKIEBp
bnRlcmZhY2UgVUlXS0RvY3VtZW50UmVxdWVzdCA6IE5TT2JqZWN0CkBAIC0yMDcsNiArMjA5LDcg
QEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgVUlXS0dlc3R1cmVUeXBlKSB7CiAtICh2b2lk
KXVwZGF0ZVNlbGVjdGlvbldpdGhFeHRlbnRQb2ludDooQ0dQb2ludClwb2ludCB3aXRoQm91bmRh
cnk6KFVJVGV4dEdyYW51bGFyaXR5KWdyYW51bGFyaXR5IGNvbXBsZXRpb25IYW5kbGVyOih2b2lk
ICheKShCT09MIHNlbGVjdGlvbkVuZElzTW92aW5nKSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZv
aWQpc2VsZWN0V29yZEZvclJlcGxhY2VtZW50OwogLSAoQk9PTCl0ZXh0SW50ZXJhY3Rpb25HZXN0
dXJlOihVSVdLR2VzdHVyZVR5cGUpZ2VzdHVyZSBzaG91bGRCZWdpbkF0UG9pbnQ6KENHUG9pbnQp
cG9pbnQ7CistIChOU0FycmF5PE5TVGV4dEFsdGVybmF0aXZlcyAqPiAqKWFsdGVybmF0aXZlc0Zv
clNlbGVjdGVkVGV4dDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcg
KnNlbGVjdGVkVGV4dDsKIAogQG9wdGlvbmFsCkBAIC0yNjcsMTQgKzI3MCw2IEBAIElHTk9SRV9X
QVJOSU5HU19FTkQKIAogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKLSNkZWZp
bmUgVUlXS0RvY3VtZW50UmVxdWVzdE1hcmtlZFRleHRSZWN0cyAoMSA8PCA1KQotI2RlZmluZSBV
SVdLRG9jdW1lbnRSZXF1ZXN0U3BhdGlhbEFuZEN1cnJlbnRTZWxlY3Rpb24gKDEgPDwgNikKLQot
QHByb3RvY29sIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbF9TdGFnaW5nNjY2NDYwNDIgPFVJ
V0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbD4KLUBvcHRpb25hbAotLSAoTlNBcnJheTxOU1RleHRB
bHRlcm5hdGl2ZXMgKj4gKilhbHRlcm5hdGl2ZXNGb3JTZWxlY3RlZFRleHQ7Ci1AZW5kCi0KIEBp
bnRlcmZhY2UgVUlUZXh0QXV0b2ZpbGxTdWdnZXN0aW9uICgpCiArIChpbnN0YW5jZXR5cGUpYXV0
b2ZpbGxTdWdnZXN0aW9uV2l0aFVzZXJuYW1lOihOU1N0cmluZyAqKXVzZXJuYW1lIHBhc3N3b3Jk
OihOU1N0cmluZyAqKXBhc3N3b3JkOwogQGVuZAo=
</data>
<flag name="review"
          id="468170"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443455</attachid>
            <date>2021-11-05 16:02:26 -0700</date>
            <delta_ts>2021-11-05 17:51:24 -0700</delta_ts>
            <desc>For landing</desc>
            <filename>bug-232764-20211105160226.patch</filename>
            <type>text/plain</type>
            <size>15003</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk5OWI2ZTJhNDNmZTY2
OTcyYTU5ZTA2YTg0ZjEzMGEwMjYzYTg2Yy4uMzlkZTgyMDY2YTI0ZmRmOTA5NmM5YTdjZWJlOThh
YzRlZWI4M2ZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTExLTA1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1haWwg
Y29tcG9zZSBiZWNvbWVzIHVucmVzcG9uc2l2ZSBhZnRlciBwYXN0aW5nIGluIHRleHQgYW5kIGF0
dGVtcHRpbmcgdG8gdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNzY0CisgICAgICAgIHJkYXI6Ly84NDY2OTY2MQorCisgICAgICAgIFJldmll
d2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIEFmdGVyIHNvbWUgcmVjZW50IGNoYW5nZXMg
aW4gVUlLaXQsIGtleWJvYXJkIGNvZGUgbm93IGNhbGxzIGludG8gYC1yZXF1ZXN0RG9jdW1lbnRD
b250ZXh0OmNvbXBsZXRpb25IYW5kbGVyOmAKKyAgICAgICAgYWZ0ZXIgaW5zZXJ0aW5nIHRleHQg
d2l0aCB0aGUgc29mdHdhcmUga2V5Ym9hcmQsIGFuZCBzcGVjaWZpY2FsbHkgcmVxdWVzdHMgc2Vu
dGVuY2UtZ3JhbnVsYXJpdHkgdGV4dCBjb250ZXh0CisgICAgICAgIG5lYXIgdGhlIHNlbGVjdGlv
bi4gVGhpcyB0cmlnZ2VyZWQgYW4gZXhpc3RpbmcgYnVnIGluIFdlYktpdCwgd2hlcmUgd2UgaGFu
ZyB1bmRlcm5lYXRoCisgICAgICAgIGBXZWJQYWdlOjpyZXF1ZXN0RG9jdW1lbnRFZGl0aW5nQ29u
dGV4dGAgd2hlbiB0cnlpbmcgdG8gbW92ZSBiYWNrd2FyZHMgYnkgc2VudGVuY2UgZ3JhbnVsYXJp
dHksIHdoZW4gY29tcHV0aW5nCisgICAgICAgIGBjb250ZXh0QmVmb3JlU3RhcnRgOyB0aGlzIGhh
bmcgb2NjdXJzIGJlY2F1c2UgaXQncyBwb3NzaWJsZSBmb3IgdGhlIGxvZ2ljIGluIGBuZXh0U2Vu
dGVuY2VCb3VuZGFyeUluRGlyZWN0aW9uYAorICAgICAgICAoaW5zaWRlIFdlYkNvcmUpIHRvIHJl
dHVybiBhIHZpc2libGUgcG9zaXRpb24gdGhhdCBpcyBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9u
LCByZWxhdGl2ZSB0byB0aGUgZ2l2ZW4gc3RhcnRpbmcKKyAgICAgICAgcG9zaXRpb24gYW5kIGRp
cmVjdGlvbi4gSW4gdHVybiwgdGhpcyBtZWFucyB3ZSBlbmQgdXAgcmV2aXNpdGluZyB2aXNpYmxl
IHBvc2l0aW9ucyB3aGlsZSBtb3ZpbmcgdG8gdGhlIG5leHQKKyAgICAgICAgc2VudGVuY2UgYm91
bmRhcnkuCisKKyAgICAgICAgVG8gcHJldmVudCB0aGlzLCB3ZSBtYWtlIHR3byBtaW5vciBhZGp1
c3RtZW50cyBpbiBlZGl0aW5nIGNvZGUuIEZpcnN0LCBpbiBgbmV4dFNlbnRlbmNlQm91bmRhcnlJ
bkRpcmVjdGlvbigpYCwKKyAgICAgICAgd2UgdXNlIGByZXN1bHRgIGluc3RlYWQgb2YgdGhlIGdp
dmVuIGB2cGAgd2hlbiB0cnlpbmcgdG8gZmluZCB0aGUgbmV4dCBzZW50ZW5jZSBib3VuZGFyeSwg
aW4gdGhlIGNhc2Ugd2hlcmUgdGhlCisgICAgICAgIGdpdmVuIHZpc2libGUgcG9zaXRpb24gaXMg
bm90IGFscmVhZHkgd2l0aGluIGEgc2VudGVuY2UuIFRoaXMgd2FzIHByZXN1bWFibHkgdGhlIG9y
aWdpbmFsIGludGVudCBvZiB0aGlzIGNvZGUsCisgICAgICAgIHdoaWNoIGlzIHRvICJpdGVyYXRl
IHRvIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBzZW50ZW5jZSAod2hlbiBtb3ZpbmcgZG93bnN0cmVh
bSkgb3IgdGhlIGVuZCBvZiB0aGUgcHJldmlvdXMKKyAgICAgICAgc2VudGVuY2UgKHdoZW4gbW92
aW5nIHVwc3RyZWFtKSIuIEhvd2V2ZXIsIHNpbmNlIGB2cGAgaXMgY3VycmVudGx5IHVzZWQgaGVy
ZSBpbnN0ZWFkLCB3ZSBlbmQgdXAgbW92aW5nIGluIHRoZQorICAgICAgICB3cm9uZyBkaXJlY3Rp
b24gYW5kIHJldHVybiB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgc2VudGVuY2Ugd2hlbiBtb3Zp
bmcgZG93bnN0cmVhbSwgb3IgdGhlIGVuZCBvZiB0aGUgY3VycmVudAorICAgICAgICBzZW50ZW5j
ZSB3aGVuIG1vdmluZyB1cHN0cmVhbS4KKworICAgICAgICBGaXhpbmcgdGhpcyBpc3N1ZSBpcyBh
Y3R1YWxseSBhbHJlYWR5IHN1ZmZpY2llbnQgaW4gb3JkZXIgdG8gYWRkcmVzcyB0aGUgaGFuZ3Mg
ZW5jb3VudGVyZWQgaW4gdGhlIHJhZGFyOworICAgICAgICBob3dldmVyLCB0aGUgdGVzdCBjYXNl
IHN0aWxsIGhpdHMgc3Vic2VxdWVudCBkZWJ1ZyBhc3NlcnRpb25zIGluIGBtb3ZlQnlHcmFudWxh
cml0eVJlc3BlY3RpbmdXb3JkQm91bmRhcnlgLCBkdWUKKyAgICAgICAgdG8gYGF0Qm91bmRhcnlP
ZkdyYW51bGFyaXR5YCBuZXZlciByZXR1cm5pbmcgYHRydWVgLCBldmVuIGZvciB2aXNpYmxlIHBv
c2l0aW9ucyB0aGF0IGFyZSBhdCB0aGUgc3RhcnQgb3IgZW5kIG9mCisgICAgICAgIHNlbnRlbmNl
cy4gSW4gbGlldSBvZiBkZWJ1ZyBhc3NlcnRpb25zLCB0aGlzIGNhdXNlcyBgLXJlcXVlc3REb2N1
bWVudENvbnRleHRgIHRvIGVmZmVjdGl2ZWx5IGlnbm9yZSB0aGUgZ2l2ZW4KKyAgICAgICAgZ3Jh
bnVsYXJpdHkgYW5kIHRyYXZlcnNlIHRvbyBmYXIgaW4gZWl0aGVyIGRpcmVjdGlvbiwgZHVlIHRv
IGBhdEJvdW5kYXJ5T2ZHcmFudWxhcml0eWAgYWx3YXlzIGJlaW5nIGBmYWxzZWAgKHdlCisgICAg
ICAgIGF2b2lkIGluZmluaXRlbHkgbG9vcGluZyBhbmQgYmFpbCBiZWNhdXNlIGFmdGVyIGZpeGlu
ZyB0aGUgZmlyc3QgYnVnIGFib3ZlLCBgbmV4dFBvc2l0aW9uYCBldmVudHVhbGx5IGJlY29tZXMK
KyAgICAgICAgbnVsbCkuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGlzIGFzc2VydGlvbiwgd2Ug
bWFrZSBhIHNlY29uZCB0d2VhayB0byBgYXRCb3VuZGFyeU9mR3JhbnVsYXJpdHlgIHRoYXQgYWxs
b3dzIHVzIHRvIHJldHVybiBgdHJ1ZWAKKyAgICAgICAgaWYgdGhlIGdpdmVuIHBvc2l0aW9uIGlz
IGFscmVhZHkgYXQgYSBzZW50ZW5jZSBib3VuZGFyeSAoaW5zdGVhZCBvZiBtYXJjaGluZyB0byB0
aGUgcHJldmlvdXMgb3IgbmV4dCBzZW50ZW5jZQorICAgICAgICBhbmQgdGhlbiBtb3ZpbmcgaW4g
dGhlIG9wcG9zaXRlIGRpcmVjdGlvbikuIFRoZSBsYXR0ZXIgd2FzIGFkZGVkIGluIHIyNTM1NjEg
dG8gZml4IHNvbWUgY29ybmVyIGNhc2VzIHdoZXJlCisgICAgICAgIGBzdGFydE9mU2VudGVuY2Uo
KWAgb3IgYGVuZE9mU2VudGVuY2UoKWAgd291bGQgZW5kIHVwIG1vdmluZyB1cyBwYXN0IHRoZSBu
ZXh0IChvciBwcmV2aW91cykgc2VudGVuY2UsIGJ1dCB0aGlzCisgICAgICAgIHNlZW1zIHRvIGJy
ZWFrIHNvbWUgZXhpc3Rpbmcgc2NlbmFyaW9zIHdoZXJlIHRoZSBnaXZlbiBwb3NpdGlvbiBpcyBh
bHJlYWR5IGF0IHRoZSBzdGFydCBvciBlbmQgb2YgdGhlIHNlbnRlbmNlLgorCisgICAgICAgIFRl
c3Q6IERvY3VtZW50RWRpdGluZ0NvbnRleHQuUmVxdWVzdFNlbnRlbmNlc0FmdGVyVGV4dEluc2Vy
dGlvbgorCisgICAgICAgICogZWRpdGluZy9WaXNpYmxlVW5pdHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6YXRCb3VuZGFyeU9mR3JhbnVsYXJpdHkpOgorICAgICAgICAoV2ViQ29yZTo6bmV4dFNl
bnRlbmNlQm91bmRhcnlJbkRpcmVjdGlvbik6CisKKyAgICAgICAgU2VlIGFib3ZlIGZvciBtb3Jl
IGRldGFpbHMuCisKIDIwMjEtMTEtMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXN0cnVjdHVyZSBXS0NvbnRlbnRSdWxlTGlzdCBBY3Rp
b24gc3RvcmFnZSBkdXJpbmcgY29tcGlsYXRpb24gYW5kIGludGVycHJldGF0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAKaW5kZXggNmMwMjRiZTM1NDg1OWYwY2M3NzBm
MTE5ZWY5ZTcxYmJhNWQ0YWQ3Ni4uODJhOGQ5NjlmYTIwYjRjMzA5MWE5M2RkOTJiZTM1NDM2ZmQ3
ZGUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5pdHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNwcApAQCAtMTUwNCw5
ICsxNTA0LDE3IEBAIGJvb2wgYXRCb3VuZGFyeU9mR3JhbnVsYXJpdHkoY29uc3QgVmlzaWJsZVBv
c2l0aW9uJiB2cCwgVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyCiAgICAgICAgIGJvdW5kYXJ5ID0g
dXNlRG93bnN0cmVhbSA/IGVuZE9mV29yZCh2cCwgTGVmdFdvcmRJZk9uQm91bmRhcnkpIDogc3Rh
cnRPZldvcmQodnAsIFJpZ2h0V29yZElmT25Cb3VuZGFyeSk7CiAgICAgICAgIGJyZWFrOwogCi0g
ICAgY2FzZSBUZXh0R3JhbnVsYXJpdHk6OlNlbnRlbmNlR3JhbnVsYXJpdHk6Ci0gICAgICAgIGJv
dW5kYXJ5ID0gdXNlRG93bnN0cmVhbSA/IGVuZE9mU2VudGVuY2UocHJldmlvdXNTZW50ZW5jZVBv
c2l0aW9uKHZwKSkgOiBzdGFydE9mU2VudGVuY2UobmV4dFNlbnRlbmNlUG9zaXRpb24odnApKTsK
KyAgICBjYXNlIFRleHRHcmFudWxhcml0eTo6U2VudGVuY2VHcmFudWxhcml0eTogeworICAgICAg
ICBhdXRvIGJvdW5kYXJ5SW5EaXJlY3Rpb24gPSB1c2VEb3duc3RyZWFtID8gZW5kT2ZTZW50ZW5j
ZSA6IHN0YXJ0T2ZTZW50ZW5jZTsKKyAgICAgICAgaWYgKHZwID09IGJvdW5kYXJ5SW5EaXJlY3Rp
b24odnApKSB7CisgICAgICAgICAgICBib3VuZGFyeSA9IHZwOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKworICAgICAgICBhdXRvIHBvc2l0aW9uID0gdXNlRG93bnN0cmVhbSA/IHBy
ZXZpb3VzU2VudGVuY2VQb3NpdGlvbih2cCkgOiBuZXh0U2VudGVuY2VQb3NpdGlvbih2cCk7Cisg
ICAgICAgIGJvdW5kYXJ5ID0gYm91bmRhcnlJbkRpcmVjdGlvbihwb3NpdGlvbik7CiAgICAgICAg
IGJyZWFrOworICAgIH0KIAogICAgIGNhc2UgVGV4dEdyYW51bGFyaXR5OjpMaW5lR3JhbnVsYXJp
dHk6CiAgICAgICAgIGJvdW5kYXJ5ID0gdnA7CkBAIC0xNjgzLDcgKzE2OTEsNyBAQCBzdGF0aWMg
VmlzaWJsZVBvc2l0aW9uIG5leHRTZW50ZW5jZUJvdW5kYXJ5SW5EaXJlY3Rpb24oY29uc3QgVmlz
aWJsZVBvc2l0aW9uJiB2cAogICAgICAgICBpZiAocmVzdWx0LmlzTnVsbCgpIHx8IHJlc3VsdCA9
PSB2cCkKICAgICAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKIAotICAgICAgICBy
ZXN1bHQgPSB1c2VEb3duc3RyZWFtID8gc3RhcnRPZlNlbnRlbmNlKHZwKSA6IGVuZE9mU2VudGVu
Y2UodnApOworICAgICAgICByZXN1bHQgPSB1c2VEb3duc3RyZWFtID8gc3RhcnRPZlNlbnRlbmNl
KHJlc3VsdCkgOiBlbmRPZlNlbnRlbmNlKHJlc3VsdCk7CiAgICAgfQogCiAgICAgaWYgKHJlc3Vs
dCA9PSB2cCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA4NmM1OWFiN2VhMDk5OWYzMWEyN2QwZmRlZTkxNmZhZjRjYjcxNmI4Li4zNzZlNTMxZjA4
YjFkYWJjNTYyZGI3NzViY2ZjZmQxMDg2OTc0ZjQ0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMTEtMDUgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWFp
bCBjb21wb3NlIGJlY29tZXMgdW5yZXNwb25zaXZlIGFmdGVyIHBhc3RpbmcgaW4gdGV4dCBhbmQg
YXR0ZW1wdGluZyB0byB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI3NjQKKyAgICAgICAgcmRhcjovLzg0NjY5NjYxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgR2VvZmYgR2FyZW4uCisKKyAgICAgICAgQWRkIGFuIEFQSSB0ZXN0IHRoYXQgZXhl
cmNpc2VzIHRoZSBoYW5nIChhbmQgYWxzbyB2ZXJpZmllcyB0aGF0IHdlIGRvbid0IGhpdCBhbnkg
ZGVidWcgYXNzZXJ0aW9ucyBpbiB0aGUKKyAgICAgICAgcHJvY2VzcykuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RvY3VtZW50RWRpdGluZ0Nv
bnRleHQubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0luc2VydFRleHRBbHRlcm5hdGl2ZXMubW06CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L3NpbXBsZS1lZGl0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9pb3Mv
VUlLaXRTUEkuaDoKKworICAgICAgICBEcml2ZS1ieSBmaXhlczogcmVtb3ZlIHNvbWUgb2xkIHN0
YWdpbmcgZGVjbGFyYXRpb25zIGZvciBVSUtpdCBTUEkgdGhhdCBoYXMgbG9uZyBiZWVuIGluIHRo
ZSBpbnRlcm5hbCBpT1MgMTUKKyAgICAgICAgU0RLLiBSZW1vdmUgdGhlIHN0YWdpbmcgY2F0ZWdv
cmllcyBhbmQgZGVmaW5pdGlvbnMsIGFuZCBtb3ZlIHRoZW0gdG8gdGhlIG5vbi1pbnRlcm5hbCBT
REsgc2VjdGlvbiBpbnN0ZWFkLgorCiAyMDIxLTExLTA1ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRk
YWRAYXBwbGUuY29tPgogCiAgICAgICAgIEJyaW5nIHVwIHF1ZXVlcyBmb3IgTW9udGVyZXkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjZjNzkxZmYyYjQ5MWMxNjg0NDlkYzkyMTRkYzQ5MTIz
NDI3OGQwMC4uNTUwMGUyY2FiMjAwZmUzMTQ1NmJjYTY1ZmQ5NWY4NjlmYTIxOTU4YiAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEyODMsNiArMTI4Myw3IEBACiAJCUY0Q0Q3NEM5MjBGREI0
OTYwMERFMzc5NCAvKiBUZXN0VVJMU2NoZW1lSGFuZGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0Q0Q3NEM4MjBGREI0OTYwMERFMzc5NCAvKiBU
ZXN0VVJMU2NoZW1lSGFuZGxlci5tbSAqLzsgfTsKIAkJRjRDRjMyODAyMzY2NTUyMjAwRDNBRDA3
IC8qIEVudGVyS2V5SGludFRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjRDRjMyN0YyMzY2NTUyMjAwRDNBRDA3IC8qIEVudGVyS2V5SGludFRl
c3RzLm1tICovOyB9OwogCQlGNENGQ0REQTI0OUZDOUU0MDA1Mjc0ODIgLyogU3BhY2VPbmx5Lm90
ZiBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NENGQ0REODI0OUZDOUQ5MDA1Mjc0ODIgLyogU3BhY2VPbmx5Lm90ZiAqLzsgfTsKKwkJRjREMDYw
MDgyNzM0QTFBQjAwOEZBNjdBIC8qIHNpbXBsZS1lZGl0b3IuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEQwNjAwNzI3MzRBMDhDMDA4
RkE2N0EgLyogc2ltcGxlLWVkaXRvci5odG1sICovOyB9OwogCQlGNEQyOTg2RTIwRkVFNzM3MDA5
MkQ2MzYgLyogUnVuU2NyaXB0QWZ0ZXJEb2N1bWVudExvYWQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEQyOTg2RDIwRkVFNzM3MDA5MkQ2MzYgLyog
UnVuU2NyaXB0QWZ0ZXJEb2N1bWVudExvYWQubW0gKi87IH07CiAJCUY0RDRGM0I2MUU0RTJCQ0Iw
MEJCMjc2NyAvKiBEcmFnQW5kRHJvcFNpbXVsYXRvcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RDRGM0I0MUU0RTJCQ0IwMEJCMjc2NyAvKiBE
cmFnQW5kRHJvcFNpbXVsYXRvcklPUy5tbSAqLzsgfTsKIAkJRjRENEYzQjkxRTRFMzZFNDAwQkIy
NzY3IC8qIERyYWdBbmREcm9wVGVzdHNJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNEQ0RjNCNzFFNEUzNkU0MDBCQjI3NjcgLyogRHJhZ0FuZERy
b3BUZXN0c0lPUy5tbSAqLzsgfTsKQEAgLTE3MjIsNiArMTcyMyw3IEBACiAJCQkJRjRGQzA3Nzcy
MEYwMTNCNjAwQ0EwNDNDIC8qIHNpZ25pZmljYW50LXRleHQtbWlsZXN0b25lLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJQzlCNEFEMkExRUNBNkVCRTAwRjVGRUEwIC8qIHNpbGVuY2Ut
bG9uZy5tNGEgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMUFEQkVGRTMxMzBDNkFBMTAwRDYx
RDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAorCQkJCUY0RDA2MDA4MjczNEExQUIwMDhGQTY3QSAvKiBzaW1wbGUtZWRpdG9yLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQzBBREJFOTYxMkZDQTc5QjAwRDJDMTI5IC8q
IHNpbXBsZS1mb3JtLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzNEQzg5MTIxNDE5
NTVGRTAwNzQ3RUY3IC8qIHNpbXBsZS1pZnJhbWUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQlGNEVDODA5NDI2MEQzMDU0MDAxMDMxMUQgLyogc2ltcGxlLWltYWdlLW92ZXJsYXkuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTMxODAsNiArMzE4Miw3IEBACiAJCUY0Q0YzMjdG
MjM2NjU1MjIwMEQzQUQwNyAvKiBFbnRlcktleUhpbnRUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEVudGVyS2V5SGludFRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNENGQ0REODI0OUZDOUQ5MDA1Mjc0ODIgLyogU3BhY2VPbmx5Lm90ZiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBTcGFjZU9u
bHkub3RmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNENGQ0REOTI0OUZDOUQ5MDA1
Mjc0ODIgLyogQWhlbS50dGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gQWhlbS50dGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY0RDA2MDA3MjczNEEwOEMwMDhGQTY3QSAvKiBzaW1wbGUtZWRpdG9yLmh0bWwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7
IHBhdGggPSAic2ltcGxlLWVkaXRvci5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRjREMjk4NkQyMEZFRTczNzAwOTJENjM2IC8qIFJ1blNjcmlwdEFmdGVyRG9jdW1lbnRMb2Fk
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUnVuU2NyaXB0QWZ0ZXJEb2N1bWVudExvYWQubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RDRGM0I0MUU0RTJCQ0IwMEJCMjc2NyAv
KiBEcmFnQW5kRHJvcFNpbXVsYXRvcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERyYWdBbmREcm9wU2ltdWxhdG9ySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNEQ0RjNCNzFFNEUzNkU0MDBCQjI3NjcgLyogRHJhZ0FuZERyb3BUZXN0
c0lPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERyYWdBbmRE
cm9wVGVzdHNJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MjM1LDYgKzQy
MzgsNyBAQAogCQkJCUY0RTNEODA3MjBGNzA4RTQwMDdCNThDNSAvKiBzaWduaWZpY2FudC10ZXh0
LW1pbGVzdG9uZS1hcnRpY2xlLmh0bWwgKi8sCiAJCQkJRjRGQzA3NzYyMEYwMTA4MTAwQ0EwNDND
IC8qIHNpZ25pZmljYW50LXRleHQtbWlsZXN0b25lLmh0bWwgKi8sCiAJCQkJQzlCNEFEMjkxRUNB
NkVBNTAwRjVGRUEwIC8qIHNpbGVuY2UtbG9uZy5tNGEgKi8sCisJCQkJRjREMDYwMDcyNzM0QTA4
QzAwOEZBNjdBIC8qIHNpbXBsZS1lZGl0b3IuaHRtbCAqLywKIAkJCQlGNEY0MDVCQjFENEMwQ0Y4
MDA3QTk3MDcgLyogc2tpbm55LWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLywK
IAkJCQlGNENGQ0REODI0OUZDOUQ5MDA1Mjc0ODIgLyogU3BhY2VPbmx5Lm90ZiAqLywKIAkJCQk5
MzYwMjcwNTI1QTNCMjhFMDAzNjc2NzAgLyogc3BlZWNocmVjb2duaXRpb24tYmFzaWMuaHRtbCAq
LywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG9j
dW1lbnRFZGl0aW5nQ29udGV4dC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbQppbmRleCBkMzA5YTFjMmYzNzI5NWYyY2Q0
YzIxNTgzMjQ3OGZhNzYxOTU2ODhhLi5hZDRlNzEwZmViNDE0ZGQ4NTNhZjhkYmViNGU5ZjdiODg4
N2E2MTUyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L0RvY3VtZW50RWRpdGluZ0NvbnRleHQubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Eb2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tCkBAIC0xMzI2LDQgKzEzMjYs
MTUgQEAgVEVTVChEb2N1bWVudEVkaXRpbmdDb250ZXh0LCBSZXF1ZXN0TGFzdFR3b0xpbmVzKQog
ICAgIEVYUEVDVF9OVUxMKGNvbnRleHQuY29udGV4dEFmdGVyKTsKIH0KIAorVEVTVChEb2N1bWVu
dEVkaXRpbmdDb250ZXh0LCBSZXF1ZXN0U2VudGVuY2VzQWZ0ZXJUZXh0SW5zZXJ0aW9uKQorewor
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisgICAgW3dlYlZpZXcgc3luY2hy
b25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlLWVkaXRvciJdOworCisgICAgYXV0byAq
Y29udGV4dCA9IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlSZXF1ZXN0RG9jdW1lbnRDb250ZXh0Om1h
a2VSZXF1ZXN0KFVJV0tEb2N1bWVudFJlcXVlc3RUZXh0LCBVSVRleHRHcmFudWxhcml0eVNlbnRl
bmNlLCAxKV07CisgICAgRVhQRUNUX05TU1RSSU5HX0VRKCJGIiwgY29udGV4dC5jb250ZXh0QmVm
b3JlKTsKKyAgICBFWFBFQ1RfTlVMTChjb250ZXh0LnNlbGVjdGVkVGV4dCk7CisgICAgRVhQRUNU
X05TU1RSSU5HX0VRKCJcblRoaXMgaXMgYSB0ZXN0LiIsIGNvbnRleHQuY29udGV4dEFmdGVyKTsK
K30KKwogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEhBVkUoVUlfV0tfRE9DVU1F
TlRfQ09OVEVYVCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvSW5zZXJ0VGV4dEFsdGVybmF0aXZlcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvSW5zZXJ0VGV4dEFsdGVybmF0aXZlcy5tbQppbmRleCA3YjAwZWFmYjIx
NTgxYjExZGUyYzg1NjQxYTQyOWZiNDhjZjc2ZTlmLi4wOGZjMTUyOTI5N2ZkZTFjYTE3NjcyMzY2
Y2Q2MzRiYTYzYjdmOGJmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0luc2VydFRleHRBbHRlcm5hdGl2ZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbnNlcnRUZXh0QWx0ZXJuYXRpdmVzLm1tCkBAIC02Miw3
ICs2Miw3IEBAIFRFU1QoSW5zZXJ0VGV4dEFsdGVybmF0aXZlcywgU2ltcGxlKQogCiAgICAgRVhQ
RUNUX1dLX1NUUkVRKCJoZWxsbyIsIFtbd2ViVmlldyB0ZXh0SW5wdXRDb250ZW50Vmlld10gc2Vs
ZWN0ZWRUZXh0XSk7CiAKLSAgICBhdXRvICphbHRlcm5hdGl2ZXMgPSBbKGlkPFVJV0tJbnRlcmFj
dGlvblZpZXdQcm90b2NvbF9TdGFnaW5nNjY2NDYwNDI+KVt3ZWJWaWV3IHRleHRJbnB1dENvbnRl
bnRWaWV3XSBhbHRlcm5hdGl2ZXNGb3JTZWxlY3RlZFRleHRdOworICAgIGF1dG8gKmFsdGVybmF0
aXZlcyA9IFt3ZWJWaWV3IHRleHRJbnB1dENvbnRlbnRWaWV3XS5hbHRlcm5hdGl2ZXNGb3JTZWxl
Y3RlZFRleHQ7CiAgICAgRVhQRUNUX0VRKDF1bCwgYWx0ZXJuYXRpdmVzLmNvdW50KTsKICAgICBF
WFBFQ1RfV0tfU1RSRVEoImhlbGxvIiwgYWx0ZXJuYXRpdmVzWzBdLnByaW1hcnlTdHJpbmcpOwog
ICAgIEVYUEVDVF9FUSgxdWwsIGFsdGVybmF0aXZlc1swXS5hbHRlcm5hdGl2ZVN0cmluZ3MuY291
bnQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9z
aW1wbGUtZWRpdG9yLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L3NpbXBsZS1lZGl0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjU2NzFhYjMwM2E1ODg3ZGJhNGMyM2E5
ZmQyZjc1Mzc4NjM1N2MxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9zaW1wbGUtZWRpdG9yLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsICgpID0+IHsK
KyAgICAgICAgICAgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
Iik7CisgICAgICAgICAgICBnZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbih0YXJnZXQsIDEpOwor
ICAgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGNvbnRlbnRlZGl0YWJs
ZT4KK0hlbGxvIHdvcmxkLgorPGJyIGlkPSJicjEiPgorPGRpdiBzdHlsZT0iYmFja2dyb3VuZDog
dG9tYXRvOyIgaWQ9J3RhcmdldCc+RjwvZGl2PgorPGJyIGlkPSJicjIiPgorVGhpcyBpcyBhIHRl
c3QuCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lv
cy9VSUtpdFNQSS5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAppbmRleCAz
NmFhMGU0N2FjM2EyMTcyZDdiODY1N2VmMTNkMTI5Yjc4MGI5ODBiLi40ZGYyYjNlNGU2MDY5YWRk
NjQwOTkwZDhlZGQwZGFlZDc3MGYzMTVkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L2lvcy9VSUtpdFNQSS5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgK
QEAgLTE2Nyw2ICsxNjcsOCBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNJbnRlZ2VyLCBVSVdLRG9j
dW1lbnRSZXF1ZXN0RmxhZ3MpIHsKICAgICBVSVdLRG9jdW1lbnRSZXF1ZXN0UmVjdHMgPSAxIDw8
IDIsCiAgICAgVUlXS0RvY3VtZW50UmVxdWVzdFNwYXRpYWwgPSAxIDw8IDMsCiAgICAgVUlXS0Rv
Y3VtZW50UmVxdWVzdEFubm90YXRpb24gPSAxIDw8IDQsCisgICAgVUlXS0RvY3VtZW50UmVxdWVz
dE1hcmtlZFRleHRSZWN0cyA9IDEgPDwgNSwKKyAgICBVSVdLRG9jdW1lbnRSZXF1ZXN0U3BhdGlh
bEFuZEN1cnJlbnRTZWxlY3Rpb24gPSAxIDw8IDYsCiB9OwogCiBAaW50ZXJmYWNlIFVJV0tEb2N1
bWVudFJlcXVlc3QgOiBOU09iamVjdApAQCAtMjA3LDYgKzIwOSw3IEBAIHR5cGVkZWYgTlNfRU5V
TShOU0ludGVnZXIsIFVJV0tHZXN0dXJlVHlwZSkgewogLSAodm9pZCl1cGRhdGVTZWxlY3Rpb25X
aXRoRXh0ZW50UG9pbnQ6KENHUG9pbnQpcG9pbnQgd2l0aEJvdW5kYXJ5OihVSVRleHRHcmFudWxh
cml0eSlncmFudWxhcml0eSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzZWxlY3Rp
b25FbmRJc01vdmluZykpY29tcGxldGlvbkhhbmRsZXI7CiAtICh2b2lkKXNlbGVjdFdvcmRGb3JS
ZXBsYWNlbWVudDsKIC0gKEJPT0wpdGV4dEludGVyYWN0aW9uR2VzdHVyZTooVUlXS0dlc3R1cmVU
eXBlKWdlc3R1cmUgc2hvdWxkQmVnaW5BdFBvaW50OihDR1BvaW50KXBvaW50OworLSAoTlNBcnJh
eTxOU1RleHRBbHRlcm5hdGl2ZXMgKj4gKilhbHRlcm5hdGl2ZXNGb3JTZWxlY3RlZFRleHQ7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TU3RyaW5nICpzZWxlY3RlZFRleHQ7CiAK
IEBvcHRpb25hbApAQCAtMjY3LDE0ICsyNzAsNiBAQCBJR05PUkVfV0FSTklOR1NfRU5ECiAKICNl
bmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCi0jZGVmaW5lIFVJV0tEb2N1bWVudFJl
cXVlc3RNYXJrZWRUZXh0UmVjdHMgKDEgPDwgNSkKLSNkZWZpbmUgVUlXS0RvY3VtZW50UmVxdWVz
dFNwYXRpYWxBbmRDdXJyZW50U2VsZWN0aW9uICgxIDw8IDYpCi0KLUBwcm90b2NvbCBVSVdLSW50
ZXJhY3Rpb25WaWV3UHJvdG9jb2xfU3RhZ2luZzY2NjQ2MDQyIDxVSVdLSW50ZXJhY3Rpb25WaWV3
UHJvdG9jb2w+Ci1Ab3B0aW9uYWwKLS0gKE5TQXJyYXk8TlNUZXh0QWx0ZXJuYXRpdmVzICo+ICop
YWx0ZXJuYXRpdmVzRm9yU2VsZWN0ZWRUZXh0OwotQGVuZAotCiBAaW50ZXJmYWNlIFVJVGV4dEF1
dG9maWxsU3VnZ2VzdGlvbiAoKQogKyAoaW5zdGFuY2V0eXBlKWF1dG9maWxsU3VnZ2VzdGlvbldp
dGhVc2VybmFtZTooTlNTdHJpbmcgKil1c2VybmFtZSBwYXNzd29yZDooTlNTdHJpbmcgKilwYXNz
d29yZDsKIEBlbmQK
</data>

          </attachment>
      

    </bug>

</bugzilla>