<?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>207610</bug_id>
          
          <creation_ts>2020-02-11 19:40:54 -0800</creation_ts>
          <short_desc>[LFC][IFC] Move expansion struct out of Display::Run::TextContext to Display::Run</short_desc>
          <delta_ts>2020-02-12 07:16:00 -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>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>commit-queue</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>1617831</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-11 19:40:54 -0800</bug_when>
    <thetext>so that we can rename TextContext to TextContent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617832</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-11 19:41:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/59374136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617833</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-11 19:41:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/59374139&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617834</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-11 19:41:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/59374141&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617839</commentid>
    <comment_count>4</comment_count>
      <attachid>390485</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-11 19:44:54 -0800</bug_when>
    <thetext>Created attachment 390485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617858</commentid>
    <comment_count>5</comment_count>
      <attachid>390489</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-11 21:05:58 -0800</bug_when>
    <thetext>Created attachment 390489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617963</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-12 07:15:27 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 390489:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617964</commentid>
    <comment_count>7</comment_count>
      <attachid>390489</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-12 07:15:59 -0800</bug_when>
    <thetext>Comment on attachment 390489
Patch

Clearing flags on attachment: 390489

Committed r256431: &lt;https://trac.webkit.org/changeset/256431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617965</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-12 07:16:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390485</attachid>
            <date>2020-02-11 19:44:54 -0800</date>
            <delta_ts>2020-02-11 20:34:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207610-20200211194454.patch</filename>
            <type>text/plain</type>
            <size>12867</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgwNGRlMzE0MWVlZTA3
