<?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>136906</bug_id>
          
          <creation_ts>2014-09-17 21:11:25 -0700</creation_ts>
          <short_desc>CSS JIT: minimumRegisterRequirements() can be one register short for :nth-child()</short_desc>
          <delta_ts>2014-09-18 17:38:57 -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>New Bugs</component>
          <version>528+ (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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1035830</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-17 21:11:25 -0700</bug_when>
    <thetext>CSS JIT: The backtracking register can be ignored from the minimumRegisterRequirements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035832</commentid>
    <comment_count>1</comment_count>
      <attachid>238286</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-17 21:17:55 -0700</bug_when>
    <thetext>Created attachment 238286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035833</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-17 21:19:51 -0700</bug_when>
    <thetext>Yusuke, could you please double check I am not missing any case?

I&apos;ll add more testing infrastructure tomorrow but I would like multiple reviews on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035834</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-17 21:20:06 -0700</bug_when>
    <thetext>rdar://problem/18368294</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035838</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-09-17 22:29:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Yusuke, could you please double check I am not missing any case?
&gt; 
&gt; I&apos;ll add more testing infrastructure tomorrow but I would like multiple reviews on this.

Sure. I&apos;ll check it now :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035841</commentid>
    <comment_count>5</comment_count>
      <attachid>238286</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-09-17 23:00:20 -0700</bug_when>
    <thetext>Comment on attachment 238286
Patch

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

Maybe I don&apos;t understand the issue&apos;s background enough, sorry, I can&apos;t see the rdar link...

If I understand this issue correctly, I think there&apos;s 2 meanings. Please point it :)

1.
When there&apos;s no :not, :-webkit-any or attributes, `backtrackingRegisterRequirements` is not added to the minimum requirements.

However, seeing the comment on `minimumRequiredRegisterCount`, it contains `BacktrackingRegister`. So I think that `BacktrackingRegister` count is already added, right?

2.
`BacktrackingRegister` count is always added to the minimum register requirements whenever it isn&apos;t used. I think this pointing is right. So to fix it,

1) changing `minimumRequiredRegisterCount` to 5, it doesn&apos;t contains `BacktrackingRegister`.
2) defining `minimum` as `minimumRequiredRegisterCount + backtrackingRegisterRequirements` after the `InChainWithDescendantTail` check. OR adding `backtrackingRegisterRequirements` to `minimum` inside the `InChainWithDescendantTail` check. (like your change!)

Is it correct?

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:859
&gt; +        minimum += minimumRequiredRegisterCount;

I think it would be `+= backtrackingRegisterRequirements`. Is it correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035848</commentid>
    <comment_count>6</comment_count>
      <attachid>238286</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-17 23:36:38 -0700</bug_when>
    <thetext>Comment on attachment 238286
Patch

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

&gt;&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:859
&gt;&gt; +        minimum += minimumRequiredRegisterCount;
&gt; 
&gt; I think it would be `+= backtrackingRegisterRequirements`. Is it correct?

Arg, ffs. I did a last minute change and I messed up the copy-paste.

I am glad I asked you for a review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035849</commentid>
    <comment_count>7</comment_count>
      <attachid>238289</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-17 23:37:57 -0700</bug_when>
    <thetext>Created attachment 238289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035850</commentid>
    <comment_count>8</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-17 23:43:17 -0700</bug_when>
    <thetext>You are right, this is wrong as you pointed out, minimumRequiredRegisterCount already account for the backtracking register.

Looks like :nth-child() uses 6 registers in some path then. I&apos;ll look into it and upload a new patch asap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035857</commentid>
    <comment_count>9</comment_count>
      <attachid>238292</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-18 00:57:10 -0700</bug_when>
    <thetext>Created attachment 238292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035860</commentid>
    <comment_count>10</comment_count>
      <attachid>238292</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-18 00:58:33 -0700</bug_when>
    <thetext>Comment on attachment 238292
Patch

The patch is for the branches. ToT will get a different patch, I&apos;ll work that out tomorrow.

The test is for ToT and the branches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035972</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-18 12:49:30 -0700</bug_when>
    <thetext>Committed r173730: &lt;http://trac.webkit.org/changeset/173730&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036031</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-09-18 17:38:57 -0700</bug_when>
    <thetext>Closing:

Patch submitted in the branch.
Test submitted in ToT.

Added some code to catch such case earlier next time: https://bugs.webkit.org/show_bug.cgi?id=136933

ToT does not need the extra register. There are two patch of maximum allocation:
1) currentElement
2) elementCounter
3) previousSibling
4) elementRareData
5) cachedChildIndex
and
1) currentElement
2) elementCounter
3) checkingContext
4) childStyle
5) flags
6) isFirstChildStateFlagImmediate

The second path is safe for now because it is only executed on for the rightmost element. By definition, it cannot have a backtracking register.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238286</attachid>
            <date>2014-09-17 21:17:55 -0700</date>
            <delta_ts>2014-09-17 23:38:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136906-20140917211609.patch</filename>
            <type>text/plain</type>
            <size>5167</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY3NmY0Y2EwZjhhZjVh
