<?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>71246</bug_id>
          
          <creation_ts>2011-10-31 15:45:31 -0700</creation_ts>
          <short_desc>REGRESSION(98738): RenderTableSection::recalcCells does not properly shrink the RowStruct grid</short_desc>
          <delta_ts>2011-11-01 11:02:54 -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>Tables</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>493549</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-10-31 15:45:31 -0700</bug_when>
    <thetext>The refactoring introduced a subtle and unintended change in behavior which makes us crash (NULL dereference).

The problem is in:

RenderTableSection::recalcCells()

    m_cCol = 0;
    m_cRow = 0;
    fillRowsWithDefaultStartingAtPosition(0);

    for (RenderObject* row = firstChild(); row; row = row-&gt;nextSibling()) {
        if (row-&gt;isTableRow()) {
            unsigned insertionRow = m_cRow;
            m_cRow++;
            m_cCol = 0;
            if (!ensureRows(m_cRow))
                break;

            RenderTableRow* tableRow = toRenderTableRow(row);
            m_grid[insertionRow].rowRenderer = tableRow;
            setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative(m_grid[insertionRow]);

            for (RenderObject* cell = row-&gt;firstChild(); cell; cell = cell-&gt;nextSibling()) {
                if (cell-&gt;isTableCell())
                    addCell(toRenderTableCell(cell), tableRow);
            }
        }
    }

    m_grid.shrinkToFit();

The last statement is bogus. It does not guarantee that our size is shrunk properly if our row count decreased.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493570</commentid>
    <comment_count>1</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-10-31 15:57:04 -0700</bug_when>
    <thetext>There seems to be several call sites affected. Renaming the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493644</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-10-31 17:10:00 -0700</bug_when>
    <thetext>&gt;     m_grid.shrinkToFit();
&gt; 
&gt; The last statement is bogus. It does not guarantee that our size is shrunk properly if our row count decreased.

It amend what I said. This statement is fine and my reasoning was completely overlooking the influence of rowSpan (that can force m_grid to be more that just the row count).

The logic introduced in r98738 does not handle empty section well and will be changed to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493700</commentid>
    <comment_count>3</comment_count>
      <attachid>113119</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-10-31 18:23:05 -0700</bug_when>
    <thetext>Created attachment 113119
Proposed change 1: Keep track of how many cells we really need and trim the buffer appropriately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493999</commentid>
    <comment_count>4</comment_count>
      <attachid>113190</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-01 10:29:49 -0700</bug_when>
    <thetext>Created attachment 113190
Proposed change 2: With a better ChangeLog and description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494004</commentid>
    <comment_count>5</comment_count>
      <attachid>113190</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-01 10:36:08 -0700</bug_when>
    <thetext>Comment on attachment 113190
Proposed change 2: With a better ChangeLog and description.

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

&gt; Source/WebCore/rendering/RenderTableSection.cpp:1152
&gt; +    m_grid.shrink(gridSize);

What guarantees this is a shrink? Is there ever a chance that gridSize could be larger than m_grid.size() at this point?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494013</commentid>
    <comment_count>6</comment_count>
      <attachid>113190</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-01 10:47:07 -0700</bug_when>
    <thetext>Comment on attachment 113190
Proposed change 2: With a better ChangeLog and description.

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

&gt;&gt; Source/WebCore/rendering/RenderTableSection.cpp:1152
&gt;&gt; +    m_grid.shrink(gridSize);
&gt; 
&gt; What guarantees this is a shrink? Is there ever a chance that gridSize could be larger than m_grid.size() at this point?

It is guaranteed to be a shrink. Detailed explanation:

