<?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>205629</bug_id>
          
          <creation_ts>2019-12-29 08:06:38 -0800</creation_ts>
          <short_desc>[LFC][IFC] Implement LineBuilder::revert</short_desc>
          <delta_ts>2019-12-29 20:44:01 -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>ysuzuki</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1601760</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-12-29 08:06:38 -0800</bug_when>
    <thetext>to support earlier line wrap opportunity. See but 205613 for details</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601761</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-29 08:06:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/58231425&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601762</commentid>
    <comment_count>2</comment_count>
      <attachid>386491</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-12-29 08:51:40 -0800</bug_when>
    <thetext>Created attachment 386491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601780</commentid>
    <comment_count>3</comment_count>
      <attachid>386495</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-12-29 10:47:53 -0800</bug_when>
    <thetext>Created attachment 386495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601783</commentid>
    <comment_count>4</comment_count>
      <attachid>386495</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-29 11:33:37 -0800</bug_when>
    <thetext>Comment on attachment 386495
Patch

Clearing flags on attachment: 386495

Committed r253938: &lt;https://trac.webkit.org/changeset/253938&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601784</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-29 11:33:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601812</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-29 20:44:01 -0800</bug_when>
    <thetext>Committed r253942: &lt;https://trac.webkit.org/changeset/253942&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386491</attachid>
            <date>2019-12-29 08:51:40 -0800</date>
            <delta_ts>2019-12-29 10:47:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205629-20191229085140.patch</filename>
            <type>text/plain</type>
            <size>11780</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjgzNTM4YzZlMjY5MjQ4