YzUyM2RlYTdkNTUxOTM0NTdhNjI0ZWQ2Ny4uMTg4ZTExNDJjOWY2ODljMzM2YmRmZWUzZGJhM2Q4
YWRkNzU0M2U2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE0LTA5LTE3ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIENTUyBKSVQ6IFRo
ZSBiYWNrdHJhY2tpbmcgcmVnaXN0ZXIgY2FuIGJlIGlnbm9yZWQgZnJvbSB0aGUgbWluaW11bVJl
Z2lzdGVyUmVxdWlyZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzY5MDYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMTgzNjgyOTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzc2ppdC9TZWxl
Y3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6Om1p
bmltdW1SZWdpc3RlclJlcXVpcmVtZW50cyk6CisgICAgICAgIElmIHRoZSBzZWxlY3RvciB3YXMg
bm90IHVzaW5nIGF0dHJpYnV0ZXMsIDpub3QoKSBvciA6LXdlYmtpdC1hbnkoKSwgdGhlIGNvbXB1
dGF0aW9uIG9mCisgICAgICAgIHJlZ2lzdGVyIHJlcXVpcmVtZW50cyB3YXMgaWdub3JpbmcgdGhl
IGJhY2t0cmFja2luZyByZWdpc3Rlci4KKworMjAxNC0wOS0xNyAgQmVuamFtaW4gUG91bGFpbiAg
PGJwb3VsYWluQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgcGFyc2luZyBmb3IgOm50aC1jaGls
ZChBbitCIG9mIHNlbGVjdG9yKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM2ODQ1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9T
ZWxlY3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBp
bGVyLmNwcAppbmRleCAxODVjMjU4NTMzYTM1ZDYxZDU1ZmY4NjkzZThhMTU0ZmNhMGYwZjA2Li5j
NjU4ZTc2MzJmYTAyYjM0ZGUyNTkwZWIzZDU1MThhM2I5YzFhZjY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBAIC04NTQsOCArODU0LDEwIEBAIHN0YXRp
YyBpbmxpbmUgdW5zaWduZWQgbWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnRzKGNvbnN0IFNlbGVj
dG9yRnJhZ21lbnQmIHNlbGVjCiAgICAgY29uc3QgVmVjdG9yPEF0dHJpYnV0ZU1hdGNoaW5nSW5m
bz4mIGF0dHJpYnV0ZXMgPSBzZWxlY3RvckZyYWdtZW50LmF0dHJpYnV0ZXM7CiAKICAgICB1bnNp
Z25lZCBiYWNrdHJhY2tpbmdSZWdpc3RlclJlcXVpcmVtZW50cyA9IDA7Ci0gICAgaWYgKHNlbGVj
dG9yRnJhZ21lbnQuYmFja3RyYWNraW5nRmxhZ3MgJiBCYWNrdHJhY2tpbmdGbGFnOjpJbkNoYWlu
V2l0aERlc2NlbmRhbnRUYWlsKQorICAgIGlmIChzZWxlY3RvckZyYWdtZW50LmJhY2t0cmFja2lu
Z0ZsYWdzICYgQmFja3RyYWNraW5nRmxhZzo6SW5DaGFpbldpdGhEZXNjZW5kYW50VGFpbCkgewog
ICAgICAgICBiYWNrdHJhY2tpbmdSZWdpc3RlclJlcXVpcmVtZW50cyA9IDE7IC8vIElmIHRoZXJl
IGlzIGEgRGVzY2VuZGFudFRhaWwsIHRoZXJlIGlzIGEgYmFja3RyYWNraW5nIHJlZ2lzdGVyLgor
ICAgICAgICBtaW5pbXVtICs9IG1pbmltdW1SZXF1aXJlZFJlZ2lzdGVyQ291bnQ7CisgICAgfQog
CiAgICAgLy8gQXR0cmlidXRlcyBjYXVzZSBzb21lIHJlZ2lzdGVyIHByZXNzdXJlLgogICAgIHVu
c2lnbmVkIGF0dHJpYnV0ZUNvdW50ID0gYXR0cmlidXRlcy5zaXplKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmU1YzQ1
MzE4ZWYzZmU4YjJlY2ZhZTUzN2IxYzhlMmIxOWUzN2FkMS4uMDVhNGViYjI3N2QwYjgzZGNhZDMy
ZTY2ZTU2NDU1ODlmZTUyYTM5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE0LTA5LTE3ICBC
ZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIENTUyBKSVQ6
IFRoZSBiYWNrdHJhY2tpbmcgcmVnaXN0ZXIgY2FuIGJlIGlnbm9yZWQgZnJvbSB0aGUgbWluaW11
bVJlZ2lzdGVyUmVxdWlyZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzY5MDYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMTgzNjgyOTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2Vs
ZWN0b3JzL250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9zZWxlY3RvcnMvbnRoLWNoaWxkLXdpdGgtYmFja3RyYWNraW5nLmh0bWw6CisgICAg
ICAgIFRoZSB1c2UgY2FzZSBpcyB3ZWxsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuIFRoaXMg
aXMgdXBkYXRpbmcgdGhlIGJhY2t0cmFja2luZyB0ZXN0CisgICAgICAgIHdpdGggYSBzaW1wbGVy
IHNlbGVjdG9yIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiB0aGUgYnVnIHJlcG9ydC4KKworMjAxNC0w
OS0xNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKwogICAgICAgICBB
ZGQgcGFyc2luZyBmb3IgOm50aC1jaGlsZChBbitCIG9mIHNlbGVjdG9yKQogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2ODQ1CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9udGgtY2hpbGQtd2l0aC1i
YWNrdHJhY2tpbmctZXhwZWN0ZWQudHh0CmluZGV4IGE0YjZiZDAzNjMxOTUxMTlkOWRmNTEzMzE0
MmYyN2Q0NDA5Zjc5OTUuLmRlNTM2MGViMDAyM2JiZGQ2NDMyNDExMjBjZWM5MzllZTE2ODhmYTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJh
Y2t0cmFja2luZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMv
bnRoLWNoaWxkLXdpdGgtYmFja3RyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtOSw2ICs5LDggQEAg
UEFTUyBjb2xvcmVkSXRlbXMgaXMgNwogUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ1
bD5bZm9vPWJhcl06bnRoLWNoaWxkKC0zbiszKStsaStsaStsaX5saStsaStsaX5saT5zcGFuLmZp
cnN0PnNwYW4uc2Vjb25kIGEiKS5sZW5ndGggaXMgMTEKIFBBU1MgYWxsTGlua3MubGVuZ3RoIGlz
IDIwCiBQQVNTIGJhY2tncm91bmRDb2xvcmVkQ291bnQgaXMgMTEKK1BBU1MgZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgidWw+Om50aC1jaGlsZCgtM24rMyk+Kj4qIGEiKS5sZW5ndGggaXMgMQor
UEFTUyBub25PcGFxdWVDb3VudCBpcyAxCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3Jz
L250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxl
Y3RvcnMvbnRoLWNoaWxkLXdpdGgtYmFja3RyYWNraW5nLmh0bWwKaW5kZXggY2U2ZThjYTRlNjNh
ZjFjMzU5MmU3Yzc0Zjk0ZGIxNWNmYzI1NDJhOC4uZWUwNjc2MmU5NDFlNWU0M2I5YTc3YjE2YmNi
YWQ1YmI4YjJiODkyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbnRo
LWNoaWxkLXdpdGgtYmFja3RyYWNraW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxl
Y3RvcnMvbnRoLWNoaWxkLXdpdGgtYmFja3RyYWNraW5nLmh0bWwKQEAgLTksNiArOSw5IEBAIGxp
K2xpKzpudGgtY2hpbGQoLTVuKzcpK2xpK2xpK2xpfmxpK2xpK2xpfmxpIHsKIHVsPltmb289YmFy
XTpudGgtY2hpbGQoLTNuKzMpK2xpK2xpK2xpfmxpK2xpK2xpfmxpPnNwYW4uZmlyc3Q+c3Bhbi5z
ZWNvbmQgYSB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2IoMSwyLDMpOwogfQordWw+Om50aC1j
aGlsZCgtM24rMyk+Kj4qIGEgeworICAgIG9wYWNpdHk6IDAuNTsKK30KIDwvc3R5bGU+CiA8L2hl
YWQ+CiA8Ym9keT4KQEAgLTU3LDEyICs2MCwxOCBAQCBzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgidWw+W2Zvbz1iYXJdOm50aC1jaGlsZCgtM24rMykrbGkrbGkrbGl+bGkrbAog
dmFyIGFsbExpbmtzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYScpOwogc2hvdWxkQmUo
J2FsbExpbmtzLmxlbmd0aCcsICcyMCcpOwogdmFyIGJhY2tncm91bmRDb2xvcmVkQ291bnQgPSAw
OwordmFyIG5vbk9wYXF1ZUNvdW50ID0gMDsKIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsTGlua3Mu
bGVuZ3RoOyArK2kpIHsKLSAgICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShhbGxMaW5rc1tpXSkuYmFj
a2dyb3VuZENvbG9yID09PSAncmdiKDEsIDIsIDMpJykKKyAgICB2YXIgY29tcHV0ZWRTdHlsZSA9
IGdldENvbXB1dGVkU3R5bGUoYWxsTGlua3NbaV0pOworICAgIGlmIChjb21wdXRlZFN0eWxlLmJh
Y2tncm91bmRDb2xvciA9PT0gJ3JnYigxLCAyLCAzKScpCiAgICAgICAgIGJhY2tncm91bmRDb2xv
cmVkQ291bnQrKzsKKyAgICBpZiAoY29tcHV0ZWRTdHlsZS5vcGFjaXR5ID09PSAnMC41JykKKyAg
ICAgICAgKytub25PcGFxdWVDb3VudDsKIH0KIHNob3VsZEJlKCdiYWNrZ3JvdW5kQ29sb3JlZENv
dW50JywgJzExJyk7CiAKK3Nob3VsZEJlKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ1bD46
bnRoLWNoaWxkKC0zbiszKT4qPiogYSIpLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnbm9uT3Bh
cXVlQ291bnQnLCAnMScpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238289</attachid>
            <date>2014-09-17 23:37:57 -0700</date>
            <delta_ts>2014-09-18 00:57:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136906-20140917211609.patch</filename>
            <type>text/plain</type>
            <size>5171</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY3NmY0Y2EwZjhhZjVh
