<?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>68366</bug_id>
          
          <creation_ts>2011-09-19 09:28:18 -0700</creation_ts>
          <short_desc>Fix nonpremultiplied webgl toDataURL to jpeg</short_desc>
          <delta_ts>2011-09-28 04:47:42 -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>WebGL</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>68410</dependson>
          <blocked>67402</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="John Bauman">jbauman</reporter>
          <assigned_to name="John Bauman">jbauman</assigned_to>
          <cc>hbono</cc>
    
    <cc>kbr</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>469445</commentid>
    <comment_count>0</comment_count>
    <who name="John Bauman">jbauman</who>
    <bug_when>2011-09-19 09:28:18 -0700</bug_when>
    <thetext>Fix nonpremultiplied webgl toDataURL to jpeg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469449</commentid>
    <comment_count>1</comment_count>
      <attachid>107873</attachid>
    <who name="John Bauman">jbauman</who>
    <bug_when>2011-09-19 09:31:56 -0700</bug_when>
    <thetext>Created attachment 107873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469648</commentid>
    <comment_count>2</comment_count>
      <attachid>107873</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-19 13:36:11 -0700</bug_when>
    <thetext>Comment on attachment 107873
Patch

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

Looks good overall. Thanks for catching this. Please update the comment when landing. r=me

&gt; LayoutTests/fast/canvas/webgl/premultiplyalpha-test.html:5
&gt; + --&gt;

There shouldn&apos;t be any copyright headers in the WebKit layout tests; please remove this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469670</commentid>
    <comment_count>3</comment_count>
      <attachid>107918</attachid>
    <who name="John Bauman">jbauman</who>
    <bug_when>2011-09-19 14:06:26 -0700</bug_when>
    <thetext>Created attachment 107918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469672</commentid>
    <comment_count>4</comment_count>
      <attachid>107918</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-19 14:07:04 -0700</bug_when>
    <thetext>Comment on attachment 107918
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469729</commentid>
    <comment_count>5</comment_count>
      <attachid>107918</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 15:22:34 -0700</bug_when>
    <thetext>Comment on attachment 107918
Patch

Clearing flags on attachment: 107918

