<?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>207725</bug_id>
          
          <creation_ts>2020-02-13 15:17:19 -0800</creation_ts>
          <short_desc>REGRESSION(r254557): The assert is correct, but unfortunately it will always fail since there is an existing bug in HTMLTextFormControlElement::indexForPosition(). See bug #207724 for more details. (Requested by dydz on #webkit).</short_desc>
          <delta_ts>2020-02-13 15:27:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=207724</see_also>
          <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>205706</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1618738</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 15:17:19 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/254557 broke the build:
The assert is correct, but unfortunately it will alwasy fail since there is an existing bug in HTMLTextFormControlElement::indexForPosition(). See bug #207724 for more details. (Requested by dydz on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618740</commentid>
    <comment_count>1</comment_count>
      <attachid>390693</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 15:17:29 -0800</bug_when>
    <thetext>Created attachment 390693
ROLLOUT of r254557

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618742</commentid>
    <comment_count>2</comment_count>
      <attachid>390693</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 15:21:18 -0800</bug_when>
    <thetext>Comment on attachment 390693
ROLLOUT of r254557

Clearing flags on attachment: 390693

Committed r256563: &lt;https://trac.webkit.org/changeset/256563&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618743</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 15:21:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618745</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-13 15:22:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/59440175&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390693</attachid>
            <date>2020-02-13 15:17:29 -0800</date>
            <delta_ts>2020-02-13 15:21:18 -0800</delta_ts>
            <desc>ROLLOUT of r254557</desc>
            <filename>bug-207725-20200213151728.patch</filename>
            <type>text/plain</type>
            <size>25074</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q1NWQ5MTliODkxMGY4
