<?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>93405</bug_id>
          
          <creation_ts>2012-08-07 15:56:37 -0700</creation_ts>
          <short_desc>[CSS Shaders] Invalid shaders should act as pass-through filters</short_desc>
          <delta_ts>2012-08-08 17:56:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Alexandru Chiculita">achicu</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>689531</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-08-07 15:56:37 -0700</bug_when>
    <thetext>If the CSS Shader fails to compile the FECustomFilter should act as a pass-through. Right now garbage/uninitialized memory is shown instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689697</commentid>
    <comment_count>1</comment_count>
      <attachid>157067</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-08-07 18:14:39 -0700</bug_when>
    <thetext>Created attachment 157067
Patch V1

No CQ+ because this is going to be updated to unpremultiplied calls after 92758 lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689698</commentid>
    <comment_count>2</comment_count>
      <attachid>157068</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-08-07 18:16:31 -0700</bug_when>
    <thetext>Created attachment 157068
Patch V2

Removed empty line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689744</commentid>
    <comment_count>3</comment_count>
      <attachid>157068</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-08-07 18:51:57 -0700</bug_when>
    <thetext>Comment on attachment 157068
Patch V2

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

&gt; LayoutTests/css3/filters/custom/invalid-custom-filter-shader-expected.html:10
&gt; +            function runTest()
&gt; +            {
&gt; +                // We need to run the tests after the downloading succeeded or fails.
&gt; +                if (window.testRunner)
&gt; +                    window.testRunner.notifyDone();
&gt; +            }

Why do we need this in the ref test? (I don&apos;t really understand how this works - you don&apos;t wait here)

&gt; Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:130
&gt; +void FECustomFilter::cleanupShaderResult()

I don&apos;t like the name &quot;cleanup&quot; (it&apos;s actually two words, so would be &quot;cleanUp&quot;). Maybe &quot;reset&quot; or &quot;clear&quot;? Sorry, I don&apos;t have a good suggestion.

&gt; Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:142
&gt; +bool FECustomFilter::tryToApplyShader()

I don&apos;t like this name much either :) Saying &quot;try to&quot; is strange.

Maybe just &quot;applyShader&quot;? That would make the platformApplySoftware into something like:

if (!applyShader())
  clearShaderResult();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690411</commentid>
    <comment_count>4</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-08-08 09:38:41 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 157068 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=157068&amp;action=review
&gt; 
&gt; &gt; LayoutTests/css3/filters/custom/invalid-custom-filter-shader-expected.html:10
&gt; &gt; +            function runTest()
&gt; &gt; +            {
&gt; &gt; +                // We need to run the tests after the downloading succeeded or fails.
&gt; &gt; +                if (window.testRunner)
&gt; &gt; +                    window.testRunner.notifyDone();
&gt; &gt; +            }
&gt; 
&gt; Why do we need this in the ref test? (I don&apos;t really understand how this works - you don&apos;t wait here)
I think we need it so that the images are all loaded by the time the snapshot is taken. I forgot the waitUntilDone call and it seems it worked without it. I suppose it would have made the test flacky.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:130
&gt; &gt; +void FECustomFilter::cleanupShaderResult()
&gt; 
&gt; I don&apos;t like the name &quot;cleanup&quot; (it&apos;s actually two words, so would be &quot;cleanUp&quot;). Maybe &quot;reset&quot; or &quot;clear&quot;? Sorry, I don&apos;t have a good suggestion.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:142
&gt; &gt; +bool FECustomFilter::tryToApplyShader()
&gt; 
&gt; I don&apos;t like this name much either :) Saying &quot;try to&quot; is strange.
&gt; 
&gt; Maybe just &quot;applyShader&quot;? That would make the platformApplySoftware into something like:
&gt; 
&gt; if (!applyShader())
&gt;   clearShaderResult();

Thanks, will use that.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690858</commentid>
    <comment_count>5</comment_count>
      <attachid>157317</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-08-08 16:00:56 -0700</bug_when>
    <thetext>Created attachment 157317
Patch V3

Posting it back for review because I&apos;ve added more code for Safari Mac. It seems like the generated expected result had slightly different colors. I suppose that&apos;s coming from the FilterEffect data conversion back to an ImageBuffer. I&apos;ve added a &quot;grayscale(0)&quot; effect on the images in the expected result, just to trigger the same kind of errors on the generated image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691027</commentid>
    <comment_count>6</comment_count>
      <attachid>157317</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 17:56:29 -0700</bug_when>
    <thetext>Comment on attachment 157317
Patch V3

Clearing flags on attachment: 157317

Committed r125128: &lt;http://trac.webkit.org/changeset/125128&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691028</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 17:56:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157067</attachid>
            <date>2012-08-07 18:14:39 -0700</date>
            <delta_ts>2012-08-07 18:16:31 -0700</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug93405.patch</filename>
            <type>text/plain</type>
            <size>9071</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNzk0YTRhLi5lYWFiMjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgt
MDcgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtD
U1MgU2hhZGVyc10gSW52YWxpZCBzaGFkZXJzIHNob3VsZCBhY3QgYXMgcGFzcy10aHJvdWdoIGZp
bHRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkz
NDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBj
c3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXItZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3Rv
bS1maWx0ZXItc2hhZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNv
dXJjZXMvaW52YWxpZC1zaGFkZXIudnM6IEFkZGVkLgorCiAyMDEyLTA4LTA3ICBBbHBoYSBMYW0g
IDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU2hhcmUgaHR0cC90ZXN0cy9tZWRpYS92
aWRlby1sb2FkLWFuZC1zdGFsbC5jZ2kgZm9yIG90aGVyIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXIt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1j
dXN0b20tZmlsdGVyLXNoYWRlci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjNmYjkwZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXItZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDIwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBydW4gdGhlIHRlc3RzIGFmdGVy
IHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQgb3IgZmFpbHMuCisgICAgICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIDxpbWcgc3JjPSIu
Li9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICAgICAgPGltZyBzcmM9Ii4uL3Jlc291
cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAgICA8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL3Jl
ZmVyZW5jZS5wbmciIC8+CisgICAgICAgIDxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNl
LnBuZyIgLz4KKyAgICAgICAgPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAv
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLXNoYWRlci5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItc2hhZGVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM5YzU5OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmls
dGVyLXNoYWRlci5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhLS0gVGhpcyBmaWxlIHNob3VsZCB0
ZXN0IHRoYXQgY3VzdG9tLWZpbHRlcnMgZG8gbm90IHJlbmRlciB3aGVuIHNoYWRlcnMgYXJlIGlu
dmFsaWQuIC0tPgorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHRpdGxlPlRlc3RpbmcgdGhhdCBjdXN0b20tZmlsdGVycyBkbyBub3QgcmVuZGVyIHdoZW4gc2hh
ZGVycyBhcmUgaW52YWxpZDwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIp
OworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8g
V2UgbmVlZCB0byBydW4gdGhlIHRlc3RzIGFmdGVyIHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQg
b3IgZmFpbHMuCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAuaW52
YWxpZF92ZXJ0ZXhfc2hhZGVyCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLXdlYmtp
dC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXNoYWRlci52cycpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5pbnZhbGlkX2ZyYWdtZW50X3NoYWRlcgorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSB1
cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXNoYWRlci52cycpKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIC5ib3RoX3NoYWRlcnNfYnV0X2ludmFsaWRfdmVydGV4X3NoYWRlcgorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9y
ZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIudnMnKSB1cmwoJy4uL3Jlc291cmNlcy9jb2xvci1vZmZz
ZXQuZnMnKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC5ib3RoX3NoYWRlcnNfYnV0
X2ludmFsaWRfZnJhZ21lbnRfc2hhZGVyCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
LXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy92ZXJ0ZXgtb2Zmc2V0LnZz
JykgdXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIudnMnKSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAuYm90aF9zaGFkZXJzX2ludmFsaWQKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFs
aWQtc2hhZGVyLnZzJykgdXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIudnMnKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KKyAgICAgICAgPCEtLSBUZXN0IG9mIGludmFsaWQgY3VzdG9tIGZp
bHRlciBzaGFkZXJzLiBZb3Ugc2hvdWxkIHNlZSA1IGJsb2NrcyBvZiBjb2xvciBiYXJzLCBhbGwg
dGhlIHNhbWUgLS0+CisgICAgICAgIDxpbWcgY2xhc3M9ImludmFsaWRfdmVydGV4X3NoYWRlciIg
c3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICAgICAgPGltZyBjbGFzcz0i
aW52YWxpZF9mcmFnbWVudF9zaGFkZXIiIHNyYz0iLi4vcmVzb3VyY2VzL3JlZmVyZW5jZS5wbmci
IC8+CisgICAgICAgIDxpbWcgY2xhc3M9ImJvdGhfc2hhZGVyc19idXRfaW52YWxpZF92ZXJ0ZXhf
c2hhZGVyIiBzcmM9Ii4uL3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAgICA8aW1n
IGNsYXNzPSJib3RoX3NoYWRlcnNfYnV0X2ludmFsaWRfZnJhZ21lbnRfc2hhZGVyIiBzcmM9Ii4u
L3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAgICA8aW1nIGNsYXNzPSJib3RoX3No
YWRlcnNfaW52YWxpZCIgc3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVz
b3VyY2VzL2ludmFsaWQtc2hhZGVyLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXNoYWRlci52cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4zYzFlYmJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXNoYWRlci52cwpAQCAtMCwwICsxLDIgQEAKK1RoaXMgaXMgbm90IGEg
cmVhbCB2ZXJ0ZXggc2hhZGVyLiBJdCBpcyBqdXN0IGludmFsaWQgc2hhZGVyIGNvZGUuCitJdCBp
cyB1c2VkIHRvIHRlc3QgdGhhdCB0aGUgZmlsdGVyIGlzIG5vdCBkcmF3biB3aGVuIHRoZSBzaGFk
ZXIgaXMgaW52YWxpZC4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWY0ZTNkNi4uNjJhMDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA4LTA3
ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NT
IFNoYWRlcnNdIEludmFsaWQgc2hhZGVycyBzaG91bGQgYWN0IGFzIHBhc3MtdGhyb3VnaCBmaWx0
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzQw
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRo
ZSBzaGFkZXIgZmFpbHMgdG8gYXBwbHkgY2xlYW51cFNoYWRlclJlc3VsdCB3aWxsIGp1c3QgY29w
eSB0aGUgcmVzdWx0IG9mIHRoZSBwcmV2aW91cyBmaWx0ZXIKKyAgICAgICAgdG8gdGhlIG91dHB1
dCBvZiB0aGUgY3VycmVudCBmaWx0ZXIuCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1
c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItc2hhZGVyLmh0bWwKKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RkVDdXN0b21GaWx0ZXI6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpjbGVhbnVwU2hhZGVyUmVz
dWx0KToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjp0cnlUb0FwcGx5U2hhZGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmg6
CisgICAgICAgIChGRUN1c3RvbUZpbHRlcik6CisKIDIwMTItMDgtMDcgIEtlbnRhcm8gSGFyYSAg
PGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gUmVtb3ZlICNpbmNsdWRlIEZy
YW1lLmggZnJvbSBWOEJpbmRpbmcuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAppbmRleCAzZGJmNTYx
Li5hZGM2ZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcApAQCAtMTIzLDE4ICsxMjMsMzYgQEAg
dm9pZCBGRUN1c3RvbUZpbHRlcjo6ZGVsZXRlUmVuZGVyQnVmZmVycygpCiAKIHZvaWQgRkVDdXN0
b21GaWx0ZXI6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSgpCiB7CisgICAgaWYgKCF0cnlUb0FwcGx5
U2hhZGVyKCkpCisgICAgICAgIGNsZWFudXBTaGFkZXJSZXN1bHQoKTsKK30KKwordm9pZCBGRUN1
c3RvbUZpbHRlcjo6Y2xlYW51cFNoYWRlclJlc3VsdCgpCit7CisgICAgY2xlYXJSZXN1bHQoKTsK
ICAgICBVaW50OENsYW1wZWRBcnJheSogZHN0UGl4ZWxBcnJheSA9IGNyZWF0ZVByZW11bHRpcGxp
ZWRJbWFnZVJlc3VsdCgpOwogICAgIGlmICghZHN0UGl4ZWxBcnJheSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwogICAgIEludFJlY3Qg
ZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5h
YnNvbHV0ZVBhaW50UmVjdCgpKTsKKyAgICBpbi0+Y29weVVubXVsdGlwbGllZEltYWdlKGRzdFBp
eGVsQXJyYXksIGVmZmVjdERyYXdpbmdSZWN0KTsKK30KKworYm9vbCBGRUN1c3RvbUZpbHRlcjo6
dHJ5VG9BcHBseVNoYWRlcigpCit7CisgICAgVWludDhDbGFtcGVkQXJyYXkqIGRzdFBpeGVsQXJy
YXkgPSBjcmVhdGVQcmVtdWx0aXBsaWVkSW1hZ2VSZXN1bHQoKTsKKyAgICBpZiAoIWRzdFBpeGVs
QXJyYXkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZpbHRlckVmZmVjdCogaW4gPSBp
bnB1dEVmZmVjdCgwKTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVk
UmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVm
UHRyPFVpbnQ4Q2xhbXBlZEFycmF5PiBzcmNQaXhlbEFycmF5ID0gaW4tPmFzUHJlbXVsdGlwbGll
ZEltYWdlKGVmZmVjdERyYXdpbmdSZWN0KTsKLSAgICAKKwogICAgIEludFNpemUgbmV3Q29udGV4
dFNpemUoZWZmZWN0RHJhd2luZ1JlY3Quc2l6ZSgpKTsKICAgICBib29sIGhhZENvbnRleHQgPSBt
X2NvbnRleHQ7CiAgICAgaWYgKCFtX2NvbnRleHQgJiYgIWluaXRpYWxpemVDb250ZXh0KCkpCi0g
ICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIG1fY29udGV4dC0+bWFr
ZUNvbnRleHRDdXJyZW50KCk7CiAgICAgCiAgICAgaWYgKCFoYWRDb250ZXh0IHx8IG1fY29udGV4
dFNpemUgIT0gbmV3Q29udGV4dFNpemUpCkBAIC0xNDMsMTIgKzE2MSwxMiBAQCB2b2lkIEZFQ3Vz
dG9tRmlsdGVyOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUoKQogI2lmICFQTEFURk9STShCTEFDS0JF
UlJZKSAvLyBCbGFja0JlcnJ5IGRlZmluZXMgaXRzIG93biBUZXh0dXJlIGNsYXNzLgogICAgIC8v
IERvIG5vdCBkcmF3IHRoZSBmaWx0ZXIgaWYgdGhlIGlucHV0IGltYWdlIGNhbm5vdCBmaXQgaW5z
aWRlIGEgc2luZ2xlIEdQVSB0ZXh0dXJlLgogICAgIGlmIChtX2lucHV0VGV4dHVyZS0+dGlsZXMo
KS5udW1UaWxlc1goKSAhPSAxIHx8IG1faW5wdXRUZXh0dXJlLT50aWxlcygpLm51bVRpbGVzWSgp
ICE9IDEpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAg
ICAgCiAgICAgLy8gVGhlIHNoYWRlciBoYWQgY29tcGlsZXIgZXJyb3JzLiBXZSBjYW5ub3QgZHJh
dyBhbnl0aGluZy4KICAgICBpZiAoIW1fY29tcGlsZWRQcm9ncmFtLT5pc0luaXRpYWxpemVkKCkp
Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgbV9jb250ZXh0
LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX2ZyYW1l
QnVmZmVyKTsKICAgICBtX2NvbnRleHQtPnZpZXdwb3J0KDAsIDAsIG5ld0NvbnRleHRTaXplLndp
ZHRoKCksIG5ld0NvbnRleHRTaXplLmhlaWdodCgpKTsKQEAgLTE2Miw2ICsxODAsOCBAQCB2b2lk
IEZFQ3VzdG9tRmlsdGVyOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUoKQogICAgIAogICAgIEFTU0VS
VChzdGF0aWNfY2FzdDxzaXplX3Q+KG5ld0NvbnRleHRTaXplLndpZHRoKCkgKiBuZXdDb250ZXh0
U2l6ZS5oZWlnaHQoKSAqIDQpID09IGRzdFBpeGVsQXJyYXktPmxlbmd0aCgpKTsKICAgICBtX2Nv
bnRleHQtPnJlYWRQaXhlbHMoMCwgMCwgbmV3Q29udGV4dFNpemUud2lkdGgoKSwgbmV3Q29udGV4
dFNpemUuaGVpZ2h0KCksIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBHcmFwaGljc0NvbnRleHQz
RDo6VU5TSUdORURfQllURSwgZHN0UGl4ZWxBcnJheS0+ZGF0YSgpKTsKKworICAgIHJldHVybiB0
cnVlOwogfQogCiBib29sIEZFQ3VzdG9tRmlsdGVyOjppbml0aWFsaXplQ29udGV4dCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9t
RmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3Vz
dG9tRmlsdGVyLmgKaW5kZXggYjdmOTM2OS4uM2M3NDU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaApA
QCAtNzIsNiArNzIsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRl
ck9wZXJhdGlvbjo6TWVzaFR5cGUpOwogICAgIH5GRUN1c3RvbUZpbHRlcigpOwogICAgIAorICAg
IGJvb2wgdHJ5VG9BcHBseVNoYWRlcigpOworICAgIHZvaWQgY2xlYW51cFNoYWRlclJlc3VsdCgp
OwogICAgIGJvb2wgaW5pdGlhbGl6ZUNvbnRleHQoKTsKICAgICB2b2lkIGRlbGV0ZVJlbmRlckJ1
ZmZlcnMoKTsKICAgICB2b2lkIHJlc2l6ZUNvbnRleHQoY29uc3QgSW50U2l6ZSYgbmV3Q29udGV4
dFNpemUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157068</attachid>
            <date>2012-08-07 18:16:31 -0700</date>
            <delta_ts>2012-08-08 16:00:56 -0700</delta_ts>
            <desc>Patch V2</desc>
            <filename>bug93405_1.patch</filename>
            <type>text/plain</type>
            <size>9069</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNzk0YTRhLi5lYWFiMjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgt
MDcgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtD
U1MgU2hhZGVyc10gSW52YWxpZCBzaGFkZXJzIHNob3VsZCBhY3QgYXMgcGFzcy10aHJvdWdoIGZp
bHRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkz
NDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBj
c3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXItZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3Rv
bS1maWx0ZXItc2hhZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNv
dXJjZXMvaW52YWxpZC1zaGFkZXIudnM6IEFkZGVkLgorCiAyMDEyLTA4LTA3ICBBbHBoYSBMYW0g
IDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU2hhcmUgaHR0cC90ZXN0cy9tZWRpYS92
aWRlby1sb2FkLWFuZC1zdGFsbC5jZ2kgZm9yIG90aGVyIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXIt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1j
dXN0b20tZmlsdGVyLXNoYWRlci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjNmYjkwZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXItZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDIwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBydW4gdGhlIHRlc3RzIGFmdGVy
IHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQgb3IgZmFpbHMuCisgICAgICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIDxpbWcgc3JjPSIu
Li9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICAgICAgPGltZyBzcmM9Ii4uL3Jlc291
cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAgICA8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL3Jl
ZmVyZW5jZS5wbmciIC8+CisgICAgICAgIDxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNl
LnBuZyIgLz4KKyAgICAgICAgPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAv
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLXNoYWRlci5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItc2hhZGVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM5YzU5OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmls
dGVyLXNoYWRlci5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhLS0gVGhpcyBmaWxlIHNob3VsZCB0
ZXN0IHRoYXQgY3VzdG9tLWZpbHRlcnMgZG8gbm90IHJlbmRlciB3aGVuIHNoYWRlcnMgYXJlIGlu
dmFsaWQuIC0tPgorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHRpdGxlPlRlc3RpbmcgdGhhdCBjdXN0b20tZmlsdGVycyBkbyBub3QgcmVuZGVyIHdoZW4gc2hh
ZGVycyBhcmUgaW52YWxpZDwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIp
OworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8g
V2UgbmVlZCB0byBydW4gdGhlIHRlc3RzIGFmdGVyIHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQg
b3IgZmFpbHMuCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAuaW52
YWxpZF92ZXJ0ZXhfc2hhZGVyCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLXdlYmtp
dC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXNoYWRlci52cycpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5pbnZhbGlkX2ZyYWdtZW50X3NoYWRlcgorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSB1
cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXNoYWRlci52cycpKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIC5ib3RoX3NoYWRlcnNfYnV0X2ludmFsaWRfdmVydGV4X3NoYWRlcgorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9y
ZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIudnMnKSB1cmwoJy4uL3Jlc291cmNlcy9jb2xvci1vZmZz
ZXQuZnMnKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC5ib3RoX3NoYWRlcnNfYnV0
X2ludmFsaWRfZnJhZ21lbnRfc2hhZGVyCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
LXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy92ZXJ0ZXgtb2Zmc2V0LnZz
JykgdXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIudnMnKSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAuYm90aF9zaGFkZXJzX2ludmFsaWQKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL2ludmFs
aWQtc2hhZGVyLnZzJykgdXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIudnMnKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KKyAgICAgICAgPCEtLSBUZXN0IG9mIGludmFsaWQgY3VzdG9tIGZp
bHRlciBzaGFkZXJzLiBZb3Ugc2hvdWxkIHNlZSA1IGJsb2NrcyBvZiBjb2xvciBiYXJzLCBhbGwg
dGhlIHNhbWUgLS0+CisgICAgICAgIDxpbWcgY2xhc3M9ImludmFsaWRfdmVydGV4X3NoYWRlciIg
c3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICAgICAgPGltZyBjbGFzcz0i
aW52YWxpZF9mcmFnbWVudF9zaGFkZXIiIHNyYz0iLi4vcmVzb3VyY2VzL3JlZmVyZW5jZS5wbmci
IC8+CisgICAgICAgIDxpbWcgY2xhc3M9ImJvdGhfc2hhZGVyc19idXRfaW52YWxpZF92ZXJ0ZXhf
c2hhZGVyIiBzcmM9Ii4uL3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAgICA8aW1n
IGNsYXNzPSJib3RoX3NoYWRlcnNfYnV0X2ludmFsaWRfZnJhZ21lbnRfc2hhZGVyIiBzcmM9Ii4u
L3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAgICA8aW1nIGNsYXNzPSJib3RoX3No
YWRlcnNfaW52YWxpZCIgc3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVz
b3VyY2VzL2ludmFsaWQtc2hhZGVyLnZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291
cmNlcy9pbnZhbGlkLXNoYWRlci52cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4zYzFlYmJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
c291cmNlcy9pbnZhbGlkLXNoYWRlci52cwpAQCAtMCwwICsxLDIgQEAKK1RoaXMgaXMgbm90IGEg
cmVhbCB2ZXJ0ZXggc2hhZGVyLiBJdCBpcyBqdXN0IGludmFsaWQgc2hhZGVyIGNvZGUuCitJdCBp
cyB1c2VkIHRvIHRlc3QgdGhhdCB0aGUgZmlsdGVyIGlzIG5vdCBkcmF3biB3aGVuIHRoZSBzaGFk
ZXIgaXMgaW52YWxpZC4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWY0ZTNkNi4uNjJhMDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA4LTA3
ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NT
IFNoYWRlcnNdIEludmFsaWQgc2hhZGVycyBzaG91bGQgYWN0IGFzIHBhc3MtdGhyb3VnaCBmaWx0
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzQw
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRo
ZSBzaGFkZXIgZmFpbHMgdG8gYXBwbHkgY2xlYW51cFNoYWRlclJlc3VsdCB3aWxsIGp1c3QgY29w
eSB0aGUgcmVzdWx0IG9mIHRoZSBwcmV2aW91cyBmaWx0ZXIKKyAgICAgICAgdG8gdGhlIG91dHB1
dCBvZiB0aGUgY3VycmVudCBmaWx0ZXIuCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1
c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItc2hhZGVyLmh0bWwKKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RkVDdXN0b21GaWx0ZXI6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpjbGVhbnVwU2hhZGVyUmVz
dWx0KToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjp0cnlUb0FwcGx5U2hhZGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmg6
CisgICAgICAgIChGRUN1c3RvbUZpbHRlcik6CisKIDIwMTItMDgtMDcgIEtlbnRhcm8gSGFyYSAg
PGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gUmVtb3ZlICNpbmNsdWRlIEZy
YW1lLmggZnJvbSBWOEJpbmRpbmcuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAppbmRleCAzZGJmNTYx
Li4yYjg5ZjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcApAQCAtMTIzLDE4ICsxMjMsMzYgQEAg
dm9pZCBGRUN1c3RvbUZpbHRlcjo6ZGVsZXRlUmVuZGVyQnVmZmVycygpCiAKIHZvaWQgRkVDdXN0
b21GaWx0ZXI6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZSgpCiB7CisgICAgaWYgKCF0cnlUb0FwcGx5
U2hhZGVyKCkpCisgICAgICAgIGNsZWFudXBTaGFkZXJSZXN1bHQoKTsKK30KKwordm9pZCBGRUN1
c3RvbUZpbHRlcjo6Y2xlYW51cFNoYWRlclJlc3VsdCgpCit7CisgICAgY2xlYXJSZXN1bHQoKTsK
ICAgICBVaW50OENsYW1wZWRBcnJheSogZHN0UGl4ZWxBcnJheSA9IGNyZWF0ZVByZW11bHRpcGxp
ZWRJbWFnZVJlc3VsdCgpOwogICAgIGlmICghZHN0UGl4ZWxBcnJheSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwogICAgIEludFJlY3Qg
ZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5h
YnNvbHV0ZVBhaW50UmVjdCgpKTsKKyAgICBpbi0+Y29weVVubXVsdGlwbGllZEltYWdlKGRzdFBp
eGVsQXJyYXksIGVmZmVjdERyYXdpbmdSZWN0KTsKK30KKworYm9vbCBGRUN1c3RvbUZpbHRlcjo6
dHJ5VG9BcHBseVNoYWRlcigpCit7CisgICAgVWludDhDbGFtcGVkQXJyYXkqIGRzdFBpeGVsQXJy
YXkgPSBjcmVhdGVQcmVtdWx0aXBsaWVkSW1hZ2VSZXN1bHQoKTsKKyAgICBpZiAoIWRzdFBpeGVs
QXJyYXkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZpbHRlckVmZmVjdCogaW4gPSBp
bnB1dEVmZmVjdCgwKTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVk
UmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVm
UHRyPFVpbnQ4Q2xhbXBlZEFycmF5PiBzcmNQaXhlbEFycmF5ID0gaW4tPmFzUHJlbXVsdGlwbGll
ZEltYWdlKGVmZmVjdERyYXdpbmdSZWN0KTsKICAgICAKICAgICBJbnRTaXplIG5ld0NvbnRleHRT
aXplKGVmZmVjdERyYXdpbmdSZWN0LnNpemUoKSk7CiAgICAgYm9vbCBoYWRDb250ZXh0ID0gbV9j
b250ZXh0OwogICAgIGlmICghbV9jb250ZXh0ICYmICFpbml0aWFsaXplQ29udGV4dCgpKQotICAg
ICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBtX2NvbnRleHQtPm1ha2VD
b250ZXh0Q3VycmVudCgpOwogICAgIAogICAgIGlmICghaGFkQ29udGV4dCB8fCBtX2NvbnRleHRT
aXplICE9IG5ld0NvbnRleHRTaXplKQpAQCAtMTQzLDEyICsxNjEsMTIgQEAgdm9pZCBGRUN1c3Rv
bUZpbHRlcjo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKCkKICNpZiAhUExBVEZPUk0oQkxBQ0tCRVJS
WSkgLy8gQmxhY2tCZXJyeSBkZWZpbmVzIGl0cyBvd24gVGV4dHVyZSBjbGFzcy4KICAgICAvLyBE
byBub3QgZHJhdyB0aGUgZmlsdGVyIGlmIHRoZSBpbnB1dCBpbWFnZSBjYW5ub3QgZml0IGluc2lk
ZSBhIHNpbmdsZSBHUFUgdGV4dHVyZS4KICAgICBpZiAobV9pbnB1dFRleHR1cmUtPnRpbGVzKCku
bnVtVGlsZXNYKCkgIT0gMSB8fCBtX2lucHV0VGV4dHVyZS0+dGlsZXMoKS5udW1UaWxlc1koKSAh
PSAxKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogICAg
IAogICAgIC8vIFRoZSBzaGFkZXIgaGFkIGNvbXBpbGVyIGVycm9ycy4gV2UgY2Fubm90IGRyYXcg
YW55dGhpbmcuCiAgICAgaWYgKCFtX2NvbXBpbGVkUHJvZ3JhbS0+aXNJbml0aWFsaXplZCgpKQot
ICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fY29udGV4dC0+
YmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUiwgbV9mcmFtZUJ1
ZmZlcik7CiAgICAgbV9jb250ZXh0LT52aWV3cG9ydCgwLCAwLCBuZXdDb250ZXh0U2l6ZS53aWR0
aCgpLCBuZXdDb250ZXh0U2l6ZS5oZWlnaHQoKSk7CkBAIC0xNjIsNiArMTgwLDggQEAgdm9pZCBG
RUN1c3RvbUZpbHRlcjo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKCkKICAgICAKICAgICBBU1NFUlQo
c3RhdGljX2Nhc3Q8c2l6ZV90PihuZXdDb250ZXh0U2l6ZS53aWR0aCgpICogbmV3Q29udGV4dFNp
emUuaGVpZ2h0KCkgKiA0KSA9PSBkc3RQaXhlbEFycmF5LT5sZW5ndGgoKSk7CiAgICAgbV9jb250
ZXh0LT5yZWFkUGl4ZWxzKDAsIDAsIG5ld0NvbnRleHRTaXplLndpZHRoKCksIG5ld0NvbnRleHRT
aXplLmhlaWdodCgpLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6
OlVOU0lHTkVEX0JZVEUsIGRzdFBpeGVsQXJyYXktPmRhdGEoKSk7CisKKyAgICByZXR1cm4gdHJ1
ZTsKIH0KIAogYm9vbCBGRUN1c3RvbUZpbHRlcjo6aW5pdGlhbGl6ZUNvbnRleHQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZp
bHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3Rv
bUZpbHRlci5oCmluZGV4IGI3ZjkzNjkuLjNjNzQ1NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKQEAg
LTcyLDYgKzcyLDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICBDdXN0b21GaWx0ZXJP
cGVyYXRpb246Ok1lc2hUeXBlKTsKICAgICB+RkVDdXN0b21GaWx0ZXIoKTsKICAgICAKKyAgICBi
b29sIHRyeVRvQXBwbHlTaGFkZXIoKTsKKyAgICB2b2lkIGNsZWFudXBTaGFkZXJSZXN1bHQoKTsK
ICAgICBib29sIGluaXRpYWxpemVDb250ZXh0KCk7CiAgICAgdm9pZCBkZWxldGVSZW5kZXJCdWZm
ZXJzKCk7CiAgICAgdm9pZCByZXNpemVDb250ZXh0KGNvbnN0IEludFNpemUmIG5ld0NvbnRleHRT
aXplKTsK
</data>
<flag name="review"
          id="166901"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157317</attachid>
            <date>2012-08-08 16:00:56 -0700</date>
            <delta_ts>2012-08-08 17:56:29 -0700</delta_ts>
            <desc>Patch V3</desc>
            <filename>bug93405_2.patch</filename>
            <type>text/plain</type>
            <size>11639</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNDg2MDViLi5lYWE2Y2UyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDgt
MDggIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtD
U1MgU2hhZGVyc10gSW52YWxpZCBzaGFkZXJzIHNob3VsZCBhY3QgYXMgcGFzcy10aHJvdWdoIGZp
bHRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkz
NDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90
ZSB0aGF0IGludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXItZXhwZWN0ZWQuaHRtbCBpcyBhY3R1
YWxseSB1c2luZyBhbm90aGVyIGJ1aWx0aW4gZmlsdGVyLAorICAgICAgICBqdXN0IHRvIG1ha2Ug
c3VyZSB3ZSB0cmlnZ2VyIHRoZSB3aG9sZSBGaWx0ZXJFZmZlY3RSZW5kZXJlciBvbiB0aGUgaW1h
Z2VzLCBvdGhlcndpc2UgdGhlIHJlc3VsdCB3aWxsIGJlCisgICAgICAgIHNsaWdodGx5IGRpZmZl
cmVudCBiZWNhdXNlIG9mIHRoZSBjb252ZXJzaW9uIGVycm9ycy4gSGF2aW5nIGFub3RoZXIgZmls
dGVyIGxpa2UgZ3JheXNjYWxlKDApIHdpbGwgdHJpZ2dlcgorICAgICAgICB0aGUgc2FtZSBwcmVj
aXNzaW9uIGVycm9ycyBvbiB0aGUgcmVzdWx0IG9mIHRoZSBleHBlY3RlZCBodG1sLgorCisgICAg
ICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItc2hhZGVyLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vaW52YWxp
ZC1jdXN0b20tZmlsdGVyLXNoYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRl
cnMvcmVzb3VyY2VzL2ludmFsaWQtc2hhZGVyLnZzOiBBZGRlZC4KKwogMjAxMi0wOC0wOCAgS2Vp
c2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIHNsaWRlciB0
aWNrIG1hcmsgc25hcHBpbmcgdGhyZXNob2xkIGNvbmZpZ3VyYWJsZSBmb3IgZWFjaCBwbGF0Zm9y
bQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1
c3RvbS1maWx0ZXItc2hhZGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY3VzdG9tL2ludmFsaWQtY3VzdG9tLWZpbHRlci1zaGFkZXItZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjdmNmZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXIt
c2hhZGVyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAgIC8vIFdhaXQgZm9yIHRoZSBpbWFnZXMg
dG8gYmUgbG9hZGVkLgorICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgZnVuY3Rp
b24gbm90aWZ5RG9uZSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gV2UgbmVl
ZCB0byBydW4gdGhlIHRlc3RzIGFmdGVyIHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQgb3IgZmFp
bHMuCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAg
ICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBpbWcKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKiBOb3RlIHRoYXQgd2UgdXNlIGdyYXlzY2FsZSgw
KSBqdXN0IHRvIG1ha2Ugc3VyZSB0aGF0IGl0IHRyaWdnZXJzIHRoZSB3aG9sZSBGaWx0ZXJFZmZl
Y3RSZW5kZXJlciBvbiB0aGUgaW1hZ2VzLCAKKyAgICAgICAgICAgICAgICBvdGhlcndpc2UgdGhl
IHJlc3VsdCB3aWxsIGJlIHNsaWdodGx5IGRpZmZlcmVudCBiZWNhdXNlIG9mIHRoZSBwcmVjaXNp
b24gZXJyb3JzLiBIYXZpbmcgYW5vdGhlciBmaWx0ZXIgbGlrZSBncmF5c2NhbGUoMCkgCisgICAg
ICAgICAgICAgICAgd2lsbCB0cmlnZ2VyIHRoZSBzYW1lIHByZWNpc3Npb24gZXJyb3JzIGFuZCB3
aWxsIGFjdCBhcyBhIHNpbWlsYXIgcGFzcy10aHJvdWdoIGZpbHRlci4gKi8KKyAgICAgICAgICAg
ICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDApOworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im5vdGlmeURvbmUoKSI+
CisgICAgICAgIDxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICAg
ICAgPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAgICA8aW1n
IHNyYz0iLi4vcmVzb3VyY2VzL3JlZmVyZW5jZS5wbmciIC8+CisgICAgICAgIDxpbWcgc3JjPSIu
Li9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4KKyAgICAgICAgPGltZyBzcmM9Ii4uL3Jlc291
cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLXNo
YWRlci5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3Rv
bS1maWx0ZXItc2hhZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OWM5YzU5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vaW52YWxpZC1jdXN0b20tZmlsdGVyLXNoYWRlci5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwh
LS0gVGhpcyBmaWxlIHNob3VsZCB0ZXN0IHRoYXQgY3VzdG9tLWZpbHRlcnMgZG8gbm90IHJlbmRl
ciB3aGVuIHNoYWRlcnMgYXJlIGludmFsaWQuIC0tPgorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPlRlc3RpbmcgdGhhdCBjdXN0b20tZmlsdGVycyBk
byBub3QgcmVuZGVyIHdoZW4gc2hhZGVycyBhcmUgaW52YWxpZDwvdGl0bGU+CisgICAgICAgIDxz
Y3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAg
ICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0N1c3Rv
bUZpbHRlckVuYWJsZWQiLCAiMSIpOworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICAgICAg
ICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBydW4gdGhlIHRlc3RzIGFmdGVyIHRoZSBk
b3dubG9hZGluZyBzdWNjZWVkZWQgb3IgZmFpbHMuCisgICAgICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICAuaW52YWxpZF92ZXJ0ZXhfc2hhZGVyCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9p
bnZhbGlkLXNoYWRlci52cycpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5pbnZhbGlk
X2ZyYWdtZW50X3NoYWRlcgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC13ZWJraXQt
ZmlsdGVyOiBjdXN0b20obm9uZSB1cmwoJy4uL3Jlc291cmNlcy9pbnZhbGlkLXNoYWRlci52cycp
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5ib3RoX3NoYWRlcnNfYnV0X2ludmFsaWRf
dmVydGV4X3NoYWRlcgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC13ZWJraXQtZmls
dGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIudnMnKSB1cmwoJy4u
L3Jlc291cmNlcy9jb2xvci1vZmZzZXQuZnMnKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIC5ib3RoX3NoYWRlcnNfYnV0X2ludmFsaWRfZnJhZ21lbnRfc2hhZGVyCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291
cmNlcy92ZXJ0ZXgtb2Zmc2V0LnZzJykgdXJsKCcuLi9yZXNvdXJjZXMvaW52YWxpZC1zaGFkZXIu
dnMnKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuYm90aF9zaGFkZXJzX2ludmFsaWQK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVy
bCgnLi4vcmVzb3VyY2VzL2ludmFsaWQtc2hhZGVyLnZzJykgdXJsKCcuLi9yZXNvdXJjZXMvaW52
YWxpZC1zaGFkZXIudnMnKSk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAg
PC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICAgICAgPCEtLSBUZXN0
IG9mIGludmFsaWQgY3VzdG9tIGZpbHRlciBzaGFkZXJzLiBZb3Ugc2hvdWxkIHNlZSA1IGJsb2Nr
cyBvZiBjb2xvciBiYXJzLCBhbGwgdGhlIHNhbWUgLS0+CisgICAgICAgIDxpbWcgY2xhc3M9Imlu
dmFsaWRfdmVydGV4X3NoYWRlciIgc3JjPSIuLi9yZXNvdXJjZXMvcmVmZXJlbmNlLnBuZyIgLz4K
KyAgICAgICAgPGltZyBjbGFzcz0iaW52YWxpZF9mcmFnbWVudF9zaGFkZXIiIHNyYz0iLi4vcmVz
b3VyY2VzL3JlZmVyZW5jZS5wbmciIC8+CisgICAgICAgIDxpbWcgY2xhc3M9ImJvdGhfc2hhZGVy
c19idXRfaW52YWxpZF92ZXJ0ZXhfc2hhZGVyIiBzcmM9Ii4uL3Jlc291cmNlcy9yZWZlcmVuY2Uu
cG5nIiAvPgorICAgICAgICA8aW1nIGNsYXNzPSJib3RoX3NoYWRlcnNfYnV0X2ludmFsaWRfZnJh
Z21lbnRfc2hhZGVyIiBzcmM9Ii4uL3Jlc291cmNlcy9yZWZlcmVuY2UucG5nIiAvPgorICAgICAg
ICA8aW1nIGNsYXNzPSJib3RoX3NoYWRlcnNfaW52YWxpZCIgc3JjPSIuLi9yZXNvdXJjZXMvcmVm
ZXJlbmNlLnBuZyIgLz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ludmFsaWQtc2hhZGVyLnZzIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXNoYWRlci52cwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzFlYmJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9pbnZhbGlkLXNoYWRlci52cwpAQCAtMCwwICsx
LDIgQEAKK1RoaXMgaXMgbm90IGEgcmVhbCB2ZXJ0ZXggc2hhZGVyLiBJdCBpcyBqdXN0IGludmFs
aWQgc2hhZGVyIGNvZGUuCitJdCBpcyB1c2VkIHRvIHRlc3QgdGhhdCB0aGUgZmlsdGVyIGlzIG5v
dCBkcmF3biB3aGVuIHRoZSBzaGFkZXIgaXMgaW52YWxpZC4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYTQzMDhkOS4uYjkxMmRmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDEyLTA4LTA4ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2Jl
LmNvbT4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIEludmFsaWQgc2hhZGVycyBzaG91bGQgYWN0
IGFzIHBhc3MtdGhyb3VnaCBmaWx0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MzQwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIElmIHRoZSBzaGFkZXIgZmFpbHMgdG8gYXBwbHkgdGhlbiBjbGVhclNo
YWRlclJlc3VsdCB3aWxsIGp1c3QgY29weSB0aGUgcmVzdWx0IG9mIHRoZSBwcmV2aW91cyBmaWx0
ZXIKKyAgICAgICAgdG8gdGhlIG91dHB1dCBvZiB0aGUgY3VycmVudCBmaWx0ZXIuCisKKyAgICAg
ICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9pbnZhbGlkLWN1c3RvbS1maWx0ZXItc2hhZGVy
Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OnBsYXRmb3JtQXBwbHlT
b2Z0d2FyZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9t
RmlsdGVyOjpjbGVhclNoYWRlclJlc3VsdCk6CisgICAgICAgIChXZWJDb3JlOjpGRUN1c3RvbUZp
bHRlcjo6YXBwbHlTaGFkZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVDdXN0b21GaWx0ZXIuaDoKKyAgICAgICAgKEZFQ3VzdG9tRmlsdGVyKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmg6IFRoZSB0ZXN0IHdhcyBl
eHBvc2luZyB0aGUgZmFjdCB0aGF0IGlmIHRoZSBzaGFkZXJzIHdlcmUgcmVmZXJlbmNpbmcgdGhl
IHNhbWUKKyAgICAgICAgZmlsZSB0aGVuIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbSB3aWxsIG5l
dmVyIGNvbXBsZXRlIHRoZSBsb2FkLiBIYXZpbmcgdGhlIHNhbWUgZmlsZSBmb3IgYm90aCB0aGUg
dmVydGV4IGFuZCB0aGUgZnJhZ21lbnQgc2hhZGVyCisgICAgICAgIGNhbm5vdCByZWFsbHkgd29y
aywgYmVjYXVzZSB0aGUgc2hhZGVycyB3b3VsZCBub3QgY29tcGlsZSBhbnl3YXksIHRodXMgdHJp
Z2dlcmluZyBhbiBpbnZhbGlkIHNoYWRlci4gCisgICAgICAgIEknbSBmaXhpbmcgaXQgcGFydCBv
ZiB0aGlzIGNoYW5nZSBiZWNhdXNlIHRoZSBjdXJyZW50IHRlc3QgYWN0dWFsbHkgZXhwb3NlcyB0
aGF0IG9uIFNhZmFyaSBNYWMgYnVpbGRzLiBTZWUgdGhlIG5vdGUgaW4gdGhlIExheW91dFRlc3Qv
Q2hhbmdlTG9nLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtOjpu
b3RpZnlGaW5pc2hlZCk6CisKIDIwMTItMDgtMDggIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSBzbGlkZXIgdGljayBtYXJrIHNuYXBwaW5nIHRocmVz
aG9sZCBjb25maWd1cmFibGUgZm9yIGVhY2ggcGxhdGZvcm0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAK
aW5kZXggZjlkMTRiOC4uMzlmYTgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKQEAgLTEyMywx
OCArMTIzLDM3IEBAIHZvaWQgRkVDdXN0b21GaWx0ZXI6OmRlbGV0ZVJlbmRlckJ1ZmZlcnMoKQog
CiB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUoKQogeworICAgIGlm
ICghYXBwbHlTaGFkZXIoKSkKKyAgICAgICAgY2xlYXJTaGFkZXJSZXN1bHQoKTsKK30KKwordm9p
ZCBGRUN1c3RvbUZpbHRlcjo6Y2xlYXJTaGFkZXJSZXN1bHQoKQoreworICAgIGNsZWFyUmVzdWx0
KCk7CiAgICAgVWludDhDbGFtcGVkQXJyYXkqIGRzdFBpeGVsQXJyYXkgPSBjcmVhdGVVbm11bHRp
cGxpZWRJbWFnZVJlc3VsdCgpOwogICAgIGlmICghZHN0UGl4ZWxBcnJheSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOworICAgIHNldElz
QWxwaGFJbWFnZShpbi0+aXNBbHBoYUltYWdlKCkpOworICAgIEludFJlY3QgZWZmZWN0RHJhd2lu
Z1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0ZVBhaW50
UmVjdCgpKTsKKyAgICBpbi0+Y29weVVubXVsdGlwbGllZEltYWdlKGRzdFBpeGVsQXJyYXksIGVm
ZmVjdERyYXdpbmdSZWN0KTsKK30KKworYm9vbCBGRUN1c3RvbUZpbHRlcjo6YXBwbHlTaGFkZXIo
KQoreworICAgIFVpbnQ4Q2xhbXBlZEFycmF5KiBkc3RQaXhlbEFycmF5ID0gY3JlYXRlVW5tdWx0
aXBsaWVkSW1hZ2VSZXN1bHQoKTsKKyAgICBpZiAoIWRzdFBpeGVsQXJyYXkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIEZpbHRlckVmZmVjdCogaW4gPSBpbnB1dEVmZmVjdCgwKTsKICAg
ICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPFVpbnQ4Q2xhbXBlZEFy
cmF5PiBzcmNQaXhlbEFycmF5ID0gaW4tPmFzVW5tdWx0aXBsaWVkSW1hZ2UoZWZmZWN0RHJhd2lu
Z1JlY3QpOwogICAgIAogICAgIEludFNpemUgbmV3Q29udGV4dFNpemUoZWZmZWN0RHJhd2luZ1Jl
Y3Quc2l6ZSgpKTsKICAgICBib29sIGhhZENvbnRleHQgPSBtX2NvbnRleHQ7CiAgICAgaWYgKCFt
X2NvbnRleHQgJiYgIWluaXRpYWxpemVDb250ZXh0KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CiAg
ICAgCiAgICAgaWYgKCFoYWRDb250ZXh0IHx8IG1fY29udGV4dFNpemUgIT0gbmV3Q29udGV4dFNp
emUpCkBAIC0xNDMsMTIgKzE2MiwxMiBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpwbGF0Zm9ybUFw
cGx5U29mdHdhcmUoKQogI2lmICFQTEFURk9STShCTEFDS0JFUlJZKSAvLyBCbGFja0JlcnJ5IGRl
ZmluZXMgaXRzIG93biBUZXh0dXJlIGNsYXNzLgogICAgIC8vIERvIG5vdCBkcmF3IHRoZSBmaWx0
ZXIgaWYgdGhlIGlucHV0IGltYWdlIGNhbm5vdCBmaXQgaW5zaWRlIGEgc2luZ2xlIEdQVSB0ZXh0
dXJlLgogICAgIGlmIChtX2lucHV0VGV4dHVyZS0+dGlsZXMoKS5udW1UaWxlc1goKSAhPSAxIHx8
IG1faW5wdXRUZXh0dXJlLT50aWxlcygpLm51bVRpbGVzWSgpICE9IDEpCi0gICAgICAgIHJldHVy
bjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgCiAgICAgLy8gVGhlIHNoYWRl
ciBoYWQgY29tcGlsZXIgZXJyb3JzLiBXZSBjYW5ub3QgZHJhdyBhbnl0aGluZy4KICAgICBpZiAo
IW1fY29tcGlsZWRQcm9ncmFtLT5pc0luaXRpYWxpemVkKCkpCi0gICAgICAgIHJldHVybjsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3Jh
cGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX2ZyYW1lQnVmZmVyKTsKICAgICBtX2NvbnRl
eHQtPnZpZXdwb3J0KDAsIDAsIG5ld0NvbnRleHRTaXplLndpZHRoKCksIG5ld0NvbnRleHRTaXpl
LmhlaWdodCgpKTsKQEAgLTE2Miw2ICsxODEsOCBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpwbGF0
Zm9ybUFwcGx5U29mdHdhcmUoKQogICAgIAogICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+
KG5ld0NvbnRleHRTaXplLndpZHRoKCkgKiBuZXdDb250ZXh0U2l6ZS5oZWlnaHQoKSAqIDQpID09
IGRzdFBpeGVsQXJyYXktPmxlbmd0aCgpKTsKICAgICBtX2NvbnRleHQtPnJlYWRQaXhlbHMoMCwg
MCwgbmV3Q29udGV4dFNpemUud2lkdGgoKSwgbmV3Q29udGV4dFNpemUuaGVpZ2h0KCksIEdyYXBo
aWNzQ29udGV4dDNEOjpSR0JBLCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSwgZHN0
UGl4ZWxBcnJheS0+ZGF0YSgpKTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIEZFQ3Vz
dG9tRmlsdGVyOjppbml0aWFsaXplQ29udGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmgKaW5kZXggYjdm
OTM2OS4uYTFiYWNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaApAQCAtNzIsNiArNzIsOCBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgICAgIEN1c3RvbUZpbHRlck9wZXJhdGlvbjo6TWVzaFR5cGUp
OwogICAgIH5GRUN1c3RvbUZpbHRlcigpOwogICAgIAorICAgIGJvb2wgYXBwbHlTaGFkZXIoKTsK
KyAgICB2b2lkIGNsZWFyU2hhZGVyUmVzdWx0KCk7CiAgICAgYm9vbCBpbml0aWFsaXplQ29udGV4
dCgpOwogICAgIHZvaWQgZGVsZXRlUmVuZGVyQnVmZmVycygpOwogICAgIHZvaWQgcmVzaXplQ29u
dGV4dChjb25zdCBJbnRTaXplJiBuZXdDb250ZXh0U2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDdXN0b21GaWx0ZXJQcm9ncmFtLmgKaW5k
ZXggODFkZWFmZC4uMWNiZTAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZUN1c3RvbUZpbHRlclByb2dyYW0uaApAQCAtMTA2LDkgKzEwNiwx
MCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAocmVzb3VyY2UtPmVycm9yT2NjdXJyZWQo
KSkKICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgLy8gTm90ZSB0aGF0IG1fY2FjaGVkVmVy
dGV4U2hhZGVyIG1pZ2h0IGJlIGVxdWFsIHRvIG1fY2FjaGVkRnJhZ21lbnRTaGFkZXIgYW5kIGl0
IHdvdWxkIG9ubHkgZ2V0IG9uZSBldmVudCBpbiB0aGF0IGNhc2UuCiAgICAgICAgIGlmIChyZXNv
dXJjZSA9PSBtX2NhY2hlZFZlcnRleFNoYWRlci5nZXQoKSkKICAgICAgICAgICAgIG1faXNWZXJ0
ZXhTaGFkZXJMb2FkZWQgPSB0cnVlOwotICAgICAgICBlbHNlIGlmIChyZXNvdXJjZSA9PSBtX2Nh
Y2hlZEZyYWdtZW50U2hhZGVyLmdldCgpKQorICAgICAgICBpZiAocmVzb3VyY2UgPT0gbV9jYWNo
ZWRGcmFnbWVudFNoYWRlci5nZXQoKSkKICAgICAgICAgICAgIG1faXNGcmFnbWVudFNoYWRlckxv
YWRlZCA9IHRydWU7CiAgICAgICAgIGlmIChpc0xvYWRlZCgpKQogICAgICAgICAgICAgbm90aWZ5
Q2xpZW50cygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>