<?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>198888</bug_id>
          
          <creation_ts>2019-06-15 06:25:25 -0700</creation_ts>
          <short_desc>[LFC] Add Layout::Box::isContainingBlockDescendantOf</short_desc>
          <delta_ts>2019-06-18 07:45:35 -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>sam</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>1545006</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-06-15 06:25:25 -0700</bug_when>
    <thetext>and use it instead of isDescendentOf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545007</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-15 06:25:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/51776466&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545008</commentid>
    <comment_count>2</comment_count>
      <attachid>372191</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-06-15 06:32:43 -0700</bug_when>
    <thetext>Created attachment 372191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545043</commentid>
    <comment_count>3</comment_count>
      <attachid>372197</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-06-15 12:32:48 -0700</bug_when>
    <thetext>Created attachment 372197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545153</commentid>
    <comment_count>4</comment_count>
      <attachid>372197</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-16 12:33:23 -0700</bug_when>
    <thetext>Comment on attachment 372197
Patch

Clearing flags on attachment: 372197

Committed r246479: &lt;https://trac.webkit.org/changeset/246479&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545154</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-16 12:33:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545156</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-06-16 12:51:43 -0700</bug_when>
    <thetext>Given how self contained LFC is, have you consider using more traditional style unit tests in addition to layout tests? Having tests for things like Box::isDescendantOf and Box::isContainingBlockDescendantOf seem like they would map very nicely to that style of testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545603</commentid>
    <comment_count>7</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-06-18 07:45:35 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #6)
&gt; Given how self contained LFC is, have you consider using more traditional
&gt; style unit tests in addition to layout tests? Having tests for things like
&gt; Box::isDescendantOf and Box::isContainingBlockDescendantOf seem like they
&gt; would map very nicely to that style of testing.
No I have not thought about it yet but I think it is a great idea!!!
Currently I simply match the geometries in the 2 trees after each layout frame.
1. Run RenderObject base layout
2. Run LFC layout
3. call verifyAndOutputMismatchingLayoutTree() -&gt; assert
so yeah, I should start thinking about adding some unit tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372191</attachid>
            <date>2019-06-15 06:32:43 -0700</date>
            <delta_ts>2019-06-15 12:32:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198888-20190615063242.patch</filename>
            <type>text/plain</type>
            <size>7494</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc1ZjUxOTBmN2U5NDI3