ZDA1MWY1NWU2ZTc5YmM4ZDQ4NGE4NzBlMS4uMzA4NjQ2Njc2ZjkzMzdiYThlZTIwYTlmNzFmMjhm
ZjFjZTJkMmFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAyLTEzICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjU0NTU3LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA3NzI1CisKKyAgICAgICAgVGhlIGFzc2VydCBpcyBjb3JyZWN0LCBi
dXQgdW5mb3J0dW5hdGVseSBpdCB3aWxsIGFsd2FzeSBmYWlsCisgICAgICAgIHNpbmNlIHRoZXJl
IGlzIGFuIGV4aXN0aW5nIGJ1ZyBpbgorICAgICAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dDo6aW5kZXhGb3JQb3NpdGlvbigpLiBTZWUgYnVnCisgICAgICAgICMyMDc3MjQgZm9yIG1vcmUg
ZGV0YWlscy4gKFJlcXVlc3RlZCBieSBkeWR6IG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVy
dGVkIGNoYW5nZXNldDoKKworICAgICAgICAiRW5hYmxlIHRoZSBvZmZzZXQgYXNzZXJ0aW9uIGlu
CisgICAgICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjppbmRleEZvclBvc2l0aW9uIgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NzA2Cisg
ICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNTQ1NTcKKwogMjAyMC0w
Mi0xMyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW5hbWUgU2VyaWFsaXplZFBsYXRmb3JtUmVwcmVzZW50YXRpb24gdG8gU2VyaWFsaXplZFBsYXRm
b3JtRGF0YUN1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBlZjYwN2ZjM2FjZDk5MzFkMDBiMTNlYWI1MzQzMWZlMjVl
OGYwOTg3Li4xNTM0N2FiMWU4Zjk1NTBhZjhlMzMxMWExZGExNzI5YWQ4ODY2NDdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAyLTEzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU0NTU3
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3NzI1
CisKKyAgICAgICAgVGhlIGFzc2VydCBpcyBjb3JyZWN0LCBidXQgdW5mb3J0dW5hdGVseSBpdCB3
aWxsIGFsd2FzeSBmYWlsCisgICAgICAgIHNpbmNlIHRoZXJlIGlzIGFuIGV4aXN0aW5nIGJ1ZyBp
bgorICAgICAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6aW5kZXhGb3JQb3NpdGlvbigp
LiBTZWUgYnVnCisgICAgICAgICMyMDc3MjQgZm9yIG1vcmUgZGV0YWlscy4gKFJlcXVlc3RlZCBi
eSBkeWR6IG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAg
ICAgICAiRW5hYmxlIHRoZSBvZmZzZXQgYXNzZXJ0aW9uIGluCisgICAgICAgIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50OjppbmRleEZvclBvc2l0aW9uIgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NzA2CisgICAgICAgIGh0dHBzOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8yNTQ1NTcKKwogMjAyMC0wMi0xMyAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIF9XS1Jlc291cmNlTG9hZElu
Zm8gc2hvdWxkIGNvbmZvcm0gdG8gTlNTZWN1cmVDb2RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDA4NmVmNDQ5ZDljMTJlYjY4ZjY5
ZGVkOGIzOTg1ZmFmODA1ODAxMGIuLjQzNDM5ODA4MTUyMzE3N2M1YWZkZTA3NjdmZTNlODhmM2Vi
OGVhNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcApAQCAtMTkzNyw3ICsxOTM3LDcgQEAgUmVmUHRyPFJhbmdlPiBBWE9iamVjdENhY2hlOjpy
YW5nZU1hdGNoZXNUZXh0TmVhclJhbmdlKFJlZlB0cjxSYW5nZT4gb3JpZ2luYWxSYW4KICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgYXV0byByYW5nZSA9IFJhbmdlOjpjcmVhdGUo
bV9kb2N1bWVudCwgc3RhcnRQb3NpdGlvbiwgb3JpZ2luYWxSYW5nZS0+c3RhcnRQb3NpdGlvbigp
KTsKLSAgICB1bnNpZ25lZCB0YXJnZXRPZmZzZXQgPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3Ro
KHJhbmdlLnB0cigpLCB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6R2VuZXJhdGVTcGFjZXNG
b3JSZXBsYWNlZEVsZW1lbnRzIH0pOworICAgIHVuc2lnbmVkIHRhcmdldE9mZnNldCA9IFRleHRJ
dGVyYXRvcjo6cmFuZ2VMZW5ndGgocmFuZ2UucHRyKCksIHRydWUpOwogICAgIHJldHVybiBmaW5k
Q2xvc2VzdFBsYWluVGV4dChzZWFyY2hSYW5nZS5nZXQoKSwgbWF0Y2hUZXh0LCB7IH0sIHRhcmdl
dE9mZnNldCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDkwMzRkNjkzODA4ZjMyZGU1
ZDYyMTgxNzdhZmQ5MmNlNWU5NjQ2ZmYuLjk2ZjMzY2I3MzRhNzA4MzY5YjRmM2JhM2Q1NDg0ODhl
NTA0OTU3NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMjAzMiwxMCArMjAzMiwxMiBAQCBp
bnQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBwbwogI2lmIFVTRShBVEspCiAgICAgLy8gV2UgbmVlZCB0byBj
b25zaWRlciByZXBsYWNlZCBlbGVtZW50cyBmb3IgR1RLLCBhcyB0aGV5IHdpbGwgYmUKICAgICAv
LyBwcmVzZW50ZWQgd2l0aCB0aGUgJ29iamVjdCByZXBsYWNlbWVudCBjaGFyYWN0ZXInICgweEZG
RkMpLgotICAgIHJldHVybiBXZWJDb3JlOjppbmRleEZvclZpc2libGVQb3NpdGlvbigqbm9kZSwg
cG9zaXRpb24sIHsgVGV4dEl0ZXJhdG9yTGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJl
cGxhY2VkRWxlbWVudHMgfSk7CisgICAgYm9vbCBmb3JTZWxlY3Rpb25QcmVzZXJ2YXRpb24gPSB0
cnVlOwogI2Vsc2UKLSAgICByZXR1cm4gV2ViQ29yZTo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24o
Km5vZGUsIHBvc2l0aW9uKTsKKyAgICBib29sIGZvclNlbGVjdGlvblByZXNlcnZhdGlvbiA9IGZh
bHNlOwogI2VuZGlmCisKKyAgICByZXR1cm4gV2ViQ29yZTo6aW5kZXhGb3JWaXNpYmxlUG9zaXRp
b24oKm5vZGUsIHBvc2l0aW9uLCBmb3JTZWxlY3Rpb25QcmVzZXJ2YXRpb24pOwogfQogCiBFbGVt
ZW50KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpyb290RWRpdGFibGVFbGVtZW50Rm9yUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mIHBvc2l0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJs
aW5rLmNwcAppbmRleCBmZDEzZmM0MDJlYTFlYjYzMDQwMGQwYTU2MjBiZDY1ZjcxOGE5M2UwLi5h
NDYxYzFmYWRhZjhjNzI1ZGNkYjRmZTllNWY4MDBmYjhiNjgyOWVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SHlwZXJsaW5rLmNwcApAQCAtMTU0LDcgKzE1NCw3IEBAIHN0YXRpYyBBdGtPYmplY3QqIHdlYmtp
dEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPYmplY3QoQXRrSHlwZXJsaW5rKiBsaW5rLCBnaW50IGlu
CiBzdGF0aWMgZ2ludCByYW5nZUxlbmd0aEZvck9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0JiBv
YmosIFJhbmdlKiByYW5nZSkKIHsKICAgICAvLyBUaGlzIGlzIGdvaW5nIHRvIGJlIHRoZSBhY3R1
YWwgbGVuZ3RoIGluIG1vc3Qgb2YgdGhlIGNhc2VzCi0gICAgaW50IGJhc2VMZW5ndGggPSBUZXh0
SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKHJhbmdlLCB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6
R2VuZXJhdGVTcGFjZXNGb3JSZXBsYWNlZEVsZW1lbnRzIH0pOworICAgIGludCBiYXNlTGVuZ3Ro
ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChyYW5nZSwgdHJ1ZSk7CiAKICAgICAvLyBDaGVj
ayB3aGV0aGVyIHRoZSBjdXJyZW50IGh5cGVybGluayBiZWxvbmdzIHRvIGEgbGlzdCBpdGVtLgog
ICAgIC8vIElmIHNvLCB3ZSBuZWVkIHRvIGNvbnNpZGVyIHRoZSBsZW5ndGggb2YgdGhlIGl0ZW0n
cyBtYXJrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAppbmRleCAwOGZjNzhi
NDBlMzVjYzlmZTBmYTJmMjlkODdlYTllZWQwOWNhMWRiLi5iMjcxNWM3YzUzY2FlOWQwNGFmM2U0
YzBmOTNhZjk3NWY2M2RiNTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3Bw
CkBAIC00MTAsOSArNDEwLDkgQEAgc3RhdGljIHZvaWQgZ2V0U2VsZWN0aW9uT2Zmc2V0c0Zvck9i
amVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0LCBWaXNpYmwKIAogICAgIC8vIFNl
dCB2YWx1ZXMgZm9yIHN0YXJ0IG9mZnNldHMgYW5kIGNhbGN1bGF0ZSBpbml0aWFsIHJhbmdlIGxl
bmd0aC4KICAgICAvLyBUaGVzZSB2YWx1ZXMgbWlnaHQgYmUgYWRqdXN0ZWQgbGF0ZXIgdG8gY292
ZXIgc3BlY2lhbCBjYXNlcy4KLSAgICBzdGFydE9mZnNldCA9IHdlYkNvcmVPZmZzZXRUb0F0a09m
ZnNldChjb3JlT2JqZWN0LCBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKHJhbmdlSW5QYXJlbnQu
cHRyKCksIHsgVGV4dEl0ZXJhdG9yTGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJlcGxh
Y2VkRWxlbWVudHMgfSkpOworICAgIHN0YXJ0T2Zmc2V0ID0gd2ViQ29yZU9mZnNldFRvQXRrT2Zm
c2V0KGNvcmVPYmplY3QsIFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgocmFuZ2VJblBhcmVudC5w
dHIoKSwgdHJ1ZSkpOwogICAgIGF1dG8gbm9kZVJhbmdlID0gUmFuZ2U6OmNyZWF0ZShub2RlLT5k
b2N1bWVudCgpLCBub2RlUmFuZ2VTdGFydCwgbm9kZVJhbmdlRW5kKTsKLSAgICBpbnQgcmFuZ2VM
ZW5ndGggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKG5vZGVSYW5nZS5wdHIoKSwgeyBUZXh0
SXRlcmF0b3JMZW5ndGhPcHRpb246OkdlbmVyYXRlU3BhY2VzRm9yUmVwbGFjZWRFbGVtZW50cyB9
KTsKKyAgICBpbnQgcmFuZ2VMZW5ndGggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKG5vZGVS
YW5nZS5wdHIoKSwgdHJ1ZSk7CiAKICAgICAvLyBTcGVjaWFsIGNhc2VzIHRoYXQgYXJlIG9ubHkg
cmVsZXZhbnQgd2hlbiB3b3JraW5nIHdpdGggKl9FTkQgYm91bmRhcmllcy4KICAgICBpZiAoc2Vs
ZWN0aW9uLmFmZmluaXR5KCkgPT0gVVBTVFJFQU0pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAppbmRleCA1
MDlkZWU1ZDZjOGRhZjgyMTI5NzM5YjMyYjAyOTA4MWE0MGFmMDFiLi41NjM5MmMwYmQ4M2QxYTJh
N2NiNzZhNzU0YjllYjg4M2YyMGNmZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuY3BwCkBAIC0yNDcsMTAg
KzI0NywxMCBAQCBBWENvcmVPYmplY3QqIG9iamVjdEZvY3VzZWRBbmRDYXJldE9mZnNldFVuaWdu
b3JlZChBWENvcmVPYmplY3QqIHJlZmVyZW5jZU9iamVjdAogICAgICAgICBvZmZzZXQgPSAwOwog
ICAgIGVsc2UgaWYgKCFpc1N0YXJ0T2ZMaW5lKGVuZFBvc2l0aW9uKSkgewogICAgICAgICBSZWZQ
dHI8UmFuZ2U+IHJhbmdlID0gbWFrZVJhbmdlKHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uLnBy
ZXZpb3VzKCkpOwotICAgICAgICBvZmZzZXQgPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKHJh
bmdlLmdldCgpLCB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6R2VuZXJhdGVTcGFjZXNGb3JS
ZXBsYWNlZEVsZW1lbnRzIH0pICsgMTsKKyAgICAgICAgb2Zmc2V0ID0gVGV4dEl0ZXJhdG9yOjpy
YW5nZUxlbmd0aChyYW5nZS5nZXQoKSwgdHJ1ZSkgKyAxOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBtYWtlUmFuZ2Uoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRp
b24pOwotICAgICAgICBvZmZzZXQgPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKHJhbmdlLmdl
dCgpLCB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6R2VuZXJhdGVTcGFjZXNGb3JSZXBsYWNl
ZEVsZW1lbnRzIH0pOworICAgICAgICBvZmZzZXQgPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3Ro
KHJhbmdlLmdldCgpLCB0cnVlKTsKICAgICB9CiAKICAgICByZXR1cm4gZmlyc3RVbmlnbm9yZWRQ
YXJlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21t
YW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCmlu
ZGV4IGQ4MGIwMjExMWQ0OGQ0NTZjODNhMzIxYjc4YzJiODZlZDIzYzBmYWMuLjUyZTZlNGUwYjE3
ZGRmOTBkZDFiZWI1ZWRkOTFjMDAxNWRhMzI5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCkBAIC0yNTIsOCArMjUyLDggQEAgdm9pZCBBcHBseVN0
eWxlQ29tbWFuZDo6YXBwbHlCbG9ja1N0eWxlKEVkaXRpbmdTdHlsZSYgc3R5bGUpCiAKICAgICBh
dXRvIHN0YXJ0UmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKGRvY3VtZW50KCksIGZpcnN0UG9zaXRpb25J
bk5vZGUoc2NvcGUpLCB2aXNpYmxlU3RhcnQuZGVlcEVxdWl2YWxlbnQoKS5wYXJlbnRBbmNob3Jl
ZEVxdWl2YWxlbnQoKSk7CiAgICAgYXV0byBlbmRSYW5nZSA9IFJhbmdlOjpjcmVhdGUoZG9jdW1l
bnQoKSwgZmlyc3RQb3NpdGlvbkluTm9kZShzY29wZSksIHZpc2libGVFbmQuZGVlcEVxdWl2YWxl
bnQoKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKSk7Ci0gICAgaW50IHN0YXJ0SW5kZXggPSBU
ZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKHN0YXJ0UmFuZ2UucHRyKCksIHsgVGV4dEl0ZXJhdG9y
TGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgfSk7Ci0gICAg
aW50IGVuZEluZGV4ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChlbmRSYW5nZS5wdHIoKSwg
eyBUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb246OkdlbmVyYXRlU3BhY2VzRm9yUmVwbGFjZWRFbGVt
ZW50cyB9KTsKKyAgICBpbnQgc3RhcnRJbmRleCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgo
c3RhcnRSYW5nZS5wdHIoKSwgdHJ1ZSk7CisgICAgaW50IGVuZEluZGV4ID0gVGV4dEl0ZXJhdG9y
OjpyYW5nZUxlbmd0aChlbmRSYW5nZS5wdHIoKSwgdHJ1ZSk7CiAKICAgICBWaXNpYmxlUG9zaXRp
b24gcGFyYWdyYXBoU3RhcnQoc3RhcnRPZlBhcmFncmFwaCh2aXNpYmxlU3RhcnQpKTsKICAgICBW
aXNpYmxlUG9zaXRpb24gbmV4dFBhcmFncmFwaFN0YXJ0KGVuZE9mUGFyYWdyYXBoKHBhcmFncmFw
aFN0YXJ0KS5uZXh0KCkpOwpAQCAtMjg1LDggKzI4NSw4IEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1h
bmQ6OmFwcGx5QmxvY2tTdHlsZShFZGl0aW5nU3R5bGUmIHN0eWxlKQogICAgIH0KICAgICAKICAg
ICB7Ci0gICAgICAgIGF1dG8gc3RhcnRSYW5nZSA9IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9j
YXRpb25BbmRMZW5ndGgoc2NvcGUsIHN0YXJ0SW5kZXgsIDAsIHsgVGV4dEl0ZXJhdG9yTGVuZ3Ro
T3B0aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgfSk7Ci0gICAgICAgIGF1
dG8gZW5kUmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKHNj
b3BlLCBlbmRJbmRleCwgMCwgeyBUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb246OkdlbmVyYXRlU3Bh
Y2VzRm9yUmVwbGFjZWRFbGVtZW50cyB9KTsKKyAgICAgICAgYXV0byBzdGFydFJhbmdlID0gVGV4
dEl0ZXJhdG9yOjpyYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChzY29wZSwgc3RhcnRJbmRleCwg
MCwgdHJ1ZSk7CisgICAgICAgIGF1dG8gZW5kUmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJv
bUxvY2F0aW9uQW5kTGVuZ3RoKHNjb3BlLCBlbmRJbmRleCwgMCwgdHJ1ZSk7CiAgICAgICAgIGlm
IChzdGFydFJhbmdlICYmIGVuZFJhbmdlKQogICAgICAgICAgICAgdXBkYXRlU3RhcnRFbmQoc3Rh
cnRSYW5nZS0+c3RhcnRQb3NpdGlvbigpLCBlbmRSYW5nZS0+c3RhcnRQb3NpdGlvbigpKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21t
YW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3Bw
CmluZGV4IGZmZmZmZjE4Nzg1MGUyMjIxNDhhZGViZWZiZDk1NTI4YzUzOTUwN2IuLjVkYWI3YmEx
MDFhMDE4NWRjZDI3OWM3YzYzY2E5NDYwOGIwNzI2ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC0xNDMzLDEzICsxNDMzLDEzIEBA
IHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6Om1vdmVQYXJhZ3JhcGhzKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYgc3RhcnRPZlBhcmFncmFwCiAgICAgICAgICAgICBzdGFydEluZGV4ID0gMDsKICAg
ICAgICAgICAgIGlmIChzdGFydEluUGFyYWdyYXBoKSB7CiAgICAgICAgICAgICAgICAgYXV0byBz
dGFydFJhbmdlID0gUmFuZ2U6OmNyZWF0ZShkb2N1bWVudCgpLCBzdGFydE9mUGFyYWdyYXBoVG9N
b3ZlLmRlZXBFcXVpdmFsZW50KCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCksIHZpc2libGVT
dGFydC5kZWVwRXF1aXZhbGVudCgpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpKTsKLSAgICAg
ICAgICAgICAgICBzdGFydEluZGV4ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChzdGFydFJh
bmdlLnB0cigpLCB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6R2VuZXJhdGVTcGFjZXNGb3JS
ZXBsYWNlZEVsZW1lbnRzIH0pOworICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBUZXh0SXRl
cmF0b3I6OnJhbmdlTGVuZ3RoKHN0YXJ0UmFuZ2UucHRyKCksIHRydWUpOwogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBlbmRJbmRleCA9IDA7CiAgICAgICAgICAgICBpZiAoZW5kSW5QYXJh
Z3JhcGgpIHsKICAgICAgICAgICAgICAgICBhdXRvIGVuZFJhbmdlID0gUmFuZ2U6OmNyZWF0ZShk
b2N1bWVudCgpLCBzdGFydE9mUGFyYWdyYXBoVG9Nb3ZlLmRlZXBFcXVpdmFsZW50KCkucGFyZW50
QW5jaG9yZWRFcXVpdmFsZW50KCksIHZpc2libGVFbmQuZGVlcEVxdWl2YWxlbnQoKS5wYXJlbnRB
bmNob3JlZEVxdWl2YWxlbnQoKSk7Ci0gICAgICAgICAgICAgICAgZW5kSW5kZXggPSBUZXh0SXRl
cmF0b3I6OnJhbmdlTGVuZ3RoKGVuZFJhbmdlLnB0cigpLCB7IFRleHRJdGVyYXRvckxlbmd0aE9w
dGlvbjo6R2VuZXJhdGVTcGFjZXNGb3JSZXBsYWNlZEVsZW1lbnRzIH0pOworICAgICAgICAgICAg
ICAgIGVuZEluZGV4ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChlbmRSYW5nZS5wdHIoKSwg
dHJ1ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0xNTEwLDcgKzE1MTAs
NyBAQCB2b2lkIENvbXBvc2l0ZUVkaXRDb21tYW5kOjptb3ZlUGFyYWdyYXBocyhjb25zdCBWaXNp
YmxlUG9zaXRpb24mIHN0YXJ0T2ZQYXJhZ3JhcAogICAgICAgICBlZGl0YWJsZVJvb3QgPSAmZG9j
dW1lbnQoKTsKIAogICAgIGF1dG8gc3RhcnRUb0Rlc3RpbmF0aW9uUmFuZ2UgPSBSYW5nZTo6Y3Jl
YXRlKGRvY3VtZW50KCksIGZpcnN0UG9zaXRpb25Jbk5vZGUoZWRpdGFibGVSb290LmdldCgpKSwg
ZGVzdGluYXRpb24uZGVlcEVxdWl2YWxlbnQoKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKSk7
Ci0gICAgZGVzdGluYXRpb25JbmRleCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgoc3RhcnRU
b0Rlc3RpbmF0aW9uUmFuZ2UucHRyKCksIHsgVGV4dEl0ZXJhdG9yTGVuZ3RoT3B0aW9uOjpHZW5l
cmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgfSk7CisgICAgZGVzdGluYXRpb25JbmRleCA9
IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgoc3RhcnRUb0Rlc3RpbmF0aW9uUmFuZ2UucHRyKCks
IHRydWUpOwogCiAgICAgc2V0RW5kaW5nU2VsZWN0aW9uKFZpc2libGVTZWxlY3Rpb24oZGVzdGlu
YXRpb24sIG9yaWdpbmFsSXNEaXJlY3Rpb25hbCkpOwogICAgIEFTU0VSVChlbmRpbmdTZWxlY3Rp
b24oKS5pc0NhcmV0T3JSYW5nZSgpKTsKQEAgLTE1MzIsMTAgKzE1MzIsOCBAQCB2b2lkIENvbXBv
c2l0ZUVkaXRDb21tYW5kOjptb3ZlUGFyYWdyYXBocyhjb25zdCBWaXNpYmxlUG9zaXRpb24mIHN0
YXJ0T2ZQYXJhZ3JhcAogICAgICAgICAvLyBjYXVzZXMgc3BhY2VzIHRvIGJlIGNvbGxhcHNlZCBk
dXJpbmcgdGhlIG1vdmUgb3BlcmF0aW9uLiAgVGhpcyByZXN1bHRzCiAgICAgICAgIC8vIGluIGEg
Y2FsbCB0byByYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aCB3aXRoIGEgbG9jYXRpb24gcGFzdCB0
aGUgZW5kCiAgICAgICAgIC8vIG9mIHRoZSBkb2N1bWVudCAod2hpY2ggd2lsbCByZXR1cm4gbnVs
bCkuCi0gICAgICAgIFJlZlB0cjxSYW5nZT4gc3RhcnQgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJv
bUxvY2F0aW9uQW5kTGVuZ3RoKGVkaXRhYmxlUm9vdC5nZXQoKSwgZGVzdGluYXRpb25JbmRleCAr
IHN0YXJ0SW5kZXgsIDAsCi0gICAgICAgICAgICB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6
R2VuZXJhdGVTcGFjZXNGb3JSZXBsYWNlZEVsZW1lbnRzIH0pOwotICAgICAgICBSZWZQdHI8UmFu
Z2U+IGVuZCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoZWRpdGFi
bGVSb290LmdldCgpLCBkZXN0aW5hdGlvbkluZGV4ICsgZW5kSW5kZXgsIDAsCi0gICAgICAgICAg
ICB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6R2VuZXJhdGVTcGFjZXNGb3JSZXBsYWNlZEVs
ZW1lbnRzIH0pOworICAgICAgICBSZWZQdHI8UmFuZ2U+IHN0YXJ0ID0gVGV4dEl0ZXJhdG9yOjpy
YW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChlZGl0YWJsZVJvb3QuZ2V0KCksIGRlc3RpbmF0aW9u
SW5kZXggKyBzdGFydEluZGV4LCAwLCB0cnVlKTsKKyAgICAgICAgUmVmUHRyPFJhbmdlPiBlbmQg
PSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKGVkaXRhYmxlUm9vdC5n
ZXQoKSwgZGVzdGluYXRpb25JbmRleCArIGVuZEluZGV4LCAwLCB0cnVlKTsKICAgICAgICAgaWYg
KHN0YXJ0ICYmIGVuZCkKICAgICAgICAgICAgIHNldEVuZGluZ1NlbGVjdGlvbihWaXNpYmxlU2Vs
ZWN0aW9uKHN0YXJ0LT5zdGFydFBvc2l0aW9uKCksIGVuZC0+c3RhcnRQb3NpdGlvbigpLCBET1dO
U1RSRUFNLCBvcmlnaW5hbElzRGlyZWN0aW9uYWwpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0aW5nLmNwcAppbmRleCAwYzI4NjhkMTZkM2NmZTM3NTQ3MzkzN2IyMDQxNWY4NTkzYzM1Mzc0
Li5mZDVlNTk1YWNiNTE1YjRmN2U1NTgyODRjODU1ZWIzZWE0YzhjNWVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZy5jcHAKQEAgLTEwODQsMTQgKzEwODQsMTQgQEAgaW50IGluZGV4Rm9yVmlz
aWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvc2l0aW9uLCBSZWZQ
dHI8Q29udGEKICAgICB9CiAKICAgICBhdXRvIHJhbmdlID0gUmFuZ2U6OmNyZWF0ZShkb2N1bWVu
dCwgZmlyc3RQb3NpdGlvbkluTm9kZShzY29wZS5nZXQoKSksIHBvc2l0aW9uLnBhcmVudEFuY2hv
cmVkRXF1aXZhbGVudCgpKTsKLSAgICByZXR1cm4gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChy
YW5nZS5wdHIoKSwgeyBUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb246OkdlbmVyYXRlU3BhY2VzRm9y
UmVwbGFjZWRFbGVtZW50cyB9KTsKKyAgICByZXR1cm4gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0
aChyYW5nZS5wdHIoKSwgdHJ1ZSk7CiB9CiAKIC8vIEZJWE1FOiBNZXJnZSB0aGlzIGZ1bmN0aW9u
IHdpdGggdGhlIG9uZSBhYm92ZS4KLWludCBpbmRleEZvclZpc2libGVQb3NpdGlvbihOb2RlJiBu
b2RlLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlvbiwgT3B0aW9uU2V0PFRl
eHRJdGVyYXRvckxlbmd0aE9wdGlvbj4gb3B0aW9ucykKK2ludCBpbmRleEZvclZpc2libGVQb3Np
dGlvbihOb2RlJiBub2RlLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3NpdGlvbiwg
Ym9vbCBmb3JTZWxlY3Rpb25QcmVzZXJ2YXRpb24pCiB7CiAgICAgYXV0byByYW5nZSA9IFJhbmdl
OjpjcmVhdGUobm9kZS5kb2N1bWVudCgpLCBmaXJzdFBvc2l0aW9uSW5Ob2RlKCZub2RlKSwgdmlz
aWJsZVBvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCkp
OwotICAgIHJldHVybiBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKHJhbmdlLnB0cigpLCBvcHRp
b25zKTsKKyAgICByZXR1cm4gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChyYW5nZS5wdHIoKSwg
Zm9yU2VsZWN0aW9uUHJlc2VydmF0aW9uKTsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQ
b3NpdGlvbkZvclBvc2l0aW9uV2l0aE9mZnNldChjb25zdCBWaXNpYmxlUG9zaXRpb24mIHBvc2l0
aW9uLCBpbnQgb2Zmc2V0KQpAQCAtMTEwNiw3ICsxMTA2LDcgQEAgVmlzaWJsZVBvc2l0aW9uIHZp
c2libGVQb3NpdGlvbkZvclBvc2l0aW9uV2l0aE9mZnNldChjb25zdCBWaXNpYmxlUG9zaXRpb24m
IHBvc2kKIAogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkZvckluZGV4KGludCBpbmRl
eCwgQ29udGFpbmVyTm9kZSogc2NvcGUpCiB7Ci0gICAgYXV0byByYW5nZSA9IFRleHRJdGVyYXRv
cjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoc2NvcGUsIGluZGV4LCAwLCB7IFRleHRJdGVy
YXRvckxlbmd0aE9wdGlvbjo6R2VuZXJhdGVTcGFjZXNGb3JSZXBsYWNlZEVsZW1lbnRzIH0pOwor
ICAgIGF1dG8gcmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3Ro
KHNjb3BlLCBpbmRleCwgMCwgdHJ1ZSk7CiAgICAgLy8gQ2hlY2sgZm9yIGFuIGludmFsaWQgaW5k
ZXguIENlcnRhaW4gZWRpdGluZyBvcGVyYXRpb25zIGludmFsaWRhdGUgaW5kaWNlcyBiZWNhdXNl
IAogICAgIC8vIG9mIHByb2JsZW1zIHdpdGggVGV4dEl0ZXJhdG9yRW1pdHNDaGFyYWN0ZXJzQmV0
d2VlbkFsbFZpc2libGVQb3NpdGlvbnMuCiAgICAgaWYgKCFyYW5nZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZy5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0aW5nLmgKaW5kZXggMDk1ODlmM2Q5ZjBmZWY4MzQyMWMxYTVjMDJjMjkxNjA2YTE2Y2NkOS4u
NzQ1Yjc2MzgxZWUyMDczODA1ZGU3ZmQ0MzIxYjk0MTQxOTM5M2Y5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0aW5nLmgKQEAgLTI2LDEwICsyNiw4IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IlBvc2l0aW9uLmgiCi0jaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE1MSw3ICsxNDksNyBAQCBib29sIGxpbmVCcmVha0V4
aXN0c0F0VmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOwogV0VCQ09SRV9F
WFBPUlQgaW50IGNvbXBhcmVQb3NpdGlvbnMoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiwgY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJik7CiAKIFdFQkNPUkVfRVhQT1JUIGludCBpbmRleEZvclZpc2libGVQ
b3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBSZWZQdHI8Q29udGFpbmVyTm9kZT4mIHNj
b3BlKTsKLWludCBpbmRleEZvclZpc2libGVQb3NpdGlvbihOb2RlJiwgY29uc3QgVmlzaWJsZVBv
c2l0aW9uJiwgT3B0aW9uU2V0PFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbj4gPSB7IH0pOworaW50
IGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKE5vZGUmLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBi
b29sIGZvclNlbGVjdGlvblByZXNlcnZhdGlvbik7CiBXRUJDT1JFX0VYUE9SVCBWaXNpYmxlUG9z
aXRpb24gdmlzaWJsZVBvc2l0aW9uRm9yUG9zaXRpb25XaXRoT2Zmc2V0KGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYsIGludCBvZmZzZXQpOwogV0VCQ09SRV9FWFBPUlQgVmlzaWJsZVBvc2l0aW9uIHZp
c2libGVQb3NpdGlvbkZvckluZGV4KGludCBpbmRleCwgQ29udGFpbmVyTm9kZSogc2NvcGUpOwog
VmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkZvckluZGV4VXNpbmdDaGFyYWN0ZXJJdGVy
YXRvcihOb2RlJiwgaW50IGluZGV4KTsgLy8gRklYTUU6IFdoeSBkbyB3ZSBuZWVkIHRoaXMgdmVy
c2lvbj8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCBhMTExYmRm
ZDk2MzlmM2Q5ZWUzNmQ3Mzc5ODNiYzNlYzRhMWJlOWZmLi41M2MyZDI1NmVkMjhhN2U1Y2MwM2Zj
ZDZiNmYzY2U4ZGMzMDM0YWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC0yMzk2LDIwICsyMzk2LDEwIEBAIHNpemVfdCBTZWFyY2hCdWZmZXI6Omxlbmd0aCgp
IGNvbnN0CiAKIC8vIC0tLS0tLS0tCiAKLXN0YXRpYyBUZXh0SXRlcmF0b3JCZWhhdmlvciBiZWhh
dmlvckZyb21MZWdudGhPcHRpb25zKE9wdGlvblNldDxUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb24+
IG9wdGlvbnMpCi17Ci0gICAgVGV4dEl0ZXJhdG9yQmVoYXZpb3IgYmVoYXZpb3IgPSBUZXh0SXRl
cmF0b3JEZWZhdWx0QmVoYXZpb3I7Ci0gICAgaWYgKG9wdGlvbnMuY29udGFpbnMoVGV4dEl0ZXJh
dG9yTGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMpKQotICAg
ICAgICBiZWhhdmlvciB8PSBUZXh0SXRlcmF0b3JFbWl0c0NoYXJhY3RlcnNCZXR3ZWVuQWxsVmlz
aWJsZVBvc2l0aW9uczsKLSAgICBpZiAob3B0aW9ucy5jb250YWlucyhUZXh0SXRlcmF0b3JMZW5n
dGhPcHRpb246Oklnbm9yZVZpc2liaWxpdHkpKQotICAgICAgICBiZWhhdmlvciB8PSBUZXh0SXRl
cmF0b3JJZ25vcmVzU3R5bGVWaXNpYmlsaXR5OwotICAgIHJldHVybiBiZWhhdmlvcjsKLX0KLQot
aW50IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgoY29uc3QgUmFuZ2UqIHJhbmdlLCBPcHRpb25T
ZXQ8VGV4dEl0ZXJhdG9yTGVuZ3RoT3B0aW9uPiBvcHRpb25zKQoraW50IFRleHRJdGVyYXRvcjo6
cmFuZ2VMZW5ndGgoY29uc3QgUmFuZ2UqIHJhbmdlLCBib29sIGZvclNlbGVjdGlvblByZXNlcnZh
dGlvbikKIHsKICAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwotICAgIGZvciAoVGV4dEl0ZXJhdG9y
IGl0KHJhbmdlLCBiZWhhdmlvckZyb21MZWdudGhPcHRpb25zKG9wdGlvbnMpKTsgIWl0LmF0RW5k
KCk7IGl0LmFkdmFuY2UoKSkKKyAgICBmb3IgKFRleHRJdGVyYXRvciBpdChyYW5nZSwgZm9yU2Vs
ZWN0aW9uUHJlc2VydmF0aW9uID8gVGV4dEl0ZXJhdG9yRW1pdHNDaGFyYWN0ZXJzQmV0d2VlbkFs
bFZpc2libGVQb3NpdGlvbnMgOiBUZXh0SXRlcmF0b3JEZWZhdWx0QmVoYXZpb3IpOyAhaXQuYXRF
bmQoKTsgaXQuYWR2YW5jZSgpKQogICAgICAgICBsZW5ndGggKz0gaXQudGV4dCgpLmxlbmd0aCgp
OwogICAgIHJldHVybiBsZW5ndGg7CiB9CkBAIC0yNDI4LDcgKzI0MTgsNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNJbnNpZGVSZXBsYWNlZEVsZW1lbnQoVGV4dEl0ZXJhdG9yJiBpdGVyYXRvcikK
ICAgICByZXR1cm4gbm9kZSAmJiBpc1JlbmRlcmVyUmVwbGFjZWRFbGVtZW50KG5vZGUtPnJlbmRl
cmVyKCkpOwogfQogCi1SZWZQdHI8UmFuZ2U+IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRp
b25BbmRMZW5ndGgoQ29udGFpbmVyTm9kZSogc2NvcGUsIGludCByYW5nZUxvY2F0aW9uLCBpbnQg
cmFuZ2VMZW5ndGgsIE9wdGlvblNldDxUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb24+IG9wdGlvbnMp
CitSZWZQdHI8UmFuZ2U+IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgo
Q29udGFpbmVyTm9kZSogc2NvcGUsIGludCByYW5nZUxvY2F0aW9uLCBpbnQgcmFuZ2VMZW5ndGgs
IGJvb2wgZm9yU2VsZWN0aW9uUHJlc2VydmF0aW9uKQogewogICAgIFJlZjxSYW5nZT4gcmVzdWx0
UmFuZ2UgPSBzY29wZS0+ZG9jdW1lbnQoKS5jcmVhdGVSYW5nZSgpOwogCkBAIC0yNDM4LDcgKzI0
MjgsNyBAQCBSZWZQdHI8UmFuZ2U+IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRM
ZW5ndGgoQ29udGFpbmVyTm9kZSogc2NvcGUsIGludAogCiAgICAgUmVmPFJhbmdlPiB0ZXh0UnVu
UmFuZ2UgPSByYW5nZU9mQ29udGVudHMoKnNjb3BlKTsKIAotICAgIFRleHRJdGVyYXRvciBpdCh0
ZXh0UnVuUmFuZ2UucHRyKCksIGJlaGF2aW9yRnJvbUxlZ250aE9wdGlvbnMob3B0aW9ucykpOwor
ICAgIFRleHRJdGVyYXRvciBpdCh0ZXh0UnVuUmFuZ2UucHRyKCksIGZvclNlbGVjdGlvblByZXNl
cnZhdGlvbiA/IFRleHRJdGVyYXRvckVtaXRzQ2hhcmFjdGVyc0JldHdlZW5BbGxWaXNpYmxlUG9z
aXRpb25zIDogVGV4dEl0ZXJhdG9yRGVmYXVsdEJlaGF2aW9yKTsKICAgICAKICAgICAvLyBGSVhN
RTogdGhlIGF0RW5kKCkgY2hlY2sgc2hvdWxkbid0IGJlIG5lY2Vzc2FyeSwgd29ya2Fyb3VuZCBm
b3IgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyODk+LgogICAgIGlm
ICghcmFuZ2VMb2NhdGlvbiAmJiAhcmFuZ2VMZW5ndGggJiYgaXQuYXRFbmQoKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKaW5kZXggOTJhZWE3ZThkZGM0YmNjOWM1Mzg0Y2Uw
MTY5N2VjM2Q4YmYxOWM2YS4uMTAzMDRhZmY4NzhmNGZmZWM1OGI5ZjkwMzVkYjkxZjRkMDVkN2Iy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAjaW5jbHVkZSAiTGluZUxheW91dFRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAj
aW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKLSNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1Zp
ZXcuaD4KIApAQCAtMTIyLDggKzEyMSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBUZXh0SXRlcmF0
b3JDb3B5YWJsZVRleHQmIGNvcHlhYmxlVGV4dCgpIGNvbnN0IHsgQVNTRVJUKCFhdEVuZCgpKTsg
cmV0dXJuIG1fY29weWFibGVUZXh0OyB9CiAgICAgdm9pZCBhcHBlbmRUZXh0VG9TdHJpbmdCdWls
ZGVyKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIpIGNvbnN0IHsgY29weWFibGVUZXh0KCkuYXBwZW5k
VG9TdHJpbmdCdWlsZGVyKGJ1aWxkZXIpOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
aW50IHJhbmdlTGVuZ3RoKGNvbnN0IFJhbmdlKiwgT3B0aW9uU2V0PFRleHRJdGVyYXRvckxlbmd0
aE9wdGlvbj4gPSB7IH0pOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmFuZ2U+
IHJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKENvbnRhaW5lck5vZGUqIHNjb3BlLCBpbnQgcmFu
Z2VMb2NhdGlvbiwgaW50IHJhbmdlTGVuZ3RoLCBPcHRpb25TZXQ8VGV4dEl0ZXJhdG9yTGVuZ3Ro
T3B0aW9uPiA9IHsgfSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGludCByYW5nZUxlbmd0
aChjb25zdCBSYW5nZSosIGJvb2wgc3BhY2VzRm9yUmVwbGFjZWRFbGVtZW50cyA9IGZhbHNlKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFJhbmdlPiByYW5nZUZyb21Mb2NhdGlv
bkFuZExlbmd0aChDb250YWluZXJOb2RlKiBzY29wZSwgaW50IHJhbmdlTG9jYXRpb24sIGludCBy
YW5nZUxlbmd0aCwgYm9vbCBzcGFjZXNGb3JSZXBsYWNlZEVsZW1lbnRzID0gZmFsc2UpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGdldExvY2F0aW9uQW5kTGVuZ3RoRnJvbVJhbmdl
KE5vZGUqIHNjb3BlLCBjb25zdCBSYW5nZSosIHNpemVfdCYgbG9jYXRpb24sIHNpemVfdCYgbGVu
Z3RoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFJhbmdlPiBzdWJyYW5nZShSYW5n
ZSYgZW50aXJlUmFuZ2UsIGludCBjaGFyYWN0ZXJPZmZzZXQsIGludCBjaGFyYWN0ZXJDb3VudCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yQmVoYXZp
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaAppbmRl
eCBhNTcwZWMwNDQ3YzYwNTYwNThmYmU0ZTIxNTY5OWU3NWY1ZWRkMjA4Li5jMDFmOTdmODJkMjgx
ZDE2YjhhNjRkOWJiNDRmZjhhYjY4NzA2YTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvckJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0SXRlcmF0b3JCZWhhdmlvci5oCkBAIC02Myw5ICs2Myw0IEBAIGVudW0gVGV4dEl0ZXJh
dG9yQmVoYXZpb3JGbGFnIHsKIAogdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBUZXh0SXRlcmF0b3JC
ZWhhdmlvcjsKIAotZW51bSBjbGFzcyBUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb24gOiB1aW50OF90
IHsKLSAgICBHZW5lcmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgPSAxIDw8IDAsCi0gICAg
SWdub3JlVmlzaWJpbGl0eSA9IDEgPDwgMSwKLX07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0RpY3RhdGlvbkNvbW1hbmRJ
T1MuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRGljdGF0aW9uQ29tbWFuZElPUy5j
cHAKaW5kZXggYzE4ZWRjMGJkNTgwNjliZjU2OTNiMTJhM2M2NGI1OTQ0Nzc3NDE0YS4uOWMxYWU4
ODg5NTFmYjNiYjI1NmVkN2UwOWUyNDE3NmJjOGQzYzM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9pb3MvRGljdGF0aW9uQ29tbWFuZElPUy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9pb3MvRGljdGF0aW9uQ29tbWFuZElPUy5jcHAKQEAgLTY4LDEyICs2OCwx
MSBAQCB2b2lkIERpY3RhdGlvbkNvbW1hbmRJT1M6OmRvQXBwbHkoKQogCiAgICAgLy8gRklYTUU6
IEFkZCB0aGUgcmVzdWx0IG1hcmtlciB1c2luZyBhIFBvc2l0aW9uIGNhY2hlZCBiZWZvcmUgcmVz
dWx0cyBhcmUgaW5zZXJ0ZWQsIGluc3RlYWQgb2YgcmVseWluZyBvbiBUZXh0SXRlcmF0b3JzLgog
ICAgIGF1dG8gcmFuZ2VUb0VuZCA9IFJhbmdlOjpjcmVhdGUoZG9jdW1lbnQoKSwgY3JlYXRlTGVn
YWN5RWRpdGluZ1Bvc2l0aW9uKChOb2RlICopcm9vdCwgMCksIGFmdGVyUmVzdWx0cy5kZWVwRXF1
aXZhbGVudCgpKTsKLSAgICBpbnQgZW5kSW5kZXggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3Ro
KHJhbmdlVG9FbmQucHRyKCksIHsgVGV4dEl0ZXJhdG9yTGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNw
YWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgfSk7CisgICAgaW50IGVuZEluZGV4ID0gVGV4dEl0ZXJh
dG9yOjpyYW5nZUxlbmd0aChyYW5nZVRvRW5kLnB0cigpLCB0cnVlKTsKICAgICBpbnQgc3RhcnRJ
bmRleCA9IGVuZEluZGV4IC0gcmVzdWx0TGVuZ3RoOwogCiAgICAgaWYgKHN0YXJ0SW5kZXggPj0g
MCkgewotICAgICAgICBSZWZQdHI8UmFuZ2U+IHJlc3VsdFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpy
YW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLCBz
dGFydEluZGV4LCBlbmRJbmRleCwKLSAgICAgICAgICAgIHsgVGV4dEl0ZXJhdG9yTGVuZ3RoT3B0
aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgfSk7CisgICAgICAgIFJlZlB0
cjxSYW5nZT4gcmVzdWx0UmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5k
TGVuZ3RoKGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCksIHN0YXJ0SW5kZXgsIGVuZEluZGV4
LCB0cnVlKTsKICAgICAgICAgQVNTRVJUKHJlc3VsdFJhbmdlKTsgLy8gRklYTUU6IFdoYXQgZ3Vh
cmFudGVlcyB0aGlzPwogICAgICAgICBkb2N1bWVudCgpLm1hcmtlcnMoKS5hZGREaWN0YXRpb25S
ZXN1bHRNYXJrZXIoKnJlc3VsdFJhbmdlLCBtX21ldGFkYXRhKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGZm
NGU5ZDk4MGJhM2NkNmZmYWVlODJiMWM2ZDgwODJmM2EyNjVlMmQuLjNjOWIzMzhmZDI2MjZkNzRk
NmRlMDhjZWZlNDVlNTM2YjM0YTE2MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC02NTUsMTMgKzY1NSwxNiBAQCB1bnNp
Z25lZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6aW5kZXhGb3JQb3NpdGlvbihjb25zdCBQ
b3NpdGlvbiYgcGFzc2VkUG9zaQogCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gaW5uZXJUZXh0VmFs
dWUoKS5sZW5ndGgoKTsKICAgICBpbmRleCA9IHN0ZDo6bWluKGluZGV4LCBsZW5ndGgpOyAvLyBG
SVhNRTogV2Ugc2hvdWxkbid0IGhhdmUgdG8gY2FsbCBpbm5lclRleHRWYWx1ZSgpIGp1c3QgdG8g
aWdub3JlIHRoZSBsYXN0IExGLiBTZWUgZmluaXNoVGV4dC4KKyNpZiAwCisgICAgLy8gRklYTUU6
IFRoaXMgYXNzZXJ0aW9uIGNvZGUgd2FzIG5ldmVyIGJ1aWx0LCBoYXMgYml0IHJvdHRlZCwgYW5k
IG5lZWRzIHRvIGJlIGZpeGVkIGJlZm9yZSBpdCBjYW4gYmUgZW5hYmxlZDoKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NzA2LgogI2lmIEFTU0VSVF9F
TkFCTEVECiAgICAgVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbiA9IHBhc3NlZFBvc2l0
aW9uOwotICAgIGlmICh2aXNpYmxlUG9zaXRpb24uaXNOb3ROdWxsKCkpIHsKLSAgICAgICAgdW5z
aWduZWQgaW5kZXhDb21wdXRlZEJ5VmlzaWJsZVBvc2l0aW9uID0gV2ViQ29yZTo6aW5kZXhGb3JW
aXNpYmxlUG9zaXRpb24oKmlubmVyVGV4dCwgdmlzaWJsZVBvc2l0aW9uLAotICAgICAgICAgICAg
eyBUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb246OkdlbmVyYXRlU3BhY2VzRm9yUmVwbGFjZWRFbGVt
ZW50cywgVGV4dEl0ZXJhdG9yTGVuZ3RoT3B0aW9uOjpJZ25vcmVWaXNpYmlsaXR5IH0pOwotICAg
ICAgICBBU1NFUlQoaW5kZXggPT0gaW5kZXhDb21wdXRlZEJ5VmlzaWJsZVBvc2l0aW9uKTsKLSAg
ICB9CisgICAgdW5zaWduZWQgaW5kZXhDb21wdXRlZEJ5VmlzaWJsZVBvc2l0aW9uID0gMDsKKyAg
ICBpZiAodmlzaWJsZVBvc2l0aW9uLmlzTm90TnVsbCgpKQorICAgICAgICBpbmRleENvbXB1dGVk
QnlWaXNpYmxlUG9zaXRpb24gPSBXZWJDb3JlOjppbmRleEZvclZpc2libGVQb3NpdGlvbihpbm5l
clRleHQsIHZpc2libGVQb3NpdGlvbiwgZmFsc2UgLyogZm9yU2VsZWN0aW9uUHJlc2VydmF0aW9u
ICovKTsKKyAgICBBU1NFUlQoaW5kZXggPT0gaW5kZXhDb21wdXRlZEJ5VmlzaWJsZVBvc2l0aW9u
KTsKKyNlbmRpZgogI2VuZGlmCiAgICAgcmV0dXJuIGluZGV4OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCmluZGV4IDUyM2FkMzkxOWVmMTViMzEyN2QyYTQ4YTdkODkxNzI1ZDYx
OWNjNDMuLmZhYjRhY2YzNTA5NTA1NTVjMGFiNmFmYzhmNGFlOTdlZGFlMzdjMjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTY1Niw3ICs2NTYsNyBAQCBib29sIEV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50VHJpcGxlQ2xpY2soY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0Ugogc3RhdGljIGludCB0ZXh0RGlzdGFuY2UoY29uc3QgUG9zaXRpb24mIHN0
YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5kKQogewogICAgIGF1dG8gcmFuZ2UgPSBSYW5nZTo6Y3Jl
YXRlKHN0YXJ0LmFuY2hvck5vZGUoKS0+ZG9jdW1lbnQoKSwgc3RhcnQsIGVuZCk7Ci0gICAgcmV0
dXJuIFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgocmFuZ2UucHRyKCksIHsgVGV4dEl0ZXJhdG9y
TGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgfSk7CisgICAg
cmV0dXJuIFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgocmFuZ2UucHRyKCksIHRydWUpOwogfQog
CiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50U2luZ2xlQ2xpY2soY29u
c3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGY0YmI4OTIx
MTQ5Y2VhZTBmNDI0ODBiNzUxOTg4YTllZWQ5YTFmNTMuLjQ3MzgzNTc2Y2YwMzkzZDdhNGVkM2Y1
ODc3M2MzOTkzODllZWZhZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0xOTU3LDcgKzE5NTcsNyBAQCB2b2lkIFdlYlBh
Z2U6OnN0b3JlU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eShib29sIHNob3VsZFN0b3JlKQogc3Rh
dGljIFJlZlB0cjxSYW5nZT4gcmFuZ2VOZWFyUG9zaXRpb25NYXRjaGVzVGV4dChjb25zdCBWaXNp
YmxlUG9zaXRpb24mIHBvc2l0aW9uLCBSZWZQdHI8UmFuZ2U+IG9yaWdpbmFsUmFuZ2UsIGNvbnN0
IFN0cmluZyYgbWF0Y2hUZXh0LCBSZWZQdHI8UmFuZ2U+IHNlbGVjdGlvblJhbmdlKQogewogICAg
IGF1dG8gcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKHNlbGVjdGlvblJhbmdlLT5vd25lckRvY3VtZW50
KCksIHNlbGVjdGlvblJhbmdlLT5zdGFydFBvc2l0aW9uKCksIHBvc2l0aW9uLmRlZXBFcXVpdmFs
ZW50KCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCkpOwotICAgIHVuc2lnbmVkIHRhcmdldE9m
ZnNldCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgocmFuZ2UucHRyKCksIHsgVGV4dEl0ZXJh
dG9yTGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNwYWNlc0ZvclJlcGxhY2VkRWxlbWVudHMgfSk7Cisg
ICAgdW5zaWduZWQgdGFyZ2V0T2Zmc2V0ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChyYW5n
ZS5wdHIoKSwgdHJ1ZSk7CiAgICAgcmV0dXJuIGZpbmRDbG9zZXN0UGxhaW5UZXh0KCpzZWxlY3Rp
b25SYW5nZS5nZXQoKSwgbWF0Y2hUZXh0LCB7IH0sIHRhcmdldE9mZnNldCk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>