<?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>180151</bug_id>
          
          <creation_ts>2017-11-29 10:50:19 -0800</creation_ts>
          <short_desc>Refactor RenderMathMLFraction to remove members modified during layout</short_desc>
          <delta_ts>2017-12-20 06:29:20 -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>MathML</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>
          
          <blocked>155879</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>alex</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jfernandez</cc>
    
    <cc>rego</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1375900</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-11-29 10:50:19 -0800</bug_when>
    <thetext>Refactor RenderMathMLFraction to remove members modified during layout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375912</commentid>
    <comment_count>1</comment_count>
      <attachid>327875</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-11-29 10:54:38 -0800</bug_when>
    <thetext>Created attachment 327875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383570</commentid>
    <comment_count>2</comment_count>
      <attachid>327875</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2017-12-20 01:26:11 -0800</bug_when>
    <thetext>Comment on attachment 327875
Patch

This is really nice, I&apos;m sure this will avoid problems in the future. Having to deal with cached values is always a mess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383616</commentid>
    <comment_count>3</comment_count>
      <attachid>327875</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-20 06:28:09 -0800</bug_when>
    <thetext>Comment on attachment 327875
Patch

Clearing flags on attachment: 327875

Committed r226177: &lt;https://trac.webkit.org/changeset/226177&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383617</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-20 06:28:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383618</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-20 06:29:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/36154880&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327875</attachid>
            <date>2017-11-29 10:54:38 -0800</date>
            <delta_ts>2017-12-20 06:28:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180151-20171129195437.patch</filename>
            <type>text/plain</type>
            <size>15766</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1Mjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWUxNWRjNDBkYWRkYWRl
OGFlMGZkMjc1MDRmM2EwMDQyNTllODUxMC4uOGUyZDg4MGVhNjNkZjgyYmViMGMwOWEyNDZiNjFi
NDljOGMwZjNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE3LTExLTI5ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBSZWZhY3RvciBSZW5kZXJN
YXRoTUxGcmFjdGlvbiB0byByZW1vdmUgbWVtYmVycyBtb2RpZmllZCBkdXJpbmcgbGF5b3V0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAxNTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHks
IFJlbmRlck1hdGhNTEZyYWN0aW9uIGhhcyB0aHJlZSBMYXlvdXRVbml0IG1lbWJlcnMgbV9kZWZh
dWx0TGluZVRoaWNrbmVzcywKKyAgICAgICAgbV9saW5lVGhpY2tuZXNzIGFuZCBtX2FzY2VudCB0
aGF0IGFyZSBzZXQgZHVyaW5nIGxheW91dC4gSW4gdGhlIHBhc3Qgc3VjaCBtZW1iZXJzIGhhdmUg
Y2F1c2VkCisgICAgICAgIE1hdGhNTCByZW5kZXJpbmcgYnVncyBkdWUgdG8gdXBkYXRlIGlzc3Vl
cy4gVGhpcyBwYXRjaCByZWZhY3RvcnMgdGhlIGxheW91dCBvZiBNYXRoTUwKKyAgICAgICAgZnJh
Y3Rpb25zIHNvIHRoYXQgaXQgZG9lcyBub3QgcmVxdWlyZSB0byBzdG9yZSBhbmQga2VlcCB0aGVz
ZSBMYXlvdXRVbml0IG1lbWJlcnMgdXAtdG8tZGF0ZS4KKyAgICAgICAgTmV3IGhlbHBlciBmdW5j
dGlvbnMgYXJlIGludHJvZHVjZWQgdG8gcGVyZm9ybSB0aGUgc2ltcGxlIGFyaXRobWV0aWMgY2Fs
Y3VsYXRpb25zIHJlcXVpcmVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVoYXZpb3IgdW5j
aGFuZ2VkIGFuZCBhbHJlYWR5IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcDogV2UgYWRkIG5ldyBo
ZWxwZXIgZnVuY3Rpb25zIHRvIGNhbGN1bGF0ZSBsaW5lCisgICAgICAgIHRoaWNrbmVzcyB2YWx1
ZXMuIFRoaXMgYWxsb3dzIHRvIHJlbW92ZSB1cGRhdGVMaW5lVGhpY2tuZXNzKCksIG1fZGVmYXVs
dExpbmVUaGlja25lc3MgYW5kCisgICAgICAgIG1fbGluZVRoaWNrbmVzcy4gV2UgYWxzbyBpbnRy
b2R1Y2UgdGhlIGFzY2VudE92ZXJIb3Jpem9udGFsQXhpcygpIGhlbHBlciBmdW5jdGlvbiB0bwor
ICAgICAgICBjYWxjdWxhdGUgdGhlIGFzY2VudCBvdmVyIHRoZSBtaWRkbGUgb2YgaXRzIGZyYWN0
aW9uIGJhciBvciBzdGFjayBnYXAuIFRoaXMgYWxsb3dzIHRvIHJlbW92ZQorICAgICAgICB0aGUg
bV9hc2NlbnQgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRnJhY3Rpb246
OmRlZmF1bHRMaW5lVGhpY2tuZXNzIGNvbnN0KTogSGVscGVyIGZ1bmN0aW9uIHRvIGNhbGN1bGF0
ZQorICAgICAgICB0aGUgZGVmYXVsdCB0aGlja25lc3Mgb2YgdGhlIGZyYWN0aW9uIGJhciBnaXZl
biBpbiB0aGUgTUFUSCB0YWJsZSBvciBhIGZhbGxiYWNrIHZhbHVlLgorICAgICAgICBUaGlzIHJl
cGxhY2VzIHRoZSB1c2Ugb2YgbV9kZWZhdWx0TGluZVRoaWNrbmVzcy4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck1hdGhNTEZyYWN0aW9uOjpsaW5lVGhpY2tuZXNzIGNvbnN0KTogSGVscGVyIGZ1
bmN0aW9uIHRvIHJlc29sdmUgdGhlCisgICAgICAgIGFjdHVhbCB0aGlja25lc3MgYmFzZWQgb24g
dGhlIEBsaW5ldGhpY2tuZXNzIGF0dHJpYnV0ZSBhbmQgdGhlIGRlZmF1bHQgdmFsdWUuIFRoaXMg
cmVwbGFjZXMKKyAgICAgICAgdGhlIHVzZSBvZiBtX2xpbmVUaGlja25lc3MuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNYXRoTUxGcmFjdGlvbjo6cmVsYXRpdmVMaW5lVGhpY2tuZXNzIGNvbnN0
KTogUmV3cml0ZSB0aGlzIGZ1bmN0aW9uIHVzaW5nCisgICAgICAgIHRoZSBuZXcgaGVscGVyIGZ1
bmN0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEZyYWN0aW9uOjpmcmFjdGlv
blBhcmFtZXRlcnMgY29uc3QpOiBNYWtlIHRoaXMgY29uc3QgYW5kIHJlcGxhY2VzCisgICAgICAg
IGlzU3RhY2soKSB3aXRoICFsaW5lVGhpY2tuZXNzKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNYXRoTUxGcmFjdGlvbjo6c3RhY2tQYXJhbWV0ZXJzIGNvbnN0KTogRGl0dG8uIEFsc28gbW92
ZSBmcm9tIGxheW91dEJsb2NrCisgICAgICAgIHRoZSBhZGp1c3RtZW50IG9mIHBhcmFtZXRlcnMg
dG8gZW5zdXJlIGEgbWluaW11bSBnYXAuIERvaW5nIHNvIGFzc3VtZXMgdGhhdCB0aGUgZnJhY3Rp
b24gaXMKKyAgICAgICAgdmFsaWQgc28gd2UgYWRkIGFuIEFTU0VSVC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck1hdGhNTEZyYWN0aW9uOjpob3Jpem9udGFsT2Zmc2V0IGNvbnN0KTogTWFrZSB0
aGlzIGEgY29uc3Qgc2luY2UgaXQgZG9lcyBub3QKKyAgICAgICAgbXV0YXRlIGFueXRoaW5nLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRnJhY3Rpb246OmFzY2VudE92ZXJIb3Jpem9u
dGFsQXhpcyBjb25zdCk6IE1vdmUgdGhpcyBjb2RlIGZyb20KKyAgICAgICAgbGF5b3V0QmxvY2so
KSB0byBkZXRlcm1pbmUgdGhlIG1pZGRsZSBvZiB0aGUgc3RhY2sgZ2FwIG9yIG9mIHRoZSBmcmFj
dGlvbiBiYXIuIFRoaXMgaGVscGVyCisgICAgICAgIGZ1bmN0aW9uIHJlcGxhY2VzIG1fYXNjZW50
IC0gbWF0aEF4aXNIZWlnaHQoKS4gTm90ZSB0aGF0IHRoZSBhZGp1c3RtZW50IG9mIHRvcFNoaWZ0
VXAgaXMgbm93CisgICAgICAgIGRvbmUgaW4gc3RhY2tQYXJhbWV0ZXJzKCkuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNYXRoTUxGcmFjdGlvbjo6bGF5b3V0QmxvY2spOiBSZW1vdmUgdGhlIGNh
bGwgdG8gdXBkYXRlTGluZVRoaWNrbmVzcygpLgorICAgICAgICBSZWx5IG9uIHN0YWNrUGFyYW1l
dGVycygpIGFuZCBhc2NlbnRPdmVySG9yaXpvbnRhbEF4aXMoKSB0byBwZXJmb3JtIHRoZSBuZWNl
c3NhcnkgY2FsY3VsYXRpb24KKyAgICAgICAgb2YgYm90dG9tU2hpZnREb3duIGFuZCBhc2NlbnQg
cmVzcGVjdGl2ZWx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRnJhY3Rpb246OnBh
aW50KTogVXNlIGxpbmVUaGlja25lc3MoKSBhbmQgYXNjZW50T3Zlckhvcml6b250YWxBeGlzKCkK
KyAgICAgICAgaW5zdGVhZCBvZiBtX2xpbmVUaGlja25lc3MsIG1fYXNjZW50IGFuZCBpc1N0YWNr
KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxGcmFjdGlvbjo6Zmlyc3RMaW5lQmFz
ZWxpbmUgY29uc3QpOiBVc2UgYXNjZW50T3Zlckhvcml6b250YWxBeGlzKCkgYW5kCisgICAgICAg
IG1hdGhBeGlzSGVpZ2h0KCkgaW5zdGVhZCBvZiBtX2FzY2VudC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1hdGhNTEZyYWN0aW9uOjp1cGRhdGVMaW5lVGhpY2tuZXNzKTogRGVsZXRlZC4KKyAg
ICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmg6IERlY2xhcmUg
bmV3IGhlbHBlciBmdW5jdGlvbnMgZm9yIGxpbmUgdGhpY2tuZXNzCisgICAgICAgIHZhbHVlcyBh
bmQgYXNjZW50IGFuZCByZW1vdmUgdGhlIG9sZCBMYXlvdXRVbml0IG1lbWJlcnMuIE1ha2UgaG9y
aXpvbnRhbE9mZnNldCgpLAorICAgICAgICBmcmFjdGlvblBhcmFtZXRlcigpIGFuZCBzdGFja1Bh
cmFtZXRlcnMoKSBjb25zdCBzaW5jZSB0aGV5IGRvIG5vdCBtb2RpZnkgYW55dGhpbmcgYW5kIHRo
ZSB0d28KKyAgICAgICAgbGFzdCBhcmUgdXNlZCBpbiB0aGUgY29uc3QgZnVuY3Rpb24gYXNjZW50
T3Zlckhvcml6b250YWxBeGlzKCksIGl0c2VsZiB1c2VkIGluCisgICAgICAgIGZpcnN0TGluZUJh
c2VsaW5lKCkuCisKIDIwMTctMTEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZCBzaG91bGQgY2xlYW4g
aXRzIHN0YXRzIHByb21pc2VzIHdoZW4gYmVpbmcgY2xlYW5lZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAppbmRl
eCBhNTE3ZmRlYmY3MGQ2M2ZhOWM2MzFjY2Y5NWY4ODNhZjAxYWRmODdjLi43YTE0N2U0ZWFiMmI0
Yjk3OGFmOGYwNWYwOTg2MTkwZjI5NWE5OTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcApAQCAtNjgsMjUg
KzY4LDI5IEBAIFJlbmRlckJveCYgUmVuZGVyTWF0aE1MRnJhY3Rpb246OmRlbm9taW5hdG9yKCkg
Y29uc3QKICAgICByZXR1cm4gKmZpcnN0Q2hpbGRCb3goKS0+bmV4dFNpYmxpbmdCb3goKTsKIH0K
IAotdm9pZCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6dXBkYXRlTGluZVRoaWNrbmVzcygpCitMYXlv
dXRVbml0IFJlbmRlck1hdGhNTEZyYWN0aW9uOjpkZWZhdWx0TGluZVRoaWNrbmVzcygpIGNvbnN0
CiB7Ci0gICAgLy8gV2UgZmlyc3QgZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpbmUgdGhpY2tuZXNz
LgogICAgIGNvbnN0IGF1dG8mIHByaW1hcnlGb250ID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpLnBy
aW1hcnlGb250KCk7Ci0gICAgY29uc3QgYXV0byogbWF0aERhdGEgPSBzdHlsZSgpLmZvbnRDYXNj
YWRlKCkucHJpbWFyeUZvbnQoKS5tYXRoRGF0YSgpOwotICAgIGlmIChtYXRoRGF0YSkKLSAgICAg
ICAgbV9kZWZhdWx0TGluZVRoaWNrbmVzcyA9IG1hdGhEYXRhLT5nZXRNYXRoQ29uc3RhbnQocHJp
bWFyeUZvbnQsIE9wZW5UeXBlTWF0aERhdGE6OkZyYWN0aW9uUnVsZVRoaWNrbmVzcyk7Ci0gICAg
ZWxzZQotICAgICAgICBtX2RlZmF1bHRMaW5lVGhpY2tuZXNzID0gcnVsZVRoaWNrbmVzc0ZhbGxi
YWNrKCk7Ci0KLSAgICAvLyBOZXh0IHdlIHJlc29sdmUgdGhlIHRoaWNrbmVzcyB1c2luZyBtX2Rl
ZmF1bHRMaW5lVGhpY2tuZXNzIGFzIHRoZSBkZWZhdWx0IHZhbHVlLgotICAgIG1fbGluZVRoaWNr
bmVzcyA9IHRvVXNlclVuaXRzKGVsZW1lbnQoKS5saW5lVGhpY2tuZXNzKCksIHN0eWxlKCksIG1f
ZGVmYXVsdExpbmVUaGlja25lc3MpOwotICAgIGlmIChtX2xpbmVUaGlja25lc3MgPCAwKQotICAg
ICAgICBtX2xpbmVUaGlja25lc3MgPSAwOworICAgIGlmIChjb25zdCBhdXRvKiBtYXRoRGF0YSA9
IHByaW1hcnlGb250Lm1hdGhEYXRhKCkpCisgICAgICAgIHJldHVybiBtYXRoRGF0YS0+Z2V0TWF0
aENvbnN0YW50KHByaW1hcnlGb250LCBPcGVuVHlwZU1hdGhEYXRhOjpGcmFjdGlvblJ1bGVUaGlj
a25lc3MpOworICAgIHJldHVybiBydWxlVGhpY2tuZXNzRmFsbGJhY2soKTsKK30KKworTGF5b3V0
VW5pdCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6bGluZVRoaWNrbmVzcygpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KHRvVXNlclVuaXRzKGVsZW1lbnQoKS5saW5lVGhp
Y2tuZXNzKCksIHN0eWxlKCksIGRlZmF1bHRMaW5lVGhpY2tuZXNzKCkpLCAwKTsKK30KKworZmxv
YXQgUmVuZGVyTWF0aE1MRnJhY3Rpb246OnJlbGF0aXZlTGluZVRoaWNrbmVzcygpIGNvbnN0Cit7
CisgICAgaWYgKExheW91dFVuaXQgZGVmYXVsdFRoaWNrbmVzcyA9IGRlZmF1bHRMaW5lVGhpY2tu
ZXNzKCkpCisgICAgICAgIHJldHVybiBsaW5lVGhpY2tuZXNzKCkgLyBkZWZhdWx0VGhpY2tuZXNz
OworICAgIHJldHVybiAwOwogfQogCi1SZW5kZXJNYXRoTUxGcmFjdGlvbjo6RnJhY3Rpb25QYXJh
bWV0ZXJzIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpmcmFjdGlvblBhcmFtZXRlcnMoKQorUmVuZGVy
TWF0aE1MRnJhY3Rpb246OkZyYWN0aW9uUGFyYW1ldGVycyBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6
ZnJhY3Rpb25QYXJhbWV0ZXJzKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoIWlzU3RhY2soKSk7Cisg
ICAgQVNTRVJUKGxpbmVUaGlja25lc3MoKSk7CiAgICAgRnJhY3Rpb25QYXJhbWV0ZXJzIHBhcmFt
ZXRlcnM7CiAKICAgICAvLyBXZSB0cnkgYW5kIHJlYWQgY29uc3RhbnRzIHRvIGRyYXcgdGhlIGZy
YWN0aW9uIGZyb20gdGhlIE9wZW5UeXBlIE1BVEggYW5kIHVzZSBmYWxsYmFjayB2YWx1ZXMgb3Ro
ZXJ3aXNlLgpAQCAtMTExLDkgKzExNSwxMCBAQCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6RnJhY3Rp
b25QYXJhbWV0ZXJzIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpmcmFjdGlvblBhcmFtZXRlcgogICAg
IHJldHVybiBwYXJhbWV0ZXJzOwogfQogCi1SZW5kZXJNYXRoTUxGcmFjdGlvbjo6U3RhY2tQYXJh
bWV0ZXJzIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpzdGFja1BhcmFtZXRlcnMoKQorUmVuZGVyTWF0
aE1MRnJhY3Rpb246OlN0YWNrUGFyYW1ldGVycyBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6c3RhY2tQ
YXJhbWV0ZXJzKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoaXNTdGFjaygpKTsKKyAgICBBU1NFUlQo
IWxpbmVUaGlja25lc3MoKSk7CisgICAgQVNTRVJUKGlzVmFsaWQoKSk7CiAgICAgU3RhY2tQYXJh
bWV0ZXJzIHBhcmFtZXRlcnM7CiAgICAgCiAgICAgLy8gV2UgdHJ5IGFuZCByZWFkIGNvbnN0YW50
cyB0byBkcmF3IHRoZSBzdGFjayBmcm9tIHRoZSBPcGVuVHlwZSBNQVRIIGFuZCB1c2UgZmFsbGJh
Y2sgdmFsdWVzIG90aGVyd2lzZS4KQEAgLTEzMyw2ICsxMzgsMTcgQEAgUmVuZGVyTWF0aE1MRnJh
Y3Rpb246OlN0YWNrUGFyYW1ldGVycyBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6c3RhY2tQYXJhbWV0
ZXJzKCkKICAgICAgICAgcGFyYW1ldGVycy5ib3R0b21TaGlmdERvd24gPSAwOwogICAgIH0KIAor
ICAgIExheW91dFVuaXQgbnVtZXJhdG9yQXNjZW50ID0gYXNjZW50Rm9yQ2hpbGQobnVtZXJhdG9y
KCkpOworICAgIExheW91dFVuaXQgbnVtZXJhdG9yRGVzY2VudCA9IG51bWVyYXRvcigpLmxvZ2lj
YWxIZWlnaHQoKSAtIG51bWVyYXRvckFzY2VudDsKKyAgICBMYXlvdXRVbml0IGRlbm9taW5hdG9y
QXNjZW50ID0gYXNjZW50Rm9yQ2hpbGQoZGVub21pbmF0b3IoKSk7CisgICAgTGF5b3V0VW5pdCBn
YXAgPSBwYXJhbWV0ZXJzLnRvcFNoaWZ0VXAgLSBudW1lcmF0b3JEZXNjZW50ICsgcGFyYW1ldGVy
cy5ib3R0b21TaGlmdERvd24gLSBkZW5vbWluYXRvckFzY2VudDsKKyAgICBpZiAoZ2FwIDwgcGFy
YW1ldGVycy5nYXBNaW4pIHsKKyAgICAgICAgLy8gSWYgdGhlIGdhcCBpcyBub3QgbGFyZ2UgZW5v
dWdoLCB3ZSBpbmNyZWFzZSB0aGUgc2hpZnRzIGJ5IHRoZSBzYW1lIHZhbHVlLgorICAgICAgICBM
YXlvdXRVbml0IGRlbHRhID0gKHBhcmFtZXRlcnMuZ2FwTWluIC0gZ2FwKSAvIDI7CisgICAgICAg
IHBhcmFtZXRlcnMudG9wU2hpZnRVcCArPSBkZWx0YTsKKyAgICAgICAgcGFyYW1ldGVycy5ib3R0
b21TaGlmdERvd24gKz0gZGVsdGE7CisgICAgfQorCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CiB9
CiAKQEAgLTE2MCw3ICsxNzYsNyBAQCB2b2lkIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpjb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgc2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0Rp
cnR5KGZhbHNlKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6aG9yaXpv
bnRhbE9mZnNldChSZW5kZXJCb3gmIGNoaWxkLCBNYXRoTUxGcmFjdGlvbkVsZW1lbnQ6OkZyYWN0
aW9uQWxpZ25tZW50IGFsaWduKQorTGF5b3V0VW5pdCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6aG9y
aXpvbnRhbE9mZnNldChSZW5kZXJCb3gmIGNoaWxkLCBNYXRoTUxGcmFjdGlvbkVsZW1lbnQ6OkZy
YWN0aW9uQWxpZ25tZW50IGFsaWduKSBjb25zdAogewogICAgIHN3aXRjaCAoYWxpZ24pIHsKICAg
ICBjYXNlIE1hdGhNTEZyYWN0aW9uRWxlbWVudDo6RnJhY3Rpb25BbGlnbm1lbnRSaWdodDoKQEAg
LTE3NSw2ICsxOTEsMjIgQEAgTGF5b3V0VW5pdCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6aG9yaXpv
bnRhbE9mZnNldChSZW5kZXJCb3gmIGNoaWxkLCBNYXRoTUxGcmFjdGkKICAgICByZXR1cm4gTGF5
b3V0VW5pdCgwKTsKIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6YXNjZW50
T3Zlckhvcml6b250YWxBeGlzKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNWYWxpZCgpKTsKKwor
ICAgIExheW91dFVuaXQgbnVtZXJhdG9yQXNjZW50ID0gYXNjZW50Rm9yQ2hpbGQobnVtZXJhdG9y
KCkpOworICAgIGlmIChMYXlvdXRVbml0IHRoaWNrbmVzcyA9IGxpbmVUaGlja25lc3MoKSkgewor
ICAgICAgICAvLyBGb3Igbm9ybWFsIGZyYWN0aW9uIGxheW91dCwgdGhlIGF4aXMgaXMgdGhlIG1p
ZGRsZSBvZiB0aGUgZnJhY3Rpb24gYmFyLgorICAgICAgICBGcmFjdGlvblBhcmFtZXRlcnMgcGFy
YW1ldGVycyA9IGZyYWN0aW9uUGFyYW1ldGVycygpOworICAgICAgICByZXR1cm4gc3RkOjptYXgo
bnVtZXJhdG9yKCkubG9naWNhbEhlaWdodCgpICsgcGFyYW1ldGVycy5udW1lcmF0b3JHYXBNaW4g
KyB0aGlja25lc3MgLyAyLCBudW1lcmF0b3JBc2NlbnQgKyBwYXJhbWV0ZXJzLm51bWVyYXRvck1p
blNoaWZ0VXApOworICAgIH0KKworICAgIC8vIEZvciBzdGFjayBsYXlvdXQsIHRoZSBheGlzIGlz
IHRoZSBtaWRkbGUgb2YgdGhlIGdhcCBiZXR3ZWVuIG51bWVyYXRvciBhbmQgZGVub25pbWF0b3Iu
CisgICAgU3RhY2tQYXJhbWV0ZXJzIHBhcmFtZXRlcnMgPSBzdGFja1BhcmFtZXRlcnMoKTsKKyAg
ICByZXR1cm4gbnVtZXJhdG9yQXNjZW50ICsgcGFyYW1ldGVycy50b3BTaGlmdFVwOworfQorCiB2
b2lkIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRy
ZW4sIExheW91dFVuaXQpCiB7CiAgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwpAQCAtMTkyLDM4
ICsyMjQsMjYgQEAgdm9pZCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6bGF5b3V0QmxvY2soYm9vbCBy
ZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogCiAgICAgc2V0TG9naWNhbFdpZHRoKHN0ZDo6
bWF4KG51bWVyYXRvcigpLmxvZ2ljYWxXaWR0aCgpLCBkZW5vbWluYXRvcigpLmxvZ2ljYWxXaWR0
aCgpKSk7CiAKLSAgICB1cGRhdGVMaW5lVGhpY2tuZXNzKCk7CiAgICAgTGF5b3V0VW5pdCB2ZXJ0
aWNhbE9mZnNldCA9IDA7IC8vIFRoaXMgaXMgdGhlIHRvcCBvZiB0aGUgcmVuZGVyZXIuCiAgICAg
TGF5b3V0UG9pbnQgbnVtZXJhdG9yTG9jYXRpb24oaG9yaXpvbnRhbE9mZnNldChudW1lcmF0b3Io
KSwgZWxlbWVudCgpLm51bWVyYXRvckFsaWdubWVudCgpKSwgdmVydGljYWxPZmZzZXQpOwogICAg
IG51bWVyYXRvcigpLnNldExvY2F0aW9uKG51bWVyYXRvckxvY2F0aW9uKTsKIAotICAgIExheW91
dFVuaXQgbnVtZXJhdG9yQXNjZW50ID0gYXNjZW50Rm9yQ2hpbGQobnVtZXJhdG9yKCkpOwotICAg
IExheW91dFVuaXQgbnVtZXJhdG9yRGVzY2VudCA9IG51bWVyYXRvcigpLmxvZ2ljYWxIZWlnaHQo
KSAtIG51bWVyYXRvckFzY2VudDsKICAgICBMYXlvdXRVbml0IGRlbm9taW5hdG9yQXNjZW50ID0g
YXNjZW50Rm9yQ2hpbGQoZGVub21pbmF0b3IoKSk7CiAgICAgTGF5b3V0VW5pdCBkZW5vbWluYXRv
ckRlc2NlbnQgPSBkZW5vbWluYXRvcigpLmxvZ2ljYWxIZWlnaHQoKSAtIGRlbm9taW5hdG9yQXNj
ZW50OwotICAgIGlmIChpc1N0YWNrKCkpIHsKKyAgICBMYXlvdXRVbml0IGFzY2VudCA9IGFzY2Vu
dE92ZXJIb3Jpem9udGFsQXhpcygpOworICAgIHZlcnRpY2FsT2Zmc2V0ICs9IGFzY2VudDsKKyAg
ICBpZiAoTGF5b3V0VW5pdCB0aGlja25lc3MgPSBsaW5lVGhpY2tuZXNzKCkpIHsKKyAgICAgICAg
RnJhY3Rpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnMgPSBmcmFjdGlvblBhcmFtZXRlcnMoKTsKKyAg
ICAgICAgdmVydGljYWxPZmZzZXQgKz0gc3RkOjptYXgodGhpY2tuZXNzIC8gMiArIHBhcmFtZXRl
cnMuZGVub21pbmF0b3JHYXBNaW4sIHBhcmFtZXRlcnMuZGVub21pbmF0b3JNaW5TaGlmdERvd24g
LSBkZW5vbWluYXRvckFzY2VudCk7CisgICAgfSBlbHNlIHsKICAgICAgICAgU3RhY2tQYXJhbWV0
ZXJzIHBhcmFtZXRlcnMgPSBzdGFja1BhcmFtZXRlcnMoKTsKLSAgICAgICAgTGF5b3V0VW5pdCBn
YXAgPSBwYXJhbWV0ZXJzLnRvcFNoaWZ0VXAgLSBudW1lcmF0b3JEZXNjZW50ICsgcGFyYW1ldGVy
cy5ib3R0b21TaGlmdERvd24gLSBkZW5vbWluYXRvckFzY2VudDsKLSAgICAgICAgaWYgKGdhcCA8
IHBhcmFtZXRlcnMuZ2FwTWluKSB7Ci0gICAgICAgICAgICAvLyBJZiB0aGUgZ2FwIGlzIG5vdCBs
YXJnZSBlbm91Z2gsIHdlIGluY3JlYXNlIHRoZSBzaGlmdHMgYnkgdGhlIHNhbWUgdmFsdWUuCi0g
ICAgICAgICAgICBMYXlvdXRVbml0IGRlbHRhID0gKHBhcmFtZXRlcnMuZ2FwTWluIC0gZ2FwKSAv
IDI7Ci0gICAgICAgICAgICBwYXJhbWV0ZXJzLnRvcFNoaWZ0VXAgKz0gZGVsdGE7Ci0gICAgICAg
ICAgICBwYXJhbWV0ZXJzLmJvdHRvbVNoaWZ0RG93biArPSBkZWx0YTsKLSAgICAgICAgfQotICAg
ICAgICB2ZXJ0aWNhbE9mZnNldCArPSBudW1lcmF0b3JBc2NlbnQgKyBwYXJhbWV0ZXJzLnRvcFNo
aWZ0VXA7IC8vIFRoaXMgaXMgdGhlIG1pZGRsZSBvZiB0aGUgc3RhY2sgZ2FwLgotICAgICAgICBt
X2FzY2VudCA9IHZlcnRpY2FsT2Zmc2V0ICsgbWF0aEF4aXNIZWlnaHQoKTsKICAgICAgICAgdmVy
dGljYWxPZmZzZXQgKz0gcGFyYW1ldGVycy5ib3R0b21TaGlmdERvd24gLSBkZW5vbWluYXRvckFz
Y2VudDsKLSAgICB9IGVsc2UgewotICAgICAgICBGcmFjdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVy
cyA9IGZyYWN0aW9uUGFyYW1ldGVycygpOwotICAgICAgICB2ZXJ0aWNhbE9mZnNldCArPSBzdGQ6
Om1heChudW1lcmF0b3IoKS5sb2dpY2FsSGVpZ2h0KCkgKyBwYXJhbWV0ZXJzLm51bWVyYXRvckdh
cE1pbiArIG1fbGluZVRoaWNrbmVzcyAvIDIsIG51bWVyYXRvckFzY2VudCArIHBhcmFtZXRlcnMu
bnVtZXJhdG9yTWluU2hpZnRVcCk7IC8vIFRoaXMgaXMgdGhlIG1pZGRsZSBvZiB0aGUgZnJhY3Rp
b24gYmFyLgotICAgICAgICBtX2FzY2VudCA9IHZlcnRpY2FsT2Zmc2V0ICsgbWF0aEF4aXNIZWln
aHQoKTsKLSAgICAgICAgdmVydGljYWxPZmZzZXQgKz0gc3RkOjptYXgobV9saW5lVGhpY2tuZXNz
IC8gMiArIHBhcmFtZXRlcnMuZGVub21pbmF0b3JHYXBNaW4sIHBhcmFtZXRlcnMuZGVub21pbmF0
b3JNaW5TaGlmdERvd24gLSBkZW5vbWluYXRvckFzY2VudCk7CiAgICAgfQogCiAgICAgTGF5b3V0
UG9pbnQgZGVub21pbmF0b3JMb2NhdGlvbihob3Jpem9udGFsT2Zmc2V0KGRlbm9taW5hdG9yKCks
IGVsZW1lbnQoKS5kZW5vbWluYXRvckFsaWdubWVudCgpKSwgdmVydGljYWxPZmZzZXQpOwogICAg
IGRlbm9taW5hdG9yKCkuc2V0TG9jYXRpb24oZGVub21pbmF0b3JMb2NhdGlvbik7CiAKLSAgICB2
ZXJ0aWNhbE9mZnNldCA9IHN0ZDo6bWF4KHZlcnRpY2FsT2Zmc2V0ICsgZGVub21pbmF0b3IoKS5s
b2dpY2FsSGVpZ2h0KCksIG1fYXNjZW50ICsgZGVub21pbmF0b3JEZXNjZW50KTsgLy8gVGhpcyBp
cyB0aGUgYm90dG9tIG9mIG91ciByZW5kZXJlci4KKyAgICB2ZXJ0aWNhbE9mZnNldCA9IHN0ZDo6
bWF4KHZlcnRpY2FsT2Zmc2V0ICsgZGVub21pbmF0b3IoKS5sb2dpY2FsSGVpZ2h0KCksIGFzY2Vu
dCArIG1hdGhBeGlzSGVpZ2h0KCkgKyBkZW5vbWluYXRvckRlc2NlbnQpOyAvLyBUaGlzIGlzIHRo
ZSBib3R0b20gb2Ygb3VyIHJlbmRlcmVyLgogICAgIHNldExvZ2ljYWxIZWlnaHQodmVydGljYWxP
ZmZzZXQpOwogCiAgICAgbGF5b3V0UG9zaXRpb25lZE9iamVjdHMocmVsYXlvdXRDaGlsZHJlbik7
CkBAIC0yMzQsMTQgKzI1NCwxNSBAQCB2b2lkIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpsYXlvdXRC
bG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiB2b2lkIFJlbmRlck1hdGhN
TEZyYWN0aW9uOjpwYWludChQYWludEluZm8mIGluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWlu
dE9mZnNldCkKIHsKICAgICBSZW5kZXJNYXRoTUxCbG9jazo6cGFpbnQoaW5mbywgcGFpbnRPZmZz
ZXQpOwotICAgIGlmIChpbmZvLmNvbnRleHQoKS5wYWludGluZ0Rpc2FibGVkKCkgfHwgaW5mby5w
aGFzZSAhPSBQYWludFBoYXNlRm9yZWdyb3VuZCB8fCBzdHlsZSgpLnZpc2liaWxpdHkoKSAhPSBW
SVNJQkxFIHx8ICFpc1ZhbGlkKCkgfHwgaXNTdGFjaygpKQorICAgIExheW91dFVuaXQgdGhpY2tu
ZXNzID0gbGluZVRoaWNrbmVzcygpOworICAgIGlmIChpbmZvLmNvbnRleHQoKS5wYWludGluZ0Rp
c2FibGVkKCkgfHwgaW5mby5waGFzZSAhPSBQYWludFBoYXNlRm9yZWdyb3VuZCB8fCBzdHlsZSgp
LnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8ICFpc1ZhbGlkKCkgfHwgIXRoaWNrbmVzcykKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgSW50UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9IHJvdW5k
ZWRJbnRQb2ludChwYWludE9mZnNldCArIGxvY2F0aW9uKCkgKyBMYXlvdXRQb2ludCgwLCBtX2Fz
Y2VudCAtIG1hdGhBeGlzSGVpZ2h0KCkpKTsKKyAgICBJbnRQb2ludCBhZGp1c3RlZFBhaW50T2Zm
c2V0ID0gcm91bmRlZEludFBvaW50KHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKSArIExheW91dFBv
aW50KDAsIGFzY2VudE92ZXJIb3Jpem9udGFsQXhpcygpKSk7CiAKICAgICBHcmFwaGljc0NvbnRl
eHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoaW5mby5jb250ZXh0KCkpOwogCi0gICAgaW5mby5jb250
ZXh0KCkuc2V0U3Ryb2tlVGhpY2tuZXNzKG1fbGluZVRoaWNrbmVzcyk7CisgICAgaW5mby5jb250
ZXh0KCkuc2V0U3Ryb2tlVGhpY2tuZXNzKHRoaWNrbmVzcyk7CiAgICAgaW5mby5jb250ZXh0KCku
c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwogICAgIGluZm8uY29udGV4dCgpLnNldFN0cm9r
ZUNvbG9yKHN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpKTsK
ICAgICBpbmZvLmNvbnRleHQoKS5kcmF3TGluZShhZGp1c3RlZFBhaW50T2Zmc2V0LCByb3VuZGVk
SW50UG9pbnQoTGF5b3V0UG9pbnQoYWRqdXN0ZWRQYWludE9mZnNldC54KCkgKyBsb2dpY2FsV2lk
dGgoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkpKSk7CkBAIC0yNTAsNyArMjcxLDcgQEAgdm9p
ZCBSZW5kZXJNYXRoTUxGcmFjdGlvbjo6cGFpbnQoUGFpbnRJbmZvJiBpbmZvLCBjb25zdCBMYXlv
dXRQb2ludCYgcGFpbnRPZmZzZXQKIHN0ZDo6b3B0aW9uYWw8aW50PiBSZW5kZXJNYXRoTUxGcmFj
dGlvbjo6Zmlyc3RMaW5lQmFzZWxpbmUoKSBjb25zdAogewogICAgIGlmIChpc1ZhbGlkKCkpCi0g
ICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPGludD4oc3RkOjpscm91bmQoc3RhdGljX2Nhc3Q8
ZmxvYXQ+KG1fYXNjZW50KSkpOworICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxpbnQ+KHN0
ZDo6bHJvdW5kKHN0YXRpY19jYXN0PGZsb2F0Pihhc2NlbnRPdmVySG9yaXpvbnRhbEF4aXMoKSAr
IG1hdGhBeGlzSGVpZ2h0KCkpKSk7CiAgICAgcmV0dXJuIFJlbmRlck1hdGhNTEJsb2NrOjpmaXJz
dExpbmVCYXNlbGluZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKaW5kZXggMmVkNjkyNDlhOTg2ZmJmZGNl
YjQ2Mjg3MDlhMDNlZWRhYzc0ZTJkZC4uMTQ3NDcwYjQxNzY1Y2E2ZDBkYTE4MGZmOTNlZTNkNWU5
MmRmNWFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxGcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MRnJhY3Rpb24uaApAQCAtNDEsNyArNDEsOSBAQCBjbGFzcyBSZW5kZXJNYXRo
TUxGcmFjdGlvbiBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNYXRoTUxCbG9jayB7CiBwdWJsaWM6CiAg
ICAgUmVuZGVyTWF0aE1MRnJhY3Rpb24oTWF0aE1MRnJhY3Rpb25FbGVtZW50JiwgUmVuZGVyU3R5
bGUmJik7CiAKLSAgICBmbG9hdCByZWxhdGl2ZUxpbmVUaGlja25lc3MoKSBjb25zdCB7IHJldHVy
biBtX2RlZmF1bHRMaW5lVGhpY2tuZXNzID8gbV9saW5lVGhpY2tuZXNzIC8gbV9kZWZhdWx0TGlu
ZVRoaWNrbmVzcyA6IExheW91dFVuaXQoMCk7IH0KKyAgICBMYXlvdXRVbml0IGRlZmF1bHRMaW5l
VGhpY2tuZXNzKCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBsaW5lVGhpY2tuZXNzKCkgY29uc3Q7
CisgICAgZmxvYXQgcmVsYXRpdmVMaW5lVGhpY2tuZXNzKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAg
ICAgYm9vbCBpc1JlbmRlck1hdGhNTEZyYWN0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1
ZTsgfQpAQCAtNTUsMjkgKzU3LDI0IEBAIHByaXZhdGU6CiAKICAgICBNYXRoTUxGcmFjdGlvbkVs
ZW1lbnQmIGVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxNYXRoTUxGcmFjdGlv
bkVsZW1lbnQmPihub2RlRm9yTm9uQW5vbnltb3VzKCkpOyB9CiAKLSAgICBib29sIGlzU3RhY2so
KSBjb25zdCB7IHJldHVybiAhbV9saW5lVGhpY2tuZXNzOyB9CiAgICAgYm9vbCBpc1ZhbGlkKCkg
Y29uc3Q7CiAgICAgUmVuZGVyQm94JiBudW1lcmF0b3IoKSBjb25zdDsKICAgICBSZW5kZXJCb3gm
IGRlbm9taW5hdG9yKCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBob3Jpem9udGFsT2Zmc2V0KFJl
bmRlckJveCYsIE1hdGhNTEZyYWN0aW9uRWxlbWVudDo6RnJhY3Rpb25BbGlnbm1lbnQpOwotICAg
IHZvaWQgdXBkYXRlTGluZVRoaWNrbmVzcygpOworICAgIExheW91dFVuaXQgaG9yaXpvbnRhbE9m
ZnNldChSZW5kZXJCb3gmLCBNYXRoTUxGcmFjdGlvbkVsZW1lbnQ6OkZyYWN0aW9uQWxpZ25tZW50
KSBjb25zdDsKICAgICBzdHJ1Y3QgRnJhY3Rpb25QYXJhbWV0ZXJzIHsKICAgICAgICAgTGF5b3V0
VW5pdCBudW1lcmF0b3JHYXBNaW47CiAgICAgICAgIExheW91dFVuaXQgZGVub21pbmF0b3JHYXBN
aW47CiAgICAgICAgIExheW91dFVuaXQgbnVtZXJhdG9yTWluU2hpZnRVcDsKICAgICAgICAgTGF5
b3V0VW5pdCBkZW5vbWluYXRvck1pblNoaWZ0RG93bjsKICAgICB9OwotICAgIEZyYWN0aW9uUGFy
YW1ldGVycyBmcmFjdGlvblBhcmFtZXRlcnMoKTsKKyAgICBGcmFjdGlvblBhcmFtZXRlcnMgZnJh
Y3Rpb25QYXJhbWV0ZXJzKCkgY29uc3Q7CiAgICAgc3RydWN0IFN0YWNrUGFyYW1ldGVycyB7CiAg
ICAgICAgIExheW91dFVuaXQgZ2FwTWluOwogICAgICAgICBMYXlvdXRVbml0IHRvcFNoaWZ0VXA7
CiAgICAgICAgIExheW91dFVuaXQgYm90dG9tU2hpZnREb3duOwogICAgIH07Ci0gICAgU3RhY2tQ
YXJhbWV0ZXJzIHN0YWNrUGFyYW1ldGVycygpOwotCi0gICAgTGF5b3V0VW5pdCBtX2FzY2VudDsK
LSAgICBMYXlvdXRVbml0IG1fZGVmYXVsdExpbmVUaGlja25lc3MgeyAxIH07Ci0gICAgTGF5b3V0
VW5pdCBtX2xpbmVUaGlja25lc3M7CisgICAgU3RhY2tQYXJhbWV0ZXJzIHN0YWNrUGFyYW1ldGVy
cygpIGNvbnN0OworICAgIExheW91dFVuaXQgYXNjZW50T3Zlckhvcml6b250YWxBeGlzKCkgY29u
c3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>