<?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>211969</bug_id>
          
          <creation_ts>2020-05-15 15:19:59 -0700</creation_ts>
          <short_desc>[iOS] Unexpected capitalization of next word after repositioning caret</short_desc>
          <delta_ts>2020-05-18 08:23:13 -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>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>megan_gardner</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>1653197</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-15 15:19:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/62605526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653213</commentid>
    <comment_count>1</comment_count>
      <attachid>399522</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-15 15:46:58 -0700</bug_when>
    <thetext>Created attachment 399522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653242</commentid>
    <comment_count>2</comment_count>
      <attachid>399530</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-15 17:11:49 -0700</bug_when>
    <thetext>Created attachment 399530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653614</commentid>
    <comment_count>3</comment_count>
      <attachid>399530</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-05-18 08:16:04 -0700</bug_when>
    <thetext>Comment on attachment 399530
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653618</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-18 08:23:13 -0700</bug_when>
    <thetext>Committed r261812: &lt;https://trac.webkit.org/changeset/261812&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399530.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399522</attachid>
            <date>2020-05-15 15:46:58 -0700</date>
            <delta_ts>2020-05-15 17:11:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211969-20200515154656.patch</filename>
            <type>text/plain</type>
            <size>15825</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA4NDI2YTU5NzFhNjUwNmU0