ODkxNDAzZDYwNTMzYjUzNmVkODUxNDM3ZC4uNTQyZjMwMjk5YzQ4MWVlYzEyNmNmYTBiOWFkOTVi
NDNlODc4OTY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTAyLTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIGV4
cGFuc2lvbiBzdHJ1Y3Qgb3V0IG9mIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQgdG8gRGlzcGxh
eTo6UnVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDc2MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5Mzc0MTM2PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24g
Zm9yIHJlbmFtaW5nIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQgdG8gRGlzcGxheTo6UnVuOlRl
eHRDb250ZW50LgorICAgICAgICBOb24tdGV4dCBydW5zIG5vdyBoYXZlIHRoZSBkZWZhdWx0IGV4
cGFuc2lvbiBiZWhhdmlvciB3aXRoIDAgaG9yaXpvbnRhbCBleHBhbnNpb24uCisKKyAgICAgICAg
KiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheTo6cGFpbnRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvZGlzcGxh
eXRyZWUvRGlzcGxheVJ1bi5oOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6UnVuOjpUZXh0
Q29udGV4dDo6c2V0TmVlZHNIeXBoZW4pOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6UnVu
OjpUZXh0Q29udGV4dDo6ZXhwYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6
c2V0RXhwYW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6ZXhwYW5zaW9u
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQ6OnNl
dEV4cGFuc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OlRl
eHRDb250ZXh0OjpleHBhbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJ1aWxkZXI6Omp1c3RpZnlSdW5zKToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OlJ1bjo6ZXhwYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJ1aWxkZXI6OlJ1bjo6dmlzdWFsbHlDb2xsYXBzZVRyYWlsaW5nV2hpdGVzcGFjZSk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpSdW46OnNldEV4cGFuc2lv
bkJlaGF2aW9yKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OlJ1bjo6
ZXhwYW5zaW9uQmVoYXZpb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
QnVpbGRlcjo6UnVuOjpzZXRDb21wdXRlZEhvcml6b250YWxFeHBhbnNpb24pOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6UnVuOjphZGp1c3RFeHBhbnNpb25CZWhhdmlv
cik6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUJ1aWxkZXIuaDoKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpM
aW5lTGF5b3V0OjpwYWludCk6CisKIDIwMjAtMDItMTEgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgRml4IGRlY2xhcmF0aW9ucyBtYXJrZWQgYnkg
d3JvbmcgZXhwb3J0IG1hY3JvcyAoV0VCQ09SRV9FWFBPUlQgYW5kIFdURl9FWFBPUlQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNw
cAppbmRleCAzMWZlMjQ1OGE2ZjZmYjE5ZjU2MTNlN2RjY2Y4MTFhM2MxMzY4ZTY2Li5kZDY3ODI1
ODMxMzY3YmM3ZDZhN2E3YTdhYzJmNDIxMmJkNTljNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAKQEAgLTEzMCwxMCAr
MTMwLDggQEAgc3RhdGljIHZvaWQgcGFpbnRJbmxpbmVDb250ZW50KEdyYXBoaWNzQ29udGV4dCYg
Y29udGV4dCwgTGF5b3V0UG9pbnQgYWJzb2x1dGVPZmYKICAgICAgICAgICAgIC8vIEZJWE1FOiBB
ZGQgbm9uLWJhc2VsaW5lIGFsaWduIHBhaW50aW5nCiAgICAgICAgICAgICBhdXRvJiBsaW5lQm94
ID0gZGlzcGxheUlubGluZUNvbnRlbnQtPmxpbmVCb3hGb3JSdW4ocnVuKTsKICAgICAgICAgICAg
IGF1dG8gYmFzZWxpbmVPZmZzZXQgPSBhYnNvbHV0ZU9mZnNldC55KCkgKyBsaW5lQm94LnRvcCgp
ICsgbGluZUJveC5iYXNlbGluZU9mZnNldCgpOwotICAgICAgICAgICAgYXV0byBleHBhbnNpb25D
b250ZXh0ID0gdGV4dENvbnRleHQtPmV4cGFuc2lvbigpOwotICAgICAgICAgICAgYXV0byB0ZXh0
UnVuID0gVGV4dFJ1biB7IHRleHRDb250ZXh0LT5jb250ZW50KCksIHJ1bi5sZWZ0KCkgLSBsaW5l
Qm94LmxlZnQoKSwKLSAgICAgICAgICAgICAgICBleHBhbnNpb25Db250ZXh0ID8gZXhwYW5zaW9u
Q29udGV4dC0+aG9yaXpvbnRhbEV4cGFuc2lvbiA6IDAsCi0gICAgICAgICAgICAgICAgZXhwYW5z
aW9uQ29udGV4dCA/IGV4cGFuc2lvbkNvbnRleHQtPmJlaGF2aW9yIDogRGVmYXVsdEV4cGFuc2lv
biB9OworICAgICAgICAgICAgYXV0byBleHBhbnNpb24gPSBydW4uZXhwYW5zaW9uKCk7CisgICAg
ICAgICAgICBhdXRvIHRleHRSdW4gPSBUZXh0UnVuIHsgdGV4dENvbnRleHQtPmNvbnRlbnQoKSwg
cnVuLmxlZnQoKSAtIGxpbmVCb3gubGVmdCgpLCBleHBhbnNpb24uaG9yaXpvbnRhbEV4cGFuc2lv
biwgZXhwYW5zaW9uLmJlaGF2aW9yIH07CiAgICAgICAgICAgICB0ZXh0UnVuLnNldFRhYlNpemUo
IXN0eWxlLmNvbGxhcHNlV2hpdGVTcGFjZSgpLCBzdHlsZS50YWJTaXplKCkpOwogICAgICAgICAg
ICAgY29udGV4dC5kcmF3VGV4dChzdHlsZS5mb250Q2FzY2FkZSgpLCB0ZXh0UnVuLCB7IGFic29s
dXRlTGVmdCwgYmFzZWxpbmVPZmZzZXQgfSk7CiAgICAgICAgIH0gZWxzZSBpZiAoYXV0byogY2Fj
aGVkSW1hZ2UgPSBydW4uaW1hZ2UoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlSdW4uaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNw
bGF5dHJlZS9EaXNwbGF5UnVuLmgKaW5kZXggM2U0ZmQ4YmYzZjQ5YjgyMTE0NDY2YTM3NDk0YWEz
NmU3ZDE5YjA1ZS4uZjdhMzAwMzM2N2RjZWU4ZGU4ODMyZmU0Yzc2MjU4NmVlYzFiMTYyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlSdW4uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVJ1bi5oCkBAIC01
MSwyNCArNTEsMTYgQEAgc3RydWN0IFJ1biB7CiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAgICAgICAgIFN0cmluZ1ZpZXcgY29udGVudCgpIGNv
bnN0IHsgcmV0dXJuIFN0cmluZ1ZpZXcobV9jb250ZW50U3RyaW5nKS5zdWJzdHJpbmcobV9zdGFy
dCwgbV9sZW5ndGgpOyB9CiAKLSAgICAgICAgc3RydWN0IEV4cGFuc2lvbkNvbnRleHQgewotICAg
ICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgYmVoYXZpb3IgeyBEZWZhdWx0RXhwYW5zaW9uIH07
Ci0gICAgICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxFeHBhbnNpb24geyAwIH07
Ci0gICAgICAgIH07Ci0gICAgICAgIHZvaWQgc2V0RXhwYW5zaW9uKEV4cGFuc2lvbkNvbnRleHQg
ZXhwYW5zaW9uQ29udGV4dCkgeyBtX2V4cGFuc2lvbkNvbnRleHQgPSBleHBhbnNpb25Db250ZXh0
OyB9Ci0gICAgICAgIE9wdGlvbmFsPEV4cGFuc2lvbkNvbnRleHQ+IGV4cGFuc2lvbigpIGNvbnN0
IHsgcmV0dXJuIG1fZXhwYW5zaW9uQ29udGV4dDsgfQotCiAgICAgICAgIGJvb2wgbmVlZHNIeXBo
ZW4oKSBjb25zdCB7IHJldHVybiBtX25lZWRzSHlwaGVuOyB9CisgICAgICAgIHZvaWQgc2V0TmVl
ZHNIeXBoZW4oKSB7IG1fbmVlZHNIeXBoZW4gPSB0cnVlOyB9CiAKICAgICAgICAgdm9pZCBleHBh
bmQodW5zaWduZWQgZGVsdGEpIHsgbV9sZW5ndGggKz0gZGVsdGE7IH0KLSAgICAgICAgdm9pZCBz
ZXROZWVkc0h5cGhlbigpIHsgbV9uZWVkc0h5cGhlbiA9IHRydWU7IH0KIAogICAgIHByaXZhdGU6
CiAgICAgICAgIHVuc2lnbmVkIG1fc3RhcnQgeyAwIH07CiAgICAgICAgIHVuc2lnbmVkIG1fbGVu
Z3RoIHsgMCB9OwogICAgICAgICBib29sIG1fbmVlZHNIeXBoZW4geyBmYWxzZSB9OwogICAgICAg
ICBTdHJpbmcgbV9jb250ZW50U3RyaW5nOwotICAgICAgICBPcHRpb25hbDxFeHBhbnNpb25Db250
ZXh0PiBtX2V4cGFuc2lvbkNvbnRleHQ7CiAgICAgfTsKIAogICAgIFJ1bihzaXplX3QgbGluZUlu
ZGV4LCBjb25zdCBMYXlvdXQ6OkJveCYsIGNvbnN0IElubGluZVJlY3QmLCBjb25zdCBJbmxpbmVS
ZWN0JiBpbmtPdmVyZmxvdywgT3B0aW9uYWw8VGV4dENvbnRleHQ+ID0gV1RGOjpudWxsb3B0KTsK
QEAgLTk5LDYgKzkxLDEzIEBAIHN0cnVjdCBSdW4gewogICAgIGNvbnN0IE9wdGlvbmFsPFRleHRD
b250ZXh0PiYgdGV4dENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3RleHRDb250ZXh0OyB9CiAg
ICAgT3B0aW9uYWw8VGV4dENvbnRleHQ+JiB0ZXh0Q29udGV4dCgpIHsgcmV0dXJuIG1fdGV4dENv
bnRleHQ7IH0KIAorICAgIHN0cnVjdCBFeHBhbnNpb24geworICAgICAgICBFeHBhbnNpb25CZWhh
dmlvciBiZWhhdmlvciB7IERlZmF1bHRFeHBhbnNpb24gfTsKKyAgICAgICAgSW5saW5lTGF5b3V0
VW5pdCBob3Jpem9udGFsRXhwYW5zaW9uIHsgMCB9OworICAgIH07CisgICAgdm9pZCBzZXRFeHBh
bnNpb24oRXhwYW5zaW9uIGV4cGFuc2lvbikgeyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgfQor
ICAgIEV4cGFuc2lvbiBleHBhbnNpb24oKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbjsgfQor
CiAgICAgdm9pZCBzZXRJbWFnZShDYWNoZWRJbWFnZSYgaW1hZ2UpIHsgbV9jYWNoZWRJbWFnZSA9
ICZpbWFnZTsgfQogICAgIENhY2hlZEltYWdlKiBpbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Fj
aGVkSW1hZ2U7IH0KIApAQCAtMTE1LDYgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgSW5saW5lUmVj
dCBtX3JlY3Q7CiAgICAgSW5saW5lUmVjdCBtX2lua092ZXJmbG93OwogICAgIE9wdGlvbmFsPFRl
eHRDb250ZXh0PiBtX3RleHRDb250ZXh0OworICAgIEV4cGFuc2lvbiBtX2V4cGFuc2lvbjsKIH07
CiAKIGlubGluZSBSdW46OlJ1bihzaXplX3QgbGluZUluZGV4LCBjb25zdCBMYXlvdXQ6OkJveCYg
bGF5b3V0Qm94LCBjb25zdCBJbmxpbmVSZWN0JiByZWN0LCBjb25zdCBJbmxpbmVSZWN0JiBpbmtP
dmVyZmxvdywgT3B0aW9uYWw8VGV4dENvbnRleHQ+IHRleHRDb250ZXh0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1
aWxkZXIuY3BwCmluZGV4IGE4Zjk1OWRmOTAyZWEwYjI1ZDMwYjk2MDBkOGJhYjllMzkwODNjMjku
LmM2YTY0N2VhYTkxMzJjM2NmNjU4ZDBlYjZjYWM2MWFhYjc5Zjk1MWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5jcHAKQEAgLTIxMCw4ICsyMTAsOCBAQCB2b2lkIExpbmVCdWlsZGVyOjpqdXN0aWZ5
UnVucyhJbmxpbmVMYXlvdXRVbml0IGF2YWlsYWJsZVdpZHRoKQogICAgIC8vIE5lZWQgdG8gZml4
IHVwIHRoZSBsYXN0IHJ1bidzIHRyYWlsaW5nIGV4cGFuc2lvbi4KICAgICBpZiAobGFzdFJ1bldp
dGhDb250ZW50ICYmIGxhc3RSdW5XaXRoQ29udGVudC0+aGFzRXhwYW5zaW9uT3Bwb3J0dW5pdHko
KSkgewogICAgICAgICAvLyBUdXJuIG9mZiB0aGUgdHJhaWxpbmcgYml0cyBmaXJzdCBhbmQgYWRk
IHRoZSBmb3JiaWQgdHJhaWxpbmcgZXhwYW5zaW9uLgotICAgICAgICBhdXRvIGxlYWRpbmdFeHBh
bnNpb24gPSAqbGFzdFJ1bldpdGhDb250ZW50LT5leHBhbnNpb25CZWhhdmlvcigpICYgTGVhZGlu
Z0V4cGFuc2lvbk1hc2s7Ci0gICAgICAgIGxhc3RSdW5XaXRoQ29udGVudC0+YWRqdXN0RXhwYW5z
aW9uQmVoYXZpb3IobGVhZGluZ0V4cGFuc2lvbiB8IEZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uKTsK
KyAgICAgICAgYXV0byBsZWFkaW5nRXhwYW5zaW9uID0gbGFzdFJ1bldpdGhDb250ZW50LT5leHBh
bnNpb25CZWhhdmlvcigpICYgTGVhZGluZ0V4cGFuc2lvbk1hc2s7CisgICAgICAgIGxhc3RSdW5X
aXRoQ29udGVudC0+c2V0RXhwYW5zaW9uQmVoYXZpb3IobGVhZGluZ0V4cGFuc2lvbiB8IEZvcmJp
ZFRyYWlsaW5nRXhwYW5zaW9uKTsKICAgICB9CiAgICAgLy8gTm90aGluZyB0byBkaXN0cmlidXRl
PwogICAgIGlmICghZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCkKQEAgLTc2Myw3ICs3NjMsNiBA
QCBMaW5lQnVpbGRlcjo6UnVuOjpSdW4oY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVRleHRJ
dGVtLCBJbmxpbmVMYXlvdXRVbml0IGxvZwogewogICAgIGlmIChtX3RyYWlsaW5nV2hpdGVzcGFj
ZVR5cGUgIT0gVHJhaWxpbmdXaGl0ZXNwYWNlOjpOb25lKSB7CiAgICAgICAgIG1fdHJhaWxpbmdX
aGl0ZXNwYWNlV2lkdGggPSBsb2dpY2FsV2lkdGg7Ci0gICAgICAgIG1fdGV4dENvbnRleHQtPnNl
dEV4cGFuc2lvbih7IEV4cGFuc2lvbkJlaGF2aW9yKERlZmF1bHRFeHBhbnNpb24pLCB7IH0gfSk7
CiAgICAgICAgIGlmICghaXNXaGl0ZXNwYWNlUHJlc2VydmVkKGlubGluZVRleHRJdGVtLnN0eWxl
KCkpKQogICAgICAgICAgICAgbV9leHBhbnNpb25PcHBvcnR1bml0eUNvdW50ID0gMTsKICAgICB9
CkBAIC03ODEsMTQgKzc4MCwxNCBAQCB2b2lkIExpbmVCdWlsZGVyOjpSdW46OmV4cGFuZChjb25z
dCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVGV4dEl0ZW0sIElubGluZUxheW91dAogCiAgICAgaWYg
KG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSA9PSBUcmFpbGluZ1doaXRlc3BhY2U6Ok5vbmUpIHsK
ICAgICAgICAgbV90cmFpbGluZ1doaXRlc3BhY2VXaWR0aCA9IHsgfTsKLSAgICAgICAgbV90ZXh0
Q29udGV4dC0+c2V0RXhwYW5zaW9uKHsgRXhwYW5zaW9uQmVoYXZpb3IoQWxsb3dMZWFkaW5nRXhw
YW5zaW9uIHwgQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiksIHsgfSB9KTsKKyAgICAgICAgc2V0RXhw
YW5zaW9uQmVoYXZpb3IoQWxsb3dMZWFkaW5nRXhwYW5zaW9uIHwgQWxsb3dUcmFpbGluZ0V4cGFu
c2lvbik7CiAgICAgICAgIG1fdGV4dENvbnRleHQtPmV4cGFuZChpbmxpbmVUZXh0SXRlbS5sZW5n
dGgoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV90cmFpbGluZ1doaXRlc3BhY2VX
aWR0aCArPSBsb2dpY2FsV2lkdGg7CiAgICAgaWYgKCFpc1doaXRlc3BhY2VQcmVzZXJ2ZWQoaW5s
aW5lVGV4dEl0ZW0uc3R5bGUoKSkpCiAgICAgICAgICsrbV9leHBhbnNpb25PcHBvcnR1bml0eUNv
dW50OwotICAgIG1fdGV4dENvbnRleHQtPnNldEV4cGFuc2lvbih7IEV4cGFuc2lvbkJlaGF2aW9y
KERlZmF1bHRFeHBhbnNpb24pLCB7IH0gfSk7CisgICAgc2V0RXhwYW5zaW9uQmVoYXZpb3IoRGVm
YXVsdEV4cGFuc2lvbik7CiAgICAgbV90ZXh0Q29udGV4dC0+ZXhwYW5kKG1fdHJhaWxpbmdXaGl0
ZXNwYWNlVHlwZSA9PSBUcmFpbGluZ1doaXRlc3BhY2U6OkNvbGxhcHNlZCA/IDEgOiBpbmxpbmVU
ZXh0SXRlbS5sZW5ndGgoKSk7CiB9CiAKQEAgLTgzNCwyMiArODMzLDE5IEBAIHZvaWQgTGluZUJ1
aWxkZXI6OlJ1bjo6dmlzdWFsbHlDb2xsYXBzZVRyYWlsaW5nV2hpdGVzcGFjZSgpCiAgICAgICAg
IEFTU0VSVChtX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQpOwogICAgICAgICBtX2V4cGFuc2lv
bk9wcG9ydHVuaXR5Q291bnQtLTsKICAgICB9Ci0gICAgbV90ZXh0Q29udGV4dC0+c2V0RXhwYW5z
aW9uKHsgRXhwYW5zaW9uQmVoYXZpb3IoQWxsb3dMZWFkaW5nRXhwYW5zaW9uIHwgQWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiksIHsgfSB9KTsKKyAgICBzZXRFeHBhbnNpb25CZWhhdmlvcihBbGxvd0xl
YWRpbmdFeHBhbnNpb24gfCBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uKTsKIH0KIAotdm9pZCBMaW5l
QnVpbGRlcjo6UnVuOjphZGp1c3RFeHBhbnNpb25CZWhhdmlvcihFeHBhbnNpb25CZWhhdmlvciBl
eHBhbnNpb25CZWhhdmlvcikKK3ZvaWQgTGluZUJ1aWxkZXI6OlJ1bjo6c2V0RXhwYW5zaW9uQmVo
YXZpb3IoRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IpCiB7CiAgICAgQVNTRVJU
KGlzVGV4dCgpKTsKLSAgICBBU1NFUlQoaGFzRXhwYW5zaW9uT3Bwb3J0dW5pdHkoKSk7Ci0gICAg
bV90ZXh0Q29udGV4dC0+c2V0RXhwYW5zaW9uKHsgZXhwYW5zaW9uQmVoYXZpb3IsIG1fdGV4dENv
bnRleHQtPmV4cGFuc2lvbigpLT5ob3Jpem9udGFsRXhwYW5zaW9uIH0pOworICAgIG1fZXhwYW5z
aW9uLmJlaGF2aW9yID0gZXhwYW5zaW9uQmVoYXZpb3I7CiB9CiAKLWlubGluZSBPcHRpb25hbDxF
eHBhbnNpb25CZWhhdmlvcj4gTGluZUJ1aWxkZXI6OlJ1bjo6ZXhwYW5zaW9uQmVoYXZpb3IoKSBj
b25zdAoraW5saW5lIEV4cGFuc2lvbkJlaGF2aW9yIExpbmVCdWlsZGVyOjpSdW46OmV4cGFuc2lv
bkJlaGF2aW9yKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNUZXh0KCkpOwotICAgIGlmIChhdXRv
IGV4cGFuc2lvbkNvbnRleHQgPSBtX3RleHRDb250ZXh0LT5leHBhbnNpb24oKSkKLSAgICAgICAg
cmV0dXJuIGV4cGFuc2lvbkNvbnRleHQtPmJlaGF2aW9yOwotICAgIHJldHVybiB7IH07CisgICAg
cmV0dXJuIG1fZXhwYW5zaW9uLmJlaGF2aW9yOwogfQogCiB2b2lkIExpbmVCdWlsZGVyOjpSdW46
OnNldENvbXB1dGVkSG9yaXpvbnRhbEV4cGFuc2lvbihJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxF
eHBhbnNpb24pCkBAIC04NTcsNyArODUzLDcgQEAgdm9pZCBMaW5lQnVpbGRlcjo6UnVuOjpzZXRD
b21wdXRlZEhvcml6b250YWxFeHBhbnNpb24oSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsRXgKICAg
ICBBU1NFUlQoaXNUZXh0KCkpOwogICAgIEFTU0VSVChoYXNFeHBhbnNpb25PcHBvcnR1bml0eSgp
KTsKICAgICBtX2xvZ2ljYWxSZWN0LmV4cGFuZEhvcml6b250YWxseShsb2dpY2FsRXhwYW5zaW9u
KTsKLSAgICBtX3RleHRDb250ZXh0LT5zZXRFeHBhbnNpb24oeyBtX3RleHRDb250ZXh0LT5leHBh
bnNpb24oKS0+YmVoYXZpb3IsIGxvZ2ljYWxFeHBhbnNpb24gfSk7CisgICAgbV9leHBhbnNpb24u
aG9yaXpvbnRhbEV4cGFuc2lvbiA9IGxvZ2ljYWxFeHBhbnNpb247CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWls
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5oCmluZGV4IGNhM2EyNGY5MjZmNjJiM2ZhNzU2ZWZhNTU4NGYzOWU0YTc3MzYyZTQu
LjVjMzM1NjVhOWU5YmY1ODA3ZDczMmQ0NmQ2ZDBiZWJlN2FlOTQ1MDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1
aWxkZXIuaApAQCAtMTA4LDEwICsxMDgsMTAgQEAgcHVibGljOgogICAgICAgICB2b2lkIHNldExv
Z2ljYWxIZWlnaHQoSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSB7IG1fbG9naWNhbFJl
Y3Quc2V0SGVpZ2h0KGxvZ2ljYWxIZWlnaHQpOyB9CiAKICAgICAgICAgYm9vbCBoYXNFeHBhbnNp
b25PcHBvcnR1bml0eSgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3Vu
dDsgfQotICAgICAgICBPcHRpb25hbDxFeHBhbnNpb25CZWhhdmlvcj4gZXhwYW5zaW9uQmVoYXZp
b3IoKSBjb25zdDsKKyAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3Io
KSBjb25zdDsKICAgICAgICAgdW5zaWduZWQgZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsgfQogICAgICAgICB2b2lk
IHNldENvbXB1dGVkSG9yaXpvbnRhbEV4cGFuc2lvbihJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxF
eHBhbnNpb24pOwotICAgICAgICB2b2lkIGFkanVzdEV4cGFuc2lvbkJlaGF2aW9yKEV4cGFuc2lv
bkJlaGF2aW9yKTsKKyAgICAgICAgdm9pZCBzZXRFeHBhbnNpb25CZWhhdmlvcihFeHBhbnNpb25C
ZWhhdmlvcik7CiAKICAgICAgICAgZW51bSBjbGFzcyBUcmFpbGluZ1doaXRlc3BhY2UgewogICAg
ICAgICAgICAgTm9uZSwKQEAgLTEzNyw2ICsxMzcsNyBAQCBwdWJsaWM6CiAgICAgICAgIFRyYWls
aW5nV2hpdGVzcGFjZSBtX3RyYWlsaW5nV2hpdGVzcGFjZVR5cGUgeyBUcmFpbGluZ1doaXRlc3Bh
Y2U6Ok5vbmUgfTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX3RyYWlsaW5nV2hpdGVzcGFj
ZVdpZHRoIHsgMCB9OwogICAgICAgICBPcHRpb25hbDxEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0
PiBtX3RleHRDb250ZXh0OworICAgICAgICBEaXNwbGF5OjpSdW46OkV4cGFuc2lvbiBtX2V4cGFu
c2lvbjsKICAgICAgICAgdW5zaWduZWQgbV9leHBhbnNpb25PcHBvcnR1bml0eUNvdW50IHsgMCB9
OwogICAgIH07CiAgICAgdXNpbmcgUnVuTGlzdCA9IFZlY3RvcjxSdW4sIDEwPjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggMmZjNjU3NTY4OTYxMjFhM2VhMDY3OTUzOWI1
ZTQ2OGZjZWVjNDQ1Ni4uNTI3ODkxZTAzZTQ4NmI3ZTU1ZDgyYTNjOTZmZWEzOTE1N2ZiMjVlOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTI5MSwxNCArMjkxLDEyIEBA
IHZvaWQgTGluZUxheW91dDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW50JiBwYWludE9mZnNldCkKIAogICAgICAgICBhdXRvJiBsaW5lQm94ID0gaW5saW5lQ29u
dGVudC5saW5lQm94Rm9yUnVuKHJ1bik7CiAgICAgICAgIGF1dG8gYmFzZWxpbmVPZmZzZXQgPSBw
YWludE9mZnNldC55KCkgKyBsaW5lQm94LnRvcCgpICsgbGluZUJveC5iYXNlbGluZU9mZnNldCgp
OwotCi0gICAgICAgIGF1dG8gYmVoYXZpb3IgPSB0ZXh0Q29udGV4dC5leHBhbnNpb24oKSA/IHRl
eHRDb250ZXh0LmV4cGFuc2lvbigpLT5iZWhhdmlvciA6IERlZmF1bHRFeHBhbnNpb247Ci0gICAg
ICAgIGF1dG8gaG9yaXpvbnRhbEV4cGFuc2lvbiA9IHRleHRDb250ZXh0LmV4cGFuc2lvbigpID8g
dGV4dENvbnRleHQuZXhwYW5zaW9uKCktPmhvcml6b250YWxFeHBhbnNpb24gOiAwOworICAgICAg
ICBhdXRvIGV4cGFuc2lvbiA9IHJ1bi5leHBhbnNpb24oKTsKIAogICAgICAgICBTdHJpbmcgdGV4
dFdpdGhIeXBoZW47CiAgICAgICAgIGlmICh0ZXh0Q29udGV4dC5uZWVkc0h5cGhlbigpKQogICAg
ICAgICAgICAgdGV4dFdpdGhIeXBoZW4gPSBtYWtlU3RyaW5nKHRleHRDb250ZXh0LmNvbnRlbnQo
KSwgc3R5bGUuaHlwaGVuU3RyaW5nKCkpOwotICAgICAgICBUZXh0UnVuIHRleHRSdW4geyAhdGV4
dFdpdGhIeXBoZW4uaXNFbXB0eSgpID8gdGV4dFdpdGhIeXBoZW4gOiB0ZXh0Q29udGV4dC5jb250
ZW50KCksIHJ1bi5sZWZ0KCkgLSBsaW5lQm94LmxlZnQoKSwgaG9yaXpvbnRhbEV4cGFuc2lvbiwg
YmVoYXZpb3IgfTsKKyAgICAgICAgVGV4dFJ1biB0ZXh0UnVuIHsgIXRleHRXaXRoSHlwaGVuLmlz
RW1wdHkoKSA/IHRleHRXaXRoSHlwaGVuIDogdGV4dENvbnRleHQuY29udGVudCgpLCBydW4ubGVm
dCgpIC0gbGluZUJveC5sZWZ0KCksIGV4cGFuc2lvbi5ob3Jpem9udGFsRXhwYW5zaW9uLCBleHBh
bnNpb24uYmVoYXZpb3IgfTsKICAgICAgICAgdGV4dFJ1bi5zZXRUYWJTaXplKCFzdHlsZS5jb2xs
YXBzZVdoaXRlU3BhY2UoKSwgc3R5bGUudGFiU2l6ZSgpKTsKICAgICAgICAgRmxvYXRQb2ludCB0
ZXh0T3JpZ2luIHsgcmVjdC54KCkgKyBwYWludE9mZnNldC54KCksIHJvdW5kVG9EZXZpY2VQaXhl
bChiYXNlbGluZU9mZnNldCwgZGV2aWNlU2NhbGVGYWN0b3IpIH07CiAK
</data>
<flag name="review"
          id="406116"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390489</attachid>
            <date>2020-02-11 21:05:58 -0800</date>
            <delta_ts>2020-02-12 07:15:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207610-20200211210557.patch</filename>
            <type>text/plain</type>
            <size>14911</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgwNGRlMzE0MWVlZTA3