* If recalcCells ends up increasing or not changing the grid size, |gridSize| will be of the same size as m_grid.size() as we use the same formula to compute |gridSize| as what is given to |ensureRows| (which grows the size during the |addCell| calls). In this case, m_grid.shrink(gridSize) is a no-op.
* If recalcCells ends up shrinking grid size, m_grid will still have the older (bigger) size but |gridSize| will have the new (smaller) value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494028</commentid>
    <comment_count>7</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-01 11:02:54 -0700</bug_when>
    <thetext>Committed r98980: &lt;http://trac.webkit.org/changeset/98980&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113119</attachid>
            <date>2011-10-31 18:23:05 -0700</date>
            <delta_ts>2011-11-01 10:29:46 -0700</delta_ts>
            <desc>Proposed change 1: Keep track of how many cells we really need and trim the buffer appropriately.</desc>
            <filename>bug-71246-20111031182304.patch</filename>
            <type>text/plain</type>
            <size>7036</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyY2Q5MjZhZTg3MzA3ZDdi
ZDZlYzdhNTE0YjllY2U1YzUxMzA5MGMwLi4wNWJmNzBkNGFjMTE2MzAyODc4YjE1OGUxOGI1Mjkz
YjZlM2Y1OGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTAtMzEgIEp1bGll
biBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVTU0lP
Tig5ODczOCk6IE11bHRpcGxlIGNyYXNoZXMgaW4gdGhlIHRhYmxlIHJlbmRlcmluZyBjb2RlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI0NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L3RhYmxlL2NyYXNoLWVtcHR5LXNlY3Rpb24tY2FsY0JvcmRlci5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L3RhYmxlL2NyYXNoLWVtcHR5LXNlY3Rpb24tZml4ZWQtbGF5b3V0LWNhbGNBcnJheS5o
dG1sCisKKyAgICAgICAgVGhlIGlzc3VlIHdhcyB0aGF0IG91ciBpbnRlcm5hbCBidWZmZXJzJyBz
aXplIHdhcyBub3QgYmUgcHJvcGVybHkgc2hydW5rLCBsZWFkaW5nCisgICAgICAgIHRvIHBvdGVu
dGlhbCBjcmFzaGVzIGFzIHdlIGFjY2VzcyByb3dzIHRoYXQgYXJlIHBhc3NlZCB0aGUgbmVlZGVk
IHNpemUsIHRodXMgbmV2ZXIKKyAgICAgICAgcHJvcGVybHkgZmlsbGVkIChmb3IgZXhhbXBsZSB3
aXRob3V0IHJlbmRlcmVyKS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpyZWNhbGNDZWxs
cyk6CisgICAgICAgIEJlY2F1c2Ugd2Uga2VlcCB0aGUgb2xkIGJ1ZmZlcidzIHNpemUsIHdlIG5l
ZWQgdG8gbWFudWFsbHkga2VlcCB0cmFjayBvZiBob3cgbWFueQorICAgICAgICByb3dzIHdlIG5l
ZWQgdG8gcmVwcmVzZW50IHRoZSBzZWN0aW9uJ3MgZ3JpZC4KKwogMjAxMS0xMC0zMSAgQW5kcmVh
cyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ1NTUnVsZTogRGV2aXJ0dWFs
aXplIHR5cGUoKSBhbmQgaXNGb29SdWxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKaW5kZXggNTU1Njg3YzUxZWEzNDEyZmZlM2M4NGNkZmE5
YzU1NzZiZmQ3NjM2YS4uNjNkOWUyM2Y2MzU0ZWRlNjUzMTA2YmJhNmI1ZTM3NWU1NDcxZTQ1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAK
QEAgLTExMjIsNiArMTEyMiw5IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpyZWNhbGNDZWxs
cygpCiAgICAgbV9jUm93ID0gMDsKICAgICBmaWxsUm93c1dpdGhEZWZhdWx0U3RhcnRpbmdBdFBv
c2l0aW9uKDApOwogCisgICAgLy8gVGhlIGdyaWQgc2l6ZSBpcyBhdCBsZWFzdCBhcyBiaWcgYXMg
dGhlIG51bWJlciBvZiByb3dzIGluIHRoZSBtYXJrdXAgYnV0IGNhbiBncm93IGJpZ2dlcgorICAg
IC8vIGlmIHdlIGhhdmUgYSBjZWxsIHByb3RydWRpbmcgYmVjYXVzZSBpdCB1c2VzIGEgcm93c3Bh
biBzcGFubmlnIG91dCBvZiB0aGUgdGFibGUuCisgICAgdW5zaWduZWQgZ3JpZFNpemUgPSAwOwog
ICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93
LT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIGlmIChyb3ctPmlzVGFibGVSb3coKSkgewogICAg
ICAgICAgICAgdW5zaWduZWQgaW5zZXJ0aW9uUm93ID0gbV9jUm93OwpAQCAtMTEzNSwxMyArMTEz
OCwxOCBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6cmVjYWxjQ2VsbHMoKQogICAgICAgICAg
ICAgc2V0Um93TG9naWNhbEhlaWdodFRvUm93U3R5bGVMb2dpY2FsSGVpZ2h0SWZOb3RSZWxhdGl2
ZShtX2dyaWRbaW5zZXJ0aW9uUm93XSk7CiAKICAgICAgICAgICAgIGZvciAoUmVuZGVyT2JqZWN0
KiBjZWxsID0gcm93LT5maXJzdENoaWxkKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0U2libGlu
ZygpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNlbGwtPmlzVGFibGVDZWxsKCkpCi0gICAgICAg
ICAgICAgICAgICAgIGFkZENlbGwodG9SZW5kZXJUYWJsZUNlbGwoY2VsbCksIHRhYmxlUm93KTsK
KyAgICAgICAgICAgICAgICBpZiAoIWNlbGwtPmlzVGFibGVDZWxsKCkpCisgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsKiB0YWJs
ZUNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjZWxsKTsKKyAgICAgICAgICAgICAgICBncmlkU2l6
ZSA9IG1heChncmlkU2l6ZSwgaW5zZXJ0aW9uUm93ICsgdGFibGVDZWxsLT5yb3dTcGFuKCkpOwor
ICAgICAgICAgICAgICAgIGFkZENlbGwodGFibGVDZWxsLCB0YWJsZVJvdyk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2dyaWQuc2hyaW5rVG9GaXQoKTsKKyAgICBn
cmlkU2l6ZSA9IG1heChncmlkU2l6ZSwgbV9jUm93KTsKKyAgICBtX2dyaWQuc2hyaW5rKGdyaWRT
aXplKTsKICAgICBtX25lZWRzQ2VsbFJlY2FsYyA9IGZhbHNlOwogICAgIHNldE5lZWRzTGF5b3V0
KHRydWUpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDdmYWJmZjM3MzNhODg4NWQzMWMyYmY2ZDYxNzc1ZjZmMWYyNjNj
MDAuLmViZWM1ZDQ4ZWZhYmJjMDc3NmJjZTlmM2Y1YmM1ZDBhNGViZjEyMzYgMTAwNzU1Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMS0xMC0zMSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKDk4NzM4KTogTXVsdGlwbGUgY3Jhc2hlcyBp
biB0aGUgdGFibGUgcmVuZGVyaW5nIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxMjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhvc2UgdGVzdHMgY2hlY2tzIHRoYXQgYW4gZW1wdHkgc2VjdGlv
biB3b3VsZCBub3QgbGVhZCB0byByZWFkaW5nCisgICAgICAgIFJvd1N0cnVjdCB3aXRob3V0IGEg
fHJvd1JlbmRlcmVyfCB3aGljaCB3b3VsZCBjcmFzaC4KKworICAgICAgICAqIGZhc3QvdGFibGUv
Y3Jhc2gtZW1wdHktc2VjdGlvbi1jYWxjQm9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWNhbGNCb3JkZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWZpeGVkLWxheW91
dC1jYWxjQXJyYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2Ny
YXNoLWVtcHR5LXNlY3Rpb24tZml4ZWQtbGF5b3V0LWNhbGNBcnJheS5odG1sOiBBZGRlZC4KKwog
MjAxMS0xMC0zMSAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAog
ICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGJhY2tncm91bmQtaW50cmluc2ljLSoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlvbi1jYWxjQm9yZGVy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlv
bi1jYWxjQm9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWExZGI5MWQ1ZDQ3NDAzZGM3
YWRjY2VmNTQ3NGFmYjU0MzhhODhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWNhbGNCb3JkZXItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorQnVnIDcxMjQ2OiBSRUdSRVNTSU9OKDk4NzM4KTogTXVsdGlwbGUgY3Jhc2hl
cyBpbiB0aGUgdGFibGUgcmVuZGVyaW5nIGNvZGUKKworVGhpcyB0ZXN0IFBBU1NFUyBpZiBpdCBk
b2VzIG5vdCBDUkFTSC4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Ny
YXNoLWVtcHR5LXNlY3Rpb24tY2FsY0JvcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWNhbGNCb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmIwYzZj
YjRjOTI3MjJiYWViMDY0NTJmZTQ3YzZmMGJlMTRhODA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWNhbGNCb3JkZXIuaHRtbApA
QCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIGZ1bmN0aW9uIGNyYXNoKCkgeworICAg
ICAgICB2YXIgZmlyc3RCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0Qm9keSIp
OworICAgICAgICBmaXJzdEJvZHkucmVtb3ZlQ2hpbGQoZmlyc3RCb2R5LmZpcnN0Q2hpbGQpOwor
ICAgICAgICBmaXJzdEJvZHkub2Zmc2V0VG9wOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgY3Jhc2gsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMjQ2Ij43MTI0NjwvYT46IFJFR1JFU1NJT04oOTg3MzgpOiBNdWx0aXBsZSBjcmFzaGVz
IGluIHRoZSB0YWJsZSByZW5kZXJpbmcgY29kZTwvcD4KKzxwPlRoaXMgdGVzdCBQQVNTRVMgaWYg
aXQgZG9lcyBub3QgQ1JBU0guPC9wPgorPHRhYmxlIHN0eWxlPSJib3JkZXItY29sbGFwc2U6IGNv
bGxhcHNlIj4KKyAgICA8dGJvZHkgaWQ9ImZpcnN0Qm9keSIgc3R5bGU9ImJvcmRlcjogMnB4IHNv
bGlkIGdyZWVuIj48dHIgc3R5bGU9ImJvcmRlcjogNHB4IHNvbGlkIHJlZCI+PC90cj48L3Rib2R5
PgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlvbi1maXhlZC1sYXlvdXQtY2FsY0FycmF5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlvbi1maXhl
ZC1sYXlvdXQtY2FsY0FycmF5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWExZGI5MWQ1ZDQ3
NDAzZGM3YWRjY2VmNTQ3NGFmYjU0MzhhODhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWZpeGVkLWxheW91dC1jYWxjQXJyYXkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQnVnIDcxMjQ2OiBSRUdSRVNTSU9OKDk4NzM4
KTogTXVsdGlwbGUgY3Jhc2hlcyBpbiB0aGUgdGFibGUgcmVuZGVyaW5nIGNvZGUKKworVGhpcyB0
ZXN0IFBBU1NFUyBpZiBpdCBkb2VzIG5vdCBDUkFTSC4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL2NyYXNoLWVtcHR5LXNlY3Rpb24tZml4ZWQtbGF5b3V0LWNhbGNBcnJh
eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWZpeGVk
LWxheW91dC1jYWxjQXJyYXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNThhYzk1ZjYwZWIwYWIxMjg3MmI3
MTY2OWM5YzBlZTJkN2QxZTg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWZpeGVkLWxheW91dC1jYWxjQXJyYXkuaHRtbApAQCAt
MCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIGZ1bmN0aW9uIGNyYXNoKCkgeworICAgICAg
ICB2YXIgZmlyc3RCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0Qm9keSIpOwor
ICAgICAgICBmaXJzdEJvZHkucmVtb3ZlQ2hpbGQoZmlyc3RCb2R5LmZpcnN0Q2hpbGQpOworICAg
ICAgICBmaXJzdEJvZHkub2Zmc2V0VG9wOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgY3Jhc2gsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cD5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcxMjQ2Ij43MTI0NjwvYT46IFJFR1JFU1NJT04oOTg3MzgpOiBNdWx0aXBsZSBjcmFzaGVzIGlu
IHRoZSB0YWJsZSByZW5kZXJpbmcgY29kZTwvcD4KKzxwPlRoaXMgdGVzdCBQQVNTRVMgaWYgaXQg
ZG9lcyBub3QgQ1JBU0guPC9wPgorPHRhYmxlIHN0eWxlPSJ0YWJsZS1sYXlvdXQ6Zml4ZWQ7IHdp
ZHRoOjA7Ij4KKyAgICA8dGJvZHkgaWQ9ImZpcnN0Qm9keSI+PHRyPjwvdHI+PC90Ym9keT4KKzwv
dGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113190</attachid>
            <date>2011-11-01 10:29:49 -0700</date>
            <delta_ts>2011-11-01 10:57:13 -0700</delta_ts>
            <desc>Proposed change 2: With a better ChangeLog and description.</desc>
            <filename>bug-71246-20111101102948.patch</filename>
            <type>text/plain</type>
            <size>7555</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5NzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMzg0ZWY4Yjg3YTgzMmNi