ZGNhZGIwODEzOTc2OTU2NGNhNGMzMDMuLjMyOWQ5MWY1MmM3ZWVmYWQwYmI5NTg5MzJiNDVmMTVm
YzkxNDEwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAtMDUtMTUgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVW5leHBlY3Rl
ZCBjYXBpdGFsaXphdGlvbiBvZiBuZXh0IHdvcmQgYWZ0ZXIgcmVwb3NpdGlvbmluZyBjYXJldAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExOTY5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjYwNTUyNj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY2hhbmdlcyBpbiByMjQyNTUxIHJlZmFjdG9y
ZWQgc3luY2hyb25vdXMgYXV0b2NvcnJlY3Rpb24gY29udGV4dCByZXF1ZXN0IGxvZ2ljIHN1Y2gg
dGhhdCBpdCB1c2VzCisgICAgICAgIGB3YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseWAgaW5z
dGVhZCBvZiBgc2VuZFN5bmNgLCBpbiBvcmRlciB0byBtYWtlIGl0IGludGVycnVwdGlibGUgYnkg
dW5ib3VuZGVkIHN5bmMgSVBDCisgICAgICAgIHNlbnQgZnJvbSB0aGUgd2ViIHByb2Nlc3MuIElm
IHRoZSBVSSBwcm9jZXNzIHJlY2VpdmVzIHN5bmMgSVBDLCBpdCB3aWxsIGltbWVkaWF0ZWx5IGNh
bmNlbCB0aGUgYXV0b2NvcnJlY3Rpb24KKyAgICAgICAgY29udGV4dCByZXF1ZXN0IChyZXR1cm5p
bmcgYW4gZW1wdHkgY29udGV4dCksIGJlZm9yZSBwcm9jZWVkaW5nIHRvIGhhbmRsZSB0aGUgaW5j
b21pbmcgc3luYyBJUEMuCisKKyAgICAgICAgSW4gYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIGlP
Uywgb3RoZXIgY2hhbmdlcyBhcm91bmQgc3BlbGxjaGVja2luZyBoYXZlIGNhdXNlZCB0aGUgc3lu
Y2hyb25vdXMgbWVzc2FnZQorICAgICAgICBgV2ViUGFnZVByb3h5OjpjaGVja1RleHRPZlBhcmFn
cmFwaGAgdG8gYmUgc2VudCBmcm9tIHRoZSB3ZWIgcHJvY2VzcyBpbiBzdWNoIGEgd2F5IHRoYXQg
aXQgbm93IGZyZXF1ZW50bHkKKyAgICAgICAgY29pbmNpZGVzIHdpdGggdGhlIHN5bmNocm9ub3Vz
IGF1dG9jb3JyZWN0aW9uIGNvbnRleHQgcmVxdWVzdCBiZWluZyBzZW50IGZyb20gdGhlIFVJIHBy
b2Nlc3MuIFRoZSByZXN1bHQgaXMgdGhhdAorICAgICAgICB3ZSBub3cgZnJlcXVlbnRseSBlbmQg
dXAgY2FuY2VsbGluZyBhdXRvY29ycmVjdGlvbiByZXF1ZXN0cyBlYXJseSBieSByZXNwb25kaW5n
IHdpdGggZW1wdHkgY29udGV4dHMuIFRoaXMKKyAgICAgICAgbWFuaWZlc3RzIGluIHRoZSBrZXli
b2FyZCBzb21ldGltZXMgbG9zaW5nIGluZm9ybWF0aW9uIGFib3V0IGl0cyBhdXRvY2FwaXRhbGl6
YXRpb24gY29udGV4dCBhbmQgYmVsaWV2aW5nIHRoYXQKKyAgICAgICAgaXQgaXMgaW4gYW4gZW1w
dHkgdGV4dCBmaWVsZCwgd2hpY2ggcmV2ZXJ0cyB0byBkZWZhdWx0IGF1dG9jb3JyZWN0aW9uIHN1
Z2dlc3Rpb25zIGFuZCBhdXRvY2FwaXRhbGl6ZXMgdGhlCisgICAgICAgIHNvZnR3YXJlIGtleWJv
YXJkLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBgSW50ZXJy
dXB0V2FpdGluZ0lmU3luY01lc3NhZ2VBcnJpdmVzYCBvcHRpb24gd2hlbiB3YWl0aW5nIGZvciB0
aGUgSVBDCisgICAgICAgIHJlc3BvbnNlLCBhZGQgYW5kIHVzZSBhIG5ldyBmbGFnIHRoYXQgYWxs
b3dzIHVzIHRvIHByb2Nlc3MgYW4gaW5jb21pbmcgc3luYyBJUEMgbWVzc2FnZSBpZiB3ZSdyZSB3
YWl0aW5nIGZvcgorICAgICAgICB0aGUgc3luYyBtZXNzYWdlIHJlc3BvbnNlLiBXZSB1c2UgdGhp
cyBuZXcgSVBDIGZsYWcgd2hlbiB3YWl0aW5nIHN5bmNocm9ub3VzbHkgZm9yIEhhbmRsZUF1dG9j
b3JyZWN0aW9uQ29udGV4dC4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9pb3Mv
Y2hhbmdpbmctc2VsZWN0aW9uLWRvZXMtbm90LXRyaWdnZXItYXV0b2NhcGl0YWxpemF0aW9uLmh0
bWwKKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQ
Qzo6Q29ubmVjdGlvbjo6cHJvY2Vzc0luY29taW5nTWVzc2FnZSk6CisKKyAgICAgICAgSWYgdGhl
IG5ldyBJUEMgZmxhZyBpcyBzZXQgYW5kIHRoZSBpbmNvbWluZyBtZXNzYWdlIGlzIHN5bmNocm9u
b3VzLCBhbGxvdyBpdCB0byBpbW1lZGlhdGVseSBkaXNwYXRjaCB0aGUgc3luYworICAgICAgICBt
ZXNzYWdlIGJ5IGVucXVldWVpbmcgaXQgYW5kIHRoZW4gd2FraW5nIHVwIGBtX3dhaXRGb3JNZXNz
YWdlQ29uZGl0aW9uYCBzbyB0aGF0IGl0IGNhbiBwcm9jZXNzIHRoZSBtZXNzYWdlLgorCisgICAg
ICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcmVxdWVzdEF1dG9jb3JyZWN0
aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjpdKToKKworICAgICAgICBVc2UgYERpc3Bh
dGNoSW5jb21pbmdTeW5jTWVzc2FnZXNXaGlsZVdhaXRpbmdgIGluc3RlYWQgb2YgYEludGVycnVw
dFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlc2AuCisKIDIwMjAtMDUtMTQgIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFBERlBsdWdpbjo6ZW5z
dXJlRGF0YUJ1ZmZlckxlbmd0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmNwcAppbmRleCBiMzJmZjRmNmJjMDAzYWYyNzAwYjlmODU3YTY1OThkZDYxYThhZDViLi43MjU4
NjYwY2M2Yzc2NWRmMzEyNzMwMGEyMjQ1ZWY4MTRjYjIzNmMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApAQCAtNzU0LDYgKzc1NCwxMSBAQCB2b2lkIENvbm5l
Y3Rpb246OnByb2Nlc3NJbmNvbWluZ01lc3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+IG1l
c3NhZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCisgICAgICAg
ICAgICBpZiAobV93YWl0aW5nRm9yTWVzc2FnZS0+d2FpdEZvck9wdGlvbnMuY29udGFpbnMoV2Fp
dEZvck9wdGlvbjo6RGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1doaWxlV2FpdGluZykgJiYg
bWVzc2FnZS0+aXNTeW5jTWVzc2FnZSgpICYmIFN5bmNNZXNzYWdlU3RhdGU6OnNpbmdsZXRvbigp
LnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoKnRoaXMsIG1lc3NhZ2UpKSB7CisgICAgICAgICAgICAg
ICAgbV93YWl0Rm9yTWVzc2FnZUNvbmRpdGlvbi5ub3RpZnlPbmUoKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGlmIChtX3dhaXRpbmdGb3JN
ZXNzYWdlLT53YWl0Rm9yT3B0aW9ucy5jb250YWlucyhXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRX
YWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMpICYmIG1lc3NhZ2UtPmlzU3luY01lc3NhZ2UoKSkg
ewogICAgICAgICAgICAgICAgIG1fd2FpdGluZ0Zvck1lc3NhZ2UtPm1lc3NhZ2VXYWl0aW5nSW50
ZXJydXB0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgIG1fd2FpdEZvck1lc3NhZ2VDb25kaXRp
b24ubm90aWZ5T25lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5k
ZXggODU5MTVmOGJiYWUwMDUzMTFkODQyNzMxZGQ1ZjgxNTU4YTkxZmQzYS4uNzkzZjliNGZiNDVk
MTRhMGQwY2EwNDIyNTAzZDVjMzcxMWU2MDcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaApAQCAtNzQsNiArNzQsNyBAQCBlbnVtIGNsYXNzIFNlbmRTeW5jT3B0aW9u
IHsKIGVudW0gY2xhc3MgV2FpdEZvck9wdGlvbiB7CiAgICAgLy8gVXNlIHRoaXMgdG8gbWFrZSB3
YWl0Rm9yTWVzc2FnZSBiZSBpbnRlcnJ1cHRlZCBpbW1lZGlhdGVseSBieSBhbnkgaW5jb21pbmcg
c3luYyBtZXNzYWdlcy4KICAgICBJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMg
PSAxIDw8IDAsCisgICAgRGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1doaWxlV2FpdGluZyA9
IDEgPDwgMSwKIH07CiAKICNkZWZpbmUgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgY29u
bmVjdGlvbikgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OX0JBU0UoYXNzZXJ0aW9uLCBjb25uZWN0
aW9uLCAodm9pZCkwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9z
L1VJS2l0U1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApp
bmRleCBiYzFjMjUwNTFkNGFiZDlhODA5OTYyN2MwOTYxYWI5NDNiYmI3MTZjLi45YmFlYTRiZTIy
YjgyOGU2MGM1ZGFlMjFhNjU3Y2YzZjg0ZTcyZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L3NwaS9pb3MvVUlLaXRTUEkuaApAQCAtMzIxLDYgKzMyMSw3IEBAIHR5cGVkZWYgZW51bSB7CiAt
ICh2b2lkKWFkZElucHV0U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyB3aXRoRmxhZ3M6KE5TVUlu
dGVnZXIpZmxhZ3M7CiAtICh2b2lkKWFkZElucHV0U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyB3
aXRoRmxhZ3M6KE5TVUludGVnZXIpZmxhZ3Mgd2l0aElucHV0TWFuYWdlckhpbnQ6KE5TU3RyaW5n
ICopaGludDsKIC0gKEJPT0wpYXV0b2NvcnJlY3RTcGVsbGluZ0VuYWJsZWQ7CistIChCT09MKWlz
QXV0b1NoaWZ0ZWQ7CiAtICh2b2lkKWRlbGV0ZUZyb21JbnB1dDsKIC0gKHZvaWQpZGVsZXRlRnJv
bUlucHV0V2l0aEZsYWdzOihOU1VJbnRlZ2VyKWZsYWdzOwogLSAodm9pZClyZXBsYWNlVGV4dDoo
aWQpcmVwbGFjZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBlMDQ0ODk4ODUzMWYyYTMwZjI4YTFh
NWQzZTFiYjRlNGMxYWE2NjY2Li4zZmUyNWFjN2U2MmYxYzJmMWVlYTA3NTkwYjE1NTcyN2M3NmU1
Mzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQyMjgsNyArNDIyOCw3IEBAIC0gKHZvaWQpcmVxdWVz
dEF1dG9jb3JyZWN0aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVUlX
S0F1dG9jb3JyCiAgICAgX3BhZ2UtPnJlcXVlc3RBdXRvY29ycmVjdGlvbkNvbnRleHQoKTsKIAog
ICAgIGlmICh1c2VTeW5jUmVxdWVzdCkgewotICAgICAgICBfcGFnZS0+cHJvY2VzcygpLmNvbm5l
Y3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6SGFuZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0PihfcGFnZS0+d2ViUGFnZUlEKCksIDFf
cywgSVBDOjpXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2
ZXMpOworICAgICAgICBfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKS0+d2FpdEZvckFuZERp
c3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQXV0b2NvcnJl
Y3Rpb25Db250ZXh0PihfcGFnZS0+d2ViUGFnZUlEKCksIDFfcywgSVBDOjpXYWl0Rm9yT3B0aW9u
OjpEaXNwYXRjaEluY29taW5nU3luY01lc3NhZ2VzV2hpbGVXYWl0aW5nKTsKICAgICAgICAgW3Nl
bGYgX2NhbmNlbFBlbmRpbmdBdXRvY29ycmVjdGlvbkNvbnRleHRIYW5kbGVyXTsKICAgICB9CiB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjhm
MzVhYzJmYThhNGFlMjk0NzBiZTk0YjUwMzdkNWJhNDQ3YmEwOC4uNjgwNzdjOTI0NGMxYzNlZjc0
NjQ0YTQwM2E5ZjQ3NjhkNjU5NjEzYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA1LTE1ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVuZXhwZWN0ZWQg
Y2FwaXRhbGl6YXRpb24gb2YgbmV4dCB3b3JkIGFmdGVyIHJlcG9zaXRpb25pbmcgY2FyZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTk2OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjI2MDU1MjY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IFVJU2NyaXB0Q29udHJvbGxlciBob29r
IHRvIHF1ZXJ5IHdoZXRoZXIgb3Igbm90IHRoZSBzb2Z0d2FyZSBrZXlib2FyZCBpcyBpbiBzaGlm
dGVkIHN0YXRlLgorCisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQv
QmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBUZXN0UnVubmVyU2hh
cmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdUUjo6
VUlTY3JpcHRDb250cm9sbGVyOjprZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQgY29uc3Qp
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5o
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5t
bToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVySU9TOjprZXlib2FyZElzQXV0b21h
dGljYWxseVNoaWZ0ZWQgY29uc3QpOgorCiAyMDIwLTA1LTE0ICBNaWNoYWVsIENhdGFuemFybyAg
PG1jYXRhbnphcm9AZ25vbWUub3JnPgogCiAgICAgICAgIHN0cmVzcy9hcnJheS1idWZmZXItdmll
dy13YXRjaHBvaW50LWNhbi1iZS1maXJlZC1pbi1yZWFsbHktYWRkLWluLWRmZy5qcyBmYWlsaW5n
IG9uIHBwYzY0bGUgYW5kIHMzOTB4CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsIGIvVG9vbHMv
VGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9s
bGVyLmlkbAppbmRleCBjYTU3NTg4ZTNkODAyMjBlOGFjNzU2NGIyNzY3NTZiMGJmMzY0MmE5Li5i
OWRkYWExNmFmYWE4OTNhYWRhNWVkMzkxY2M1N2U5MzQ0MmE3NWYyIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRy
b2xsZXIuaWRsCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0Jp
bmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKQEAgLTgwLDYgKzgwLDggQEAgaW50ZXJmYWNl
IFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAgdm9pZCB0b2dnbGVDYXBzTG9jayhvYmplY3QgY2Fs
bGJhY2spOwogICAgIHZvaWQgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2xl
YW4gZW5hYmxlZCk7CiAKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBrZXlib2FyZElz
QXV0b21hdGljYWxseVNoaWZ0ZWQ7CisKICAgICB2b2lkIHJhd0tleURvd24oRE9NU3RyaW5nIGtl
eSk7CiAgICAgdm9pZCByYXdLZXlVcChET01TdHJpbmcga2V5KTsKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgg
Yi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xs
ZXIuaAppbmRleCAzNGY4Yzk2MmNkYTg1OTBlYzYxM2Y3MWEzZjVjZmUwZGU3ZDZkY2ZlLi40MTQ3
NWY0OGY5ZWZmOTRmZTVmMzA2MTMzZmYyZGU5YzdlM2JhOTdjIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaAorKysg
Yi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xs
ZXIuaApAQCAtMTYzLDYgKzE2MywxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGtleURv
d24oSlNTdHJpbmdSZWYgY2hhcmFjdGVyLCBKU1ZhbHVlUmVmIG1vZGlmaWVyQXJyYXkpIHsgbm90
SW1wbGVtZW50ZWQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCB0b2dnbGVDYXBzTG9jayhKU1ZhbHVl
UmVmIGNhbGxiYWNrKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0
Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wpIHsgbm90SW1wbGVtZW50ZWQoKTsg
fQorICAgIHZpcnR1YWwgYm9vbCBrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQoKSBjb25z
dAorICAgIHsKKyAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCByYXdLZXlEb3duKEpTU3RyaW5nUmVmKSB7IG5v
dEltcGxlbWVudGVkKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmF3S2V5VXAoSlNTdHJpbmdSZWYp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9VSVNjcmlwdENvbnRyb2xsZXJJT1MuaAppbmRleCA2MzQ4ZmJlMWFiMDI3MjYzZTZiYTFlYzU5
NTAzZjMxNDg4YjJhMmYwLi4xOTUxYjBkYTEyY2NjZWIwZWNiNDdhM2YwNTk0MjM3YzAyMDY5NWVi
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xs
ZXJJT1MuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xs
ZXJJT1MuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHB1YmxpYzoKICAgICBsb25nIG51bWJlck9mU3Ry
b2tlc0luRWRpdGFibGVJbWFnZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0S2V5Ym9hcmRJbnB1
dE1vZGVJZGVudGlmaWVyKEpTU3RyaW5nUmVmKSBvdmVycmlkZTsKICAgICB2b2lkIHRvZ2dsZUNh
cHNMb2NrKEpTVmFsdWVSZWYpIG92ZXJyaWRlOworICAgIGJvb2wga2V5Ym9hcmRJc0F1dG9tYXRp
Y2FsbHlTaGlmdGVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgSlNPYmplY3RSZWYgYXR0YWNobWVu
dEluZm8oSlNTdHJpbmdSZWYpIG92ZXJyaWRlOwogICAgIFVJVmlldyAqcGxhdGZvcm1Db250ZW50
VmlldygpIGNvbnN0IG92ZXJyaWRlOwogICAgIEpTT2JqZWN0UmVmIGNhbGVuZGFyVHlwZSgpIGNv
bnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlT
Y3JpcHRDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3Jp
cHRDb250cm9sbGVySU9TLm1tCmluZGV4IDE0ZTZkZjg3MWJhYTYxY2UyZGRmYWNkMjYxNDI5Y2Y3
OTM2YzEyYmMuLjY5ZWJiNzI5NTY4ZTdiMWM5NGNlODlkMWY3ODc3NzdkYzNhMTk5YjkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5t
bQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1Mu
bW0KQEAgLTEyMDUsNiArMTIwNSwxMSBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcklPUzo6dG9n
Z2xlQ2Fwc0xvY2soSlNWYWx1ZVJlZiBjYWxsYmFjaykKICAgICBkb0FzeW5jVGFzayhjYWxsYmFj
ayk7CiB9CiAKK2Jvb2wgVUlTY3JpcHRDb250cm9sbGVySU9TOjprZXlib2FyZElzQXV0b21hdGlj
YWxseVNoaWZ0ZWQoKSBjb25zdAoreworICAgIHJldHVybiBVSUtleWJvYXJkSW1wbC5hY3RpdmVJ
bnN0YW5jZS5pc0F1dG9TaGlmdGVkOworfQorCiBKU09iamVjdFJlZiBVSVNjcmlwdENvbnRyb2xs
ZXJJT1M6OmF0dGFjaG1lbnRJbmZvKEpTU3RyaW5nUmVmIGpzQXR0YWNobWVudElkZW50aWZpZXIp
CiB7CiAgICAgYXV0byBhdHRhY2htZW50SWRlbnRpZmllciA9IHRvV1RGU3RyaW5nKHRvV0soanNB
dHRhY2htZW50SWRlbnRpZmllcikpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg0YTJmNmRmYzdhZmZmOGE2ZGQzMGQzZjBm
YTVkNGZiMjZhYTAyNjkuLjdmNmZmMzdiZWMwYTExOTQxMWU4YTY2MTdjMTc5NzBlODBjYmUyMjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNS0xNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBVbmV4cGVjdGVkIGNhcGl0YWxpemF0
aW9uIG9mIG5leHQgd29yZCBhZnRlciByZXBvc2l0aW9uaW5nIGNhcmV0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE5NjkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzYyNjA1NTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIG5ldyBsYXlvdXQgdGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUga2V5
Ym9hcmQgZG9lcyBub3QgYXV0b21hdGljYWxseSBzaGlmdCAoaS5lLiBhdXRvY2FwaXRhbGl6ZSkg
d2hlbgorICAgICAgICBjaGFuZ2luZyBzZWxlY3Rpb24gcXVpY2tseSBpbnNpZGUgYSB0ZXh0IGZp
ZWxkLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NoYW5naW5nLXNlbGVjdGlv
bi1kb2VzLW5vdC10cmlnZ2VyLWF1dG9jYXBpdGFsaXphdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lvcy9jaGFuZ2luZy1zZWxlY3Rpb24tZG9l
cy1ub3QtdHJpZ2dlci1hdXRvY2FwaXRhbGl6YXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICog
cmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKyAgICAgICAgKHdpbmRvdy5VSUhlbHBlci5rZXlib2Fy
ZElzQXV0b21hdGljYWxseVNoaWZ0ZWQpOgorCiAyMDIwLTA1LTE0ICBEaWVnbyBQaW5vIEdhcmNp
YSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gR2FyZGVuaW5nLCB1cGRhdGUg
ZXhwZWN0YXRpb25zIGFmdGVyIHIyNjE2MDkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2lvcy9jaGFuZ2luZy1zZWxlY3Rpb24tZG9lcy1ub3QtdHJpZ2dlci1hdXRv
Y2FwaXRhbGl6YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaW9zL2NoYW5naW5nLXNlbGVjdGlvbi1kb2VzLW5vdC10cmlnZ2VyLWF1dG9jYXBpdGFsaXph
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBkN2MxNWNiZjg4MmJiNjcwMTQwNDNiYjll
OTYyZWNiOWU3YTQyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2lvcy9jaGFuZ2luZy1zZWxlY3Rpb24tZG9lcy1ub3QtdHJpZ2dlci1hdXRvY2FwaXRh
bGl6YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworVmVyaWZpZXMgdGhhdCB0
YXBwaW5nIHRvIGNoYW5nZSBzZWxlY3Rpb24gZG9lcyBub3QgbGVhdmUgdGhlIHNvZnR3YXJlIGtl
eWJvYXJkIGluIGEgc3RhdGUgd2hlcmUgaXQgaXMgYXV0b21hdGljYWxseSBzaGlmdGVkLiBUbyBt
YW51YWxseSBydW4gdGhlIHRlc3QsIGZvY3VzIHRoZSBpbnB1dCBmaWVsZCwgdGFwIG9uICd3b3Js
ZCcsIGFuZCB0aGVuIHRhcCBvbiAnaGVsbG8nIHN1Y2ggdGhhdCB0aGUgZmluYWwgc2VsZWN0aW9u
IGlzIGFmdGVyIHRoZSB3b3JkICdoZWxsbycuIFRoZSBrZXlib2FyZCBzaG91bGQgbm90IGJlIGlu
IHNoaWZ0ZWQgc3RhdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGtl
eWJvYXJkSXNBdXRvbWF0aWNhbGx5U2hpZnRlZCBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jaGFuZ2luZy1zZWxlY3Rpb24tZG9lcy1ub3QtdHJpZ2dl
ci1hdXRvY2FwaXRhbGl6YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2lvcy9jaGFuZ2luZy1zZWxlY3Rpb24tZG9lcy1ub3QtdHJpZ2dlci1hdXRvY2FwaXRhbGl6YXRp
b24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44ZDY0NjgwZGE5OTBmY2RmNzM3MGY4YTE2ZDA2MjI4MjEyMmQ2
NTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9z
L2NoYW5naW5nLXNlbGVjdGlvbi1kb2VzLW5vdC10cmlnZ2VyLWF1dG9jYXBpdGFsaXphdGlvbi5o
dG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8bWV0
YSBuYW1lPXZpZXdwb3J0IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2Fs
ZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKzxzdHlsZT4KK2JvZHksIGh0bWwgeworICAgIHdpZHRo
OiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKKyAgICBtYXJnaW46IDA7Cit9CisKK2lucHV0IHsK
KyAgICBmb250LXNpemU6IDQwcHg7CisgICAgd2lkdGg6IDMwMHB4OworICAgIGhlaWdodDogMTAw
cHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGlucHV0IHZhbHVlPSJoZWxs
byB3b3JsZCI+CisgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisgICAgPHAgaWQ9ImNvbnNv
bGUiPjwvcD4KKyAgICA8c2NyaXB0PgorICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiaW5wdXQiKTsKKyAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgIGFzeW5j
IGZ1bmN0aW9uIHRhcEFuZFdhaXRGb3JTZWxlY3Rpb25DaGFuZ2UoeCwgeSkKKyAgICB7CisgICAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICAgICAgbGV0IGRvbmVD
b3VudCA9IDA7CisgICAgICAgICAgICBjb25zdCBjaGVja0RvbmUgPSAoKSA9PiB7CisgICAgICAg
ICAgICAgICAgaWYgKCsrZG9uZUNvdW50ICE9IDIpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVj
dGlvbmNoYW5nZSIsIGNoZWNrRG9uZSk7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAg
ICAgICAgICAgfTsKKyAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVj
dGlvbmNoYW5nZSIsIGNoZWNrRG9uZSk7CisgICAgICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUF0
KHgsIHkpLnRoZW4oY2hlY2tEb25lKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgZGVzY3JpcHRpb24oIlZl
cmlmaWVzIHRoYXQgdGFwcGluZyB0byBjaGFuZ2Ugc2VsZWN0aW9uIGRvZXMgbm90IGxlYXZlIHRo
ZSBzb2Z0d2FyZSBrZXlib2FyZCBpbiBhIHN0YXRlIHdoZXJlIGl0IGlzIGF1dG9tYXRpY2FsbHkg
c2hpZnRlZC4gVG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0LCBmb2N1cyB0aGUgaW5wdXQgZmllbGQs
IHRhcCBvbiAnd29ybGQnLCBhbmQgdGhlbiB0YXAgb24gJ2hlbGxvJyBzdWNoIHRoYXQgdGhlIGZp
bmFsIHNlbGVjdGlvbiBpcyBhZnRlciB0aGUgd29yZCAnaGVsbG8nLiBUaGUga2V5Ym9hcmQgc2hv
dWxkIG5vdCBiZSBpbiBzaGlmdGVkIHN0YXRlLiIpOworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5zZXRIYXJkd2FyZUtleWJvYXJkQXR0
YWNoZWQoZmFsc2UpOworCisgICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudEFu
ZFdhaXRGb3JJbnB1dFNlc3Npb24oaW5wdXQpOworICAgICAgICBhd2FpdCB0YXBBbmRXYWl0Rm9y
U2VsZWN0aW9uQ2hhbmdlKDE1MCwgNTApOworICAgICAgICBhd2FpdCB0YXBBbmRXYWl0Rm9yU2Vs
ZWN0aW9uQ2hhbmdlKDc1LCA1MCk7CisKKyAgICAgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJl
c2VudGF0aW9uVXBkYXRlKCk7CisgICAgICAgIGtleWJvYXJkSXNBdXRvbWF0aWNhbGx5U2hpZnRl
ZCA9IGF3YWl0IFVJSGVscGVyLmtleWJvYXJkSXNBdXRvbWF0aWNhbGx5U2hpZnRlZCgpOworCisg
ICAgICAgIHNob3VsZEJlRmFsc2UoImtleWJvYXJkSXNBdXRvbWF0aWNhbGx5U2hpZnRlZCIpOwor
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcyBiL0xh
eW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKaW5kZXggZDM3ZTE5ZDZlN2Q0MTk5NTRi
YTQ2OTk5N2QzZjExYmUyMmY4M2ZkMy4uOWUzOGJiODJlNjE5MmQxYmM1Njc2ZTJiY2YxMDAzZjc4
ZTY1NGU3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCkBAIC0zMDgsNiArMzA4LDEz
IEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAgICAgICAgfSk7CiAgICAg
fQogCisgICAgc3RhdGljIGtleWJvYXJkSXNBdXRvbWF0aWNhbGx5U2hpZnRlZCgpCisgICAgewor
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLnJ1blVJU2NyaXB0KGB1aUNvbnRyb2xsZXIua2V5Ym9hcmRJc0F1dG9tYXRpY2FsbHlT
aGlmdGVkYCwgcmVzdWx0ID0+IHJlc29sdmUocmVzdWx0ID09PSAidHJ1ZSIpKTsKKyAgICAgICAg
fSk7CisgICAgfQorCiAgICAgc3RhdGljIGVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpCiAgICAg
ewogICAgICAgICBpZiAoIXRoaXMuaXNXZWJLaXQyKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399530</attachid>
            <date>2020-05-15 17:11:49 -0700</date>
            <delta_ts>2020-05-18 08:23:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211969-20200515171147.patch</filename>
            <type>text/plain</type>
            <size>17419</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA4NDI2YTU5NzFhNjUwNmU0