ZDkxNWY2MmJlYzJmNTM2ZjRhZGE0ZTdkOS4uZDA3MjM4OGU1YmY3YjhlMDg2NzMyY2ZkN2FkM2Fl
MWNlODM3NWE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTEyLTI5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBJbXBsZW1l
bnQgTGluZUJ1aWxkZXI6OnJldmVydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA1NjI5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODIzMTQyNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaW5lQnVp
bGRlcjo6cmV2ZXJ0IHNpbXBseSByZW1vdmVzIHRyYWlsaW5nIHJ1bnMsIHNocmlua3MgdGhlIGxp
bmUgYW5kIHJlYnVpbGRzIHRoZSBjb2xsYXBzaWJsZSBjb250ZW50LgorCisgICAgICAgICogbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpIYW5naW5nQ29udGVudDo6d2lkdGggY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpIYW5naW5nQ29udGVudDo6aXNDb25kaXRpb25hbCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkhhbmdpbmdDb250ZW50OjpzZXRJc0NvbmRpdGlvbmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SGFuZ2luZ0NvbnRlbnQ6OmV4cGFuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkhhbmdpbmdDb250ZW50OjpyZXNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJ1aWxkZXI6OnJldmVydCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVC
dWlsZGVyOjphbGlnbkhvcml6b250YWxseSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCdWlsZGVyOjpjb2xsZWN0SGFuZ2luZ0NvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUnVuOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OklubGluZUl0ZW1SdW46Om9wZXJhdG9y
IT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6SGFuZ2lu
Z0NvbnRlbnQ6OndpZHRoIGNvbnN0KTogRGVsZXRlZC4gUmVtb3ZlIG1faGFuZ2luZ0NvbnRlbnQg
c28gdGhhdCByZXZlcnQgZG9lcyBub3QgbmVlZCB0byBkZWFsIHdpdGggaXQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpIYW5naW5nQ29udGVudDo6aXNDb25kaXRpb25h
bCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVy
OjpIYW5naW5nQ29udGVudDo6c2V0SXNDb25kaXRpb25hbCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpIYW5naW5nQ29udGVudDo6ZXhwYW5kKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OkhhbmdpbmdDb250
ZW50OjpyZXNldCk6IERlbGV0ZWQuCisKIDIwMTktMTItMjggIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFkZCBMaW5lQnJlYWtlcjo6UmVzdWx0
OjpSZXZlcnQgdG8gaW5kaWNhdGUgYW4gZWFybGllciBsaW5lIHdyYXAgb3Bwb3J0dW5pdHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxp
bmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCAwYjM2ZDZlMGRkMTdlYThlYmJmMjU3MDRiYjFmMzBm
N2Q5ZjMxZDM2Li5mZmU5M2E2YTI0MWM1YzJkNjJlYTI3Mjg5MjRjZDY1YzIzYWFhMTFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUJ1aWxkZXIuY3BwCkBAIC00Myw2ICs0MywyNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgaXNXaGl0ZXNwYWNlUHJlc2VydmVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKICAgICBy
ZXR1cm4gd2hpdGVzcGFjZSA9PSBXaGl0ZVNwYWNlOjpQcmUgfHwgd2hpdGVzcGFjZSA9PSBXaGl0
ZVNwYWNlOjpQcmVXcmFwIHx8IHdoaXRlc3BhY2UgPT0gV2hpdGVTcGFjZTo6QnJlYWtTcGFjZXM7
CiB9CiAKK3N0cnVjdCBIYW5naW5nQ29udGVudCB7CitwdWJsaWM6CisgICAgdm9pZCByZXNldCgp
OworCisgICAgSW5saW5lTGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGg7
IH0KKyAgICBib29sIGlzQ29uZGl0aW9uYWwoKSBjb25zdCB7IHJldHVybiBtX2lzQ29uZGl0aW9u
YWw7IH0KKworICAgIHZvaWQgc2V0SXNDb25kaXRpb25hbCgpIHsgbV9pc0NvbmRpdGlvbmFsID0g
dHJ1ZTsgfQorICAgIHZvaWQgZXhwYW5kKElubGluZUxheW91dFVuaXQgd2lkdGgpIHsgbV93aWR0
aCArPSB3aWR0aDsgfQorCitwcml2YXRlOgorICAgIGJvb2wgbV9pc0NvbmRpdGlvbmFsIHsgZmFs
c2UgfTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IG1fd2lkdGggeyAwIH07Cit9OworCit2b2lkIEhh
bmdpbmdDb250ZW50OjpyZXNldCgpCit7CisgICAgbV9pc0NvbmRpdGlvbmFsID0gZmFsc2U7Cisg
ICAgbV93aWR0aCA9ICAwOworfQorCiBzdHJ1Y3QgTGluZUJ1aWxkZXI6OkNvbnRpbm91c0NvbnRl
bnQgewogcHVibGljOgogICAgIENvbnRpbm91c0NvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJ1biYs
IGJvb2wgdGV4dElzQWxpZ25KdXN0aWZ5KTsKQEAgLTE5Miw3ICsyMTMsNiBAQCB2b2lkIExpbmVC
dWlsZGVyOjppbml0aWFsaXplKGNvbnN0IENvbnN0cmFpbnRzJiBjb25zdHJhaW50cykKIAogICAg
IG1faW5saW5lSXRlbVJ1bnMuY2xlYXIoKTsKICAgICBtX2NvbGxhcHNpYmxlQ29udGVudC5yZXNl
dCgpOwotICAgIG1faGFuZ2luZ0NvbnRlbnQucmVzZXQoKTsKICAgICBtX2xpbmVJc1Zpc3VhbGx5
RW1wdHlCZWZvcmVDb2xsYXBzaWJsZUNvbnRlbnQgPSB7IH07CiB9CiAKQEAgLTIxMCw3ICsyMzAs
NyBAQCBMaW5lQnVpbGRlcjo6UnVuTGlzdCBMaW5lQnVpbGRlcjo6Y2xvc2UoSXNMYXN0TGluZVdp
dGhJbmxpbmVDb250ZW50IGlzTGFzdExpbmVXaQogICAgIC8vIDIuIEpvaW4gdGV4dCBydW5zIHRv
Z2V0aGVyIHdoZW4gcG9zc2libGUgW2Zvb11bIF1bYmFyXSAtPiBbZm9vIGJhcl0uCiAgICAgLy8g
My4gQWxpZ24gbWVyZ2VkIHJ1bnMgYm90aCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHkuCiAg
ICAgcmVtb3ZlVHJhaWxpbmdDb2xsYXBzaWJsZUNvbnRlbnQoKTsKLSAgICBjb2xsZWN0SGFuZ2lu
Z0NvbnRlbnQoaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKKyAgICBhdXRvIGhhbmdpbmdD
b250ZW50ID0gY29sbGVjdEhhbmdpbmdDb250ZW50KGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVu
dCk7CiAgICAgUnVuTGlzdCBydW5MaXN0OwogICAgIHVuc2lnbmVkIHJ1bkluZGV4ID0gMDsKICAg
ICB3aGlsZSAocnVuSW5kZXggPCBtX2lubGluZUl0ZW1SdW5zLnNpemUoKSkgewpAQCAtMjM4LDEx
ICsyNTgsNjAgQEAgTGluZUJ1aWxkZXI6OlJ1bkxpc3QgTGluZUJ1aWxkZXI6OmNsb3NlKElzTGFz
dExpbmVXaXRoSW5saW5lQ29udGVudCBpc0xhc3RMaW5lV2kKICAgICAgICAgICAgIG1fbGluZUJv
eC5yZXNldERlc2NlbnQoKTsKICAgICAgICAgfQogICAgICAgICBhbGlnbkNvbnRlbnRWZXJ0aWNh
bGx5KHJ1bkxpc3QpOwotICAgICAgICBhbGlnbkhvcml6b250YWxseShydW5MaXN0LCBpc0xhc3RM
aW5lV2l0aElubGluZUNvbnRlbnQpOworICAgICAgICBhbGlnbkhvcml6b250YWxseShydW5MaXN0
LCBoYW5naW5nQ29udGVudCwgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKICAgICB9CiAg
ICAgcmV0dXJuIHJ1bkxpc3Q7CiB9CiAKK3ZvaWQgTGluZUJ1aWxkZXI6OnJldmVydChjb25zdCBJ
bmxpbmVJdGVtJiByZXZlcnRUbykKK3sKKyAgICAvLyAxLiBSZW1vdmUgYW5kIHNocmluayB0aGUg
dHJhaWxpbmcgY29udGVudC4KKyAgICAvLyAyLiBSZWJ1aWxkIGNvbGxhcHNpYmxlIHRyYWlsaW5n
IHdoaXRlc3BhY2UgY29udGVudC4KKyAgICBBU1NFUlQoIW1faW5saW5lSXRlbVJ1bnMuaXNFbXB0
eSgpKTsKKyAgICBBU1NFUlQobV9pbmxpbmVJdGVtUnVucy5sYXN0KCkgIT0gcmV2ZXJ0VG8pOwor
ICAgIGF1dG8gcmV2ZXJ0ZWRXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGF1dG8g
aW5kZXggPSBtX2lubGluZUl0ZW1SdW5zLnNpemUoKSAtIDE7CisgICAgd2hpbGUgKGluZGV4ID49
IDAgJiYgbV9pbmxpbmVJdGVtUnVuc1tpbmRleF0gIT0gcmV2ZXJ0VG8pCisgICAgICAgIHJldmVy
dGVkV2lkdGggKz0gbV9pbmxpbmVJdGVtUnVuc1tpbmRleC0tXS5sb2dpY2FsV2lkdGgoKTsKKyAg
ICBtX2xpbmVCb3guc2hyaW5rSG9yaXpvbnRhbGx5KHJldmVydGVkV2lkdGgpOworICAgIG1faW5s
aW5lSXRlbVJ1bnMuc2hyaW5rKGluZGV4ICsgMSk7CisgICAgLy8gU2hvdWxkIG5ldmVyIG5lZWQg
dG8gY2xlYXIgdGhlIGxpbmUuCisgICAgQVNTRVJUKCFtX2lubGluZUl0ZW1SdW5zLmlzRW1wdHko
KSk7CisKKyAgICAvLyBJdCdzIGVhc2llciBqdXN0IHRvIHJlYnVpbGQgdHJhaWxpbmcgY29sbGFw
c2libGUgY29udGVudC4KKyAgICBtX2NvbGxhcHNpYmxlQ29udGVudC5yZXNldCgpOworICAgIG1f
bGluZUlzVmlzdWFsbHlFbXB0eUJlZm9yZUNvbGxhcHNpYmxlQ29udGVudCA9IGlzVmlzdWFsbHlF
bXB0eSgpOworICAgIC8vIEZpbmQgdGhlIGZpcnN0IGNvbGxhcHNpYmxlIHJ1bi4KKyAgICBPcHRp
b25hbDxzaXplX3Q+IGZpcnN0Q29sbGFwc2libGVSdW5JbmRleDsKKyAgICBmb3IgKGF1dG8gaW5k
ZXggPSBtX2lubGluZUl0ZW1SdW5zLnNpemUoKTsgaW5kZXgtLTspIHsKKyAgICAgICAgYXV0byYg
aW5saW5lSXRlbVJ1biA9IG1faW5saW5lSXRlbVJ1bnNbaW5kZXhdOworICAgICAgICBpZiAoaW5s
aW5lSXRlbVJ1bi5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5lSXRlbVJ1bi5pc0NvbnRhaW5l
ckVuZCgpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1dG8gaGFzQ29sbGFwc2li
bGVDb250ZW50ID0gaW5saW5lSXRlbVJ1bi5pc0NvbGxhcHNpYmxlV2hpdGVzcGFjZSgpIHx8IGlu
bGluZUl0ZW1SdW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCk7CisgICAgICAgIGlmICghaGFz
Q29sbGFwc2libGVDb250ZW50KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChpbmxp
bmVJdGVtUnVuLmlzQ29sbGFwc2libGVXaGl0ZXNwYWNlKCkpIHsKKyAgICAgICAgICAgIGZpcnN0
Q29sbGFwc2libGVSdW5JbmRleCA9IGluZGV4OworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKGlubGluZUl0ZW1SdW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5n
KCkpIHsKKyAgICAgICAgICAgIC8vIFdoaWxlIHRyYWlsaW5nIGxldHRlciBzcGFjaW5nIGlzIGNv
bnNpZGVyZWQgY29sbGFwc2libGUsIGl0IGlzIHN1cHBvc2VkIHRvIGJlIGxhc3Qgb25lIGluIHRo
ZSBsaXN0LgorICAgICAgICAgICAgZmlyc3RDb2xsYXBzaWJsZVJ1bkluZGV4ID0gaW5kZXg7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICAvLyBGb3J3YXJkLWFwcGVu
ZCBydW5zIHRvIG1fY29sbGFwc2libGVDb250ZW50LiAKKyAgICBpZiAoZmlyc3RDb2xsYXBzaWJs
ZVJ1bkluZGV4KSB7CisgICAgICAgIGZvciAoYXV0byBpbmRleCA9ICpmaXJzdENvbGxhcHNpYmxl
UnVuSW5kZXg7IGluZGV4IDwgbV9pbmxpbmVJdGVtUnVucy5zaXplKCk7ICsraW5kZXgpIHsKKyAg
ICAgICAgICAgIGF1dG8mIGlubGluZUl0ZW1SdW4gPSBtX2lubGluZUl0ZW1SdW5zW2luZGV4XTsK
KyAgICAgICAgICAgIGlmIChpbmxpbmVJdGVtUnVuLmlzQ29udGFpbmVyU3RhcnQoKSB8fCBpbmxp
bmVJdGVtUnVuLmlzQ29udGFpbmVyRW5kKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICBBU1NFUlQoaW5saW5lSXRlbVJ1bi5pc1RleHQoKSk7CisgICAgICAgICAgICBt
X2NvbGxhcHNpYmxlQ29udGVudC5hcHBlbmQoaW5kZXgpOworICAgICAgICB9CisgICAgfQorfQor
CiB2b2lkIExpbmVCdWlsZGVyOjphbGlnbkNvbnRlbnRWZXJ0aWNhbGx5KFJ1bkxpc3QmIHJ1bkxp
c3QpCiB7CiAgICAgQVNTRVJUKCFtX2lzSW50cmluc2ljU2l6aW5nKTsKQEAgLTMzMCwxMCArMzk5
LDEwIEBAIHZvaWQgTGluZUJ1aWxkZXI6Omp1c3RpZnlSdW5zKFJ1bkxpc3QmIHJ1bkxpc3QpIGNv
bnN0CiAgICAgfQogfQogCi12b2lkIExpbmVCdWlsZGVyOjphbGlnbkhvcml6b250YWxseShSdW5M
aXN0JiBydW5MaXN0LCBJc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQgbGFzdExpbmUpCit2b2lk
IExpbmVCdWlsZGVyOjphbGlnbkhvcml6b250YWxseShSdW5MaXN0JiBydW5MaXN0LCBjb25zdCBI
YW5naW5nQ29udGVudCYgaGFuZ2luZ0NvbnRlbnQsIElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVu
dCBsYXN0TGluZSkKIHsKICAgICBBU1NFUlQoIW1faXNJbnRyaW5zaWNTaXppbmcpOwotICAgIGF1
dG8gYXZhaWxhYmxlV2lkdGggPSB0aGlzLT5hdmFpbGFibGVXaWR0aCgpICsgbV9oYW5naW5nQ29u
dGVudC53aWR0aCgpOworICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSB0aGlzLT5hdmFpbGFibGVX
aWR0aCgpICsgaGFuZ2luZ0NvbnRlbnQud2lkdGgoKTsKICAgICBpZiAocnVuTGlzdC5pc0VtcHR5
KCkgfHwgYXZhaWxhYmxlV2lkdGggPD0gMCkKICAgICAgICAgcmV0dXJuOwogCkBAIC00MDksMTcg
KzQ3OCwxOCBAQCB2b2lkIExpbmVCdWlsZGVyOjpyZW1vdmVUcmFpbGluZ0NvbGxhcHNpYmxlQ29u
dGVudCgpCiAgICAgbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlQ29sbGFwc2libGVDb250ZW50
ID0geyB9OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjpjb2xsZWN0SGFuZ2luZ0NvbnRlbnQoSXNM
YXN0TGluZVdpdGhJbmxpbmVDb250ZW50IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkKK0hh
bmdpbmdDb250ZW50IExpbmVCdWlsZGVyOjpjb2xsZWN0SGFuZ2luZ0NvbnRlbnQoSXNMYXN0TGlu
ZVdpdGhJbmxpbmVDb250ZW50IGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCkKIHsKKyAgICBh
dXRvIGhhbmdpbmdDb250ZW50ID0gSGFuZ2luZ0NvbnRlbnQgeyB9OwogICAgIC8vIENhbid0IHNl
dHVwIGhhbmdpbmcgY29udGVudCB3aXRoIHJlbW92YWJsZSB0cmFpbGluZyB3aGl0c3BhY2VzLgog
ICAgIEFTU0VSVChtX2NvbGxhcHNpYmxlQ29udGVudC5pc0VtcHR5KCkpOwogICAgIGlmIChpc0xh
c3RMaW5lV2l0aElubGluZUNvbnRlbnQgPT0gSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50OjpZ
ZXMpCi0gICAgICAgIG1faGFuZ2luZ0NvbnRlbnQuc2V0SXNDb25kaXRpb25hbCgpOworICAgICAg
ICBoYW5naW5nQ29udGVudC5zZXRJc0NvbmRpdGlvbmFsKCk7CiAgICAgZm9yIChhdXRvJiBpbmxp
bmVJdGVtUnVuIDogV1RGOjptYWtlUmV2ZXJzZWRSYW5nZShtX2lubGluZUl0ZW1SdW5zKSkgewog
ICAgICAgICBpZiAoaW5saW5lSXRlbVJ1bi5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5lSXRl
bVJ1bi5pc0NvbnRhaW5lckVuZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlm
IChpbmxpbmVJdGVtUnVuLmlzTGluZUJyZWFrKCkpIHsKLSAgICAgICAgICAgIG1faGFuZ2luZ0Nv
bnRlbnQuc2V0SXNDb25kaXRpb25hbCgpOworICAgICAgICAgICAgaGFuZ2luZ0NvbnRlbnQuc2V0
SXNDb25kaXRpb25hbCgpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKCFpbmxpbmVJdGVtUnVuLmlzVGV4dCgpIHx8ICFpbmxpbmVJdGVtUnVuLmlzV2hpdGVz
cGFjZSgpIHx8IGlubGluZUl0ZW1SdW4uaXNDb2xsYXBzaWJsZSgpKQpAQCAtNDI4LDggKzQ5OCw5
IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmNvbGxlY3RIYW5naW5nQ29udGVudChJc0xhc3RMaW5lV2l0
aElubGluZUNvbnRlbnQgaXNMYXN0TGluZVdpCiAgICAgICAgIGlmIChpbmxpbmVJdGVtUnVuLnN0
eWxlKCkud2hpdGVTcGFjZSgpICE9IFdoaXRlU3BhY2U6OlByZVdyYXApCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgLy8gVGhpcyBpcyBlaXRoZXIgYSBub3JtYWwgb3IgY29uZGl0aW9uYWxs
eSBoYW5naW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UuCi0gICAgICAgIG1faGFuZ2luZ0NvbnRlbnQu
ZXhwYW5kKGlubGluZUl0ZW1SdW4ubG9naWNhbFdpZHRoKCkpOworICAgICAgICBoYW5naW5nQ29u
dGVudC5leHBhbmQoaW5saW5lSXRlbVJ1bi5sb2dpY2FsV2lkdGgoKSk7CiAgICAgfQorICAgIHJl
dHVybiBoYW5naW5nQ29udGVudDsKIH0KIAogdm9pZCBMaW5lQnVpbGRlcjo6bW92ZUxvZ2ljYWxM
ZWZ0KElubGluZUxheW91dFVuaXQgZGVsdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCA1MDU4
NDA4ZGM4ZTcxZWViZmQzN2YwNjRkMWM1YjMyNDcwZDQ3YTQ2Li4wZDI0ZjRkYjJkNzNjOGMyNGJm
ZGE4N2ZiNDFkNzY3Nzc3MDk2MzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKQEAgLTM1LDYgKzM1
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewogCitzdHJ1Y3Qg
SGFuZ2luZ0NvbnRlbnQ7CiBjbGFzcyBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDsKIAogY2xhc3Mg
TGluZUJ1aWxkZXIgewpAQCAtMTE0LDYgKzExNSw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBSdW5M
aXN0ID0gVmVjdG9yPFJ1biwgNTA+OwogICAgIGVudW0gY2xhc3MgSXNMYXN0TGluZVdpdGhJbmxp
bmVDb250ZW50IHsgTm8sIFllcyB9OwogICAgIFJ1bkxpc3QgY2xvc2UoSXNMYXN0TGluZVdpdGhJ
bmxpbmVDb250ZW50ID0gSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50OjpObyk7CisgICAgdm9p
ZCByZXZlcnQoY29uc3QgSW5saW5lSXRlbSYgcmV2ZXJ0VG8pOwogCiAgICAgc3RhdGljIERpc3Bs
YXk6OkxpbmVCb3g6OkJhc2VsaW5lIGhhbGZMZWFkaW5nTWV0cmljcyhjb25zdCBGb250TWV0cmlj
cyYsIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxIZWlnaHQpOwogCkBAIC0xNDAsOCArMTQy
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGFwcGVuZExpbmVCcmVhayhjb25zdCBJbmxpbmVJdGVt
Jik7CiAKICAgICB2b2lkIHJlbW92ZVRyYWlsaW5nQ29sbGFwc2libGVDb250ZW50KCk7Ci0gICAg
dm9pZCBjb2xsZWN0SGFuZ2luZ0NvbnRlbnQoSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsK
LSAgICB2b2lkIGFsaWduSG9yaXpvbnRhbGx5KFJ1bkxpc3QmLCBJc0xhc3RMaW5lV2l0aElubGlu
ZUNvbnRlbnQpOworICAgIEhhbmdpbmdDb250ZW50IGNvbGxlY3RIYW5naW5nQ29udGVudChJc0xh
c3RMaW5lV2l0aElubGluZUNvbnRlbnQpOworICAgIHZvaWQgYWxpZ25Ib3Jpem9udGFsbHkoUnVu
TGlzdCYsIGNvbnN0IEhhbmdpbmdDb250ZW50JiwgSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50
KTsKICAgICB2b2lkIGFsaWduQ29udGVudFZlcnRpY2FsbHkoUnVuTGlzdCYpOwogCiAgICAgdm9p
ZCBhZGp1c3RCYXNlbGluZUFuZExpbmVIZWlnaHQoY29uc3QgUnVuJik7CkBAIC0xOTIsNiArMTk0
LDkgQEAgcHJpdmF0ZToKIAogICAgICAgICBib29sIGhhc0V4cGFuc2lvbk9wcG9ydHVuaXR5KCkg
Y29uc3QgeyByZXR1cm4gaXNXaGl0ZXNwYWNlKCkgJiYgIWlzQ29sbGFwc2VkVG9aZXJvQWR2YW5j
ZVdpZHRoKCk7IH0KIAorICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgSW5saW5lSXRlbSYg
b3RoZXIpIGNvbnN0IHsgcmV0dXJuICZvdGhlciA9PSAmbV9pbmxpbmVJdGVtOyB9CisgICAgICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBJbmxpbmVJdGVtJiBvdGhlcikgY29uc3QgeyByZXR1cm4g
ISgqdGhpcyA9PSBvdGhlcik7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IElubGlu
ZUl0ZW0mIG1faW5saW5lSXRlbTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2xvZ2ljYWxM
ZWZ0IHsgMCB9OwpAQCAtMjI0LDI1ICsyMjksOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1f
bGFzdFJ1bklzRnVsbHlDb2xsYXBzaWJsZSB7IGZhbHNlIH07CiAgICAgfTsKIAotICAgIHN0cnVj
dCBIYW5naW5nQ29udGVudCB7Ci0gICAgcHVibGljOgotICAgICAgICB2b2lkIHJlc2V0KCk7Ci0K
LSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGg7
IH0KLSAgICAgICAgYm9vbCBpc0NvbmRpdGlvbmFsKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbmRp
dGlvbmFsOyB9Ci0KLSAgICAgICAgdm9pZCBzZXRJc0NvbmRpdGlvbmFsKCkgeyBtX2lzQ29uZGl0
aW9uYWwgPSB0cnVlOyB9Ci0gICAgICAgIHZvaWQgZXhwYW5kKElubGluZUxheW91dFVuaXQgd2lk
dGgpIHsgbV93aWR0aCArPSB3aWR0aDsgfQotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgYm9vbCBt
X2lzQ29uZGl0aW9uYWwgeyBmYWxzZSB9OwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fd2lk
dGggeyAwIH07Ci0gICAgfTsKLQogICAgIGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBt
X2lubGluZUZvcm1hdHRpbmdDb250ZXh0OwogICAgIElubGluZUl0ZW1SdW5MaXN0IG1faW5saW5l
SXRlbVJ1bnM7CiAgICAgQ29sbGFwc2libGVDb250ZW50IG1fY29sbGFwc2libGVDb250ZW50Owot
ICAgIEhhbmdpbmdDb250ZW50IG1faGFuZ2luZ0NvbnRlbnQ7CiAgICAgT3B0aW9uYWw8RGlzcGxh
eTo6TGluZUJveDo6QmFzZWxpbmU+IG1faW5pdGlhbFN0cnV0OwogICAgIElubGluZUxheW91dFVu
aXQgbV9saW5lTG9naWNhbFdpZHRoIHsgMCB9OwogICAgIE9wdGlvbmFsPFRleHRBbGlnbk1vZGU+
IG1faG9yaXpvbnRhbEFsaWdubWVudDsKQEAgLTI1OSwxMiArMjQ4LDYgQEAgaW5saW5lIHZvaWQg
TGluZUJ1aWxkZXI6OkNvbGxhcHNpYmxlQ29udGVudDo6cmVzZXQoKQogICAgIG1fbGFzdFJ1bklz
RnVsbHlDb2xsYXBzaWJsZSA9IGZhbHNlOwogfQogCi1pbmxpbmUgdm9pZCBMaW5lQnVpbGRlcjo6
SGFuZ2luZ0NvbnRlbnQ6OnJlc2V0KCkKLXsKLSAgICBtX2lzQ29uZGl0aW9uYWwgPSBmYWxzZTsK
LSAgICBtX3dpZHRoID0gIDA7Ci19Ci0KIH0KIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386495</attachid>
            <date>2019-12-29 10:47:53 -0800</date>
            <delta_ts>2019-12-29 11:33:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205629-20191229104752.patch</filename>
            <type>text/plain</type>
            <size>11871</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk1Nzc0OWFjM2Q3NDQw
