<?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>191954</bug_id>
          
          <creation_ts>2018-11-25 09:38:49 -0800</creation_ts>
          <short_desc>[LFC] Remove PointInContainingBlock and PositionInContainingBlock</short_desc>
          <delta_ts>2018-11-25 13:36:35 -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>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>1481388</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-25 09:38:49 -0800</bug_when>
    <thetext>and use Point and Position instead. -points and positions are by default in the coordinate system of the containing block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481389</commentid>
    <comment_count>1</comment_count>
      <attachid>355597</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-11-25 09:40:39 -0800</bug_when>
    <thetext>Created attachment 355597
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481409</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-25 13:35:25 -0800</bug_when>
    <thetext>Committed r238482: &lt;https://trac.webkit.org/changeset/238482&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481410</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-25 13:36:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/46233030&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355597</attachid>
            <date>2018-11-25 09:40:39 -0800</date>
            <delta_ts>2018-11-25 10:04:55 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>Patch.txt</filename>
            <type>text/plain</type>
            <size>18375</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMzk1NDFlZTEwOS4uYjBkYTYzOTViYjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOC0xMS0yNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgor
CisgICAgICAgIFtMRkNdIFJlbW92ZSBQb2ludEluQ29udGFpbmluZ0Jsb2NrIGFuZCBQb3NpdGlv
bkluQ29udGFpbmluZ0Jsb2NrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTE5NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVc2UgUG9pbnQgYW5kIFBvc2l0aW9uIGluc3RlYWQuIFBvaW50cyBhbmQgcG9z
aXRpb25zIGFyZSBieSBkZWZhdWx0IGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgY29vcmRpbmF0
ZSBzeXN0ZW0uCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5n
Q29udGV4dFJvb3QpOgorICAgICAgICAqIGxheW91dC9MYXlvdXRVbml0cy5oOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpQb3NpdGlvbjo6b3BlcmF0b3IgTGF5b3V0VW5pdCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Om9wZXJhdG9yPCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIGxheW91dC9mbG9hdHMvRmxvYXRBdm9pZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRBdm9pZGVyOjpGbG9hdEF2b2lk
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdEF2b2lkZXI6OnNldEhvcml6b250
YWxDb25zdHJhaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0QXZvaWRlcjo6
aG9yaXpvbnRhbFBvc2l0aW9uQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
RmxvYXRBdm9pZGVyOjppbml0aWFsSG9yaXpvbnRhbFBvc2l0aW9uIGNvbnN0KToKKyAgICAgICAg
KiBsYXlvdXQvZmxvYXRzL0Zsb2F0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
RmxvYXRCb3g6Omhvcml6b250YWxQb3NpdGlvbkNhbmRpZGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkZsb2F0Qm94Ojp2ZXJ0aWNhbFBvc2l0aW9uQ2FuZGlkYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6RmxvYXRCb3g6OmluaXRpYWxWZXJ0aWNhbFBvc2l0aW9uIGNvbnN0
KToKKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JGbG9hdCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25G
b3JGbG9hdEF2b2lkaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRp
bmdDb250ZXh0Ojp2ZXJ0aWNhbFBvc2l0aW9uV2l0aENsZWFyYW5jZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6ZmxvYXRpbmdQb3NpdGlvbiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nUGFpcjo6aG9yaXpvbnRhbENv
bnN0cmFpbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdQYWly
Ojpib3R0b20gY29uc3QpOgorICAgICAgICAqIGxheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0
Lmg6CisgICAgICAgICogbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdTdGF0ZTo6Y29uc3RyYWludHMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ1N0YXRlOjpib3R0b20gY29uc3QpOgorICAg
ICAgICAqIGxheW91dC9mbG9hdHMvRmxvYXRpbmdTdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpGbG9hdGluZ1N0YXRlOjpGbG9hdEl0ZW06OmJvdHRvbSBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6aW5pdGlh
bGl6ZU5ld0xpbmUgY29uc3QpOgorCiAyMDE4LTExLTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gUmVuYW1lIExheW91dDo6UG9zaXRpb24gdG8gTGF5
b3V0OjpQb2ludApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDNkYTQyNTMwMGI0Li41YzJiYTE5YjM1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApA
QCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyBMYXlvdXRVbml0IGNvbnRlbnRIZWlnaHRGb3JGb3Jt
YXR0aW5nQ29udGV4dFJvb3QoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91CiAKICAgICBhdXRvIGZs
b2F0c0JvdHRvbSA9IGxheW91dFN0YXRlLmVzdGFibGlzaGVkRm9ybWF0dGluZ1N0YXRlKCpmb3Jt
YXR0aW5nQ29udGV4dFJvb3QpLmZsb2F0aW5nU3RhdGUoKS5ib3R0b20oKmZvcm1hdHRpbmdDb250
ZXh0Um9vdCk7CiAgICAgaWYgKGZsb2F0c0JvdHRvbSkKLSAgICAgICAgYm90dG9tID0gc3RkOjpt
YXgoKmZsb2F0c0JvdHRvbSwgYm90dG9tKTsKKyAgICAgICAgYm90dG9tID0gc3RkOjptYXg8TGF5
b3V0VW5pdD4oKmZsb2F0c0JvdHRvbSwgYm90dG9tKTsKIAogICAgIGF1dG8gY29tcHV0ZWRIZWln
aHQgPSBib3R0b20gLSB0b3A7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0
TGF5b3V0LCBzdHJlYW0gPDwgIltIZWlnaHRdIC0+IGNvbnRlbnQgaGVpZ2h0IGZvciBmb3JtYXR0
aW5nIGNvbnRleHQgcm9vdCAtPiBoZWlnaHQoIiA8PCBjb21wdXRlZEhlaWdodCA8PCAicHgpIGxh
eW91dEJveCgiPDwgJmxheW91dEJveCA8PCAiKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0xheW91dFVuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0VW5p
dHMuaAppbmRleCBkYWZmMGZlNTYyMC4uMmQwZDhiZTIxZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9MYXlvdXRVbml0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9M
YXlvdXRVbml0cy5oCkBAIC0zNCw4ICszNCwyMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFt
ZXNwYWNlIExheW91dCB7CiAKK3N0cnVjdCBQb3NpdGlvbiB7CisgICAgb3BlcmF0b3IgTGF5b3V0
VW5pdCgpIGNvbnN0IHsgcmV0dXJuIHZhbHVlOyB9CisgICAgTGF5b3V0VW5pdCB2YWx1ZTsKK307
CisKK2lubGluZSBib29sIG9wZXJhdG9yPChjb25zdCBQb3NpdGlvbiYgYSwgY29uc3QgUG9zaXRp
b24mIGIpCit7CisgICAgcmV0dXJuIGEudmFsdWUgPCBiLnZhbHVlOworfQorCitpbmxpbmUgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFBvc2l0aW9uJiBhLCBjb25zdCBQb3NpdGlvbiYgYikKK3sKKyAg
ICByZXR1cm4gYS52YWx1ZSA9PSBiLnZhbHVlOworfQorCiBzdHJ1Y3QgUG9pbnQgewotICAgIC8v
IEZJWE1FOiBVc2UgTGF5b3V0VW5pdDxIb3Jpem9udGFsPiB0byBhdm9pZCB0b3AvbGVmdCB2cy4g
eC95IGNvbmZ1c2lvbi4KKyAgICAvLyBGSVhNRTogVXNlIFBvc2l0aW9uPEhvcml6b250YWw+LCBQ
b3NpdGlvbjxWZXJ0aWNhbD4gdG8gYXZvaWQgdG9wL2xlZnQgdnMuIHgveSBjb25mdXNpb24uCiAg
ICAgTGF5b3V0VW5pdCB4OyAvLyBsZWZ0CiAgICAgTGF5b3V0VW5pdCB5OyAvLyB0b3AKIApAQCAt
NDgsOSArNjMsNyBAQCBzdHJ1Y3QgUG9pbnQgewogCiAvLyBGSVhNRTogV3JhcCB0aGVzZSBpbnRv
IHN0cnVjdHMuCiB1c2luZyBQb2ludEluQ29udGV4dFJvb3QgPSBQb2ludDsKLXVzaW5nIFBvaW50
SW5Db250YWluaW5nQmxvY2sgPSBQb2ludDsKLXVzaW5nIFBvc2l0aW9uSW5Db250ZXh0Um9vdCA9
IExheW91dFVuaXQ7Ci11c2luZyBQb3NpdGlvbkluQ29udGFpbmluZ0Jsb2NrID0gTGF5b3V0VW5p
dDsKK3VzaW5nIFBvc2l0aW9uSW5Db250ZXh0Um9vdCA9IFBvc2l0aW9uOwogCiBpbmxpbmUgUG9p
bnQ6OlBvaW50KExheW91dFBvaW50IHBvaW50KQogICAgIDogeChwb2ludC54KCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0QXZvaWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0QXZvaWRlci5jcHAKaW5kZXggMDdmMjBlYzE3
MmMuLmIxZTVkN2I0MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRz
L0Zsb2F0QXZvaWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9h
dEF2b2lkZXIuY3BwCkBAIC00Myw3ICs0Myw3IEBAIEZsb2F0QXZvaWRlcjo6RmxvYXRBdm9pZGVy
KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBjb25zdCBGbG9hdGluZ1N0YXRlJiBmbG9hdGluZ1N0CiAg
ICAgLCBtX2Zsb2F0aW5nU3RhdGUoZmxvYXRpbmdTdGF0ZSkKICAgICAsIG1fYWJzb2x1dGVEaXNw
bGF5Qm94KEZvcm1hdHRpbmdDb250ZXh0OjptYXBCb3hUb0FuY2VzdG9yKGxheW91dFN0YXRlLCBs
YXlvdXRCb3gsIGRvd25jYXN0PENvbnRhaW5lcj4oZmxvYXRpbmdTdGF0ZS5yb290KCkpKSkKICAg
ICAsIG1fY29udGFpbmluZ0Jsb2NrQWJzb2x1dGVEaXNwbGF5Qm94KGxheW91dEJveC5jb250YWlu
aW5nQmxvY2soKSA9PSAmZmxvYXRpbmdTdGF0ZS5yb290KCkgPyBEaXNwbGF5OjpCb3gobGF5b3V0
U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygp
KSkgOiBGb3JtYXR0aW5nQ29udGV4dDo6bWFwQm94VG9BbmNlc3RvcihsYXlvdXRTdGF0ZSwgKmxh
eW91dEJveC5jb250YWluaW5nQmxvY2soKSwgZG93bmNhc3Q8Q29udGFpbmVyPihmbG9hdGluZ1N0
YXRlLnJvb3QoKSkpKQotICAgICwgbV9pbml0aWFsVmVydGljYWxQb3NpdGlvbihtX2Fic29sdXRl
RGlzcGxheUJveC50b3AoKSkKKyAgICAsIG1faW5pdGlhbFZlcnRpY2FsUG9zaXRpb24oeyBtX2Fi
c29sdXRlRGlzcGxheUJveC50b3AoKSB9KQogewogICAgIEFTU0VSVChtX2xheW91dEJveC0+ZXN0
YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkpOwogfQpAQCAtNjEsMTEgKzYxLDExIEBA
IHZvaWQgRmxvYXRBdm9pZGVyOjpzZXRIb3Jpem9udGFsQ29uc3RyYWludHMoSG9yaXpvbnRhbENv
bnN0cmFpbnRzIGhvcml6b250YWxDb25zCiAgICAgICAgIC8vIENvbXB1dGUgdGhlIGhvcml6b250
YWwgcG9zaXRpb24gZm9yIHRoZSBuZXcgZmxvYXRpbmcgYnkgdGFraW5nIGJvdGggdGhlIGNvbnRp
bmluZyBibG9jayBhbmQgdGhlIGN1cnJlbnQgbGVmdC9yaWdodCBmbG9hdHMgaW50byBhY2NvdW50
LgogICAgICAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hMZWZ0ID0gbV9jb250YWlu
aW5nQmxvY2tBYnNvbHV0ZURpc3BsYXlCb3gubGVmdCgpICsgbV9jb250YWluaW5nQmxvY2tBYnNv
bHV0ZURpc3BsYXlCb3guY29udGVudEJveExlZnQoKTsKICAgICAgICAgaWYgKGlzTGVmdEFsaWdu
ZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om1heChjb250YWluaW5nQmxvY2tDb250ZW50
Qm94TGVmdCArIG1hcmdpbkxlZnQoKSwgbGVmdCk7CisgICAgICAgICAgICByZXR1cm4gc3RkOjpt
YXg8UG9zaXRpb25JbkNvbnRleHRSb290Pih7IGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hMZWZ0
ICsgbWFyZ2luTGVmdCgpIH0sIGxlZnQpOwogCiAgICAgICAgIC8vIE1ha2Ugc3VyZSBpdCBkb2Vz
IG5vdCBvdmVyZmxvdyB0aGUgY29udGFpbmluZyBibG9jayBvbiB0aGUgcmlnaHQuCiAgICAgICAg
IGF1dG8gY29udGFpbmluZ0Jsb2NrQ29udGVudEJveFJpZ2h0ID0gY29udGFpbmluZ0Jsb2NrQ29u
dGVudEJveExlZnQgKyBtX2NvbnRhaW5pbmdCbG9ja0Fic29sdXRlRGlzcGxheUJveC5jb250ZW50
Qm94V2lkdGgoKTsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWluKGxlZnQsIGNvbnRhaW5pbmdCbG9j
a0NvbnRlbnRCb3hSaWdodCAtIG1hcmdpbkJveFdpZHRoKCkgKyBtYXJnaW5MZWZ0KCkpOworICAg
ICAgICByZXR1cm4gc3RkOjptaW48UG9zaXRpb25JbkNvbnRleHRSb290PihsZWZ0LCB7IGNvbnRh
aW5pbmdCbG9ja0NvbnRlbnRCb3hSaWdodCAtIG1hcmdpbkJveFdpZHRoKCkgKyBtYXJnaW5MZWZ0
KCkgfSk7CiAgICAgfTsKIAogICAgIGF1dG8gcG9zaXRpb25DYW5kaWRhdGUgPSBob3Jpem9udGFs
UG9zaXRpb25DYW5kaWRhdGUoaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKQEAgLTc5LDcgKzc5LDcg
QEAgdm9pZCBGbG9hdEF2b2lkZXI6OnNldFZlcnRpY2FsQ29uc3RyYWludChQb3NpdGlvbkluQ29u
dGV4dFJvb3QgdmVydGljYWxDb25zdHJhaW4KIAogUG9zaXRpb25JbkNvbnRleHRSb290IEZsb2F0
QXZvaWRlcjo6aG9yaXpvbnRhbFBvc2l0aW9uQ2FuZGlkYXRlKEhvcml6b250YWxDb25zdHJhaW50
cyBob3Jpem9udGFsQ29uc3RyYWludHMpCiB7Ci0gICAgcmV0dXJuIGlzTGVmdEFsaWduZWQoKSA/
ICpob3Jpem9udGFsQ29uc3RyYWludHMubGVmdCA6ICpob3Jpem9udGFsQ29uc3RyYWludHMucmln
aHQgLSByZWN0KCkud2lkdGgoKTsKKyAgICByZXR1cm4geyBpc0xlZnRBbGlnbmVkKCkgPyAqaG9y
aXpvbnRhbENvbnN0cmFpbnRzLmxlZnQgOiAqaG9yaXpvbnRhbENvbnN0cmFpbnRzLnJpZ2h0IC0g
cmVjdCgpLndpZHRoKCkgfTsKIH0KIAogUG9zaXRpb25JbkNvbnRleHRSb290IEZsb2F0QXZvaWRl
cjo6dmVydGljYWxQb3NpdGlvbkNhbmRpZGF0ZShQb3NpdGlvbkluQ29udGV4dFJvb3QgdmVydGlj
YWxDb25zdHJhaW50KQpAQCAtMTAxLDcgKzEwMSw3IEBAIFBvc2l0aW9uSW5Db250ZXh0Um9vdCBG
bG9hdEF2b2lkZXI6OmluaXRpYWxIb3Jpem9udGFsUG9zaXRpb24oKSBjb25zdAogICAgIGF1dG8g
bGVmdCA9IGlzTGVmdEFsaWduZWQoKSA/IGNvbnRhaW5pbmdCbG9ja0NvbnRlbnRCb3hMZWZ0IDog
Y29udGFpbmluZ0Jsb2NrQ29udGVudEJveFJpZ2h0IC0gbWFyZ2luQm94V2lkdGgoKTsKICAgICBs
ZWZ0ICs9IG1hcmdpbkxlZnQoKTsKIAotICAgIHJldHVybiBsZWZ0OworICAgIHJldHVybiB7IGxl
ZnQgfTsKIH0KIAogYm9vbCBGbG9hdEF2b2lkZXI6Om92ZXJmbG93c0NvbnRhaW5pbmdCbG9jaygp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0Qm94
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRCb3guY3BwCmluZGV4IDY5
ZGQwMTgxY2MyLi40NWMyYTNhMWQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zsb2F0cy9GbG9hdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9G
bG9hdEJveC5jcHAKQEAgLTUxLDEyICs1MSwxMiBAQCBQb3NpdGlvbkluQ29udGV4dFJvb3QgRmxv
YXRCb3g6Omhvcml6b250YWxQb3NpdGlvbkNhbmRpZGF0ZShIb3Jpem9udGFsQ29uc3RyYWludAog
ICAgIGF1dG8gcG9zaXRpb25DYW5kaWRhdGUgPSBpc0xlZnRBbGlnbmVkKCkgPyAqaG9yaXpvbnRh
bENvbnN0cmFpbnRzLmxlZnQgOiAqaG9yaXpvbnRhbENvbnN0cmFpbnRzLnJpZ2h0IC0gcmVjdCgp
LndpZHRoKCk7CiAgICAgcG9zaXRpb25DYW5kaWRhdGUgKz0gbWFyZ2luTGVmdCgpOwogCi0gICAg
cmV0dXJuIHBvc2l0aW9uQ2FuZGlkYXRlOworICAgIHJldHVybiB7IHBvc2l0aW9uQ2FuZGlkYXRl
IH07CiB9CiAKIFBvc2l0aW9uSW5Db250ZXh0Um9vdCBGbG9hdEJveDo6dmVydGljYWxQb3NpdGlv
bkNhbmRpZGF0ZShQb3NpdGlvbkluQ29udGV4dFJvb3QgdmVydGljYWxDb25zdHJhaW50KQogewot
ICAgIHJldHVybiB2ZXJ0aWNhbENvbnN0cmFpbnQgKyBtYXJnaW5Ub3AoKTsKKyAgICByZXR1cm4g
eyB2ZXJ0aWNhbENvbnN0cmFpbnQgKyBtYXJnaW5Ub3AoKSB9OwogfQogCiBQb3NpdGlvbkluQ29u
dGV4dFJvb3QgRmxvYXRCb3g6OmluaXRpYWxWZXJ0aWNhbFBvc2l0aW9uKCkgY29uc3QKQEAgLTY4
LDcgKzY4LDcgQEAgUG9zaXRpb25JbkNvbnRleHRSb290IEZsb2F0Qm94Ojppbml0aWFsVmVydGlj
YWxQb3NpdGlvbigpIGNvbnN0CiAgICAgICAgIHRvcCA9IHN0ZDo6bWF4KHRvcCwgbGFzdEZsb2F0
LT5yZWN0V2l0aE1hcmdpbigpLnRvcCgpKTsKICAgICB0b3AgKz0gbWFyZ2luVG9wKCk7CiAKLSAg
ICByZXR1cm4gdG9wOworICAgIHJldHVybiB7IHRvcCB9OwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5jcHAKaW5kZXggOTA0N2ZlMGY3
ODUuLjQ4ZTI3ZTI1YmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRz
L0Zsb2F0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9G
bG9hdGluZ0NvbnRleHQuY3BwCkBAIC0xMTYsMjEgKzExNiwyMSBAQCBGbG9hdGluZ0NvbnRleHQ6
OkZsb2F0aW5nQ29udGV4dChGbG9hdGluZ1N0YXRlJiBmbG9hdGluZ1N0YXRlKQogewogfQogCi1Q
b2ludEluQ29udGFpbmluZ0Jsb2NrIEZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JGbG9hdChj
b25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKK1BvaW50IEZsb2F0aW5nQ29udGV4dDo6cG9zaXRp
b25Gb3JGbG9hdChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKIHsKICAgICBBU1NFUlQobGF5
b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpOwogCiAgICAgaWYgKG1fZmxvYXRpbmdTdGF0
ZS5pc0VtcHR5KCkpIHsKICAgICAgICAgYXV0byYgZGlzcGxheUJveCA9IGxheW91dFN0YXRlKCku
ZGlzcGxheUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwogCi0gICAgICAgIGF1dG8gYWxpZ25X
aXRoQ29udGFpbmluZ0Jsb2NrID0gWyZdKCkgLT4gUG9zaXRpb25JbkNvbnRhaW5pbmdCbG9jayB7
CisgICAgICAgIGF1dG8gYWxpZ25XaXRoQ29udGFpbmluZ0Jsb2NrID0gWyZdKCkgLT4gUG9zaXRp
b24gewogICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZmxvYXRpbmcgdG8gYWxpZ24gd2l0
aCwgcHVzaCB0aGUgYm94IHRvIHRoZSBsZWZ0L3JpZ2h0IGVkZ2Ugb2YgaXRzIGNvbnRhaW5pbmcg
YmxvY2sncyBjb250ZW50IGJveC4KICAgICAgICAgICAgIGF1dG8mIGNvbnRhaW5pbmdCbG9ja0Rp
c3BsYXlCb3ggPSBsYXlvdXRTdGF0ZSgpLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmxheW91dEJv
eC5jb250YWluaW5nQmxvY2soKSk7CiAKICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNMZWZ0
RmxvYXRpbmdQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdC
bG9ja0Rpc3BsYXlCb3guY29udGVudEJveExlZnQoKSArIGRpc3BsYXlCb3gubWFyZ2luTGVmdCgp
OworICAgICAgICAgICAgICAgIHJldHVybiBQb3NpdGlvbiB7IGNvbnRhaW5pbmdCbG9ja0Rpc3Bs
YXlCb3guY29udGVudEJveExlZnQoKSArIGRpc3BsYXlCb3gubWFyZ2luTGVmdCgpIH07CiAKLSAg
ICAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2tEaXNwbGF5Qm94LmNvbnRlbnRCb3hSaWdo
dCgpIC0gZGlzcGxheUJveC5tYXJnaW5SaWdodCgpIC0gZGlzcGxheUJveC53aWR0aCgpOworICAg
ICAgICAgICAgcmV0dXJuIFBvc2l0aW9uIHsgY29udGFpbmluZ0Jsb2NrRGlzcGxheUJveC5jb250
ZW50Qm94UmlnaHQoKSAtIGRpc3BsYXlCb3gubWFyZ2luUmlnaHQoKSAtIGRpc3BsYXlCb3gud2lk
dGgoKSB9OwogICAgICAgICB9OwogCiAgICAgICAgIC8vIE5vIGZsb2F0IGJveCBvbiB0aGUgY29u
dGV4dCB5ZXQgLT4gYWxpZ24gaXQgd2l0aCB0aGUgY29udGFpbmluZyBibG9jaydzIGxlZnQvcmln
aHQgZWRnZS4KQEAgLTE0Myw3ICsxNDMsNyBAQCBQb2ludEluQ29udGFpbmluZ0Jsb2NrIEZsb2F0
aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JGbG9hdChjb25zdCBCb3gmIGxheW91dEJveCkgYwogICAg
IHJldHVybiBmbG9hdEJveC5yZWN0SW5Db250YWluaW5nQmxvY2soKS50b3BMZWZ0KCk7CiB9CiAK
LXN0ZDo6b3B0aW9uYWw8UG9pbnRJbkNvbnRhaW5pbmdCbG9jaz4gRmxvYXRpbmdDb250ZXh0Ojpw
b3NpdGlvbkZvckZsb2F0QXZvaWRpbmcoY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CitzdGQ6
Om9wdGlvbmFsPFBvaW50PiBGbG9hdGluZ0NvbnRleHQ6OnBvc2l0aW9uRm9yRmxvYXRBdm9pZGlu
Zyhjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmVz
dGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgpKTsKICAgICBBU1NFUlQoIWxheW91dEJv
eC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKTsKQEAgLTE1Nyw3ICsxNTcsNyBAQCBzdGQ6Om9wdGlv
bmFsPFBvaW50SW5Db250YWluaW5nQmxvY2s+IEZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JG
bG9hdEF2b2lkaW5nKAogICAgIHJldHVybiB7IGZsb2F0QXZvaWRlci5yZWN0SW5Db250YWluaW5n
QmxvY2soKS50b3BMZWZ0KCkgfTsKIH0KIAotc3RkOjpvcHRpb25hbDxQb3NpdGlvbkluQ29udGFp
bmluZ0Jsb2NrPiBGbG9hdGluZ0NvbnRleHQ6OnZlcnRpY2FsUG9zaXRpb25XaXRoQ2xlYXJhbmNl
KGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAorc3RkOjpvcHRpb25hbDxQb3NpdGlvbj4gRmxv
YXRpbmdDb250ZXh0Ojp2ZXJ0aWNhbFBvc2l0aW9uV2l0aENsZWFyYW5jZShjb25zdCBCb3gmIGxh
eW91dEJveCkgY29uc3QKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94Lmhhc0Zsb2F0Q2xlYXIoKSk7
CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CkBAIC0xNjUsNyArMTY1
LDcgQEAgc3RkOjpvcHRpb25hbDxQb3NpdGlvbkluQ29udGFpbmluZ0Jsb2NrPiBGbG9hdGluZ0Nv
bnRleHQ6OnZlcnRpY2FsUG9zaXRpb25XaXRoQ2wKICAgICBpZiAobV9mbG9hdGluZ1N0YXRlLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYm90dG9tID0gWyZdKHN0
ZDo6b3B0aW9uYWw8UG9zaXRpb25JbkNvbnRleHRSb290PiBmbG9hdEJvdHRvbSkgLT4gc3RkOjpv
cHRpb25hbDxQb3NpdGlvbkluQ29udGFpbmluZ0Jsb2NrPiB7CisgICAgYXV0byBib3R0b20gPSBb
Jl0oc3RkOjpvcHRpb25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IGZsb2F0Qm90dG9tKSAtPiBz
dGQ6Om9wdGlvbmFsPFBvc2l0aW9uPiB7CiAgICAgICAgIC8vICdib3R0b20nIGlzIGluIHRoZSBm
b3JtYXR0aW5nIHJvb3QncyBjb29yZGluYXRlIHN5c3RlbS4KICAgICAgICAgaWYgKCFmbG9hdEJv
dHRvbSkKICAgICAgICAgICAgIHJldHVybiB7IH07CkBAIC0yMDksNyArMjA5LDcgQEAgc3RkOjpv
cHRpb25hbDxQb3NpdGlvbkluQ29udGFpbmluZ0Jsb2NrPiBGbG9hdGluZ0NvbnRleHQ6OnZlcnRp
Y2FsUG9zaXRpb25XaXRoQ2wKIAogICAgICAgICAvLyBUaGUgcmV0dXJuIHZlcnRpY2FsIHBvc2l0
aW9uIGlzIGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgY29vcmRpbmF0ZSBzeXN0ZW0uCiAgICAg
ICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrUm9vdFJlbGF0aXZlVG9wID0gRm9ybWF0dGluZ0NvbnRl
eHQ6Om1hcFRvcExlZnRUb0FuY2VzdG9yKGxheW91dFN0YXRlLCAqbGF5b3V0Qm94LmNvbnRhaW5p
bmdCbG9jaygpLCBkb3duY2FzdDxDb250YWluZXI+KG1fZmxvYXRpbmdTdGF0ZS5yb290KCkpKS55
OwotICAgICAgICByZXR1cm4gcm9vdFJlbGF0aXZlVG9wIC0gY29udGFpbmluZ0Jsb2NrUm9vdFJl
bGF0aXZlVG9wOworICAgICAgICByZXR1cm4gUG9zaXRpb24geyByb290UmVsYXRpdmVUb3AgLSBj
b250YWluaW5nQmxvY2tSb290UmVsYXRpdmVUb3AgfTsKICAgICB9OwogCiAgICAgYXV0byBjbGVh
ciA9IGxheW91dEJveC5zdHlsZSgpLmNsZWFyKCk7CkBAIC0yMzUsNyArMjM1LDcgQEAgdm9pZCBG
bG9hdGluZ0NvbnRleHQ6OmZsb2F0aW5nUG9zaXRpb24oRmxvYXRBdm9pZGVyJiBmbG9hdEF2b2lk
ZXIpIGNvbnN0CiAKICAgICBzdGQ6Om9wdGlvbmFsPFBvc2l0aW9uSW5Db250ZXh0Um9vdD4gYm90
dG9tTW9zdDsKICAgICBhdXRvIGVuZCA9IExheW91dDo6ZW5kKG1fZmxvYXRpbmdTdGF0ZSk7Ci0g
ICAgZm9yIChhdXRvIGl0ZXJhdG9yID0gYmVnaW4obV9mbG9hdGluZ1N0YXRlLCBmbG9hdEF2b2lk
ZXIucmVjdCgpLnRvcCgpKTsgaXRlcmF0b3IgIT0gZW5kOyArK2l0ZXJhdG9yKSB7CisgICAgZm9y
IChhdXRvIGl0ZXJhdG9yID0gYmVnaW4obV9mbG9hdGluZ1N0YXRlLCB7IGZsb2F0QXZvaWRlci5y
ZWN0KCkudG9wKCkgfSk7IGl0ZXJhdG9yICE9IGVuZDsgKytpdGVyYXRvcikgewogICAgICAgICBB
U1NFUlQoISgqaXRlcmF0b3IpLmlzRW1wdHkoKSk7CiAgICAgICAgIGF1dG8gZmxvYXRzID0gKml0
ZXJhdG9yOwogCkBAIC0zMjcsMTAgKzMyNywxMCBAQCBGbG9hdEF2b2lkZXI6Okhvcml6b250YWxD
b25zdHJhaW50cyBGbG9hdGluZ1BhaXI6Omhvcml6b250YWxDb25zdHJhaW50cygpIGNvbnN0CiAg
ICAgc3RkOjpvcHRpb25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IHJpZ2h0RWRnZTsKIAogICAg
IGlmIChsZWZ0KCkpCi0gICAgICAgIGxlZnRFZGdlID0gbGVmdCgpLT5yZWN0V2l0aE1hcmdpbigp
LnJpZ2h0KCk7CisgICAgICAgIGxlZnRFZGdlID0gUG9zaXRpb25JbkNvbnRleHRSb290IHsgbGVm
dCgpLT5yZWN0V2l0aE1hcmdpbigpLnJpZ2h0KCkgfTsKIAogICAgIGlmIChyaWdodCgpKQotICAg
ICAgICByaWdodEVkZ2UgPSByaWdodCgpLT5yZWN0V2l0aE1hcmdpbigpLmxlZnQoKTsKKyAgICAg
ICAgcmlnaHRFZGdlID0gUG9zaXRpb25JbkNvbnRleHRSb290IHsgcmlnaHQoKS0+cmVjdFdpdGhN
YXJnaW4oKS5sZWZ0KCkgfTsKIAogICAgIHJldHVybiB7IGxlZnRFZGdlLCByaWdodEVkZ2UgfTsK
IH0KQEAgLTM0MSw4ICszNDEsOCBAQCBQb3NpdGlvbkluQ29udGV4dFJvb3QgRmxvYXRpbmdQYWly
Ojpib3R0b20oKSBjb25zdAogICAgIGF1dG8qIHJpZ2h0ID0gdGhpcy0+cmlnaHQoKTsKICAgICBB
U1NFUlQobGVmdCB8fCByaWdodCk7CiAKLSAgICBhdXRvIGxlZnRCb3R0b20gPSBsZWZ0ID8gc3Rk
OjpvcHRpb25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+KGxlZnQtPnJlY3RXaXRoTWFyZ2luKCku
Ym90dG9tKCkpIDogc3RkOjpudWxsb3B0OwotICAgIGF1dG8gcmlnaHRCb3R0b20gPSByaWdodCA/
IHN0ZDo6b3B0aW9uYWw8UG9zaXRpb25JbkNvbnRleHRSb290PihyaWdodC0+cmVjdFdpdGhNYXJn
aW4oKS5ib3R0b20oKSkgOiBzdGQ6Om51bGxvcHQ7CisgICAgYXV0byBsZWZ0Qm90dG9tID0gbGVm
dCA/IHN0ZDo6b3B0aW9uYWw8UG9zaXRpb25JbkNvbnRleHRSb290PihQb3NpdGlvbkluQ29udGV4
dFJvb3QgeyBsZWZ0LT5yZWN0V2l0aE1hcmdpbigpLmJvdHRvbSgpIH0pIDogc3RkOjpudWxsb3B0
OworICAgIGF1dG8gcmlnaHRCb3R0b20gPSByaWdodCA/IHN0ZDo6b3B0aW9uYWw8UG9zaXRpb25J
bkNvbnRleHRSb290PihQb3NpdGlvbkluQ29udGV4dFJvb3QgeyByaWdodC0+cmVjdFdpdGhNYXJn
aW4oKS5ib3R0b20oKSB9KSA6IHN0ZDo6bnVsbG9wdDsKIAogICAgIGlmIChsZWZ0Qm90dG9tICYm
IHJpZ2h0Qm90dG9tKQogICAgICAgICByZXR1cm4gc3RkOjptYXgoKmxlZnRCb3R0b20sICpyaWdo
dEJvdHRvbSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0
aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRl
eHQuaAppbmRleCBmOGQzZDhjNzBlZi4uNDJlZWE3YTNjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuaApAQCAtNTAsOSArNTAsOSBAQCBwdWJs
aWM6CiAKICAgICBGbG9hdGluZ1N0YXRlJiBmbG9hdGluZ1N0YXRlKCkgY29uc3QgeyByZXR1cm4g
bV9mbG9hdGluZ1N0YXRlOyB9CiAKLSAgICBQb2ludEluQ29udGFpbmluZ0Jsb2NrIHBvc2l0aW9u
Rm9yRmxvYXQoY29uc3QgQm94JikgY29uc3Q7Ci0gICAgc3RkOjpvcHRpb25hbDxQb2ludEluQ29u
dGFpbmluZ0Jsb2NrPiBwb3NpdGlvbkZvckZsb2F0QXZvaWRpbmcoY29uc3QgQm94JikgY29uc3Q7
Ci0gICAgc3RkOjpvcHRpb25hbDxQb3NpdGlvbkluQ29udGFpbmluZ0Jsb2NrPiB2ZXJ0aWNhbFBv
c2l0aW9uV2l0aENsZWFyYW5jZShjb25zdCBCb3gmKSBjb25zdDsKKyAgICBQb2ludCBwb3NpdGlv
bkZvckZsb2F0KGNvbnN0IEJveCYpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8UG9pbnQ+IHBv
c2l0aW9uRm9yRmxvYXRBdm9pZGluZyhjb25zdCBCb3gmKSBjb25zdDsKKyAgICBzdGQ6Om9wdGlv
bmFsPFBvc2l0aW9uPiB2ZXJ0aWNhbFBvc2l0aW9uV2l0aENsZWFyYW5jZShjb25zdCBCb3gmKSBj
b25zdDsKIAogcHJpdmF0ZToKICAgICBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUoKSBjb25zdCB7
IHJldHVybiBtX2Zsb2F0aW5nU3RhdGUubGF5b3V0U3RhdGUoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdTdGF0ZS5jcHAKaW5kZXggOTM3YjhhMmYxMGYuLmY0
NjVjNmIxNGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0
aW5nU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdT
dGF0ZS5jcHAKQEAgLTExNSw5ICsxMTUsOSBAQCBGbG9hdGluZ1N0YXRlOjpDb25zdHJhaW50cyBG
bG9hdGluZ1N0YXRlOjpjb25zdHJhaW50cyhQb3NpdGlvbkluQ29udGV4dFJvb3QgdmVydAogICAg
ICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgaWYgKGZsb2F0SXRlbS5pc0xlZnRQb3NpdGlv
bmVkKCkpCi0gICAgICAgICAgICBjb25zdHJhaW50cy5sZWZ0ID0gcmVjdC5yaWdodCgpOworICAg
ICAgICAgICAgY29uc3RyYWludHMubGVmdCA9IFBvc2l0aW9uSW5Db250ZXh0Um9vdCB7IHJlY3Qu
cmlnaHQoKSB9OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb25zdHJhaW50cy5yaWdodCA9
IHJlY3QubGVmdCgpOworICAgICAgICAgICAgY29uc3RyYWludHMucmlnaHQgPSBQb3NpdGlvbklu
Q29udGV4dFJvb3QgeyByZWN0LmxlZnQoKSB9OwogCiAgICAgICAgIGlmIChjb25zdHJhaW50cy5s
ZWZ0ICYmIGNvbnN0cmFpbnRzLnJpZ2h0KQogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMjUsMTAg
KzEyNSwxMCBAQCBGbG9hdGluZ1N0YXRlOjpDb25zdHJhaW50cyBGbG9hdGluZ1N0YXRlOjpjb25z
dHJhaW50cyhQb3NpdGlvbkluQ29udGV4dFJvb3QgdmVydAogCiAgICAgaWYgKGNvb3JkaW5hdGVN
YXBwaW5nSXNSZXF1aXJlZCkgewogICAgICAgICBpZiAoY29uc3RyYWludHMubGVmdCkKLSAgICAg
ICAgICAgIGNvbnN0cmFpbnRzLmxlZnQgPSAqY29uc3RyYWludHMubGVmdCAtIGFkanVzdGVkUG9z
aXRpb24ueDsKKyAgICAgICAgICAgIGNvbnN0cmFpbnRzLmxlZnQgPSBQb3NpdGlvbkluQ29udGV4
dFJvb3QgeyAqY29uc3RyYWludHMubGVmdCAtIGFkanVzdGVkUG9zaXRpb24ueCB9OwogCiAgICAg
ICAgIGlmIChjb25zdHJhaW50cy5yaWdodCkKLSAgICAgICAgICAgIGNvbnN0cmFpbnRzLnJpZ2h0
ID0gKmNvbnN0cmFpbnRzLnJpZ2h0IC0gYWRqdXN0ZWRQb3NpdGlvbi54OworICAgICAgICAgICAg
Y29uc3RyYWludHMucmlnaHQgPSBQb3NpdGlvbkluQ29udGV4dFJvb3QgeyAqY29uc3RyYWludHMu
cmlnaHQgLSBhZGp1c3RlZFBvc2l0aW9uLnggfTsKICAgICB9CiAKICAgICByZXR1cm4gY29uc3Ry
YWludHM7CkBAIC0xNTMsMTAgKzE1MywxMCBAQCBzdGQ6Om9wdGlvbmFsPFBvc2l0aW9uSW5Db250
ZXh0Um9vdD4gRmxvYXRpbmdTdGF0ZTo6Ym90dG9tKGNvbnN0IEJveCYgZm9ybWF0dGluZwogCiAg
ICAgICAgIGF1dG8gZmxvYXRzQm90dG9tID0gZmxvYXRJdGVtLnJlY3RXaXRoTWFyZ2luKCkuYm90
dG9tKCk7CiAgICAgICAgIGlmIChib3R0b20pIHsKLSAgICAgICAgICAgIGJvdHRvbSA9IHN0ZDo6
bWF4KCpib3R0b20sIGZsb2F0c0JvdHRvbSk7CisgICAgICAgICAgICBib3R0b20gPSBzdGQ6Om1h
eDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+KCpib3R0b20sIHsgZmxvYXRzQm90dG9tIH0pOwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgYm90dG9tID0gZmxvYXRzQm90
dG9tOworICAgICAgICBib3R0b20gPSBQb3NpdGlvbkluQ29udGV4dFJvb3QgeyBmbG9hdHNCb3R0
b20gfTsKICAgICB9CiAgICAgcmV0dXJuIGJvdHRvbTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmgKaW5kZXggM2IxY2ZhMjJjODMuLjg2NzgyNzdkZDFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nU3RhdGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nU3RhdGUuaApAQCAt
NzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaW5Gb3JtYXR0aW5nQ29udGV4dChj
b25zdCBCb3gmKSBjb25zdDsKIAogICAgICAgICBEaXNwbGF5OjpCb3g6OlJlY3QgcmVjdFdpdGhN
YXJnaW4oKSBjb25zdCB7IHJldHVybiBtX2Fic29sdXRlRGlzcGxheUJveC5yZWN0V2l0aE1hcmdp
bigpOyB9Ci0gICAgICAgIFBvc2l0aW9uSW5Db250ZXh0Um9vdCBib3R0b20oKSBjb25zdCB7IHJl
dHVybiBtX2Fic29sdXRlRGlzcGxheUJveC5ib3R0b20oKTsgfQorICAgICAgICBQb3NpdGlvbklu
Q29udGV4dFJvb3QgYm90dG9tKCkgY29uc3QgeyByZXR1cm4geyBtX2Fic29sdXRlRGlzcGxheUJv
eC5ib3R0b20oKSB9OyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBXZWFrUHRyPGNvbnN0IEJv
eD4gbV9sYXlvdXRCb3g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXgg
ODMwNGZlMzUzNzAuLjFkMGQ0MTU1ZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Omlu
aXRpYWxpemVOZXdMaW5lKExpbmUmIGxpbmUpIGNvbnN0CiAgICAgLy8gQ2hlY2sgZm9yIGludHJ1
ZGluZyBmbG9hdHMgYW5kIGFkanVzdCBsb2dpY2FsIGxlZnQvYXZhaWxhYmxlIHdpZHRoIGZvciB0
aGlzIGxpbmUgYWNjb3JkaW5nbHkuCiAgICAgYXV0byYgZmxvYXRpbmdTdGF0ZSA9IGZvcm1hdHRp
bmdTdGF0ZSgpLmZsb2F0aW5nU3RhdGUoKTsKICAgICBpZiAoIWZsb2F0aW5nU3RhdGUuaXNFbXB0
eSgpKSB7Ci0gICAgICAgIGF1dG8gZmxvYXRDb25zdHJhaW50cyA9IGZsb2F0aW5nU3RhdGUuY29u
c3RyYWludHMobGluZUxvZ2ljYWxUb3AsIGZvcm1hdHRpbmdSb290KTsKKyAgICAgICAgYXV0byBm
bG9hdENvbnN0cmFpbnRzID0gZmxvYXRpbmdTdGF0ZS5jb25zdHJhaW50cyh7IGxpbmVMb2dpY2Fs
VG9wIH0sIGZvcm1hdHRpbmdSb290KTsKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlc2UgY29uc3Ry
YWludHMgYWN0dWFsbHkgcHV0IGxpbWl0YXRpb24gb24gdGhlIGxpbmUuCiAgICAgICAgIGlmIChm
bG9hdENvbnN0cmFpbnRzLmxlZnQgJiYgKmZsb2F0Q29uc3RyYWludHMubGVmdCA8PSBmb3JtYXR0
aW5nUm9vdERpc3BsYXlCb3guY29udGVudEJveExlZnQoKSkKICAgICAgICAgICAgIGZsb2F0Q29u
c3RyYWludHMubGVmdCA9IHsgfTsK
</data>
<flag name="review"
          id="372668"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>