YzUyM2RlYTdkNTUxOTM0NTdhNjI0ZWQ2Ny4uMTg4ZTExNDJjOWY2ODljMzM2YmRmZWUzZGJhM2Q4
YWRkNzU0M2U2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE0LTA5LTE3ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIENTUyBKSVQ6IFRo
ZSBiYWNrdHJhY2tpbmcgcmVnaXN0ZXIgY2FuIGJlIGlnbm9yZWQgZnJvbSB0aGUgbWluaW11bVJl
Z2lzdGVyUmVxdWlyZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzY5MDYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMTgzNjgyOTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNzc2ppdC9TZWxl
Y3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6Om1p
bmltdW1SZWdpc3RlclJlcXVpcmVtZW50cyk6CisgICAgICAgIElmIHRoZSBzZWxlY3RvciB3YXMg
bm90IHVzaW5nIGF0dHJpYnV0ZXMsIDpub3QoKSBvciA6LXdlYmtpdC1hbnkoKSwgdGhlIGNvbXB1
dGF0aW9uIG9mCisgICAgICAgIHJlZ2lzdGVyIHJlcXVpcmVtZW50cyB3YXMgaWdub3JpbmcgdGhl
IGJhY2t0cmFja2luZyByZWdpc3Rlci4KKworMjAxNC0wOS0xNyAgQmVuamFtaW4gUG91bGFpbiAg
PGJwb3VsYWluQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgcGFyc2luZyBmb3IgOm50aC1jaGls
ZChBbitCIG9mIHNlbGVjdG9yKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM2ODQ1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9T
ZWxlY3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBp
bGVyLmNwcAppbmRleCAxODVjMjU4NTMzYTM1ZDYxZDU1ZmY4NjkzZThhMTU0ZmNhMGYwZjA2Li5j
NjU4ZTc2MzJmYTAyYjM0ZGUyNTkwZWIzZDU1MThhM2I5YzFhZjY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBAIC04NTQsOCArODU0LDEwIEBAIHN0YXRp
YyBpbmxpbmUgdW5zaWduZWQgbWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnRzKGNvbnN0IFNlbGVj
dG9yRnJhZ21lbnQmIHNlbGVjCiAgICAgY29uc3QgVmVjdG9yPEF0dHJpYnV0ZU1hdGNoaW5nSW5m
bz4mIGF0dHJpYnV0ZXMgPSBzZWxlY3RvckZyYWdtZW50LmF0dHJpYnV0ZXM7CiAKICAgICB1bnNp
Z25lZCBiYWNrdHJhY2tpbmdSZWdpc3RlclJlcXVpcmVtZW50cyA9IDA7Ci0gICAgaWYgKHNlbGVj
dG9yRnJhZ21lbnQuYmFja3RyYWNraW5nRmxhZ3MgJiBCYWNrdHJhY2tpbmdGbGFnOjpJbkNoYWlu
V2l0aERlc2NlbmRhbnRUYWlsKQorICAgIGlmIChzZWxlY3RvckZyYWdtZW50LmJhY2t0cmFja2lu
Z0ZsYWdzICYgQmFja3RyYWNraW5nRmxhZzo6SW5DaGFpbldpdGhEZXNjZW5kYW50VGFpbCkgewog
ICAgICAgICBiYWNrdHJhY2tpbmdSZWdpc3RlclJlcXVpcmVtZW50cyA9IDE7IC8vIElmIHRoZXJl
IGlzIGEgRGVzY2VuZGFudFRhaWwsIHRoZXJlIGlzIGEgYmFja3RyYWNraW5nIHJlZ2lzdGVyLgor
ICAgICAgICBtaW5pbXVtICs9IGJhY2t0cmFja2luZ1JlZ2lzdGVyUmVxdWlyZW1lbnRzOworICAg
IH0KIAogICAgIC8vIEF0dHJpYnV0ZXMgY2F1c2Ugc29tZSByZWdpc3RlciBwcmVzc3VyZS4KICAg
ICB1bnNpZ25lZCBhdHRyaWJ1dGVDb3VudCA9IGF0dHJpYnV0ZXMuc2l6ZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJl
NWM0NTMxOGVmM2ZlOGIyZWNmYWU1MzdiMWM4ZTJiMTllMzdhZDEuLjA1YTRlYmIyNzdkMGI4M2Rj
YWQzMmU2NmU1NjQ1NTg5ZmU1MmEzOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOCBAQAogMjAxNC0wOS0x
NyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAorICAgICAgICBDU1Mg
SklUOiBUaGUgYmFja3RyYWNraW5nIHJlZ2lzdGVyIGNhbiBiZSBpZ25vcmVkIGZyb20gdGhlIG1p
bmltdW1SZWdpc3RlclJlcXVpcmVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM2OTA2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzE4MzY4Mjk0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L3NlbGVjdG9ycy9udGgtY2hpbGQtd2l0aC1iYWNrdHJhY2tpbmctZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy5odG1sOgor
ICAgICAgICBUaGUgdXNlIGNhc2UgaXMgd2VsbCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLiBU
aGlzIGlzIHVwZGF0aW5nIHRoZSBiYWNrdHJhY2tpbmcgdGVzdAorICAgICAgICB3aXRoIGEgc2lt
cGxlciBzZWxlY3RvciBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gdGhlIGJ1ZyByZXBvcnQuCisKKzIw
MTQtMDktMTcgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKICAgICAg
ICAgQWRkIHBhcnNpbmcgZm9yIDpudGgtY2hpbGQoQW4rQiBvZiBzZWxlY3RvcikKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjg0NQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9udGgtY2hpbGQtd2l0aC1iYWNrdHJhY2tp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbnRoLWNoaWxkLXdp
dGgtYmFja3RyYWNraW5nLWV4cGVjdGVkLnR4dAppbmRleCBhNGI2YmQwMzYzMTk1MTE5ZDlkZjUx
MzMxNDJmMjdkNDQwOWY3OTk1Li5kZTUzNjBlYjAwMjNiYmRkNjQzMjQxMTIwY2VjOTM5ZWUxNjg4
ZmE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9udGgtY2hpbGQtd2l0
aC1iYWNrdHJhY2tpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0
b3JzL250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy1leHBlY3RlZC50eHQKQEAgLTksNiArOSw4
IEBAIFBBU1MgY29sb3JlZEl0ZW1zIGlzIDcKIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgidWw+W2Zvbz1iYXJdOm50aC1jaGlsZCgtM24rMykrbGkrbGkrbGl+bGkrbGkrbGl+bGk+c3Bh
bi5maXJzdD5zcGFuLnNlY29uZCBhIikubGVuZ3RoIGlzIDExCiBQQVNTIGFsbExpbmtzLmxlbmd0
aCBpcyAyMAogUEFTUyBiYWNrZ3JvdW5kQ29sb3JlZENvdW50IGlzIDExCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoInVsPjpudGgtY2hpbGQoLTNuKzMpPio+KiBhIikubGVuZ3RoIGlz
IDEKK1BBU1Mgbm9uT3BhcXVlQ291bnQgaXMgMQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVj
dG9ycy9udGgtY2hpbGQtd2l0aC1iYWNrdHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy5odG1sCmluZGV4IGNlNmU4Y2E0
ZTYzYWYxYzM1OTJlN2M3NGY5NGRiMTVjZmMyNTQyYTguLmVlMDY3NjJlOTQxZTVlNDNiOWE3N2Ix
NmJjYmFkNWJiOGIyYjg5MjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3Jz
L250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJhY2t0cmFja2luZy5odG1sCkBAIC05LDYgKzksOSBA
QCBsaStsaSs6bnRoLWNoaWxkKC01bis3KStsaStsaStsaX5saStsaStsaX5saSB7CiB1bD5bZm9v
PWJhcl06bnRoLWNoaWxkKC0zbiszKStsaStsaStsaX5saStsaStsaX5saT5zcGFuLmZpcnN0PnNw
YW4uc2Vjb25kIGEgewogICAgIGJhY2tncm91bmQtY29sb3I6cmdiKDEsMiwzKTsKIH0KK3VsPjpu
dGgtY2hpbGQoLTNuKzMpPio+KiBhIHsKKyAgICBvcGFjaXR5OiAwLjU7Cit9CiA8L3N0eWxlPgog
PC9oZWFkPgogPGJvZHk+CkBAIC01NywxMiArNjAsMTggQEAgc2hvdWxkQmUoJ2RvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoInVsPltmb289YmFyXTpudGgtY2hpbGQoLTNuKzMpK2xpK2xpK2xpfmxp
K2wKIHZhciBhbGxMaW5rcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2EnKTsKIHNob3Vs
ZEJlKCdhbGxMaW5rcy5sZW5ndGgnLCAnMjAnKTsKIHZhciBiYWNrZ3JvdW5kQ29sb3JlZENvdW50
ID0gMDsKK3ZhciBub25PcGFxdWVDb3VudCA9IDA7CiBmb3IgKHZhciBpID0gMDsgaSA8IGFsbExp
bmtzLmxlbmd0aDsgKytpKSB7Ci0gICAgaWYgKGdldENvbXB1dGVkU3R5bGUoYWxsTGlua3NbaV0p
LmJhY2tncm91bmRDb2xvciA9PT0gJ3JnYigxLCAyLCAzKScpCisgICAgdmFyIGNvbXB1dGVkU3R5
bGUgPSBnZXRDb21wdXRlZFN0eWxlKGFsbExpbmtzW2ldKTsKKyAgICBpZiAoY29tcHV0ZWRTdHls
ZS5iYWNrZ3JvdW5kQ29sb3IgPT09ICdyZ2IoMSwgMiwgMyknKQogICAgICAgICBiYWNrZ3JvdW5k
Q29sb3JlZENvdW50Kys7CisgICAgaWYgKGNvbXB1dGVkU3R5bGUub3BhY2l0eSA9PT0gJzAuNScp
CisgICAgICAgICsrbm9uT3BhcXVlQ291bnQ7CiB9CiBzaG91bGRCZSgnYmFja2dyb3VuZENvbG9y
ZWRDb3VudCcsICcxMScpOwogCitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
dWw+Om50aC1jaGlsZCgtM24rMyk+Kj4qIGEiKS5sZW5ndGgnLCAnMScpOworc2hvdWxkQmUoJ25v
bk9wYXF1ZUNvdW50JywgJzEnKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238292</attachid>
            <date>2014-09-18 00:57:10 -0700</date>
            <delta_ts>2014-09-18 08:33:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136906-20140918005707.patch</filename>
            <type>text/plain</type>
            <size>6233</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTUyNmI4MWE3NzFjMTgx