Committed r95482: &lt;http://trac.webkit.org/changeset/95482&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469730</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 15:22:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469819</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-19 17:25:46 -0700</bug_when>
    <thetext>This was rolled out due to breakage of the CG port. Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469875</commentid>
    <comment_count>8</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2011-09-19 19:36:28 -0700</bug_when>
    <thetext>Any mac-chrome breakage?  I believe bug 40147 affects the CG mac ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469876</commentid>
    <comment_count>9</comment_count>
    <who name="John Bauman">jbauman</who>
    <bug_when>2011-09-19 19:38:55 -0700</bug_when>
    <thetext>Yeah, mac-chrome was broken. I&apos;m currently working on a fix (which will hopefully fix bug 40147 as well).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469879</commentid>
    <comment_count>10</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2011-09-19 19:53:04 -0700</bug_when>
    <thetext>Thanks John.  For skia, maybe avoid the division by 255 at lines @96-98 with a loop body like ...

    unsigned char alpha = pixels[3];
    if (alpha != 255) {
        *output++ = SkMulDiv255Round(pixels[0], alpha);
        *output++ = SkMulDiv255Round(pixels[1], alpha);
        *output++ = SkMulDiv255Round(pixels[2], alpha);
    } else {
        *output++ = pixels[0];
        *output++ = pixels[1];
        *output++ = pixels[2];
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471311</commentid>
    <comment_count>11</comment_count>
      <attachid>108265</attachid>
    <who name="John Bauman">jbauman</who>
    <bug_when>2011-09-21 18:17:16 -0700</bug_when>
    <thetext>Created attachment 108265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473206</commentid>
    <comment_count>12</comment_count>
      <attachid>108265</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-26 10:56:15 -0700</bug_when>
    <thetext>Comment on attachment 108265
Patch

Looks good to me. Nice work. Please keep an eye on the bots (since it seems the previous failure was only caught by the Chromium canaries) and once this settles down please take https://bugs.webkit.org/show_bug.cgi?id=40147 and close it as a duplicate of this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473418</commentid>
    <comment_count>13</comment_count>
      <attachid>108265</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-26 15:06:40 -0700</bug_when>
    <thetext>Comment on attachment 108265
Patch

Clearing flags on attachment: 108265

Committed r96000: &lt;http://trac.webkit.org/changeset/96000&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473419</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-26 15:06:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473480</commentid>
    <comment_count>15</comment_count>
    <who name="John Bauman">jbauman</who>
    <bug_when>2011-09-26 15:46:49 -0700</bug_when>
    <thetext>*** Bug 40147 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107873</attachid>
            <date>2011-09-19 09:31:56 -0700</date>
            <delta_ts>2011-09-19 14:06:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68366-20110919093155.patch</filename>
            <type>text/plain</type>
            <size>11737</size>
            <attacher name="John Bauman">jbauman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUzODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NDljYThmNTVmMzkzNDFhZGM3NDA0
YTY0NjJkODk3NmU1NTk2Y2UwLi5jNTMzMWM5M2VmN2I1Y2YwMDljZDk0NGZmMDczMWM4MDcyMDA4
YzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMTkgIEpvaG4gQmF1bWFuICA8amJh
dW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4IG5vbnByZW11bHRpcGxpZWQgd2ViZ2wg
dG9EYXRhVVJMIHRvIGpwZWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY4MzY2CisKKyAgICAgICAgVXBkYXRlIHRoZSBwcmVtdWx0aXBseWFscGhhLXRl
c3QgZnJvbSB0aGUgV2ViR0wgY29uZm9ybWFuY2UgdGVzdHMuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0
aXBseWFscGhhLXRlc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sOgorCiAyMDExLTA5LTE3ICBEZWVwYWsgU2hlcnZl
Z2hhciAgPGJwd3Y2NEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgT3ZlcnJpZGUgc3VwcG9ydHNG
b2N1cygpIGZvciBIVE1MTWVkaWFFbGVtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvcHJlbXVsdGlwbHlhbHBoYS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC1leHBlY3RlZC50
eHQKaW5kZXggZDQ0YTU0Yzk0OGQ3ODJkNzE4ODBjNzkyNGExYzljNTc4YTUzMGVlNS4uMTExNjU0
ZGExZjQwN2MzNTcwMWZlMzcxZmI0YWM5NWU0ZmY2NmRhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvcHJlbXVsdGlwbHlhbHBoYS10ZXN0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0aXBseWFscGhhLXRlc3Qt
ZXhwZWN0ZWQudHh0CkBAIC0zLDM1ICszLDU3IEBAIFRlc3QgdGhlIFdlYkdMIHByZW11bHRpcGxl
ZEFscGhhIGNvbnRleHQgY3JlYXRpb24gZmxhZy4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
IAogCi10ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6IHRydWUgdG9EYXRhVVJMOiB0cnVlCit0
ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6IHRydWUgaW1hZ2VGb3JtYXQ6IGltYWdlL3BuZwog
UEFTUyBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZW11bHRpcGxlZEFscGhhIGlzIHByZW11
bHRpcGxlZEFscGhhCitQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlc2VydmVEcmF3
aW5nQnVmZmVyIGlzIHRydWUKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSBzZXR1cC4KIFBBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSBkcmF3
aW5nLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxk
IGJlIG5vIGVycm9ycyBmcm9tIGNyZWF0aW5nIGNvcHkuCiBQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gMm5kIGRyYXdp
bmcuCiBQQVNTIHNob3VsZCBkcmF3IHdpdGggNjQsMTI4LDI1NSwxMjgKIAotdGVzdGluZzogcHJl
bXVsdGlwbGllZEFscGhhOiB0cnVlIHRvRGF0YVVSTDogZmFsc2UKK3Rlc3Rpbmc6IHByZW11bHRp
cGxpZWRBbHBoYTogdHJ1ZSBpbWFnZUZvcm1hdDogdW5kZWZpbmVkCiBQQVNTIGdsLmdldENvbnRl
eHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxwaGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BB
U1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1
ZQogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJl
IG5vIGVycm9ycyBmcm9tIHNldHVwLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZy
b20gY3JlYXRpbmcgY29weS4KIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxk
IGRyYXcgd2l0aCA2NCwxMjgsMjU1LDEyOAogCi10ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6
IGZhbHNlIHRvRGF0YVVSTDogdHJ1ZQordGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhhOiBmYWxz
ZSBpbWFnZUZvcm1hdDogaW1hZ2UvcG5nCiBQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCku
cHJlbXVsdGlwbGVkQWxwaGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BBU1MgZ2wuZ2V0Q29udGV4
dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1ZQogUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9t
IHNldHVwLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hv
dWxkIGJlIG5vIGVycm9ycyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gY3JlYXRpbmcgY29w
eS4KIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBi
ZSBubyBlcnJvcnMgZnJvbSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxkIGRyYXcgd2l0aCAyNTUs
MTkyLDEyOCwxCiAKLXRlc3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogZmFsc2UgdG9EYXRhVVJM
OiBmYWxzZQordGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhhOiBmYWxzZSBpbWFnZUZvcm1hdDog
dW5kZWZpbmVkCiBQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxw
aGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5w
cmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1ZQogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIHNldHVwLgogUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9y
cyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gY3JlYXRpbmcgY29weS4KIFBBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJv
bSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxkIGRyYXcgd2l0aCAyNTUsMTkyLDEyOCwxCiAKK3Rl
c3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogZmFsc2UgaW1hZ2VGb3JtYXQ6IGltYWdlL2pwZWcK
K1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsZWRBbHBoYSBpcyBwcmVt
dWx0aXBsZWRBbHBoYQorUEFTUyBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJh
d2luZ0J1ZmZlciBpcyB0cnVlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gc2V0dXAuCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gZHJh
d2luZy4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3Vs
ZCBiZSBubyBlcnJvcnMgZnJvbSBjcmVhdGluZyBjb3B5LgorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIDJuZCBkcmF3
aW5nLgorUEFTUyBzaG91bGQgZHJhdyB3aXRoIDEyOCwxMjgsMTI4LDI1NQorCit0ZXN0aW5nOiBw
cmVtdWx0aXBsaWVkQWxwaGE6IHRydWUgaW1hZ2VGb3JtYXQ6IGltYWdlL2pwZWcKK1BBU1MgZ2wu
Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsZWRBbHBoYSBpcyBwcmVtdWx0aXBsZWRB
bHBoYQorUEFTUyBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZl
ciBpcyB0cnVlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBT
aG91bGQgYmUgbm8gZXJyb3JzIGZyb20gc2V0dXAuCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gZHJhd2luZy4KK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBl
cnJvcnMgZnJvbSBjcmVhdGluZyBjb3B5LgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIDJuZCBkcmF3aW5nLgorUEFT
UyBzaG91bGQgZHJhdyB3aXRoIDEyOCwxMjgsMTI4LDI1NQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0aXBseWFscGhhLXRlc3QuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCmluZGV4
IDY3N2EzNzBiOGU4NjY2Njc3MTllOTZiNzg2Y2RkYTM1Nzk4YjE0MjIuLmJlMzIzY2FiOTU1M2Uw
OTZiYjNmNzM2YTMzNmEzYmU4NmM3ZTM4NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCkBAIC0xLDcgKzEs
MTIgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5z
aXRpb25hbC8vRU4iCi0gICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgor
PCEtLQorQ29weXJpZ2h0IChjKSAyMDExIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt
c3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAt
LT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KIDx0aXRsZT5UZXN0IHRoZSBXZWJHTCBwcmVtdWx0aXBsZWRBbHBoYSBjb250ZXh0IGNyZWF0
aW9uIGZsYWcuPC90aXRsZT4KIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTIxLDcgKzI2LDcgQEAgdmFyIHRl
c3RzID0gWwogICAgIHNlbnRDb2xvcjogWzMyLCA2NCwgMTI4LCAxMjhdLAogICAgIGV4cGVjdGVk
Q29sb3I6IFs2NCwgMTI4LCAyNTUsIDEyOF0sCiAgICAgZXJyb3JSYW5nZTogMiwKLSAgICB1c2VU
b0RhdGFVUkw6IHRydWUsCisgICAgaW1hZ2VGb3JtYXQ6ICJpbWFnZS9wbmciCiAgIH0sCiAgIC8v
IElmIHByZW11bHRpcGxlZEFscGhhIGlzIHRydWUgdGhlbgogICAvLyBbdGV4dHVyZV0gICAgICAg
ICAgIFtjYW52YXNdICAgICAgICAgICAgIFt0ZXh0dXJlXQpAQCAtMzAsNyArMzUsNiBAQCB2YXIg
dGVzdHMgPSBbCiAgICAgc2VudENvbG9yOiBbMzIsIDY0LCAxMjgsIDEyOF0sCiAgICAgZXhwZWN0
ZWRDb2xvcjogWzY0LCAxMjgsIDI1NSwgMTI4XSwKICAgICBlcnJvclJhbmdlOiAyLAotICAgIHVz
ZVRvRGF0YVVSTDogZmFsc2UsCiAgIH0sCiAgIC8vIElmIHByZW11bHRpcGxlZEFscGhhIGlzIGZh
bHNlIHRoZW4KICAgLy8gW3RleHR1cmVdICAgICAgICAgICBbY2FudmFzXSAgICAgICAgICAgIFtk
YXRhVVJMXQpAQCAtMzksNyArNDMsNyBAQCB2YXIgdGVzdHMgPSBbCiAgICAgc2VudENvbG9yOiBb
MjU1LCAxOTIsIDEyOCwgMV0sCiAgICAgZXhwZWN0ZWRDb2xvcjogWzI1NSwgMTkyLCAxMjgsIDFd
LAogICAgIGVycm9yUmFuZ2U6IDAsCi0gICAgdXNlVG9EYXRhVVJMOiB0cnVlLAorICAgIGltYWdl
Rm9ybWF0OiAiaW1hZ2UvcG5nIgogICB9LAogICAvLyBJZiBwcmVtdWx0aXBsZWRBbHBoYSBpcyBm
YWxzZSB0aGVuCiAgIC8vIFt0ZXh0dXJlXSAgICAgICAgICAgW2NhbnZhc10gICAgICAgICAgICBb
dGV4dHVyZV0KQEAgLTQ4LDcgKzUyLDI0IEBAIHZhciB0ZXN0cyA9IFsKICAgICBzZW50Q29sb3I6
IFsyNTUsIDE5MiwgMTI4LCAxXSwKICAgICBleHBlY3RlZENvbG9yOiBbMjU1LCAxOTIsIDEyOCwg
MV0sCiAgICAgZXJyb3JSYW5nZTogMCwKLSAgICB1c2VUb0RhdGFVUkw6IGZhbHNlLAorICB9LAor
ICAvLyBJZiBwcmVtdWx0aXBsZWRBbHBoYSBpcyBmYWxzZSB0aGVuCisgIC8vIFt0ZXh0dXJlXSAg
ICAgICAgICAgICBbY2FudmFzXSAgICAgICAgICAgIFtkYXRhVVJMXQorICAvLyAyNTUsIDI1NSwg
MjU1LCAxMjggLT4gMjU1LCAyNTUsIDI1NSwgMTI4IC0+IDEyOCwgMTI4LCAxMjgsIDI1NQorICB7
IGNyZWF0aW9uQXR0cmlidXRlczoge3ByZW11bHRpcGxpZWRBbHBoYTogZmFsc2V9LAorICAgIHNl
bnRDb2xvcjogWzI1NSwgMjU1LCAyNTUsIDEyOF0sCisgICAgZXhwZWN0ZWRDb2xvcjogWzEyOCwg
MTI4LCAxMjgsIDI1NV0sCisgICAgZXJyb3JSYW5nZTogMiwKKyAgICBpbWFnZUZvcm1hdDogImlt
YWdlL2pwZWciCisgIH0sCisgIC8vIElmIHByZW11bHRpcGxlZEFscGhhIGlzIHRydWUgdGhlbgor
ICAvLyBbdGV4dHVyZV0gICAgICAgICAgICAgW2NhbnZhc10gICAgICAgICAgICBbZGF0YVVSTF0K
KyAgLy8gMTI4LCAxMjgsIDEyOCwgMTI4IC0+IDI1NSwgMjU1LCAyNTUsIDEyOCAtPiAxMjgsIDEy
OCwgMTI4LCAyNTUKKyAgeyBjcmVhdGlvbkF0dHJpYnV0ZXM6IHt9LAorICAgIHNlbnRDb2xvcjog
WzEyOCwgMTI4LCAxMjgsIDEyOF0sCisgICAgZXhwZWN0ZWRDb2xvcjogWzEyOCwgMTI4LCAxMjgs
IDI1NV0sCisgICAgZXJyb3JSYW5nZTogMiwKKyAgICBpbWFnZUZvcm1hdDogImltYWdlL2pwZWci
CiAgIH0KIF07CiAKQEAgLTY4LDEyICs4OSwxNSBAQCBmdW5jdGlvbiBkb05leHRUZXN0KCkgewog
ICBpZiAoZ19jb3VudCA8IHRlc3RzLmxlbmd0aCkgewogICAgICB2YXIgdGVzdCA9IHRlc3RzW2df
Y291bnQrK107CiAgICAgIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIp
OworICAgICAvLyBOZWVkIHRvIHByZXNlcnZlIGRyYXdpbmcgYnVmZmVyIHRvIGxvYWQgaXQgaW4g
YSBjYWxsYmFjaworICAgICB0ZXN0LmNyZWF0aW9uQXR0cmlidXRlcy5wcmVzZXJ2ZURyYXdpbmdC
dWZmZXIgPSB0cnVlOwogICAgICBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzLCB0ZXN0
LmNyZWF0aW9uQXR0cmlidXRlcyk7CiAgICAgIHZhciBwcmVtdWx0aXBsaWVkQWxwaGEgPSB0ZXN0
LmNyZWF0aW9uQXR0cmlidXRlcy5wcmVtdWx0aXBsaWVkQWxwaGEgIT0gZmFsc2U7CiAgICAgIGRl
YnVnKCIiKQotICAgICBkZWJ1ZygidGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhhOiAiICsgcHJl
bXVsdGlwbGllZEFscGhhICsgIiB0b0RhdGFVUkw6ICIgKyB0ZXN0LnVzZVRvRGF0YVVSTCk7Cisg
ICAgIGRlYnVnKCJ0ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6ICIgKyBwcmVtdWx0aXBsaWVk
QWxwaGEgKyAiIGltYWdlRm9ybWF0OiAiICsgdGVzdC5pbWFnZUZvcm1hdCk7CiAKICAgICAgc2hv
dWxkQmUoJ2dsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxwaGEnLCAncHJl
bXVsdGlwbGVkQWxwaGEnKTsKKyAgICAgc2hvdWxkQmVUcnVlKCdnbC5nZXRDb250ZXh0QXR0cmli
dXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZlcicpOwogCiAgICAgIHZhciBwcm9ncmFtID0gd3R1
LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKIApAQCAtOTYsNyArMTIwLDcgQEAgZnVuY3Rpb24gZG9O
ZXh0VGVzdCgpIHsKICAgICAgICAvLyBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfUFJFTVVMVElQ
TFlfQUxQSEFfV0VCR0wsIGZhbHNlKTsKICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tf
Q09MT1JTUEFDRV9DT05WRVJTSU9OX1dFQkdMLCBmYWxzZSk7CiAgICAgICAgZ2wuYmluZFRleHR1
cmUoZ2wuVEVYVFVSRV8yRCwgcG5nVGV4KTsKLSAgICAgICBpZiAodGVzdC51c2VUb0RhdGFVUkwp
IHsKKyAgICAgICBpZiAodGVzdC5pbWFnZUZvcm1hdCkgewogICAgICAgICAgIC8vIGNyZWF0ZSB0
ZXh0dXJlIGZyb20gaW1hZ2UKICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQs
IDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lHTkVEX0JZVEUsIHRoaXMpOwogICAgICAgIH0g
ZWxzZSB7CkBAIC0xMTcsMTMgKzE0MSwyMCBAQCBmdW5jdGlvbiBkb05leHRUZXN0KCkgewogICAg
ICAgIGRvTmV4dFRlc3QoKTsKICAgICAgfQogCi0gICAgIGlmICh0ZXN0LnVzZVRvRGF0YVVSTCkg
eworICAgICBpZiAodGVzdC5pbWFnZUZvcm1hdCkgewogICAgICAgICAvLyBMb2FkIGNhbnZhcyBp
bnRvIHN0cmluZyB1c2luZyB0b0RhdGFVUkwKLSAgICAgICAgdmFyIHBuZyA9IGNhbnZhcy50b0Rh
dGFVUkwoKTsKLSAgICAgICAgLy8gTG9hZCBzdHJpbmcgaW50byB0aGUgdGV4dHVyZQotICAgICAg
ICB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKLSAgICAgICAgaW5w
dXQub25sb2FkID0gbG9hZFRleHR1cmU7Ci0gICAgICAgIGlucHV0LnNyYyA9IHBuZzsKKyAgICAg
ICAgdmFyIGltYWdlVXJsID0gY2FudmFzLnRvRGF0YVVSTCh0ZXN0LmltYWdlRm9ybWF0KTsKKyAg
ICAgICAgaWYgKHRlc3QuaW1hZ2VGb3JtYXQgIT0gImltYWdlL3BuZyIgJiYKKyAgICAgICAgICAg
IChpbWFnZVVybC5pbmRleE9mKCJkYXRhOmltYWdlL3BuZywiKSA9PSAwIHx8CisgICAgICAgICAg
ICAgaW1hZ2VVcmwuaW5kZXhPZigiZGF0YTppbWFnZS9wbmc7IikgPT0gMCkpIHsKKyAgICAgICAg
ICBkZWJ1ZygiSW1hZ2UgZm9ybWF0ICIgKyB0ZXN0LmltYWdlRm9ybWF0ICsgIiBub3Qgc3VwcG9y
dGVkOyBza2lwcGluZyIpOworICAgICAgICAgIHNldFRpbWVvdXQoZG9OZXh0VGVzdCwgMCk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgLy8gTG9hZCBzdHJpbmcgaW50byB0aGUgdGV4dHVy
ZQorICAgICAgICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwor
ICAgICAgICAgIGlucHV0Lm9ubG9hZCA9IGxvYWRUZXh0dXJlOworICAgICAgICAgIGlucHV0LnNy
YyA9IGltYWdlVXJsOworICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIExvYWQg
Y2FudmFzIGludG8gdGhlIHRleHR1cmUgYXN5bmNocm9ub3VzbHkgKHRvIHByZXZlbnQgdW5ib3Vu
ZGVkIHN0YWNrIGNvbnN1bXB0aW9uKQogICAgICAgICBzZXRUaW1lb3V0KGxvYWRUZXh0dXJlLCAw
KTsKQEAgLTEzOCw5ICsxNjksNiBAQCBmdW5jdGlvbiBkb05leHRUZXN0KCkgewogCiA8L3Njcmlw
dD4KIAotPHNjcmlwdD4KLTwvc2NyaXB0PgotCiA8L2JvZHk+CiA8L2h0bWw+CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAyZTkwYWY0ODBhMjA2ZjU2YzE1NjU2MGI4Zjg2ZGRlZGZlOTA0N2I2Li41Y2IzY2FkM2Y4
M2Y0YTkzZDI5NGVkYThjNDdkMjVjYjI2Zjg2ODc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMDktMTkgIEpvaG4gQmF1bWFuICA8amJhdW1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgRml4IG5vbnByZW11bHRpcGxpZWQgd2ViZ2wgdG9EYXRhVVJMIHRvIGpwZWcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzY2CisKKyAgICAg
ICAgVGhlIGNhbnZhcyBzcGVjIHNheXMgdGhhdCB0b0RhdGFVUkwgdG8gZm9ybWF0cyB3aXRob3V0
IGFuIGFscGhhIG11c3QKKyAgICAgICAgYmUgImNvbXBvc2l0ZWQgb250byBhIHNvbGlkIGJsYWNr
IGJhY2tncm91bmQgdXNpbmcgdGhlIHNvdXJjZS1vdmVyCisgICAgICAgIG9wZXJhdG9yLiIgRG8g
dGhhdC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL2ltYWdlLWVuY29kZXJzL3NraWEvSlBFR0ltYWdlRW5jb2Rlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSR0JBdG9SR0IpOgorCiAyMDExLTA5LTE3ICBEZWVwYWsgU2hlcnZlZ2hh
ciAgPGJwd3Y2NEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgT3ZlcnJpZGUgc3VwcG9ydHNGb2N1
cygpIGZvciBIVE1MTWVkaWFFbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZW5jb2RlcnMvc2tpYS9KUEVHSW1hZ2VFbmNvZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWVuY29kZXJzL3NraWEvSlBFR0ltYWdlRW5jb2Rlci5jcHAK
aW5kZXggOWZkNjk3MmEzZWQzM2M5YmQyYjU2NDVjMWNlOTJjNjBkMmQ5OTY4Ny4uM2JkYjUxOTUy
NjQwOWU2YjJiY2NhNWZlNjFjY2I2MGRmMmMwMDIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvc2tpYS9KUEVHSW1hZ2VFbmNvZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9za2lhL0pQRUdJbWFnZUVu
Y29kZXIuY3BwCkBAIC05Miw5ICs5MiwxMCBAQCBzdGF0aWMgdm9pZCBwcmVNdWx0aXBsaWVkQkdS
QXRvUkdCKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHBpeGVscywgdW5zaWduZWQgaW50IHBpeAogc3Rh
dGljIHZvaWQgUkdCQXRvUkdCKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHBpeGVscywgdW5zaWduZWQg
aW50IHBpeGVsQ291bnQsIHVuc2lnbmVkIGNoYXIqIG91dHB1dCkKIHsKICAgICBmb3IgKDsgcGl4
ZWxDb3VudC0tID4gMDsgcGl4ZWxzICs9IDQpIHsKLSAgICAgICAgKm91dHB1dCsrID0gcGl4ZWxz
WzBdOwotICAgICAgICAqb3V0cHV0KysgPSBwaXhlbHNbMV07Ci0gICAgICAgICpvdXRwdXQrKyA9
IHBpeGVsc1syXTsKKyAgICAgICAgLy8gRG8gc291cmNlLW92ZXIgY29tcG9zaXRpb24gb24gYmxh
Y2suCisgICAgICAgICpvdXRwdXQrKyA9IHBpeGVsc1swXSAqIHBpeGVsc1szXSAvIDI1NTsKKyAg
ICAgICAgKm91dHB1dCsrID0gcGl4ZWxzWzFdICogcGl4ZWxzWzNdIC8gMjU1OworICAgICAgICAq
b3V0cHV0KysgPSBwaXhlbHNbMl0gKiBwaXhlbHNbM10gLyAyNTU7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107918</attachid>
            <date>2011-09-19 14:06:26 -0700</date>
            <delta_ts>2011-09-21 18:17:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68366-20110919140625.patch</filename>
            <type>text/plain</type>
            <size>11561</size>
            <attacher name="John Bauman">jbauman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUzODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NDljYThmNTVmMzkzNDFhZGM3NDA0
YTY0NjJkODk3NmU1NTk2Y2UwLi5jNTMzMWM5M2VmN2I1Y2YwMDljZDk0NGZmMDczMWM4MDcyMDA4
YzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMTkgIEpvaG4gQmF1bWFuICA8amJh
dW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4IG5vbnByZW11bHRpcGxpZWQgd2ViZ2wg
dG9EYXRhVVJMIHRvIGpwZWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY4MzY2CisKKyAgICAgICAgVXBkYXRlIHRoZSBwcmVtdWx0aXBseWFscGhhLXRl
c3QgZnJvbSB0aGUgV2ViR0wgY29uZm9ybWFuY2UgdGVzdHMuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0
aXBseWFscGhhLXRlc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sOgorCiAyMDExLTA5LTE3ICBEZWVwYWsgU2hlcnZl
Z2hhciAgPGJwd3Y2NEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgT3ZlcnJpZGUgc3VwcG9ydHNG
b2N1cygpIGZvciBIVE1MTWVkaWFFbGVtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvcHJlbXVsdGlwbHlhbHBoYS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC1leHBlY3RlZC50
eHQKaW5kZXggZDQ0YTU0Yzk0OGQ3ODJkNzE4ODBjNzkyNGExYzljNTc4YTUzMGVlNS4uMTExNjU0
ZGExZjQwN2MzNTcwMWZlMzcxZmI0YWM5NWU0ZmY2NmRhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvcHJlbXVsdGlwbHlhbHBoYS10ZXN0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0aXBseWFscGhhLXRlc3Qt
ZXhwZWN0ZWQudHh0CkBAIC0zLDM1ICszLDU3IEBAIFRlc3QgdGhlIFdlYkdMIHByZW11bHRpcGxl
ZEFscGhhIGNvbnRleHQgY3JlYXRpb24gZmxhZy4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
IAogCi10ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6IHRydWUgdG9EYXRhVVJMOiB0cnVlCit0
ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6IHRydWUgaW1hZ2VGb3JtYXQ6IGltYWdlL3BuZwog
UEFTUyBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZW11bHRpcGxlZEFscGhhIGlzIHByZW11
bHRpcGxlZEFscGhhCitQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlc2VydmVEcmF3
aW5nQnVmZmVyIGlzIHRydWUKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSBzZXR1cC4KIFBBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSBkcmF3
aW5nLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxk
IGJlIG5vIGVycm9ycyBmcm9tIGNyZWF0aW5nIGNvcHkuCiBQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gMm5kIGRyYXdp
bmcuCiBQQVNTIHNob3VsZCBkcmF3IHdpdGggNjQsMTI4LDI1NSwxMjgKIAotdGVzdGluZzogcHJl
bXVsdGlwbGllZEFscGhhOiB0cnVlIHRvRGF0YVVSTDogZmFsc2UKK3Rlc3Rpbmc6IHByZW11bHRp
cGxpZWRBbHBoYTogdHJ1ZSBpbWFnZUZvcm1hdDogdW5kZWZpbmVkCiBQQVNTIGdsLmdldENvbnRl
eHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxwaGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BB
U1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1
ZQogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJl
IG5vIGVycm9ycyBmcm9tIHNldHVwLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZy
b20gY3JlYXRpbmcgY29weS4KIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxk
IGRyYXcgd2l0aCA2NCwxMjgsMjU1LDEyOAogCi10ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6
IGZhbHNlIHRvRGF0YVVSTDogdHJ1ZQordGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhhOiBmYWxz
ZSBpbWFnZUZvcm1hdDogaW1hZ2UvcG5nCiBQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCku
cHJlbXVsdGlwbGVkQWxwaGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BBU1MgZ2wuZ2V0Q29udGV4
dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1ZQogUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9t
IHNldHVwLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hv
dWxkIGJlIG5vIGVycm9ycyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gY3JlYXRpbmcgY29w
eS4KIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBi
ZSBubyBlcnJvcnMgZnJvbSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxkIGRyYXcgd2l0aCAyNTUs
MTkyLDEyOCwxCiAKLXRlc3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogZmFsc2UgdG9EYXRhVVJM
OiBmYWxzZQordGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhhOiBmYWxzZSBpbWFnZUZvcm1hdDog
dW5kZWZpbmVkCiBQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxw
aGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5w
cmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1ZQogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIHNldHVwLgogUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9y
cyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gY3JlYXRpbmcgY29weS4KIFBBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJv
bSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxkIGRyYXcgd2l0aCAyNTUsMTkyLDEyOCwxCiAKK3Rl
c3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogZmFsc2UgaW1hZ2VGb3JtYXQ6IGltYWdlL2pwZWcK
K1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsZWRBbHBoYSBpcyBwcmVt
dWx0aXBsZWRBbHBoYQorUEFTUyBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJh
d2luZ0J1ZmZlciBpcyB0cnVlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gc2V0dXAuCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gZHJh
d2luZy4KK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3Vs
ZCBiZSBubyBlcnJvcnMgZnJvbSBjcmVhdGluZyBjb3B5LgorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIDJuZCBkcmF3
aW5nLgorUEFTUyBzaG91bGQgZHJhdyB3aXRoIDEyOCwxMjgsMTI4LDI1NQorCit0ZXN0aW5nOiBw
cmVtdWx0aXBsaWVkQWxwaGE6IHRydWUgaW1hZ2VGb3JtYXQ6IGltYWdlL2pwZWcKK1BBU1MgZ2wu
Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsZWRBbHBoYSBpcyBwcmVtdWx0aXBsZWRB
bHBoYQorUEFTUyBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZl
ciBpcyB0cnVlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBT
aG91bGQgYmUgbm8gZXJyb3JzIGZyb20gc2V0dXAuCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gZHJhd2luZy4KK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBl
cnJvcnMgZnJvbSBjcmVhdGluZyBjb3B5LgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIDJuZCBkcmF3aW5nLgorUEFT
UyBzaG91bGQgZHJhdyB3aXRoIDEyOCwxMjgsMTI4LDI1NQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0aXBseWFscGhhLXRlc3QuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCmluZGV4
IDY3N2EzNzBiOGU4NjY2Njc3MTllOTZiNzg2Y2RkYTM1Nzk4YjE0MjIuLjNiZjQ0OWFhYjZiOTg3
YWI1YTA5YWI3YmU0YjgzNmFjODcwNTZkMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCkBAIC0xLDcgKzEs
NyBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNp
dGlvbmFsLy9FTiIKLSAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiA8
dGl0bGU+VGVzdCB0aGUgV2ViR0wgcHJlbXVsdGlwbGVkQWxwaGEgY29udGV4dCBjcmVhdGlvbiBm
bGFnLjwvdGl0bGU+CiA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC0yMSw3ICsyMSw3IEBAIHZhciB0ZXN0cyA9
IFsKICAgICBzZW50Q29sb3I6IFszMiwgNjQsIDEyOCwgMTI4XSwKICAgICBleHBlY3RlZENvbG9y
OiBbNjQsIDEyOCwgMjU1LCAxMjhdLAogICAgIGVycm9yUmFuZ2U6IDIsCi0gICAgdXNlVG9EYXRh
VVJMOiB0cnVlLAorICAgIGltYWdlRm9ybWF0OiAiaW1hZ2UvcG5nIgogICB9LAogICAvLyBJZiBw
cmVtdWx0aXBsZWRBbHBoYSBpcyB0cnVlIHRoZW4KICAgLy8gW3RleHR1cmVdICAgICAgICAgICBb
Y2FudmFzXSAgICAgICAgICAgICBbdGV4dHVyZV0KQEAgLTMwLDcgKzMwLDYgQEAgdmFyIHRlc3Rz
ID0gWwogICAgIHNlbnRDb2xvcjogWzMyLCA2NCwgMTI4LCAxMjhdLAogICAgIGV4cGVjdGVkQ29s
b3I6IFs2NCwgMTI4LCAyNTUsIDEyOF0sCiAgICAgZXJyb3JSYW5nZTogMiwKLSAgICB1c2VUb0Rh
dGFVUkw6IGZhbHNlLAogICB9LAogICAvLyBJZiBwcmVtdWx0aXBsZWRBbHBoYSBpcyBmYWxzZSB0
aGVuCiAgIC8vIFt0ZXh0dXJlXSAgICAgICAgICAgW2NhbnZhc10gICAgICAgICAgICBbZGF0YVVS
TF0KQEAgLTM5LDcgKzM4LDcgQEAgdmFyIHRlc3RzID0gWwogICAgIHNlbnRDb2xvcjogWzI1NSwg
MTkyLCAxMjgsIDFdLAogICAgIGV4cGVjdGVkQ29sb3I6IFsyNTUsIDE5MiwgMTI4LCAxXSwKICAg
ICBlcnJvclJhbmdlOiAwLAotICAgIHVzZVRvRGF0YVVSTDogdHJ1ZSwKKyAgICBpbWFnZUZvcm1h
dDogImltYWdlL3BuZyIKICAgfSwKICAgLy8gSWYgcHJlbXVsdGlwbGVkQWxwaGEgaXMgZmFsc2Ug
dGhlbgogICAvLyBbdGV4dHVyZV0gICAgICAgICAgIFtjYW52YXNdICAgICAgICAgICAgW3RleHR1
cmVdCkBAIC00OCw3ICs0NywyNCBAQCB2YXIgdGVzdHMgPSBbCiAgICAgc2VudENvbG9yOiBbMjU1
LCAxOTIsIDEyOCwgMV0sCiAgICAgZXhwZWN0ZWRDb2xvcjogWzI1NSwgMTkyLCAxMjgsIDFdLAog
ICAgIGVycm9yUmFuZ2U6IDAsCi0gICAgdXNlVG9EYXRhVVJMOiBmYWxzZSwKKyAgfSwKKyAgLy8g
SWYgcHJlbXVsdGlwbGVkQWxwaGEgaXMgZmFsc2UgdGhlbgorICAvLyBbdGV4dHVyZV0gICAgICAg
ICAgICAgW2NhbnZhc10gICAgICAgICAgICBbZGF0YVVSTF0KKyAgLy8gMjU1LCAyNTUsIDI1NSwg
MTI4IC0+IDI1NSwgMjU1LCAyNTUsIDEyOCAtPiAxMjgsIDEyOCwgMTI4LCAyNTUKKyAgeyBjcmVh
dGlvbkF0dHJpYnV0ZXM6IHtwcmVtdWx0aXBsaWVkQWxwaGE6IGZhbHNlfSwKKyAgICBzZW50Q29s
b3I6IFsyNTUsIDI1NSwgMjU1LCAxMjhdLAorICAgIGV4cGVjdGVkQ29sb3I6IFsxMjgsIDEyOCwg
MTI4LCAyNTVdLAorICAgIGVycm9yUmFuZ2U6IDIsCisgICAgaW1hZ2VGb3JtYXQ6ICJpbWFnZS9q
cGVnIgorICB9LAorICAvLyBJZiBwcmVtdWx0aXBsZWRBbHBoYSBpcyB0cnVlIHRoZW4KKyAgLy8g
W3RleHR1cmVdICAgICAgICAgICAgIFtjYW52YXNdICAgICAgICAgICAgW2RhdGFVUkxdCisgIC8v
IDEyOCwgMTI4LCAxMjgsIDEyOCAtPiAyNTUsIDI1NSwgMjU1LCAxMjggLT4gMTI4LCAxMjgsIDEy
OCwgMjU1CisgIHsgY3JlYXRpb25BdHRyaWJ1dGVzOiB7fSwKKyAgICBzZW50Q29sb3I6IFsxMjgs
IDEyOCwgMTI4LCAxMjhdLAorICAgIGV4cGVjdGVkQ29sb3I6IFsxMjgsIDEyOCwgMTI4LCAyNTVd
LAorICAgIGVycm9yUmFuZ2U6IDIsCisgICAgaW1hZ2VGb3JtYXQ6ICJpbWFnZS9qcGVnIgogICB9
CiBdOwogCkBAIC02OCwxMiArODQsMTUgQEAgZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKICAgaWYg
KGdfY291bnQgPCB0ZXN0cy5sZW5ndGgpIHsKICAgICAgdmFyIHRlc3QgPSB0ZXN0c1tnX2NvdW50
KytdOwogICAgICBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAg
ICAgLy8gTmVlZCB0byBwcmVzZXJ2ZSBkcmF3aW5nIGJ1ZmZlciB0byBsb2FkIGl0IGluIGEgY2Fs
bGJhY2sKKyAgICAgdGVzdC5jcmVhdGlvbkF0dHJpYnV0ZXMucHJlc2VydmVEcmF3aW5nQnVmZmVy
ID0gdHJ1ZTsKICAgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywgdGVzdC5jcmVh
dGlvbkF0dHJpYnV0ZXMpOwogICAgICB2YXIgcHJlbXVsdGlwbGllZEFscGhhID0gdGVzdC5jcmVh
dGlvbkF0dHJpYnV0ZXMucHJlbXVsdGlwbGllZEFscGhhICE9IGZhbHNlOwogICAgICBkZWJ1Zygi
IikKLSAgICAgZGVidWcoInRlc3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogIiArIHByZW11bHRp
cGxpZWRBbHBoYSArICIgdG9EYXRhVVJMOiAiICsgdGVzdC51c2VUb0RhdGFVUkwpOworICAgICBk
ZWJ1ZygidGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhhOiAiICsgcHJlbXVsdGlwbGllZEFscGhh
ICsgIiBpbWFnZUZvcm1hdDogIiArIHRlc3QuaW1hZ2VGb3JtYXQpOwogCiAgICAgIHNob3VsZEJl
KCdnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZW11bHRpcGxlZEFscGhhJywgJ3ByZW11bHRp
cGxlZEFscGhhJyk7CisgICAgIHNob3VsZEJlVHJ1ZSgnZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMo
KS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXInKTsKIAogICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1
cFRleHR1cmVkUXVhZChnbCk7CiAKQEAgLTk2LDcgKzExNSw3IEBAIGZ1bmN0aW9uIGRvTmV4dFRl
c3QoKSB7CiAgICAgICAgLy8gZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX1BSRU1VTFRJUExZX0FM
UEhBX1dFQkdMLCBmYWxzZSk7CiAgICAgICAgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0NPTE9S
U1BBQ0VfQ09OVkVSU0lPTl9XRUJHTCwgZmFsc2UpOwogICAgICAgIGdsLmJpbmRUZXh0dXJlKGds
LlRFWFRVUkVfMkQsIHBuZ1RleCk7Ci0gICAgICAgaWYgKHRlc3QudXNlVG9EYXRhVVJMKSB7Cisg
ICAgICAgaWYgKHRlc3QuaW1hZ2VGb3JtYXQpIHsKICAgICAgICAgICAvLyBjcmVhdGUgdGV4dHVy
ZSBmcm9tIGltYWdlCiAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBn
bC5SR0JBLCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCB0aGlzKTsKICAgICAgICB9IGVsc2Ug
ewpAQCAtMTE3LDEzICsxMzYsMjAgQEAgZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKICAgICAgICBk
b05leHRUZXN0KCk7CiAgICAgIH0KIAotICAgICBpZiAodGVzdC51c2VUb0RhdGFVUkwpIHsKKyAg
ICAgaWYgKHRlc3QuaW1hZ2VGb3JtYXQpIHsKICAgICAgICAgLy8gTG9hZCBjYW52YXMgaW50byBz
dHJpbmcgdXNpbmcgdG9EYXRhVVJMCi0gICAgICAgIHZhciBwbmcgPSBjYW52YXMudG9EYXRhVVJM
KCk7Ci0gICAgICAgIC8vIExvYWQgc3RyaW5nIGludG8gdGhlIHRleHR1cmUKLSAgICAgICAgdmFy
IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7Ci0gICAgICAgIGlucHV0Lm9u
bG9hZCA9IGxvYWRUZXh0dXJlOwotICAgICAgICBpbnB1dC5zcmMgPSBwbmc7CisgICAgICAgIHZh
ciBpbWFnZVVybCA9IGNhbnZhcy50b0RhdGFVUkwodGVzdC5pbWFnZUZvcm1hdCk7CisgICAgICAg
IGlmICh0ZXN0LmltYWdlRm9ybWF0ICE9ICJpbWFnZS9wbmciICYmCisgICAgICAgICAgICAoaW1h
Z2VVcmwuaW5kZXhPZigiZGF0YTppbWFnZS9wbmcsIikgPT0gMCB8fAorICAgICAgICAgICAgIGlt
YWdlVXJsLmluZGV4T2YoImRhdGE6aW1hZ2UvcG5nOyIpID09IDApKSB7CisgICAgICAgICAgZGVi
dWcoIkltYWdlIGZvcm1hdCAiICsgdGVzdC5pbWFnZUZvcm1hdCArICIgbm90IHN1cHBvcnRlZDsg
c2tpcHBpbmciKTsKKyAgICAgICAgICBzZXRUaW1lb3V0KGRvTmV4dFRlc3QsIDApOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgIC8vIExvYWQgc3RyaW5nIGludG8gdGhlIHRleHR1cmUKKyAg
ICAgICAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAg
ICAgICBpbnB1dC5vbmxvYWQgPSBsb2FkVGV4dHVyZTsKKyAgICAgICAgICBpbnB1dC5zcmMgPSBp
bWFnZVVybDsKKyAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgICAvLyBMb2FkIGNhbnZh
cyBpbnRvIHRoZSB0ZXh0dXJlIGFzeW5jaHJvbm91c2x5ICh0byBwcmV2ZW50IHVuYm91bmRlZCBz
dGFjayBjb25zdW1wdGlvbikKICAgICAgICAgc2V0VGltZW91dChsb2FkVGV4dHVyZSwgMCk7CkBA
IC0xMzgsOSArMTY0LDYgQEAgZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKIAogPC9zY3JpcHQ+CiAK
LTxzY3JpcHQ+Ci08L3NjcmlwdD4KLQogPC9ib2R5PgogPC9odG1sPgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MmU5MGFmNDgwYTIwNmY1NmMxNTY1NjBiOGY4NmRkZWRmZTkwNDdiNi4uNWNiM2NhZDNmODNmNGE5
M2QyOTRlZGE4YzQ3ZDI1Y2IyNmY4Njg3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDExLTA5LTE5ICBKb2huIEJhdW1hbiAgPGpiYXVtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEZpeCBub25wcmVtdWx0aXBsaWVkIHdlYmdsIHRvRGF0YVVSTCB0byBqcGVnCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2NgorCisgICAgICAgIFRo
ZSBjYW52YXMgc3BlYyBzYXlzIHRoYXQgdG9EYXRhVVJMIHRvIGZvcm1hdHMgd2l0aG91dCBhbiBh
bHBoYSBtdXN0CisgICAgICAgIGJlICJjb21wb3NpdGVkIG9udG8gYSBzb2xpZCBibGFjayBiYWNr
Z3JvdW5kIHVzaW5nIHRoZSBzb3VyY2Utb3ZlcgorICAgICAgICBvcGVyYXRvci4iIERvIHRoYXQu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9pbWFnZS1lbmNvZGVycy9za2lhL0pQRUdJbWFnZUVuY29kZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UkdCQXRvUkdCKToKKwogMjAxMS0wOS0xNyAgRGVlcGFrIFNoZXJ2ZWdoYXIgIDxi
cHd2NjRAbW90b3JvbGEuY29tPgogCiAgICAgICAgIE92ZXJyaWRlIHN1cHBvcnRzRm9jdXMoKSBm
b3IgSFRNTE1lZGlhRWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWVuY29kZXJzL3NraWEvSlBFR0ltYWdlRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1lbmNvZGVycy9za2lhL0pQRUdJbWFnZUVuY29kZXIuY3BwCmluZGV4
IDlmZDY5NzJhM2VkMzNjOWJkMmI1NjQ1YzFjZTkyYzYwZDJkOTk2ODcuLjNiZGI1MTk1MjY0MDll
NmIyYmNjYTVmZTYxY2NiNjBkZjJjMDAyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWVuY29kZXJzL3NraWEvSlBFR0ltYWdlRW5jb2Rlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZW5jb2RlcnMvc2tpYS9KUEVHSW1hZ2VFbmNvZGVy
LmNwcApAQCAtOTIsOSArOTIsMTAgQEAgc3RhdGljIHZvaWQgcHJlTXVsdGlwbGllZEJHUkF0b1JH
Qihjb25zdCB1bnNpZ25lZCBjaGFyKiBwaXhlbHMsIHVuc2lnbmVkIGludCBwaXgKIHN0YXRpYyB2
b2lkIFJHQkF0b1JHQihjb25zdCB1bnNpZ25lZCBjaGFyKiBwaXhlbHMsIHVuc2lnbmVkIGludCBw
aXhlbENvdW50LCB1bnNpZ25lZCBjaGFyKiBvdXRwdXQpCiB7CiAgICAgZm9yICg7IHBpeGVsQ291
bnQtLSA+IDA7IHBpeGVscyArPSA0KSB7Ci0gICAgICAgICpvdXRwdXQrKyA9IHBpeGVsc1swXTsK
LSAgICAgICAgKm91dHB1dCsrID0gcGl4ZWxzWzFdOwotICAgICAgICAqb3V0cHV0KysgPSBwaXhl
bHNbMl07CisgICAgICAgIC8vIERvIHNvdXJjZS1vdmVyIGNvbXBvc2l0aW9uIG9uIGJsYWNrLgor
ICAgICAgICAqb3V0cHV0KysgPSBwaXhlbHNbMF0gKiBwaXhlbHNbM10gLyAyNTU7CisgICAgICAg
ICpvdXRwdXQrKyA9IHBpeGVsc1sxXSAqIHBpeGVsc1szXSAvIDI1NTsKKyAgICAgICAgKm91dHB1
dCsrID0gcGl4ZWxzWzJdICogcGl4ZWxzWzNdIC8gMjU1OwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108265</attachid>
            <date>2011-09-21 18:17:16 -0700</date>
            <delta_ts>2011-09-26 15:06:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68366-20110921181715.patch</filename>
            <type>text/plain</type>
            <size>16756</size>
            <attacher name="John Bauman">jbauman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUzODEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NDljYThmNTVmMzkzNDFhZGM3NDA0
YTY0NjJkODk3NmU1NTk2Y2UwLi5lNDYxYTBiYWRmMmVmMzNlMzA1OGQ0YzQ5ZTA0ZWQyNmE1NGM2
NWI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMjAgIEpvaG4gQmF1bWFuICA8amJh
dW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRml4IG5vbnByZW11bHRpcGxpZWQgd2ViZ2wg
dG9EYXRhVVJMIHRvIGpwZWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY4MzY2CisKKyAgICAgICAgVXBkYXRlIHRoZSBwcmVtdWx0aXBseWFscGhhLXRl
c3QgZnJvbSB0aGUgV2ViR0wgY29uZm9ybWFuY2UgdGVzdHMuCisgICAgICAgIEFsc28gdXNlIHRo
ZSBjb3JyZWN0IGV4cGVjdGVkIHJlc3VsdCBmb3IgdG9EYXRhVVJMLmpwZWcuYWxwaGEuaHRtbC4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9jYW52YXMvd2ViZ2wvcHJlbXVsdGlwbHlhbHBoYS10ZXN0Lmh0bWw6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2NhbnZhcy9waGlsaXAvdGVzdHMvdG9EYXRhVVJMLmpwZWcuYWxwaGEt
ZXhwZWN0ZWQudHh0OgorCiAyMDExLTA5LTE3ICBEZWVwYWsgU2hlcnZlZ2hhciAgPGJwd3Y2NEBt
b3Rvcm9sYS5jb20+CiAKICAgICAgICAgT3ZlcnJpZGUgc3VwcG9ydHNGb2N1cygpIGZvciBIVE1M
TWVkaWFFbGVtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
cHJlbXVsdGlwbHlhbHBoYS10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC1leHBlY3RlZC50eHQKaW5kZXggZDQ0YTU0
Yzk0OGQ3ODJkNzE4ODBjNzkyNGExYzljNTc4YTUzMGVlNS4uMTExNjU0ZGExZjQwN2MzNTcwMWZl
MzcxZmI0YWM5NWU0ZmY2NmRhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvcHJlbXVsdGlwbHlhbHBoYS10ZXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC9wcmVtdWx0aXBseWFscGhhLXRlc3QtZXhwZWN0ZWQudHh0CkBA
IC0zLDM1ICszLDU3IEBAIFRlc3QgdGhlIFdlYkdMIHByZW11bHRpcGxlZEFscGhhIGNvbnRleHQg
Y3JlYXRpb24gZmxhZy4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi10ZXN0aW5nOiBw
cmVtdWx0aXBsaWVkQWxwaGE6IHRydWUgdG9EYXRhVVJMOiB0cnVlCit0ZXN0aW5nOiBwcmVtdWx0
aXBsaWVkQWxwaGE6IHRydWUgaW1hZ2VGb3JtYXQ6IGltYWdlL3BuZwogUEFTUyBnbC5nZXRDb250
ZXh0QXR0cmlidXRlcygpLnByZW11bHRpcGxlZEFscGhhIGlzIHByZW11bHRpcGxlZEFscGhhCitQ
QVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlc2VydmVEcmF3aW5nQnVmZmVyIGlzIHRy
dWUKIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBi
ZSBubyBlcnJvcnMgZnJvbSBzZXR1cC4KIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSBkcmF3aW5nLgogUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBm
cm9tIGNyZWF0aW5nIGNvcHkuCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gMm5kIGRyYXdpbmcuCiBQQVNTIHNob3Vs
ZCBkcmF3IHdpdGggNjQsMTI4LDI1NSwxMjgKIAotdGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhh
OiB0cnVlIHRvRGF0YVVSTDogZmFsc2UKK3Rlc3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogdHJ1
ZSBpbWFnZUZvcm1hdDogdW5kZWZpbmVkCiBQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCku
cHJlbXVsdGlwbGVkQWxwaGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BBU1MgZ2wuZ2V0Q29udGV4
dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1ZQogUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9t
IHNldHVwLgogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hv
dWxkIGJlIG5vIGVycm9ycyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gY3JlYXRpbmcgY29w
eS4KIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBi
ZSBubyBlcnJvcnMgZnJvbSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxkIGRyYXcgd2l0aCA2NCwx
MjgsMjU1LDEyOAogCi10ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxwaGE6IGZhbHNlIHRvRGF0YVVS
TDogdHJ1ZQordGVzdGluZzogcHJlbXVsdGlwbGllZEFscGhhOiBmYWxzZSBpbWFnZUZvcm1hdDog
aW1hZ2UvcG5nCiBQQVNTIGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxw
aGEgaXMgcHJlbXVsdGlwbGVkQWxwaGEKK1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5w
cmVzZXJ2ZURyYXdpbmdCdWZmZXIgaXMgdHJ1ZQogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIHNldHVwLgogUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9y
cyBmcm9tIGRyYXdpbmcuCiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gY3JlYXRpbmcgY29weS4KIFBBU1MgZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJv
bSAybmQgZHJhd2luZy4KIFBBU1Mgc2hvdWxkIGRyYXcgd2l0aCAyNTUsMTkyLDEyOCwxCiAKLXRl
c3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogZmFsc2UgdG9EYXRhVVJMOiBmYWxzZQordGVzdGlu
ZzogcHJlbXVsdGlwbGllZEFscGhhOiBmYWxzZSBpbWFnZUZvcm1hdDogdW5kZWZpbmVkCiBQQVNT
IGdsLmdldENvbnRleHRBdHRyaWJ1dGVzKCkucHJlbXVsdGlwbGVkQWxwaGEgaXMgcHJlbXVsdGlw
bGVkQWxwaGEKK1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdpbmdC
dWZmZXIgaXMgdHJ1ZQogUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIHNldHVwLgogUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIGRyYXdpbmcu
CiBQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUg
bm8gZXJyb3JzIGZyb20gY3JlYXRpbmcgY29weS4KIFBBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSAybmQgZHJhd2luZy4K
IFBBU1Mgc2hvdWxkIGRyYXcgd2l0aCAyNTUsMTkyLDEyOCwxCiAKK3Rlc3Rpbmc6IHByZW11bHRp
cGxpZWRBbHBoYTogZmFsc2UgaW1hZ2VGb3JtYXQ6IGltYWdlL2pwZWcKK1BBU1MgZ2wuZ2V0Q29u
dGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsZWRBbHBoYSBpcyBwcmVtdWx0aXBsZWRBbHBoYQor
UEFTUyBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZlciBpcyB0
cnVlCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQg
YmUgbm8gZXJyb3JzIGZyb20gc2V0dXAuCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gZHJhd2luZy4KK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMg
ZnJvbSBjcmVhdGluZyBjb3B5LgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIDJuZCBkcmF3aW5nLgorUEFTUyBzaG91
bGQgZHJhdyB3aXRoIDEyOCwxMjgsMTI4LDI1NQorCit0ZXN0aW5nOiBwcmVtdWx0aXBsaWVkQWxw
aGE6IHRydWUgaW1hZ2VGb3JtYXQ6IGltYWdlL2pwZWcKK1BBU1MgZ2wuZ2V0Q29udGV4dEF0dHJp
YnV0ZXMoKS5wcmVtdWx0aXBsZWRBbHBoYSBpcyBwcmVtdWx0aXBsZWRBbHBoYQorUEFTUyBnbC5n
ZXRDb250ZXh0QXR0cmlidXRlcygpLnByZXNlcnZlRHJhd2luZ0J1ZmZlciBpcyB0cnVlCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTaG91bGQgYmUgbm8gZXJy
b3JzIGZyb20gc2V0dXAuCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBTaG91bGQgYmUgbm8gZXJyb3JzIGZyb20gZHJhd2luZy4KK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNob3VsZCBiZSBubyBlcnJvcnMgZnJvbSBjcmVh
dGluZyBjb3B5LgorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIDJuZCBkcmF3aW5nLgorUEFTUyBzaG91bGQgZHJhdyB3
aXRoIDEyOCwxMjgsMTI4LDI1NQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9wcmVtdWx0aXBseWFscGhhLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCmluZGV4IDY3N2EzNzBiOGU4NjY2
Njc3MTllOTZiNzg2Y2RkYTM1Nzk4YjE0MjIuLjNiZjQ0OWFhYjZiOTg3YWI1YTA5YWI3YmU0Yjgz
NmFjODcwNTZkMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3By
ZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3ByZW11bHRpcGx5YWxwaGEtdGVzdC5odG1sCkBAIC0xLDcgKzEsNyBAQAotPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKLSAg
Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiA8dGl0bGU+VGVzdCB0aGUg
V2ViR0wgcHJlbXVsdGlwbGVkQWxwaGEgY29udGV4dCBjcmVhdGlvbiBmbGFnLjwvdGl0bGU+CiA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CkBAIC0yMSw3ICsyMSw3IEBAIHZhciB0ZXN0cyA9IFsKICAgICBzZW50Q29s
b3I6IFszMiwgNjQsIDEyOCwgMTI4XSwKICAgICBleHBlY3RlZENvbG9yOiBbNjQsIDEyOCwgMjU1
LCAxMjhdLAogICAgIGVycm9yUmFuZ2U6IDIsCi0gICAgdXNlVG9EYXRhVVJMOiB0cnVlLAorICAg
IGltYWdlRm9ybWF0OiAiaW1hZ2UvcG5nIgogICB9LAogICAvLyBJZiBwcmVtdWx0aXBsZWRBbHBo
YSBpcyB0cnVlIHRoZW4KICAgLy8gW3RleHR1cmVdICAgICAgICAgICBbY2FudmFzXSAgICAgICAg
ICAgICBbdGV4dHVyZV0KQEAgLTMwLDcgKzMwLDYgQEAgdmFyIHRlc3RzID0gWwogICAgIHNlbnRD
b2xvcjogWzMyLCA2NCwgMTI4LCAxMjhdLAogICAgIGV4cGVjdGVkQ29sb3I6IFs2NCwgMTI4LCAy
NTUsIDEyOF0sCiAgICAgZXJyb3JSYW5nZTogMiwKLSAgICB1c2VUb0RhdGFVUkw6IGZhbHNlLAog
ICB9LAogICAvLyBJZiBwcmVtdWx0aXBsZWRBbHBoYSBpcyBmYWxzZSB0aGVuCiAgIC8vIFt0ZXh0
dXJlXSAgICAgICAgICAgW2NhbnZhc10gICAgICAgICAgICBbZGF0YVVSTF0KQEAgLTM5LDcgKzM4
LDcgQEAgdmFyIHRlc3RzID0gWwogICAgIHNlbnRDb2xvcjogWzI1NSwgMTkyLCAxMjgsIDFdLAog
ICAgIGV4cGVjdGVkQ29sb3I6IFsyNTUsIDE5MiwgMTI4LCAxXSwKICAgICBlcnJvclJhbmdlOiAw
LAotICAgIHVzZVRvRGF0YVVSTDogdHJ1ZSwKKyAgICBpbWFnZUZvcm1hdDogImltYWdlL3BuZyIK
ICAgfSwKICAgLy8gSWYgcHJlbXVsdGlwbGVkQWxwaGEgaXMgZmFsc2UgdGhlbgogICAvLyBbdGV4
dHVyZV0gICAgICAgICAgIFtjYW52YXNdICAgICAgICAgICAgW3RleHR1cmVdCkBAIC00OCw3ICs0
NywyNCBAQCB2YXIgdGVzdHMgPSBbCiAgICAgc2VudENvbG9yOiBbMjU1LCAxOTIsIDEyOCwgMV0s
CiAgICAgZXhwZWN0ZWRDb2xvcjogWzI1NSwgMTkyLCAxMjgsIDFdLAogICAgIGVycm9yUmFuZ2U6
IDAsCi0gICAgdXNlVG9EYXRhVVJMOiBmYWxzZSwKKyAgfSwKKyAgLy8gSWYgcHJlbXVsdGlwbGVk
QWxwaGEgaXMgZmFsc2UgdGhlbgorICAvLyBbdGV4dHVyZV0gICAgICAgICAgICAgW2NhbnZhc10g
ICAgICAgICAgICBbZGF0YVVSTF0KKyAgLy8gMjU1LCAyNTUsIDI1NSwgMTI4IC0+IDI1NSwgMjU1
LCAyNTUsIDEyOCAtPiAxMjgsIDEyOCwgMTI4LCAyNTUKKyAgeyBjcmVhdGlvbkF0dHJpYnV0ZXM6
IHtwcmVtdWx0aXBsaWVkQWxwaGE6IGZhbHNlfSwKKyAgICBzZW50Q29sb3I6IFsyNTUsIDI1NSwg
MjU1LCAxMjhdLAorICAgIGV4cGVjdGVkQ29sb3I6IFsxMjgsIDEyOCwgMTI4LCAyNTVdLAorICAg
IGVycm9yUmFuZ2U6IDIsCisgICAgaW1hZ2VGb3JtYXQ6ICJpbWFnZS9qcGVnIgorICB9LAorICAv
LyBJZiBwcmVtdWx0aXBsZWRBbHBoYSBpcyB0cnVlIHRoZW4KKyAgLy8gW3RleHR1cmVdICAgICAg
ICAgICAgIFtjYW52YXNdICAgICAgICAgICAgW2RhdGFVUkxdCisgIC8vIDEyOCwgMTI4LCAxMjgs
IDEyOCAtPiAyNTUsIDI1NSwgMjU1LCAxMjggLT4gMTI4LCAxMjgsIDEyOCwgMjU1CisgIHsgY3Jl
YXRpb25BdHRyaWJ1dGVzOiB7fSwKKyAgICBzZW50Q29sb3I6IFsxMjgsIDEyOCwgMTI4LCAxMjhd
LAorICAgIGV4cGVjdGVkQ29sb3I6IFsxMjgsIDEyOCwgMTI4LCAyNTVdLAorICAgIGVycm9yUmFu
Z2U6IDIsCisgICAgaW1hZ2VGb3JtYXQ6ICJpbWFnZS9qcGVnIgogICB9CiBdOwogCkBAIC02OCwx
MiArODQsMTUgQEAgZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKICAgaWYgKGdfY291bnQgPCB0ZXN0
cy5sZW5ndGgpIHsKICAgICAgdmFyIHRlc3QgPSB0ZXN0c1tnX2NvdW50KytdOwogICAgICBjYW52
YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAgICAgLy8gTmVlZCB0byBw
cmVzZXJ2ZSBkcmF3aW5nIGJ1ZmZlciB0byBsb2FkIGl0IGluIGEgY2FsbGJhY2sKKyAgICAgdGVz
dC5jcmVhdGlvbkF0dHJpYnV0ZXMucHJlc2VydmVEcmF3aW5nQnVmZmVyID0gdHJ1ZTsKICAgICAg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcywgdGVzdC5jcmVhdGlvbkF0dHJpYnV0ZXMp
OwogICAgICB2YXIgcHJlbXVsdGlwbGllZEFscGhhID0gdGVzdC5jcmVhdGlvbkF0dHJpYnV0ZXMu
cHJlbXVsdGlwbGllZEFscGhhICE9IGZhbHNlOwogICAgICBkZWJ1ZygiIikKLSAgICAgZGVidWco
InRlc3Rpbmc6IHByZW11bHRpcGxpZWRBbHBoYTogIiArIHByZW11bHRpcGxpZWRBbHBoYSArICIg
dG9EYXRhVVJMOiAiICsgdGVzdC51c2VUb0RhdGFVUkwpOworICAgICBkZWJ1ZygidGVzdGluZzog
cHJlbXVsdGlwbGllZEFscGhhOiAiICsgcHJlbXVsdGlwbGllZEFscGhhICsgIiBpbWFnZUZvcm1h
dDogIiArIHRlc3QuaW1hZ2VGb3JtYXQpOwogCiAgICAgIHNob3VsZEJlKCdnbC5nZXRDb250ZXh0
QXR0cmlidXRlcygpLnByZW11bHRpcGxlZEFscGhhJywgJ3ByZW11bHRpcGxlZEFscGhhJyk7Cisg
ICAgIHNob3VsZEJlVHJ1ZSgnZ2wuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVzZXJ2ZURyYXdp
bmdCdWZmZXInKTsKIAogICAgICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChn
bCk7CiAKQEAgLTk2LDcgKzExNSw3IEBAIGZ1bmN0aW9uIGRvTmV4dFRlc3QoKSB7CiAgICAgICAg
Ly8gZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX1BSRU1VTFRJUExZX0FMUEhBX1dFQkdMLCBmYWxz
ZSk7CiAgICAgICAgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lP
Tl9XRUJHTCwgZmFsc2UpOwogICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHBu
Z1RleCk7Ci0gICAgICAgaWYgKHRlc3QudXNlVG9EYXRhVVJMKSB7CisgICAgICAgaWYgKHRlc3Qu
aW1hZ2VGb3JtYXQpIHsKICAgICAgICAgICAvLyBjcmVhdGUgdGV4dHVyZSBmcm9tIGltYWdlCiAg
ICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCB0aGlzKTsKICAgICAgICB9IGVsc2UgewpAQCAtMTE3LDEzICsx
MzYsMjAgQEAgZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKICAgICAgICBkb05leHRUZXN0KCk7CiAg
ICAgIH0KIAotICAgICBpZiAodGVzdC51c2VUb0RhdGFVUkwpIHsKKyAgICAgaWYgKHRlc3QuaW1h
Z2VGb3JtYXQpIHsKICAgICAgICAgLy8gTG9hZCBjYW52YXMgaW50byBzdHJpbmcgdXNpbmcgdG9E
YXRhVVJMCi0gICAgICAgIHZhciBwbmcgPSBjYW52YXMudG9EYXRhVVJMKCk7Ci0gICAgICAgIC8v
IExvYWQgc3RyaW5nIGludG8gdGhlIHRleHR1cmUKLSAgICAgICAgdmFyIGlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaW1nIik7Ci0gICAgICAgIGlucHV0Lm9ubG9hZCA9IGxvYWRUZXh0
dXJlOwotICAgICAgICBpbnB1dC5zcmMgPSBwbmc7CisgICAgICAgIHZhciBpbWFnZVVybCA9IGNh
bnZhcy50b0RhdGFVUkwodGVzdC5pbWFnZUZvcm1hdCk7CisgICAgICAgIGlmICh0ZXN0LmltYWdl
Rm9ybWF0ICE9ICJpbWFnZS9wbmciICYmCisgICAgICAgICAgICAoaW1hZ2VVcmwuaW5kZXhPZigi
ZGF0YTppbWFnZS9wbmcsIikgPT0gMCB8fAorICAgICAgICAgICAgIGltYWdlVXJsLmluZGV4T2Yo
ImRhdGE6aW1hZ2UvcG5nOyIpID09IDApKSB7CisgICAgICAgICAgZGVidWcoIkltYWdlIGZvcm1h
dCAiICsgdGVzdC5pbWFnZUZvcm1hdCArICIgbm90IHN1cHBvcnRlZDsgc2tpcHBpbmciKTsKKyAg
ICAgICAgICBzZXRUaW1lb3V0KGRvTmV4dFRlc3QsIDApOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgIC8vIExvYWQgc3RyaW5nIGludG8gdGhlIHRleHR1cmUKKyAgICAgICAgICB2YXIgaW5w
dXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAgICAgICBpbnB1dC5vbmxv
YWQgPSBsb2FkVGV4dHVyZTsKKyAgICAgICAgICBpbnB1dC5zcmMgPSBpbWFnZVVybDsKKyAgICAg
ICAgfQogICAgICB9IGVsc2UgewogICAgICAgICAvLyBMb2FkIGNhbnZhcyBpbnRvIHRoZSB0ZXh0
dXJlIGFzeW5jaHJvbm91c2x5ICh0byBwcmV2ZW50IHVuYm91bmRlZCBzdGFjayBjb25zdW1wdGlv
bikKICAgICAgICAgc2V0VGltZW91dChsb2FkVGV4dHVyZSwgMCk7CkBAIC0xMzgsOSArMTY0LDYg
QEAgZnVuY3Rpb24gZG9OZXh0VGVzdCgpIHsKIAogPC9zY3JpcHQ+CiAKLTxzY3JpcHQ+Ci08L3Nj
cmlwdD4KLQogPC9ib2R5PgogPC9odG1sPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvY2FudmFzL3BoaWxpcC90ZXN0cy90b0RhdGFVUkwuanBlZy5hbHBoYS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY2FudmFzL3BoaWxpcC90ZXN0cy90b0Rh
dGFVUkwuanBlZy5hbHBoYS1leHBlY3RlZC50eHQKaW5kZXggNjUyY2E0YzM4NDM4MDViNzNlZGNl
MjllY2RmZGUyMTMxNGQ4ZWQxZC4uODYzMzM5ZmI4Y2VkNjNjY2Q4MTJhYTlhZDBlN2JhOTViZjgz
MDYwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NhbnZhcy9waGlsaXAv
dGVzdHMvdG9EYXRhVVJMLmpwZWcuYWxwaGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9jYW52YXMvcGhpbGlwL3Rlc3RzL3RvRGF0YVVSTC5qcGVnLmFscGhhLWV4
cGVjdGVkLnR4dApAQCAtMSArMSBAQAotRmFpbGVkIGFzc2VydGlvbjogZ290IHBpeGVsIFsxOTMs
MjU1LDE5MiwyNTVdIGF0ICg1MCwyNSksIGV4cGVjdGVkIFs2MywxMjcsNjMsMjU1XSArLy0gOAor
UGFzc2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMmU5MGFmNDgwYTIwNmY1NmMxNTY1NjBiOGY4NmRkZWRmZTkw
NDdiNi4uOTM1MDA0ZTUwNGU5NGFkMGNiNzg2OWYxZTc4NWYwYjE1MDMxZjVmMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTA5LTIwICBKb2huIEJhdW1hbiAgPGpiYXVtYW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEZpeCBub25wcmVtdWx0aXBsaWVkIHdlYmdsIHRvRGF0YVVS
TCB0byBqcGVnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02ODM2NgorCisgICAgICAgIFRoZSBjYW52YXMgc3BlYyBzYXlzIHRoYXQgdG9EYXRhVVJMIHRv
IGZvcm1hdHMgd2l0aG91dCBhbiBhbHBoYSBtdXN0CisgICAgICAgIGJlICJjb21wb3NpdGVkIG9u
dG8gYSBzb2xpZCBibGFjayBiYWNrZ3JvdW5kIHVzaW5nIHRoZSBzb3VyY2Utb3ZlcgorICAgICAg
ICBvcGVyYXRvci4iIERvIHRoYXQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNHSW1hZ2VUb0RhdGFVUkwpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VCdWZmZXI6OnRvRGF0YVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURhdGFUb0Rh
dGFVUkwpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWVuY29kZXJzL3NraWEvSlBFR0ltYWdl
RW5jb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSR0JBdG9SR0IpOgorCiAyMDExLTA5LTE3
ICBEZWVwYWsgU2hlcnZlZ2hhciAgPGJwd3Y2NEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgT3Zl
cnJpZGUgc3VwcG9ydHNGb2N1cygpIGZvciBIVE1MTWVkaWFFbGVtZW50LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcAppbmRl
eCA3YjU1ZDE2ZDgwZWU5OTJiNTZjNTdmMTIxZmViYTQxMmVkNjQ4NjIyLi43MGFmNDgzMTE3NjNh
ODkyZmQ4ZjU0MjQ4MzEzNDIxNzNmMGNiMGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcApAQCAtMzQzLDYgKzM0Myw5
IEBAIHN0YXRpYyBTdHJpbmcgQ0dJbWFnZVRvRGF0YVVSTChDR0ltYWdlUmVmIGltYWdlLCBjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBkCiAgICAgICAgIGltYWdlUHJvcGVydGllcy5hZG9w
dENGKENGRGljdGlvbmFyeUNyZWF0ZSgwLCAma2V5LCAmdmFsdWUsIDEsICZrQ0ZUeXBlRGljdGlv
bmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAg
ICB9CiAKKyAgICAvLyBTZXR0aW5nIGtDR0ltYWdlRGVzdGluYXRpb25CYWNrZ3JvdW5kQ29sb3Ig
dG8gYmxhY2sgaW4gaW1hZ2VQcm9wZXJ0aWVzIHdvdWxkIGFsbG93IHNhdmluZyBzb21lIG1hdGgg
aW4gdGhlCisgICAgLy8gY2FsbGluZyBmdW5jdGlvbnMsIGJ1dCBpdCBkb2Vzbid0IHNlZW0gdG8g
d29yay4KKwogICAgIENHSW1hZ2VEZXN0aW5hdGlvbkFkZEltYWdlKGRlc3RpbmF0aW9uLmdldCgp
LCBpbWFnZSwgaW1hZ2VQcm9wZXJ0aWVzLmdldCgpKTsKICAgICBDR0ltYWdlRGVzdGluYXRpb25G
aW5hbGl6ZShkZXN0aW5hdGlvbi5nZXQoKSk7CiAKQEAgLTM1NSw4ICszNTgsMzEgQEAgc3RhdGlj
IFN0cmluZyBDR0ltYWdlVG9EYXRhVVJMKENHSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGNvbnN0IGQKIFN0cmluZyBJbWFnZUJ1ZmZlcjo6dG9EYXRhVVJMKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSogcXVhbGl0eSkgY29uc3QKIHsKICAgICBBU1NF
UlQoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlRm9yRW5jb2Rpbmco
bWltZVR5cGUpKTsKKyAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2U7CisgICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiB1dGkgPSB1dGlGcm9tTUlNRVR5cGUobWltZVR5cGUpOworICAgIEFT
U0VSVCh1dGkpOworCisgICAgaWYgKENGRXF1YWwodXRpLmdldCgpLCBqcGVnVVRJKCkpKSB7Cisg
ICAgICAgIC8vIEpQRUdzIGRvbid0IGhhdmUgYW4gYWxwaGEgY2hhbm5lbCwgc28gd2UgaGF2ZSB0
byBtYW51YWxseSBjb21wb3NpdGUgb24gdG9wIG9mIGJsYWNrLgorICAgICAgICBSZWZQdHI8Qnl0
ZUFycmF5PiBhcnIgPSBnZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKEludFJlY3QoSW50UG9pbnQo
MCwgMCksIG1fc2l6ZSkpOworCisgICAgICAgIHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBhcnItPmRh
dGEoKTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCB3aWR0aCgpICogaGVpZ2h0KCk7IGkr
KykKKyAgICAgICAgICAgIGRhdGFbaSAqIDQgKyAzXSA9IDI1NTsgLy8gVGhlIGltYWdlIGlzIGFs
cmVhZHkgcHJlbXVsdGlwbGllZCwgc28gd2UganVzdCBuZWVkIHRvIG1ha2UgaXQgb3BhcXVlLgor
CisgICAgICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4gZGF0YVByb3ZpZGVyOworICAg
IAorICAgICAgICBkYXRhUHJvdmlkZXIuYWRvcHRDRihDR0RhdGFQcm92aWRlckNyZWF0ZVdpdGhE
YXRhKDAsIGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNCAqIHdpZHRoKCkgKiBoZWlnaHQoKSwgMCkpOworICAgIAorICAgICAg
ICBpZiAoIWRhdGFQcm92aWRlcikKKyAgICAgICAgICAgIHJldHVybiAiZGF0YTosIjsKIAotICAg
IFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBjb3B5TmF0aXZlSW1hZ2UoQ29w
eUJhY2tpbmdTdG9yZSkpOworICAgICAgICBpbWFnZS5hZG9wdENGKENHSW1hZ2VDcmVhdGUod2lk
dGgoKSwgaGVpZ2h0KCksIDgsIDMyLCA0ICogd2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIENHQ29sb3JTcGFjZUNyZWF0ZURldmljZVJHQigpLCBrQ0dCaXRtYXBC
eXRlT3JkZXJEZWZhdWx0IHwga0NHSW1hZ2VBbHBoYUxhc3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkYXRhUHJvdmlkZXIuZ2V0KCksIDAsIGZhbHNlLCBrQ0dSZW5kZXJp
bmdJbnRlbnREZWZhdWx0KSk7CisgICAgfSBlbHNlCisgICAgICAgIGltYWdlLmFkb3B0Q0YoY29w
eU5hdGl2ZUltYWdlKENvcHlCYWNraW5nU3RvcmUpKTsKIAogICAgIGlmICghaW1hZ2UpCiAgICAg
ICAgIHJldHVybiAiZGF0YTosIjsKQEAgLTM3MCw4ICszOTYsMzUgQEAgU3RyaW5nIEltYWdlRGF0
YVRvRGF0YVVSTChjb25zdCBJbWFnZURhdGEmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgY29uc3QKICAgICAgICAgCiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlOwogICAg
IFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4gZGF0YVByb3ZpZGVyOworCisgICAgdW5zaWdu
ZWQgY2hhciogZGF0YSA9IHNvdXJjZS5kYXRhKCktPmRhdGEoKS0+ZGF0YSgpOworICAgIFJldGFp
blB0cjxDRlN0cmluZ1JlZj4gdXRpID0gdXRpRnJvbU1JTUVUeXBlKG1pbWVUeXBlKTsKKyAgICBB
U1NFUlQodXRpKTsKKyAgICBWZWN0b3I8dWludDhfdD4gZGF0YVZlY3RvcjsKKyAgICBpZiAoQ0ZF
cXVhbCh1dGkuZ2V0KCksIGpwZWdVVEkoKSkpIHsKKyAgICAgICAgLy8gSlBFR3MgZG9uJ3QgaGF2
ZSBhbiBhbHBoYSBjaGFubmVsLCBzbyB3ZSBoYXZlIHRvIG1hbnVhbGx5IGNvbXBvc2l0ZSBvbiB0
b3Agb2YgYmxhY2suCisgICAgICAgIGRhdGFWZWN0b3IucmVzaXplKDQgKiBzb3VyY2Uud2lkdGgo
KSAqIHNvdXJjZS5oZWlnaHQoKSk7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgKm91dCA9IGRhdGFW
ZWN0b3IuZGF0YSgpOworICAgICAgICAKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzb3Vy
Y2Uud2lkdGgoKSAqIHNvdXJjZS5oZWlnaHQoKTsgaSsrKSB7CisgICAgICAgICAgICAvLyBNdWx0
aXBseSBjb2xvciBkYXRhIGJ5IGFscGhhLCBhbmQgc2V0IGFscGhhIHRvIDI1NS4KKyAgICAgICAg
ICAgIGludCBhbHBoYSA9IGRhdGFbNCAqIGkgKyAzXTsKKyAgICAgICAgICAgIGlmIChhbHBoYSAh
PSAyNTUpIHsKKyAgICAgICAgICAgICAgICBvdXRbNCAqIGkgKyAwXSA9IGRhdGFbNCAqIGkgKyAw
XSAqIGFscGhhIC8gMjU1OworICAgICAgICAgICAgICAgIG91dFs0ICogaSArIDFdID0gZGF0YVs0
ICogaSArIDFdICogYWxwaGEgLyAyNTU7CisgICAgICAgICAgICAgICAgb3V0WzQgKiBpICsgMl0g
PSBkYXRhWzQgKiBpICsgMl0gKiBhbHBoYSAvIDI1NTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgb3V0WzQgKiBpICsgMF0gPSBkYXRhWzQgKiBpICsgMF07CisgICAgICAg
ICAgICAgICAgb3V0WzQgKiBpICsgMV0gPSBkYXRhWzQgKiBpICsgMV07CisgICAgICAgICAgICAg
ICAgb3V0WzQgKiBpICsgMl0gPSBkYXRhWzQgKiBpICsgMl07CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBvdXRbNCAqIGkgKyAzXSA9IDI1NTsKKyAgICAgICAgfQorCisgICAgICAgIGRhdGEg
PSBvdXQ7CisgICAgfQogICAgIAotICAgIGRhdGFQcm92aWRlci5hZG9wdENGKENHRGF0YVByb3Zp
ZGVyQ3JlYXRlV2l0aERhdGEoMCwgc291cmNlLmRhdGEoKS0+ZGF0YSgpLT5kYXRhKCksCisgICAg
ZGF0YVByb3ZpZGVyLmFkb3B0Q0YoQ0dEYXRhUHJvdmlkZXJDcmVhdGVXaXRoRGF0YSgwLCBkYXRh
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NCAqIHNvdXJjZS53aWR0aCgpICogc291cmNlLmhlaWdodCgpLCAwKSk7CiAgICAgCiAgICAgaWYg
KCFkYXRhUHJvdmlkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1lbmNvZGVycy9za2lhL0pQRUdJbWFnZUVuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZW5jb2RlcnMvc2tpYS9KUEVHSW1hZ2VFbmNvZGVyLmNwcAppbmRleCA5ZmQ2
OTcyYTNlZDMzYzliZDJiNTY0NWMxY2U5MmM2MGQyZDk5Njg3Li5mNjdhMWYxYzRkOWUyY2MxNjNi
ZTMwMmRiN2JmYTBmZmNiODA5ZDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1lbmNvZGVycy9za2lhL0pQRUdJbWFnZUVuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWVuY29kZXJzL3NraWEvSlBFR0ltYWdlRW5jb2Rlci5jcHAK
QEAgLTkyLDkgKzkyLDE3IEBAIHN0YXRpYyB2b2lkIHByZU11bHRpcGxpZWRCR1JBdG9SR0IoY29u
c3QgdW5zaWduZWQgY2hhciogcGl4ZWxzLCB1bnNpZ25lZCBpbnQgcGl4CiBzdGF0aWMgdm9pZCBS
R0JBdG9SR0IoY29uc3QgdW5zaWduZWQgY2hhciogcGl4ZWxzLCB1bnNpZ25lZCBpbnQgcGl4ZWxD
b3VudCwgdW5zaWduZWQgY2hhciogb3V0cHV0KQogewogICAgIGZvciAoOyBwaXhlbENvdW50LS0g
PiAwOyBwaXhlbHMgKz0gNCkgewotICAgICAgICAqb3V0cHV0KysgPSBwaXhlbHNbMF07Ci0gICAg
ICAgICpvdXRwdXQrKyA9IHBpeGVsc1sxXTsKLSAgICAgICAgKm91dHB1dCsrID0gcGl4ZWxzWzJd
OworICAgICAgICAvLyBEbyBzb3VyY2Utb3ZlciBjb21wb3NpdGlvbiBvbiBibGFjay4KKyAgICAg
ICAgdW5zaWduZWQgY2hhciBhbHBoYSA9IHBpeGVsc1szXTsKKyAgICAgICAgaWYgKGFscGhhICE9
IDI1NSkgeworICAgICAgICAgICAgKm91dHB1dCsrID0gU2tNdWxEaXYyNTVSb3VuZChwaXhlbHNb
MF0sIGFscGhhKTsKKyAgICAgICAgICAgICpvdXRwdXQrKyA9IFNrTXVsRGl2MjU1Um91bmQocGl4
ZWxzWzFdLCBhbHBoYSk7CisgICAgICAgICAgICAqb3V0cHV0KysgPSBTa011bERpdjI1NVJvdW5k
KHBpeGVsc1syXSwgYWxwaGEpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgKm91dHB1
dCsrID0gcGl4ZWxzWzBdOworICAgICAgICAgICAgKm91dHB1dCsrID0gcGl4ZWxzWzFdOworICAg
ICAgICAgICAgKm91dHB1dCsrID0gcGl4ZWxzWzJdOworICAgICAgICB9CiAgICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>