<?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>185377</bug_id>
          
          <creation_ts>2018-05-07 07:18:35 -0700</creation_ts>
          <short_desc>[LFC] Add FormattingContext::layoutOutOfFlowDescendants implementation</short_desc>
          <delta_ts>2018-05-07 22:27:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>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>1421273</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-05-07 07:18:35 -0700</bug_when>
    <thetext>ssia.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421275</commentid>
    <comment_count>1</comment_count>
      <attachid>339718</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-07 07:27:49 -0700</bug_when>
    <thetext>Created attachment 339718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421375</commentid>
    <comment_count>2</comment_count>
      <attachid>339718</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-05-07 12:19:06 -0700</bug_when>
    <thetext>Comment on attachment 339718
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=339718&amp;action=review

&gt; Source/WebCore/layout/FormattingContext.h:66
&gt; -    const LayoutContext&amp; layoutContext() const { return m_layoutContext; }
&gt; +    LayoutContext&amp; layoutContext() const { return m_layoutContext; }

I&apos;m not sure I understand what the intention with constness here is. If LayoutContext is part of the FormattingContext and it is mutated during layout then functions like FormattingContext::layoutOutOfFlowDescendants() probably shouldn&apos;t be const in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421406</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-05-07 13:31:09 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 339718 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=339718&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/FormattingContext.h:66
&gt; &gt; -    const LayoutContext&amp; layoutContext() const { return m_layoutContext; }
&gt; &gt; +    LayoutContext&amp; layoutContext() const { return m_layoutContext; }
&gt; 
&gt; I&apos;m not sure I understand what the intention with constness here is. If
&gt; LayoutContext is part of the FormattingContext and it is mutated during
&gt; layout then functions like FormattingContext::layoutOutOfFlowDescendants()
&gt; probably shouldn&apos;t be const in the first place.
I think what I need to do here is to go back the original design when LayoutContext was passed in to FormattingContext::layout() (together with the mutable FormattingState). I changed it to a member while dealing with inherited floatings, but I think I can workaround that. FormattingContext::layout() will always mutate the (passed in) FormattingState by design. It also mutates the LayoutContext to construct Display::Boxes and generate new FormattingStates for the nested formatting contexts (and that is also by design)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421631</commentid>
    <comment_count>4</comment_count>
      <attachid>339797</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-07 21:37:33 -0700</bug_when>
    <thetext>Created attachment 339797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421648</commentid>
    <comment_count>5</comment_count>
      <attachid>339797</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-07 22:26:45 -0700</bug_when>
    <thetext>Comment on attachment 339797
Patch

Clearing flags on attachment: 339797

Committed r231480: &lt;https://trac.webkit.org/changeset/231480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421649</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-07 22:26:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421650</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-07 22:27:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/40048933&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339718</attachid>
            <date>2018-05-07 07:27:49 -0700</date>
            <delta_ts>2018-05-07 21:37:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185377-20180507072748.patch</filename>
            <type>text/plain</type>
            <size>9091</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjIwZDUyYjRkMDJhMmJi
YzEyNmQ4NWViNGNiNmI1M2RmMjNhNjBmMC4uYWQ3NGRhNzA3NjIzMGJlMzljNmVlNDg4ODRhYzM5
ZGM1MjNmMGJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA1LTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRkIEZvcm1hdHRp
bmdDb250ZXh0OjpsYXlvdXRPdXRPZkZsb3dEZXNjZW5kYW50cyBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1Mzc3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5n
Q29udGV4dDo6bGF5b3V0T3V0T2ZGbG93RGVzY2VuZGFudHMgY29uc3QpOgorICAgICAgICAqIGxh
eW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3Jt
YXR0aW5nQ29udGV4dDo6bGF5b3V0Q29udGV4dCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L0xh
eW91dENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRDb250ZXh0
Ojp1cGRhdGVMYXlvdXQpOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OmxheW91dCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0IGNvbnN0KToKKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oOgor
CiAyMDE4LTA1LTA2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W0xGQ10gQWRkIGFzc2VydGlvbnMgZm9yIHN0YWxlIERpc3BsYXk6OkJveCBnZW9tZXRyeQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggNjNmMWI1MDBi
MzUyMWNiMjNjN2FiY2ZjOWZmNjVmMDg4MmMxMTZkNi4uMjQxMTg1Nzg4OTI2M2U2NjhmZWYzNzQ3
MTg0ZTRhODFiZGM4NGNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHQuY3BwCkBAIC0yOSw2ICsyOSw4IEBACiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiAKICNpbmNsdWRlICJMYXlvdXRCb3guaCIKKyNpbmNsdWRlICJMYXlvdXRDb250
YWluZXIuaCIKKyNpbmNsdWRlICJMYXlvdXRDb250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTE4LDYgKzEyMCwyMiBA
QCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0OjpwbGFjZUluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihj
b25zdCBDb250YWluZXImKSBjb25zdAogCiB2b2lkIEZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRP
dXRPZkZsb3dEZXNjZW5kYW50cygpIGNvbnN0CiB7CisgICAgaWYgKCFpczxDb250YWluZXI+KG1f
cm9vdC5nZXQoKSkpCisgICAgICAgIHJldHVybjsKKyAgICBhdXRvJiBsYXlvdXRDb250ZXh0ID0g
dGhpcy0+bGF5b3V0Q29udGV4dCgpOworICAgIGZvciAoYXV0byYgb3V0T2ZGbG93Qm94IDogZG93
bmNhc3Q8Q29udGFpbmVyPigqbV9yb290KS5vdXRPZkZsb3dEZXNjZW5kYW50cygpKSB7CisgICAg
ICAgIGF1dG8mIGxheW91dEJveCA9ICpvdXRPZkZsb3dCb3g7CisgICAgICAgIGF1dG8mIGRpc3Bs
YXlCb3ggPSBsYXlvdXRDb250ZXh0LmNyZWF0ZURpc3BsYXlCb3gobGF5b3V0Qm94KTsKKworICAg
ICAgICBjb21wdXRlT3V0T2ZGbG93UG9zaXRpb24obGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAg
ICAgICAgY29tcHV0ZU91dE9mRmxvd1dpZHRoKGxheW91dEJveCwgZGlzcGxheUJveCk7CisKKyAg
ICAgICAgQVNTRVJUKGxheW91dEJveC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpOwor
ICAgICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gbGF5b3V0Q29udGV4dC5mb3JtYXR0aW5n
Q29udGV4dChsYXlvdXRCb3gpOworICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0KGxh
eW91dENvbnRleHQuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUobGF5b3V0Qm94LCAqZm9ybWF0
dGluZ0NvbnRleHQpKTsKKworICAgICAgICBjb21wdXRlT3V0T2ZGbG93SGVpZ2h0KGxheW91dEJv
eCwgZGlzcGxheUJveCk7CisgICAgfQogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dC5oCmluZGV4IDUzNzllYmRiM2JhZGRmODA1YjZmM2FjMjIxYjcxYzVhZmE2
ODUwZTMuLjhmODU4Y2RhOGIzOWU0Y2QxMTc5ODlhNmNjOTBlMzc1YzZiNDkwNzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1
YmxpYzoKICAgICBGb3JtYXR0aW5nQ29udGV4dChjb25zdCBCb3gmIGZvcm1hdHRpbmdDb250ZXh0
Um9vdCwgTGF5b3V0Q29udGV4dCYpOwogICAgIHZpcnR1YWwgfkZvcm1hdHRpbmdDb250ZXh0KCk7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KExheW91dENvbnRleHQmLCBGb3JtYXR0aW5nU3Rh
dGUmKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGxheW91dChGb3JtYXR0aW5nU3RhdGUm
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8Rm9ybWF0dGluZ1N0YXRl
PiBjcmVhdGVGb3JtYXR0aW5nU3RhdGUoUmVmPEZsb2F0aW5nU3RhdGU+JiYpIGNvbnN0ID0gMDsK
ICAgICB2aXJ0dWFsIFJlZjxGbG9hdGluZ1N0YXRlPiBjcmVhdGVPckZpbmRGbG9hdGluZ1N0YXRl
KCkgY29uc3QgPSAwOwogCkBAIC02Myw3ICs2Myw3IEBAIHByb3RlY3RlZDoKICAgICB1c2luZyBM
YXlvdXRRdWV1ZSA9IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0UGFpcj4+OwogCiAgICAg
Y29uc3QgQm94JiByb290KCkgY29uc3QgeyByZXR1cm4gKm1fcm9vdDsgfQotICAgIGNvbnN0IExh
eW91dENvbnRleHQmIGxheW91dENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX2xheW91dENvbnRl
eHQ7IH0KKyAgICBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0KCkgY29uc3QgeyByZXR1cm4g
bV9sYXlvdXRDb250ZXh0OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVN0YXRpY1Bvc2l0
aW9uKGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBj
b21wdXRlSW5GbG93UG9zaXRpb25lZFBvc2l0aW9uKGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuY3BwCmluZGV4IDYwODk0
OTQ0Nzk1MmNhZjUwOTUxOTllOTI3ZmY5YWNjYTllYzQ3MGUuLmU3ODY2OGU0ZGQ5NTI5OWFkZDNk
NjFkODNkN2ZmOWJhNTJlZjU3ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9M
YXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4
dC5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBMYXlvdXRDb250ZXh0Ojp1cGRhdGVMYXlvdXQo
KQogICAgICAgICBSRUxFQVNFX0FTU0VSVChsYXlvdXRSb290LT5lc3RhYmxpc2hlc0Zvcm1hdHRp
bmdDb250ZXh0KCkpOwogICAgICAgICBhdXRvIGNvbnRleHQgPSBmb3JtYXR0aW5nQ29udGV4dCgq
bGF5b3V0Um9vdCk7CiAgICAgICAgIGF1dG8mIHN0YXRlID0gZXN0YWJsaXNoZWRGb3JtYXR0aW5n
U3RhdGUoKmxheW91dFJvb3QsICpjb250ZXh0KTsKLSAgICAgICAgY29udGV4dC0+bGF5b3V0KCp0
aGlzLCBzdGF0ZSk7CisgICAgICAgIGNvbnRleHQtPmxheW91dChzdGF0ZSk7CiAgICAgfQogICAg
IG1fZm9ybWF0dGluZ0NvbnRleHRSb290TGlzdEZvckxheW91dC5jbGVhcigpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggNDY0YzBiMGUwNWI5YWFhNzQwYTE2Y2FjMjE1
NDkxYWIwY2Y2N2QyNy4uZDUxMDVjMGViYzY5MzJmMmE0NGJhMjdkMDJlNzZmMTZhZGUwZThhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQoY29uc3QgQm94JiBmb3Jt
YXR0aW5nQ29udGV4dFJvb3QsCiB7CiB9CiAKLXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
bGF5b3V0KExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIEZvcm1hdHRpbmdTdGF0ZSYgZm9y
bWF0dGluZ1N0YXRlKSBjb25zdAordm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQo
Rm9ybWF0dGluZ1N0YXRlJiBmb3JtYXR0aW5nU3RhdGUpIGNvbnN0CiB7CiAgICAgLy8gOS40LjEg
QmxvY2sgZm9ybWF0dGluZyBjb250ZXh0cwogICAgIC8vIEluIGEgYmxvY2sgZm9ybWF0dGluZyBj
b250ZXh0LCBib3hlcyBhcmUgbGFpZCBvdXQgb25lIGFmdGVyIHRoZSBvdGhlciwgdmVydGljYWxs
eSwgYmVnaW5uaW5nIGF0IHRoZSB0b3Agb2YgYSBjb250YWluaW5nIGJsb2NrLgpAQCAtNjAsNiAr
NjAsNyBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dChMYXlvdXRDb250ZXh0
JiBsYXlvdXRDb250ZXh0LCBGb3JtYXR0aW5nU3RhdAogICAgIEZsb2F0aW5nQ29udGV4dCBmbG9h
dGluZ0NvbnRleHQoZm9ybWF0dGluZ1N0YXRlLmZsb2F0aW5nU3RhdGUoKSk7CiAgICAgLy8gVGhp
cyBpcyBhIHBvc3Qtb3JkZXIgdHJlZSB0cmF2ZXJzYWwgbGF5b3V0LgogICAgIC8vIFRoZSByb290
IGNvbnRhaW5lciBsYXlvdXQgaXMgZG9uZSBpbiB0aGUgZm9ybWF0dGluZyBjb250ZXh0IGl0IGxp
dmVzIGluLCBub3QgdGhhdCBvbmUgaXQgY3JlYXRlcywgc28gbGV0J3Mgc3RhcnQgd2l0aCB0aGUg
Zmlyc3QgY2hpbGQuCisgICAgYXV0byYgbGF5b3V0Q29udGV4dCA9IHRoaXMtPmxheW91dENvbnRl
eHQoKTsKICAgICBpZiAoYXV0byogZmlyc3RDaGlsZCA9IGZvcm1hdHRpbmdSb290LmZpcnN0SW5G
bG93T3JGbG9hdGluZ0NoaWxkKCkpCiAgICAgICAgIGxheW91dFF1ZXVlLmFwcGVuZChzdGQ6Om1h
a2VfdW5pcXVlPExheW91dFBhaXI+KExheW91dFBhaXIgeypmaXJzdENoaWxkLCBsYXlvdXRDb250
ZXh0LmNyZWF0ZURpc3BsYXlCb3goKmZpcnN0Q2hpbGQpfSkpOwogICAgIC8vIDEuIEdvIGFsbCB0
aGUgd2F5IGRvd24gdG8gdGhlIGxlYWYgbm9kZQpAQCAtNzcsNyArNzgsNyBAQCB2b2lkIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBG
b3JtYXR0aW5nU3RhdAogICAgICAgICAgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uKGxheW91dEJv
eCwgbGF5b3V0UGFpci5kaXNwbGF5Qm94KTsKICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guZXN0
YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byBmb3Jt
YXR0aW5nQ29udGV4dCA9IGxheW91dENvbnRleHQuZm9ybWF0dGluZ0NvbnRleHQobGF5b3V0Qm94
KTsKLSAgICAgICAgICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0KGxheW91dENvbnRl
eHQsIGxheW91dENvbnRleHQuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUobGF5b3V0Qm94LCAq
Zm9ybWF0dGluZ0NvbnRleHQpKTsKKyAgICAgICAgICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+
bGF5b3V0KGxheW91dENvbnRleHQuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUobGF5b3V0Qm94
LCAqZm9ybWF0dGluZ0NvbnRleHQpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGlmICghaXM8Q29udGFpbmVyPihsYXlvdXRCb3gpIHx8ICFkb3du
Y2FzdDxDb250YWluZXI+KGxheW91dEJveCkuaGFzSW5GbG93T3JGbG9hdGluZ0NoaWxkKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDAzY2ZmMzU2MzY0ZTNkYTEyMDNhNGYwODk1
YzRhNGM1YTBhM2NiYzQuLjMwMDhlZmFlNzI3NDI4MWVkMWJjM2E3OTIyMmI0Y2Q1ZjhhODJkZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQgOiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQgewogcHVibGlj
OgogICAgIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQoY29uc3QgQm94JiBmb3JtYXR0aW5nQ29udGV4
dFJvb3QsIExheW91dENvbnRleHQmKTsKIAotICAgIHZvaWQgbGF5b3V0KExheW91dENvbnRleHQm
LCBGb3JtYXR0aW5nU3RhdGUmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGxheW91dChGb3Jt
YXR0aW5nU3RhdGUmKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Rm9ybWF0
dGluZ1N0YXRlPiBjcmVhdGVGb3JtYXR0aW5nU3RhdGUoUmVmPEZsb2F0aW5nU3RhdGU+JiYpIGNv
bnN0IG92ZXJyaWRlOwogICAgIFJlZjxGbG9hdGluZ1N0YXRlPiBjcmVhdGVPckZpbmRGbG9hdGlu
Z1N0YXRlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAppbmRleCBmOTM0ZjY4YWI1MzY3MDJmMDFiZTk2ODFkZTc1YmMwZTBkNTU5ZmFhLi40ZTY1
NjM1OWE2OWJjZjJhNTEyYTg4YmU3NzQzNWI1YjQ1MWYwYWE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCkBAIC00NCw3ICs0NCw3IEBAIElubGluZUZvcm1hdHRpbmdDb250
ZXh0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dChjb25zdCBCb3gmIGZvcm1hdHRpbmdDb250ZXh0
Um9vCiB7CiB9CiAKLXZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dChMYXlvdXRD
b250ZXh0JiwgRm9ybWF0dGluZ1N0YXRlJikgY29uc3QKK3ZvaWQgSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQ6OmxheW91dChGb3JtYXR0aW5nU3RhdGUmKSBjb25zdAogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA5NzYwYjhkMDU1MDFiMWNkMjFhZDNkNWU0M2QzZmUy
MDRlZjQ3MGNlLi4yODYzYzUzNDAyZjM2Y2EzZTRhYzM5MjMyMTU5M2U5Mjg5MGE5YjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQgOiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQgewogcHVibGlj
OgogICAgIElubGluZUZvcm1hdHRpbmdDb250ZXh0KGNvbnN0IEJveCYgZm9ybWF0dGluZ0NvbnRl
eHRSb290LCBMYXlvdXRDb250ZXh0Jik7CiAKLSAgICB2b2lkIGxheW91dChMYXlvdXRDb250ZXh0
JiwgRm9ybWF0dGluZ1N0YXRlJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBsYXlvdXQoRm9y
bWF0dGluZ1N0YXRlJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEZvcm1h
dHRpbmdTdGF0ZT4gY3JlYXRlRm9ybWF0dGluZ1N0YXRlKFJlZjxGbG9hdGluZ1N0YXRlPiYmKSBj
b25zdCBvdmVycmlkZTsKICAgICBSZWY8RmxvYXRpbmdTdGF0ZT4gY3JlYXRlT3JGaW5kRmxvYXRp
bmdTdGF0ZSgpIGNvbnN0IG92ZXJyaWRlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339797</attachid>
            <date>2018-05-07 21:37:33 -0700</date>
            <delta_ts>2018-05-07 22:26:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185377-20180507213732.patch</filename>
            <type>text/plain</type>
            <size>15281</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjIwZDUyYjRkMDJhMmJi
YzEyNmQ4NWViNGNiNmI1M2RmMjNhNjBmMC4uZjBjMGNhZmY4ZmUyMTNmZWVkZjdkZmQxYTVlYThh
YTNlZmFkNjlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA1LTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRkIEZvcm1hdHRp
bmdDb250ZXh0OjpsYXlvdXRPdXRPZkZsb3dEZXNjZW5kYW50cyBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1Mzc3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgQWxzbywgcmVtb3Zl
IEZvcm1hdHRpbmdDb250ZXh0J3MgbV9sYXlvdXRDb250ZXh0IG1lbWJlciBhbmQgcGFzcyBpdCBp
biB0byA6OmxheW91dCgpIGluc3RlYWQuCisgICAgICAgIEluIHRoZW9yeSBMYXlvdXRDb250ZXh0
IGlzIG5lZWRlZCBvbmx5IGR1cmluZyA6OmxheW91dCgpIGNhbGwuIAorCisgICAgICAgICogbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9y
bWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxvd0Rlc2NlbmRhbnRzIGNvbnN0KToKKyAgICAg
ICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dENvbnRleHQgY29uc3QpOgorICAgICAgICAqIGxh
eW91dC9MYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0
Q29udGV4dDo6dXBkYXRlTGF5b3V0KToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQgY29uc3QpOgorICAgICAgICAqIGxheW91dC9i
bG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dCBjb25zdCk6
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuaDoKKwogMjAxOC0wNS0wNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdIEFkZCBhc3NlcnRpb25zIGZvciBzdGFsZSBEaXNwbGF5OjpCb3ggZ2VvbWV0
cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDYz
ZjFiNTAwYjM1MjFjYjIzYzdhYmNmYzlmZjY1ZjA4ODJjMTE2ZDYuLjc5ZjYxZWU5NWI3MDc2ZDRj
MGU5YzdhYjQ5ZTJhYzYyZmIyMTdiYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1h
dHRpbmdDb250ZXh0LmNwcApAQCAtMjksNiArMjksOCBAQAogI2lmIEVOQUJMRShMQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKQogCiAjaW5jbHVkZSAiTGF5b3V0Qm94LmgiCisjaW5jbHVkZSAiTGF5
b3V0Q29udGFpbmVyLmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGV4dC5oIgogI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDkgKzM4
LDggQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChG
b3JtYXR0aW5nQ29udGV4dCk7CiAKLUZvcm1hdHRpbmdDb250ZXh0OjpGb3JtYXR0aW5nQ29udGV4
dChjb25zdCBCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgTGF5b3V0Q29udGV4dCYgbGF5b3V0
Q29udGV4dCkKK0Zvcm1hdHRpbmdDb250ZXh0OjpGb3JtYXR0aW5nQ29udGV4dChjb25zdCBCb3gm
IGZvcm1hdHRpbmdDb250ZXh0Um9vdCkKICAgICA6IG1fcm9vdChtYWtlV2Vha1B0cihjb25zdF9j
YXN0PEJveCY+KGZvcm1hdHRpbmdDb250ZXh0Um9vdCkpKQotICAgICwgbV9sYXlvdXRDb250ZXh0
KGxheW91dENvbnRleHQpCiB7CiB9CiAKQEAgLTQ2LDcgKzQ3LDcgQEAgRm9ybWF0dGluZ0NvbnRl
eHQ6On5Gb3JtYXR0aW5nQ29udGV4dCgpCiB7CiB9CiAKLXZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6
OmNvbXB1dGVTdGF0aWNQb3NpdGlvbihjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdAor
dm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uKExheW91dENvbnRl
eHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdAogewogfQogCkBAIC0xMTYsOCAr
MTE3LDIzIEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OnBsYWNlSW5GbG93UG9zaXRpb25lZENo
aWxkcmVuKGNvbnN0IENvbnRhaW5lciYpIGNvbnN0CiB7CiB9CiAKLXZvaWQgRm9ybWF0dGluZ0Nv
bnRleHQ6OmxheW91dE91dE9mRmxvd0Rlc2NlbmRhbnRzKCkgY29uc3QKK3ZvaWQgRm9ybWF0dGlu
Z0NvbnRleHQ6OmxheW91dE91dE9mRmxvd0Rlc2NlbmRhbnRzKExheW91dENvbnRleHQmIGxheW91
dENvbnRleHQpIGNvbnN0CiB7CisgICAgaWYgKCFpczxDb250YWluZXI+KG1fcm9vdC5nZXQoKSkp
CisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKGF1dG8mIG91dE9mRmxvd0JveCA6IGRvd25jYXN0
PENvbnRhaW5lcj4oKm1fcm9vdCkub3V0T2ZGbG93RGVzY2VuZGFudHMoKSkgeworICAgICAgICBh
dXRvJiBsYXlvdXRCb3ggPSAqb3V0T2ZGbG93Qm94OworICAgICAgICBhdXRvJiBkaXNwbGF5Qm94
ID0gbGF5b3V0Q29udGV4dC5jcmVhdGVEaXNwbGF5Qm94KGxheW91dEJveCk7CisKKyAgICAgICAg
Y29tcHV0ZU91dE9mRmxvd1Bvc2l0aW9uKGxheW91dEJveCwgZGlzcGxheUJveCk7CisgICAgICAg
IGNvbXB1dGVPdXRPZkZsb3dXaWR0aChsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOworCisgICAgICAg
IEFTU0VSVChsYXlvdXRCb3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKTsKKyAgICAg
ICAgYXV0byBmb3JtYXR0aW5nQ29udGV4dCA9IGxheW91dENvbnRleHQuZm9ybWF0dGluZ0NvbnRl
eHQobGF5b3V0Qm94KTsKKyAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQtPmxheW91dChsYXlvdXRD
b250ZXh0LCBsYXlvdXRDb250ZXh0LmVzdGFibGlzaGVkRm9ybWF0dGluZ1N0YXRlKGxheW91dEJv
eCwgKmZvcm1hdHRpbmdDb250ZXh0KSk7CisKKyAgICAgICAgY29tcHV0ZU91dE9mRmxvd0hlaWdo
dChsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA1Mzc5ZWJkYjNiYWRkZjgwNWI2ZjNhYzIy
MWI3MWM1YWZhNjg1MGUzLi42ZjRkZmU1NmYzNDBmNWRkYTFlZGYzOGUyMDU2NDVlNDM1NWNlN2U4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNDgsMTIg
KzQ4LDEyIEBAIGNsYXNzIExheW91dENvbnRleHQ7CiBjbGFzcyBGb3JtYXR0aW5nQ29udGV4dCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChGb3JtYXR0aW5nQ29udGV4dCk7CiBwdWJsaWM6
Ci0gICAgRm9ybWF0dGluZ0NvbnRleHQoY29uc3QgQm94JiBmb3JtYXR0aW5nQ29udGV4dFJvb3Qs
IExheW91dENvbnRleHQmKTsKKyAgICBGb3JtYXR0aW5nQ29udGV4dChjb25zdCBCb3gmIGZvcm1h
dHRpbmdDb250ZXh0Um9vdCk7CiAgICAgdmlydHVhbCB+Rm9ybWF0dGluZ0NvbnRleHQoKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoTGF5b3V0Q29udGV4dCYsIEZvcm1hdHRpbmdTdGF0ZSYp
IGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxGb3JtYXR0aW5nU3RhdGU+
IGNyZWF0ZUZvcm1hdHRpbmdTdGF0ZShSZWY8RmxvYXRpbmdTdGF0ZT4mJikgY29uc3QgPSAwOwot
ICAgIHZpcnR1YWwgUmVmPEZsb2F0aW5nU3RhdGU+IGNyZWF0ZU9yRmluZEZsb2F0aW5nU3RhdGUo
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBSZWY8RmxvYXRpbmdTdGF0ZT4gY3JlYXRlT3JGaW5k
RmxvYXRpbmdTdGF0ZShMYXlvdXRDb250ZXh0JikgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAg
ICAgc3RydWN0IExheW91dFBhaXIgewpAQCAtNjMsOSArNjMsOCBAQCBwcm90ZWN0ZWQ6CiAgICAg
dXNpbmcgTGF5b3V0UXVldWUgPSBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPExheW91dFBhaXI+PjsK
IAogICAgIGNvbnN0IEJveCYgcm9vdCgpIGNvbnN0IHsgcmV0dXJuICptX3Jvb3Q7IH0KLSAgICBj
b25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9sYXlv
dXRDb250ZXh0OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uKGNv
bnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRl
U3RhdGljUG9zaXRpb24oTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYp
IGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSW5GbG93UG9zaXRpb25lZFBvc2l0aW9u
KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBjb21w
dXRlT3V0T2ZGbG93UG9zaXRpb24oY29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7CiAK
QEAgLTg2LDExICs4NSwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IG1h
cmdpblJpZ2h0KGNvbnN0IEJveCYpIGNvbnN0OwogCiAgICAgdm9pZCBwbGFjZUluRmxvd1Bvc2l0
aW9uZWRDaGlsZHJlbihjb25zdCBDb250YWluZXImKSBjb25zdDsKLSAgICB2b2lkIGxheW91dE91
dE9mRmxvd0Rlc2NlbmRhbnRzKCkgY29uc3Q7CisgICAgdm9pZCBsYXlvdXRPdXRPZkZsb3dEZXNj
ZW5kYW50cyhMYXlvdXRDb250ZXh0JnMpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFdlYWtQdHI8
Qm94PiBtX3Jvb3Q7Ci0gICAgTGF5b3V0Q29udGV4dCYgbV9sYXlvdXRDb250ZXh0OwogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENvbnRleHQuY3BwCmluZGV4IDYwODk0OTQ0Nzk1
MmNhZjUwOTUxOTllOTI3ZmY5YWNjYTllYzQ3MGUuLjY1OGY4Y2JjNTZlNGI4YTQ0NjI4NTcwOWY0
MTc5NDk1MmYyYjNkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5jcHAK
QEAgLTk4LDE3ICs5OCwxNyBAQCBGb3JtYXR0aW5nU3RhdGUmIExheW91dENvbnRleHQ6OmZvcm1h
dHRpbmdTdGF0ZUZvckJveChjb25zdCBCb3gmIGxheW91dEJveCkgY29ucwogRm9ybWF0dGluZ1N0
YXRlJiBMYXlvdXRDb250ZXh0Ojplc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShjb25zdCBCb3gm
IGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgY29uc3QgRm9ybWF0dGluZ0NvbnRleHQmIGNvbnRleHQp
CiB7CiAgICAgcmV0dXJuICptX2Zvcm1hdHRpbmdTdGF0ZXMuZW5zdXJlKCZmb3JtYXR0aW5nQ29u
dGV4dFJvb3QsIFt0aGlzLCAmY29udGV4dF0gewotICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVGb3JtYXR0aW5nU3RhdGUoY29udGV4dC5jcmVhdGVPckZpbmRGbG9hdGluZ1N0YXRlKCkpOwor
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGb3JtYXR0aW5nU3RhdGUoY29udGV4dC5jcmVh
dGVPckZpbmRGbG9hdGluZ1N0YXRlKCp0aGlzKSk7CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwog
fQogCiBzdGQ6OnVuaXF1ZV9wdHI8Rm9ybWF0dGluZ0NvbnRleHQ+IExheW91dENvbnRleHQ6OmZv
cm1hdHRpbmdDb250ZXh0KGNvbnN0IEJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290KQogewogICAg
IGlmIChmb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0KCkpCi0gICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ+KGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgKnRoaXMpOworICAgICAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Pihmb3JtYXR0aW5nQ29udGV4dFJv
b3QpOwogCiAgICAgaWYgKGZvcm1hdHRpbmdDb250ZXh0Um9vdC5lc3RhYmxpc2hlc0lubGluZUZv
cm1hdHRpbmdDb250ZXh0KCkpCi0gICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Pihmb3JtYXR0aW5nQ29udGV4dFJvb3QsICp0aGlzKTsKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ+KGZvcm1h
dHRpbmdDb250ZXh0Um9vdCk7CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDQ2NGMwYjBl
MDViOWFhYTc0MGExNmNhYzIxNTQ5MWFiMGNmNjdkMjcuLmQ5MzM2MGQxODBjNGNlYjE5MTRiZmJk
OWRhOWViYjY4MjdhODU0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9j
a2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAt
NDIsOCArNDIsOCBAQCBuYW1lc3BhY2UgTGF5b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQpOwogCi1CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KGNvbnN0IEJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290
LCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0KQotICAgIDogRm9ybWF0dGluZ0NvbnRleHQo
Zm9ybWF0dGluZ0NvbnRleHRSb290LCBsYXlvdXRDb250ZXh0KQorQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dChjb25zdCBCb3gmIGZvcm1hdHRpbmdDb250ZXh0
Um9vdCkKKyAgICA6IEZvcm1hdHRpbmdDb250ZXh0KGZvcm1hdHRpbmdDb250ZXh0Um9vdCkKIHsK
IH0KIApAQCAtNzQsNyArNzQsNyBAQCB2b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91
dChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBGb3JtYXR0aW5nU3RhdAogICAgICAgICAg
ICAgYXV0byYgZGlzcGxheUJveCA9IGxheW91dFBhaXIuZGlzcGxheUJveDsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgY29tcHV0ZVdpZHRoKGxheW91dEJveCwgZGlzcGxheUJveCk7Ci0gICAg
ICAgICAgICBjb21wdXRlU3RhdGljUG9zaXRpb24obGF5b3V0Qm94LCBsYXlvdXRQYWlyLmRpc3Bs
YXlCb3gpOworICAgICAgICAgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uKGxheW91dENvbnRleHQs
IGxheW91dEJveCwgbGF5b3V0UGFpci5kaXNwbGF5Qm94KTsKICAgICAgICAgICAgIGlmIChsYXlv
dXRCb3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKSB7CiAgICAgICAgICAgICAgICAg
YXV0byBmb3JtYXR0aW5nQ29udGV4dCA9IGxheW91dENvbnRleHQuZm9ybWF0dGluZ0NvbnRleHQo
bGF5b3V0Qm94KTsKICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0KGxh
eW91dENvbnRleHQsIGxheW91dENvbnRleHQuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUobGF5
b3V0Qm94LCAqZm9ybWF0dGluZ0NvbnRleHQpKTsKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0
LCBGb3JtYXR0aW5nU3RhdAogICAgIC8vIFBsYWNlIHRoZSBpbmZsb3cgcG9zaXRpb25lZCBjaGls
ZHJlbi4KICAgICBwbGFjZUluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihmb3JtYXR0aW5nUm9vdCk7
CiAgICAgLy8gQW5kIHRha2UgY2FyZSBvZiBvdXQtb2YtZmxvdyBib3hlcyBhcyB0aGUgZmluYWwg
c3RlcC4KLSAgICBsYXlvdXRPdXRPZkZsb3dEZXNjZW5kYW50cygpOworICAgIGxheW91dE91dE9m
Rmxvd0Rlc2NlbmRhbnRzKGxheW91dENvbnRleHQpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8Rm9y
bWF0dGluZ1N0YXRlPiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpjcmVhdGVGb3JtYXR0aW5nU3Rh
dGUoUmVmPEZsb2F0aW5nU3RhdGU+JiYgZmxvYXRpbmdTdGF0ZSkgY29uc3QKQEAgLTExOCwyNSAr
MTE4LDI1IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb3JtYXR0aW5nU3RhdGU+IEJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6OmNyZWF0ZUZvcm1hdHRpbmdTdGF0ZShSCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91
bmlxdWU8QmxvY2tGb3JtYXR0aW5nU3RhdGU+KFdURk1vdmUoZmxvYXRpbmdTdGF0ZSkpOwogfQog
Ci1SZWY8RmxvYXRpbmdTdGF0ZT4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y3JlYXRlT3JGaW5k
RmxvYXRpbmdTdGF0ZSgpIGNvbnN0CitSZWY8RmxvYXRpbmdTdGF0ZT4gQmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6Y3JlYXRlT3JGaW5kRmxvYXRpbmdTdGF0ZShMYXlvdXRDb250ZXh0JikgY29uc3QK
IHsKICAgICAvLyBCbG9jayBmb3JtYXR0aW5nIGNvbnRleHQgYWx3YXlzIGVzdGFibGlzaGVzIGEg
bmV3IGZsb2F0aW5nIHN0YXRlLgogICAgIHJldHVybiBGbG9hdGluZ1N0YXRlOjpjcmVhdGUoKTsK
IH0KIAotdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljUG9zaXRpb24o
Y29uc3QgQm94JiBsYXlvdXRCb3gsIERpc3BsYXk6OkJveCYgZGlzcGxheUJveCkgY29uc3QKK3Zv
aWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uKExheW91dENv
bnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gm
IGRpc3BsYXlCb3gpIGNvbnN0CiB7CiAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUzIy
L3Zpc3VyZW4uaHRtbCNibG9jay1mb3JtYXR0aW5nCiAgICAgLy8gSW4gYSBibG9jayBmb3JtYXR0
aW5nIGNvbnRleHQsIGJveGVzIGFyZSBsYWlkIG91dCBvbmUgYWZ0ZXIgdGhlIG90aGVyLCB2ZXJ0
aWNhbGx5LCBiZWdpbm5pbmcgYXQgdGhlIHRvcCBvZiBhIGNvbnRhaW5pbmcgYmxvY2suCiAgICAg
Ly8gVGhlIHZlcnRpY2FsIGRpc3RhbmNlIGJldHdlZW4gdHdvIHNpYmxpbmcgYm94ZXMgaXMgZGV0
ZXJtaW5lZCBieSB0aGUgJ21hcmdpbicgcHJvcGVydGllcy4KICAgICAvLyBWZXJ0aWNhbCBtYXJn
aW5zIGJldHdlZW4gYWRqYWNlbnQgYmxvY2stbGV2ZWwgYm94ZXMgaW4gYSBibG9jayBmb3JtYXR0
aW5nIGNvbnRleHQgY29sbGFwc2UuCiAgICAgLy8gSW4gYSBibG9jayBmb3JtYXR0aW5nIGNvbnRl
eHQsIGVhY2ggYm94J3MgbGVmdCBvdXRlciBlZGdlIHRvdWNoZXMgdGhlIGxlZnQgZWRnZSBvZiB0
aGUgY29udGFpbmluZyBibG9jayAoZm9yIHJpZ2h0LXRvLWxlZnQgZm9ybWF0dGluZywgcmlnaHQg
ZWRnZXMgdG91Y2gpLgotICAgIGF1dG8gY29udGFpbmluZ0Jsb2NrQ29udGVudEJveCA9IGxheW91
dENvbnRleHQoKS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpsYXlvdXRCb3guY29udGFpbmluZ0Js
b2NrKCkpLT5jb250ZW50Qm94KCk7CisgICAgYXV0byBjb250YWluaW5nQmxvY2tDb250ZW50Qm94
ID0gbGF5b3V0Q29udGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpsYXlvdXRCb3guY29udGFp
bmluZ0Jsb2NrKCkpLT5jb250ZW50Qm94KCk7CiAgICAgLy8gU3RhcnQgZnJvbSB0aGUgdG9wIG9m
IHRoZSBjb250YWluZXIncyBjb250ZW50IGJveC4KICAgICBhdXRvIHRvcCA9IGNvbnRhaW5pbmdC
bG9ja0NvbnRlbnRCb3gueSgpOwogICAgIGF1dG8gbGVmdCA9IGNvbnRhaW5pbmdCbG9ja0NvbnRl
bnRCb3gueCgpOwogICAgIGlmIChhdXRvKiBwcmV2aW91c0luRmxvd1NpYmxpbmcgPSBsYXlvdXRC
b3gucHJldmlvdXNJbkZsb3dTaWJsaW5nKCkpCi0gICAgICAgIHRvcCA9IGxheW91dENvbnRleHQo
KS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpwcmV2aW91c0luRmxvd1NpYmxpbmcpLT5ib3R0b20o
KSArIG1hcmdpbkJvdHRvbSgqcHJldmlvdXNJbkZsb3dTaWJsaW5nKTsKKyAgICAgICAgdG9wID0g
bGF5b3V0Q29udGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpwcmV2aW91c0luRmxvd1NpYmxp
bmcpLT5ib3R0b20oKSArIG1hcmdpbkJvdHRvbSgqcHJldmlvdXNJbkZsb3dTaWJsaW5nKTsKICAg
ICBMYXlvdXRQb2ludCB0b3BMZWZ0ID0geyB0b3AsIGxlZnQgfTsKICAgICB0b3BMZWZ0Lm1vdmVC
eSh7IG1hcmdpbkxlZnQobGF5b3V0Qm94KSwgbWFyZ2luVG9wKGxheW91dEJveCkgfSk7CiAgICAg
ZGlzcGxheUJveC5zZXRUb3BMZWZ0KHRvcExlZnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQu
aAppbmRleCAwM2NmZjM1NjM2NGUzZGExMjAzYTRmMDg5NWM0YTRjNWEwYTNjYmM0Li42OTFjNDY5
M2FmYmE5NTU1YjZlNjY0MzgzYTE0YzQ1Y2Y3OWFkZjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0Nv
bnRleHQuaApAQCAtNDMsMTQgKzQzLDE0IEBAIGNsYXNzIEJveDsKIGNsYXNzIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQgOiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoQmxvY2tGb3JtYXR0aW5nQ29udGV4dCk7CiBwdWJsaWM6Ci0gICAgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dChjb25zdCBCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgTGF5b3V0
Q29udGV4dCYpOworICAgIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQoY29uc3QgQm94JiBmb3JtYXR0
aW5nQ29udGV4dFJvb3QpOwogCiAgICAgdm9pZCBsYXlvdXQoTGF5b3V0Q29udGV4dCYsIEZvcm1h
dHRpbmdTdGF0ZSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxGb3JtYXR0
aW5nU3RhdGU+IGNyZWF0ZUZvcm1hdHRpbmdTdGF0ZShSZWY8RmxvYXRpbmdTdGF0ZT4mJikgY29u
c3Qgb3ZlcnJpZGU7Ci0gICAgUmVmPEZsb2F0aW5nU3RhdGU+IGNyZWF0ZU9yRmluZEZsb2F0aW5n
U3RhdGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZWY8RmxvYXRpbmdTdGF0ZT4gY3JlYXRlT3JG
aW5kRmxvYXRpbmdTdGF0ZShMYXlvdXRDb250ZXh0JikgY29uc3Qgb3ZlcnJpZGU7CiAKIHByb3Rl
Y3RlZDoKLSAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbihjb25zdCBCb3gmLCBEaXNwbGF5
OjpCb3gmKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbihM
YXlvdXRDb250ZXh0JiwgY29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdm9pZCBjb21wdXRlSW5GbG93V2lkdGgoY29uc3QgQm94JiwgRGlzcGxheTo6Qm94Jikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlSW5GbG93SGVpZ2h0KGNvbnN0IEJveCYs
IERpc3BsYXk6OkJveCYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5n
Q29udGV4dC5jcHAKaW5kZXggZjkzNGY2OGFiNTM2NzAyZjAxYmU5NjgxZGU3NWJjMGUwZDU1OWZh
YS4uNDljNzNlODFmNGMwM2NmZmE4ZWExN2IzOTBmMzQyYzUzYTc4YjhkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMzksOCArMzksOCBAQCBuYW1lc3BhY2UgTGF5
b3V0IHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKElubGluZUZvcm1hdHRpbmdDb250
ZXh0KTsKIAotSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0
KGNvbnN0IEJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290LCBMYXlvdXRDb250ZXh0JiBsYXlvdXRD
b250ZXh0KQotICAgIDogRm9ybWF0dGluZ0NvbnRleHQoZm9ybWF0dGluZ0NvbnRleHRSb290LCBs
YXlvdXRDb250ZXh0KQorSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OklubGluZUZvcm1hdHRpbmdD
b250ZXh0KGNvbnN0IEJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290KQorICAgIDogRm9ybWF0dGlu
Z0NvbnRleHQoZm9ybWF0dGluZ0NvbnRleHRSb290KQogewogfQogCkBAIC01Myw3ICs1Myw3IEBA
IHN0ZDo6dW5pcXVlX3B0cjxGb3JtYXR0aW5nU3RhdGU+IElubGluZUZvcm1hdHRpbmdDb250ZXh0
OjpjcmVhdGVGb3JtYXR0aW5nU3RhdGUoCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8SW5s
aW5lRm9ybWF0dGluZ1N0YXRlPihXVEZNb3ZlKGZsb2F0aW5nU3RhdGUpKTsKIH0KIAotUmVmPEZs
b2F0aW5nU3RhdGU+IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpjcmVhdGVPckZpbmRGbG9hdGlu
Z1N0YXRlKCkgY29uc3QKK1JlZjxGbG9hdGluZ1N0YXRlPiBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6Y3JlYXRlT3JGaW5kRmxvYXRpbmdTdGF0ZShMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0
KSBjb25zdAogewogICAgIC8vIElmIHRoZSBibG9jayBjb250YWluZXIgYm94IHRoYXQgaW5pdGlh
dGVzIHRoaXMgaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dCBhbHNvIGVzdGFibGlzaGVzIGEgYmxv
Y2sgY29udGV4dCwgdGhlIGZsb2F0cyBvdXRzaWRlIG9mIHRoZSBmb3JtYXR0aW5nIHJvb3QKICAg
ICAvLyBzaG91bGQgbm90IGludGVyZmVyZSB3aXRoIHRoZSBjb250ZW50IGluc2lkZS4KQEAgLTYy
LDcgKzYyLDcgQEAgUmVmPEZsb2F0aW5nU3RhdGU+IElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpj
cmVhdGVPckZpbmRGbG9hdGluZ1N0YXRlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIEZsb2F0aW5n
U3RhdGU6OmNyZWF0ZSgpOwogICAgIC8vIE90aGVyd2lzZSwgdGhlIGZvcm1hdHRpbmcgY29udGV4
dCBpbmhlcml0cyB0aGUgZmxvYXRzIGZyb20gdGhlIHBhcmVudCBmb3JtYXR0aW5nIGNvbnRleHQu
CiAgICAgLy8gRmluZCB0aGUgZm9ybWF0dGluZyBzdGF0ZSBpbiB3aGljaCB0aGlzIGZvcm1hdHRp
bmcgcm9vdCBsaXZlcywgbm90IHRoZSBvbmUgaXQgY3JlYXRlcyAodGhpcykgYW5kIHVzZSBpdHMg
ZmxvYXRpbmcgc3RhdGUuCi0gICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gbGF5b3V0Q29udGV4
dCgpLmZvcm1hdHRpbmdTdGF0ZUZvckJveChyb290KCkpOworICAgIGF1dG8mIGZvcm1hdHRpbmdT
dGF0ZSA9IGxheW91dENvbnRleHQuZm9ybWF0dGluZ1N0YXRlRm9yQm94KHJvb3QoKSk7CiAgICAg
cmV0dXJuIGZvcm1hdHRpbmdTdGF0ZS5mbG9hdGluZ1N0YXRlKCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDk3NjBiOGQwNTUwMWIxY2QyMWFkM2Q1ZTQzZDNmZTIw
NGVmNDcwY2UuLjNiMWYyNTgzNjAyN2QxNTU3NzE0ZDIxYjM2OTYzMTM3MmY1NTlmM2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNDEsMTEgKzQxLDExIEBAIGNsYXNzIElu
bGluZUZvcm1hdHRpbmdTdGF0ZTsKIGNsYXNzIElubGluZUZvcm1hdHRpbmdDb250ZXh0IDogcHVi
bGljIEZvcm1hdHRpbmdDb250ZXh0IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0KTsKIHB1YmxpYzoKLSAgICBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dChjb25zdCBCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCwgTGF5b3V0Q29udGV4dCYpOworICAg
IElubGluZUZvcm1hdHRpbmdDb250ZXh0KGNvbnN0IEJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290
KTsKIAogICAgIHZvaWQgbGF5b3V0KExheW91dENvbnRleHQmLCBGb3JtYXR0aW5nU3RhdGUmKSBj
b25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Rm9ybWF0dGluZ1N0YXRlPiBjcmVh
dGVGb3JtYXR0aW5nU3RhdGUoUmVmPEZsb2F0aW5nU3RhdGU+JiYpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIFJlZjxGbG9hdGluZ1N0YXRlPiBjcmVhdGVPckZpbmRGbG9hdGluZ1N0YXRlKCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgUmVmPEZsb2F0aW5nU3RhdGU+IGNyZWF0ZU9yRmluZEZsb2F0aW5nU3Rh
dGUoTGF5b3V0Q29udGV4dCYpIGNvbnN0IG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIHZvaWQg
Y29tcHV0ZUluRmxvd1dpZHRoKGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0IG92ZXJy
aWRlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>