<?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>214376</bug_id>
          
          <creation_ts>2020-07-15 13:43:43 -0700</creation_ts>
          <short_desc>Resync web-platform-tests/imagebitmap-renderingcontext from upstream</short_desc>
          <delta_ts>2020-07-16 09:28:14 -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>Tools / Tests</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>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671917</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-15 13:43:43 -0700</bug_when>
    <thetext>Resync web-platform-tests/imagebitmap-renderingcontext from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671920</commentid>
    <comment_count>1</comment_count>
      <attachid>404390</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-07-15 13:55:46 -0700</bug_when>
    <thetext>Created attachment 404390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672138</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-16 09:27:02 -0700</bug_when>
    <thetext>Committed r264459: &lt;https://trac.webkit.org/changeset/264459&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404390.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672139</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-16 09:28:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/65670363&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404390</attachid>
            <date>2020-07-15 13:55:46 -0700</date>
            <delta_ts>2020-07-16 09:27:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214376-20200715135546.patch</filename>
            <type>text/plain</type>
            <size>34831</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBlN2RkM2YxMTEyZTQ3MzhkZTcxMDBhMTgyOTRkMmM0ZTQ1ZGZhNTA0Li5jYzYwMGEyN2U0
NmZkMzMzYWMzNGU0OWI5NWYzMzIxYmE3ODZkZGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAyMC0wNy0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRt
YXAtcmVuZGVyaW5nY29udGV4dCBmcm9tIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNzYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
Yml0bWFwLXJlbmRlcmluZ2NvbnRleHQgZnJvbSB1cHN0cmVhbSBiMmE2NjZkOTM1ODFhNzFlOTMz
OGIyLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmlu
Z2NvbnRleHQvTUVUQS55bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0
bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1vZmZzY3JlZW4td2l0aC1hbHBo
YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLXdpdGgt
YWxwaGEuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24t
d2l0aC1hbHBoYS5odG1sLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1h
cC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250
ZXh0L2NvbnRleHQtY3JlYXRpb24td2l0aC1hbHBoYS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1j
cmVhdGlvbi13aXRoLWFscGhhLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lt
YWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1wcmVzZXJ2ZXMtY2FudmFzLmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRl
eHQvdG9CbG9iLW9yaWdpbi1jbGVhbi1vZmZzY3JlZW4uc3ViLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRl
eHQvdG9CbG9iLW9yaWdpbi1jbGVhbi1vZmZzY3JlZW4uc3ViLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5m
ZXJGcm9tSW1hZ2VCaXRtYXAtVG9CbG9iLW9mZnNjcmVlbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0
L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtVG9CbG9iLW9mZnNjcmVlbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90
cmFuZmVyRnJvbUltYWdlQml0bWFwLVRyYW5zZmVyVG9JbWFnZUJpdG1hcC1vZmZzY3JlZW4tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRt
YXAtcmVuZGVyaW5nY29udGV4dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLVRyYW5zZmVyVG9JbWFn
ZUJpdG1hcC1vZmZzY3JlZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJhbmZlckZyb21JbWFnZUJpdG1hcC1u
dWxsLW9mZnNjcmVlbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRt
YXAtbnVsbC1vZmZzY3JlZW4uaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5m
ZXJGcm9tSW1hZ2VCaXRtYXAtbnVsbC5odG1sLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtbnVs
bC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJp
bmdjb250ZXh0L3RyYW5zZmVyRnJvbUltYWdlQml0bWFwLWRldGFjaGVkLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdzNjLWlt
cG9ydC5sb2c6CisKIDIwMjAtMDctMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL21pbWVzbmlmZiBmcm9tIHVwc3Ry
ZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRl
eHQvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDIzOWE4NWY1ZWViOGRlMDY2MGQxMzhjNWEzZDQ4YTE3
NTQ1YTllYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC9NRVRBLnltbApAQCAt
MCwwICsxLDYgQEAKK3NwZWM6IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2NhbnZhcy5odG1sI3RoZS1pbWFnZWJpdG1hcC1yZW5kZXJpbmctY29udGV4dAorc3VnZ2VzdGVk
X3Jldmlld2VyczoKKyAgLSBBbWVsaWFCUgorICAtIGFubmV2aworICAtIGtlbnJ1c3NlbGwKKyAg
LSBmc2VyYgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zm
c2NyZWVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLW9m
ZnNjcmVlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMxYjMyMGUzNTQ3OTY5Zjk0NDgyMTNi
OGFlYzg0ZDcyMzA5MmE5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC9jb250
ZXh0LWNyZWF0aW9uLW9mZnNjcmVlbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZB
SUwgVGVzdCB0aGF0IGNhbnZhcy5nZXRDb250ZXh0KCdiaXRtYXByZW5kZXJlcicpIHJldHVybnMg
YW4gaW5zdGFuY2Ugb2YgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IGFuZCBjdHguY2FudmFz
IG9uIGEgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IHJldHVybnMgdGhlIG9yaWdpbmFsIE9m
ZnNjcmVlbkNhbnZhcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBPZmZzY3JlZW5DYW52YXMKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLXdpdGgt
YWxwaGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zm
c2NyZWVuLXdpdGgtYWxwaGEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxNjc4ZmNlNmQ5OGQ1
N2ZhYzZjODc4MTNmZTQyMThkZmRiYTQ2ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2Nv
bnRleHQvY29udGV4dC1jcmVhdGlvbi1vZmZzY3JlZW4td2l0aC1hbHBoYS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACisKK0ZBSUwgVGVzdCB0aGF0IGFuIEltYWdlQml0bWFwUmVuZGVyaW5n
Q29udGV4dCB3aXRoIGFscGhhIGRpc2FibGVkIG1ha2VzIHRoZSBjYW52YXMgb3BhcXVlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBPZmZzY3JlZW5DYW52YXMiCitGQUlMIFRlc3Qg
dGhhdCBhbiBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQgd2l0aCBhbHBoYSBlbmFibGVkIHBy
ZXNlcnZlcyB0aGUgYWxwaGEgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE9mZnNj
cmVlbkNhbnZhcyIKK0ZBSUwgVGVzdCB0aGF0IHRoZSAnYWxwaGEnIGNvbnRleHQgY3JlYXRpb24g
YXR0cmlidXRlIGlzIHRydWUgYnkgZGVmYXVsdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogT2Zmc2NyZWVuQ2FudmFzIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29u
dGV4dC1jcmVhdGlvbi1vZmZzY3JlZW4td2l0aC1hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0
L2NvbnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLXdpdGgtYWxwaGEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
NTY1ZGVmOTY0ZDBlYjQyMjcwMmJjNzMwNTRiNmM0ZGZhMGEzY2IzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1h
cC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLXdpdGgtYWxwaGEu
aHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5DYW52YXMncyBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQgdGVzdDwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL3NjcmlwdGluZy5odG1sI3RoZS1pbWFnZWJpdG1hcC1yZW5kZXJpbmctY29udGV4dCI+
Cis8c2NyaXB0PgordmFyIHdpZHRoID0gMTA7Cit2YXIgaGVpZ2h0ID0gMTA7CisKK2Z1bmN0aW9u
IHRlc3RJbWFnZUJpdG1hcChpbWFnZSwgb3B0cywgZXhwZWN0ZWRSLCBleHBlY3RlZEcsIGV4cGVj
dGVkQiwgZXhwZWN0ZWRBKQoreworICAgIHZhciBkc3RDYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2Fu
dmFzKHdpZHRoLGhlaWdodCk7CisgICAgdmFyIGRzdEN0eCA9IGRzdENhbnZhcy5nZXRDb250ZXh0
KCdiaXRtYXByZW5kZXJlcicsIG9wdHMpOworICAgIGRzdEN0eC50cmFuc2ZlckZyb21JbWFnZUJp
dG1hcChpbWFnZSk7CisKKyAgICB2YXIgbXlDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdjYW52YXMnKTsKKyAgICBteUNhbnZhcy53aWR0aCA9IHdpZHRoOworICAgIG15Q2FudmFzLmhl
aWdodCA9IGhlaWdodDsKKyAgICB2YXIgbXlDdHggPSBteUNhbnZhcy5nZXRDb250ZXh0KCcyZCcp
OworICAgIG15Q3R4LmRyYXdJbWFnZShkc3RDYW52YXMsIDAsIDApOworICAgIHZhciBjb2xvciA9
IG15Q3R4LmdldEltYWdlRGF0YSg1LCA1LCAxLCAxKS5kYXRhOworICAgIGFzc2VydF9hcnJheV9h
cHByb3hfZXF1YWxzKGNvbG9yLCBbZXhwZWN0ZWRSLCBleHBlY3RlZEcsIGV4cGVjdGVkQiwgZXhw
ZWN0ZWRBXSwxKTsKK30KKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgeworICAgIHZhciBzcmND
YW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICBzcmNDYW52YXMu
d2lkdGggPSB3aWR0aDsKKyAgICBzcmNDYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgIHZhciBj
dHggPSBzcmNDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICBjdHguZmlsbFN0eWxlID0gJ3Jn
YmEoMCwgMjU1LCAwLCAwLjUpJzsKKyAgICBjdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdo
dCk7CisgICAgcmV0dXJuIGNyZWF0ZUltYWdlQml0bWFwKHNyY0NhbnZhcykudGhlbihmdW5jdGlv
bihpbWFnZSkgeworICAgICAgICB0ZXN0SW1hZ2VCaXRtYXAoaW1hZ2UsIHthbHBoYTogZmFsc2V9
LCAwLCAyNTUsIDAsIDEyOCk7CisgICAgfSk7Cit9LCAiVGVzdCB0aGF0IGFuIEltYWdlQml0bWFw
UmVuZGVyaW5nQ29udGV4dCB3aXRoIGFscGhhIGRpc2FibGVkIG1ha2VzIHRoZSBjYW52YXMgb3Bh
cXVlIik7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbigpIHsKKyAgICB2YXIgc3JjQ2FudmFzID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CisgICAgc3JjQ2FudmFzLndpZHRoID0g
d2lkdGg7CisgICAgc3JjQ2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICB2YXIgY3R4ID0gc3Jj
Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1
NSwgMCwgMC41KSc7CisgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpOworICAg
IHJldHVybiBjcmVhdGVJbWFnZUJpdG1hcChzcmNDYW52YXMpLnRoZW4oZnVuY3Rpb24oaW1hZ2Up
IHsKKyAgICAgICAgdGVzdEltYWdlQml0bWFwKGltYWdlLCB7YWxwaGE6IHRydWV9LCAwLCAyNTUs
IDAsIDEyOCk7CisgICAgfSk7Cit9LCAiVGVzdCB0aGF0IGFuIEltYWdlQml0bWFwUmVuZGVyaW5n
Q29udGV4dCB3aXRoIGFscGhhIGVuYWJsZWQgcHJlc2VydmVzIHRoZSBhbHBoYSIpOworCitwcm9t
aXNlX3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgdmFyIHNyY0NhbnZhcyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2NhbnZhcycpOworICAgIHNyY0NhbnZhcy53aWR0aCA9IHdpZHRoOworICAgIHNy
Y0NhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CisgICAgdmFyIGN0eCA9IHNyY0NhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOworICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgwLCAyNTUsIDAsIDAuNSknOwor
ICAgIGN0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICByZXR1cm4gY3JlYXRl
SW1hZ2VCaXRtYXAoc3JjQ2FudmFzKS50aGVuKGZ1bmN0aW9uKGltYWdlKSB7CisgICAgICAgIHRl
c3RJbWFnZUJpdG1hcChpbWFnZSwge30sIDAsIDI1NSwgMCwgMTI4KTsKKyAgICB9KTsKK30sICJU
ZXN0IHRoYXQgdGhlICdhbHBoYScgY29udGV4dCBjcmVhdGlvbiBhdHRyaWJ1dGUgaXMgdHJ1ZSBi
eSBkZWZhdWx0Iik7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2Nv
bnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1j
cmVhdGlvbi1vZmZzY3JlZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmQ0Y2NlNDIwYThjYTU1MGQ3MTM5
MTY5MjIyNTg4N2RkYjVhNGRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2Nv
bnRleHQtY3JlYXRpb24tb2Zmc2NyZWVuLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q2FudmFzJ3MgSW1hZ2VCaXRt
YXBSZW5kZXJpbmdDb250ZXh0IHRlc3Q8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvY2FudmFzLmh0bWwjdGhlLWltYWdlYml0
bWFwLXJlbmRlcmluZy1jb250ZXh0Ij4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IHZhciB3aWR0aCA9IDEwOworICAgIHZhciBoZWlnaHQgPSAxMDsKKyAgICB2YXIgY2FudmFzID0g
bmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKKyAgICB2YXIgY3R4ID0gY2FudmFz
LmdldENvbnRleHQoJ2JpdG1hcHJlbmRlcmVyJyk7CisgICAgYXNzZXJ0X3RydWUoY3R4IGluc3Rh
bmNlb2YgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0KTsKKyAgICBhc3NlcnRfdHJ1ZSgiY2Fu
dmFzIiBpbiBjdHgpOworICAgIGFzc2VydF9lcXVhbHMoY2FudmFzLCBjdHguY2FudmFzKTsKK30s
ICJUZXN0IHRoYXQgY2FudmFzLmdldENvbnRleHQoJ2JpdG1hcHJlbmRlcmVyJykgcmV0dXJucyBh
biBpbnN0YW5jZSBvZiBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQgYW5kIGN0eC5jYW52YXMg
b24gYSBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQgcmV0dXJucyB0aGUgb3JpZ2luYWwgT2Zm
c2NyZWVuQ2FudmFzIik7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0
L2NvbnRleHQtY3JlYXRpb24td2l0aC1hbHBoYS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRl
eHQvY29udGV4dC1jcmVhdGlvbi13aXRoLWFscGhhLWV4cGVjdGVkLnR4dAppbmRleCA2YmQ2ZmY2
NGI2NzFlNmY0N2VjNzQ2NmFjMDIwNzA4YjRkZTI1YjRiLi5hNGQ2YjE0ODIxNzdjYjcxNWUyYWE5
NTQyYzAzZjk0ZDBhMWEzNTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1j
cmVhdGlvbi13aXRoLWFscGhhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29u
dGV4dC1jcmVhdGlvbi13aXRoLWFscGhhLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAot
RkFJTCBUZXN0IHRoYXQgYW4gSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IHdpdGggYWxwaGEg
ZGlzYWJsZWQgbWFrZXMgdGhlIGNhbnZhcyBvcGFxdWUgYXNzZXJ0X2FycmF5X2VxdWFsczogZXhw
ZWN0ZWQgcHJvcGVydHkgMSB0byBiZSAxMjcgYnV0IGdvdCAyNTUgKGV4cGVjdGVkIGFycmF5IFsw
LCAxMjcsIDAsIDI1NV0gZ290IG9iamVjdCAiMCwyNTUsMCwxMjgiKQotRkFJTCBUZXN0IHRoYXQg
YW4gSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IHdpdGggYWxwaGEgZW5hYmxlZCBwcmVzZXJ2
ZXMgdGhlIGFscGhhIGFzc2VydF9hcnJheV9lcXVhbHM6IGV4cGVjdGVkIHByb3BlcnR5IDMgdG8g
YmUgMTI3IGJ1dCBnb3QgMTI4IChleHBlY3RlZCBhcnJheSBbMCwgMjU1LCAwLCAxMjddIGdvdCBv
YmplY3QgIjAsMjU1LDAsMTI4IikKLUZBSUwgVGVzdCB0aGF0IHRoZSAnYWxwaGEnIGNvbnRleHQg
Y3JlYXRpb24gYXR0cmlidXRlIGlzIHRydWUgYnkgZGVmYXVsdCBhc3NlcnRfYXJyYXlfZXF1YWxz
OiBleHBlY3RlZCBwcm9wZXJ0eSAzIHRvIGJlIDEyNyBidXQgZ290IDEyOCAoZXhwZWN0ZWQgYXJy
YXkgWzAsIDI1NSwgMCwgMTI3XSBnb3Qgb2JqZWN0ICIwLDI1NSwwLDEyOCIpCitQQVNTIFRlc3Qg
dGhhdCBhbiBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQgd2l0aCBhbHBoYSBkaXNhYmxlZCBt
YWtlcyB0aGUgY2FudmFzIG9wYXF1ZSAKK1BBU1MgVGVzdCB0aGF0IGFuIEltYWdlQml0bWFwUmVu
ZGVyaW5nQ29udGV4dCB3aXRoIGFscGhhIGVuYWJsZWQgcHJlc2VydmVzIHRoZSBhbHBoYSAKK1BB
U1MgVGVzdCB0aGF0IHRoZSAnYWxwaGEnIGNvbnRleHQgY3JlYXRpb24gYXR0cmlidXRlIGlzIHRy
dWUgYnkgZGVmYXVsdCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3Jl
YXRpb24td2l0aC1hbHBoYS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24t
d2l0aC1hbHBoYS5odG1sCmluZGV4IDQzNTRiOWFjNDE4OGNkOTA0ZjdlOTQxMDAxZTcyNGY3OGIw
YmRlNTQuLjJjOGZhMDhiOWQzNDBjOWMwZjFjYjQ0NmE3YTQ0NWZkYzA4Y2ZmZjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRt
YXAtcmVuZGVyaW5nY29udGV4dC9jb250ZXh0LWNyZWF0aW9uLXdpdGgtYWxwaGEuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFw
LXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi13aXRoLWFscGhhLmh0bWwKQEAgLTgs
MjQgKzgsMTIgQEAKIHZhciB3aWR0aCA9IDEwOwogdmFyIGhlaWdodCA9IDEwOwogCi1mdW5jdGlv
biB0ZXN0Q2FudmFzKGN0eCwgciwgZywgYiwgYSkKLXsKLSAgICB2YXIgY29sb3IgPSBjdHguZ2V0
SW1hZ2VEYXRhKDUsIDUsIDEsIDEpLmRhdGE7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjb2xv
ciwgW3IsIGcsIGIsIGFdKTsKLX0KLQotZnVuY3Rpb24gY29uc3VtZUltYWdlQml0bWFwKGltYWdl
LCBhbHBoYVZhbCwgZXhwZWN0ZWRSLCBleHBlY3RlZEcsIGV4cGVjdGVkQiwgZXhwZWN0ZWRBKQor
ZnVuY3Rpb24gdGVzdEltYWdlQml0bWFwKGltYWdlLCBvcHRzLCBleHBlY3RlZFIsIGV4cGVjdGVk
RywgZXhwZWN0ZWRCLCBleHBlY3RlZEEpCiB7CiAgICAgdmFyIGRzdENhbnZhcyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwogICAgIGRzdENhbnZhcy53aWR0aCA9IHdpZHRoOwog
ICAgIGRzdENhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7Ci0gICAgdmFyIGRzdEN0eDsKLSAgICBpZiAo
YWxwaGFWYWwgPT0gJ3RydWUnKQotICAgICAgICBkc3RDdHggPSBkc3RDYW52YXMuZ2V0Q29udGV4
dCgnYml0bWFwcmVuZGVyZXInLCB7IGFscGhhOiB0cnVlIH0pOwotICAgIGVsc2UgaWYgKGFscGhh
VmFsID09ICdmYWxzZScpCi0gICAgICAgIGRzdEN0eCA9IGRzdENhbnZhcy5nZXRDb250ZXh0KCdi
aXRtYXByZW5kZXJlcicsIHsgYWxwaGE6IGZhbHNlIH0pOwotICAgIGVsc2UKLSAgICAgICAgZHN0
Q3R4ID0gZHN0Q2FudmFzLmdldENvbnRleHQoJ2JpdG1hcHJlbmRlcmVyJyk7CisgICAgdmFyIGRz
dEN0eCA9IGRzdENhbnZhcy5nZXRDb250ZXh0KCdiaXRtYXByZW5kZXJlcicsIG9wdHMpOwogICAg
IGRzdEN0eC50cmFuc2ZlckZyb21JbWFnZUJpdG1hcChpbWFnZSk7CiAKICAgICB2YXIgbXlDYW52
YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKQEAgLTMzLDcgKzIxLDggQEAg
ZnVuY3Rpb24gY29uc3VtZUltYWdlQml0bWFwKGltYWdlLCBhbHBoYVZhbCwgZXhwZWN0ZWRSLCBl
eHBlY3RlZEcsIGV4cGVjdGVkQiwgZXgKICAgICBteUNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7CiAg
ICAgdmFyIG15Q3R4ID0gbXlDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICBteUN0eC5kcmF3
SW1hZ2UoZHN0Q2FudmFzLCAwLCAwKTsKLSAgICB0ZXN0Q2FudmFzKG15Q3R4LCBleHBlY3RlZFIs
IGV4cGVjdGVkRywgZXhwZWN0ZWRCLCBleHBlY3RlZEEpOworICAgIHZhciBjb2xvciA9IG15Q3R4
LmdldEltYWdlRGF0YSg1LCA1LCAxLCAxKS5kYXRhOworICAgIGFzc2VydF9hcnJheV9hcHByb3hf
ZXF1YWxzKGNvbG9yLCBbZXhwZWN0ZWRSLCBleHBlY3RlZEcsIGV4cGVjdGVkQiwgZXhwZWN0ZWRB
XSwxKTsKIH0KIAogcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewpAQCAtNDQsNyArMzMsNyBAQCBw
cm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1
NSwgMCwgMC41KSc7CiAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpOwogICAg
IHJldHVybiBjcmVhdGVJbWFnZUJpdG1hcChzcmNDYW52YXMpLnRoZW4oZnVuY3Rpb24oaW1hZ2Up
IHsKLSAgICAgICAgY29uc3VtZUltYWdlQml0bWFwKGltYWdlLCAnZmFsc2UnLCAwLCAxMjcsIDAs
IDI1NSk7CisgICAgICAgIHRlc3RJbWFnZUJpdG1hcChpbWFnZSwge2FscGhhOiBmYWxzZX0sIDAs
IDI1NSwgMCwgMTI4KTsKICAgICB9KTsKIH0sICJUZXN0IHRoYXQgYW4gSW1hZ2VCaXRtYXBSZW5k
ZXJpbmdDb250ZXh0IHdpdGggYWxwaGEgZGlzYWJsZWQgbWFrZXMgdGhlIGNhbnZhcyBvcGFxdWUi
KTsKIApAQCAtNTYsNyArNDUsNyBAQCBwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgY3R4
LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDI1NSwgMCwgMC41KSc7CiAgICAgY3R4LmZpbGxSZWN0KDAs
IDAsIHdpZHRoLCBoZWlnaHQpOwogICAgIHJldHVybiBjcmVhdGVJbWFnZUJpdG1hcChzcmNDYW52
YXMpLnRoZW4oZnVuY3Rpb24oaW1hZ2UpIHsKLSAgICAgICAgY29uc3VtZUltYWdlQml0bWFwKGlt
YWdlLCAndHJ1ZScsIDAsIDI1NSwgMCwgMTI3KTsKKyAgICAgICAgdGVzdEltYWdlQml0bWFwKGlt
YWdlLCB7YWxwaGE6IHRydWV9LCAwLCAyNTUsIDAsIDEyOCk7CiAgICAgfSk7CiB9LCAiVGVzdCB0
aGF0IGFuIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dCB3aXRoIGFscGhhIGVuYWJsZWQgcHJl
c2VydmVzIHRoZSBhbHBoYSIpOwogCkBAIC02OCw3ICs1Nyw3IEBAIHByb21pc2VfdGVzdChmdW5j
dGlvbigpIHsKICAgICBjdHguZmlsbFN0eWxlID0gJ3JnYmEoMCwgMjU1LCAwLCAwLjUpJzsKICAg
ICBjdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7CiAgICAgcmV0dXJuIGNyZWF0ZUlt
YWdlQml0bWFwKHNyY0NhbnZhcykudGhlbihmdW5jdGlvbihpbWFnZSkgewotICAgICAgICBjb25z
dW1lSW1hZ2VCaXRtYXAoaW1hZ2UsICcnLCAwLCAyNTUsIDAsIDEyNyk7CisgICAgICAgIHRlc3RJ
bWFnZUJpdG1hcChpbWFnZSwge30sIDAsIDI1NSwgMCwgMTI4KTsKICAgICB9KTsKIH0sICJUZXN0
IHRoYXQgdGhlICdhbHBoYScgY29udGV4dCBjcmVhdGlvbiBhdHRyaWJ1dGUgaXMgdHJ1ZSBieSBk
ZWZhdWx0Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC9jb250ZXh0LXByZXNlcnZl
cy1jYW52YXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC9jb250ZXh0LXByZXNlcnZlcy1jYW52YXMu
aHRtbAppbmRleCBlY2E3YWZlOWRkZDE4ZjIzZTE0ZjljYjJiMTYyMDg3MTNhZjc5NzRiLi5iMDc1
M2E3MzQ4ZDFmZThkNDViN2NkOTMxMWFlMDY3MDUzNWYwNmEzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmlu
Z2NvbnRleHQvY29udGV4dC1wcmVzZXJ2ZXMtY2FudmFzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250
ZXh0L2NvbnRleHQtcHJlc2VydmVzLWNhbnZhcy5odG1sCkBAIC0zLDE5ICszLDIwIEBACiA8dGl0
bGU+Q2FudmFzJ3MgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IHRlc3Q8L3RpdGxlPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3Jp
cHRpbmcuaHRtbCN0aGUtaW1hZ2ViaXRtYXAtcmVuZGVyaW5nLWNvbnRleHQiPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jYW52
YXMuaHRtbCN0aGUtaW1hZ2ViaXRtYXAtcmVuZGVyaW5nLWNvbnRleHQiPgogPHNjcmlwdD4KLXZh
ciB3aWR0aCA9IDEwOwotdmFyIGhlaWdodCA9IDEwOwotCiB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IHZhciB3aWR0aCA9IDEwOworICAgIHZhciBoZWlnaHQgPSAxMDsKICAgICB2YXIgY2FudmFzID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CiAgICAgY2FudmFzLndpZHRoID0gd2lk
dGg7CiAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKICAgICB2YXIgY3R4ID0gY2FudmFzLmdl
dENvbnRleHQoJ2JpdG1hcHJlbmRlcmVyJyk7CiAgICAgdmFyIGRzdENhbnZhcyA9IGN0eC5jYW52
YXM7CisgICAgYXNzZXJ0X3RydWUoImNhbnZhcyIgaW4gY3R4KTsKKyAgICBhc3NlcnRfZXF1YWxz
KGRzdENhbnZhcywgY3R4LmNhbnZhcyk7CisgICAgYXNzZXJ0X2VxdWFscyhjYW52YXMsIGN0eC5j
YW52YXMpOwogICAgIGFzc2VydF9lcXVhbHMoZHN0Q2FudmFzLndpZHRoLCB3aWR0aCk7CiAgICAg
YXNzZXJ0X2VxdWFscyhkc3RDYW52YXMuaGVpZ2h0LCBoZWlnaHQpOwogfSwgIlRlc3QgdGhhdCBj
dHguY2FudmFzIG9uIGEgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IHJldHVybnMgdGhlIG9y
aWdpbmFsIGNhbnZhcyIpOwotCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4
dC90b0Jsb2Itb3JpZ2luLWNsZWFuLW9mZnNjcmVlbi5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJp
bmdjb250ZXh0L3RvQmxvYi1vcmlnaW4tY2xlYW4tb2Zmc2NyZWVuLnN1Yi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWNlZDU2N2MxZGRmZDRkYmI3NDIwYzRkMTBhYzk2MjExZTZiYWU0MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90b0Jsb2Itb3JpZ2luLWNsZWFuLW9mZnNj
cmVlbi5zdWItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cxLmxvY2FsaG9zdDo4ODAwL2ltYWdlcy9yZWQucG5nCisK
K0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFRlc3Qg
dGhhdCBjYWxsIGNvbnZlcnRUb0Jsb2Igb24gYSB0YWludGVkIE9mZnNjcmVlbkNhbnZhcyB0aHJv
d3MgZXhjZXB0aW9uIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4
dC90b0Jsb2Itb3JpZ2luLWNsZWFuLW9mZnNjcmVlbi5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4
dC90b0Jsb2Itb3JpZ2luLWNsZWFuLW9mZnNjcmVlbi5zdWIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjAw
ZjkyYTk1YTNkNDRlM2ZiY2Y5MDMzODZhYzU1NDU4ZjZiZmM3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1y
ZW5kZXJpbmdjb250ZXh0L3RvQmxvYi1vcmlnaW4tY2xlYW4tb2Zmc2NyZWVuLnN1Yi5odG1sCkBA
IC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT5jb252ZXJ0VG9CbG9iLCBPZmZzY3JlZW5DYW52YXM6IG9yaWdpbi1jbGVhbiBmbGFnPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjdGhlLWltYWdlYml0bWFwLXJlbmRlcmluZy1jb250ZXh0Ij4K
KzxzY3JpcHQ+Citjb25zdCBjcm9zc09yaWdpbkltYWdlVXJsID0gImh0dHA6Ly97e2RvbWFpbnNb
d3d3MV19fTp7e3BvcnRzW2h0dHBdWzBdfX0vaW1hZ2VzL3JlZC5wbmciOworCithc3luY190ZXN0
KHQgPT4geworICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CisgIC8vIFVzZSBhIGNyb3NzLW9yaWdp
biBVUkwuCisgIGltZy5zcmMgPSBjcm9zc09yaWdpbkltYWdlVXJsOworCisgIGltZy5vbmxvYWQg
PSB0LnN0ZXBfZnVuYyhlID0+IHsKKyAgICBjcmVhdGVJbWFnZUJpdG1hcChpbWcsIDAsIDAsIGlt
Zy53aWR0aCwgaW1nLmhlaWdodCkKKyAgICAudGhlbih0LnN0ZXBfZnVuYyhiaXRtYXAgPT4gewor
ICAgICAgdmFyIGNhbnZhc0JpdG1hcCA9IG5ldyBPZmZzY3JlZW5DYW52YXMoaW1nLndpZHRoLGlt
Zy5oZWlnaHQpOworICAgICAgdmFyIGNvbnRleHRCaXRtYXAgPSBjYW52YXNCaXRtYXAuZ2V0Q29u
dGV4dCgiYml0bWFwcmVuZGVyZXIiKTsKKyAgICAgIGNvbnRleHRCaXRtYXAudHJhbnNmZXJGcm9t
SW1hZ2VCaXRtYXAoYml0bWFwKTsKKyAgICAgIHByb21pc2VfcmVqZWN0c19kb20odCwgJ1NlY3Vy
aXR5RXJyb3InLAorICAgICAgICBjYW52YXNCaXRtYXAuY29udmVydFRvQmxvYigpLAorICAgICAg
ICAiY29udmVydFRvQmxvYiBvbiBhIHRhaW50ZWQgT2Zmc2NyZWVuQ2FudmFzIGhhcyB0byB0aHJv
dyIpLnRoZW4odC5zdGVwX2Z1bmNfZG9uZSgpKTsKKyAgICB9KSk7CisgIH0pOworfSwgIlRlc3Qg
dGhhdCBjYWxsIGNvbnZlcnRUb0Jsb2Igb24gYSB0YWludGVkIE9mZnNjcmVlbkNhbnZhcyB0aHJv
d3MgZXhjZXB0aW9uIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90
cmFuZmVyRnJvbUltYWdlQml0bWFwLVRvQmxvYi1vZmZzY3JlZW4tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5k
ZXJpbmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtVG9CbG9iLW9mZnNjcmVlbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM2MTU2NWNiOGFiOTcxODIzM2Q1OGE5OWEyNTk2MGQyNGQ1
NDM5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90cmFuZmVyRnJvbUltYWdl
Qml0bWFwLVRvQmxvYi1vZmZzY3JlZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitG
QUlMIFRlc3QgdGhhdCBjb252ZXJ0VG9CbG9iIHdvcmtzIGFuZCBwcm9kdWNlIHRoZSBleHBlY3Rl
ZCBpbWFnZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogT2Zmc2NyZWVuQ2FudmFz
IgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJhbmZlckZyb21JbWFnZUJpdG1hcC1U
b0Jsb2Itb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJhbmZlckZyb21JbWFnZUJp
dG1hcC1Ub0Jsb2Itb2Zmc2NyZWVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFkMGM5MDA2NTBlYTNiNDg5
NTQ5Yjc5NzdjZDk5MjJhMzViY2NhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4
dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLVRvQmxvYi1vZmZzY3JlZW4uaHRtbApAQCAtMCwwICsx
LDYwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5D
YW52YXMncyBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQgdGVzdDwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGlu
Zy5odG1sI3RoZS1pbWFnZWJpdG1hcC1yZW5kZXJpbmctY29udGV4dCI+Cis8c2NyaXB0PgordmFy
IHdpZHRoID0gMTA7Cit2YXIgaGVpZ2h0ID0gMTA7CisKK2Z1bmN0aW9uIHRlc3RDYW52YXMoY3R4
LCByLCBnLCBiLCBhKQoreworICAgIHZhciBjb2xvciA9IGN0eC5nZXRJbWFnZURhdGEoNSwgNSwg
MSwgMSkuZGF0YTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGNvbG9yLCBbciwgZywgYiwgYV0p
OworfQorCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgZnVuY3Rpb24gdHJhbnNmZXJG
cm9tSW1hZ2VCaXRtYXBUb0Jsb2JPZmZzY3JlZW4oZ3JlZW5JbWFnZSkgeworICAgICAgICB2YXIg
Yml0bWFwQ2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCxoZWlnaHQpOworICAgICAg
ICB2YXIgYml0bWFwQ3R4ID0gYml0bWFwQ2FudmFzLmdldENvbnRleHQoJ2JpdG1hcHJlbmRlcmVy
Jyk7CisgICAgICAgIGJpdG1hcEN0eC50cmFuc2ZlckZyb21JbWFnZUJpdG1hcChncmVlbkltYWdl
KTsKKworICAgICAgICByZXR1cm4gYml0bWFwQ2FudmFzLmNvbnZlcnRUb0Jsb2IoKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBkcmF3QmxvYlRvQ2FudmFzKGJsb2IpIHsKKyAgICAgICAgLy8gTWFr
ZSBzdXJlIHRoZSBiaXRtYXAgcmVuZGVyZXIgY2FudmFzIGlzIGZpbGxlZCBjb3JyZWN0bHkuCisg
ICAgICAgIHZhciBwbmdJbWFnZSA9IG5ldyBJbWFnZSgpOworICAgICAgICB2YXIgbXlDYW52YXNU
b1Rlc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICAgICAgbXlDYW52
YXNUb1Rlc3Qud2lkdGggPSB3aWR0aDsKKyAgICAgICAgbXlDYW52YXNUb1Rlc3QuaGVpZ2h0ID0g
aGVpZ2h0OworCisgICAgICAgIC8vIFdhaXQgZm9yIHRoZSBibG9iIGltZyB0byBsb2FkLgorICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAg
cG5nSW1hZ2Uuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKKyAgICAgICAgICAgIHBu
Z0ltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHZhciBteUN0eFRv
VGVzdCA9IG15Q2FudmFzVG9UZXN0LmdldENvbnRleHQoJzJkJyk7CisgICAgICAgICAgICAgICAg
bXlDdHhUb1Rlc3QuZHJhd0ltYWdlKHBuZ0ltYWdlLCAwLCAwKTsKKyAgICAgICAgICAgICAgICBy
ZXNvbHZlKG15Q3R4VG9UZXN0KTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgIH0K
KworICAgIHZhciBncmVlbkNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycp
OworICAgIGdyZWVuQ2FudmFzLndpZHRoID0gd2lkdGg7CisgICAgZ3JlZW5DYW52YXMuaGVpZ2h0
ID0gaGVpZ2h0OworICAgIHZhciBncmVlbkN0eCA9IGdyZWVuQ2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CisgICAgZ3JlZW5DdHguZmlsbFN0eWxlID0gJyMwZjAnOworICAgIGdyZWVuQ3R4LmZpbGxS
ZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpOworCisgICAgcmV0dXJuIGNyZWF0ZUltYWdlQml0bWFw
KGdyZWVuQ2FudmFzKS50aGVuKAorICAgICAgICBncmVlbkltYWdlID0+IHRyYW5zZmVyRnJvbUlt
YWdlQml0bWFwVG9CbG9iT2Zmc2NyZWVuKGdyZWVuSW1hZ2UpCisgICAgKS50aGVuKAorICAgICAg
ICBibG9iID0+IGRyYXdCbG9iVG9DYW52YXMoYmxvYikKKyAgICApLnRoZW4oCisgICAgICAgIGN0
eCA9PiB0ZXN0Q2FudmFzKGN0eCwgMCwgMjU1LCAwLCAyNTUpCisgICAgKTsKK30sJ1Rlc3QgdGhh
dCBjb252ZXJ0VG9CbG9iIHdvcmtzIGFuZCBwcm9kdWNlIHRoZSBleHBlY3RlZCBpbWFnZScpOwor
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90cmFuZmVyRnJvbUltYWdl
Qml0bWFwLVRyYW5zZmVyVG9JbWFnZUJpdG1hcC1vZmZzY3JlZW4tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5k
ZXJpbmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtVHJhbnNmZXJUb0ltYWdlQml0bWFw
LW9mZnNjcmVlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRlNTkwM2JiMTQ5ODVkMjhlN2Rm
OGJjNzlhMTczNGYzYjM1ZjZiNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90
cmFuZmVyRnJvbUltYWdlQml0bWFwLVRyYW5zZmVyVG9JbWFnZUJpdG1hcC1vZmZzY3JlZW4tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIFRlc3QgdGhhdCB0cmFuc2ZlclRvSW1h
Z2VCaXRtYXAgd29ya3MgYW5kIHRoYXQgcmVzZXRzIHRoZSBpbWFnZWJpdG1hcCB0byBibGFjayBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogT2Zmc2NyZWVuQ2FudmFzIgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
Yml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJhbmZlckZyb21JbWFnZUJpdG1hcC1UcmFuc2ZlclRv
SW1hZ2VCaXRtYXAtb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJhbmZlckZyb21J
bWFnZUJpdG1hcC1UcmFuc2ZlclRvSW1hZ2VCaXRtYXAtb2Zmc2NyZWVuLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2UwNGRhNjNkZGIxZjExMzJjNTNhYjQ5ZTZiZGE3MTNhY2U1NWVhMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vi
aXRtYXAtcmVuZGVyaW5nY29udGV4dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLVRyYW5zZmVyVG9J
bWFnZUJpdG1hcC1vZmZzY3JlZW4uaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DYW52YXMncyBJbWFnZUJpdG1hcFJl
bmRlcmluZ0NvbnRleHQgdGVzdDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3RoZS1pbWFnZWJpdG1h
cC1yZW5kZXJpbmctY29udGV4dCI+Cis8c2NyaXB0PgordmFyIHdpZHRoID0gMTA7Cit2YXIgaGVp
Z2h0ID0gMTA7CisKK2Z1bmN0aW9uIHRlc3RDYW52YXMoYml0bWFwQ2FudmFzLCByLCBnLCBiLCBh
KQoreworICAgIHZhciBteUNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycp
OworICAgIG15Q2FudmFzLndpZHRoID0gd2lkdGg7CisgICAgbXlDYW52YXMuaGVpZ2h0ID0gaGVp
Z2h0OworICAgIHZhciBteUN0eCA9IG15Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgbXlD
dHguZHJhd0ltYWdlKGJpdG1hcENhbnZhcywgMCwgMCk7CisgICAgdmFyIGNvbG9yID0gbXlDdHgu
Z2V0SW1hZ2VEYXRhKDUsIDUsIDEsIDEpLmRhdGE7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhj
b2xvciwgW3IsIGcsIGIsIGFdKTsKK30KKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGZ1bmN0aW9uIHRlc3RUcmFuc2ZlckZyb21JbWFnZUJpdG1hcE51bGxhYmlsaXR5KGdyZWVuSW1h
Z2UpIHsKKyAgICAgICAgdmFyIGJpdG1hcENhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMod2lk
dGgsaGVpZ2h0KTsKKyAgICAgICAgdmFyIGJpdG1hcEN0eCA9IGJpdG1hcENhbnZhcy5nZXRDb250
ZXh0KCdiaXRtYXByZW5kZXJlcicpOworICAgICAgICBiaXRtYXBDdHgudHJhbnNmZXJGcm9tSW1h
Z2VCaXRtYXAoZ3JlZW5JbWFnZSk7CisKKyAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBiaXRtYXAg
cmVuZGVyZXIgY2FudmFzIGlzIGZpbGxlZCBjb3JyZWN0bHkuCisgICAgICAgIHZhciBteUNhbnZh
cyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICAgICAgICB2YXIgbXlDdHgg
PSBteUNhbnZhcy5nZXRDb250ZXh0KCdiaXRtYXByZW5kZXJlcicpOworICAgICAgICBteUN0eC50
cmFuc2ZlckZyb21JbWFnZUJpdG1hcChiaXRtYXBDYW52YXMudHJhbnNmZXJUb0ltYWdlQml0bWFw
KCkpOworICAgICAgICB0ZXN0Q2FudmFzKG15Q2FudmFzLCAwLCAyNTUsIDAsIDI1NSk7CisKKyAg
ICAgICAgLy8gVGVzdCB0aGF0IGFmdGVyIHRyYW5zZmVyaW5nIGZvciBzZWNvbmQgdGltZSB0byBJ
bWFnZUJpdG1hcCBwcm9kdWNlcworICAgICAgICAvLyBhIGJsYWNrIGJpdG1hcCBvZiB0aGUgc2Ft
ZSBzaXplCisgICAgICAgIHZhciBteUNhbnZhczIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdj
YW52YXMnKTsKKyAgICAgICAgdmFyIG15Q3R4MiA9IG15Q2FudmFzMi5nZXRDb250ZXh0KCdiaXRt
YXByZW5kZXJlcicpOworICAgICAgICBteUN0eDIudHJhbnNmZXJGcm9tSW1hZ2VCaXRtYXAoYml0
bWFwQ2FudmFzLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpKTsKKyAgICAgICAgdGVzdENhbnZhcyht
eUNhbnZhczIsIDAsIDAsIDAsIDApOworICAgIH0KKworICAgIHZhciBncmVlbkNhbnZhcyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICAgIGdyZWVuQ2FudmFzLndpZHRoID0g
d2lkdGg7CisgICAgZ3JlZW5DYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgIHZhciBncmVlbkN0
eCA9IGdyZWVuQ2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgZ3JlZW5DdHguZmlsbFN0eWxl
ID0gJyMwZjAnOworICAgIGdyZWVuQ3R4LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpOwor
CisgICAgcmV0dXJuIFByb21pc2UuYWxsKFsKKyAgICAgICAgY3JlYXRlSW1hZ2VCaXRtYXAoZ3Jl
ZW5DYW52YXMpLAorICAgIF0pLnRoZW4oKFtncmVlbkltYWdlXSkgPT4geworICAgICAgICB0ZXN0
VHJhbnNmZXJGcm9tSW1hZ2VCaXRtYXBOdWxsYWJpbGl0eShncmVlbkltYWdlKTsKKyAgICB9KTsK
K30sJ1Rlc3QgdGhhdCB0cmFuc2ZlclRvSW1hZ2VCaXRtYXAgd29ya3MgYW5kIHRoYXQgcmVzZXRz
IHRoZSBpbWFnZWJpdG1hcCB0byBibGFjaycpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVu
ZGVyaW5nY29udGV4dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLW51bGwtb2Zmc2NyZWVuLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1h
Z2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLW51bGwtb2Zm
c2NyZWVuLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWRhNjgxYzBmZWQ3ZGYyMWVlODgzMjgw
MzJkOGMxOThhN2NhZjBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5m
ZXJGcm9tSW1hZ2VCaXRtYXAtbnVsbC1vZmZzY3JlZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitGQUlMIFRlc3QgdGhhdCB0cmFuc2ZlckZyb21JbWFnZUJpdG1hcChudWxsKSBkaXNj
YXJkcyB0aGUgcHJldmlvdXNseSB0cmFuc2ZlcnJlZCBpbWFnZSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogT2Zmc2NyZWVuQ2FudmFzIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2Nv
bnRleHQvdHJhbmZlckZyb21JbWFnZUJpdG1hcC1udWxsLW9mZnNjcmVlbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJp
bmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtbnVsbC1vZmZzY3JlZW4uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lMDVhNjIzYTJmZTFkMWUyOTAzOTFjYTQ2ODgyODViMTRiOTUzN2I1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtbnVsbC1v
ZmZzY3JlZW4uaHRtbApAQCAtMCwwICsxLDYzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DYW52YXMncyBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRl
eHQgdGVzdDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3
Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3RoZS1pbWFnZWJpdG1hcC1yZW5kZXJpbmct
Y29udGV4dCI+Cis8c2NyaXB0PgordmFyIHdpZHRoID0gMTA7Cit2YXIgaGVpZ2h0ID0gMTA7CisK
K2Z1bmN0aW9uIHRlc3RDYW52YXMoYml0bWFwQ2FudmFzLCByLCBnLCBiLCBhKQoreworICAgIHZh
ciBteUNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICAgIG15Q2Fu
dmFzLndpZHRoID0gd2lkdGg7CisgICAgbXlDYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgIHZh
ciBteUN0eCA9IG15Q2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgICAgbXlDdHguZHJhd0ltYWdl
KGJpdG1hcENhbnZhcywgMCwgMCk7CisgICAgdmFyIGNvbG9yID0gbXlDdHguZ2V0SW1hZ2VEYXRh
KDUsIDUsIDEsIDEpLmRhdGE7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhjb2xvciwgW3IsIGcs
IGIsIGFdKTsKK30KKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgeworICAgIGZ1bmN0aW9uIHRl
c3RUcmFuc2ZlckZyb21JbWFnZUJpdG1hcE51bGxhYmlsaXR5KGdyZWVuSW1hZ2UsIHJlZEltYWdl
KSB7CisgICAgICAgIHZhciBiaXRtYXBDYW52YXMgPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRo
LGhlaWdodCk7CisgICAgICAgIHZhciBiaXRtYXBDdHggPSBiaXRtYXBDYW52YXMuZ2V0Q29udGV4
dCgnYml0bWFwcmVuZGVyZXInKTsKKyAgICAgICAgYml0bWFwQ3R4LnRyYW5zZmVyRnJvbUltYWdl
Qml0bWFwKGdyZWVuSW1hZ2UpOworCisgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgYml0bWFwIHJl
bmRlcmVyIGNhbnZhcyBpcyBmaWxsZWQgY29ycmVjdGx5LgorICAgICAgICB0ZXN0Q2FudmFzKGJp
dG1hcENhbnZhcywgMCwgMjU1LCAwLCAyNTUpOworCisgICAgICAgIC8vIFRlc3QgaWYgcGFzc2lu
ZyBudWxsIHJlc2V0cyB0aGUgYml0bWFwIHJlbmRlcmVyIGNhbnZhcy4KKyAgICAgICAgLy8gRHJh
d2luZyB0aGUgcmVzZXR0ZWQgY2FudmFzIGNhbm5vdCBjaGFuZ2UgdGhlIGRlc3RpbmF0aW9uIGNh
bnZhcy4KKyAgICAgICAgYml0bWFwQ3R4LnRyYW5zZmVyRnJvbUltYWdlQml0bWFwKG51bGwpOwor
ICAgICAgICB0ZXN0Q2FudmFzKGJpdG1hcENhbnZhcywgMCwgMCwgMCwgMCk7CisKKyAgICAgICAg
Ly8gVGVzdCBpZiB3ZSBjYW4gcmVkcmF3IHRoZSBiaXRtYXAgY2FudmFzIGNvcnJlY3RseSBhZnRl
ciByZXNldC4KKyAgICAgICAgYml0bWFwQ3R4LnRyYW5zZmVyRnJvbUltYWdlQml0bWFwKHJlZElt
YWdlKTsKKyAgICAgICAgdGVzdENhbnZhcyhiaXRtYXBDYW52YXMsIDI1NSwgMCwgMCwgMjU1KTsK
KyAgICB9CisKKyAgICB2YXIgZ3JlZW5DYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdj
YW52YXMnKTsKKyAgICBncmVlbkNhbnZhcy53aWR0aCA9IHdpZHRoOworICAgIGdyZWVuQ2FudmFz
LmhlaWdodCA9IGhlaWdodDsKKyAgICB2YXIgZ3JlZW5DdHggPSBncmVlbkNhbnZhcy5nZXRDb250
ZXh0KCcyZCcpOworICAgIGdyZWVuQ3R4LmZpbGxTdHlsZSA9ICcjMGYwJzsKKyAgICBncmVlbkN0
eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKworICAgIHZhciByZWRDYW52YXMgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICByZWRDYW52YXMud2lkdGggPSB3
aWR0aDsKKyAgICByZWRDYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworICAgIHZhciByZWRDdHggPSBy
ZWRDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICByZWRDdHguZmlsbFN0eWxlID0gJyNmMDAn
OworICAgIHJlZEN0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKworICAgIHJldHVy
biBQcm9taXNlLmFsbChbCisgICAgICAgIGNyZWF0ZUltYWdlQml0bWFwKGdyZWVuQ2FudmFzKSwK
KyAgICAgICAgY3JlYXRlSW1hZ2VCaXRtYXAocmVkQ2FudmFzKSwKKyAgICBdKS50aGVuKChbZ3Jl
ZW5JbWFnZSwgcmVkSW1hZ2VdKSA9PiB7CisgICAgICAgIHRlc3RUcmFuc2ZlckZyb21JbWFnZUJp
dG1hcE51bGxhYmlsaXR5KGdyZWVuSW1hZ2UsIHJlZEltYWdlKTsKKyAgICB9KTsKK30sJ1Rlc3Qg
dGhhdCB0cmFuc2ZlckZyb21JbWFnZUJpdG1hcChudWxsKSBkaXNjYXJkcyB0aGUgcHJldmlvdXNs
eSB0cmFuc2ZlcnJlZCBpbWFnZScpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5n
Y29udGV4dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLW51bGwuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4
dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLW51bGwuaHRtbAppbmRleCBjMTJhOGM5M2ZkYjBmODNj
MzcxOTgyOTU4ODM4YjhmYTI5YzRmOTFkLi4xOWQyZjE3ZWQzYWZmNDNkYTAzODM2YjhhNjIyNzJl
MjBiZjEyZTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJhbmZlckZyb21JbWFnZUJp
dG1hcC1udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRt
YXAtbnVsbC5odG1sCkBAIC04LDkgKzgsMTQgQEAKIHZhciB3aWR0aCA9IDEwOwogdmFyIGhlaWdo
dCA9IDEwOwogCi1mdW5jdGlvbiB0ZXN0Q2FudmFzKGN0eCwgciwgZywgYiwgYSkKK2Z1bmN0aW9u
IHRlc3RDYW52YXMoYml0bWFwQ2FudmFzLCByLCBnLCBiLCBhKQogewotICAgIHZhciBjb2xvciA9
IGN0eC5nZXRJbWFnZURhdGEoNSwgNSwgMSwgMSkuZGF0YTsKKyAgICB2YXIgbXlDYW52YXMgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICBteUNhbnZhcy53aWR0aCA9IHdp
ZHRoOworICAgIG15Q2FudmFzLmhlaWdodCA9IGhlaWdodDsKKyAgICB2YXIgbXlDdHggPSBteUNh
bnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgIG15Q3R4LmRyYXdJbWFnZShiaXRtYXBDYW52YXMs
IDAsIDApOworICAgIHZhciBjb2xvciA9IG15Q3R4LmdldEltYWdlRGF0YSg1LCA1LCAxLCAxKS5k
YXRhOwogICAgIGFzc2VydF9hcnJheV9lcXVhbHMoY29sb3IsIFtyLCBnLCBiLCBhXSk7CiB9CiAK
QEAgLTIzLDMxICsyOCwxNiBAQCBwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIGJp
dG1hcEN0eC50cmFuc2ZlckZyb21JbWFnZUJpdG1hcChncmVlbkltYWdlKTsKIAogICAgICAgICAv
LyBNYWtlIHN1cmUgdGhlIGJpdG1hcCByZW5kZXJlciBjYW52YXMgaXMgZmlsbGVkIGNvcnJlY3Rs
eS4KLSAgICAgICAgdmFyIG15Q2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFz
Jyk7Ci0gICAgICAgIG15Q2FudmFzLndpZHRoID0gd2lkdGg7Ci0gICAgICAgIG15Q2FudmFzLmhl
aWdodCA9IGhlaWdodDsKLSAgICAgICAgdmFyIG15Q3R4ID0gbXlDYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKLSAgICAgICAgbXlDdHguZHJhd0ltYWdlKGJpdG1hcENhbnZhcywgMCwgMCk7Ci0gICAg
ICAgIHRlc3RDYW52YXMobXlDdHgsIDAsIDI1NSwgMCwgMjU1KTsKKyAgICAgICAgdGVzdENhbnZh
cyhiaXRtYXBDYW52YXMsIDAsIDI1NSwgMCwgMjU1KTsKIAogICAgICAgICAvLyBUZXN0IGlmIHBh
c3NpbmcgbnVsbCByZXNldHMgdGhlIGJpdG1hcCByZW5kZXJlciBjYW52YXMuCiAgICAgICAgIC8v
IERyYXdpbmcgdGhlIHJlc2V0dGVkIGNhbnZhcyBjYW5ub3QgY2hhbmdlIHRoZSBkZXN0aW5hdGlv
biBjYW52YXMuCiAgICAgICAgIGJpdG1hcEN0eC50cmFuc2ZlckZyb21JbWFnZUJpdG1hcChudWxs
KTsKLSAgICAgICAgdmFyIG15Q2FudmFzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZh
cycpOwotICAgICAgICBteUNhbnZhczIud2lkdGggPSB3aWR0aDsKLSAgICAgICAgbXlDYW52YXMy
LmhlaWdodCA9IGhlaWdodDsKLSAgICAgICAgdmFyIG15Q3R4MiA9IG15Q2FudmFzMi5nZXRDb250
ZXh0KCcyZCcpOwotICAgICAgICBteUN0eDIuZHJhd0ltYWdlKGJpdG1hcENhbnZhcywgMCwgMCk7
Ci0gICAgICAgIHRlc3RDYW52YXMobXlDdHgyLCAwLCAwLCAwLCAwKTsKKyAgICAgICAgdGVzdENh
bnZhcyhiaXRtYXBDYW52YXMsIDAsIDAsIDAsIDApOwogCiAgICAgICAgIC8vIFRlc3QgaWYgd2Ug
Y2FuIHJlZHJhdyB0aGUgYml0bWFwIGNhbnZhcyBjb3JyZWN0bHkgYWZ0ZXIgcmVzZXQuCiAgICAg
ICAgIGJpdG1hcEN0eC50cmFuc2ZlckZyb21JbWFnZUJpdG1hcChyZWRJbWFnZSk7Ci0gICAgICAg
IHZhciBteUNhbnZhczMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKLSAgICAg
ICAgbXlDYW52YXMzLndpZHRoID0gd2lkdGg7Ci0gICAgICAgIG15Q2FudmFzMy5oZWlnaHQgPSBo
ZWlnaHQ7Ci0gICAgICAgIHZhciBteUN0eDMgPSBteUNhbnZhczMuZ2V0Q29udGV4dCgnMmQnKTsK
LSAgICAgICAgbXlDdHgzLmRyYXdJbWFnZShiaXRtYXBDYW52YXMsIDAsIDApOwotICAgICAgICB0
ZXN0Q2FudmFzKG15Q3R4MywgMjU1LCAwLCAwLCAyNTUpOworICAgICAgICB0ZXN0Q2FudmFzKGJp
dG1hcENhbnZhcywgMjU1LCAwLCAwLCAyNTUpOwogICAgIH0KIAogICAgIHZhciBncmVlbkNhbnZh
cyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJp
bmdjb250ZXh0L3RyYW5zZmVyRnJvbUltYWdlQml0bWFwLWRldGFjaGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmlu
Z2NvbnRleHQvdHJhbnNmZXJGcm9tSW1hZ2VCaXRtYXAtZGV0YWNoZWQuaHRtbAppbmRleCBjMGFl
ODQxNDhhZjU4Njc2NGIyNGU4MjhjMGJhNzI3OTMyMzBlNzZmLi40MGJmNmVlYjU2ODcxYmUyYTkz
NzM3NzBlZDFmM2I4MmY3Mzk4YTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJhbnNm
ZXJGcm9tSW1hZ2VCaXRtYXAtZGV0YWNoZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdHJh
bnNmZXJGcm9tSW1hZ2VCaXRtYXAtZGV0YWNoZWQuaHRtbApAQCAtMTksNyArMTksNyBAQCBwcm9t
aXNlX3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIC8vIFRoZSBpbWFnZSBzaG91bGQgYmUgZGV0
YWNoZWQgYWZ0ZXIgdHJhbnNmZXJGcm9tSW1hZ2VCaXRtYXAuCiAgICAgICAgIGFzc2VydF9lcXVh
bHMoaW1hZ2Uud2lkdGgsIDApOwogICAgICAgICBhc3NlcnRfZXF1YWxzKGltYWdlLmhlaWdodCwg
MCk7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIkludmFsaWRTdGF0ZUVycm9yIiwgZnVuY3Rpb24o
KSB7IGRzdEN0eC50cmFuc2ZlckZyb21JbWFnZUJpdG1hcChpbWFnZSk7IH0pOworICAgICAgICBh
c3NlcnRfdGhyb3dzX2RvbSgiSW52YWxpZFN0YXRlRXJyb3IiLCBmdW5jdGlvbigpIHsgZHN0Q3R4
LnRyYW5zZmVyRnJvbUltYWdlQml0bWFwKGltYWdlKTsgfSk7CiAgICAgfQogCiAgICAgdmFyIHNy
Y0NhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1y
ZW5kZXJpbmdjb250ZXh0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3czYy1pbXBv
cnQubG9nCmluZGV4IGUxNTY0M2I5N2ZiOTE5YWRjODdkNzM5ZGZlNjQ1ZDlmODk5NjRkNzcuLjc4
YTIwNjZmYmExN2I4NDllYzU1ZmMxYmY1MmU1NWYzM2UwM2VlYTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2ViaXRtYXAtcmVuZGVy
aW5nY29udGV4dC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvdzNjLWltcG9y
dC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKIApAQCAtMTQsOSArMTQsMTYgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJp
bmdjb250ZXh0L01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2JpdG1hcHJlbmRlcmVyLWFzLWlt
YWdlc291cmNlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi1vZmZzY3Jl
ZW4td2l0aC1hbHBoYS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L2NvbnRleHQtY3JlYXRpb24tb2Zm
c2NyZWVuLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ltYWdlYml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi13aXRoLWFscGhh
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ltYWdl
Yml0bWFwLXJlbmRlcmluZ2NvbnRleHQvY29udGV4dC1jcmVhdGlvbi5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdj
b250ZXh0L2NvbnRleHQtcHJlc2VydmVzLWNhbnZhcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3Rv
QmxvYi1vcmlnaW4tY2xlYW4tb2Zmc2NyZWVuLnN1Yi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3Ry
YW5mZXJGcm9tSW1hZ2VCaXRtYXAtVG9CbG9iLW9mZnNjcmVlbi5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFnZWJpdG1hcC1yZW5kZXJpbmdjb250
ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtVHJhbnNmZXJUb0ltYWdlQml0bWFwLW9mZnNjcmVl
bi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbWFn
ZWJpdG1hcC1yZW5kZXJpbmdjb250ZXh0L3RyYW5mZXJGcm9tSW1hZ2VCaXRtYXAtbnVsbC1vZmZz
Y3JlZW4uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW1hZ2ViaXRtYXAtcmVuZGVyaW5nY29udGV4dC90cmFuZmVyRnJvbUltYWdlQml0bWFwLW51bGwu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW1hZ2Vi
aXRtYXAtcmVuZGVyaW5nY29udGV4dC90cmFuc2ZlckZyb21JbWFnZUJpdG1hcC1kZXRhY2hlZC5o
dG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>