YTMwN2FjMDI4Yjg3NTQzMjg5YjhhZDViLi41NDA5NjEyYzllZDJlM2QzMmRiNjY4OTg3NWIwMDY5
MDIwMzI2MzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTEtMDEgIEp1bGll
biBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVTU0lP
Tig5ODczOCk6IFJlbmRlclRhYmxlU2VjdGlvbjo6cmVjYWxjQ2VsbHMgZG9lcyBub3QgcHJvcGVy
bHkgc2hyaW5rIHRoZSBSb3dTdHJ1Y3QgZ3JpZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUZXN0czogZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9u
LWNhbGNCb3JkZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1z
ZWN0aW9uLWZpeGVkLWxheW91dC1jYWxjQXJyYXkuaHRtbAorCisgICAgICAgIFRoZSByZWZhY3Rv
cmluZyBpbiByOTg3MzggY2hhbmdlZCB0aGUgd2F5IHdlIGhhbmRsZSB0aGUgc2l6ZSB0byBhdm9p
ZCB0aHJvd2luZyBvZmYKKyAgICAgICAgdGhlIG1lbW9yeS4gVGhlIG5ldyBsb2dpYyB3b3VsZCBl
bmQgdXAgbmV2ZXIgc2hyaW5raW5nIHRoZSBncmlkJ3Mgc2l6ZSAocHJpb3IgdG8gdGhhdAorICAg
ICAgICB3ZSB3b3VsZCBncm93IHRvIHRoZSBhcHByb3ByaWF0ZSBzaXplIGFuZCB0aHJvdyB0aGUg
ZXhjZXNzIGNhcGFjaXR5IHdpdGggc2hyaW5rVG9GaXQpLgorICAgICAgICBOb3Qgc2hyaW5raW5n
IHdvdWxkIG1lYW4gdGhhdCB3ZSB3b3VsZCBwb3RlbnRpYWxseSByZWFkIFJvd1N0cnVjdCB3aXRo
IHRoZSBkZWZhdWx0IHZhbHVlcworICAgICAgICAoZm9yIGluc3RhbmNlIG5vIHxyb3dSZW5kZXJl
cnwpLgorCisgICAgICAgIGFkZENlbGwgd2lsbCBwcm9wZXJseSBncm93IHRoZSBncmlkIGFzIG5l
ZWRlZCB0byBhY2NvbW9kYXRlIHRoZSByb3dzIGFuZCB0aGUgcHJvdHJ1ZGluZworICAgICAgICBj
ZWxscyB3aXRoIGEgcm93c3BhbiBzbyB3ZSBpbnRyb2R1Y2UgYSB2YXJpYWJsZSB0byBrZWVwIHRy
YWNrIG9mIHRoZSBzaXplIG5lZWRlZC4gQXQgdGhlCisgICAgICAgIGVuZCwgd2UganVzdCBzaHJp
bmsgaXQgdG8gdGhpcyBzaXplLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2Vj
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OnJlY2FsY0Nl
bGxzKToKKyAgICAgICAgSW50cm9kdWNlIGEgdmFyaWFibGUgdG8ga2VlcCB0aGUgZ3JpZCBzaXpl
IGFuZCBzaHJpbmsgdG8gdGhhdCBzaXplIHRvIG1hdGNoIHRoZSBvbGQgY29kZS4KKwogMjAxMS0x
MS0wMSAgTWlrZSBSZWVkICA8cmVlZEBnb29nbGUuY29tPgogCiAgICAgICAgIFtza2lhXSBjYWxs
IHJlYWRQaXhlbHMgb24gY2FudmFzIGluc3RlYWQgb2YgZGV2aWNlICh3aWxsIGJlIHByaXZhdGUg
b24gZGV2aWNlIHNvb24pIGFuZCBjaGVjayBmb3IgZXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKaW5kZXggNTU1Njg3YzUxZWEzNDEyZmZl
M2M4NGNkZmE5YzU1NzZiZmQ3NjM2YS4uNjNkOWUyM2Y2MzU0ZWRlNjUzMTA2YmJhNmI1ZTM3NWU1
NDcxZTQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
U2VjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2Vj
dGlvbi5jcHAKQEAgLTExMjIsNiArMTEyMiw5IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpy
ZWNhbGNDZWxscygpCiAgICAgbV9jUm93ID0gMDsKICAgICBmaWxsUm93c1dpdGhEZWZhdWx0U3Rh
cnRpbmdBdFBvc2l0aW9uKDApOwogCisgICAgLy8gVGhlIGdyaWQgc2l6ZSBpcyBhdCBsZWFzdCBh
cyBiaWcgYXMgdGhlIG51bWJlciBvZiByb3dzIGluIHRoZSBtYXJrdXAgYnV0IGNhbiBncm93IGJp
Z2dlcgorICAgIC8vIGlmIHdlIGhhdmUgYSBjZWxsIHByb3RydWRpbmcgYmVjYXVzZSBpdCB1c2Vz
IGEgcm93c3BhbiBzcGFubmlnIG91dCBvZiB0aGUgdGFibGUuCisgICAgdW5zaWduZWQgZ3JpZFNp
emUgPSAwOwogICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsg
cm93ID0gcm93LT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIGlmIChyb3ctPmlzVGFibGVSb3co
KSkgewogICAgICAgICAgICAgdW5zaWduZWQgaW5zZXJ0aW9uUm93ID0gbV9jUm93OwpAQCAtMTEz
NSwxMyArMTEzOCwxOCBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6cmVjYWxjQ2VsbHMoKQog
ICAgICAgICAgICAgc2V0Um93TG9naWNhbEhlaWdodFRvUm93U3R5bGVMb2dpY2FsSGVpZ2h0SWZO
b3RSZWxhdGl2ZShtX2dyaWRbaW5zZXJ0aW9uUm93XSk7CiAKICAgICAgICAgICAgIGZvciAoUmVu
ZGVyT2JqZWN0KiBjZWxsID0gcm93LT5maXJzdENoaWxkKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5u
ZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNlbGwtPmlzVGFibGVDZWxsKCkp
Ci0gICAgICAgICAgICAgICAgICAgIGFkZENlbGwodG9SZW5kZXJUYWJsZUNlbGwoY2VsbCksIHRh
YmxlUm93KTsKKyAgICAgICAgICAgICAgICBpZiAoIWNlbGwtPmlzVGFibGVDZWxsKCkpCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsKiB0YWJsZUNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjZWxsKTsKKyAgICAgICAgICAgICAg
ICBncmlkU2l6ZSA9IG1heChncmlkU2l6ZSwgaW5zZXJ0aW9uUm93ICsgdGFibGVDZWxsLT5yb3dT
cGFuKCkpOworICAgICAgICAgICAgICAgIGFkZENlbGwodGFibGVDZWxsLCB0YWJsZVJvdyk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2dyaWQuc2hyaW5rVG9GaXQo
KTsKKyAgICBncmlkU2l6ZSA9IG1heChncmlkU2l6ZSwgbV9jUm93KTsKKyAgICBtX2dyaWQuc2hy
aW5rKGdyaWRTaXplKTsKICAgICBtX25lZWRzQ2VsbFJlY2FsYyA9IGZhbHNlOwogICAgIHNldE5l
ZWRzTGF5b3V0KHRydWUpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhhYjlmZmE1NmJlNjM1ZDE2MWVkNzdkYzUwYzU4
YzM2N2ExODBhNzEuLjRjMDY2YTlmMWE2YzhjMGJmMTU3ODRjMjA0YWMxYjY4OGNiNzNlODEgMTAw
NzU1Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0xMS0wMSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFm
ZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKDk4NzM4KTogUmVuZGVyVGFi
bGVTZWN0aW9uOjpyZWNhbGNDZWxscyBkb2VzIG5vdCBwcm9wZXJseSBzaHJpbmsgdGhlIFJvd1N0
cnVjdCBncmlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTI0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRob3NlIHRlc3RzIGNoZWNrcyB0aGF0IGFuIGVtcHR5IHNlY3Rpb24gd291bGQgbm90IGxlYWQg
dG8gcmVhZGluZworICAgICAgICBSb3dTdHJ1Y3Qgd2l0aG91dCBhIHxyb3dSZW5kZXJlcnwgd2hp
Y2ggd291bGQgY3Jhc2guCisKKyAgICAgICAgKiBmYXN0L3RhYmxlL2NyYXNoLWVtcHR5LXNlY3Rp
b24tY2FsY0JvcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGFibGUv
Y3Jhc2gtZW1wdHktc2VjdGlvbi1jYWxjQm9yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlvbi1maXhlZC1sYXlvdXQtY2FsY0FycmF5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9u
LWZpeGVkLWxheW91dC1jYWxjQXJyYXkuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMDEgIExlYW5k
cm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gVW5y
ZXZpZXdlZC4gQWRkIHNvbWUgcGl4ZWwgYmFzZWxpbmVzIGZvciB0ZXN0cyBpbiBmYXN0Ly4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlvbi1jYWxj
Qm9yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvY3Jhc2gtZW1wdHkt
c2VjdGlvbi1jYWxjQm9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWExZGI5MWQ1ZDQ3
NDAzZGM3YWRjY2VmNTQ3NGFmYjU0MzhhODhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWNhbGNCb3JkZXItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorQnVnIDcxMjQ2OiBSRUdSRVNTSU9OKDk4NzM4KTogTXVsdGlwbGUg
Y3Jhc2hlcyBpbiB0aGUgdGFibGUgcmVuZGVyaW5nIGNvZGUKKworVGhpcyB0ZXN0IFBBU1NFUyBp
ZiBpdCBkb2VzIG5vdCBDUkFTSC4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL2NyYXNoLWVtcHR5LXNlY3Rpb24tY2FsY0JvcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWNhbGNCb3JkZXIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
YmIwYzZjYjRjOTI3MjJiYWViMDY0NTJmZTQ3YzZmMGJlMTRhODA0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWNhbGNCb3JkZXIu
aHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIGZ1bmN0aW9uIGNyYXNoKCkg
eworICAgICAgICB2YXIgZmlyc3RCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0
Qm9keSIpOworICAgICAgICBmaXJzdEJvZHkucmVtb3ZlQ2hpbGQoZmlyc3RCb2R5LmZpcnN0Q2hp
bGQpOworICAgICAgICBmaXJzdEJvZHkub2Zmc2V0VG9wOworICAgIH0KKworICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgY3Jhc2gsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcxMjQ2Ij43MTI0NjwvYT46IFJFR1JFU1NJT04oOTg3MzgpOiBNdWx0aXBsZSBj
cmFzaGVzIGluIHRoZSB0YWJsZSByZW5kZXJpbmcgY29kZTwvcD4KKzxwPlRoaXMgdGVzdCBQQVNT
RVMgaWYgaXQgZG9lcyBub3QgQ1JBU0guPC9wPgorPHRhYmxlIHN0eWxlPSJib3JkZXItY29sbGFw
c2U6IGNvbGxhcHNlIj4KKyAgICA8dGJvZHkgaWQ9ImZpcnN0Qm9keSIgc3R5bGU9ImJvcmRlcjog
MnB4IHNvbGlkIGdyZWVuIj48dHIgc3R5bGU9ImJvcmRlcjogNHB4IHNvbGlkIHJlZCI+PC90cj48
L3Rib2R5PgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlvbi1maXhlZC1sYXlvdXQtY2FsY0FycmF5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvY3Jhc2gtZW1wdHktc2VjdGlv
bi1maXhlZC1sYXlvdXQtY2FsY0FycmF5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWExZGI5
MWQ1ZDQ3NDAzZGM3YWRjY2VmNTQ3NGFmYjU0MzhhODhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWZpeGVkLWxheW91dC1jYWxj
QXJyYXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQnVnIDcxMjQ2OiBSRUdSRVNTSU9O
KDk4NzM4KTogTXVsdGlwbGUgY3Jhc2hlcyBpbiB0aGUgdGFibGUgcmVuZGVyaW5nIGNvZGUKKwor
VGhpcyB0ZXN0IFBBU1NFUyBpZiBpdCBkb2VzIG5vdCBDUkFTSC4KKworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL2NyYXNoLWVtcHR5LXNlY3Rpb24tZml4ZWQtbGF5b3V0LWNh
bGNBcnJheS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9u
LWZpeGVkLWxheW91dC1jYWxjQXJyYXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNThhYzk1ZjYwZWIwYWIx
Mjg3MmI3MTY2OWM5YzBlZTJkN2QxZTg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS9jcmFzaC1lbXB0eS1zZWN0aW9uLWZpeGVkLWxheW91dC1jYWxjQXJyYXkuaHRt
bApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIGZ1bmN0aW9uIGNyYXNoKCkgewor
ICAgICAgICB2YXIgZmlyc3RCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpcnN0Qm9k
eSIpOworICAgICAgICBmaXJzdEJvZHkucmVtb3ZlQ2hpbGQoZmlyc3RCb2R5LmZpcnN0Q2hpbGQp
OworICAgICAgICBmaXJzdEJvZHkub2Zmc2V0VG9wOworICAgIH0KKworICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgY3Jhc2gsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxMjQ2Ij43MTI0NjwvYT46IFJFR1JFU1NJT04oOTg3MzgpOiBNdWx0aXBsZSBjcmFz
aGVzIGluIHRoZSB0YWJsZSByZW5kZXJpbmcgY29kZTwvcD4KKzxwPlRoaXMgdGVzdCBQQVNTRVMg
aWYgaXQgZG9lcyBub3QgQ1JBU0guPC9wPgorPHRhYmxlIHN0eWxlPSJ0YWJsZS1sYXlvdXQ6Zml4
ZWQ7IHdpZHRoOjA7Ij4KKyAgICA8dGJvZHkgaWQ9ImZpcnN0Qm9keSI+PHRyPjwvdHI+PC90Ym9k
eT4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="111455"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="111464"
          type_id="3"
          status="+"
          setter="jchaffraix"
    />
          </attachment>
      

    </bug>

</bugzilla>