ZmQ1MjI2YzZkYmIwYTM1YzNiODRmMTg5ZS4uZDJmZTVlMWU2YjQ0OTAzOWViOTc0MzgxMGRmZjVl
OWQ1ODhjNzdiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA5LTE4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIENTUyBKSVQ6IFRo
ZSBiYWNrdHJhY2tpbmcgcmVnaXN0ZXIgY2FuIGJlIGlnbm9yZWQgZnJvbSB0aGUgbWluaW11bVJl
Z2lzdGVyUmVxdWlyZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzY5MDYKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMTgzNjgyOTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGlz
IGZvciBXZWJLaXQgYnJhbmNoZXMgdGhhdCBkbyBub3QgaW5jbHVkZSByMTczMjI5LgorCisgICAg
ICAgICogY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JDb21waWxlcjo6bWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnRzKToKKyAgICAgICAgSW4g
dGhlIHdvcnN0IGNhc2UsIHRoZSBudGgtY2hpbGQoKSBmaWx0ZXIgY2FuIHRha2UgdXAgdG8gNiBy
ZWdpc3RlcnM6CisgICAgICAgIDEpIGN1cnJlbnRFbGVtZW50LCB0aGUgc3RhdGUgcmVnaXN0ZXIu
CisgICAgICAgIDIpIHBhcmVudEVsZW1lbnQgZm9yIHRyZWUgbWFya2luZyBvbiBzdHlsZSByZXNv
bHV0aW9uLgorICAgICAgICAzKSBlbGVtZW50Q291bnRlciB0byBjb3VudCBlbGVtZW50cyBwaW9y
IHRvIGN1cnJlbnQuCisgICAgICAgIDQpIHByZXZpb3VzU2libGluZyB3aGVuIHdhbGtpbmcgdGhl
IHByZXZpb3VzIHNpYmxpbmdzLgorICAgICAgICA1KSBlbGVtZW50UmFyZURhdGEgdG8gYWNjZXNz
IHRoZSBpbmRleCBjYWNoZS4KKyAgICAgICAgNikgY2FjaGVkQ2hpbGRJbmRleCwgdGhlIHZhbHVl
IG9mIHRoZSBpbmRleCBjYWNoZS4KKworICAgICAgICBJZiB0aGUgYmFja3RyYWNraW5nIHJlZ2lz
dGVyIGlzIGFsc28gdXNlZCwgdGhlIHRvdGFsIG9mICJpbi1mbGlnaHQiIHJlZ2lzdGVycyBpcyA3
LAorICAgICAgICBvbmUgbW9yZSB0aGFuICJtaW5pbXVtUmVxdWlyZWRSZWdpc3RlckNvdW50Ii4g
VGhpcyBuZWVkcyB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgaW4gbWluaW11bVJl
Z2lzdGVyUmVxdWlyZW1lbnRzKCkgb3Igd2Ugd2lsbCBydW4gb3V0IG9mIHJlZ2lzdGVycyB3aGVu
IGhpdHRpbmcgdGhlIHdvcnN0IGNhc2UuCisKIDIwMTQtMDktMTcgIElhZ28gVG9yYWwgIDxpdG9y
YWxAaWdhbGlhLmNvbT4gYW5kIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIEFkZCBXYXlsYW5kIHN1cHBvcnQgdG8gR0xDb250ZXh0RUdMCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKaW5kZXggMTg1YzI1ODUzM2Ez
NWQ2MWQ1NWZmODY5M2U4YTE1NGZjYTBmMGYwNi4uMmJkNDY0ODA1N2QxMzE0OTliMmMxYWY3NDE0
NDY3YWFkNWZmZjY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9y
Q29tcGlsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVy
LmNwcApAQCAtODQ4LDYgKzg0OCw5IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtUmVx
dWlyZWRSZWdpc3RlckNvdW50ID0gNjsKIC8vIEVsZW1lbnQgKyBFbGVtZW50RGF0YSArIHNjcmF0
Y2hSZWdpc3RlciArIGF0dHJpYnV0ZUFycmF5UG9pbnRlciArIGV4cGVjdGVkTG9jYWxOYW1lICsg
KHF1YWxpZmllZE5hbWVJbXBsICYmIGV4cGVjdGVkVmFsdWUpLgogc3RhdGljIGNvbnN0IHVuc2ln
bmVkIG1pbmltdW1SZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JBdHRyaWJ1dGVGaWx0ZXIgPSA2Owog
CisvLyBFbGVtZW50ICsgcGFyZW50RWxlbWVudCArIGVsZW1lbnRDb3VudGVyICsgcHJldmlvdXNT
aWJsaW5nICsgZWxlbWVudFJhcmVEYXRhICsgY2FjaGVkQ2hpbGRJbmRleC4KK3N0YXRpYyBjb25z
dCB1bnNpZ25lZCBtaW5pbXVtUmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yTnRoQ2hpbGRGaWx0ZXIg
PSA2OworCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIG1pbmltdW1SZWdpc3RlclJlcXVpcmVtZW50
cyhjb25zdCBTZWxlY3RvckZyYWdtZW50JiBzZWxlY3RvckZyYWdtZW50KQogewogICAgIHVuc2ln
bmVkIG1pbmltdW0gPSBtaW5pbXVtUmVxdWlyZWRSZWdpc3RlckNvdW50OwpAQCAtODc0LDYgKzg3
Nyw5IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnRz
KGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmIHNlbGVjCiAgICAgICAgIG1pbmltdW0gPSBzdGQ6Om1h
eChtaW5pbXVtLCBhdHRyaWJ1dGVNaW5pbXVtKTsKICAgICB9CiAKKyAgICBpZiAoIXNlbGVjdG9y
RnJhZ21lbnQubnRoQ2hpbGRGaWx0ZXJzLmlzRW1wdHkoKSkKKyAgICAgICAgbWluaW11bSA9IHN0
ZDo6bWF4KG1pbmltdW0sIG1pbmltdW1SZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JOdGhDaGlsZEZp
bHRlciArIGJhY2t0cmFja2luZ1JlZ2lzdGVyUmVxdWlyZW1lbnRzKTsKKwogICAgIC8vIDpub3Qg
cHNldWRvIGNsYXNzIGZpbHRlcnMgY2F1c2Ugc29tZSByZWdpc3RlciBwcmVzc3VyZS4KICAgICBm
b3IgKGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmIHN1YkZyYWdtZW50IDogc2VsZWN0b3JGcmFnbWVu
dC5ub3RGaWx0ZXJzKSB7CiAgICAgICAgIHVuc2lnbmVkIG5vdEZpbHRlck1pbmltdW0gPSBtaW5p
bXVtUmVnaXN0ZXJSZXF1aXJlbWVudHMoc3ViRnJhZ21lbnQpICsgYmFja3RyYWNraW5nUmVnaXN0
ZXJSZXF1aXJlbWVudHM7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTdlYmI4NzEyZTM3NDVkNmExYTQ2YTc3MWMyNTFmZmY4
MmVkN2MxZi4uOGQ3ODE4NWY1MWUzNGM4YjVhMThkODUwYTY5NWQyNGJmOGE1YWZmOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDE0LTA5LTE4ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5A
YXBwbGUuY29tPgorCisgICAgICAgIENTUyBKSVQ6IFRoZSBiYWNrdHJhY2tpbmcgcmVnaXN0ZXIg
Y2FuIGJlIGlnbm9yZWQgZnJvbSB0aGUgbWluaW11bVJlZ2lzdGVyUmVxdWlyZW1lbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY5MDYKKyAgICAg
ICAgcmRhcjovL3Byb2JsZW0vMTgzNjgyOTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJhY2t0
cmFja2luZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvbnRoLWNoaWxk
LXdpdGgtYmFja3RyYWNraW5nLmh0bWw6CisgICAgICAgIFRoZSB1c2UgY2FzZSBpcyB3ZWxsIGNv
dmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuIFRoaXMgaXMgdXBkYXRpbmcgdGhlIGJhY2t0cmFja2lu
ZyB0ZXN0CisgICAgICAgIHdpdGggYSBzaW1wbGVyIHNlbGVjdG9yIHNpbWlsYXIgdG8gdGhlIG9u
ZSBpbiB0aGUgYnVnIHJlcG9ydC4KKwogMjAxNC0wOS0xNyAgUm9nZXIgRm9uZyAgPHJvZ2VyX2Zv
bmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBVbnJldmlld2VkIHJlYmFzZWxpbmlu
ZyBvZiBzb21lIGZhaWxpbmcgSlMgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3NlbGVjdG9ycy9udGgtY2hpbGQtd2l0aC1iYWNrdHJhY2tpbmctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbnRoLWNoaWxkLXdpdGgtYmFja3RyYWNraW5nLWV4cGVj
dGVkLnR4dAppbmRleCBhNGI2YmQwMzYzMTk1MTE5ZDlkZjUxMzMxNDJmMjdkNDQwOWY3OTk1Li5k
ZTUzNjBlYjAwMjNiYmRkNjQzMjQxMTIwY2VjOTM5ZWUxNjg4ZmE3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9udGgtY2hpbGQtd2l0aC1iYWNrdHJhY2tpbmctZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJh
Y2t0cmFja2luZy1leHBlY3RlZC50eHQKQEAgLTksNiArOSw4IEBAIFBBU1MgY29sb3JlZEl0ZW1z
IGlzIDcKIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidWw+W2Zvbz1iYXJdOm50aC1j
aGlsZCgtM24rMykrbGkrbGkrbGl+bGkrbGkrbGl+bGk+c3Bhbi5maXJzdD5zcGFuLnNlY29uZCBh
IikubGVuZ3RoIGlzIDExCiBQQVNTIGFsbExpbmtzLmxlbmd0aCBpcyAyMAogUEFTUyBiYWNrZ3Jv
dW5kQ29sb3JlZENvdW50IGlzIDExCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInVs
PjpudGgtY2hpbGQoLTNuKzMpPio+KiBhIikubGVuZ3RoIGlzIDEKK1BBU1Mgbm9uT3BhcXVlQ291
bnQgaXMgMQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9udGgtY2hpbGQtd2l0aC1i
YWNrdHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13
aXRoLWJhY2t0cmFja2luZy5odG1sCmluZGV4IGNlNmU4Y2E0ZTYzYWYxYzM1OTJlN2M3NGY5NGRi
MTVjZmMyNTQyYTguLmVlMDY3NjJlOTQxZTVlNDNiOWE3N2IxNmJjYmFkNWJiOGIyYjg5MjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13aXRoLWJhY2t0
cmFja2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC13
aXRoLWJhY2t0cmFja2luZy5odG1sCkBAIC05LDYgKzksOSBAQCBsaStsaSs6bnRoLWNoaWxkKC01
bis3KStsaStsaStsaX5saStsaStsaX5saSB7CiB1bD5bZm9vPWJhcl06bnRoLWNoaWxkKC0zbisz
KStsaStsaStsaX5saStsaStsaX5saT5zcGFuLmZpcnN0PnNwYW4uc2Vjb25kIGEgewogICAgIGJh
Y2tncm91bmQtY29sb3I6cmdiKDEsMiwzKTsKIH0KK3VsPjpudGgtY2hpbGQoLTNuKzMpPio+KiBh
IHsKKyAgICBvcGFjaXR5OiAwLjU7Cit9CiA8L3N0eWxlPgogPC9oZWFkPgogPGJvZHk+CkBAIC01
NywxMiArNjAsMTggQEAgc2hvdWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInVsPltm
b289YmFyXTpudGgtY2hpbGQoLTNuKzMpK2xpK2xpK2xpfmxpK2wKIHZhciBhbGxMaW5rcyA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2EnKTsKIHNob3VsZEJlKCdhbGxMaW5rcy5sZW5ndGgn
LCAnMjAnKTsKIHZhciBiYWNrZ3JvdW5kQ29sb3JlZENvdW50ID0gMDsKK3ZhciBub25PcGFxdWVD
b3VudCA9IDA7CiBmb3IgKHZhciBpID0gMDsgaSA8IGFsbExpbmtzLmxlbmd0aDsgKytpKSB7Ci0g
ICAgaWYgKGdldENvbXB1dGVkU3R5bGUoYWxsTGlua3NbaV0pLmJhY2tncm91bmRDb2xvciA9PT0g
J3JnYigxLCAyLCAzKScpCisgICAgdmFyIGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxl
KGFsbExpbmtzW2ldKTsKKyAgICBpZiAoY29tcHV0ZWRTdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPT09
ICdyZ2IoMSwgMiwgMyknKQogICAgICAgICBiYWNrZ3JvdW5kQ29sb3JlZENvdW50Kys7CisgICAg
aWYgKGNvbXB1dGVkU3R5bGUub3BhY2l0eSA9PT0gJzAuNScpCisgICAgICAgICsrbm9uT3BhcXVl
Q291bnQ7CiB9CiBzaG91bGRCZSgnYmFja2dyb3VuZENvbG9yZWRDb3VudCcsICcxMScpOwogCitz
aG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgidWw+Om50aC1jaGlsZCgtM24rMyk+
Kj4qIGEiKS5sZW5ndGgnLCAnMScpOworc2hvdWxkQmUoJ25vbk9wYXF1ZUNvdW50JywgJzEnKTsK
IDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9odG1sPgo=
</data>
<flag name="review"
          id="263049"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="263051"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>