MjlkMTU2MzYxM2MyMzc0YmVjYmI4MGVkMS4uNTEyNTAwMTI3Yjg4YTc5MDkzNDUwY2MwMDM4YmM2
YTNiNWI5OWRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTEyLTI5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBJbXBsZW1l
bnQgTGluZUJ1aWxkZXI6OnJldmVydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA1NjI5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODIzMTQyNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBMaW5lQnVp
bGRlcjo6cmV2ZXJ0IHNpbXBseSByZW1vdmVzIHRyYWlsaW5nIHJ1bnMsIHNocmlua3MgdGhlIGxp
bmUgYW5kIHJlYnVpbGRzIHRoZSBjb2xsYXBzaWJsZSBjb250ZW50LgorCisgICAgICAgICogbGF5
b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpIYW5naW5nQ29udGVudDo6d2lkdGggY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpIYW5naW5nQ29udGVudDo6aXNDb25kaXRpb25hbCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkhhbmdpbmdDb250ZW50OjpzZXRJc0NvbmRpdGlvbmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SGFuZ2luZ0NvbnRlbnQ6OmV4cGFuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkhhbmdpbmdDb250ZW50OjpyZXNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZUJ1aWxkZXI6OnJldmVydCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVC
dWlsZGVyOjphbGlnbkhvcml6b250YWxseSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmVCdWlsZGVyOjpjb2xsZWN0SGFuZ2luZ0NvbnRlbnQpOgorICAgICAgICAqIGxheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUnVuOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OklubGluZUl0ZW1SdW46Om9wZXJhdG9y
IT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6SGFuZ2lu
Z0NvbnRlbnQ6OndpZHRoIGNvbnN0KTogRGVsZXRlZC4gUmVtb3ZlIG1faGFuZ2luZ0NvbnRlbnQg
c28gdGhhdCByZXZlcnQgZG9lcyBub3QgbmVlZCB0byBkZWFsIHdpdGggaXQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpIYW5naW5nQ29udGVudDo6aXNDb25kaXRpb25h
bCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVy
OjpIYW5naW5nQ29udGVudDo6c2V0SXNDb25kaXRpb25hbCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpIYW5naW5nQ29udGVudDo6ZXhwYW5kKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OkhhbmdpbmdDb250
ZW50OjpyZXNldCk6IERlbGV0ZWQuCisKIDIwMTktMTItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFkZCBMaW5lQnJlYWtlcjo6UmVzdWx0
OjpSZXZlcnQgdG8gaW5kaWNhdGUgYW4gZWFybGllciBsaW5lIHdyYXAgb3Bwb3J0dW5pdHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxp
bmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCAwYjM2ZDZlMGRkMTdlYThlYmJmMjU3MDRiYjFmMzBm
N2Q5ZjMxZDM2Li41NjJjYjQyZDkxYTExZTYxYzU3MDQ2Yzk5MDM3M2UyNDI1OWEzNzdiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUJ1aWxkZXIuY3BwCkBAIC00Myw2ICs0MywyNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgaXNXaGl0ZXNwYWNlUHJlc2VydmVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKICAgICBy
ZXR1cm4gd2hpdGVzcGFjZSA9PSBXaGl0ZVNwYWNlOjpQcmUgfHwgd2hpdGVzcGFjZSA9PSBXaGl0
ZVNwYWNlOjpQcmVXcmFwIHx8IHdoaXRlc3BhY2UgPT0gV2hpdGVTcGFjZTo6QnJlYWtTcGFjZXM7
CiB9CiAKK3N0cnVjdCBIYW5naW5nQ29udGVudCB7CitwdWJsaWM6CisgICAgdm9pZCByZXNldCgp
OworCisgICAgSW5saW5lTGF5b3V0VW5pdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGg7
IH0KKyAgICBib29sIGlzQ29uZGl0aW9uYWwoKSBjb25zdCB7IHJldHVybiBtX2lzQ29uZGl0aW9u
YWw7IH0KKworICAgIHZvaWQgc2V0SXNDb25kaXRpb25hbCgpIHsgbV9pc0NvbmRpdGlvbmFsID0g
dHJ1ZTsgfQorICAgIHZvaWQgZXhwYW5kKElubGluZUxheW91dFVuaXQgd2lkdGgpIHsgbV93aWR0
aCArPSB3aWR0aDsgfQorCitwcml2YXRlOgorICAgIGJvb2wgbV9pc0NvbmRpdGlvbmFsIHsgZmFs
c2UgfTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IG1fd2lkdGggeyAwIH07Cit9OworCit2b2lkIEhh
bmdpbmdDb250ZW50OjpyZXNldCgpCit7CisgICAgbV9pc0NvbmRpdGlvbmFsID0gZmFsc2U7Cisg
ICAgbV93aWR0aCA9ICAwOworfQorCiBzdHJ1Y3QgTGluZUJ1aWxkZXI6OkNvbnRpbm91c0NvbnRl
bnQgewogcHVibGljOgogICAgIENvbnRpbm91c0NvbnRlbnQoY29uc3QgSW5saW5lSXRlbVJ1biYs
IGJvb2wgdGV4dElzQWxpZ25KdXN0aWZ5KTsKQEAgLTE5Miw3ICsyMTMsNiBAQCB2b2lkIExpbmVC
dWlsZGVyOjppbml0aWFsaXplKGNvbnN0IENvbnN0cmFpbnRzJiBjb25zdHJhaW50cykKIAogICAg
IG1faW5saW5lSXRlbVJ1bnMuY2xlYXIoKTsKICAgICBtX2NvbGxhcHNpYmxlQ29udGVudC5yZXNl
dCgpOwotICAgIG1faGFuZ2luZ0NvbnRlbnQucmVzZXQoKTsKICAgICBtX2xpbmVJc1Zpc3VhbGx5
RW1wdHlCZWZvcmVDb2xsYXBzaWJsZUNvbnRlbnQgPSB7IH07CiB9CiAKQEAgLTIxMCw3ICsyMzAs
NyBAQCBMaW5lQnVpbGRlcjo6UnVuTGlzdCBMaW5lQnVpbGRlcjo6Y2xvc2UoSXNMYXN0TGluZVdp
dGhJbmxpbmVDb250ZW50IGlzTGFzdExpbmVXaQogICAgIC8vIDIuIEpvaW4gdGV4dCBydW5zIHRv
Z2V0aGVyIHdoZW4gcG9zc2libGUgW2Zvb11bIF1bYmFyXSAtPiBbZm9vIGJhcl0uCiAgICAgLy8g
My4gQWxpZ24gbWVyZ2VkIHJ1bnMgYm90aCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHkuCiAg
ICAgcmVtb3ZlVHJhaWxpbmdDb2xsYXBzaWJsZUNvbnRlbnQoKTsKLSAgICBjb2xsZWN0SGFuZ2lu
Z0NvbnRlbnQoaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKKyAgICBhdXRvIGhhbmdpbmdD
b250ZW50ID0gY29sbGVjdEhhbmdpbmdDb250ZW50KGlzTGFzdExpbmVXaXRoSW5saW5lQ29udGVu
dCk7CiAgICAgUnVuTGlzdCBydW5MaXN0OwogICAgIHVuc2lnbmVkIHJ1bkluZGV4ID0gMDsKICAg
ICB3aGlsZSAocnVuSW5kZXggPCBtX2lubGluZUl0ZW1SdW5zLnNpemUoKSkgewpAQCAtMjM4LDEx
ICsyNTgsNjEgQEAgTGluZUJ1aWxkZXI6OlJ1bkxpc3QgTGluZUJ1aWxkZXI6OmNsb3NlKElzTGFz
dExpbmVXaXRoSW5saW5lQ29udGVudCBpc0xhc3RMaW5lV2kKICAgICAgICAgICAgIG1fbGluZUJv
eC5yZXNldERlc2NlbnQoKTsKICAgICAgICAgfQogICAgICAgICBhbGlnbkNvbnRlbnRWZXJ0aWNh
bGx5KHJ1bkxpc3QpOwotICAgICAgICBhbGlnbkhvcml6b250YWxseShydW5MaXN0LCBpc0xhc3RM
aW5lV2l0aElubGluZUNvbnRlbnQpOworICAgICAgICBhbGlnbkhvcml6b250YWxseShydW5MaXN0
LCBoYW5naW5nQ29udGVudCwgaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKICAgICB9CiAg
ICAgcmV0dXJuIHJ1bkxpc3Q7CiB9CiAKK3ZvaWQgTGluZUJ1aWxkZXI6OnJldmVydChjb25zdCBJ
bmxpbmVJdGVtJiByZXZlcnRUbykKK3sKKyAgICAvLyAxLiBSZW1vdmUgYW5kIHNocmluayB0aGUg
dHJhaWxpbmcgY29udGVudC4KKyAgICAvLyAyLiBSZWJ1aWxkIGNvbGxhcHNpYmxlIHRyYWlsaW5n
IHdoaXRlc3BhY2UgY29udGVudC4KKyAgICBBU1NFUlQoIW1faW5saW5lSXRlbVJ1bnMuaXNFbXB0
eSgpKTsKKyAgICBBU1NFUlQobV9pbmxpbmVJdGVtUnVucy5sYXN0KCkgIT0gcmV2ZXJ0VG8pOwor
ICAgIGF1dG8gcmV2ZXJ0ZWRXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGF1dG8g
aW5kZXggPSBtX2lubGluZUl0ZW1SdW5zLnNpemUoKSAtIDE7CisgICAgd2hpbGUgKGluZGV4ID49
IDAgJiYgbV9pbmxpbmVJdGVtUnVuc1tpbmRleF0gIT0gcmV2ZXJ0VG8pCisgICAgICAgIHJldmVy
dGVkV2lkdGggKz0gbV9pbmxpbmVJdGVtUnVuc1tpbmRleC0tXS5sb2dpY2FsV2lkdGgoKTsKKyAg
ICBtX2xpbmVCb3guc2hyaW5rSG9yaXpvbnRhbGx5KHJldmVydGVkV2lkdGgpOworICAgIG1faW5s
aW5lSXRlbVJ1bnMuc2hyaW5rKGluZGV4ICsgMSk7CisgICAgLy8gU2hvdWxkIG5ldmVyIG5lZWQg
dG8gY2xlYXIgdGhlIGxpbmUuCisgICAgQVNTRVJUKCFtX2lubGluZUl0ZW1SdW5zLmlzRW1wdHko
KSk7CisKKyAgICAvLyBJdCdzIGVhc2llciBqdXN0IHRvIHJlYnVpbGQgdHJhaWxpbmcgY29sbGFw
c2libGUgY29udGVudC4KKyAgICBtX2NvbGxhcHNpYmxlQ29udGVudC5yZXNldCgpOworICAgIG1f
bGluZUlzVmlzdWFsbHlFbXB0eUJlZm9yZUNvbGxhcHNpYmxlQ29udGVudCA9IGlzVmlzdWFsbHlF
bXB0eSgpOworICAgIC8vIEZpbmQgdGhlIGZpcnN0IGNvbGxhcHNpYmxlIHJ1bi4KKyAgICBPcHRp
b25hbDxzaXplX3Q+IGZpcnN0Q29sbGFwc2libGVSdW5JbmRleDsKKyAgICBmb3IgKGF1dG8gaW5k
ZXggPSBtX2lubGluZUl0ZW1SdW5zLnNpemUoKTsgaW5kZXgtLTspIHsKKyAgICAgICAgYXV0byYg
aW5saW5lSXRlbVJ1biA9IG1faW5saW5lSXRlbVJ1bnNbaW5kZXhdOworICAgICAgICBpZiAoaW5s
aW5lSXRlbVJ1bi5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5lSXRlbVJ1bi5pc0NvbnRhaW5l
ckVuZCgpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1dG8gaGFzQ29sbGFwc2li
bGVDb250ZW50ID0gaW5saW5lSXRlbVJ1bi5pc0NvbGxhcHNpYmxlV2hpdGVzcGFjZSgpIHx8IGlu
bGluZUl0ZW1SdW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCk7CisgICAgICAgIGlmICghaGFz
Q29sbGFwc2libGVDb250ZW50KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChpbmxp
bmVJdGVtUnVuLmlzQ29sbGFwc2libGVXaGl0ZXNwYWNlKCkpIHsKKyAgICAgICAgICAgIGZpcnN0
Q29sbGFwc2libGVSdW5JbmRleCA9IGluZGV4OworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKGlubGluZUl0ZW1SdW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5n
KCkpIHsKKyAgICAgICAgICAgIC8vIFdoaWxlIHRyYWlsaW5nIGxldHRlciBzcGFjaW5nIGlzIGNv
bnNpZGVyZWQgY29sbGFwc2libGUsIGl0IGlzIHN1cHBvc2VkIHRvIGJlIGxhc3Qgb25lIGluIHRo
ZSBsaXN0LgorICAgICAgICAgICAgZmlyc3RDb2xsYXBzaWJsZVJ1bkluZGV4ID0gaW5kZXg7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICAvLyBGb3J3YXJkLWFwcGVu
ZCBydW5zIHRvIG1fY29sbGFwc2libGVDb250ZW50LiAKKyAgICBpZiAoZmlyc3RDb2xsYXBzaWJs
ZVJ1bkluZGV4KSB7CisgICAgICAgIGZvciAoYXV0byBpbmRleCA9ICpmaXJzdENvbGxhcHNpYmxl
UnVuSW5kZXg7IGluZGV4IDwgbV9pbmxpbmVJdGVtUnVucy5zaXplKCk7ICsraW5kZXgpIHsKKyAg
ICAgICAgICAgIGF1dG8mIGlubGluZUl0ZW1SdW4gPSBtX2lubGluZUl0ZW1SdW5zW2luZGV4XTsK
KyAgICAgICAgICAgIGlmIChpbmxpbmVJdGVtUnVuLmlzQ29udGFpbmVyU3RhcnQoKSB8fCBpbmxp
bmVJdGVtUnVuLmlzQ29udGFpbmVyRW5kKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICBBU1NFUlQoaW5saW5lSXRlbVJ1bi5pc1RleHQoKSk7CisgICAgICAgICAgICBt
X2NvbGxhcHNpYmxlQ29udGVudC5hcHBlbmQoaW5kZXgpOworICAgICAgICB9CisgICAgfQorICAg
IC8vIENvbnNpZGVyIGFsdGVybmF0aXZlIHNvbHV0aW9ucyBpZiB0aGUgKGVkZ2UgY2FzZSlyZXZl
cnQgZ2V0cyBvdmVybHkgY29tcGxpY2F0ZWQuICAKK30KKwogdm9pZCBMaW5lQnVpbGRlcjo6YWxp
Z25Db250ZW50VmVydGljYWxseShSdW5MaXN0JiBydW5MaXN0KQogewogICAgIEFTU0VSVCghbV9p
c0ludHJpbnNpY1NpemluZyk7CkBAIC0zMzAsMTAgKzQwMCwxMCBAQCB2b2lkIExpbmVCdWlsZGVy
OjpqdXN0aWZ5UnVucyhSdW5MaXN0JiBydW5MaXN0KSBjb25zdAogICAgIH0KIH0KIAotdm9pZCBM
aW5lQnVpbGRlcjo6YWxpZ25Ib3Jpem9udGFsbHkoUnVuTGlzdCYgcnVuTGlzdCwgSXNMYXN0TGlu
ZVdpdGhJbmxpbmVDb250ZW50IGxhc3RMaW5lKQordm9pZCBMaW5lQnVpbGRlcjo6YWxpZ25Ib3Jp
em9udGFsbHkoUnVuTGlzdCYgcnVuTGlzdCwgY29uc3QgSGFuZ2luZ0NvbnRlbnQmIGhhbmdpbmdD
b250ZW50LCBJc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQgbGFzdExpbmUpCiB7CiAgICAgQVNT
RVJUKCFtX2lzSW50cmluc2ljU2l6aW5nKTsKLSAgICBhdXRvIGF2YWlsYWJsZVdpZHRoID0gdGhp
cy0+YXZhaWxhYmxlV2lkdGgoKSArIG1faGFuZ2luZ0NvbnRlbnQud2lkdGgoKTsKKyAgICBhdXRv
IGF2YWlsYWJsZVdpZHRoID0gdGhpcy0+YXZhaWxhYmxlV2lkdGgoKSArIGhhbmdpbmdDb250ZW50
LndpZHRoKCk7CiAgICAgaWYgKHJ1bkxpc3QuaXNFbXB0eSgpIHx8IGF2YWlsYWJsZVdpZHRoIDw9
IDApCiAgICAgICAgIHJldHVybjsKIApAQCAtNDA5LDE3ICs0NzksMTggQEAgdm9pZCBMaW5lQnVp
bGRlcjo6cmVtb3ZlVHJhaWxpbmdDb2xsYXBzaWJsZUNvbnRlbnQoKQogICAgIG1fbGluZUlzVmlz
dWFsbHlFbXB0eUJlZm9yZUNvbGxhcHNpYmxlQ29udGVudCA9IHsgfTsKIH0KIAotdm9pZCBMaW5l
QnVpbGRlcjo6Y29sbGVjdEhhbmdpbmdDb250ZW50KElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVu
dCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpCitIYW5naW5nQ29udGVudCBMaW5lQnVpbGRl
cjo6Y29sbGVjdEhhbmdpbmdDb250ZW50KElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCBpc0xh
c3RMaW5lV2l0aElubGluZUNvbnRlbnQpCiB7CisgICAgYXV0byBoYW5naW5nQ29udGVudCA9IEhh
bmdpbmdDb250ZW50IHsgfTsKICAgICAvLyBDYW4ndCBzZXR1cCBoYW5naW5nIGNvbnRlbnQgd2l0
aCByZW1vdmFibGUgdHJhaWxpbmcgd2hpdHNwYWNlcy4KICAgICBBU1NFUlQobV9jb2xsYXBzaWJs
ZUNvbnRlbnQuaXNFbXB0eSgpKTsKICAgICBpZiAoaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50
ID09IElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudDo6WWVzKQotICAgICAgICBtX2hhbmdpbmdD
b250ZW50LnNldElzQ29uZGl0aW9uYWwoKTsKKyAgICAgICAgaGFuZ2luZ0NvbnRlbnQuc2V0SXND
b25kaXRpb25hbCgpOwogICAgIGZvciAoYXV0byYgaW5saW5lSXRlbVJ1biA6IFdURjo6bWFrZVJl
dmVyc2VkUmFuZ2UobV9pbmxpbmVJdGVtUnVucykpIHsKICAgICAgICAgaWYgKGlubGluZUl0ZW1S
dW4uaXNDb250YWluZXJTdGFydCgpIHx8IGlubGluZUl0ZW1SdW4uaXNDb250YWluZXJFbmQoKSkK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAoaW5saW5lSXRlbVJ1bi5pc0xpbmVC
cmVhaygpKSB7Ci0gICAgICAgICAgICBtX2hhbmdpbmdDb250ZW50LnNldElzQ29uZGl0aW9uYWwo
KTsKKyAgICAgICAgICAgIGhhbmdpbmdDb250ZW50LnNldElzQ29uZGl0aW9uYWwoKTsKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmICghaW5saW5lSXRlbVJ1bi5p
c1RleHQoKSB8fCAhaW5saW5lSXRlbVJ1bi5pc1doaXRlc3BhY2UoKSB8fCBpbmxpbmVJdGVtUnVu
LmlzQ29sbGFwc2libGUoKSkKQEAgLTQyOCw4ICs0OTksOSBAQCB2b2lkIExpbmVCdWlsZGVyOjpj
b2xsZWN0SGFuZ2luZ0NvbnRlbnQoSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50IGlzTGFzdExp
bmVXaQogICAgICAgICBpZiAoaW5saW5lSXRlbVJ1bi5zdHlsZSgpLndoaXRlU3BhY2UoKSAhPSBX
aGl0ZVNwYWNlOjpQcmVXcmFwKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIC8vIFRoaXMg
aXMgZWl0aGVyIGEgbm9ybWFsIG9yIGNvbmRpdGlvbmFsbHkgaGFuZ2luZyB0cmFpbGluZyB3aGl0
ZXNwYWNlLgotICAgICAgICBtX2hhbmdpbmdDb250ZW50LmV4cGFuZChpbmxpbmVJdGVtUnVuLmxv
Z2ljYWxXaWR0aCgpKTsKKyAgICAgICAgaGFuZ2luZ0NvbnRlbnQuZXhwYW5kKGlubGluZUl0ZW1S
dW4ubG9naWNhbFdpZHRoKCkpOwogICAgIH0KKyAgICByZXR1cm4gaGFuZ2luZ0NvbnRlbnQ7CiB9
CiAKIHZvaWQgTGluZUJ1aWxkZXI6Om1vdmVMb2dpY2FsTGVmdChJbmxpbmVMYXlvdXRVbml0IGRl
bHRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXggNTA1ODQwOGRjOGU3MWVlYmZkMzdmMDY0ZDFj
NWIzMjQ3MGQ0N2E0Ni4uMGQyNGY0ZGIyZDczYzhjMjRiZmRhODdmYjQxZDc2Nzc3NzA5NjMxYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lQnVpbGRlci5oCkBAIC0zNSw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBuYW1lc3BhY2UgTGF5b3V0IHsKIAorc3RydWN0IEhhbmdpbmdDb250ZW50OwogY2xhc3Mg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7CiAKIGNsYXNzIExpbmVCdWlsZGVyIHsKQEAgLTExNCw2
ICsxMTUsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUnVuTGlzdCA9IFZlY3RvcjxSdW4sIDUwPjsK
ICAgICBlbnVtIGNsYXNzIElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCB7IE5vLCBZZXMgfTsK
ICAgICBSdW5MaXN0IGNsb3NlKElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCA9IElzTGFzdExp
bmVXaXRoSW5saW5lQ29udGVudDo6Tm8pOworICAgIHZvaWQgcmV2ZXJ0KGNvbnN0IElubGluZUl0
ZW0mIHJldmVydFRvKTsKIAogICAgIHN0YXRpYyBEaXNwbGF5OjpMaW5lQm94OjpCYXNlbGluZSBo
YWxmTGVhZGluZ01ldHJpY3MoY29uc3QgRm9udE1ldHJpY3MmLCBJbmxpbmVMYXlvdXRVbml0IGxp
bmVMb2dpY2FsSGVpZ2h0KTsKIApAQCAtMTQwLDggKzE0Miw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBhcHBlbmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYpOwogCiAgICAgdm9pZCByZW1vdmVU
cmFpbGluZ0NvbGxhcHNpYmxlQ29udGVudCgpOwotICAgIHZvaWQgY29sbGVjdEhhbmdpbmdDb250
ZW50KElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCk7Ci0gICAgdm9pZCBhbGlnbkhvcml6b250
YWxseShSdW5MaXN0JiwgSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KTsKKyAgICBIYW5naW5n
Q29udGVudCBjb2xsZWN0SGFuZ2luZ0NvbnRlbnQoSXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50
KTsKKyAgICB2b2lkIGFsaWduSG9yaXpvbnRhbGx5KFJ1bkxpc3QmLCBjb25zdCBIYW5naW5nQ29u
dGVudCYsIElzTGFzdExpbmVXaXRoSW5saW5lQ29udGVudCk7CiAgICAgdm9pZCBhbGlnbkNvbnRl
bnRWZXJ0aWNhbGx5KFJ1bkxpc3QmKTsKIAogICAgIHZvaWQgYWRqdXN0QmFzZWxpbmVBbmRMaW5l
SGVpZ2h0KGNvbnN0IFJ1biYpOwpAQCAtMTkyLDYgKzE5NCw5IEBAIHByaXZhdGU6CiAKICAgICAg
ICAgYm9vbCBoYXNFeHBhbnNpb25PcHBvcnR1bml0eSgpIGNvbnN0IHsgcmV0dXJuIGlzV2hpdGVz
cGFjZSgpICYmICFpc0NvbGxhcHNlZFRvWmVyb0FkdmFuY2VXaWR0aCgpOyB9CiAKKyAgICAgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IElubGluZUl0ZW0mIG90aGVyKSBjb25zdCB7IHJldHVybiAm
b3RoZXIgPT0gJm1faW5saW5lSXRlbTsgfQorICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3Qg
SW5saW5lSXRlbSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CisK
ICAgICBwcml2YXRlOgogICAgICAgICBjb25zdCBJbmxpbmVJdGVtJiBtX2lubGluZUl0ZW07CiAg
ICAgICAgIElubGluZUxheW91dFVuaXQgbV9sb2dpY2FsTGVmdCB7IDAgfTsKQEAgLTIyNCwyNSAr
MjI5LDkgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtX2xhc3RSdW5Jc0Z1bGx5Q29sbGFwc2li
bGUgeyBmYWxzZSB9OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgSGFuZ2luZ0NvbnRlbnQgewotICAg
IHB1YmxpYzoKLSAgICAgICAgdm9pZCByZXNldCgpOwotCi0gICAgICAgIElubGluZUxheW91dFVu
aXQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9Ci0gICAgICAgIGJvb2wgaXNDb25k
aXRpb25hbCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb25kaXRpb25hbDsgfQotCi0gICAgICAgIHZv
aWQgc2V0SXNDb25kaXRpb25hbCgpIHsgbV9pc0NvbmRpdGlvbmFsID0gdHJ1ZTsgfQotICAgICAg
ICB2b2lkIGV4cGFuZChJbmxpbmVMYXlvdXRVbml0IHdpZHRoKSB7IG1fd2lkdGggKz0gd2lkdGg7
IH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIGJvb2wgbV9pc0NvbmRpdGlvbmFsIHsgZmFsc2Ug
fTsKLSAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBtX3dpZHRoIHsgMCB9OwotICAgIH07Ci0KICAg
ICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDsKICAgICBJbmxpbmVJdGVtUnVuTGlzdCBtX2lubGluZUl0ZW1SdW5zOwogICAgIENvbGxhcHNp
YmxlQ29udGVudCBtX2NvbGxhcHNpYmxlQ29udGVudDsKLSAgICBIYW5naW5nQ29udGVudCBtX2hh
bmdpbmdDb250ZW50OwogICAgIE9wdGlvbmFsPERpc3BsYXk6OkxpbmVCb3g6OkJhc2VsaW5lPiBt
X2luaXRpYWxTdHJ1dDsKICAgICBJbmxpbmVMYXlvdXRVbml0IG1fbGluZUxvZ2ljYWxXaWR0aCB7
IDAgfTsKICAgICBPcHRpb25hbDxUZXh0QWxpZ25Nb2RlPiBtX2hvcml6b250YWxBbGlnbm1lbnQ7
CkBAIC0yNTksMTIgKzI0OCw2IEBAIGlubGluZSB2b2lkIExpbmVCdWlsZGVyOjpDb2xsYXBzaWJs
ZUNvbnRlbnQ6OnJlc2V0KCkKICAgICBtX2xhc3RSdW5Jc0Z1bGx5Q29sbGFwc2libGUgPSBmYWxz
ZTsKIH0KIAotaW5saW5lIHZvaWQgTGluZUJ1aWxkZXI6OkhhbmdpbmdDb250ZW50OjpyZXNldCgp
Ci17Ci0gICAgbV9pc0NvbmRpdGlvbmFsID0gZmFsc2U7Ci0gICAgbV93aWR0aCA9ICAwOwotfQot
CiB9CiB9CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>