ODkxNDAzZDYwNTMzYjUzNmVkODUxNDM3ZC4uMzdiNGFjMDNkMjY1ZjJmMWZhM2U0ZGU4ODI5ZjE3
YTUwMTcxMTVkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTAyLTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBNb3ZlIGV4
cGFuc2lvbiBzdHJ1Y3Qgb3V0IG9mIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQgdG8gRGlzcGxh
eTo6UnVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDc2MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5Mzc0MTM2PgorCisgICAgICAgIFJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24g
Zm9yIHJlbmFtaW5nIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQgdG8gRGlzcGxheTo6UnVuOlRl
eHRDb250ZW50LgorICAgICAgICBOb24tdGV4dCBydW5zIG5vdyBoYXZlIHRoZSBkZWZhdWx0IGV4
cGFuc2lvbiBiZWhhdmlvciB3aXRoIDAgaG9yaXpvbnRhbCBleHBhbnNpb24uCisKKyAgICAgICAg
KiBsYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheTo6cGFpbnRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvZGlzcGxh
eXRyZWUvRGlzcGxheVJ1bi5oOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6UnVuOjpUZXh0
Q29udGV4dDo6c2V0TmVlZHNIeXBoZW4pOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheTo6UnVu
OjpUZXh0Q29udGV4dDo6ZXhwYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6
c2V0RXhwYW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6ZXhwYW5zaW9u
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQ6OnNl
dEV4cGFuc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5OjpSdW46OlRl
eHRDb250ZXh0OjpleHBhbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZUJ1aWxkZXI6Omp1c3RpZnlSdW5zKToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJ1aWxkZXI6OlJ1bjo6ZXhwYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJ1aWxkZXI6OlJ1bjo6dmlzdWFsbHlDb2xsYXBzZVRyYWlsaW5nV2hpdGVzcGFjZSk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpSdW46OnNldEV4cGFuc2lv
bkJlaGF2aW9yKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OlJ1bjo6
ZXhwYW5zaW9uQmVoYXZpb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
QnVpbGRlcjo6UnVuOjpzZXRDb21wdXRlZEhvcml6b250YWxFeHBhbnNpb24pOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6UnVuOjphZGp1c3RFeHBhbnNpb25CZWhhdmlv
cik6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGlu
ZUJ1aWxkZXIuaDoKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpM
aW5lTGF5b3V0OjpwYWludCk6CisKIDIwMjAtMDItMTEgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgRml4IGRlY2xhcmF0aW9ucyBtYXJrZWQgYnkg
d3JvbmcgZXhwb3J0IG1hY3JvcyAoV0VCQ09SRV9FWFBPUlQgYW5kIFdURl9FWFBPUlQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVyLmNw
cAppbmRleCAzMWZlMjQ1OGE2ZjZmYjE5ZjU2MTNlN2RjY2Y4MTFhM2MxMzY4ZTY2Li5kZDY3ODI1
ODMxMzY3YmM3ZDZhN2E3YTdhYzJmNDIxMmJkNTljNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVBhaW50ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHAKQEAgLTEzMCwxMCAr
MTMwLDggQEAgc3RhdGljIHZvaWQgcGFpbnRJbmxpbmVDb250ZW50KEdyYXBoaWNzQ29udGV4dCYg
Y29udGV4dCwgTGF5b3V0UG9pbnQgYWJzb2x1dGVPZmYKICAgICAgICAgICAgIC8vIEZJWE1FOiBB
ZGQgbm9uLWJhc2VsaW5lIGFsaWduIHBhaW50aW5nCiAgICAgICAgICAgICBhdXRvJiBsaW5lQm94
ID0gZGlzcGxheUlubGluZUNvbnRlbnQtPmxpbmVCb3hGb3JSdW4ocnVuKTsKICAgICAgICAgICAg
IGF1dG8gYmFzZWxpbmVPZmZzZXQgPSBhYnNvbHV0ZU9mZnNldC55KCkgKyBsaW5lQm94LnRvcCgp
ICsgbGluZUJveC5iYXNlbGluZU9mZnNldCgpOwotICAgICAgICAgICAgYXV0byBleHBhbnNpb25D
b250ZXh0ID0gdGV4dENvbnRleHQtPmV4cGFuc2lvbigpOwotICAgICAgICAgICAgYXV0byB0ZXh0
UnVuID0gVGV4dFJ1biB7IHRleHRDb250ZXh0LT5jb250ZW50KCksIHJ1bi5sZWZ0KCkgLSBsaW5l
Qm94LmxlZnQoKSwKLSAgICAgICAgICAgICAgICBleHBhbnNpb25Db250ZXh0ID8gZXhwYW5zaW9u
Q29udGV4dC0+aG9yaXpvbnRhbEV4cGFuc2lvbiA6IDAsCi0gICAgICAgICAgICAgICAgZXhwYW5z
aW9uQ29udGV4dCA/IGV4cGFuc2lvbkNvbnRleHQtPmJlaGF2aW9yIDogRGVmYXVsdEV4cGFuc2lv
biB9OworICAgICAgICAgICAgYXV0byBleHBhbnNpb24gPSBydW4uZXhwYW5zaW9uKCk7CisgICAg
ICAgICAgICBhdXRvIHRleHRSdW4gPSBUZXh0UnVuIHsgdGV4dENvbnRleHQtPmNvbnRlbnQoKSwg
cnVuLmxlZnQoKSAtIGxpbmVCb3gubGVmdCgpLCBleHBhbnNpb24uaG9yaXpvbnRhbEV4cGFuc2lv
biwgZXhwYW5zaW9uLmJlaGF2aW9yIH07CiAgICAgICAgICAgICB0ZXh0UnVuLnNldFRhYlNpemUo
IXN0eWxlLmNvbGxhcHNlV2hpdGVTcGFjZSgpLCBzdHlsZS50YWJTaXplKCkpOwogICAgICAgICAg
ICAgY29udGV4dC5kcmF3VGV4dChzdHlsZS5mb250Q2FzY2FkZSgpLCB0ZXh0UnVuLCB7IGFic29s
dXRlTGVmdCwgYmFzZWxpbmVPZmZzZXQgfSk7CiAgICAgICAgIH0gZWxzZSBpZiAoYXV0byogY2Fj
aGVkSW1hZ2UgPSBydW4uaW1hZ2UoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlSdW4uaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNw
bGF5dHJlZS9EaXNwbGF5UnVuLmgKaW5kZXggM2U0ZmQ4YmYzZjQ5YjgyMTE0NDY2YTM3NDk0YWEz
NmU3ZDE5YjA1ZS4uMjZlZDRkMTE5ODdlMDIwMWEwYTJkNTcwOThkMmQxNDMzMjExMzJjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlSdW4uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheVJ1bi5oCkBAIC01
MSwyNyArNTEsMjAgQEAgc3RydWN0IFJ1biB7CiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAgICAgICAgIFN0cmluZ1ZpZXcgY29udGVudCgpIGNv
bnN0IHsgcmV0dXJuIFN0cmluZ1ZpZXcobV9jb250ZW50U3RyaW5nKS5zdWJzdHJpbmcobV9zdGFy
dCwgbV9sZW5ndGgpOyB9CiAKLSAgICAgICAgc3RydWN0IEV4cGFuc2lvbkNvbnRleHQgewotICAg
ICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgYmVoYXZpb3IgeyBEZWZhdWx0RXhwYW5zaW9uIH07
Ci0gICAgICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxFeHBhbnNpb24geyAwIH07
Ci0gICAgICAgIH07Ci0gICAgICAgIHZvaWQgc2V0RXhwYW5zaW9uKEV4cGFuc2lvbkNvbnRleHQg
ZXhwYW5zaW9uQ29udGV4dCkgeyBtX2V4cGFuc2lvbkNvbnRleHQgPSBleHBhbnNpb25Db250ZXh0
OyB9Ci0gICAgICAgIE9wdGlvbmFsPEV4cGFuc2lvbkNvbnRleHQ+IGV4cGFuc2lvbigpIGNvbnN0
IHsgcmV0dXJuIG1fZXhwYW5zaW9uQ29udGV4dDsgfQotCiAgICAgICAgIGJvb2wgbmVlZHNIeXBo
ZW4oKSBjb25zdCB7IHJldHVybiBtX25lZWRzSHlwaGVuOyB9CisgICAgICAgIHZvaWQgc2V0TmVl
ZHNIeXBoZW4oKSB7IG1fbmVlZHNIeXBoZW4gPSB0cnVlOyB9CiAKICAgICAgICAgdm9pZCBleHBh
bmQodW5zaWduZWQgZGVsdGEpIHsgbV9sZW5ndGggKz0gZGVsdGE7IH0KLSAgICAgICAgdm9pZCBz
ZXROZWVkc0h5cGhlbigpIHsgbV9uZWVkc0h5cGhlbiA9IHRydWU7IH0KIAogICAgIHByaXZhdGU6
CiAgICAgICAgIHVuc2lnbmVkIG1fc3RhcnQgeyAwIH07CiAgICAgICAgIHVuc2lnbmVkIG1fbGVu
Z3RoIHsgMCB9OwogICAgICAgICBib29sIG1fbmVlZHNIeXBoZW4geyBmYWxzZSB9OwogICAgICAg
ICBTdHJpbmcgbV9jb250ZW50U3RyaW5nOwotICAgICAgICBPcHRpb25hbDxFeHBhbnNpb25Db250
ZXh0PiBtX2V4cGFuc2lvbkNvbnRleHQ7CiAgICAgfTsKIAotICAgIFJ1bihzaXplX3QgbGluZUlu
ZGV4LCBjb25zdCBMYXlvdXQ6OkJveCYsIGNvbnN0IElubGluZVJlY3QmLCBjb25zdCBJbmxpbmVS
ZWN0JiBpbmtPdmVyZmxvdywgT3B0aW9uYWw8VGV4dENvbnRleHQ+ID0gV1RGOjpudWxsb3B0KTsK
KyAgICBzdHJ1Y3QgRXhwYW5zaW9uOworICAgIFJ1bihzaXplX3QgbGluZUluZGV4LCBjb25zdCBM
YXlvdXQ6OkJveCYsIGNvbnN0IElubGluZVJlY3QmLCBjb25zdCBJbmxpbmVSZWN0JiBpbmtPdmVy
ZmxvdywgRXhwYW5zaW9uLCBPcHRpb25hbDxUZXh0Q29udGV4dD4gPSBXVEY6Om51bGxvcHQpOwog
CiAgICAgc2l6ZV90IGxpbmVJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUluZGV4OyB9CiAK
QEAgLTk5LDYgKzkyLDEzIEBAIHN0cnVjdCBSdW4gewogICAgIGNvbnN0IE9wdGlvbmFsPFRleHRD
b250ZXh0PiYgdGV4dENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3RleHRDb250ZXh0OyB9CiAg
ICAgT3B0aW9uYWw8VGV4dENvbnRleHQ+JiB0ZXh0Q29udGV4dCgpIHsgcmV0dXJuIG1fdGV4dENv
bnRleHQ7IH0KIAorICAgIHN0cnVjdCBFeHBhbnNpb24geworICAgICAgICBFeHBhbnNpb25CZWhh
dmlvciBiZWhhdmlvciB7IERlZmF1bHRFeHBhbnNpb24gfTsKKyAgICAgICAgSW5saW5lTGF5b3V0
VW5pdCBob3Jpem9udGFsRXhwYW5zaW9uIHsgMCB9OworICAgIH07CisgICAgdm9pZCBzZXRFeHBh
bnNpb24oRXhwYW5zaW9uIGV4cGFuc2lvbikgeyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgfQor
ICAgIEV4cGFuc2lvbiBleHBhbnNpb24oKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbjsgfQor
CiAgICAgdm9pZCBzZXRJbWFnZShDYWNoZWRJbWFnZSYgaW1hZ2UpIHsgbV9jYWNoZWRJbWFnZSA9
ICZpbWFnZTsgfQogICAgIENhY2hlZEltYWdlKiBpbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Fj
aGVkSW1hZ2U7IH0KIApAQCAtMTE0LDE0ICsxMTQsMTYgQEAgcHJpdmF0ZToKICAgICBDYWNoZWRJ
bWFnZSogbV9jYWNoZWRJbWFnZSB7IG51bGxwdHIgfTsKICAgICBJbmxpbmVSZWN0IG1fcmVjdDsK
ICAgICBJbmxpbmVSZWN0IG1faW5rT3ZlcmZsb3c7CisgICAgRXhwYW5zaW9uIG1fZXhwYW5zaW9u
OwogICAgIE9wdGlvbmFsPFRleHRDb250ZXh0PiBtX3RleHRDb250ZXh0OwogfTsKIAotaW5saW5l
IFJ1bjo6UnVuKHNpemVfdCBsaW5lSW5kZXgsIGNvbnN0IExheW91dDo6Qm94JiBsYXlvdXRCb3gs
IGNvbnN0IElubGluZVJlY3QmIHJlY3QsIGNvbnN0IElubGluZVJlY3QmIGlua092ZXJmbG93LCBP
cHRpb25hbDxUZXh0Q29udGV4dD4gdGV4dENvbnRleHQpCitpbmxpbmUgUnVuOjpSdW4oc2l6ZV90
IGxpbmVJbmRleCwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwgY29uc3QgSW5saW5lUmVj
dCYgcmVjdCwgY29uc3QgSW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lvbiBleHBhbnNp
b24sIE9wdGlvbmFsPFRleHRDb250ZXh0PiB0ZXh0Q29udGV4dCkKICAgICA6IG1fbGluZUluZGV4
KGxpbmVJbmRleCkKICAgICAsIG1fbGF5b3V0Qm94KG1ha2VXZWFrUHRyKGxheW91dEJveCkpCiAg
ICAgLCBtX3JlY3QocmVjdCkKICAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCisgICAg
LCBtX2V4cGFuc2lvbihleHBhbnNpb24pCiAgICAgLCBtX3RleHRDb250ZXh0KHRleHRDb250ZXh0
KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGU1MzNmZmE0
NjdjZTliZDE0NmMxNDM0NjIwODA1ZGFkOGUzMWRkOTAuLjJlYzU3NmM3MjQ0MzU4MDE5YjQwOTJh
YWQxZjE1YjE2ZGRlOWY5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAK
QEAgLTQ4NSw3ICs0ODUsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpzZXREaXNw
bGF5Qm94ZXNGb3JMaW5lKGNvbnN0IExpbmVMYXlvdXRDb250ZXh0OjpMaQogICAgICAgICAgICAg
fTsKICAgICAgICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBjb21wdXRlZElua092ZXJmbG93KCk7
CiAgICAgICAgICAgICBsaW5lSW5rT3ZlcmZsb3cuZXhwYW5kVG9Db250YWluKGlua092ZXJmbG93
KTsKLSAgICAgICAgICAgIGlubGluZUNvbnRlbnQucnVucy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxp
bmVSdW4ubGF5b3V0Qm94KCksIGxvZ2ljYWxSZWN0LCBpbmtPdmVyZmxvdywgbGluZVJ1bi50ZXh0
Q29udGV4dCgpIH0pOworICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxp
bmVJbmRleCwgbGluZVJ1bi5sYXlvdXRCb3goKSwgbG9naWNhbFJlY3QsIGlua092ZXJmbG93LCBs
aW5lUnVuLmV4cGFuc2lvbigpLCBsaW5lUnVuLnRleHRDb250ZXh0KCkgfSk7CiAgICAgICAgIH0K
IAogICAgICAgICBpZiAobGluZVJ1bi5pc0xpbmVCcmVhaygpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRl
ci5jcHAKaW5kZXggYThmOTU5ZGY5MDJlYTBiMjVkMzBiOTYwMGQ4YmFiOWUzOTA4M2MyOS4uYzZh
NjQ3ZWFhOTEzMmMzY2Y2NThkMGViNmNhYzYxYWFiNzlmOTUxZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWls
ZGVyLmNwcApAQCAtMjEwLDggKzIxMCw4IEBAIHZvaWQgTGluZUJ1aWxkZXI6Omp1c3RpZnlSdW5z
KElubGluZUxheW91dFVuaXQgYXZhaWxhYmxlV2lkdGgpCiAgICAgLy8gTmVlZCB0byBmaXggdXAg
dGhlIGxhc3QgcnVuJ3MgdHJhaWxpbmcgZXhwYW5zaW9uLgogICAgIGlmIChsYXN0UnVuV2l0aENv
bnRlbnQgJiYgbGFzdFJ1bldpdGhDb250ZW50LT5oYXNFeHBhbnNpb25PcHBvcnR1bml0eSgpKSB7
CiAgICAgICAgIC8vIFR1cm4gb2ZmIHRoZSB0cmFpbGluZyBiaXRzIGZpcnN0IGFuZCBhZGQgdGhl
IGZvcmJpZCB0cmFpbGluZyBleHBhbnNpb24uCi0gICAgICAgIGF1dG8gbGVhZGluZ0V4cGFuc2lv
biA9ICpsYXN0UnVuV2l0aENvbnRlbnQtPmV4cGFuc2lvbkJlaGF2aW9yKCkgJiBMZWFkaW5nRXhw
YW5zaW9uTWFzazsKLSAgICAgICAgbGFzdFJ1bldpdGhDb250ZW50LT5hZGp1c3RFeHBhbnNpb25C
ZWhhdmlvcihsZWFkaW5nRXhwYW5zaW9uIHwgRm9yYmlkVHJhaWxpbmdFeHBhbnNpb24pOworICAg
ICAgICBhdXRvIGxlYWRpbmdFeHBhbnNpb24gPSBsYXN0UnVuV2l0aENvbnRlbnQtPmV4cGFuc2lv
bkJlaGF2aW9yKCkgJiBMZWFkaW5nRXhwYW5zaW9uTWFzazsKKyAgICAgICAgbGFzdFJ1bldpdGhD
b250ZW50LT5zZXRFeHBhbnNpb25CZWhhdmlvcihsZWFkaW5nRXhwYW5zaW9uIHwgRm9yYmlkVHJh
aWxpbmdFeHBhbnNpb24pOwogICAgIH0KICAgICAvLyBOb3RoaW5nIHRvIGRpc3RyaWJ1dGU/CiAg
ICAgaWYgKCFleHBhbnNpb25PcHBvcnR1bml0eUNvdW50KQpAQCAtNzYzLDcgKzc2Myw2IEBAIExp
bmVCdWlsZGVyOjpSdW46OlJ1bihjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVGV4dEl0ZW0s
IElubGluZUxheW91dFVuaXQgbG9nCiB7CiAgICAgaWYgKG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlw
ZSAhPSBUcmFpbGluZ1doaXRlc3BhY2U6Ok5vbmUpIHsKICAgICAgICAgbV90cmFpbGluZ1doaXRl
c3BhY2VXaWR0aCA9IGxvZ2ljYWxXaWR0aDsKLSAgICAgICAgbV90ZXh0Q29udGV4dC0+c2V0RXhw
YW5zaW9uKHsgRXhwYW5zaW9uQmVoYXZpb3IoRGVmYXVsdEV4cGFuc2lvbiksIHsgfSB9KTsKICAg
ICAgICAgaWYgKCFpc1doaXRlc3BhY2VQcmVzZXJ2ZWQoaW5saW5lVGV4dEl0ZW0uc3R5bGUoKSkp
CiAgICAgICAgICAgICBtX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgPSAxOwogICAgIH0KQEAg
LTc4MSwxNCArNzgwLDE0IEBAIHZvaWQgTGluZUJ1aWxkZXI6OlJ1bjo6ZXhwYW5kKGNvbnN0IElu
bGluZVRleHRJdGVtJiBpbmxpbmVUZXh0SXRlbSwgSW5saW5lTGF5b3V0CiAKICAgICBpZiAobV90
cmFpbGluZ1doaXRlc3BhY2VUeXBlID09IFRyYWlsaW5nV2hpdGVzcGFjZTo6Tm9uZSkgewogICAg
ICAgICBtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoID0geyB9OwotICAgICAgICBtX3RleHRDb250
ZXh0LT5zZXRFeHBhbnNpb24oeyBFeHBhbnNpb25CZWhhdmlvcihBbGxvd0xlYWRpbmdFeHBhbnNp
b24gfCBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uKSwgeyB9IH0pOworICAgICAgICBzZXRFeHBhbnNp
b25CZWhhdmlvcihBbGxvd0xlYWRpbmdFeHBhbnNpb24gfCBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
KTsKICAgICAgICAgbV90ZXh0Q29udGV4dC0+ZXhwYW5kKGlubGluZVRleHRJdGVtLmxlbmd0aCgp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRo
ICs9IGxvZ2ljYWxXaWR0aDsKICAgICBpZiAoIWlzV2hpdGVzcGFjZVByZXNlcnZlZChpbmxpbmVU
ZXh0SXRlbS5zdHlsZSgpKSkKICAgICAgICAgKyttX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7
Ci0gICAgbV90ZXh0Q29udGV4dC0+c2V0RXhwYW5zaW9uKHsgRXhwYW5zaW9uQmVoYXZpb3IoRGVm
YXVsdEV4cGFuc2lvbiksIHsgfSB9KTsKKyAgICBzZXRFeHBhbnNpb25CZWhhdmlvcihEZWZhdWx0
RXhwYW5zaW9uKTsKICAgICBtX3RleHRDb250ZXh0LT5leHBhbmQobV90cmFpbGluZ1doaXRlc3Bh
Y2VUeXBlID09IFRyYWlsaW5nV2hpdGVzcGFjZTo6Q29sbGFwc2VkID8gMSA6IGlubGluZVRleHRJ
dGVtLmxlbmd0aCgpKTsKIH0KIApAQCAtODM0LDIyICs4MzMsMTkgQEAgdm9pZCBMaW5lQnVpbGRl
cjo6UnVuOjp2aXN1YWxseUNvbGxhcHNlVHJhaWxpbmdXaGl0ZXNwYWNlKCkKICAgICAgICAgQVNT
RVJUKG1fZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCk7CiAgICAgICAgIG1fZXhwYW5zaW9uT3Bw
b3J0dW5pdHlDb3VudC0tOwogICAgIH0KLSAgICBtX3RleHRDb250ZXh0LT5zZXRFeHBhbnNpb24o
eyBFeHBhbnNpb25CZWhhdmlvcihBbGxvd0xlYWRpbmdFeHBhbnNpb24gfCBBbGxvd1RyYWlsaW5n
RXhwYW5zaW9uKSwgeyB9IH0pOworICAgIHNldEV4cGFuc2lvbkJlaGF2aW9yKEFsbG93TGVhZGlu
Z0V4cGFuc2lvbiB8IEFsbG93VHJhaWxpbmdFeHBhbnNpb24pOwogfQogCi12b2lkIExpbmVCdWls
ZGVyOjpSdW46OmFkanVzdEV4cGFuc2lvbkJlaGF2aW9yKEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFu
c2lvbkJlaGF2aW9yKQordm9pZCBMaW5lQnVpbGRlcjo6UnVuOjpzZXRFeHBhbnNpb25CZWhhdmlv
cihFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvcikKIHsKICAgICBBU1NFUlQoaXNU
ZXh0KCkpOwotICAgIEFTU0VSVChoYXNFeHBhbnNpb25PcHBvcnR1bml0eSgpKTsKLSAgICBtX3Rl
eHRDb250ZXh0LT5zZXRFeHBhbnNpb24oeyBleHBhbnNpb25CZWhhdmlvciwgbV90ZXh0Q29udGV4
dC0+ZXhwYW5zaW9uKCktPmhvcml6b250YWxFeHBhbnNpb24gfSk7CisgICAgbV9leHBhbnNpb24u
YmVoYXZpb3IgPSBleHBhbnNpb25CZWhhdmlvcjsKIH0KIAotaW5saW5lIE9wdGlvbmFsPEV4cGFu
c2lvbkJlaGF2aW9yPiBMaW5lQnVpbGRlcjo6UnVuOjpleHBhbnNpb25CZWhhdmlvcigpIGNvbnN0
CitpbmxpbmUgRXhwYW5zaW9uQmVoYXZpb3IgTGluZUJ1aWxkZXI6OlJ1bjo6ZXhwYW5zaW9uQmVo
YXZpb3IoKSBjb25zdAogewogICAgIEFTU0VSVChpc1RleHQoKSk7Ci0gICAgaWYgKGF1dG8gZXhw
YW5zaW9uQ29udGV4dCA9IG1fdGV4dENvbnRleHQtPmV4cGFuc2lvbigpKQotICAgICAgICByZXR1
cm4gZXhwYW5zaW9uQ29udGV4dC0+YmVoYXZpb3I7Ci0gICAgcmV0dXJuIHsgfTsKKyAgICByZXR1
cm4gbV9leHBhbnNpb24uYmVoYXZpb3I7CiB9CiAKIHZvaWQgTGluZUJ1aWxkZXI6OlJ1bjo6c2V0
Q29tcHV0ZWRIb3Jpem9udGFsRXhwYW5zaW9uKElubGluZUxheW91dFVuaXQgbG9naWNhbEV4cGFu
c2lvbikKQEAgLTg1Nyw3ICs4NTMsNyBAQCB2b2lkIExpbmVCdWlsZGVyOjpSdW46OnNldENvbXB1
dGVkSG9yaXpvbnRhbEV4cGFuc2lvbihJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxFeAogICAgIEFT
U0VSVChpc1RleHQoKSk7CiAgICAgQVNTRVJUKGhhc0V4cGFuc2lvbk9wcG9ydHVuaXR5KCkpOwog
ICAgIG1fbG9naWNhbFJlY3QuZXhwYW5kSG9yaXpvbnRhbGx5KGxvZ2ljYWxFeHBhbnNpb24pOwot
ICAgIG1fdGV4dENvbnRleHQtPnNldEV4cGFuc2lvbih7IG1fdGV4dENvbnRleHQtPmV4cGFuc2lv
bigpLT5iZWhhdmlvciwgbG9naWNhbEV4cGFuc2lvbiB9KTsKKyAgICBtX2V4cGFuc2lvbi5ob3Jp
em9udGFsRXhwYW5zaW9uID0gbG9naWNhbEV4cGFuc2lvbjsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWls
ZGVyLmgKaW5kZXggY2EzYTI0ZjkyNmY2MmIzZmE3NTZlZmE1NTg0ZjM5ZTRhNzczNjJlNC4uN2Y4
NDYxOGVlZWU0MTNlYmMyZThiNjE3Njc0MzQxMzMzMDRjMTVkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRl
ci5oCkBAIC04NCw2ICs4NCw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgQm94JiBsYXlvdXRC
b3goKSBjb25zdCB7IHJldHVybiAqbV9sYXlvdXRCb3g7IH0KICAgICAgICAgY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRCb3gtPnN0eWxlKCk7IH0KICAg
ICAgICAgY29uc3QgRGlzcGxheTo6SW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJl
dHVybiBtX2xvZ2ljYWxSZWN0OyB9CisgICAgICAgIERpc3BsYXk6OlJ1bjo6RXhwYW5zaW9uIGV4
cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CiAgICAgICAgIGNvbnN0IE9w
dGlvbmFsPERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQ+JiB0ZXh0Q29udGV4dCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGV4dENvbnRleHQ7IH0KIAogICAgICAgICBSdW4oUnVuJiYpID0gZGVmYXVsdDsK
QEAgLTEwOCwxMCArMTA5LDEwIEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCBzZXRMb2dpY2FsSGVp
Z2h0KElubGluZUxheW91dFVuaXQgbG9naWNhbEhlaWdodCkgeyBtX2xvZ2ljYWxSZWN0LnNldEhl
aWdodChsb2dpY2FsSGVpZ2h0KTsgfQogCiAgICAgICAgIGJvb2wgaGFzRXhwYW5zaW9uT3Bwb3J0
dW5pdHkoKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7IH0KLSAg
ICAgICAgT3B0aW9uYWw8RXhwYW5zaW9uQmVoYXZpb3I+IGV4cGFuc2lvbkJlaGF2aW9yKCkgY29u
c3Q7CisgICAgICAgIEV4cGFuc2lvbkJlaGF2aW9yIGV4cGFuc2lvbkJlaGF2aW9yKCkgY29uc3Q7
CiAgICAgICAgIHVuc2lnbmVkIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQoKSBjb25zdCB7IHJl
dHVybiBtX2V4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7IH0KICAgICAgICAgdm9pZCBzZXRDb21w
dXRlZEhvcml6b250YWxFeHBhbnNpb24oSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsRXhwYW5zaW9u
KTsKLSAgICAgICAgdm9pZCBhZGp1c3RFeHBhbnNpb25CZWhhdmlvcihFeHBhbnNpb25CZWhhdmlv
cik7CisgICAgICAgIHZvaWQgc2V0RXhwYW5zaW9uQmVoYXZpb3IoRXhwYW5zaW9uQmVoYXZpb3Ip
OwogCiAgICAgICAgIGVudW0gY2xhc3MgVHJhaWxpbmdXaGl0ZXNwYWNlIHsKICAgICAgICAgICAg
IE5vbmUsCkBAIC0xMzcsNiArMTM4LDcgQEAgcHVibGljOgogICAgICAgICBUcmFpbGluZ1doaXRl
c3BhY2UgbV90cmFpbGluZ1doaXRlc3BhY2VUeXBlIHsgVHJhaWxpbmdXaGl0ZXNwYWNlOjpOb25l
IH07CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbV90cmFpbGluZ1doaXRlc3BhY2VXaWR0aCB7
IDAgfTsKICAgICAgICAgT3B0aW9uYWw8RGlzcGxheTo6UnVuOjpUZXh0Q29udGV4dD4gbV90ZXh0
Q29udGV4dDsKKyAgICAgICAgRGlzcGxheTo6UnVuOjpFeHBhbnNpb24gbV9leHBhbnNpb247CiAg
ICAgICAgIHVuc2lnbmVkIG1fZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCB7IDAgfTsKICAgICB9
OwogICAgIHVzaW5nIFJ1bkxpc3QgPSBWZWN0b3I8UnVuLCAxMD47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkxpbmVMYXlvdXQuY3BwCmluZGV4IDJmYzY1NzU2ODk2MTIxYTNlYTA2Nzk1MzliNWU0NjhmY2Vl
YzQ0NTYuLjUyNzg5MWUwM2U0ODZiN2U1NWQ4MmEzYzk2ZmVhMzkxNTdmYjI1ZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxp
bmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwCkBAIC0yOTEsMTQgKzI5MSwxMiBAQCB2b2lkIExp
bmVMYXlvdXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYg
cGFpbnRPZmZzZXQpCiAKICAgICAgICAgYXV0byYgbGluZUJveCA9IGlubGluZUNvbnRlbnQubGlu
ZUJveEZvclJ1bihydW4pOwogICAgICAgICBhdXRvIGJhc2VsaW5lT2Zmc2V0ID0gcGFpbnRPZmZz
ZXQueSgpICsgbGluZUJveC50b3AoKSArIGxpbmVCb3guYmFzZWxpbmVPZmZzZXQoKTsKLQotICAg
ICAgICBhdXRvIGJlaGF2aW9yID0gdGV4dENvbnRleHQuZXhwYW5zaW9uKCkgPyB0ZXh0Q29udGV4
dC5leHBhbnNpb24oKS0+YmVoYXZpb3IgOiBEZWZhdWx0RXhwYW5zaW9uOwotICAgICAgICBhdXRv
IGhvcml6b250YWxFeHBhbnNpb24gPSB0ZXh0Q29udGV4dC5leHBhbnNpb24oKSA/IHRleHRDb250
ZXh0LmV4cGFuc2lvbigpLT5ob3Jpem9udGFsRXhwYW5zaW9uIDogMDsKKyAgICAgICAgYXV0byBl
eHBhbnNpb24gPSBydW4uZXhwYW5zaW9uKCk7CiAKICAgICAgICAgU3RyaW5nIHRleHRXaXRoSHlw
aGVuOwogICAgICAgICBpZiAodGV4dENvbnRleHQubmVlZHNIeXBoZW4oKSkKICAgICAgICAgICAg
IHRleHRXaXRoSHlwaGVuID0gbWFrZVN0cmluZyh0ZXh0Q29udGV4dC5jb250ZW50KCksIHN0eWxl
Lmh5cGhlblN0cmluZygpKTsKLSAgICAgICAgVGV4dFJ1biB0ZXh0UnVuIHsgIXRleHRXaXRoSHlw
aGVuLmlzRW1wdHkoKSA/IHRleHRXaXRoSHlwaGVuIDogdGV4dENvbnRleHQuY29udGVudCgpLCBy
dW4ubGVmdCgpIC0gbGluZUJveC5sZWZ0KCksIGhvcml6b250YWxFeHBhbnNpb24sIGJlaGF2aW9y
IH07CisgICAgICAgIFRleHRSdW4gdGV4dFJ1biB7ICF0ZXh0V2l0aEh5cGhlbi5pc0VtcHR5KCkg
PyB0ZXh0V2l0aEh5cGhlbiA6IHRleHRDb250ZXh0LmNvbnRlbnQoKSwgcnVuLmxlZnQoKSAtIGxp
bmVCb3gubGVmdCgpLCBleHBhbnNpb24uaG9yaXpvbnRhbEV4cGFuc2lvbiwgZXhwYW5zaW9uLmJl
aGF2aW9yIH07CiAgICAgICAgIHRleHRSdW4uc2V0VGFiU2l6ZSghc3R5bGUuY29sbGFwc2VXaGl0
ZVNwYWNlKCksIHN0eWxlLnRhYlNpemUoKSk7CiAgICAgICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdp
biB7IHJlY3QueCgpICsgcGFpbnRPZmZzZXQueCgpLCByb3VuZFRvRGV2aWNlUGl4ZWwoYmFzZWxp
bmVPZmZzZXQsIGRldmljZVNjYWxlRmFjdG9yKSB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>