N2JhM2IyOWVmZWZiNDhhOTY3ZDg3MDRmZS4uMjMyOGJjYTFjOGQ0ZTJkZWUwMzJkNTdkNWM3MGI5
Y2QwMmM0MjExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTA2LTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRkIExheW91dDo6
Qm94Ojppc0NvbnRhaW5pbmdCbG9ja0Rlc2NlbmRhbnRPZgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4ODg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81MTc3NjQ2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCb3g6OmlzRGVzY2VuZGFudE9mIGluZGljYXRlcyBzaW1wbGUgYW5jZXN0b3IgLSBkZXNj
ZW5kYW50IHJlbGF0aW9uc2hpcCwgd2hpbGUKKyAgICAgICAgaXNDb250YWluaW5nQmxvY2tEZXNj
ZW5kYW50T2YgY2hlY2tzIHRoZSBjb250YWluaW5nIGJsb2NrIGNoYWluLgorCisgICAgICAgICog
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
bWFwSG9yaXpvbnRhbFBvc2l0aW9uVG9BbmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkZvcm1hdHRpbmdDb250ZXh0OjptYXBCb3hUb0FuY2VzdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1hcFRvcFRvQW5jZXN0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6bWFwUG9pbnRUb0FuY2VzdG9y
KToKKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0aW5nU3RhdGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6RmxvYXRpbmdTdGF0ZTo6RmxvYXRJdGVtOjppc0Rlc2NlbmRhbnRPZkZv
cm1hdHRpbmdSb290IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRC
b3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzRGVzY2VuZGFudE9mIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0NvbnRhaW5pbmdCbG9ja0Rl
c2NlbmRhbnRPZiBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94
Lmg6CisKIDIwMTktMDYtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTEZDXVtCRkNdIEZpeCBhdmFpbGFibGUgd2lkdGggZm9yIG5vbi1mbG9hdGluZyBwb3Np
dGlvbmVkIGZsb2F0IGF2b2lkZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5jcHAKaW5kZXggMTczMWRkYmFjYzU1NTdkZjMzMjYxZWM2MWI5NWIzYjUyYzJjNTll
ZS4uODdjOTMyZGQwYzYzMWNjOTc5YmYyNGUzM2UzOWZkYWI5NDg0M2UzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNzAsNyArMTcwLDcgQEAg
c3RhdGljIExheW91dFVuaXQgbWFwSG9yaXpvbnRhbFBvc2l0aW9uVG9BbmNlc3Rvcihjb25zdCBM
YXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUKICAgICAvLyAiaG9yaXpvbnRhbFBvc2l0aW9uIiBpcyBp
biB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gb2YgdGhlICJjb250YWluaW5nQmxvY2siLiAtPiBtYXAg
ZnJvbSBjb250YWluaW5nQmxvY2sgdG8gYW5jZXN0b3IuCiAgICAgaWYgKCZjb250YWluaW5nQmxv
Y2sgPT0gJmFuY2VzdG9yKQogICAgICAgICByZXR1cm4gaG9yaXpvbnRhbFBvc2l0aW9uOwotICAg
IEFTU0VSVChjb250YWluaW5nQmxvY2suaXNEZXNjZW5kYW50T2YoYW5jZXN0b3IpKTsKKyAgICBB
U1NFUlQoY29udGFpbmluZ0Jsb2NrLmlzQ29udGFpbmluZ0Jsb2NrRGVzY2VuZGFudE9mKGFuY2Vz
dG9yKSk7CiAgICAgZm9yIChhdXRvKiBjb250YWluZXIgPSAmY29udGFpbmluZ0Jsb2NrOyBjb250
YWluZXIgJiYgY29udGFpbmVyICE9ICZhbmNlc3RvcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5j
b250YWluaW5nQmxvY2soKSkKICAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uICs9IGxheW91dFN0
YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmNvbnRhaW5lcikubGVmdCgpOwogICAgIHJldHVy
biBob3Jpem9udGFsUG9zaXRpb247CkBAIC0xOTEsMjAgKzE5MSwxMiBAQCBMYXlvdXRVbml0IEZv
cm1hdHRpbmdDb250ZXh0OjptYXBSaWdodFRvQW5jZXN0b3IoY29uc3QgTGF5b3V0U3RhdGUmIGxh
eW91dFN0YXRlLAogCiBEaXNwbGF5OjpCb3ggRm9ybWF0dGluZ0NvbnRleHQ6Om1hcEJveFRvQW5j
ZXN0b3IoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJv
eCwgY29uc3QgQ29udGFpbmVyJiBhbmNlc3RvcikKIHsKLSAgICBBU1NFUlQobGF5b3V0Qm94Lmlz
RGVzY2VuZGFudE9mKGFuY2VzdG9yKSk7Ci0KKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQ29udGFp
bmluZ0Jsb2NrRGVzY2VuZGFudE9mKGFuY2VzdG9yKSk7CiAgICAgYXV0byYgZGlzcGxheUJveCA9
IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KTsKICAgICBhdXRv
IHRvcExlZnQgPSBkaXNwbGF5Qm94LnRvcExlZnQoKTsKLQotICAgIGF1dG8qIGNvbnRhaW5pbmdC
bG9jayA9IGxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsKLSAgICBmb3IgKDsgY29udGFpbmlu
Z0Jsb2NrICYmIGNvbnRhaW5pbmdCbG9jayAhPSAmYW5jZXN0b3I7IGNvbnRhaW5pbmdCbG9jayA9
IGNvbnRhaW5pbmdCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCkpCisgICAgZm9yIChhdXRvKiBjb250
YWluaW5nQmxvY2sgPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGNvbnRhaW5pbmdCbG9j
ayAmJiBjb250YWluaW5nQmxvY2sgIT0gJmFuY2VzdG9yOyBjb250YWluaW5nQmxvY2sgPSBjb250
YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQogICAgICAgICB0b3BMZWZ0Lm1vdmVCeShs
YXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluaW5nQmxvY2spLnRvcExl
ZnQoKSk7CiAKLSAgICBpZiAoIWNvbnRhaW5pbmdCbG9jaykgewotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIERpc3BsYXk6OkJveChkaXNwbGF5Qm94KTsKLSAg
ICB9Ci0KICAgICBhdXRvIG1hcHBlZERpc3BsYXlCb3ggPSBEaXNwbGF5OjpCb3goZGlzcGxheUJv
eCk7CiAgICAgbWFwcGVkRGlzcGxheUJveC5zZXRUb3BMZWZ0KHRvcExlZnQpOwogICAgIHJldHVy
biBtYXBwZWREaXNwbGF5Qm94OwpAQCAtMjEyLDI2ICsyMDQsMjEgQEAgRGlzcGxheTo6Qm94IEZv
cm1hdHRpbmdDb250ZXh0OjptYXBCb3hUb0FuY2VzdG9yKGNvbnN0IExheW91dFN0YXRlJiBsYXlv
dXRTdGF0ZSwKIAogTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6bWFwVG9wVG9BbmNlc3Rv
cihjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBDb250YWluZXImIGFuY2VzdG9yKQogewotICAgIEFTU0VSVChsYXlvdXRCb3guaXNEZXNj
ZW5kYW50T2YoYW5jZXN0b3IpKTsKKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQ29udGFpbmluZ0Js
b2NrRGVzY2VuZGFudE9mKGFuY2VzdG9yKSk7CiAgICAgYXV0byB0b3AgPSBsYXlvdXRTdGF0ZS5k
aXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkudG9wKCk7Ci0gICAgYXV0byogY29udGFp
bmVyID0gbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpOwotICAgIGZvciAoOyBjb250YWluZXIg
JiYgY29udGFpbmVyICE9ICZhbmNlc3RvcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5jb250YWlu
aW5nQmxvY2soKSkKKyAgICBmb3IgKGF1dG8qIGNvbnRhaW5lciA9IGxheW91dEJveC5jb250YWlu
aW5nQmxvY2soKTsgY29udGFpbmVyICYmIGNvbnRhaW5lciAhPSAmYW5jZXN0b3I7IGNvbnRhaW5l
ciA9IGNvbnRhaW5lci0+Y29udGFpbmluZ0Jsb2NrKCkpCiAgICAgICAgIHRvcCArPSBsYXlvdXRT
dGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluZXIpLnRvcCgpOwogICAgIHJldHVy
biB0b3A7CiB9CiAKIFBvaW50IEZvcm1hdHRpbmdDb250ZXh0OjptYXBQb2ludFRvQW5jZXN0b3Io
Y29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBQb2ludCBwb3NpdGlvbiwgY29uc3QgQ29u
dGFpbmVyJiBjb250YWluaW5nQmxvY2ssIGNvbnN0IENvbnRhaW5lciYgYW5jZXN0b3IpCiB7Cisg
ICAgaWYgKCZjb250YWluaW5nQmxvY2sgPT0gJmFuY2VzdG9yKQorICAgICAgICByZXR1cm4gcG9z
aXRpb247CisgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jay5pc0NvbnRhaW5pbmdCbG9ja0Rlc2Nl
bmRhbnRPZihhbmNlc3RvcikpOwogICAgIGF1dG8gbWFwcGVkUG9zaXRpb24gPSBwb3NpdGlvbjsK
LSAgICBhdXRvKiBjb250YWluZXIgPSAmY29udGFpbmluZ0Jsb2NrOwotICAgIGZvciAoOyBjb250
YWluZXIgJiYgY29udGFpbmVyICE9ICZhbmNlc3RvcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5j
b250YWluaW5nQmxvY2soKSkKKyAgICBmb3IgKGF1dG8qIGNvbnRhaW5lciA9ICZjb250YWluaW5n
QmxvY2s7IGNvbnRhaW5lciAmJiBjb250YWluZXIgIT0gJmFuY2VzdG9yOyBjb250YWluZXIgPSBj
b250YWluZXItPmNvbnRhaW5pbmdCbG9jaygpKQogICAgICAgICBtYXBwZWRQb3NpdGlvbi5tb3Zl
QnkobGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgqY29udGFpbmVyKS50b3BMZWZ0
KCkpOwotCi0gICAgaWYgKCFjb250YWluZXIpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIHJldHVybiBwb3NpdGlvbjsKLSAgICB9Ci0KICAgICByZXR1cm4gbWFwcGVk
UG9zaXRpb247CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMv
RmxvYXRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0
YXRlLmgKaW5kZXggZTFjYjhkMjBmODU3OWU3NTk3MDZlMWU5MTJhYzNiNzVlNGIyOWQ2Ni4uZjI1
M2YyYzNlNGQ4ZGVjZTZhNTJlOGMwYTU2M2U2YTJhNGQ4N2Y0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbmxp
bmUgYm9vbCBGbG9hdGluZ1N0YXRlOjpGbG9hdEl0ZW06OmlzRGVzY2VuZGFudE9mRm9ybWF0dGlu
Z1Jvb3QoY29uc3QgQm94JiBmbwogICAgIEFTU0VSVChmb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0
YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKTsKICAgICBpZiAoIWlzPENvbnRhaW5lcj4oZm9y
bWF0dGluZ0NvbnRleHRSb290KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBt
X2xheW91dEJveC0+aXNEZXNjZW5kYW50T2YoZG93bmNhc3Q8Q29udGFpbmVyPihmb3JtYXR0aW5n
Q29udGV4dFJvb3QpKTsKKyAgICByZXR1cm4gbV9sYXlvdXRCb3gtPmlzQ29udGFpbmluZ0Jsb2Nr
RGVzY2VuZGFudE9mKGRvd25jYXN0PENvbnRhaW5lcj4oZm9ybWF0dGluZ0NvbnRleHRSb290KSk7
CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3gu
Y3BwCmluZGV4IDAxMTk4MzE0YjcxMWE4YjU1YTg0ZDA5NDhjNWU1ZmJjNDJkMDI4MjcuLmU3MDdk
Mzc0MWYzZDJiMDk3ZDI4NWNiNjU5ZDBhYjQxNWZiOTViNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcApAQCAtMTk3LDEwICsxOTcsMTkgQEAg
Y29uc3QgQ29udGFpbmVyJiBCb3g6OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdAogICAg
IHJldHVybiAqcGFyZW50OwogfQogCi1ib29sIEJveDo6aXNEZXNjZW5kYW50T2YoY29uc3QgQ29u
dGFpbmVyJiBjb250YWluZXIpIGNvbnN0Citib29sIEJveDo6aXNEZXNjZW5kYW50T2YoY29uc3Qg
Q29udGFpbmVyJiBhbmNlc3RvckNhbmRpZGF0ZSkgY29uc3QKK3sgCisgICAgZm9yIChhdXRvKiBh
bmNlc3RvciA9IHBhcmVudCgpOyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50
KCkpIHsKKyAgICAgICAgaWYgKGFuY2VzdG9yID09ICZhbmNlc3RvckNhbmRpZGF0ZSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
Qm94Ojppc0NvbnRhaW5pbmdCbG9ja0Rlc2NlbmRhbnRPZihjb25zdCBDb250YWluZXImIGFuY2Vz
dG9yQ2FuZGlkYXRlKSBjb25zdAogeyAKICAgICBmb3IgKGF1dG8qIGFuY2VzdG9yID0gY29udGFp
bmluZ0Jsb2NrKCk7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5jb250YWluaW5nQmxv
Y2soKSkgewotICAgICAgICBpZiAoYW5jZXN0b3IgPT0gJmNvbnRhaW5lcikKKyAgICAgICAgaWYg
KGFuY2VzdG9yID09ICZhbmNlc3RvckNhbmRpZGF0ZSkKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlv
dXR0cmVlL0xheW91dEJveC5oCmluZGV4IDU2MDZlMjFhMzlkNmFjZjczN2JkMzI5Yjg1NTljOTY4
MzUwNjZiODkuLjdhZWEwODJlNjRlM2UzMWE2YWVlNWZmZTM1YTNjZjkwNGMyNDNlZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCkBAIC0xMDEsNiAr
MTAxLDcgQEAgcHVibGljOgogICAgIGNvbnN0IENvbnRhaW5lciYgaW5pdGlhbENvbnRhaW5pbmdC
bG9jaygpIGNvbnN0OwogCiAgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZihjb25zdCBDb250YWluZXIm
KSBjb25zdDsKKyAgICBib29sIGlzQ29udGFpbmluZ0Jsb2NrRGVzY2VuZGFudE9mKGNvbnN0IENv
bnRhaW5lciYpIGNvbnN0OwogCiAgICAgYm9vbCBpc0Fub255bW91cygpIGNvbnN0IHsgcmV0dXJu
ICFtX2VsZW1lbnRBdHRyaWJ1dGVzOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372197</attachid>
            <date>2019-06-15 12:32:48 -0700</date>
            <delta_ts>2019-06-16 12:33:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198888-20190615123247.patch</filename>
            <type>text/plain</type>
            <size>7493</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWMxOTYxMWZkYmRiODQw
Yzg3MWY4NzRhZTQ3NDY1N2EwZjJmZDVhMi4uNTJkMzg2ZTQxOGI3MjJkODRlZGI0MWFlOTQ1NjU5
ZmZhYTdiMDBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTA2LTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gQWRkIExheW91dDo6
Qm94Ojppc0NvbnRhaW5pbmdCbG9ja0Rlc2NlbmRhbnRPZgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4ODg4CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81MTc3NjQ2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCb3g6OmlzRGVzY2VuZGFudE9mIGluZGljYXRlcyBzaW1wbGUgYW5jZXN0b3IgLSBkZXNj
ZW5kYW50IHJlbGF0aW9uc2hpcCwgd2hpbGUKKyAgICAgICAgaXNDb250YWluaW5nQmxvY2tEZXNj
ZW5kYW50T2YgY2hlY2tzIHRoZSBjb250YWluaW5nIGJsb2NrIGNoYWluLgorCisgICAgICAgICog
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
bWFwSG9yaXpvbnRhbFBvc2l0aW9uVG9BbmNlc3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkZvcm1hdHRpbmdDb250ZXh0OjptYXBCb3hUb0FuY2VzdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1hcFRvcFRvQW5jZXN0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6bWFwUG9pbnRUb0FuY2VzdG9y
KToKKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0aW5nU3RhdGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6RmxvYXRpbmdTdGF0ZTo6RmxvYXRJdGVtOjppc0Rlc2NlbmRhbnRPZkZv
cm1hdHRpbmdSb290IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRC
b3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmlzRGVzY2VuZGFudE9mIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojppc0NvbnRhaW5pbmdCbG9ja0Rl
c2NlbmRhbnRPZiBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94
Lmg6CisKIDIwMTktMDYtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTEZDXVtCRkNdIEZpeCBhdmFpbGFibGUgd2lkdGggZm9yIG5vbi1mbG9hdGluZyBwb3Np
dGlvbmVkIGZsb2F0IGF2b2lkZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5jcHAKaW5kZXggOTQ1M2ZjYmFiZjU0OGU0MmVkOTZhMGJlZDhhOTY5MWMwZjg4YWE2
My4uOWQ1Zjg3OGY0ZmYzMzg1ZTZkZWMwZjBiZGY2YWVkMWMyNmE0ZGJhOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNzAsNyArMTcwLDcgQEAg
c3RhdGljIExheW91dFVuaXQgbWFwSG9yaXpvbnRhbFBvc2l0aW9uVG9BbmNlc3Rvcihjb25zdCBM
YXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUKICAgICAvLyAiaG9yaXpvbnRhbFBvc2l0aW9uIiBpcyBp
biB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gb2YgdGhlICJjb250YWluaW5nQmxvY2siLiAtPiBtYXAg
ZnJvbSBjb250YWluaW5nQmxvY2sgdG8gYW5jZXN0b3IuCiAgICAgaWYgKCZjb250YWluaW5nQmxv
Y2sgPT0gJmFuY2VzdG9yKQogICAgICAgICByZXR1cm4gaG9yaXpvbnRhbFBvc2l0aW9uOwotICAg
IEFTU0VSVChjb250YWluaW5nQmxvY2suaXNEZXNjZW5kYW50T2YoYW5jZXN0b3IpKTsKKyAgICBB
U1NFUlQoY29udGFpbmluZ0Jsb2NrLmlzQ29udGFpbmluZ0Jsb2NrRGVzY2VuZGFudE9mKGFuY2Vz
dG9yKSk7CiAgICAgZm9yIChhdXRvKiBjb250YWluZXIgPSAmY29udGFpbmluZ0Jsb2NrOyBjb250
YWluZXIgJiYgY29udGFpbmVyICE9ICZhbmNlc3RvcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5j
b250YWluaW5nQmxvY2soKSkKICAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uICs9IGxheW91dFN0
YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmNvbnRhaW5lcikubGVmdCgpOwogICAgIHJldHVy
biBob3Jpem9udGFsUG9zaXRpb247CkBAIC0xOTEsMjAgKzE5MSwxMiBAQCBMYXlvdXRVbml0IEZv
cm1hdHRpbmdDb250ZXh0OjptYXBSaWdodFRvQW5jZXN0b3IoY29uc3QgTGF5b3V0U3RhdGUmIGxh
eW91dFN0YXRlLAogCiBEaXNwbGF5OjpCb3ggRm9ybWF0dGluZ0NvbnRleHQ6Om1hcEJveFRvQW5j
ZXN0b3IoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJv
eCwgY29uc3QgQ29udGFpbmVyJiBhbmNlc3RvcikKIHsKLSAgICBBU1NFUlQobGF5b3V0Qm94Lmlz
RGVzY2VuZGFudE9mKGFuY2VzdG9yKSk7Ci0KKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQ29udGFp
bmluZ0Jsb2NrRGVzY2VuZGFudE9mKGFuY2VzdG9yKSk7CiAgICAgYXV0byYgZGlzcGxheUJveCA9
IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KTsKICAgICBhdXRv
IHRvcExlZnQgPSBkaXNwbGF5Qm94LnRvcExlZnQoKTsKLQotICAgIGF1dG8qIGNvbnRhaW5pbmdC
bG9jayA9IGxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsKLSAgICBmb3IgKDsgY29udGFpbmlu
Z0Jsb2NrICYmIGNvbnRhaW5pbmdCbG9jayAhPSAmYW5jZXN0b3I7IGNvbnRhaW5pbmdCbG9jayA9
IGNvbnRhaW5pbmdCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCkpCisgICAgZm9yIChhdXRvKiBjb250
YWluaW5nQmxvY2sgPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGNvbnRhaW5pbmdCbG9j
ayAmJiBjb250YWluaW5nQmxvY2sgIT0gJmFuY2VzdG9yOyBjb250YWluaW5nQmxvY2sgPSBjb250
YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpKQogICAgICAgICB0b3BMZWZ0Lm1vdmVCeShs
YXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluaW5nQmxvY2spLnRvcExl
ZnQoKSk7CiAKLSAgICBpZiAoIWNvbnRhaW5pbmdCbG9jaykgewotICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIERpc3BsYXk6OkJveChkaXNwbGF5Qm94KTsKLSAg
ICB9Ci0KICAgICBhdXRvIG1hcHBlZERpc3BsYXlCb3ggPSBEaXNwbGF5OjpCb3goZGlzcGxheUJv
eCk7CiAgICAgbWFwcGVkRGlzcGxheUJveC5zZXRUb3BMZWZ0KHRvcExlZnQpOwogICAgIHJldHVy
biBtYXBwZWREaXNwbGF5Qm94OwpAQCAtMjEyLDI2ICsyMDQsMjEgQEAgRGlzcGxheTo6Qm94IEZv
cm1hdHRpbmdDb250ZXh0OjptYXBCb3hUb0FuY2VzdG9yKGNvbnN0IExheW91dFN0YXRlJiBsYXlv
dXRTdGF0ZSwKIAogTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6bWFwVG9wVG9BbmNlc3Rv
cihjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBDb250YWluZXImIGFuY2VzdG9yKQogewotICAgIEFTU0VSVChsYXlvdXRCb3guaXNEZXNj
ZW5kYW50T2YoYW5jZXN0b3IpKTsKKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQ29udGFpbmluZ0Js
b2NrRGVzY2VuZGFudE9mKGFuY2VzdG9yKSk7CiAgICAgYXV0byB0b3AgPSBsYXlvdXRTdGF0ZS5k
aXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkudG9wKCk7Ci0gICAgYXV0byogY29udGFp
bmVyID0gbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpOwotICAgIGZvciAoOyBjb250YWluZXIg
JiYgY29udGFpbmVyICE9ICZhbmNlc3RvcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5jb250YWlu
aW5nQmxvY2soKSkKKyAgICBmb3IgKGF1dG8qIGNvbnRhaW5lciA9IGxheW91dEJveC5jb250YWlu
aW5nQmxvY2soKTsgY29udGFpbmVyICYmIGNvbnRhaW5lciAhPSAmYW5jZXN0b3I7IGNvbnRhaW5l
ciA9IGNvbnRhaW5lci0+Y29udGFpbmluZ0Jsb2NrKCkpCiAgICAgICAgIHRvcCArPSBsYXlvdXRT
dGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluZXIpLnRvcCgpOwogICAgIHJldHVy
biB0b3A7CiB9CiAKIFBvaW50IEZvcm1hdHRpbmdDb250ZXh0OjptYXBQb2ludFRvQW5jZXN0b3Io
Y29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBQb2ludCBwb3NpdGlvbiwgY29uc3QgQ29u
dGFpbmVyJiBjb250YWluaW5nQmxvY2ssIGNvbnN0IENvbnRhaW5lciYgYW5jZXN0b3IpCiB7Cisg
ICAgaWYgKCZjb250YWluaW5nQmxvY2sgPT0gJmFuY2VzdG9yKQorICAgICAgICByZXR1cm4gcG9z
aXRpb247CisgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jay5pc0NvbnRhaW5pbmdCbG9ja0Rlc2Nl
bmRhbnRPZihhbmNlc3RvcikpOwogICAgIGF1dG8gbWFwcGVkUG9zaXRpb24gPSBwb3NpdGlvbjsK
LSAgICBhdXRvKiBjb250YWluZXIgPSAmY29udGFpbmluZ0Jsb2NrOwotICAgIGZvciAoOyBjb250
YWluZXIgJiYgY29udGFpbmVyICE9ICZhbmNlc3RvcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5j
b250YWluaW5nQmxvY2soKSkKKyAgICBmb3IgKGF1dG8qIGNvbnRhaW5lciA9ICZjb250YWluaW5n
QmxvY2s7IGNvbnRhaW5lciAmJiBjb250YWluZXIgIT0gJmFuY2VzdG9yOyBjb250YWluZXIgPSBj
b250YWluZXItPmNvbnRhaW5pbmdCbG9jaygpKQogICAgICAgICBtYXBwZWRQb3NpdGlvbi5tb3Zl
QnkobGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgqY29udGFpbmVyKS50b3BMZWZ0
KCkpOwotCi0gICAgaWYgKCFjb250YWluZXIpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIHJldHVybiBwb3NpdGlvbjsKLSAgICB9Ci0KICAgICByZXR1cm4gbWFwcGVk
UG9zaXRpb247CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMv
RmxvYXRpbmdTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0
YXRlLmgKaW5kZXggZTFjYjhkMjBmODU3OWU3NTk3MDZlMWU5MTJhYzNiNzVlNGIyOWQ2Ni4uZjI1
M2YyYzNlNGQ4ZGVjZTZhNTJlOGMwYTU2M2U2YTJhNGQ4N2Y0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbmxp
bmUgYm9vbCBGbG9hdGluZ1N0YXRlOjpGbG9hdEl0ZW06OmlzRGVzY2VuZGFudE9mRm9ybWF0dGlu
Z1Jvb3QoY29uc3QgQm94JiBmbwogICAgIEFTU0VSVChmb3JtYXR0aW5nQ29udGV4dFJvb3QuZXN0
YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpKTsKICAgICBpZiAoIWlzPENvbnRhaW5lcj4oZm9y
bWF0dGluZ0NvbnRleHRSb290KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBt
X2xheW91dEJveC0+aXNEZXNjZW5kYW50T2YoZG93bmNhc3Q8Q29udGFpbmVyPihmb3JtYXR0aW5n
Q29udGV4dFJvb3QpKTsKKyAgICByZXR1cm4gbV9sYXlvdXRCb3gtPmlzQ29udGFpbmluZ0Jsb2Nr
RGVzY2VuZGFudE9mKGRvd25jYXN0PENvbnRhaW5lcj4oZm9ybWF0dGluZ0NvbnRleHRSb290KSk7
CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xh
eW91dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3gu
Y3BwCmluZGV4IDAxMTk4MzE0YjcxMWE4YjU1YTg0ZDA5NDhjNWU1ZmJjNDJkMDI4MjcuLjdlYTRj
NmNlYjE3MmFmZjUwZGJhYWJmZjdhN2YwMjBhZDdkYjJjMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcApAQCAtMTk3LDEwICsxOTcsMTkgQEAg
Y29uc3QgQ29udGFpbmVyJiBCb3g6OmluaXRpYWxDb250YWluaW5nQmxvY2soKSBjb25zdAogICAg
IHJldHVybiAqcGFyZW50OwogfQogCi1ib29sIEJveDo6aXNEZXNjZW5kYW50T2YoY29uc3QgQ29u
dGFpbmVyJiBjb250YWluZXIpIGNvbnN0Citib29sIEJveDo6aXNEZXNjZW5kYW50T2YoY29uc3Qg
Q29udGFpbmVyJiBhbmNlc3RvckNhbmRpZGF0ZSkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8qIGFu
Y2VzdG9yID0gcGFyZW50KCk7IGFuY2VzdG9yOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQo
KSkgeworICAgICAgICBpZiAoYW5jZXN0b3IgPT0gJmFuY2VzdG9yQ2FuZGlkYXRlKQorICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBC
b3g6OmlzQ29udGFpbmluZ0Jsb2NrRGVzY2VuZGFudE9mKGNvbnN0IENvbnRhaW5lciYgYW5jZXN0
b3JDYW5kaWRhdGUpIGNvbnN0CiB7IAogICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBjb250YWlu
aW5nQmxvY2soKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPmNvbnRhaW5pbmdCbG9j
aygpKSB7Ci0gICAgICAgIGlmIChhbmNlc3RvciA9PSAmY29udGFpbmVyKQorICAgICAgICBpZiAo
YW5jZXN0b3IgPT0gJmFuY2VzdG9yQ2FuZGlkYXRlKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91
dHRyZWUvTGF5b3V0Qm94LmgKaW5kZXggNTYwNmUyMWEzOWQ2YWNmNzM3YmQzMjliODU1OWM5Njgz
NTA2NmI4OS4uN2FlYTA4MmU2NGUzZTMxYTZhZWU1ZmZlMzVhM2NmOTA0YzI0M2VmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmgKQEAgLTEwMSw2ICsx
MDEsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgQ29udGFpbmVyJiBpbml0aWFsQ29udGFpbmluZ0Js
b2NrKCkgY29uc3Q7CiAKICAgICBib29sIGlzRGVzY2VuZGFudE9mKGNvbnN0IENvbnRhaW5lciYp
IGNvbnN0OworICAgIGJvb2wgaXNDb250YWluaW5nQmxvY2tEZXNjZW5kYW50T2YoY29uc3QgQ29u
dGFpbmVyJikgY29uc3Q7CiAKICAgICBib29sIGlzQW5vbnltb3VzKCkgY29uc3QgeyByZXR1cm4g
IW1fZWxlbWVudEF0dHJpYnV0ZXM7IH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>