<?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>217067</bug_id>
          
          <creation_ts>2020-09-28 17:04:11 -0700</creation_ts>
          <short_desc>[LFC][IFC] LineBreaker renames</short_desc>
          <delta_ts>2020-09-29 06:13:24 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1692716</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-09-28 17:04:11 -0700</bug_when>
    <thetext>some naming adjustments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692726</commentid>
    <comment_count>1</comment_count>
      <attachid>409930</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-28 17:22:24 -0700</bug_when>
    <thetext>Created attachment 409930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692896</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-29 06:12:42 -0700</bug_when>
    <thetext>Committed r267733: &lt;https://trac.webkit.org/changeset/267733&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409930.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692897</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-29 06:13:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/69744722&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409930</attachid>
            <date>2020-09-28 17:22:24 -0700</date>
            <delta_ts>2020-09-29 06:12:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217067-20200928172223.patch</filename>
            <type>text/plain</type>
            <size>25283</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg5ZTI5NjUzN2E2NWRj
ZGQ1MmU0OTFjYTdmYjczY2I0MTQ2ZmU1Zi4uN2UwMTU5ZmU3MzYxYjVlOTZlYWMxMTg0OTNmM2Ux
YWRjOWU5ZjJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIwLTA5LTI4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBMaW5lQnJl
YWtlciByZW5hbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTcwNjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhbmQgc3RydWN0dXJlcyBoYXZlIGV2b2x2ZWQg
b3ZlciB0aW1lLiBMZXQncyBzeW5jIHVwIHRoZWlyIG5hbWVzLgorCisgICAgICAgIExpbmVCcmVh
a2VyOjpzaG91bGRXcmFwSW5saW5lQ29udGVudCAtPiBwcm9jZXNzSW5saW5lQ29udGVudCAtPiBp
dCdzIG5vdCBqdXN0IGEgInNob3VsZCB3cmFwIG5vdyIgZnVuY3Rpb24gYW55bW9yZS4KKyAgICAg
ICAgTGluZUJyZWFrZXI6OnRyeVdyYXBwaW5nSW5saW5lQ29udGVudCAtPiBwcm9jZXNzT3ZlcmZs
b3dpbmdDb250ZW50IC0+IEl0IGRvZXMgYm90aCB3cmFwcGluZyBhbmQgYnJlYWtpbmcuCisgICAg
ICAgIExpbmVCcmVha2VyOjp3cmFwVGV4dENvbnRlbnQgLT4gcHJvY2Vzc092ZXJmbG93aW5nVGV4
dENvbnRlbnQgXl4gc2FtZSBhcyBhYm92ZQorICAgICAgICBzdHJ1Y3QgV3JhcHBlZFRleHRDb250
ZW50IC0+IFRyYWlsaW5nVGV4dENvbnRlbnQgLT4gaXQgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQg
dGhlIHRyYWlsaW5nIGNvbnRlbnQgYWZ0ZXIgd3JhcHBpbmcvYnJlYWtpbmcuCisgICAgICAgIExp
bmVCcmVha2VyOjpSZXN1bHQ6OkFjdGlvbjo6U3BsaXQgLT4gQnJlYWsgLT4gY2xvc2VyIHRvIHNw
ZWMgdGVybS4KKyAgICAgICAgKFRoaXMgcGF0Y2ggYWxzbyBjaGFuZ2VzIHNvbWUgdW5zaWduZWQg
dG8gc2l6ZV90LikKKworICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGluZUJyZWFrZXI6OnByb2Nlc3NJbmxpbmVDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJyZWFrZXI6OnByb2Nlc3NPdmVyZmxvd2luZ0NvbnRlbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtlcjo6cHJvY2Vzc092ZXJmbG93aW5nVGV4
dENvbnRlbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtlcjo6
dHJ5QnJlYWtpbmdUZXh0UnVuIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJyZWFrZXI6OnNob3VsZFdyYXBJbmxpbmVDb250ZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUJyZWFrZXI6OnRyeVdyYXBwaW5nSW5saW5lQ29udGVudCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCcmVha2VyOjp3cmFw
VGV4dENvbnRlbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmg6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCdWlsZGVyOjpwbGFjZUlubGluZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpMaW5lQnVpbGRlcjo6bmV4dENvbnRlbnRGb3JMaW5lKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmhhbmRsZUZsb2F0c0FuZElubGluZUNvbnRlbnQpOgor
ICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmg6CisK
IDIwMjAtMDktMjggIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFttYWNPU10gVXBkYXRlIHRoZSBhcHBlYXJhbmNlIG9mIGVkaXRhYmxlIGRhdGUvdGltZSBj
b250cm9scyB0byBtYXRjaCB0aGUgc3lzdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5jcHAKaW5kZXggNjMzZDFiNTc0NGQ3NTBkYjQ3YWY5NGFhOGFmM2FjNTMyZmFlZjY3Ni4uZDNh
NjU1NTU2NTE1ODcwNzhjYTQ5NTg3YjZhNmZlNTI2OWU1ZThkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTQ2LDcgKzE0Niw3IEBAIHZvaWQgSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoSW5saW5lSXRlbXMmIGlubGluZUl0ZW1zLCBMaW5lQnVp
bGRlcjo6CiAgICAgYXV0byBsaW5lTG9naWNhbFRvcCA9IGNvbnN0cmFpbnRzLnZlcnRpY2FsLmxv
Z2ljYWxUb3A7CiAgICAgc3RydWN0IFByZXZpb3VzTGluZSB7CiAgICAgICAgIExpbmVCdWlsZGVy
OjpJbmxpbmVJdGVtUmFuZ2UgcmFuZ2U7Ci0gICAgICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBvdmVy
Zmxvd0NvbnRlbnRMZW5ndGg7CisgICAgICAgIE9wdGlvbmFsPHNpemVfdD4gb3ZlcmZsb3dDb250
ZW50TGVuZ3RoOwogICAgIH07CiAgICAgT3B0aW9uYWw8UHJldmlvdXNMaW5lPiBwcmV2aW91c0xp
bmU7CiAgICAgYXV0byBmbG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRleHQgeyByb290KCks
ICp0aGlzLCBmb3JtYXR0aW5nU3RhdGUoKS5mbG9hdGluZ1N0YXRlKCkgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVC
cmVha2VyLmNwcAppbmRleCAxNGI5ZmQ0MmQzYTZlZmI0NDE5OWE5ODkyN2FmMjA0MzJhM2Y5MWY5
Li5iNmY4ZGZlNmJhMjk0N2U4MGNhN2JkMGI1OTVmOGIzMTRiMGM5NmI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUJyZWFrZXIuY3BwCkBAIC04MywxMiArODMsNiBAQCBwcml2YXRlOgogICAgIGNvbnN0IExpbmVC
cmVha2VyOjpDYW5kaWRhdGVDb250ZW50JiBtX2NhbmRpZGF0ZUNvbnRlbnQ7CiB9OwogCi1zdHJ1
Y3QgV3JhcHBlZFRleHRDb250ZW50IHsKLSAgICBzaXplX3QgdHJhaWxpbmdSdW5JbmRleCB7IDAg
fTsKLSAgICBib29sIGNvbnRlbnRPdmVyZmxvd3MgeyBmYWxzZSB9OwotICAgIE9wdGlvbmFsPExp
bmVCcmVha2VyOjpQYXJ0aWFsUnVuPiBwYXJ0aWFsVHJhaWxpbmdSdW47Ci19OwotCiBib29sIExp
bmVCcmVha2VyOjppc0NvbnRlbnRXcmFwcGluZ0FsbG93ZWQoY29uc3QgQ29udGludW91c0NvbnRl
bnQmIGNvbnRpbnVvdXNDb250ZW50KSBjb25zdAogewogICAgIC8vIFVzZSB0aGUgbGFzdCBpbmxp
bmUgaXRlbSB3aXRoIGNvbnRlbnQgKHdoZXJlIHdlIHdvdWxkIGJlIHdyYXBwaW5nKSB0byBkZWNp
ZGUgaWYgY29udGVudCB3cmFwcGluZyBpcyBhbGxvd2VkLgpAQCAtMTA3LDkgKzEwMSw5IEBAIGJv
b2wgTGluZUJyZWFrZXI6OnNob3VsZEtlZXBFbmRPZkxpbmVXaGl0ZXNwYWNlKGNvbnN0IENvbnRp
bnVvdXNDb250ZW50JiBjb250aW51CiAgICAgcmV0dXJuIHdoaXRlc3BhY2UgPT0gV2hpdGVTcGFj
ZTo6Tm9ybWFsIHx8IHdoaXRlc3BhY2UgPT0gV2hpdGVTcGFjZTo6Tm9XcmFwIHx8IHdoaXRlc3Bh
Y2UgPT0gV2hpdGVTcGFjZTo6UHJlV3JhcCB8fCB3aGl0ZXNwYWNlID09IFdoaXRlU3BhY2U6OlBy
ZUxpbmU7CiB9CiAKLUxpbmVCcmVha2VyOjpSZXN1bHQgTGluZUJyZWFrZXI6OnNob3VsZFdyYXBJ
bmxpbmVDb250ZW50KGNvbnN0IENhbmRpZGF0ZUNvbnRlbnQmIGNhbmRpZGF0ZUNvbnRlbnQsIGNv
bnN0IExpbmVTdGF0dXMmIGxpbmVTdGF0dXMpCitMaW5lQnJlYWtlcjo6UmVzdWx0IExpbmVCcmVh
a2VyOjpwcm9jZXNzSW5saW5lQ29udGVudChjb25zdCBDYW5kaWRhdGVDb250ZW50JiBjYW5kaWRh
dGVDb250ZW50LCBjb25zdCBMaW5lU3RhdHVzJiBsaW5lU3RhdHVzKQogewotICAgIGF1dG8gaW5s
aW5lQ29udGVudFdyYXBwaW5nID0gWyZdIHsKKyAgICBhdXRvIHByb2Nlc3NDYW5kaWRhdGVDb250
ZW50ID0gWyZdIHsKICAgICAgICAgaWYgKGNhbmRpZGF0ZUNvbnRlbnQubG9naWNhbFdpZHRoIDw9
IGxpbmVTdGF0dXMuYXZhaWxhYmxlV2lkdGgpCiAgICAgICAgICAgICByZXR1cm4gUmVzdWx0IHsg
UmVzdWx0OjpBY3Rpb246OktlZXAgfTsKICNpZiBVU0VfRkxPQVRfQVNfSU5MSU5FX0xBWU9VVF9V
TklUCkBAIC0xMTcsMTAgKzExMSwxMCBAQCBMaW5lQnJlYWtlcjo6UmVzdWx0IExpbmVCcmVha2Vy
OjpzaG91bGRXcmFwSW5saW5lQ29udGVudChjb25zdCBDYW5kaWRhdGVDb250ZW50JgogICAgICAg
ICBpZiAoV1RGOjphcmVFc3NlbnRpYWxseUVxdWFsKGNhbmRpZGF0ZUNvbnRlbnQubG9naWNhbFdp
ZHRoLCBsaW5lU3RhdHVzLmF2YWlsYWJsZVdpZHRoKSkKICAgICAgICAgICAgIHJldHVybiBSZXN1
bHQgeyBSZXN1bHQ6OkFjdGlvbjo6S2VlcCB9OwogI2VuZGlmCi0gICAgICAgIHJldHVybiB0cnlX
cmFwcGluZ0lubGluZUNvbnRlbnQoY2FuZGlkYXRlQ29udGVudCwgbGluZVN0YXR1cyk7CisgICAg
ICAgIHJldHVybiBwcm9jZXNzT3ZlcmZsb3dpbmdDb250ZW50KGNhbmRpZGF0ZUNvbnRlbnQsIGxp
bmVTdGF0dXMpOwogICAgIH07CiAKLSAgICBhdXRvIHJlc3VsdCA9IGlubGluZUNvbnRlbnRXcmFw
cGluZygpOworICAgIGF1dG8gcmVzdWx0ID0gcHJvY2Vzc0NhbmRpZGF0ZUNvbnRlbnQoKTsKICAg
ICBpZiAocmVzdWx0LmFjdGlvbiA9PSBSZXN1bHQ6OkFjdGlvbjo6S2VlcCkgewogICAgICAgICAv
LyBJZiB0aGlzIGlzIG5vdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCBob2xkIG9uIHRvIHRoZSBsYXN0
IGVsaWdpYmxlIGxpbmUgd3JhcCBvcHBvcnR1bml0eSBzbyB0aGF0IHdlIGNvdWxkIHJldmVydCBi
YWNrCiAgICAgICAgIC8vIHRvIHRoaXMgcG9zaXRpb24gaWYgbm8gb3RoZXIgbGluZSBicmVha2lu
ZyBvcHBvcnR1bml0eSBleGlzdHMgaW4gdGhpcyBjb250ZW50LgpAQCAtMTQxLDkgKzEzNSwxNSBA
QCBMaW5lQnJlYWtlcjo6UmVzdWx0IExpbmVCcmVha2VyOjpzaG91bGRXcmFwSW5saW5lQ29udGVu
dChjb25zdCBDYW5kaWRhdGVDb250ZW50JgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUxpbmVC
cmVha2VyOjpSZXN1bHQgTGluZUJyZWFrZXI6OnRyeVdyYXBwaW5nSW5saW5lQ29udGVudChjb25z
dCBDYW5kaWRhdGVDb250ZW50JiBjYW5kaWRhdGVDb250ZW50LCBjb25zdCBMaW5lU3RhdHVzJiBs
aW5lU3RhdHVzKSBjb25zdAorc3RydWN0IFRyYWlsaW5nVGV4dENvbnRlbnQgeworICAgIHNpemVf
dCBydW5JbmRleCB7IDAgfTsKKyAgICBib29sIGhhc092ZXJmbG93IHsgZmFsc2UgfTsgLy8gVHJh
aWxpbmcgY29udGVudCBzdGlsbCBvdmVyZmxvd3MgdGhlIGxpbmUuCisgICAgT3B0aW9uYWw8TGlu
ZUJyZWFrZXI6OlBhcnRpYWxSdW4+IHBhcnRpYWxSdW47Cit9OworCitMaW5lQnJlYWtlcjo6UmVz
dWx0IExpbmVCcmVha2VyOjpwcm9jZXNzT3ZlcmZsb3dpbmdDb250ZW50KGNvbnN0IENhbmRpZGF0
ZUNvbnRlbnQmIG92ZXJmbG93Q29udGVudCwgY29uc3QgTGluZVN0YXR1cyYgbGluZVN0YXR1cykg
Y29uc3QKIHsKLSAgICBhdXRvIGNvbnRpbnVvdXNDb250ZW50ID0gQ29udGludW91c0NvbnRlbnQg
eyBjYW5kaWRhdGVDb250ZW50IH07CisgICAgYXV0byBjb250aW51b3VzQ29udGVudCA9IENvbnRp
bnVvdXNDb250ZW50IHsgb3ZlcmZsb3dDb250ZW50IH07CiAgICAgQVNTRVJUKCFjb250aW51b3Vz
Q29udGVudC5pc0VtcHR5KCkpOwogCiAgICAgQVNTRVJUKGNvbnRpbnVvdXNDb250ZW50LmxvZ2lj
YWxXaWR0aCgpID4gbGluZVN0YXR1cy5hdmFpbGFibGVXaWR0aCk7CkBAIC0xNzEsOSArMTcxLDkg
QEAgTGluZUJyZWFrZXI6OlJlc3VsdCBMaW5lQnJlYWtlcjo6dHJ5V3JhcHBpbmdJbmxpbmVDb250
ZW50KGNvbnN0IENhbmRpZGF0ZUNvbnRlbnQKICAgICB9CiAKICAgICBpZiAoY29udGludW91c0Nv
bnRlbnQuaGFzVGV4dENvbnRlbnRPbmx5KCkpIHsKLSAgICAgICAgaWYgKGF1dG8gd3JhcHBlZFRl
eHRDb250ZW50ID0gd3JhcFRleHRDb250ZW50KGNvbnRpbnVvdXNDb250ZW50LCBsaW5lU3RhdHVz
KSkgewotICAgICAgICAgICAgaWYgKCF3cmFwcGVkVGV4dENvbnRlbnQtPnRyYWlsaW5nUnVuSW5k
ZXggJiYgd3JhcHBlZFRleHRDb250ZW50LT5jb250ZW50T3ZlcmZsb3dzKSB7Ci0gICAgICAgICAg
ICAgICAgLy8gV2UgdHJpZWQgdG8gc3BsaXQgdGhlIGNvbnRlbnQgYnV0IHRoZSBhdmFpbGFibGUg
c3BhY2UgY2FuJ3QgZXZlbiBhY2NvbW1vZGF0ZSB0aGUgZmlyc3QgY2hhcmFjdGVyLgorICAgICAg
ICBpZiAoYXV0byB0cmFpbGluZ0NvbnRlbnQgPSBwcm9jZXNzT3ZlcmZsb3dpbmdUZXh0Q29udGVu
dChjb250aW51b3VzQ29udGVudCwgbGluZVN0YXR1cykpIHsKKyAgICAgICAgICAgIGlmICghdHJh
aWxpbmdDb250ZW50LT5ydW5JbmRleCAmJiB0cmFpbGluZ0NvbnRlbnQtPmhhc092ZXJmbG93KSB7
CisgICAgICAgICAgICAgICAgLy8gV2UgdHJpZWQgdG8gYnJlYWsgdGhlIGNvbnRlbnQgYnV0IHRo
ZSBhdmFpbGFibGUgc3BhY2UgY2FuJ3QgZXZlbiBhY2NvbW1vZGF0ZSB0aGUgZmlyc3QgY2hhcmFj
dGVyLgogICAgICAgICAgICAgICAgIC8vIDEuIFB1c2ggdGhlIGNvbnRlbnQgb3ZlciB0byB0aGUg
bmV4dCBsaW5lIHdoZW4gd2UndmUgZ290IGNvbnRlbnQgb24gdGhlIGxpbmUgYWxyZWFkeS4KICAg
ICAgICAgICAgICAgICAvLyAyLiBLZWVwIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb24gdGhlIGVtcHR5
IGxpbmUgKG9yIGtlZXAgdGhlIHdob2xlIHJ1biBpZiBpdCBoYXMgb25seSBvbmUgY2hhcmFjdGVy
KS4KICAgICAgICAgICAgICAgICBpZiAoIWxpbmVTdGF0dXMubGluZUlzRW1wdHkpCkBAIC0xODUs
MTAgKzE4NSwxMCBAQCBMaW5lQnJlYWtlcjo6UmVzdWx0IExpbmVCcmVha2VyOjp0cnlXcmFwcGlu
Z0lubGluZUNvbnRlbnQoY29uc3QgQ2FuZGlkYXRlQ29udGVudAogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gUmVzdWx0IHsgUmVzdWx0OjpBY3Rpb246OktlZXAsIElzRW5kT2ZMaW5lOjpZZXMg
fTsKICAgICAgICAgICAgICAgICBhdXRvIGZpcnN0Q2hhcmFjdGVyV2lkdGggPSBUZXh0VXRpbDo6
d2lkdGgoaW5saW5lVGV4dEl0ZW0sIGlubGluZVRleHRJdGVtLnN0YXJ0KCksIGlubGluZVRleHRJ
dGVtLnN0YXJ0KCkgKyAxKTsKICAgICAgICAgICAgICAgICBhdXRvIGZpcnN0Q2hhcmFjdGVyUnVu
ID0gUGFydGlhbFJ1biB7IDEsIGZpcnN0Q2hhcmFjdGVyV2lkdGgsIGZhbHNlIH07Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHsgUmVzdWx0OjpBY3Rpb246OlNwbGl0LCBJc0VuZE9mTGluZTo6WWVz
LCBSZXN1bHQ6OlBhcnRpYWxUcmFpbGluZ0NvbnRlbnQgeyBmaXJzdFRleHRSdW5JbmRleCwgZmly
c3RDaGFyYWN0ZXJSdW4gfSB9OworICAgICAgICAgICAgICAgIHJldHVybiB7IFJlc3VsdDo6QWN0
aW9uOjpCcmVhaywgSXNFbmRPZkxpbmU6OlllcywgUmVzdWx0OjpQYXJ0aWFsVHJhaWxpbmdDb250
ZW50IHsgZmlyc3RUZXh0UnVuSW5kZXgsIGZpcnN0Q2hhcmFjdGVyUnVuIH0gfTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGF1dG8gc3BsaXRDb250ZW50ID0gUmVzdWx0OjpQYXJ0aWFsVHJh
aWxpbmdDb250ZW50IHsgd3JhcHBlZFRleHRDb250ZW50LT50cmFpbGluZ1J1bkluZGV4LCB3cmFw
cGVkVGV4dENvbnRlbnQtPnBhcnRpYWxUcmFpbGluZ1J1biB9OwotICAgICAgICAgICAgcmV0dXJu
IHsgUmVzdWx0OjpBY3Rpb246OlNwbGl0LCBJc0VuZE9mTGluZTo6WWVzLCBzcGxpdENvbnRlbnQg
fTsKKyAgICAgICAgICAgIGF1dG8gdHJhaWxpbmdQYXJ0aWFsQ29udGVudCA9IFJlc3VsdDo6UGFy
dGlhbFRyYWlsaW5nQ29udGVudCB7IHRyYWlsaW5nQ29udGVudC0+cnVuSW5kZXgsIHRyYWlsaW5n
Q29udGVudC0+cGFydGlhbFJ1biB9OworICAgICAgICAgICAgcmV0dXJuIHsgUmVzdWx0OjpBY3Rp
b246OkJyZWFrLCBJc0VuZE9mTGluZTo6WWVzLCB0cmFpbGluZ1BhcnRpYWxDb250ZW50IH07CiAg
ICAgICAgIH0KICAgICB9CiAgICAgLy8gSWYgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGJyZWFrIHRo
aXMgb3ZlcmZsb3dpbmcgY29udGVudCwgd2Ugc3RpbGwgbmVlZCB0byBkZWNpZGUgd2hldGhlciBr
ZWVwIGl0IG9yIHB1c2ggaXQgdG8gdGhlIG5leHQgbGluZS4KQEAgLTIwNCw3ICsyMDQsNyBAQCBM
aW5lQnJlYWtlcjo6UmVzdWx0IExpbmVCcmVha2VyOjp0cnlXcmFwcGluZ0lubGluZUNvbnRlbnQo
Y29uc3QgQ2FuZGlkYXRlQ29udGVudAogICAgIHJldHVybiB7IFJlc3VsdDo6QWN0aW9uOjpLZWVw
LCBJc0VuZE9mTGluZTo6Tm8gfTsKIH0KIAotT3B0aW9uYWw8V3JhcHBlZFRleHRDb250ZW50PiBM
aW5lQnJlYWtlcjo6d3JhcFRleHRDb250ZW50KGNvbnN0IENvbnRpbnVvdXNDb250ZW50JiBjb250
aW51b3VzQ29udGVudCwgY29uc3QgTGluZVN0YXR1cyYgbGluZVN0YXR1cykgY29uc3QKK09wdGlv
bmFsPFRyYWlsaW5nVGV4dENvbnRlbnQ+IExpbmVCcmVha2VyOjpwcm9jZXNzT3ZlcmZsb3dpbmdU
ZXh0Q29udGVudChjb25zdCBDb250aW51b3VzQ29udGVudCYgY29udGludW91c0NvbnRlbnQsIGNv
bnN0IExpbmVTdGF0dXMmIGxpbmVTdGF0dXMpIGNvbnN0CiB7CiAgICAgYXV0byBpc0JyZWFrYWJs
ZVJ1biA9IFtdIChhdXRvJiBydW4pIHsKICAgICAgICAgQVNTRVJUKHJ1bi5pbmxpbmVJdGVtLmlz
VGV4dCgpIHx8IHJ1bi5pbmxpbmVJdGVtLmlzQ29udGFpbmVyU3RhcnQoKSB8fCBydW4uaW5saW5l
SXRlbS5pc0NvbnRhaW5lckVuZCgpKTsKQEAgLTIzMSwxNCArMjMxLDE0IEBAIE9wdGlvbmFsPFdy
YXBwZWRUZXh0Q29udGVudD4gTGluZUJyZWFrZXI6OndyYXBUZXh0Q29udGVudChjb25zdCBDb250
aW51b3VzQ29udGVuCiAgICAgICAgICAgICAvLyBXaGVuIHRoZSBmaXJzdCBzcGFuIGNvbXB1dGVz
IGxvbmdlciB0aGFuIHRoZSBhdmFpbGFibGUgc3BhY2UsIGJ5IHRoZSB0aW1lIHdlIGdldCB0byB0
aGUgc2Vjb25kIHNwYW4sIHRoZSBhZGp1c3RlZCBhdmFpbGFibGUgc3BhY2UgYmVjb21lcyBuZWdh
dGl2ZS4KICAgICAgICAgICAgIGF1dG8gYWRqdXN0ZWRBdmFpbGFibGVXaWR0aCA9IHN0ZDo6bWF4
PElubGluZUxheW91dFVuaXQ+KDAsIGxpbmVTdGF0dXMuYXZhaWxhYmxlV2lkdGggLSBhY2N1bXVs
YXRlZFJ1bldpZHRoKTsKICAgICAgICAgICAgIGlmIChhdXRvIHBhcnRpYWxSdW4gPSB0cnlCcmVh
a2luZ1RleHRSdW4ocnVuLCBjb250aW51b3VzQ29udGVudC5sb2dpY2FsTGVmdCgpICsgYWNjdW11
bGF0ZWRSdW5XaWR0aCwgYWRqdXN0ZWRBdmFpbGFibGVXaWR0aCkpIHsKLSAgICAgICAgICAgICAg
ICAgaWYgKHBhcnRpYWxSdW4tPmxlbmd0aCkKLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiBX
cmFwcGVkVGV4dENvbnRlbnQgeyBpbmRleCwgZmFsc2UsIHBhcnRpYWxSdW4gfTsKLSAgICAgICAg
ICAgICAgICAgLy8gV2hlbiB0aGUgY29udGVudCBpcyB3cmFwcGVkIGF0IHRoZSBydW4gYm91bmRh
cnksIHRoZSB0cmFpbGluZyBydW4gaXMgdGhlIHByZXZpb3VzIHJ1bi4KLSAgICAgICAgICAgICAg
ICAgaWYgKGluZGV4KQotICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFdyYXBwZWRUZXh0Q29u
dGVudCB7IGluZGV4IC0gMSwgZmFsc2UsIHsgfSB9OwotICAgICAgICAgICAgICAgICAvLyBTb21l
dGltZXMgd2UgY2FuJ3QgYWNjb21tb2RhdGUgZXZlbiB0aGUgdmVyeSBmaXJzdCBjaGFyYWN0ZXIu
Ci0gICAgICAgICAgICAgICAgIHJldHVybiBXcmFwcGVkVGV4dENvbnRlbnQgeyAwLCB0cnVlLCB7
IH0gfTsKLSAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHBhcnRpYWxSdW4tPmxl
bmd0aCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRyYWlsaW5nVGV4dENvbnRlbnQgeyBp
bmRleCwgZmFsc2UsIHBhcnRpYWxSdW4gfTsKKyAgICAgICAgICAgICAgICAvLyBXaGVuIHRoZSBj
b250ZW50IGlzIHdyYXBwZWQgYXQgdGhlIHJ1biBib3VuZGFyeSwgdGhlIHRyYWlsaW5nIHJ1biBp
cyB0aGUgcHJldmlvdXMgcnVuLgorICAgICAgICAgICAgICAgIGlmIChpbmRleCkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIFRyYWlsaW5nVGV4dENvbnRlbnQgeyBpbmRleCAtIDEsIGZhbHNl
LCB7IH0gfTsKKyAgICAgICAgICAgICAgICAvLyBTb21ldGltZXMgd2UgY2FuJ3QgYWNjb21tb2Rh
dGUgZXZlbiB0aGUgdmVyeSBmaXJzdCBjaGFyYWN0ZXIuCisgICAgICAgICAgICAgICAgcmV0dXJu
IFRyYWlsaW5nVGV4dENvbnRlbnQgeyAwLCB0cnVlLCB7IH0gfTsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIC8vIElmIHRoaXMgcnVuIGlzIG5vdCBicmVha2FibGUsIHdlIG5lZWQgdG8gY2hl
Y2sgaWYgYW55IHByZXZpb3VzIHJ1biBpcyBicmVha2FibGUuCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQpAQCAtMjUzLDkgKzI1Myw5IEBAIE9wdGlvbmFsPFdyYXBwZWRUZXh0Q29udGVu
dD4gTGluZUJyZWFrZXI6OndyYXBUZXh0Q29udGVudChjb25zdCBDb250aW51b3VzQ29udGVuCiAg
ICAgICAgIGlmIChpc0JyZWFrYWJsZVJ1bihydW4pKSB7CiAgICAgICAgICAgICBBU1NFUlQocnVu
LmlubGluZUl0ZW0uaXNUZXh0KCkpOwogICAgICAgICAgICAgaWYgKGF1dG8gcGFydGlhbFJ1biA9
IHRyeUJyZWFraW5nVGV4dFJ1bihydW4sIGNvbnRpbnVvdXNDb250ZW50LmxvZ2ljYWxMZWZ0KCkg
KyBhY2N1bXVsYXRlZFJ1bldpZHRoLCBtYXhJbmxpbmVMYXlvdXRVbml0KCkpKSB7Ci0gICAgICAg
ICAgICAgICAgIC8vIFdlIGtub3cgdGhpcyBydW4gZml0cywgc28gaWYgd3JhcHBpbmcgaXMgYWxs
b3dlZCBvbiB0aGUgcnVuLCBpdCBzaG91bGQgcmV0dXJuIGEgbm9uLWVtcHR5IGxlZnQtc2lkZS4K
LSAgICAgICAgICAgICAgICAgQVNTRVJUKHBhcnRpYWxSdW4tPmxlbmd0aCk7Ci0gICAgICAgICAg
ICAgICAgIHJldHVybiBXcmFwcGVkVGV4dENvbnRlbnQgeyBpbmRleCwgZmFsc2UsIHBhcnRpYWxS
dW4gfTsKKyAgICAgICAgICAgICAgICAvLyBXZSBrbm93IHRoaXMgcnVuIGZpdHMsIHNvIGlmIHdy
YXBwaW5nIGlzIGFsbG93ZWQgb24gdGhlIHJ1biwgaXQgc2hvdWxkIHJldHVybiBhIG5vbi1lbXB0
eSBsZWZ0LXNpZGUuCisgICAgICAgICAgICAgICAgQVNTRVJUKHBhcnRpYWxSdW4tPmxlbmd0aCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIFRyYWlsaW5nVGV4dENvbnRlbnQgeyBpbmRleCwgZmFs
c2UsIHBhcnRpYWxSdW4gfTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTI4
OSwxMCArMjg5LDEwIEBAIExpbmVCcmVha2VyOjpXb3JkQnJlYWtSdWxlIExpbmVCcmVha2VyOjp3
b3JkQnJlYWtCZWhhdmlvcihjb25zdCBSZW5kZXJTdHlsZSYgc3R5CiAgICAgcmV0dXJuIFdvcmRC
cmVha1J1bGU6Ok5vQnJlYWs7CiB9CiAKLU9wdGlvbmFsPExpbmVCcmVha2VyOjpQYXJ0aWFsUnVu
PiBMaW5lQnJlYWtlcjo6dHJ5QnJlYWtpbmdUZXh0UnVuKGNvbnN0IFJ1biYgb3ZlcmZsb3dSdW4s
IElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgYXZhaWxhYmxl
V2lkdGgpIGNvbnN0CitPcHRpb25hbDxMaW5lQnJlYWtlcjo6UGFydGlhbFJ1bj4gTGluZUJyZWFr
ZXI6OnRyeUJyZWFraW5nVGV4dFJ1bihjb25zdCBSdW4mIG92ZXJmbG93aW5nUnVuLCBJbmxpbmVM
YXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoKSBj
b25zdAogewotICAgIEFTU0VSVChvdmVyZmxvd1J1bi5pbmxpbmVJdGVtLmlzVGV4dCgpKTsKLSAg
ICBhdXRvJiBpbmxpbmVUZXh0SXRlbSA9IGRvd25jYXN0PElubGluZVRleHRJdGVtPihvdmVyZmxv
d1J1bi5pbmxpbmVJdGVtKTsKKyAgICBBU1NFUlQob3ZlcmZsb3dpbmdSdW4uaW5saW5lSXRlbS5p
c1RleHQoKSk7CisgICAgYXV0byYgaW5saW5lVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxpbmVUZXh0
SXRlbT4ob3ZlcmZsb3dpbmdSdW4uaW5saW5lSXRlbSk7CiAgICAgYXV0byYgc3R5bGUgPSBpbmxp
bmVUZXh0SXRlbS5zdHlsZSgpOwogICAgIGF1dG8gZmluZExhc3RCcmVha2FibGVQb3NpdGlvbiA9
IGF2YWlsYWJsZVdpZHRoID09IG1heElubGluZUxheW91dFVuaXQoKTsKIApAQCAtMzA1LDcgKzMw
NSw3IEBAIE9wdGlvbmFsPExpbmVCcmVha2VyOjpQYXJ0aWFsUnVuPiBMaW5lQnJlYWtlcjo6dHJ5
QnJlYWtpbmdUZXh0UnVuKGNvbnN0IFJ1biYgb3ZlCiAgICAgICAgICAgICBhdXRvIHRyYWlsaW5n
UGFydGlhbFJ1bldpZHRoID0gVGV4dFV0aWw6OndpZHRoKGlubGluZVRleHRJdGVtLCBpbmxpbmVU
ZXh0SXRlbS5zdGFydCgpLCBpbmxpbmVUZXh0SXRlbS5lbmQoKSAtIDEsIGxvZ2ljYWxMZWZ0KTsK
ICAgICAgICAgICAgIHJldHVybiBQYXJ0aWFsUnVuIHsgaW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkg
LSAxLCB0cmFpbGluZ1BhcnRpYWxSdW5XaWR0aCwgZmFsc2UgfTsKICAgICAgICAgfQotICAgICAg
ICBhdXRvIHNwbGl0RGF0YSA9IFRleHRVdGlsOjpzcGxpdChpbmxpbmVUZXh0SXRlbS5pbmxpbmVU
ZXh0Qm94KCksIGlubGluZVRleHRJdGVtLnN0YXJ0KCksIGlubGluZVRleHRJdGVtLmxlbmd0aCgp
LCBvdmVyZmxvd1J1bi5sb2dpY2FsV2lkdGgsIGF2YWlsYWJsZVdpZHRoLCBsb2dpY2FsTGVmdCk7
CisgICAgICAgIGF1dG8gc3BsaXREYXRhID0gVGV4dFV0aWw6OnNwbGl0KGlubGluZVRleHRJdGVt
LmlubGluZVRleHRCb3goKSwgaW5saW5lVGV4dEl0ZW0uc3RhcnQoKSwgaW5saW5lVGV4dEl0ZW0u
bGVuZ3RoKCksIG92ZXJmbG93aW5nUnVuLmxvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlV2lkdGgsIGxv
Z2ljYWxMZWZ0KTsKICAgICAgICAgcmV0dXJuIFBhcnRpYWxSdW4geyBzcGxpdERhdGEubGVuZ3Ro
LCBzcGxpdERhdGEubG9naWNhbFdpZHRoLCBmYWxzZSB9OwogICAgIH0KIApAQCAtMzI4LDcgKzMy
OCw3IEBAIE9wdGlvbmFsPExpbmVCcmVha2VyOjpQYXJ0aWFsUnVuPiBMaW5lQnJlYWtlcjo6dHJ5
QnJlYWtpbmdUZXh0UnVuKGNvbnN0IFJ1biYgb3ZlCiAgICAgICAgICAgICBhdXRvIGF2YWlsYWJs
ZVdpZHRoRXhjbHVkaW5nSHlwaGVuID0gYXZhaWxhYmxlV2lkdGggLSBoeXBoZW5XaWR0aDsKICAg
ICAgICAgICAgIGlmIChhdmFpbGFibGVXaWR0aEV4Y2x1ZGluZ0h5cGhlbiA8PSAwIHx8ICFlbm91
Z2hXaWR0aEZvckh5cGhlbmF0aW9uKGF2YWlsYWJsZVdpZHRoRXhjbHVkaW5nSHlwaGVuLCBmb250
Q2FzY2FkZS5waXhlbFNpemUoKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKLSAgICAg
ICAgICAgIGxlZnRTaWRlTGVuZ3RoID0gVGV4dFV0aWw6OnNwbGl0KGlubGluZVRleHRJdGVtLmlu
bGluZVRleHRCb3goKSwgaW5saW5lVGV4dEl0ZW0uc3RhcnQoKSwgcnVuTGVuZ3RoLCBvdmVyZmxv
d1J1bi5sb2dpY2FsV2lkdGgsIGF2YWlsYWJsZVdpZHRoRXhjbHVkaW5nSHlwaGVuLCBsb2dpY2Fs
TGVmdCkubGVuZ3RoOworICAgICAgICAgICAgbGVmdFNpZGVMZW5ndGggPSBUZXh0VXRpbDo6c3Bs
aXQoaW5saW5lVGV4dEl0ZW0uaW5saW5lVGV4dEJveCgpLCBpbmxpbmVUZXh0SXRlbS5zdGFydCgp
LCBydW5MZW5ndGgsIG92ZXJmbG93aW5nUnVuLmxvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlV2lkdGhF
eGNsdWRpbmdIeXBoZW4sIGxvZ2ljYWxMZWZ0KS5sZW5ndGg7CiAgICAgICAgIH0KICAgICAgICAg
aWYgKGxlZnRTaWRlTGVuZ3RoIDwgbGltaXRCZWZvcmUpCiAgICAgICAgICAgICByZXR1cm4geyB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJyZWFrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0lubGluZUxpbmVCcmVha2VyLmgKaW5kZXggMTdkNTMyZDI1OGRhMDcxNGI4MTFmZGVkYTY2NTkw
ZWMzOTc2OGUxMS4uYmU1ZWE4NzdlNTY3NDZiZmYzNzRiZTU3NjYxYjcwODAyZGZiYWNjZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQnJlYWtlci5oCkBAIC0zOCwxMiArMzgsMTIgQEAgbmFtZXNwYWNlIExheW91dCB7
CiBjbGFzcyBJbmxpbmVJdGVtOwogY2xhc3MgSW5saW5lVGV4dEl0ZW07CiBzdHJ1Y3QgQ29udGlu
dW91c0NvbnRlbnQ7Ci1zdHJ1Y3QgV3JhcHBlZFRleHRDb250ZW50Oworc3RydWN0IFRyYWlsaW5n
VGV4dENvbnRlbnQ7CiAKIGNsYXNzIExpbmVCcmVha2VyIHsKIHB1YmxpYzoKICAgICBzdHJ1Y3Qg
UGFydGlhbFJ1biB7Ci0gICAgICAgIHVuc2lnbmVkIGxlbmd0aCB7IDAgfTsKKyAgICAgICAgc2l6
ZV90IGxlbmd0aCB7IDAgfTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgg
eyAwIH07CiAgICAgICAgIGJvb2wgbmVlZHNIeXBoZW4geyBmYWxzZSB9OwogICAgIH07CkBAIC01
MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBzdHJ1Y3QgUmVzdWx0IHsKICAgICAgICAgZW51bSBj
bGFzcyBBY3Rpb24gewogICAgICAgICAgICAgS2VlcCwgLy8gS2VlcCBjb250ZW50IG9uIHRoZSBj
dXJyZW50IGxpbmUuCi0gICAgICAgICAgICBTcGxpdCwgLy8gUGFydGlhbCBjb250ZW50IGlzIG9u
IHRoZSBjdXJyZW50IGxpbmUuCisgICAgICAgICAgICBCcmVhaywgLy8gUGFydGlhbCBjb250ZW50
IGlzIG9uIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgICAgICBQdXNoLCAvLyBDb250ZW50IGlz
IHB1c2hlZCB0byB0aGUgbmV4dCBsaW5lLgogICAgICAgICAgICAgUmV2ZXJ0VG9MYXN0V3JhcE9w
cG9ydHVuaXR5IC8vIFRoZSBjdXJyZW50IGNvbnRlbnQgb3ZlcmZsb3dzIGFuZCBjYW4ndCBnZXQg
d3JhcHBlZC4gVGhlIGxpbmUgbmVlZHMgdG8gYmUgcmV2ZXJ0ZWQgYmFjayB0byB0aGUgbGFzdCBs
aW5lIHdyYXBwaW5nIG9wcG9ydHVuaXR5LgogICAgICAgICB9OwpAQCAtNzYsMTAgKzc2LDExIEBA
IHB1YmxpYzoKICAgICB9OwogICAgIHVzaW5nIFJ1bkxpc3QgPSBWZWN0b3I8UnVuLCAzPjsKIAot
ICAgIC8vIFRoaXMgc3RydWN0IHJlcHJlc2VudHMgdGhlIGFtb3VudCBvZiBjb250ZW50IGNvbW1p
dHRlZCB0byBsaW5lIGJyZWFraW5nIGF0IGEgdGltZSBlLmcuCisgICAgLy8gVGhpcyBzdHJ1Y3Qg
cmVwcmVzZW50cyB0aGUgYW1vdW50IG9mIGNvbnRpbnVvdXMgY29udGVudCBjb21taXR0ZWQgdG8g
bGluZSBicmVha2luZyBhdCBhIHRpbWUgKG5vIGluLWJldHdlZW4gd3JhcCBvcHBvcnR1bml0aWVz
KS4KKyAgICAvLyBlLmcuCiAgICAgLy8gPGRpdj50ZXh0IGNvbnRlbnQgPHNwYW4+c3BhbjE8L3Nw
YW4+YmV0d2VlbjxzcGFuPnNwYW4yPC9zcGFuPjwvZGl2PgogICAgIC8vIFt0ZXh0XVsgXVtjb250
ZW50XVsgXVtjb250YWluZXIgc3RhcnRdW3NwYW4xXVtjb250YWluZXIgZW5kXVtiZXR3ZWVuXVtj
b250YWluZXIgc3RhcnRdW3NwYW4yXVtjb250YWluZXIgZW5kXQotICAgIC8vIGNhbmRpZGF0ZSBj
b250ZW50IGF0IGEgdGltZToKKyAgICAvLyBjb250aW51b3VzIGNhbmRpZGF0ZSBjb250ZW50IGF0
IGEgdGltZToKICAgICAvLyAxLiBbdGV4dF0KICAgICAvLyAyLiBbIF0KICAgICAvLyAzLiBbY29u
dGVudF0KQEAgLTk4LDEzICs5OSwxMyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgbGluZUhhc0Z1
bGx5Q29sbGFwc2libGVUcmFpbGluZ1J1biB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbGluZUlz
RW1wdHkgeyB0cnVlIH07CiAgICAgfTsKLSAgICBSZXN1bHQgc2hvdWxkV3JhcElubGluZUNvbnRl
bnQoY29uc3QgQ2FuZGlkYXRlQ29udGVudCYsIGNvbnN0IExpbmVTdGF0dXMmKTsKKyAgICBSZXN1
bHQgcHJvY2Vzc0lubGluZUNvbnRlbnQoY29uc3QgQ2FuZGlkYXRlQ29udGVudCYsIGNvbnN0IExp
bmVTdGF0dXMmKTsKIAogICAgIHZvaWQgc2V0SHlwaGVuYXRpb25EaXNhYmxlZCgpIHsgbl9oeXBo
ZW5hdGlvbklzRGlzYWJsZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8V3Jh
cHBlZFRleHRDb250ZW50PiB3cmFwVGV4dENvbnRlbnQoY29uc3QgQ29udGludW91c0NvbnRlbnQm
LCBjb25zdCBMaW5lU3RhdHVzJikgY29uc3Q7Ci0gICAgUmVzdWx0IHRyeVdyYXBwaW5nSW5saW5l
Q29udGVudChjb25zdCBDYW5kaWRhdGVDb250ZW50JiwgY29uc3QgTGluZVN0YXR1cyYpIGNvbnN0
OworICAgIFJlc3VsdCBwcm9jZXNzT3ZlcmZsb3dpbmdDb250ZW50KGNvbnN0IENhbmRpZGF0ZUNv
bnRlbnQmLCBjb25zdCBMaW5lU3RhdHVzJikgY29uc3Q7CisgICAgT3B0aW9uYWw8VHJhaWxpbmdU
ZXh0Q29udGVudD4gcHJvY2Vzc092ZXJmbG93aW5nVGV4dENvbnRlbnQoY29uc3QgQ29udGludW91
c0NvbnRlbnQmLCBjb25zdCBMaW5lU3RhdHVzJikgY29uc3Q7CiAgICAgT3B0aW9uYWw8UGFydGlh
bFJ1bj4gdHJ5QnJlYWtpbmdUZXh0UnVuKGNvbnN0IFJ1biYgb3ZlcmZsb3dSdW4sIElubGluZUxh
eW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgYXZhaWxhYmxlV2lkdGgpIGNv
bnN0OwogCiAgICAgZW51bSBjbGFzcyBXb3JkQnJlYWtSdWxlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVy
LmNwcAppbmRleCA4NThlYWEzY2RmNjVjYWVmZGFlYjhhYjhmYzViN2ZjYTM4ZmY1NDczLi40YTBm
Nzc2MjZjNjJkMGQ5YWI5OTJlN2E5MjMxYzQ1NmJlN2ZmZjNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxk
ZXIuY3BwCkBAIC0zMjcsNyArMzI3LDcgQEAgTGluZUJ1aWxkZXI6OkxpbmVCdWlsZGVyKGNvbnN0
IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwKIHsKIH0K
IAotTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlvdXRJbmxpbmVDb250
ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgT3B0aW9uYWw8dW5z
aWduZWQ+IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgY29uc3QgRm9ybWF0dGluZ0NvbnRl
eHQ6OkNvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCYgaW5pdGlhbENvbnN0cmFpbnRzLCBib29s
IGlzRmlyc3RMaW5lKQorTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50IExpbmVCdWlsZGVyOjpsYXlv
dXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwg
T3B0aW9uYWw8c2l6ZV90PiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgsIGNvbnN0IEZvcm1h
dHRpbmdDb250ZXh0OjpDb25zdHJhaW50c0ZvckluRmxvd0NvbnRlbnQmIGluaXRpYWxDb25zdHJh
aW50cywgYm9vbCBpc0ZpcnN0TGluZSkKIHsKICAgICBhdXRvIHVzZWRDb25zdHJhaW50cyA9IGNv
bnN0cmFpbnRzRm9yTGluZShpbml0aWFsQ29uc3RyYWludHMsIGlzRmlyc3RMaW5lKTsKICAgICBp
bml0aWFsaXplKHVzZWRDb25zdHJhaW50cyk7CkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBMaW5l
QnVpbGRlcjo6aW5pdGlhbGl6ZShjb25zdCBVc2VkQ29uc3RyYWludHMmIGxpbmVDb25zdHJhaW50
cykKICAgICBtX2NvbnRlbnRJc0NvbnN0cmFpbmVkQnlGbG9hdCA9IGxpbmVDb25zdHJhaW50cy5p
c0NvbnN0cmFpbmVkQnlGbG9hdDsKIH0KIAotTGluZUJ1aWxkZXI6OkNvbW1pdHRlZENvbnRlbnQg
TGluZUJ1aWxkZXI6OnBsYWNlSW5saW5lQ29udGVudChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5l
ZWRzTGF5b3V0UmFuZ2UsIE9wdGlvbmFsPHVuc2lnbmVkPiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRM
ZW5ndGgpCitMaW5lQnVpbGRlcjo6Q29tbWl0dGVkQ29udGVudCBMaW5lQnVpbGRlcjo6cGxhY2VJ
bmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlvdXRSYW5nZSwgT3B0
aW9uYWw8c2l6ZV90PiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRMZW5ndGgpCiB7CiAgICAgYXV0byBs
aW5lQ2FuZGlkYXRlID0gTGluZUNhbmRpZGF0ZSB7IGxheW91dFN0YXRlKCkuc2hvdWxkSWdub3Jl
VHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkgfTsKICAgICBhdXRvIGxpbmVCcmVha2VyID0gTGluZUJy
ZWFrZXIgeyB9OwpAQCAtNDkyLDcgKzQ5Miw3IEBAIExpbmVCdWlsZGVyOjpVc2VkQ29uc3RyYWlu
dHMgTGluZUJ1aWxkZXI6OmNvbnN0cmFpbnRzRm9yTGluZShjb25zdCBGb3JtYXR0aW5nQ29uCiAg
ICAgcmV0dXJuIFVzZWRDb25zdHJhaW50cyB7IGxpbmVMb2dpY2FsTGVmdCwgbGluZUxvZ2ljYWxS
aWdodCAtIGxpbmVMb2dpY2FsTGVmdCwgbGluZUlzQ29uc3RyYWluZWRCeUZsb2F0IH07CiB9CiAK
LXZvaWQgTGluZUJ1aWxkZXI6Om5leHRDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5l
Q2FuZGlkYXRlLCB1bnNpZ25lZCBjdXJyZW50SW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmIGxheW91dFJhbmdlLCBPcHRpb25hbDx1bnNpZ25lZD4gcGFydGlhbExlYWRpbmdD
b250ZW50TGVuZ3RoLCBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZUxpbmVXaWR0aCwgSW5saW5l
TGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0KQordm9pZCBMaW5lQnVpbGRlcjo6bmV4dENv
bnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHNpemVfdCBjdXJyZW50
SW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBPcHRp
b25hbDxzaXplX3Q+IHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCwgSW5saW5lTGF5b3V0VW5p
dCBhdmFpbGFibGVMaW5lV2lkdGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdo
dCkKIHsKICAgICBBU1NFUlQoY3VycmVudElubGluZUl0ZW1JbmRleCA8IGxheW91dFJhbmdlLmVu
ZCk7CiAgICAgbGluZUNhbmRpZGF0ZS5yZXNldCgpOwpAQCAtNTA0LDcgKzUwNCw3IEBAIHZvaWQg
TGluZUJ1aWxkZXI6Om5leHRDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlk
YXRlLCB1bnNpZ25lZCBjdXJyCiAgICAgQVNTRVJUKHNvZnRXcmFwT3Bwb3J0dW5pdHlJbmRleCA8
PSBsYXlvdXRSYW5nZS5lbmQpOwogCiAgICAgaWYgKHBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0
aCkgewotICAgICAgICAvLyBIYW5kbGUgbGVhZGluZyBwYXJ0aWFsIGNvbnRlbnQgZmlyc3QgKHNw
bGl0IHRleHQgZnJvbSB0aGUgcHJldmlvdXMgbGluZSkuCisgICAgICAgIC8vIEhhbmRsZSBsZWFk
aW5nIHBhcnRpYWwgY29udGVudCBmaXJzdCAob3ZlcmZsb3dpbmcgdGV4dCBmcm9tIHRoZSBwcmV2
aW91cyBsaW5lKS4KICAgICAgICAgLy8gQ29uc3RydWN0IGEgcGFydGlhbCBsZWFkaW5nIGlubGlu
ZSBpdGVtLgogICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0gPSBkb3duY2FzdDxJbmxp
bmVUZXh0SXRlbT4obV9pbmxpbmVJdGVtc1tjdXJyZW50SW5saW5lSXRlbUluZGV4XSkucmlnaHQo
KnBhcnRpYWxMZWFkaW5nQ29udGVudExlbmd0aCk7CiAgICAgICAgIGF1dG8gaXRlbVdpZHRoID0g
aW5saW5lSXRlbVdpZHRoKCptX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0sIGN1cnJlbnRMb2dpY2Fs
UmlnaHQpOwpAQCAtNTg5LDcgKzU4OSw3IEBAIExpbmVCdWlsZGVyOjpSZXN1bHQgTGluZUJ1aWxk
ZXI6OmhhbmRsZUZsb2F0c0FuZElubGluZUNvbnRlbnQoTGluZUJyZWFrZXImIGxpbmVCCiAgICAg
YXV0byBpc0xpbmVDb25zaWRlcmVkRW1wdHkgPSBtX2xpbmUuaXNWaXN1YWxseUVtcHR5KCkgJiYg
IW1fY29udGVudElzQ29uc3RyYWluZWRCeUZsb2F0OwogICAgIGF1dG8gbGluZVN0YXR1cyA9IExp
bmVCcmVha2VyOjpMaW5lU3RhdHVzIHsgYXZhaWxhYmxlV2lkdGgsIG1fbGluZS50cmltbWFibGVU
cmFpbGluZ1dpZHRoKCksIG1fbGluZS5pc1RyYWlsaW5nUnVuRnVsbHlUcmltbWFibGUoKSwgaXNM
aW5lQ29uc2lkZXJlZEVtcHR5IH07CiAgICAgYXV0byBjb250ZW50TG9naWNhbExlZnQgPSBtX2xp
bmUuY29udGVudExvZ2ljYWxXaWR0aCgpOwotICAgIGF1dG8gcmVzdWx0ID0gbGluZUJyZWFrZXIu
c2hvdWxkV3JhcElubGluZUNvbnRlbnQoeyBjYW5kaWRhdGVSdW5zLCBjb250ZW50TG9naWNhbExl
ZnQsIGNhbmRpZGF0ZUlubGluZUNvbnRlbnQubG9naWNhbFdpZHRoKCksIGNhbmRpZGF0ZUlubGlu
ZUNvbnRlbnQuY29sbGFwc2libGVUcmFpbGluZ1dpZHRoKCkgfSwgbGluZVN0YXR1cyk7CisgICAg
YXV0byByZXN1bHQgPSBsaW5lQnJlYWtlci5wcm9jZXNzSW5saW5lQ29udGVudCh7IGNhbmRpZGF0
ZVJ1bnMsIGNvbnRlbnRMb2dpY2FsTGVmdCwgY2FuZGlkYXRlSW5saW5lQ29udGVudC5sb2dpY2Fs
V2lkdGgoKSwgY2FuZGlkYXRlSW5saW5lQ29udGVudC5jb2xsYXBzaWJsZVRyYWlsaW5nV2lkdGgo
KSB9LCBsaW5lU3RhdHVzKTsKICAgICBpZiAocmVzdWx0Lmxhc3RXcmFwT3Bwb3J0dW5pdHlJdGVt
KQogICAgICAgICBtX2xhc3RXcmFwT3Bwb3J0dW5pdHlJdGVtID0gcmVzdWx0Lmxhc3RXcmFwT3Bw
b3J0dW5pdHlJdGVtOwogICAgIGlmIChyZXN1bHQuYWN0aW9uID09IExpbmVCcmVha2VyOjpSZXN1
bHQ6OkFjdGlvbjo6S2VlcCkgewpAQCAtNjEwLDEzICs2MTAsMTMgQEAgTGluZUJ1aWxkZXI6OlJl
c3VsdCBMaW5lQnVpbGRlcjo6aGFuZGxlRmxvYXRzQW5kSW5saW5lQ29udGVudChMaW5lQnJlYWtl
ciYgbGluZUIKICAgICAgICAgQVNTRVJUKG1fbGFzdFdyYXBPcHBvcnR1bml0eUl0ZW0pOwogICAg
ICAgICByZXR1cm4geyBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcywgeyByZWJ1aWxkTGlu
ZShsYXlvdXRSYW5nZSksIHRydWUgfSB9OwogICAgIH0KLSAgICBpZiAocmVzdWx0LmFjdGlvbiA9
PSBMaW5lQnJlYWtlcjo6UmVzdWx0OjpBY3Rpb246OlNwbGl0KSB7CisgICAgaWYgKHJlc3VsdC5h
Y3Rpb24gPT0gTGluZUJyZWFrZXI6OlJlc3VsdDo6QWN0aW9uOjpCcmVhaykgewogICAgICAgICBB
U1NFUlQocmVzdWx0LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVz
KTsKICAgICAgICAgLy8gQ29tbWl0IHRoZSBjb21iaW5hdGlvbiBvZiBmdWxsIGFuZCBwYXJ0aWFs
IGNvbnRlbnQgb24gdGhlIGN1cnJlbnQgbGluZS4KICAgICAgICAgY29tbWl0RmxvYXRzKGxpbmVD
YW5kaWRhdGUsIENvbW1pdEludHJ1c2l2ZUZsb2F0c09ubHk6Olllcyk7CiAgICAgICAgIEFTU0VS
VChyZXN1bHQucGFydGlhbFRyYWlsaW5nQ29udGVudCk7CiAgICAgICAgIGNvbW1pdFBhcnRpYWxD
b250ZW50KGNhbmRpZGF0ZVJ1bnMsICpyZXN1bHQucGFydGlhbFRyYWlsaW5nQ29udGVudCk7Ci0g
ICAgICAgIC8vIFdoZW4gc3BsaXR0aW5nIG11bHRpcGxlIHJ1bnMgPHNwYW4gc3R5bGU9IndvcmQt
YnJlYWs6IGJyZWFrLWFsbCI+dGV4dDwvc3Bhbj48c3Bhbj5jb250ZW50PC9zcGFuPiwgd2UgbWln
aHQgZW5kIHVwIHNwbGl0dGluZyB0aGVtIGF0IHJ1biBib3VuZGFyeS4KKyAgICAgICAgLy8gV2hl
biBicmVha2luZyBtdWx0aXBsZSBydW5zIDxzcGFuIHN0eWxlPSJ3b3JkLWJyZWFrOiBicmVhay1h
bGwiPnRleHQ8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bhbj4sIHdlIG1pZ2h0IGVuZCB1cCBicmVh
a2luZyB0aGVtIGF0IHJ1biBib3VuZGFyeS4KICAgICAgICAgLy8gSXQgc2ltcGx5IG1lYW5zIHdl
IGRvbid0IHJlYWxseSBoYXZlIGEgcGFydGlhbCBydW4uIFBhcnRpYWwgY29udGVudCB5ZXMsIGJ1
dCBub3QgcGFydGlhbCBydW4uCiAgICAgICAgIGF1dG8gdHJhaWxpbmdSdW5JbmRleCA9IHJlc3Vs
dC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50LT50cmFpbGluZ1J1bkluZGV4OwogICAgICAgICBhdXRv
IGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCA9IHRyYWlsaW5nUnVuSW5kZXggKyAxOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1
aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxp
bmVCdWlsZGVyLmgKaW5kZXggN2RmOThkOTZjMTVmOTllNGU2MTBhZTdhODExYjNiOTIyZTdmZjY3
Ni4uMDVlOTU0MDA2M2M1NDFmOGEwNzAyOGRhYjMzZWZjMjUyYTQ0NDgwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBzdHJ1Y3QgTGluZUNvbnRl
bnQgewogICAgICAgICBzdHJ1Y3QgUGFydGlhbENvbnRlbnQgewogICAgICAgICAgICAgYm9vbCB0
cmFpbGluZ0NvbnRlbnRIYXNIeXBoZW4geyBmYWxzZSB9OwotICAgICAgICAgICAgdW5zaWduZWQg
b3ZlcmZsb3dDb250ZW50TGVuZ3RoIHsgMCB9OworICAgICAgICAgICAgc2l6ZV90IG92ZXJmbG93
Q29udGVudExlbmd0aCB7IDAgfTsKICAgICAgICAgfTsKICAgICAgICAgT3B0aW9uYWw8UGFydGlh
bENvbnRlbnQ+IHBhcnRpYWxDb250ZW50OwogICAgICAgICBJbmxpbmVJdGVtUmFuZ2UgaW5saW5l
SXRlbVJhbmdlOwpAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaXNMYXN0
TGluZVdpdGhJbmxpbmVDb250ZW50IHsgdHJ1ZSB9OwogICAgICAgICBjb25zdCBMaW5lOjpSdW5M
aXN0JiBydW5zOwogICAgIH07Ci0gICAgTGluZUNvbnRlbnQgbGF5b3V0SW5saW5lQ29udGVudChj
b25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBPcHRpb25hbDx1bnNpZ25lZD4gcGFydGlhbExlYWRpbmdD
b250ZW50TGVuZ3RoLCBjb25zdCBGb3JtYXR0aW5nQ29udGV4dDo6Q29uc3RyYWludHNGb3JJbkZs
b3dDb250ZW50JiBpbml0aWFsTGluZUNvbnN0cmFpbnRzLCBib29sIGlzRmlyc3RMaW5lKTsKKyAg
ICBMaW5lQ29udGVudCBsYXlvdXRJbmxpbmVDb250ZW50KGNvbnN0IElubGluZUl0ZW1SYW5nZSYs
IE9wdGlvbmFsPHNpemVfdD4gcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoLCBjb25zdCBGb3Jt
YXR0aW5nQ29udGV4dDo6Q29uc3RyYWludHNGb3JJbkZsb3dDb250ZW50JiBpbml0aWFsTGluZUNv
bnN0cmFpbnRzLCBib29sIGlzRmlyc3RMaW5lKTsKIAogICAgIHN0cnVjdCBJbnRyaW5zaWNDb250
ZW50IHsKICAgICAgICAgSW5saW5lSXRlbVJhbmdlIGlubGluZUl0ZW1SYW5nZTsKQEAgLTc3LDcg
Kzc3LDcgQEAgcHVibGljOgogICAgIEludHJpbnNpY0NvbnRlbnQgY29tcHV0ZWRJbnRyaW5zaWNX
aWR0aChjb25zdCBJbmxpbmVJdGVtUmFuZ2UmLCBJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZVdp
ZHRoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIG5leHRDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlk
YXRlJiwgdW5zaWduZWQgaW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5l
ZWRzTGF5b3V0UmFuZ2UsIE9wdGlvbmFsPHVuc2lnbmVkPiBvdmVyZmxvd0xlbmd0aCwgSW5saW5l
TGF5b3V0VW5pdCBhdmFpbGFibGVMaW5lV2lkdGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExv
Z2ljYWxSaWdodCk7CisgICAgdm9pZCBuZXh0Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYs
IHNpemVfdCBpbmxpbmVJdGVtSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbmVlZHNMYXlv
dXRSYW5nZSwgT3B0aW9uYWw8c2l6ZV90PiBvdmVyZmxvd0xlbmd0aCwgSW5saW5lTGF5b3V0VW5p
dCBhdmFpbGFibGVMaW5lV2lkdGgsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdo
dCk7CiAgICAgc3RydWN0IFJlc3VsdCB7CiAgICAgICAgIExpbmVCcmVha2VyOjpJc0VuZE9mTGlu
ZSBpc0VuZE9mTGluZSB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6Tm8gfTsKICAgICAgICAg
c3RydWN0IENvbW1pdHRlZENvbnRlbnRDb3VudCB7CkBAIC0xMDMsNyArMTAzLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgc2l6ZV90IGlubGluZUl0ZW1Db3VudCB7IDAgfTsKICAgICAgICAgT3B0aW9u
YWwgPExpbmVDb250ZW50OjpQYXJ0aWFsQ29udGVudD4gcGFydGlhbFRyYWlsaW5nQ29udGVudDsK
ICAgICB9OwotICAgIENvbW1pdHRlZENvbnRlbnQgcGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElu
bGluZUl0ZW1SYW5nZSYsIE9wdGlvbmFsPHVuc2lnbmVkPiBwYXJ0aWFsTGVhZGluZ0NvbnRlbnRM
ZW5ndGgpOworICAgIENvbW1pdHRlZENvbnRlbnQgcGxhY2VJbmxpbmVDb250ZW50KGNvbnN0IElu
bGluZUl0ZW1SYW5nZSYsIE9wdGlvbmFsPHNpemVfdD4gcGFydGlhbExlYWRpbmdDb250ZW50TGVu
Z3RoKTsKICAgICBJbmxpbmVJdGVtUmFuZ2UgY2xvc2UoY29uc3QgSW5saW5lSXRlbVJhbmdlJiBu
ZWVkc0xheW91dFJhbmdlLCBjb25zdCBDb21taXR0ZWRDb250ZW50Jik7CiAKICAgICBJbmxpbmVM
YXlvdXRVbml0IGlubGluZUl0ZW1XaWR0aChjb25zdCBJbmxpbmVJdGVtJiwgSW5saW5lTGF5b3V0
VW5pdCBjb250ZW50TG9naWNhbExlZnQpIGNvbnN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>