ZGNhZGIwODEzOTc2OTU2NGNhNGMzMDMuLjMyOWQ5MWY1MmM3ZWVmYWQwYmI5NTg5MzJiNDVmMTVm
YzkxNDEwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjAtMDUtMTUgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVW5leHBlY3Rl
ZCBjYXBpdGFsaXphdGlvbiBvZiBuZXh0IHdvcmQgYWZ0ZXIgcmVwb3NpdGlvbmluZyBjYXJldAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExOTY5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MjYwNTUyNj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY2hhbmdlcyBpbiByMjQyNTUxIHJlZmFjdG9y
ZWQgc3luY2hyb25vdXMgYXV0b2NvcnJlY3Rpb24gY29udGV4dCByZXF1ZXN0IGxvZ2ljIHN1Y2gg
dGhhdCBpdCB1c2VzCisgICAgICAgIGB3YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseWAgaW5z
dGVhZCBvZiBgc2VuZFN5bmNgLCBpbiBvcmRlciB0byBtYWtlIGl0IGludGVycnVwdGlibGUgYnkg
dW5ib3VuZGVkIHN5bmMgSVBDCisgICAgICAgIHNlbnQgZnJvbSB0aGUgd2ViIHByb2Nlc3MuIElm
IHRoZSBVSSBwcm9jZXNzIHJlY2VpdmVzIHN5bmMgSVBDLCBpdCB3aWxsIGltbWVkaWF0ZWx5IGNh
bmNlbCB0aGUgYXV0b2NvcnJlY3Rpb24KKyAgICAgICAgY29udGV4dCByZXF1ZXN0IChyZXR1cm5p
bmcgYW4gZW1wdHkgY29udGV4dCksIGJlZm9yZSBwcm9jZWVkaW5nIHRvIGhhbmRsZSB0aGUgaW5j
b21pbmcgc3luYyBJUEMuCisKKyAgICAgICAgSW4gYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIGlP
Uywgb3RoZXIgY2hhbmdlcyBhcm91bmQgc3BlbGxjaGVja2luZyBoYXZlIGNhdXNlZCB0aGUgc3lu
Y2hyb25vdXMgbWVzc2FnZQorICAgICAgICBgV2ViUGFnZVByb3h5OjpjaGVja1RleHRPZlBhcmFn
cmFwaGAgdG8gYmUgc2VudCBmcm9tIHRoZSB3ZWIgcHJvY2VzcyBpbiBzdWNoIGEgd2F5IHRoYXQg
aXQgbm93IGZyZXF1ZW50bHkKKyAgICAgICAgY29pbmNpZGVzIHdpdGggdGhlIHN5bmNocm9ub3Vz
IGF1dG9jb3JyZWN0aW9uIGNvbnRleHQgcmVxdWVzdCBiZWluZyBzZW50IGZyb20gdGhlIFVJIHBy
b2Nlc3MuIFRoZSByZXN1bHQgaXMgdGhhdAorICAgICAgICB3ZSBub3cgZnJlcXVlbnRseSBlbmQg
dXAgY2FuY2VsbGluZyBhdXRvY29ycmVjdGlvbiByZXF1ZXN0cyBlYXJseSBieSByZXNwb25kaW5n
IHdpdGggZW1wdHkgY29udGV4dHMuIFRoaXMKKyAgICAgICAgbWFuaWZlc3RzIGluIHRoZSBrZXli
b2FyZCBzb21ldGltZXMgbG9zaW5nIGluZm9ybWF0aW9uIGFib3V0IGl0cyBhdXRvY2FwaXRhbGl6
YXRpb24gY29udGV4dCBhbmQgYmVsaWV2aW5nIHRoYXQKKyAgICAgICAgaXQgaXMgaW4gYW4gZW1w
dHkgdGV4dCBmaWVsZCwgd2hpY2ggcmV2ZXJ0cyB0byBkZWZhdWx0IGF1dG9jb3JyZWN0aW9uIHN1
Z2dlc3Rpb25zIGFuZCBhdXRvY2FwaXRhbGl6ZXMgdGhlCisgICAgICAgIHNvZnR3YXJlIGtleWJv
YXJkLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBgSW50ZXJy
dXB0V2FpdGluZ0lmU3luY01lc3NhZ2VBcnJpdmVzYCBvcHRpb24gd2hlbiB3YWl0aW5nIGZvciB0
aGUgSVBDCisgICAgICAgIHJlc3BvbnNlLCBhZGQgYW5kIHVzZSBhIG5ldyBmbGFnIHRoYXQgYWxs
b3dzIHVzIHRvIHByb2Nlc3MgYW4gaW5jb21pbmcgc3luYyBJUEMgbWVzc2FnZSBpZiB3ZSdyZSB3
YWl0aW5nIGZvcgorICAgICAgICB0aGUgc3luYyBtZXNzYWdlIHJlc3BvbnNlLiBXZSB1c2UgdGhp
cyBuZXcgSVBDIGZsYWcgd2hlbiB3YWl0aW5nIHN5bmNocm9ub3VzbHkgZm9yIEhhbmRsZUF1dG9j
b3JyZWN0aW9uQ29udGV4dC4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9pb3Mv
Y2hhbmdpbmctc2VsZWN0aW9uLWRvZXMtbm90LXRyaWdnZXItYXV0b2NhcGl0YWxpemF0aW9uLmh0
bWwKKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDoKKyAgICAgICAgKElQ
Qzo6Q29ubmVjdGlvbjo6cHJvY2Vzc0luY29taW5nTWVzc2FnZSk6CisKKyAgICAgICAgSWYgdGhl
IG5ldyBJUEMgZmxhZyBpcyBzZXQgYW5kIHRoZSBpbmNvbWluZyBtZXNzYWdlIGlzIHN5bmNocm9u
b3VzLCBhbGxvdyBpdCB0byBpbW1lZGlhdGVseSBkaXNwYXRjaCB0aGUgc3luYworICAgICAgICBt
ZXNzYWdlIGJ5IGVucXVldWVpbmcgaXQgYW5kIHRoZW4gd2FraW5nIHVwIGBtX3dhaXRGb3JNZXNz
YWdlQ29uZGl0aW9uYCBzbyB0aGF0IGl0IGNhbiBwcm9jZXNzIHRoZSBtZXNzYWdlLgorCisgICAg
ICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcmVxdWVzdEF1dG9jb3JyZWN0
aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjpdKToKKworICAgICAgICBVc2UgYERpc3Bh
dGNoSW5jb21pbmdTeW5jTWVzc2FnZXNXaGlsZVdhaXRpbmdgIGluc3RlYWQgb2YgYEludGVycnVw
dFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlc2AuCisKIDIwMjAtMDUtMTQgIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFBERlBsdWdpbjo6ZW5z
dXJlRGF0YUJ1ZmZlckxlbmd0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmNwcAppbmRleCBiMzJmZjRmNmJjMDAzYWYyNzAwYjlmODU3YTY1OThkZDYxYThhZDViLi43MjU4
NjYwY2M2Yzc2NWRmMzEyNzMwMGEyMjQ1ZWY4MTRjYjIzNmMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApAQCAtNzU0LDYgKzc1NCwxMSBAQCB2b2lkIENvbm5l
Y3Rpb246OnByb2Nlc3NJbmNvbWluZ01lc3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+IG1l
c3NhZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCisgICAgICAg
ICAgICBpZiAobV93YWl0aW5nRm9yTWVzc2FnZS0+d2FpdEZvck9wdGlvbnMuY29udGFpbnMoV2Fp
dEZvck9wdGlvbjo6RGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1doaWxlV2FpdGluZykgJiYg
bWVzc2FnZS0+aXNTeW5jTWVzc2FnZSgpICYmIFN5bmNNZXNzYWdlU3RhdGU6OnNpbmdsZXRvbigp
LnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoKnRoaXMsIG1lc3NhZ2UpKSB7CisgICAgICAgICAgICAg
ICAgbV93YWl0Rm9yTWVzc2FnZUNvbmRpdGlvbi5ub3RpZnlPbmUoKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGlmIChtX3dhaXRpbmdGb3JN
ZXNzYWdlLT53YWl0Rm9yT3B0aW9ucy5jb250YWlucyhXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRX
YWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMpICYmIG1lc3NhZ2UtPmlzU3luY01lc3NhZ2UoKSkg
ewogICAgICAgICAgICAgICAgIG1fd2FpdGluZ0Zvck1lc3NhZ2UtPm1lc3NhZ2VXYWl0aW5nSW50
ZXJydXB0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgIG1fd2FpdEZvck1lc3NhZ2VDb25kaXRp
b24ubm90aWZ5T25lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9D
b25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5k
ZXggODU5MTVmOGJiYWUwMDUzMTFkODQyNzMxZGQ1ZjgxNTU4YTkxZmQzYS4uNzkzZjliNGZiNDVk
MTRhMGQwY2EwNDIyNTAzZDVjMzcxMWU2MDcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaApAQCAtNzQsNiArNzQsNyBAQCBlbnVtIGNsYXNzIFNlbmRTeW5jT3B0aW9u
IHsKIGVudW0gY2xhc3MgV2FpdEZvck9wdGlvbiB7CiAgICAgLy8gVXNlIHRoaXMgdG8gbWFrZSB3
YWl0Rm9yTWVzc2FnZSBiZSBpbnRlcnJ1cHRlZCBpbW1lZGlhdGVseSBieSBhbnkgaW5jb21pbmcg
c3luYyBtZXNzYWdlcy4KICAgICBJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMg
PSAxIDw8IDAsCisgICAgRGlzcGF0Y2hJbmNvbWluZ1N5bmNNZXNzYWdlc1doaWxlV2FpdGluZyA9
IDEgPDwgMSwKIH07CiAKICNkZWZpbmUgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgY29u
bmVjdGlvbikgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OX0JBU0UoYXNzZXJ0aW9uLCBjb25uZWN0
aW9uLCAodm9pZCkwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9z
L1VJS2l0U1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApp
bmRleCBiYzFjMjUwNTFkNGFiZDlhODA5OTYyN2MwOTYxYWI5NDNiYmI3MTZjLi45YmFlYTRiZTIy
YjgyOGU2MGM1ZGFlMjFhNjU3Y2YzZjg0ZTcyZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L3NwaS9pb3MvVUlLaXRTUEkuaApAQCAtMzIxLDYgKzMyMSw3IEBAIHR5cGVkZWYgZW51bSB7CiAt
ICh2b2lkKWFkZElucHV0U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyB3aXRoRmxhZ3M6KE5TVUlu
dGVnZXIpZmxhZ3M7CiAtICh2b2lkKWFkZElucHV0U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyB3
aXRoRmxhZ3M6KE5TVUludGVnZXIpZmxhZ3Mgd2l0aElucHV0TWFuYWdlckhpbnQ6KE5TU3RyaW5n
ICopaGludDsKIC0gKEJPT0wpYXV0b2NvcnJlY3RTcGVsbGluZ0VuYWJsZWQ7CistIChCT09MKWlz
QXV0b1NoaWZ0ZWQ7CiAtICh2b2lkKWRlbGV0ZUZyb21JbnB1dDsKIC0gKHZvaWQpZGVsZXRlRnJv
bUlucHV0V2l0aEZsYWdzOihOU1VJbnRlZ2VyKWZsYWdzOwogLSAodm9pZClyZXBsYWNlVGV4dDoo
aWQpcmVwbGFjZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBlMDQ0ODk4ODUzMWYyYTMwZjI4YTFh
NWQzZTFiYjRlNGMxYWE2NjY2Li4zZmUyNWFjN2U2MmYxYzJmMWVlYTA3NTkwYjE1NTcyN2M3NmU1
Mzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQyMjgsNyArNDIyOCw3IEBAIC0gKHZvaWQpcmVxdWVz
dEF1dG9jb3JyZWN0aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVUlX
S0F1dG9jb3JyCiAgICAgX3BhZ2UtPnJlcXVlc3RBdXRvY29ycmVjdGlvbkNvbnRleHQoKTsKIAog
ICAgIGlmICh1c2VTeW5jUmVxdWVzdCkgewotICAgICAgICBfcGFnZS0+cHJvY2VzcygpLmNvbm5l
Y3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6SGFuZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0PihfcGFnZS0+d2ViUGFnZUlEKCksIDFf
cywgSVBDOjpXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2
ZXMpOworICAgICAgICBfcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKS0+d2FpdEZvckFuZERp
c3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQXV0b2NvcnJl
Y3Rpb25Db250ZXh0PihfcGFnZS0+d2ViUGFnZUlEKCksIDFfcywgSVBDOjpXYWl0Rm9yT3B0aW9u
OjpEaXNwYXRjaEluY29taW5nU3luY01lc3NhZ2VzV2hpbGVXYWl0aW5nKTsKICAgICAgICAgW3Nl
bGYgX2NhbmNlbFBlbmRpbmdBdXRvY29ycmVjdGlvbkNvbnRleHRIYW5kbGVyXTsKICAgICB9CiB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjhm
MzVhYzJmYThhNGFlMjk0NzBiZTk0YjUwMzdkNWJhNDQ3YmEwOC4uZDgwOGUwYmMzNzQzZGUyZmI4
ZGEwM2NiMWRjYjlkNTllMTQ0ZjQ2OSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA1LTE1ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVuZXhwZWN0ZWQg
Y2FwaXRhbGl6YXRpb24gb2YgbmV4dCB3b3JkIGFmdGVyIHJlcG9zaXRpb25pbmcgY2FyZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTk2OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjI2MDU1MjY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IFVJU2NyaXB0Q29udHJvbGxlciBob29r
IHRvIHF1ZXJ5IHdoZXRoZXIgb3Igbm90IHRoZSBzb2Z0d2FyZSBrZXlib2FyZCBpcyBpbiBzaGlm
dGVkIHN0YXRlLgorCisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQv
QmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBUZXN0UnVubmVyU2hh
cmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdUUjo6
VUlTY3JpcHRDb250cm9sbGVyOjprZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQgY29uc3Qp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50
VGVzdHMubW06CisKKyAgICAgICAgQWRqdXN0IGEgY291cGxlIG9mIEFQSSB0ZXN0cyB0aGF0IGNv
cHkgYW5kIHBhc3RlIGJhY2stdG8tYmFjaywgc28gdGhhdCB0aGV5IHdhaXQgZm9yIHRoZSBjb3B5
IHRvIGZpbmlzaCBiZWZvcmUKKyAgICAgICAgYXR0ZW1wdGluZyB0byBwYXN0ZS4KKworICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5oOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbToKKyAgICAg
ICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVySU9TOjprZXlib2FyZElzQXV0b21hdGljYWxseVNo
aWZ0ZWQgY29uc3QpOgorCiAyMDIwLTA1LTE0ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnph
cm9AZ25vbWUub3JnPgogCiAgICAgICAgIHN0cmVzcy9hcnJheS1idWZmZXItdmlldy13YXRjaHBv
aW50LWNhbi1iZS1maXJlZC1pbi1yZWFsbHktYWRkLWluLWRmZy5qcyBmYWlsaW5nIG9uIHBwYzY0
bGUgYW5kIHMzOTB4CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0
Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsIGIvVG9vbHMvVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbApp
bmRleCBjYTU3NTg4ZTNkODAyMjBlOGFjNzU2NGIyNzY3NTZiMGJmMzY0MmE5Li5iOWRkYWExNmFm
YWE4OTNhYWRhNWVkMzkxY2M1N2U5MzQ0MmE3NWYyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UnVu
bmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRs
CisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJ
U2NyaXB0Q29udHJvbGxlci5pZGwKQEAgLTgwLDYgKzgwLDggQEAgaW50ZXJmYWNlIFVJU2NyaXB0
Q29udHJvbGxlciB7CiAgICAgdm9pZCB0b2dnbGVDYXBzTG9jayhvYmplY3QgY2FsbGJhY2spOwog
ICAgIHZvaWQgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2xlYW4gZW5hYmxl
ZCk7CiAKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBrZXlib2FyZElzQXV0b21hdGlj
YWxseVNoaWZ0ZWQ7CisKICAgICB2b2lkIHJhd0tleURvd24oRE9NU3RyaW5nIGtleSk7CiAgICAg
dm9pZCByYXdLZXlVcChET01TdHJpbmcga2V5KTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1
bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmggYi9Ub29scy9U
ZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaAppbmRl
eCAzNGY4Yzk2MmNkYTg1OTBlYzYxM2Y3MWEzZjVjZmUwZGU3ZDZkY2ZlLi40MTQ3NWY0OGY5ZWZm
OTRmZTVmMzA2MTMzZmYyZGU5YzdlM2JhOTdjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UnVubmVy
U2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9U
ZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaApAQCAt
MTYzLDYgKzE2MywxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGtleURvd24oSlNTdHJp
bmdSZWYgY2hhcmFjdGVyLCBKU1ZhbHVlUmVmIG1vZGlmaWVyQXJyYXkpIHsgbm90SW1wbGVtZW50
ZWQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCB0b2dnbGVDYXBzTG9jayhKU1ZhbHVlUmVmIGNhbGxi
YWNrKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGludW91
c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZp
cnR1YWwgYm9vbCBrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQoKSBjb25zdAorICAgIHsK
KyAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
IAogICAgIHZpcnR1YWwgdm9pZCByYXdLZXlEb3duKEpTU3RyaW5nUmVmKSB7IG5vdEltcGxlbWVu
dGVkKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmF3S2V5VXAoSlNTdHJpbmdSZWYpIHsgbm90SW1w
bGVtZW50ZWQoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW0KaW5kZXggMWRmODI5NTcyMDMyMTZlZTZm
YTY0ZGNlZjQ3MTUyNTlmZmFiMjFmNy4uNGY5YjNkZDgwMGY2OTFmYzk3NjU2YzMyMWU4MzFkMDJm
Zjc5YjZhNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9XS0F0dGFjaG1lbnRUZXN0cy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dLQXR0YWNobWVudFRlc3RzLm1tCkBAIC0xMTU0LDcgKzExNTQsNyBAQCBURVNU
KFdLQXR0YWNobWVudFRlc3RzLCBJbnNlcnRBbmRSZW1vdmVEdXBsaWNhdGVBdHRhY2htZW50KQog
ICAgICAgICBvYnNlcnZlci5leHBlY3RBdHRhY2htZW50VXBkYXRlcyhAWyBdLCBAWyBvcmlnaW5h
bEF0dGFjaG1lbnQuZ2V0KCkgXSk7CiAgICAgfQogICAgIFt3ZWJWaWV3IHNlbGVjdEFsbDpuaWxd
OwotICAgIFt3ZWJWaWV3IF9leGVjdXRlRWRpdENvbW1hbmQ6QCJDb3B5IiBhcmd1bWVudDpuaWwg
Y29tcGxldGlvbjpuaWxdOworICAgIFt3ZWJWaWV3IF9zeW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRD
b21tYW5kOkAiQ29weSIgYXJndW1lbnQ6bmlsXTsKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFT
Y3JpcHQ6QCJnZXRTZWxlY3Rpb24oKS5jb2xsYXBzZVRvRW5kKCkiIGNvbXBsZXRpb25IYW5kbGVy
Om5pbF07CiAgICAgewogICAgICAgICBPYnNlcnZlQXR0YWNobWVudFVwZGF0ZXNGb3JTY29wZSBv
YnNlcnZlcih3ZWJWaWV3LmdldCgpKTsKQEAgLTExOTYsNyArMTE5Niw3IEBAIFRFU1QoV0tBdHRh
Y2htZW50VGVzdHMsIEluc2VydER1cGxpY2F0ZUF0dGFjaG1lbnRBbmRVcGRhdGVEYXRhKQogICAg
ICAgICBvYnNlcnZlci5leHBlY3RBdHRhY2htZW50VXBkYXRlcyhAWyBdLCBAWyBvcmlnaW5hbEF0
dGFjaG1lbnQuZ2V0KCkgXSk7CiAgICAgfQogICAgIFt3ZWJWaWV3IHNlbGVjdEFsbDpuaWxdOwot
ICAgIFt3ZWJWaWV3IF9leGVjdXRlRWRpdENvbW1hbmQ6QCJDb3B5IiBhcmd1bWVudDpuaWwgY29t
cGxldGlvbjpuaWxdOworICAgIFt3ZWJWaWV3IF9zeW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21t
YW5kOkAiQ29weSIgYXJndW1lbnQ6bmlsXTsKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3Jp
cHQ6QCJnZXRTZWxlY3Rpb24oKS5jb2xsYXBzZVRvRW5kKCkiIGNvbXBsZXRpb25IYW5kbGVyOm5p
bF07CiAgICAgewogICAgICAgICBPYnNlcnZlQXR0YWNobWVudFVwZGF0ZXNGb3JTY29wZSBvYnNl
cnZlcih3ZWJWaWV3LmdldCgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
VUlTY3JpcHRDb250cm9sbGVySU9TLmgKaW5kZXggNjM0OGZiZTFhYjAyNzI2M2U2YmExZWM1OTUw
M2YzMTQ4OGIyYTJmMC4uMTk1MWIwZGExMmNjY2ViMGVjYjQ3YTNmMDU5NDIzN2MwMjA2OTVlYiAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVy
SU9TLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVy
SU9TLmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwdWJsaWM6CiAgICAgbG9uZyBudW1iZXJPZlN0cm9r
ZXNJbkVkaXRhYmxlSW1hZ2UoKSBvdmVycmlkZTsKICAgICB2b2lkIHNldEtleWJvYXJkSW5wdXRN
b2RlSWRlbnRpZmllcihKU1N0cmluZ1JlZikgb3ZlcnJpZGU7CiAgICAgdm9pZCB0b2dnbGVDYXBz
TG9jayhKU1ZhbHVlUmVmKSBvdmVycmlkZTsKKyAgICBib29sIGtleWJvYXJkSXNBdXRvbWF0aWNh
bGx5U2hpZnRlZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEpTT2JqZWN0UmVmIGF0dGFjaG1lbnRJ
bmZvKEpTU3RyaW5nUmVmKSBvdmVycmlkZTsKICAgICBVSVZpZXcgKnBsYXRmb3JtQ29udGVudFZp
ZXcoKSBjb25zdCBvdmVycmlkZTsKICAgICBKU09iamVjdFJlZiBjYWxlbmRhclR5cGUoKSBjb25z
dCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2Ny
aXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0
Q29udHJvbGxlcklPUy5tbQppbmRleCAxNGU2ZGY4NzFiYWE2MWNlMmRkZmFjZDI2MTQyOWNmNzkz
NmMxMmJjLi42OWViYjcyOTU2OGU3YjFjOTRjZTg5ZDFmNzg3Nzc3ZGMzYTE5OWI5IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1t
CkBAIC0xMjA1LDYgKzEyMDUsMTEgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXJJT1M6OnRvZ2ds
ZUNhcHNMb2NrKEpTVmFsdWVSZWYgY2FsbGJhY2spCiAgICAgZG9Bc3luY1Rhc2soY2FsbGJhY2sp
OwogfQogCitib29sIFVJU2NyaXB0Q29udHJvbGxlcklPUzo6a2V5Ym9hcmRJc0F1dG9tYXRpY2Fs
bHlTaGlmdGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gVUlLZXlib2FyZEltcGwuYWN0aXZlSW5z
dGFuY2UuaXNBdXRvU2hpZnRlZDsKK30KKwogSlNPYmplY3RSZWYgVUlTY3JpcHRDb250cm9sbGVy
SU9TOjphdHRhY2htZW50SW5mbyhKU1N0cmluZ1JlZiBqc0F0dGFjaG1lbnRJZGVudGlmaWVyKQog
ewogICAgIGF1dG8gYXR0YWNobWVudElkZW50aWZpZXIgPSB0b1dURlN0cmluZyh0b1dLKGpzQXR0
YWNobWVudElkZW50aWZpZXIpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NGEyZjZkZmM3YWZmZjhhNmRkMzBkM2YwZmE1
ZDRmYjI2YWEwMjY5Li43ZjZmZjM3YmVjMGExMTk0MTFlOGE2NjE3YzE3OTcwZTgwY2JlMjI4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDUtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVW5leHBlY3RlZCBjYXBpdGFsaXphdGlv
biBvZiBuZXh0IHdvcmQgYWZ0ZXIgcmVwb3NpdGlvbmluZyBjYXJldAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExOTY5CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82MjYwNTUyNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgYSBuZXcgbGF5b3V0IHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGhlIGtleWJv
YXJkIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgc2hpZnQgKGkuZS4gYXV0b2NhcGl0YWxpemUpIHdo
ZW4KKyAgICAgICAgY2hhbmdpbmcgc2VsZWN0aW9uIHF1aWNrbHkgaW5zaWRlIGEgdGV4dCBmaWVs
ZC4KKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lvcy9jaGFuZ2luZy1zZWxlY3Rpb24t
ZG9lcy1ub3QtdHJpZ2dlci1hdXRvY2FwaXRhbGl6YXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2hhbmdpbmctc2VsZWN0aW9uLWRvZXMt
bm90LXRyaWdnZXItYXV0b2NhcGl0YWxpemF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHJl
c291cmNlcy91aS1oZWxwZXIuanM6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIua2V5Ym9hcmRJ
c0F1dG9tYXRpY2FsbHlTaGlmdGVkKToKKwogMjAyMC0wNS0xNCAgRGllZ28gUGlubyBHYXJjaWEg
IDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEdhcmRlbmluZywgdXBkYXRlIGV4
cGVjdGF0aW9ucyBhZnRlciByMjYxNjA5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9pb3MvY2hhbmdpbmctc2VsZWN0aW9uLWRvZXMtbm90LXRyaWdnZXItYXV0b2Nh
cGl0YWxpemF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2lvcy9jaGFuZ2luZy1zZWxlY3Rpb24tZG9lcy1ub3QtdHJpZ2dlci1hdXRvY2FwaXRhbGl6YXRp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZDdjMTVjYmY4ODJiYjY3MDE0MDQzYmI5ZTk2
MmVjYjllN2E0MjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9pb3MvY2hhbmdpbmctc2VsZWN0aW9uLWRvZXMtbm90LXRyaWdnZXItYXV0b2NhcGl0YWxp
emF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1ZlcmlmaWVzIHRoYXQgdGFw
cGluZyB0byBjaGFuZ2Ugc2VsZWN0aW9uIGRvZXMgbm90IGxlYXZlIHRoZSBzb2Z0d2FyZSBrZXli
b2FyZCBpbiBhIHN0YXRlIHdoZXJlIGl0IGlzIGF1dG9tYXRpY2FsbHkgc2hpZnRlZC4gVG8gbWFu
dWFsbHkgcnVuIHRoZSB0ZXN0LCBmb2N1cyB0aGUgaW5wdXQgZmllbGQsIHRhcCBvbiAnd29ybGQn
LCBhbmQgdGhlbiB0YXAgb24gJ2hlbGxvJyBzdWNoIHRoYXQgdGhlIGZpbmFsIHNlbGVjdGlvbiBp
cyBhZnRlciB0aGUgd29yZCAnaGVsbG8nLiBUaGUga2V5Ym9hcmQgc2hvdWxkIG5vdCBiZSBpbiBz
aGlmdGVkIHN0YXRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBrZXli
b2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2hhbmdpbmctc2VsZWN0aW9uLWRvZXMtbm90LXRyaWdnZXIt
YXV0b2NhcGl0YWxpemF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9p
b3MvY2hhbmdpbmctc2VsZWN0aW9uLWRvZXMtbm90LXRyaWdnZXItYXV0b2NhcGl0YWxpemF0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGQ2NDY4MGRhOTkwZmNkZjczNzBmOGExNmQwNjIyODIxMjJkNjU5
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9j
aGFuZ2luZy1zZWxlY3Rpb24tZG9lcy1ub3QtdHJpZ2dlci1hdXRvY2FwaXRhbGl6YXRpb24uaHRt
bApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPG1ldGEg
bmFtZT12aWV3cG9ydCBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9
MSwgdXNlci1zY2FsYWJsZT1ubyI+Cis8c3R5bGU+Citib2R5LCBodG1sIHsKKyAgICB3aWR0aDog
MTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgbWFyZ2luOiAwOworfQorCitpbnB1dCB7Cisg
ICAgZm9udC1zaXplOiA0MHB4OworICAgIHdpZHRoOiAzMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpbnB1dCB2YWx1ZT0iaGVsbG8g
d29ybGQiPgorICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgIDxwIGlkPSJjb25zb2xl
Ij48L3A+CisgICAgPHNjcmlwdD4KKyAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImlucHV0Iik7CisgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICBhc3luYyBm
dW5jdGlvbiB0YXBBbmRXYWl0Rm9yU2VsZWN0aW9uQ2hhbmdlKHgsIHkpCisgICAgeworICAgICAg
ICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgICAgIGxldCBkb25lQ291
bnQgPSAwOworICAgICAgICAgICAgY29uc3QgY2hlY2tEb25lID0gKCkgPT4geworICAgICAgICAg
ICAgICAgIGlmICgrK2RvbmVDb3VudCAhPSAyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rp
b25jaGFuZ2UiLCBjaGVja0RvbmUpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAg
ICAgICAgIH07CisgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rp
b25jaGFuZ2UiLCBjaGVja0RvbmUpOworICAgICAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVBdCh4
LCB5KS50aGVuKGNoZWNrRG9uZSk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIGFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGRlc2NyaXB0aW9uKCJWZXJp
ZmllcyB0aGF0IHRhcHBpbmcgdG8gY2hhbmdlIHNlbGVjdGlvbiBkb2VzIG5vdCBsZWF2ZSB0aGUg
c29mdHdhcmUga2V5Ym9hcmQgaW4gYSBzdGF0ZSB3aGVyZSBpdCBpcyBhdXRvbWF0aWNhbGx5IHNo
aWZ0ZWQuIFRvIG1hbnVhbGx5IHJ1biB0aGUgdGVzdCwgZm9jdXMgdGhlIGlucHV0IGZpZWxkLCB0
YXAgb24gJ3dvcmxkJywgYW5kIHRoZW4gdGFwIG9uICdoZWxsbycgc3VjaCB0aGF0IHRoZSBmaW5h
bCBzZWxlY3Rpb24gaXMgYWZ0ZXIgdGhlIHdvcmQgJ2hlbGxvJy4gVGhlIGtleWJvYXJkIHNob3Vs
ZCBub3QgYmUgaW4gc2hpZnRlZCBzdGF0ZS4iKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFj
aGVkKGZhbHNlKTsKKworICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnRBbmRX
YWl0Rm9ySW5wdXRTZXNzaW9uKGlucHV0KTsKKyAgICAgICAgYXdhaXQgdGFwQW5kV2FpdEZvclNl
bGVjdGlvbkNoYW5nZSgxNTAsIDUwKTsKKyAgICAgICAgYXdhaXQgdGFwQW5kV2FpdEZvclNlbGVj
dGlvbkNoYW5nZSg3NSwgNTApOworCisgICAgICAgIGF3YWl0IFVJSGVscGVyLmVuc3VyZVByZXNl
bnRhdGlvblVwZGF0ZSgpOworICAgICAgICBrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQg
PSBhd2FpdCBVSUhlbHBlci5rZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQoKTsKKworICAg
ICAgICBzaG91bGRCZUZhbHNlKCJrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQiKTsKKyAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMgYi9MYXlv
dXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCmluZGV4IGQzN2UxOWQ2ZTdkNDE5OTU0YmE0
Njk5OTdkM2YxMWJlMjJmODNmZDMuLjllMzhiYjgyZTYxOTJkMWJjNTY3NmUyYmNmMTAwM2Y3OGU2
NTRlN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwpAQCAtMzA4LDYgKzMwOCwxMyBA
QCB3aW5kb3cuVUlIZWxwZXIgPSBjbGFzcyBVSUhlbHBlciB7CiAgICAgICAgIH0pOwogICAgIH0K
IAorICAgIHN0YXRpYyBrZXlib2FyZElzQXV0b21hdGljYWxseVNoaWZ0ZWQoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICAgICAgdGVzdFJ1
bm5lci5ydW5VSVNjcmlwdChgdWlDb250cm9sbGVyLmtleWJvYXJkSXNBdXRvbWF0aWNhbGx5U2hp
ZnRlZGAsIHJlc3VsdCA9PiByZXNvbHZlKHJlc3VsdCA9PT0gInRydWUiKSk7CisgICAgICAgIH0p
OworICAgIH0KKwogICAgIHN0YXRpYyBlbnN1cmVQcmVzZW50YXRpb25VcGRhdGUoKQogICAgIHsK
ICAgICAgICAgaWYgKCF0aGlzLmlzV2ViS2l0MigpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>