<?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>3526</bug_id>
          
          <creation_ts>2005-06-14 06:37:24 -0700</creation_ts>
          <short_desc>improve support for dynamically added &lt;script&gt; elements</short_desc>
          <delta_ts>2006-03-08 09:11:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>312.x</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.3</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://oege.ie.hva.nl/~mulder1p/JS_Add_Bug/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sjoerd Mulder">sjoerdmulder</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>mfa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>11877</commentid>
    <comment_count>0</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2005-06-14 06:37:25 -0700</bug_when>
    <thetext>When creating a script-element with document.createElement and inserting this
element into the DOM, the attached script is not executed or not loaded at all.

This has been tested on IE6, Firefox 1.0.4 and Opera 8, these browsers all work.
Tested Safari version: 1.3(v312).

Testcase is provided at URL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11915</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Petersen">c.petersen87</who>
    <bug_when>2005-06-14 13:06:13 -0700</bug_when>
    <thetext>Interesting results:

With Safari 2.0 (v412): All tests fail

With TOT Webkit under 10.4.1 (8B15): Tests 1 - 3 pass but tests 4- 6 fail 

With Mac Firefox 1.0.4: All tests pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12122</commentid>
    <comment_count>2</comment_count>
      <attachid>2365</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-15 09:20:08 -0700</bug_when>
    <thetext>Created attachment 2365
Fix

Here&apos;s a patch that makes the test cases pass and also adds getters and setters
for the text property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12247</commentid>
    <comment_count>3</comment_count>
      <attachid>2365</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-16 09:51:21 -0700</bug_when>
    <thetext>Comment on attachment 2365
Fix

This patch looks pretty good. I have a few comments:

1) The !scriptString.isEmpty() check needs a comment. Anders explained to me
why it&apos;s needed, and the code needs that explanation too.

2) The code needs formatting fixes; there are function declarations with extra
spaces before and after ) and ( characters. There are also commas that don&apos;t
have commas after them.

3) I&apos;d like to understand why the insertBefore and appendChild methods look at
the exceptioncode and newChild rather than looking at the result. Perhaps an
&quot;if (result)&quot; is a better check?

4) Is there a good reason this can&apos;t be done inside the childrenChanged()
function instead of individually overriding insertBefore and appendChild? Can
we enhance childrenChanged() so it can be used? I&apos;m not entirely comfortable
with the precedent of overriding both of these functions.

5) I believe HTMLScriptElementImpl::setText could be implemented better by
using removeChildren().

6) The URL parameter to evaluateScript should be a const QString &amp;, rather than
QString.

Looks like this is on the right track, although I still don&apos;t fully understand
the rules for when the script should be run and re-run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12253</commentid>
    <comment_count>4</comment_count>
    <who name="Niels Leenheer (HTML5test)">info</who>
    <bug_when>2005-06-16 11:08:35 -0700</bug_when>
    <thetext>5) I also implemented an alternative for this function for bug 3501, which does
use removeChildren() and is also for HTML by simply reusing of a pre-existing
text node. http://bugzilla.opendarwin.org/attachment.cgi?id=2368</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12256</commentid>
    <comment_count>5</comment_count>
      <attachid>2392</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-16 11:40:54 -0700</bug_when>
    <thetext>Created attachment 2392
Another test case

Here&apos;s a test case with a couple of different test cases. 

WinIE does not allow adding children to the script node, only .text and
.innerText works there, all tests pass on Mozilla though.

I&apos;ll try to whip up a better patch that uses childrenChanged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12262</commentid>
    <comment_count>6</comment_count>
      <attachid>2397</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-16 13:12:27 -0700</bug_when>
    <thetext>Created attachment 2397
Better patch

Here&apos;s a new patch that addresses the comments. 

I tried the previously attached test case in Opera and it always re-ran the
script when the children changed. This patch still does what Mozilla and WinIE
does, but it doesn&apos;t allow you to evaluate a script by appending a child node
to a script node that&apos;s already in the document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12282</commentid>
    <comment_count>7</comment_count>
      <attachid>2397</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-16 14:40:09 -0700</bug_when>
    <thetext>Comment on attachment 2397
Better patch

I think this is good. Two ideas to make it even better:

1) Put the NodeImpl *n declaration inside the for statement in
HTMLScriptElementImpl::text.

2) HTMLScriptElementImpl::childrenChanged could check firstChild() instead of
childNodeCount(), since that&apos;s faster (maybe we should have a hasChildren()).

3) HTMLScriptElementImpl::setText should do isTextNode instead of nodeType() ==
TEXT_NODE.

Otherwise, super-great!

(I also mentioned to Anders on IRC that we need this text/setText change for
title elements.)

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12284</commentid>
    <comment_count>8</comment_count>
      <attachid>2403</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-16 14:58:13 -0700</bug_when>
    <thetext>Created attachment 2403
Better patch

Here&apos;s a new patch that addresses the issues in the previous comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12285</commentid>
    <comment_count>9</comment_count>
      <attachid>2404</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-16 15:05:21 -0700</bug_when>
    <thetext>Created attachment 2404
Compilable patch

And here&apos;s a version that actually compiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12286</commentid>
    <comment_count>10</comment_count>
      <attachid>2403</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-16 15:07:02 -0700</bug_when>
    <thetext>Comment on attachment 2403
Better patch

This won&apos;t compile. It&apos;s -&gt;isTextNode(), not nodeType()-&gt;isTextNode().

But I&apos;m saying r=me anyway. Just make sure whatever we check in does compile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12287</commentid>
    <comment_count>11</comment_count>
      <attachid>2405</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-16 15:13:08 -0700</bug_when>
    <thetext>Created attachment 2405
Support setting title.text

Sorry to cause more bugzilla spam, but here&apos;s a patch that supports setting and
getting title.text</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12312</commentid>
    <comment_count>12</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-06-16 17:50:58 -0700</bug_when>
    <thetext>Could you please make a separate patch with the title stuff (ideally with a test, if it&apos;s testable)? It makes life 
simpler to have one patch per issue. It also makes life easier if the test case is included in the patch in the 
right subdir of layout tests - not sure if you can make patches that add files against anoncvs, but if so, 
that would be handy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12313</commentid>
    <comment_count>13</comment_count>
      <attachid>2405</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-06-16 17:52:02 -0700</bug_when>
    <thetext>Comment on attachment 2405
Support setting title.text

review- due to unrelated title change being included in the patch, and lack of
test case for the title stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12400</commentid>
    <comment_count>14</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-17 00:30:22 -0700</bug_when>
    <thetext>I removed the obsolete flag from attachment 2404 because it&apos;s the final patch but without the title 
attribute. I opened a separate bug, 3586, for the title change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12579</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-18 22:17:54 -0700</bug_when>
    <thetext>I changed the title to reflect the fact that we already had this dynamically-added &lt;script&gt; support in TOT. 
What we&apos;re doing now is updating it to work better (which basically means more like Gecko at this point).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12636</commentid>
    <comment_count>16</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-19 23:10:22 -0700</bug_when>
    <thetext>*** Bug 3501 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13797</commentid>
    <comment_count>17</comment_count>
    <who name="Joost de Valk (AlthA)">joost</who>
    <bug_when>2005-07-03 08:03:41 -0700</bug_when>
    <thetext>Reporter, please mark this bug as verified if it has been fixed for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13858</commentid>
    <comment_count>18</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2005-07-04 01:01:05 -0700</bug_when>
    <thetext>I wish i could verify the bug but, i cant compile it yet, still waiting on my
new imac( now got a 500 g3 testmachine :( and no Developer Tools )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17427</commentid>
    <comment_count>19</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2005-08-25 06:43:55 -0700</bug_when>
    <thetext>The adding of the scripts works well now :), but in Mozilla you can do:

oScript.onload = functionCallBack;

The onload event is never triggered when the script load is completed(on TOT)
(by setting the src attribute)

Test:

function callAfterLoad(){
alert(&apos;Script Loaded&apos;);
}

var oHead = document.getElementsByTagName(&apos;head&apos;)[0];
var oScript = document.createElement(&apos;script&apos;);

oScript.setAttribute(&apos;type&apos;, &apos;text/javascript&apos;);
oHead.appendChild(oScript);         // append to head

oScript.onload = callAfterLoad;
oScript.setAttribute(&apos;src&apos;, &apos;myfiletoload.js&apos;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17431</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-25 09:36:28 -0700</bug_when>
    <thetext>OK, then how about a new bug? Lets not keep using a single bug report for all sorts of different related 
fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17432</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-08-25 09:37:11 -0700</bug_when>
    <thetext>In other words, please write a bug about the fact that we don&apos;t support &quot;onload&apos; handlers on script tags. 
That&apos;s separate from what was fixed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17438</commentid>
    <comment_count>22</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2005-08-25 10:46:21 -0700</bug_when>
    <thetext>(In reply to comment #15)
Sorry for my new bug, but as the title was changed i thought that this was a
general bug for &apos;improving dynamic script adding&apos;. The original bug is solved!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35537</commentid>
    <comment_count>23</comment_count>
    <who name="Sjoerd Mulder">sjoerdmulder</who>
    <bug_when>2006-03-08 09:11:25 -0800</bug_when>
    <thetext>This bug is now also In Radar &lt;rdar://4470861&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2365</attachid>
            <date>2005-06-15 09:20:08 -0700</date>
            <delta_ts>2005-06-16 13:12:27 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>webcore-script-changes.diff</filename>
            <type>text/plain</type>
            <size>5931</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9D
aGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDI2NQpkaWZmIC11IC1yMS40MjY1IENo
YW5nZUxvZwotLS0gQ2hhbmdlTG9nCTIwMDUvMDYvMTQgMjI6MzY6MjcJMS40MjY1CisrKyBDaGFu
Z2VMb2cJMjAwNS8wNi8xNSAxNjoxODo1MApAQCAtMSwzICsxLDE0IEBACisyMDA1LTA2LTE1ICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisJRml4IGZvciBodHRwOi8vYnVn
emlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjYKKwkKKwkqIGtodG1sL2h0
bWwvaHRtbF9oZWFkaW1wbC5jcHA6CisJKiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaDoKKwlB
ZGQgc3VwcG9ydCBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyB0aGUgdGV4dCBwcm9wZXJ0eS4gQWxz
bywKKwltYWtlIGluc2VydEJlZm9yZSBhbmQgYXBwZW5kQ2hpbGQgZXZhbHVhdGUgdGhlIHJlc3Vs
dGluZworCXNjcmlwdC4gQWxzbywgb25seSBldmFsdWF0ZSBhIHNjcmlwdCBvbmNlIGlmIHRoZSBj
aGlsZHJlbiBvZiB0aGUKKwlzY3JpcHQgZWxlbWVudCBjaGFuZ2UuIFRoaXMgbWltaWNzIE1vemls
bGEgYW5kIFdpbklFIGJlaGF2aW9yLgorCQogMjAwNS0wNi0xNCAgRGF2aWQgSHlhdHQgIDxoeWF0
dEBhcHBsZS5jb20+CiAKIAlUaGUgYmVoYXZpb3Igb2YgPHByZT4gaXMgYnJva2VuIHNvIHRoYXQg
dGhlIG5ld2xpbmUKSW5kZXg6IGtodG1sL2h0bWwvaHRtbF9oZWFkaW1wbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvaHRtbC9odG1sX2hlYWRpbXBsLmNw
cCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40OApkaWZmIC11IC1yMS40OCBodG1sX2hlYWRpbXBs
LmNwcAotLS0gaHRtbF9oZWFkaW1wbC5jcHAJMjAwNS8wNS8xMSAwNTo0OTozNAkxLjQ4CisrKyBo
dG1sX2hlYWRpbXBsLmNwcAkyMDA1LzA2LzE1IDE2OjE4OjUwCkBAIC01MTIsNyArNTE1LDcgQEAK
IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjpIVE1MU2NyaXB0
RWxlbWVudEltcGwoRG9jdW1lbnRQdHIgKmRvYykKLSAgICA6IEhUTUxFbGVtZW50SW1wbChkb2Mp
LCBtX2NhY2hlZFNjcmlwdCgwKSwgbV9jcmVhdGVkQnlQYXJzZXIoZmFsc2UpCisgICAgOiBIVE1M
RWxlbWVudEltcGwoZG9jKSwgbV9jYWNoZWRTY3JpcHQoMCksIG1fY3JlYXRlZEJ5UGFyc2VyKGZh
bHNlKSwgbV9ldmFsdWF0ZWQoZmFsc2UpCiB7CiB9CiAKQEAgLTU0OSw2MCArNTUyLDEwMiBAQAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgRE9NU3RyaW5nIHNjcmlwdFN0cmluZyA9ICIi
OwotICAgIGZvciAoTm9kZUltcGwgKm4gPSBmaXJzdENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2li
bGluZygpKQotICAgICAgICBpZiAobi0+aXNUZXh0Tm9kZSgpKSAKLSAgICAgICAgICAgIHNjcmlw
dFN0cmluZyArPSBzdGF0aWNfY2FzdDxUZXh0SW1wbCo+KG4pLT5kYXRhKCk7Ci0KLSAgICBEb2N1
bWVudEltcGwgKmRvYyA9IGdldERvY3VtZW50KCk7Ci0gICAgS0hUTUxQYXJ0ICpwYXJ0ID0gZG9j
LT5wYXJ0KCk7Ci0gICAgaWYgKCFwYXJ0KQotICAgICAgICByZXR1cm47Ci0gICAgS0pTUHJveHkg
KnByb3h5ID0gS0pTUHJveHk6OnByb3h5KHBhcnQpOwotICAgIGlmICghcHJveHkpCi0gICAgICAg
IHJldHVybjsKKyAgICBET01TdHJpbmcgc2NyaXB0U3RyaW5nID0gdGV4dCgpOwogCi0gICAgcHJv
eHktPmV2YWx1YXRlKGRvYy0+VVJMKCksIDAsIHNjcmlwdFN0cmluZy5zdHJpbmcoKSwgMCk7Ci0g
ICAgRG9jdW1lbnRJbXBsOjp1cGRhdGVEb2N1bWVudHNSZW5kZXJpbmcoKTsKKyAgICBpZiAoIXNj
cmlwdFN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgIGV2YWx1YXRlU2NyaXB0KGdldERvY3VtZW50
KCktPlVSTCgpLCBzY3JpcHRTdHJpbmcpOwogfQogCiB2b2lkIEhUTUxTY3JpcHRFbGVtZW50SW1w
bDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiB7CiAgICAgSFRNTEVsZW1lbnRJbXBsOjpyZW1vdmVk
RnJvbURvY3VtZW50KCk7CiAKKyAgICBtX2V2YWx1YXRlZCA9IGZhbHNlOworICAgIAogICAgIGlm
IChtX2NhY2hlZFNjcmlwdCkgewogICAgICAgICBtX2NhY2hlZFNjcmlwdC0+ZGVyZWYodGhpcyk7
CiAgICAgICAgIG1fY2FjaGVkU2NyaXB0ID0gMDsKICAgICB9CiB9CiAKK05vZGVJbXBsICpIVE1M
U2NyaXB0RWxlbWVudEltcGw6Omluc2VydEJlZm9yZSAoIE5vZGVJbXBsICpuZXdDaGlsZCwgTm9k
ZUltcGwgKnJlZkNoaWxkLCBpbnQgJmV4Y2VwdGlvbmNvZGUgKQoreworICAgIE5vZGVJbXBsICpy
ZXN1bHQgPSBIVE1MRWxlbWVudEltcGw6Omluc2VydEJlZm9yZShuZXdDaGlsZCxyZWZDaGlsZCwg
ZXhjZXB0aW9uY29kZSk7CisgCisgICAgaWYgKGV4Y2VwdGlvbmNvZGUgPT0gMCAmJiBuZXdDaGls
ZC0+aW5Eb2N1bWVudCgpKSB7CisgICAgICAgIGV2YWx1YXRlU2NyaXB0KGdldERvY3VtZW50KCkt
PlVSTCgpLCB0ZXh0KCkpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitO
b2RlSW1wbCAqSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjphcHBlbmRDaGlsZCAoIE5vZGVJbXBsICpu
ZXdDaGlsZCwgaW50ICZleGNlcHRpb25jb2RlICkKK3sKKyAgICBOb2RlSW1wbCAqcmVzdWx0ID0g
SFRNTEVsZW1lbnRJbXBsOjphcHBlbmRDaGlsZChuZXdDaGlsZCwgZXhjZXB0aW9uY29kZSk7Cisg
ICAgCisgICAgaWYgKGV4Y2VwdGlvbmNvZGUgPT0gMCAmJiBuZXdDaGlsZC0+aW5Eb2N1bWVudCgp
KSB7CisgICAgICAgIGV2YWx1YXRlU2NyaXB0KGdldERvY3VtZW50KCktPlVSTCgpLCB0ZXh0KCkp
OworICAgIH0KKyAgICAKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIEhUTUxTY3JpcHRF
bGVtZW50SW1wbDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkT2JqZWN0KiBvKQogewogICAgIENhY2hl
ZFNjcmlwdCAqY3MgPSBzdGF0aWNfY2FzdDxDYWNoZWRTY3JpcHQgKj4obyk7CiAKICAgICBhc3Nl
cnQoY3MgPT0gbV9jYWNoZWRTY3JpcHQpOwogCisgICAgZXZhbHVhdGVTY3JpcHQoY3MtPnVybCgp
LnN0cmluZygpLCBjcy0+c2NyaXB0KCkpOworCisgICAgY3MtPmRlcmVmKHRoaXMpOworICAgIG1f
Y2FjaGVkU2NyaXB0ID0gMDsKK30KKwordm9pZCBIVE1MU2NyaXB0RWxlbWVudEltcGw6OmV2YWx1
YXRlU2NyaXB0IChRU3RyaW5nIFVSTCwgY29uc3QgRE9NU3RyaW5nICZzY3JpcHQpCit7CisgICAg
aWYgKG1fZXZhbHVhdGVkKQorICAgICAgICByZXR1cm47CisgICAgCiAgICAgS0hUTUxQYXJ0ICpw
YXJ0ID0gZ2V0RG9jdW1lbnQoKS0+cGFydCgpOwogICAgIGlmIChwYXJ0KSB7CiAgICAgICAgIEtK
U1Byb3h5ICpwcm94eSA9IEtKU1Byb3h5Ojpwcm94eShwYXJ0KTsKICAgICAgICAgaWYgKHByb3h5
KSB7Ci0gICAgICAgICAgICBwcm94eS0+ZXZhbHVhdGUoY3MtPnVybCgpLnN0cmluZygpLCAwLCBj
cy0+c2NyaXB0KCkuc3RyaW5nKCksIDApOyAKKyAgICAgICAgICAgIG1fZXZhbHVhdGVkID0gdHJ1
ZTsKKyAgICAgICAgICAgIHByb3h5LT5ldmFsdWF0ZShVUkwsIDAsIHNjcmlwdC5zdHJpbmcoKSwg
MCk7IAogICAgICAgICAgICAgRG9jdW1lbnRJbXBsOjp1cGRhdGVEb2N1bWVudHNSZW5kZXJpbmco
KTsKICAgICAgICAgfQogICAgIH0KLQotICAgIGNzLT5kZXJlZih0aGlzKTsKLSAgICBtX2NhY2hl
ZFNjcmlwdCA9IDA7CiB9CiAKIERPTVN0cmluZyBIVE1MU2NyaXB0RWxlbWVudEltcGw6OnRleHQo
KSBjb25zdAogewotICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoQVRUUl9URVhUKTsKKyAgICBET01T
dHJpbmcgdmFsID0gIiI7CisgICAgTm9kZUltcGwgKm47CisgICAgCisgICAgZm9yIChuID0gZmly
c3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAobi0+aXNU
ZXh0Tm9kZSgpKQorICAgICAgICAgICAgdmFsICs9IHN0YXRpY19jYXN0PFRleHRJbXBsICo+KG4p
LT5kYXRhKCk7CisgICAgfQorICAgIAorICAgIHJldHVybiB2YWw7CiB9CiAKIHZvaWQgSFRNTFNj
cmlwdEVsZW1lbnRJbXBsOjpzZXRUZXh0KGNvbnN0IERPTVN0cmluZyAmdmFsdWUpCiB7Ci0gICAg
c2V0QXR0cmlidXRlKEFUVFJfVEVYVCwgdmFsdWUpOworICAgIFFQdHJMaXN0PE5vZGVJbXBsPiB0
b1JlbW92ZTsKKyAgICBOb2RlSW1wbCAqbjsKKyAgICAKKyAgICBmb3IgKG4gPSBmaXJzdENoaWxk
KCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKQorICAgICAgICBpZiAobi0+aXNUZXh0Tm9kZSgp
KQorICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKG4pOworICAgIFFQdHJMaXN0SXRlcmF0b3I8
Tm9kZUltcGw+IGl0KHRvUmVtb3ZlKTsKKyAgICBpbnQgZXhjZXB0aW9uY29kZSA9IDA7CisgICAg
CisgICAgZm9yICg7IGl0LmN1cnJlbnQoKTsgKytpdCkKKyAgICAgICAgcmVtb3ZlQ2hpbGQoaXQu
Y3VycmVudCgpLCBleGNlcHRpb25jb2RlKTsKKyAgICAKKyAgICBpbnNlcnRCZWZvcmUoZ2V0RG9j
dW1lbnQoKS0+Y3JlYXRlVGV4dE5vZGUodmFsdWUpLGZpcnN0Q2hpbGQoKSwgZXhjZXB0aW9uY29k
ZSk7CiB9CiAKIERPTVN0cmluZyBIVE1MU2NyaXB0RWxlbWVudEltcGw6Omh0bWxGb3IoKSBjb25z
dApJbmRleDoga2h0bWwvaHRtbC9odG1sX2hlYWRpbXBsLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYkNvcmUva2h0bWwvaHRtbC9odG1sX2hlYWRpbXBsLmgsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMTkKZGlmZiAtdSAtcjEuMTkgaHRtbF9oZWFkaW1wbC5oCi0tLSBodG1sX2hl
YWRpbXBsLmgJMjAwNS8wNS8xMSAwNTo0OTozNAkxLjE5CisrKyBodG1sX2hlYWRpbXBsLmgJMjAw
NS8wNi8xNSAxNjoxODo1MQpAQCAtMTkwLDExICsxOTAsMTYgQEAKICAgICB2aXJ0dWFsIHZvaWQg
cmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChr
aHRtbDo6Q2FjaGVkT2JqZWN0ICpmaW5pc2hlZE9iaik7CiAKKyAgICB2aXJ0dWFsIE5vZGVJbXBs
ICppbnNlcnRCZWZvcmUgKCBOb2RlSW1wbCAqbmV3Q2hpbGQsIE5vZGVJbXBsICpyZWZDaGlsZCwg
aW50ICZleGNlcHRpb25jb2RlICk7CisgICAgdmlydHVhbCBOb2RlSW1wbCAqYXBwZW5kQ2hpbGQg
KCBOb2RlSW1wbCAqbmV3Q2hpbGQsIGludCAmZXhjZXB0aW9uY29kZSApOworICAgIAogICAgIHZp
cnR1YWwgSWQgaWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoQXR0
cmlidXRlSW1wbCAqYXR0cikgY29uc3Q7CiAKICAgICB2b2lkIHNldENyZWF0ZWRCeVBhcnNlcihi
b29sIGNyZWF0ZWRCeVBhcnNlcikgeyBtX2NyZWF0ZWRCeVBhcnNlciA9IGNyZWF0ZWRCeVBhcnNl
cjsgfQogCisgICAgdm9pZCBldmFsdWF0ZVNjcmlwdCAoUVN0cmluZywgY29uc3QgRE9NU3RyaW5n
ICYpOworICAgIAogICAgIERPTVN0cmluZyB0ZXh0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRUZXh0
KGNvbnN0IERPTVN0cmluZyAmKTsKIApAQCAtMjE5LDYgKzIyNCw3IEBACiBwcml2YXRlOgogICAg
IGtodG1sOjpDYWNoZWRTY3JpcHQgKm1fY2FjaGVkU2NyaXB0OwogICAgIGJvb2wgbV9jcmVhdGVk
QnlQYXJzZXI7CisgICAgYm9vbCBtX2V2YWx1YXRlZDsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0K
</data>
<flag name="review"
          id="26"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2392</attachid>
            <date>2005-06-16 11:40:54 -0700</date>
            <delta_ts>2005-06-16 11:40:54 -0700</delta_ts>
            <desc>Another test case</desc>
            <filename>test-script.html</filename>
            <type>text/html</type>
            <size>4230</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIj4KPGh0bWw+CjxoZWFkPgoKPHNjcmlwdD4KZnVuY3Rpb24gcnVu
VGVzdHMoKSB7Cgl0ZXN0MSgpOwoJdGVzdDIoKTsKCXRlc3QzKCk7Cgl0ZXN0NCgpOwoJdGVzdDUo
KTsKCXRlc3Q2KCk7Cgl0ZXN0NygpOwoJdGVzdDgoKTsKCXRlc3Q5KCk7Cgl0ZXN0MTAoKTsKfQoK
ZnVuY3Rpb24gb3V0cHV0RGVidWcodGVzdE5hbWUsIHN0cikgewoJZGl2Tm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJCgl0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUg
KHRlc3ROYW1lICsgJzonICsgc3RyKTsKCWRpdk5vZGUuYXBwZW5kQ2hpbGQodGV4dCk7CgkKCWVs
ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVidWdEaXYnKTsKCWVsZW0uYXBwZW5kQ2hp
bGQoZGl2Tm9kZSk7Cn0KCmZ1bmN0aW9uIHRlc3QxKCkgewoJLy8gQ3JlYXRlIGEgc2NyaXB0IGVs
ZW1lbnQsIGluc2VydCBpdCBpbnRvIHRoZSBkb2N1bWVudAoJLy8gdGhlbiBjcmVhdGUgYSB0ZXh0
IG5vZGUgYW5kIGFwcGVuZCBpdC4KCQoJc2NyaXB0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3NjcmlwdCcpOwoJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHROb2RlKTsKCQoJ
c2NyaXB0VGV4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdvdXRwdXREZWJ1ZygidGVzdDEi
LCAidGhpcyB0ZXh0IHNob3VsZCBvY2N1ciBvbmNlIik7JykKCQoJc2NyaXB0Tm9kZS5hcHBlbmRD
aGlsZChzY3JpcHRUZXh0KTsKfQoKZnVuY3Rpb24gdGVzdDIoKSB7CgkvLyBDcmVhdGUgYSBzY3Jp
cHQgZWxlbWVudCwgYXBwZW5kIHR3byB0ZXh0IG5vZGVzIHRvIGl0CgkvLyB0aGVuIGluc2VydCBp
dCBpbnRvIHRoZSBkb2N1bWVudC4KCQoJc2NyaXB0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ3NjcmlwdCcpOwoKCXNjcmlwdFRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnZnVu
Y3Rpb24gZigpIHtvdXRwdXREZWJ1ZygidGVzdDIiLCAidGhpcyB0ZXh0IHNob3VsZCBvY2N1ciBv
bmNlIik7fScpCglzY3JpcHROb2RlLmFwcGVuZENoaWxkKHNjcmlwdFRleHQpOwoKCXNjcmlwdFRl
eHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnZigpOycpCglzY3JpcHROb2RlLmFwcGVuZENo
aWxkKHNjcmlwdFRleHQpOwoJCglkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdE5vZGUp
Owp9CgpmdW5jdGlvbiB0ZXN0MygpIHsKCS8vIENyZWF0ZSBhIHNjcmlwdCBlbGVtZW50LCBpbnNl
cnQgaXQgaW4gdGhlIGRvY3VtZW50CgkvLyB0aGVuIGNyZWF0ZSBhcHBlbmQgdHdvIHRleHQgbm9k
ZXMgdG8gdGhlIGVsZW1lbnQuCgkvLyAoVGhpcyBzaG91bGQgbm90IHdvcmspCgkKCXNjcmlwdE5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsJCglkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHNjcmlwdE5vZGUpOwoKCXNjcmlwdFRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgnZnVuY3Rpb24gZigpIHtvdXRwdXREZWJ1ZygidGVzdDMiLCAidGhpcyB0ZXh0IHNob3Vs
ZCBub3Qgb2NjdXIgYXQgYWxsIik7fScpCglzY3JpcHROb2RlLmFwcGVuZENoaWxkKHNjcmlwdFRl
eHQpOwoKCXNjcmlwdFRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnZigpOycpCglzY3Jp
cHROb2RlLmFwcGVuZENoaWxkKHNjcmlwdFRleHQpOwp9CgpmdW5jdGlvbiB0ZXN0NCgpIHsKCS8v
IENyZWF0ZSBhIHNjcmlwdCBlbGVtZW50LCBjcmVhdGUgYSB0ZXh0IG5vZGUKCS8vIGFuZCBhcHBl
bmQgaXQgdG8gdGhlIGVsZW1lbnQKCglzY3JpcHROb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2NyaXB0Jyk7CQoKCXNjcmlwdFRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnb3V0
cHV0RGVidWcoInRlc3Q0IiwgInRoaXMgdGV4dCBzaG91bGQgbm90IG9jY3VyIGF0IGFsbCIpO30n
KQoJc2NyaXB0Tm9kZS5hcHBlbmRDaGlsZChzY3JpcHRUZXh0KTsKCn0KCmZ1bmN0aW9uIHRlc3Q1
KCkgewoJLy8gQ3JlYXRlIGEgc2NyaXB0IGVsZW1lbnQsIHNldCBpdHMgdGV4dCBwcm9wZXJ0eSB0
d2ljZS4KCglzY3JpcHROb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CQoJ
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHROb2RlKTsKCXNjcmlwdE5vZGUudGV4dCA9
ICdvdXRwdXREZWJ1ZygidGVzdDUiLCAidGhpcyB0ZXh0IHNob3VsZCBvY2N1ciBvbmNlIik7JzsJ
CglzY3JpcHROb2RlLnRleHQgPSAnb3V0cHV0RGVidWcoInRlc3Q1IiwgInRoaXMgdGV4dCBzaG91
bGQgb2NjdXIgb25jZSIpOyc7Cn0KCmZ1bmN0aW9uIHRlc3Q2KCkgewoJLy8gQ3JlYXRlIGEgc2Ny
aXB0IGVsZW1lbnQsIGRvIG5vdCBpbnNlcnQgaXQgaW50byB0aGUgZG9jdW1lbnQsCgkvLyBzZXQg
aXRzIHRleHQgcHJvcGVydHkuCgoJc2NyaXB0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NjcmlwdCcpOwkKCXNjcmlwdE5vZGUudGV4dCA9ICdvdXRwdXREZWJ1ZygidGVzdDYiLCAidGhp
cyB0ZXh0IHNob3VsZCBub3Qgb2NjdXIgYXQgYWxsIik7JzsJCn0KCmZ1bmN0aW9uIHRlc3Q3KCkg
ewoJLy8gQ3JlYXRlIGEgc2NyaXB0IGVsZW1lbnQsIHNldCBpdHMgaW5uZXJUZXh0IHByb3BlcnR5
LgoKCXNjcmlwdE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsJCglkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdE5vZGUpOwoJc2NyaXB0Tm9kZS5pbm5lclRleHQg
PSAnb3V0cHV0RGVidWcoInRlc3Q3IiwgInRoaXMgdGV4dCBzaG91bGQgbm90IG9jY3VyIGF0IGFs
bCIpOyc7CQp9CQoKZnVuY3Rpb24gdGVzdDgoKSB7CgkvLyBBcHBlbmQgYSB0ZXh0IG5vZGUgdG8g
YW4gZXhpc3RpbmcgZW1wdHkgc2NyaXB0IG5vZGUKCQoJc2NyaXB0Tm9kZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0OHNjcmlwdCcpOwoJCglzY3JpcHRUZXh0ID0gZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoJ291dHB1dERlYnVnKCJ0ZXN0OCIsICJ0aGlzIHRleHQgc2hvdWxkIG9jY3Vy
IG9uY2UiKTsnKQoJc2NyaXB0Tm9kZS5hcHBlbmRDaGlsZChzY3JpcHRUZXh0KTsKfQkKCmZ1bmN0
aW9uIHRlc3Q5KCkgewoJLy8gU2V0IHRleHQgcHJvcGVydHkgb24gYW4gZXhpc3RpbmcgZW1wdHkg
c2NyaXB0IG5vZGUKCQoJc2NyaXB0Tm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
OXNjcmlwdCcpOwoJCglzY3JpcHROb2RlLnRleHQgPSAnb3V0cHV0RGVidWcoInRlc3Q5IiwgInRo
aXMgdGV4dCBzaG91bGQgb2NjdXIgb25jZSIpOycKfQoKZnVuY3Rpb24gdGVzdDEwKCkgewoJLy8g
U2V0IHRleHQgcHJvcGVydHkgb24gYW4gZXhpc3Rpbmcgbm9uLWVtcHR5IHNjcmlwdCBub2RlCgkK
CXNjcmlwdE5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEwc2NyaXB0Jyk7CgkK
CXNjcmlwdE5vZGUudGV4dCA9ICgnb3V0cHV0RGVidWcoInRlc3QxMCIsICJ0aGlzIHRleHQgc2hv
dWxkIG5vdCBvY2N1ciIpOycpCn0JCgpmdW5jdGlvbiB0ZXN0MTEoKSB7CgkvLyBDcmVhdGUgYSBz
Y3JpcHQgZWxlbWVudCwgc2V0IGl0cyB0ZXh0IHByb3BlcnR5LAoJLy8gcmVtb3ZlIHRoZSBlbGVt
ZW50IGl0IGFuZCBpbnNlcnQgaXQgYWdhaW4KCQoJc2NyaXB0Tm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3NjcmlwdCcpOwkKCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0Tm9k
ZSk7CglzY3JpcHROb2RlLnRleHQgPSAnb3V0cHV0RGVidWcoInRlc3QxMSIsICJ0aGlzIHRleHQg
c2hvdWxkIG9jY3VyIG9uY2UiKTsnOwkKCglzY3JpcHROb2RlID0gZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZChzY3JpcHROb2RlKTsKCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0Tm9k
ZSk7Cn0KPC9zY3JpcHQ+CjxzY3JpcHQgaWQ9InRlc3Q4c2NyaXB0Ij48L3NjcmlwdD4KPHNjcmlw
dCBpZD0idGVzdDlzY3JpcHQiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJ0ZXN0MTBzY3JpcHQiPmZ1
bmN0aW9uIGYoKSB7IH08L3NjcmlwdD4KPC9oZWFkPgo8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7
Ij4KPGRpdiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgcmVkIj4KPHA+ClRoaXMgdGVzdCB0ZXN0
cyB0aGUgYmVoYXZpb3Igd2hlbiBkeW5hbWljYWxseSBpbnNlcnRpbmcgYW5kIHJlbW92aW5nIHNj
cmlwdCBlbGVtZW50cy4KPC9wPgo8L2Rpdj4KPGRpdiBpZD0iZGVidWdEaXYiPjwvZGl2PgoKPC9i
b2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2397</attachid>
            <date>2005-06-16 13:12:27 -0700</date>
            <delta_ts>2005-06-16 14:58:13 -0700</delta_ts>
            <desc>Better patch</desc>
            <filename>webcore-script-changes-2.diff</filename>
            <type>text/plain</type>
            <size>6463</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PyBmb28KSW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2Vi
Q29yZS9DaGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDI2NgpkaWZmIC11IC1yMS40
MjY2IENoYW5nZUxvZwotLS0gQ2hhbmdlTG9nCTIwMDUvMDYvMTYgMTk6NDI6MjAJMS40MjY2Cisr
KyBDaGFuZ2VMb2cJMjAwNS8wNi8xNiAyMDowODoyMgpAQCAtMSwzICsxLDE1IEBACisyMDA1LTA2
LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisgICAgICAgIEZpeCBm
b3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTI2CisJ
CisJKiBraHRtbC9kb20vaHRtbF9oZWFkLmNwcDoKKwkqIGtodG1sL2h0bWwvaHRtbF9oZWFkaW1w
bC5jcHA6CisJKiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaDoKKwlBZGQgc3VwcG9ydCBmb3Ig
c2V0dGluZyBhbmQgZ2V0dGluZyB0aGUgdGV4dCBwcm9wZXJ0eS4gQWxzbywKKwltYWtlIGluc2Vy
dEJlZm9yZSBhbmQgYXBwZW5kQ2hpbGQgZXZhbHVhdGUgdGhlIHJlc3VsdGluZworCXNjcmlwdC4g
QWxzbywgb25seSBldmFsdWF0ZSBhIHNjcmlwdCBvbmNlIGlmIHRoZSBjaGlsZHJlbiBvZiB0aGUK
KwlzY3JpcHQgZWxlbWVudCBjaGFuZ2UuIFRoaXMgbWltaWNzIE1vemlsbGEgYW5kIFdpbklFIGJl
aGF2aW9yLgorCQogMjAwNS0wNi0xNCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIGFuIGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgUXVhbGlmaWVkTmFtZSBh
bmQgSFRNTE5hbWVzLiAgVGhlc2UgY2xhc3NlcyBhcmUgbm90IHVzZWQgYnkgYW55b25lIHlldC4K
SW5kZXg6IGtodG1sL2RvbS9odG1sX2hlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9XZWJDb3JlL2todG1sL2RvbS9odG1sX2hlYWQuY3BwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjgKZGlmZiAtdSAtcjEuOCBodG1sX2hlYWQuY3BwCi0tLSBodG1sX2hlYWQuY3BwCTIwMDMv
MTEvMDMgMDY6MzI6MDQJMS44CisrKyBodG1sX2hlYWQuY3BwCTIwMDUvMDYvMTYgMjA6MDg6MjIK
QEAgLTMyOSwxMiArMzI5LDEyIEBACiBET01TdHJpbmcgSFRNTFNjcmlwdEVsZW1lbnQ6OnRleHQo
KSBjb25zdAogewogICAgIGlmKCFpbXBsKSByZXR1cm4gRE9NU3RyaW5nKCk7Ci0gICAgcmV0dXJu
ICgoRWxlbWVudEltcGwgKilpbXBsKS0+Z2V0QXR0cmlidXRlKEFUVFJfVEVYVCk7CisgICAgcmV0
dXJuICgoSFRNTFNjcmlwdEVsZW1lbnRJbXBsICopaW1wbCktPnRleHQoKTsKIH0KIAogdm9pZCBI
VE1MU2NyaXB0RWxlbWVudDo6c2V0VGV4dCggY29uc3QgRE9NU3RyaW5nICZ2YWx1ZSApCiB7Ci0g
ICAgaWYoaW1wbCkgKChFbGVtZW50SW1wbCAqKWltcGwpLT5zZXRBdHRyaWJ1dGUoQVRUUl9URVhU
LCB2YWx1ZSk7CisgICAgaWYoaW1wbCkgKChIVE1MU2NyaXB0RWxlbWVudEltcGwgKilpbXBsKS0+
c2V0VGV4dCh2YWx1ZSk7CiB9CiAKIERPTVN0cmluZyBIVE1MU2NyaXB0RWxlbWVudDo6aHRtbEZv
cigpIGNvbnN0CkluZGV4OiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2h0bWwvaHRtbF9oZWFkaW1wbC5jcHAs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDgKZGlmZiAtdSAtcjEuNDggaHRtbF9oZWFkaW1wbC5j
cHAKLS0tIGh0bWxfaGVhZGltcGwuY3BwCTIwMDUvMDUvMTEgMDU6NDk6MzQJMS40OAorKysgaHRt
bF9oZWFkaW1wbC5jcHAJMjAwNS8wNi8xNiAyMDowODoyMgpAQCAtNTEyLDcgKzUxMiw3IEBACiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6SFRNTFNjcmlwdEVs
ZW1lbnRJbXBsKERvY3VtZW50UHRyICpkb2MpCi0gICAgOiBIVE1MRWxlbWVudEltcGwoZG9jKSwg
bV9jYWNoZWRTY3JpcHQoMCksIG1fY3JlYXRlZEJ5UGFyc2VyKGZhbHNlKQorICAgIDogSFRNTEVs
ZW1lbnRJbXBsKGRvYyksIG1fY2FjaGVkU2NyaXB0KDApLCBtX2NyZWF0ZWRCeVBhcnNlcihmYWxz
ZSksIG1fZXZhbHVhdGVkKGZhbHNlKQogewogfQogCkBAIC01MzIsNiArNTMyLDE1IEBACiAgICAg
cmV0dXJuIGF0dHItPmlkKCkgPT0gQVRUUl9TUkM7CiB9CiAKK3ZvaWQgSFRNTFNjcmlwdEVsZW1l
bnRJbXBsOjpjaGlsZHJlbkNoYW5nZWQoKQoreworICAgIC8vIElmIGEgbm9kZSBpcyBpbnNlcnRl
ZCBhcyBhIGNoaWxkIG9mIHRoZSBzY3JpcHQgZWxlbWVudAorICAgIC8vIGFuZCB0aGUgc2NyaXB0
IGVsZW1lbnQgaGFzIGJlZW4gaW5zZXJ0ZWQgaW4gdGhlIGRvY3VtZW50CisgICAgLy8gd2UgZXZh
bHVhdGUgdGhlIHNjcmlwdC4KKyAgICBpZiAoKCFtX2NyZWF0ZWRCeVBhcnNlcikgJiYgaW5Eb2N1
bWVudCgpICYmIGNoaWxkTm9kZUNvdW50KCkgPiAwKQorICAgICAgICBldmFsdWF0ZVNjcmlwdChn
ZXREb2N1bWVudCgpLT5VUkwoKSwgdGV4dCgpKTsKK30KKwogdm9pZCBIVE1MU2NyaXB0RWxlbWVu
dEltcGw6Omluc2VydGVkSW50b0RvY3VtZW50KCkKIHsKICAgICBIVE1MRWxlbWVudEltcGw6Omlu
c2VydGVkSW50b0RvY3VtZW50KCk7CkBAIC01NDksMjEgKzU1OCwxMyBAQAogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgRE9NU3RyaW5nIHNjcmlwdFN0cmluZyA9ICIiOwotICAgIGZvciAo
Tm9kZUltcGwgKm4gPSBmaXJzdENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKQotICAg
ICAgICBpZiAobi0+aXNUZXh0Tm9kZSgpKSAKLSAgICAgICAgICAgIHNjcmlwdFN0cmluZyArPSBz
dGF0aWNfY2FzdDxUZXh0SW1wbCo+KG4pLT5kYXRhKCk7Ci0KLSAgICBEb2N1bWVudEltcGwgKmRv
YyA9IGdldERvY3VtZW50KCk7Ci0gICAgS0hUTUxQYXJ0ICpwYXJ0ID0gZG9jLT5wYXJ0KCk7Ci0g
ICAgaWYgKCFwYXJ0KQotICAgICAgICByZXR1cm47Ci0gICAgS0pTUHJveHkgKnByb3h5ID0gS0pT
UHJveHk6OnByb3h5KHBhcnQpOwotICAgIGlmICghcHJveHkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIHByb3h5LT5ldmFsdWF0ZShkb2MtPlVSTCgpLCAwLCBzY3JpcHRTdHJpbmcuc3RyaW5nKCks
IDApOwotICAgIERvY3VtZW50SW1wbDo6dXBkYXRlRG9jdW1lbnRzUmVuZGVyaW5nKCk7CisgICAg
RE9NU3RyaW5nIHNjcmlwdFN0cmluZyA9IHRleHQoKTsKKyAgICAKKyAgICAvLyBJZiB0aGVyZSdz
IGFuIGVtcHR5IHNjcmlwdCBub2RlLCB3ZSBzaG91bGRuJ3QgZXZhbHVhdGUgdGhlIHNjcmlwdAor
ICAgIC8vIGJlY2F1c2UgaWYgYSBzY3JpcHQgaXMgaW5zZXJ0ZWQgYWZ0ZXJ3YXJkcyAoYnkgc2V0
dGluZyB0ZXh0IG9yIGlubmVyVGV4dCkKKyAgICAvLyBpdCBzaG91bGQgYmUgZXZhbHVhdGVkLCBh
bmQgZXZhbHVhdGVTY3JpcHMgb25seSBldmFsdWF0ZXMgYSBzY3JpcHQgb25jZS4KKyAgICBpZiAo
IXNjcmlwdFN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgIGV2YWx1YXRlU2NyaXB0KGdldERvY3Vt
ZW50KCktPlVSTCgpLCBzY3JpcHRTdHJpbmcpOwogfQogCiB2b2lkIEhUTUxTY3JpcHRFbGVtZW50
SW1wbDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCkBAIC01ODIsMjcgKzU4Myw1NiBAQAogCiAgICAg
YXNzZXJ0KGNzID09IG1fY2FjaGVkU2NyaXB0KTsKIAorICAgIGV2YWx1YXRlU2NyaXB0KGNzLT51
cmwoKS5zdHJpbmcoKSwgY3MtPnNjcmlwdCgpKTsKKworICAgIGNzLT5kZXJlZih0aGlzKTsKKyAg
ICBtX2NhY2hlZFNjcmlwdCA9IDA7Cit9CisKK3ZvaWQgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjpl
dmFsdWF0ZVNjcmlwdChjb25zdCBRU3RyaW5nICZVUkwsIGNvbnN0IERPTVN0cmluZyAmc2NyaXB0
KQoreworICAgIGlmIChtX2V2YWx1YXRlZCkKKyAgICAgICAgcmV0dXJuOworICAgIAogICAgIEtI
VE1MUGFydCAqcGFydCA9IGdldERvY3VtZW50KCktPnBhcnQoKTsKICAgICBpZiAocGFydCkgewog
ICAgICAgICBLSlNQcm94eSAqcHJveHkgPSBLSlNQcm94eTo6cHJveHkocGFydCk7CiAgICAgICAg
IGlmIChwcm94eSkgewotICAgICAgICAgICAgcHJveHktPmV2YWx1YXRlKGNzLT51cmwoKS5zdHJp
bmcoKSwgMCwgY3MtPnNjcmlwdCgpLnN0cmluZygpLCAwKTsgCisgICAgICAgICAgICBtX2V2YWx1
YXRlZCA9IHRydWU7CisgICAgICAgICAgICBwcm94eS0+ZXZhbHVhdGUoVVJMLCAwLCBzY3JpcHQu
c3RyaW5nKCksIDApOwogICAgICAgICAgICAgRG9jdW1lbnRJbXBsOjp1cGRhdGVEb2N1bWVudHNS
ZW5kZXJpbmcoKTsKICAgICAgICAgfQogICAgIH0KLQotICAgIGNzLT5kZXJlZih0aGlzKTsKLSAg
ICBtX2NhY2hlZFNjcmlwdCA9IDA7CiB9CiAKIERPTVN0cmluZyBIVE1MU2NyaXB0RWxlbWVudElt
cGw6OnRleHQoKSBjb25zdAogewotICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoQVRUUl9URVhUKTsK
KyAgICBOb2RlSW1wbCAqbjsKKyAgICBET01TdHJpbmcgdmFsID0gIiI7CisgICAgCisgICAgZm9y
IChuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBp
ZiAobi0+aXNUZXh0Tm9kZSgpKQorICAgICAgICAgICAgdmFsICs9IHN0YXRpY19jYXN0PFRleHRJ
bXBsICo+KG4pLT5kYXRhKCk7CisgICAgfQorICAgIAorICAgIHJldHVybiB2YWw7CiB9CiAKIHZv
aWQgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjpzZXRUZXh0KGNvbnN0IERPTVN0cmluZyAmdmFsdWUp
CiB7Ci0gICAgc2V0QXR0cmlidXRlKEFUVFJfVEVYVCwgdmFsdWUpOworICAgIGludCBleGNlcHRp
b25jb2RlID0gMDsKKyAgICBpbnQgbnVtQ2hpbGRyZW4gPSBjaGlsZE5vZGVDb3VudCgpOworICAg
IAorICAgIGlmIChudW1DaGlsZHJlbiA9PSAxICYmIGZpcnN0Q2hpbGQoKS0+bm9kZVR5cGUoKSA9
PSBOb2RlOjpURVhUX05PREUpIHsKKyAgICAgICAgc3RhdGljX2Nhc3Q8RE9NOjpUZXh0SW1wbCAq
PihmaXJzdENoaWxkKCkpLT5zZXREYXRhKHZhbHVlLCBleGNlcHRpb25jb2RlKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICAKKyAgICBpZiAobnVtQ2hpbGRyZW4gPiAwKSB7CisgICAgICAg
IHJlbW92ZUNoaWxkcmVuKCk7CisgICAgfQorICAgIAorICAgIGFwcGVuZENoaWxkKGdldERvY3Vt
ZW50KCktPmNyZWF0ZVRleHROb2RlKHZhbHVlLmltcGxlbWVudGF0aW9uKCkpLCBleGNlcHRpb25j
b2RlKTsKIH0KIAogRE9NU3RyaW5nIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6aHRtbEZvcigpIGNv
bnN0CkluZGV4OiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xOQpkaWZmIC11IC1yMS4xOSBodG1sX2hlYWRpbXBsLmgKLS0tIGh0bWxf
aGVhZGltcGwuaAkyMDA1LzA1LzExIDA1OjQ5OjM0CTEuMTkKKysrIGh0bWxfaGVhZGltcGwuaAky
MDA1LzA2LzE2IDIwOjA4OjIyCkBAIC0xODksMTIgKzE4OSwxNSBAQAogICAgIHZpcnR1YWwgdm9p
ZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURv
Y3VtZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKGtodG1sOjpDYWNoZWRP
YmplY3QgKmZpbmlzaGVkT2JqKTsKLQorICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQo
KTsKKyAgICAKICAgICB2aXJ0dWFsIElkIGlkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlz
VVJMQXR0cmlidXRlKEF0dHJpYnV0ZUltcGwgKmF0dHIpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRD
cmVhdGVkQnlQYXJzZXIoYm9vbCBjcmVhdGVkQnlQYXJzZXIpIHsgbV9jcmVhdGVkQnlQYXJzZXIg
PSBjcmVhdGVkQnlQYXJzZXI7IH0KIAorICAgIHZvaWQgZXZhbHVhdGVTY3JpcHQoY29uc3QgUVN0
cmluZyAmLCBjb25zdCBET01TdHJpbmcgJik7CisKICAgICBET01TdHJpbmcgdGV4dCgpIGNvbnN0
OwogICAgIHZvaWQgc2V0VGV4dChjb25zdCBET01TdHJpbmcgJik7CiAKQEAgLTIxOSw2ICsyMjIs
NyBAQAogcHJpdmF0ZToKICAgICBraHRtbDo6Q2FjaGVkU2NyaXB0ICptX2NhY2hlZFNjcmlwdDsK
ICAgICBib29sIG1fY3JlYXRlZEJ5UGFyc2VyOworICAgIGJvb2wgbV9ldmFsdWF0ZWQ7CiB9Owog
CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCg==
</data>
<flag name="review"
          id="29"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2403</attachid>
            <date>2005-06-16 14:58:13 -0700</date>
            <delta_ts>2005-06-16 15:11:04 -0700</delta_ts>
            <desc>Better patch</desc>
            <filename>webcore-script-changes-3.diff</filename>
            <type>text/plain</type>
            <size>6442</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PyBmb28KSW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2Vi
Q29yZS9DaGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDI2NgpkaWZmIC11IC1yMS40
MjY2IENoYW5nZUxvZwotLS0gQ2hhbmdlTG9nCTIwMDUvMDYvMTYgMTk6NDI6MjAJMS40MjY2Cisr
KyBDaGFuZ2VMb2cJMjAwNS8wNi8xNiAyMTo1NzozNgpAQCAtMSwzICsxLDE1IEBACisyMDA1LTA2
LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisgICAgICAgIEZpeCBm
b3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTI2CisJ
CisJKiBraHRtbC9kb20vaHRtbF9oZWFkLmNwcDoKKwkqIGtodG1sL2h0bWwvaHRtbF9oZWFkaW1w
bC5jcHA6CisJKiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaDoKKwlBZGQgc3VwcG9ydCBmb3Ig
c2V0dGluZyBhbmQgZ2V0dGluZyB0aGUgdGV4dCBwcm9wZXJ0eS4gQWxzbywKKwltYWtlIGluc2Vy
dEJlZm9yZSBhbmQgYXBwZW5kQ2hpbGQgZXZhbHVhdGUgdGhlIHJlc3VsdGluZworCXNjcmlwdC4g
QWxzbywgb25seSBldmFsdWF0ZSBhIHNjcmlwdCBvbmNlIGlmIHRoZSBjaGlsZHJlbiBvZiB0aGUK
KwlzY3JpcHQgZWxlbWVudCBjaGFuZ2UuIFRoaXMgbWltaWNzIE1vemlsbGEgYW5kIFdpbklFIGJl
aGF2aW9yLgorCQogMjAwNS0wNi0xNCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIGFuIGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgUXVhbGlmaWVkTmFtZSBh
bmQgSFRNTE5hbWVzLiAgVGhlc2UgY2xhc3NlcyBhcmUgbm90IHVzZWQgYnkgYW55b25lIHlldC4K
SW5kZXg6IGtodG1sL2RvbS9odG1sX2hlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9XZWJDb3JlL2todG1sL2RvbS9odG1sX2hlYWQuY3BwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjgKZGlmZiAtdSAtcjEuOCBodG1sX2hlYWQuY3BwCi0tLSBodG1sX2hlYWQuY3BwCTIwMDMv
MTEvMDMgMDY6MzI6MDQJMS44CisrKyBodG1sX2hlYWQuY3BwCTIwMDUvMDYvMTYgMjE6NTc6MzYK
QEAgLTMyOSwxMiArMzI5LDEyIEBACiBET01TdHJpbmcgSFRNTFNjcmlwdEVsZW1lbnQ6OnRleHQo
KSBjb25zdAogewogICAgIGlmKCFpbXBsKSByZXR1cm4gRE9NU3RyaW5nKCk7Ci0gICAgcmV0dXJu
ICgoRWxlbWVudEltcGwgKilpbXBsKS0+Z2V0QXR0cmlidXRlKEFUVFJfVEVYVCk7CisgICAgcmV0
dXJuICgoSFRNTFNjcmlwdEVsZW1lbnRJbXBsICopaW1wbCktPnRleHQoKTsKIH0KIAogdm9pZCBI
VE1MU2NyaXB0RWxlbWVudDo6c2V0VGV4dCggY29uc3QgRE9NU3RyaW5nICZ2YWx1ZSApCiB7Ci0g
ICAgaWYoaW1wbCkgKChFbGVtZW50SW1wbCAqKWltcGwpLT5zZXRBdHRyaWJ1dGUoQVRUUl9URVhU
LCB2YWx1ZSk7CisgICAgaWYoaW1wbCkgKChIVE1MU2NyaXB0RWxlbWVudEltcGwgKilpbXBsKS0+
c2V0VGV4dCh2YWx1ZSk7CiB9CiAKIERPTVN0cmluZyBIVE1MU2NyaXB0RWxlbWVudDo6aHRtbEZv
cigpIGNvbnN0CkluZGV4OiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2h0bWwvaHRtbF9oZWFkaW1wbC5jcHAs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDgKZGlmZiAtdSAtcjEuNDggaHRtbF9oZWFkaW1wbC5j
cHAKLS0tIGh0bWxfaGVhZGltcGwuY3BwCTIwMDUvMDUvMTEgMDU6NDk6MzQJMS40OAorKysgaHRt
bF9oZWFkaW1wbC5jcHAJMjAwNS8wNi8xNiAyMTo1NzozNgpAQCAtNTEyLDcgKzUxMiw3IEBACiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6SFRNTFNjcmlwdEVs
ZW1lbnRJbXBsKERvY3VtZW50UHRyICpkb2MpCi0gICAgOiBIVE1MRWxlbWVudEltcGwoZG9jKSwg
bV9jYWNoZWRTY3JpcHQoMCksIG1fY3JlYXRlZEJ5UGFyc2VyKGZhbHNlKQorICAgIDogSFRNTEVs
ZW1lbnRJbXBsKGRvYyksIG1fY2FjaGVkU2NyaXB0KDApLCBtX2NyZWF0ZWRCeVBhcnNlcihmYWxz
ZSksIG1fZXZhbHVhdGVkKGZhbHNlKQogewogfQogCkBAIC01MzIsNiArNTMyLDE1IEBACiAgICAg
cmV0dXJuIGF0dHItPmlkKCkgPT0gQVRUUl9TUkM7CiB9CiAKK3ZvaWQgSFRNTFNjcmlwdEVsZW1l
bnRJbXBsOjpjaGlsZHJlbkNoYW5nZWQoKQoreworICAgIC8vIElmIGEgbm9kZSBpcyBpbnNlcnRl
ZCBhcyBhIGNoaWxkIG9mIHRoZSBzY3JpcHQgZWxlbWVudAorICAgIC8vIGFuZCB0aGUgc2NyaXB0
IGVsZW1lbnQgaGFzIGJlZW4gaW5zZXJ0ZWQgaW4gdGhlIGRvY3VtZW50CisgICAgLy8gd2UgZXZh
bHVhdGUgdGhlIHNjcmlwdC4KKyAgICBpZiAoKCFtX2NyZWF0ZWRCeVBhcnNlcikgJiYgaW5Eb2N1
bWVudCgpICYmIGZpcnN0Q2hpbGQoKSkKKyAgICAgICAgZXZhbHVhdGVTY3JpcHQoZ2V0RG9jdW1l
bnQoKS0+VVJMKCksIHRleHQoKSk7Cit9CisKIHZvaWQgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjpp
bnNlcnRlZEludG9Eb2N1bWVudCgpCiB7CiAgICAgSFRNTEVsZW1lbnRJbXBsOjppbnNlcnRlZElu
dG9Eb2N1bWVudCgpOwpAQCAtNTQ5LDIxICs1NTgsMTMgQEAKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIERPTVN0cmluZyBzY3JpcHRTdHJpbmcgPSAiIjsKLSAgICBmb3IgKE5vZGVJbXBs
ICpuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkKLSAgICAgICAgaWYg
KG4tPmlzVGV4dE5vZGUoKSkgCi0gICAgICAgICAgICBzY3JpcHRTdHJpbmcgKz0gc3RhdGljX2Nh
c3Q8VGV4dEltcGwqPihuKS0+ZGF0YSgpOwotCi0gICAgRG9jdW1lbnRJbXBsICpkb2MgPSBnZXRE
b2N1bWVudCgpOwotICAgIEtIVE1MUGFydCAqcGFydCA9IGRvYy0+cGFydCgpOwotICAgIGlmICgh
cGFydCkKLSAgICAgICAgcmV0dXJuOwotICAgIEtKU1Byb3h5ICpwcm94eSA9IEtKU1Byb3h5Ojpw
cm94eShwYXJ0KTsKLSAgICBpZiAoIXByb3h5KQotICAgICAgICByZXR1cm47Ci0KLSAgICBwcm94
eS0+ZXZhbHVhdGUoZG9jLT5VUkwoKSwgMCwgc2NyaXB0U3RyaW5nLnN0cmluZygpLCAwKTsKLSAg
ICBEb2N1bWVudEltcGw6OnVwZGF0ZURvY3VtZW50c1JlbmRlcmluZygpOworICAgIERPTVN0cmlu
ZyBzY3JpcHRTdHJpbmcgPSB0ZXh0KCk7CisgICAgCisgICAgLy8gSWYgdGhlcmUncyBhbiBlbXB0
eSBzY3JpcHQgbm9kZSwgd2Ugc2hvdWxkbid0IGV2YWx1YXRlIHRoZSBzY3JpcHQKKyAgICAvLyBi
ZWNhdXNlIGlmIGEgc2NyaXB0IGlzIGluc2VydGVkIGFmdGVyd2FyZHMgKGJ5IHNldHRpbmcgdGV4
dCBvciBpbm5lclRleHQpCisgICAgLy8gaXQgc2hvdWxkIGJlIGV2YWx1YXRlZCwgYW5kIGV2YWx1
YXRlU2NyaXBzIG9ubHkgZXZhbHVhdGVzIGEgc2NyaXB0IG9uY2UuCisgICAgaWYgKCFzY3JpcHRT
dHJpbmcuaXNFbXB0eSgpKQorICAgICAgICBldmFsdWF0ZVNjcmlwdChnZXREb2N1bWVudCgpLT5V
UkwoKSwgc2NyaXB0U3RyaW5nKTsKIH0KIAogdm9pZCBIVE1MU2NyaXB0RWxlbWVudEltcGw6OnJl
bW92ZWRGcm9tRG9jdW1lbnQoKQpAQCAtNTgyLDI3ICs1ODMsNTUgQEAKIAogICAgIGFzc2VydChj
cyA9PSBtX2NhY2hlZFNjcmlwdCk7CiAKKyAgICBldmFsdWF0ZVNjcmlwdChjcy0+dXJsKCkuc3Ry
aW5nKCksIGNzLT5zY3JpcHQoKSk7CisKKyAgICBjcy0+ZGVyZWYodGhpcyk7CisgICAgbV9jYWNo
ZWRTY3JpcHQgPSAwOworfQorCit2b2lkIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6ZXZhbHVhdGVT
Y3JpcHQoY29uc3QgUVN0cmluZyAmVVJMLCBjb25zdCBET01TdHJpbmcgJnNjcmlwdCkKK3sKKyAg
ICBpZiAobV9ldmFsdWF0ZWQpCisgICAgICAgIHJldHVybjsKKyAgICAKICAgICBLSFRNTFBhcnQg
KnBhcnQgPSBnZXREb2N1bWVudCgpLT5wYXJ0KCk7CiAgICAgaWYgKHBhcnQpIHsKICAgICAgICAg
S0pTUHJveHkgKnByb3h5ID0gS0pTUHJveHk6OnByb3h5KHBhcnQpOwogICAgICAgICBpZiAocHJv
eHkpIHsKLSAgICAgICAgICAgIHByb3h5LT5ldmFsdWF0ZShjcy0+dXJsKCkuc3RyaW5nKCksIDAs
IGNzLT5zY3JpcHQoKS5zdHJpbmcoKSwgMCk7IAorICAgICAgICAgICAgbV9ldmFsdWF0ZWQgPSB0
cnVlOworICAgICAgICAgICAgcHJveHktPmV2YWx1YXRlKFVSTCwgMCwgc2NyaXB0LnN0cmluZygp
LCAwKTsKICAgICAgICAgICAgIERvY3VtZW50SW1wbDo6dXBkYXRlRG9jdW1lbnRzUmVuZGVyaW5n
KCk7CiAgICAgICAgIH0KICAgICB9Ci0KLSAgICBjcy0+ZGVyZWYodGhpcyk7Ci0gICAgbV9jYWNo
ZWRTY3JpcHQgPSAwOwogfQogCiBET01TdHJpbmcgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjp0ZXh0
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZ2V0QXR0cmlidXRlKEFUVFJfVEVYVCk7CisgICAgRE9N
U3RyaW5nIHZhbCA9ICIiOworICAgIAorICAgIGZvciAoTm9kZUltcGwgKm4gPSBmaXJzdENoaWxk
KCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmIChuLT5pc1RleHROb2Rl
KCkpCisgICAgICAgICAgICB2YWwgKz0gc3RhdGljX2Nhc3Q8VGV4dEltcGwgKj4obiktPmRhdGEo
KTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHZhbDsKIH0KIAogdm9pZCBIVE1MU2NyaXB0RWxl
bWVudEltcGw6OnNldFRleHQoY29uc3QgRE9NU3RyaW5nICZ2YWx1ZSkKIHsKLSAgICBzZXRBdHRy
aWJ1dGUoQVRUUl9URVhULCB2YWx1ZSk7CisgICAgaW50IGV4Y2VwdGlvbmNvZGUgPSAwOworICAg
IGludCBudW1DaGlsZHJlbiA9IGNoaWxkTm9kZUNvdW50KCk7CisgICAgCisgICAgaWYgKG51bUNo
aWxkcmVuID09IDEgJiYgZmlyc3RDaGlsZCgpLT5ub2RlVHlwZSgpLT5pc1RleHROb2RlKCkpIHsK
KyAgICAgICAgc3RhdGljX2Nhc3Q8RE9NOjpUZXh0SW1wbCAqPihmaXJzdENoaWxkKCkpLT5zZXRE
YXRhKHZhbHVlLCBleGNlcHRpb25jb2RlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAK
KyAgICBpZiAobnVtQ2hpbGRyZW4gPiAwKSB7CisgICAgICAgIHJlbW92ZUNoaWxkcmVuKCk7Cisg
ICAgfQorICAgIAorICAgIGFwcGVuZENoaWxkKGdldERvY3VtZW50KCktPmNyZWF0ZVRleHROb2Rl
KHZhbHVlLmltcGxlbWVudGF0aW9uKCkpLCBleGNlcHRpb25jb2RlKTsKIH0KIAogRE9NU3RyaW5n
IEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6aHRtbEZvcigpIGNvbnN0CkluZGV4OiBraHRtbC9odG1s
L2h0bWxfaGVhZGltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9r
aHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOQpkaWZm
IC11IC1yMS4xOSBodG1sX2hlYWRpbXBsLmgKLS0tIGh0bWxfaGVhZGltcGwuaAkyMDA1LzA1LzEx
IDA1OjQ5OjM0CTEuMTkKKysrIGh0bWxfaGVhZGltcGwuaAkyMDA1LzA2LzE2IDIxOjU3OjM2CkBA
IC0xODksMTIgKzE4OSwxNSBAQAogICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVu
dCgpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgdmlydHVh
bCB2b2lkIG5vdGlmeUZpbmlzaGVkKGtodG1sOjpDYWNoZWRPYmplY3QgKmZpbmlzaGVkT2JqKTsK
LQorICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoKTsKKyAgICAKICAgICB2aXJ0dWFs
IElkIGlkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRlKEF0dHJpYnV0
ZUltcGwgKmF0dHIpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRDcmVhdGVkQnlQYXJzZXIoYm9vbCBj
cmVhdGVkQnlQYXJzZXIpIHsgbV9jcmVhdGVkQnlQYXJzZXIgPSBjcmVhdGVkQnlQYXJzZXI7IH0K
IAorICAgIHZvaWQgZXZhbHVhdGVTY3JpcHQoY29uc3QgUVN0cmluZyAmLCBjb25zdCBET01TdHJp
bmcgJik7CisKICAgICBET01TdHJpbmcgdGV4dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0VGV4dChj
b25zdCBET01TdHJpbmcgJik7CiAKQEAgLTIxOSw2ICsyMjIsNyBAQAogcHJpdmF0ZToKICAgICBr
aHRtbDo6Q2FjaGVkU2NyaXB0ICptX2NhY2hlZFNjcmlwdDsKICAgICBib29sIG1fY3JlYXRlZEJ5
UGFyc2VyOworICAgIGJvb2wgbV9ldmFsdWF0ZWQ7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Cg==
</data>
<flag name="review"
          id="30"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2404</attachid>
            <date>2005-06-16 15:05:21 -0700</date>
            <delta_ts>2005-06-17 09:59:59 -0700</delta_ts>
            <desc>Compilable patch</desc>
            <filename>webcore-script-changes-3.diff</filename>
            <type>text/plain</type>
            <size>6430</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PyBmb28KSW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2Vi
Q29yZS9DaGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDI2NgpkaWZmIC11IC1yMS40
MjY2IENoYW5nZUxvZwotLS0gQ2hhbmdlTG9nCTIwMDUvMDYvMTYgMTk6NDI6MjAJMS40MjY2Cisr
KyBDaGFuZ2VMb2cJMjAwNS8wNi8xNiAyMTo1NzozNgpAQCAtMSwzICsxLDE1IEBACisyMDA1LTA2
LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisgICAgICAgIEZpeCBm
b3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTI2CisJ
CisJKiBraHRtbC9kb20vaHRtbF9oZWFkLmNwcDoKKwkqIGtodG1sL2h0bWwvaHRtbF9oZWFkaW1w
bC5jcHA6CisJKiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaDoKKwlBZGQgc3VwcG9ydCBmb3Ig
c2V0dGluZyBhbmQgZ2V0dGluZyB0aGUgdGV4dCBwcm9wZXJ0eS4gQWxzbywKKwltYWtlIGluc2Vy
dEJlZm9yZSBhbmQgYXBwZW5kQ2hpbGQgZXZhbHVhdGUgdGhlIHJlc3VsdGluZworCXNjcmlwdC4g
QWxzbywgb25seSBldmFsdWF0ZSBhIHNjcmlwdCBvbmNlIGlmIHRoZSBjaGlsZHJlbiBvZiB0aGUK
KwlzY3JpcHQgZWxlbWVudCBjaGFuZ2UuIFRoaXMgbWltaWNzIE1vemlsbGEgYW5kIFdpbklFIGJl
aGF2aW9yLgorCQogMjAwNS0wNi0xNCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIGFuIGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgUXVhbGlmaWVkTmFtZSBh
bmQgSFRNTE5hbWVzLiAgVGhlc2UgY2xhc3NlcyBhcmUgbm90IHVzZWQgYnkgYW55b25lIHlldC4K
SW5kZXg6IGtodG1sL2RvbS9odG1sX2hlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9XZWJDb3JlL2todG1sL2RvbS9odG1sX2hlYWQuY3BwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjgKZGlmZiAtdSAtcjEuOCBodG1sX2hlYWQuY3BwCi0tLSBodG1sX2hlYWQuY3BwCTIwMDMv
MTEvMDMgMDY6MzI6MDQJMS44CisrKyBodG1sX2hlYWQuY3BwCTIwMDUvMDYvMTYgMjE6NTc6MzYK
QEAgLTMyOSwxMiArMzI5LDEyIEBACiBET01TdHJpbmcgSFRNTFNjcmlwdEVsZW1lbnQ6OnRleHQo
KSBjb25zdAogewogICAgIGlmKCFpbXBsKSByZXR1cm4gRE9NU3RyaW5nKCk7Ci0gICAgcmV0dXJu
ICgoRWxlbWVudEltcGwgKilpbXBsKS0+Z2V0QXR0cmlidXRlKEFUVFJfVEVYVCk7CisgICAgcmV0
dXJuICgoSFRNTFNjcmlwdEVsZW1lbnRJbXBsICopaW1wbCktPnRleHQoKTsKIH0KIAogdm9pZCBI
VE1MU2NyaXB0RWxlbWVudDo6c2V0VGV4dCggY29uc3QgRE9NU3RyaW5nICZ2YWx1ZSApCiB7Ci0g
ICAgaWYoaW1wbCkgKChFbGVtZW50SW1wbCAqKWltcGwpLT5zZXRBdHRyaWJ1dGUoQVRUUl9URVhU
LCB2YWx1ZSk7CisgICAgaWYoaW1wbCkgKChIVE1MU2NyaXB0RWxlbWVudEltcGwgKilpbXBsKS0+
c2V0VGV4dCh2YWx1ZSk7CiB9CiAKIERPTVN0cmluZyBIVE1MU2NyaXB0RWxlbWVudDo6aHRtbEZv
cigpIGNvbnN0CkluZGV4OiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2h0bWwvaHRtbF9oZWFkaW1wbC5jcHAs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDgKZGlmZiAtdSAtcjEuNDggaHRtbF9oZWFkaW1wbC5j
cHAKLS0tIGh0bWxfaGVhZGltcGwuY3BwCTIwMDUvMDUvMTEgMDU6NDk6MzQJMS40OAorKysgaHRt
bF9oZWFkaW1wbC5jcHAJMjAwNS8wNi8xNiAyMTo1NzozNgpAQCAtNTEyLDcgKzUxMiw3IEBACiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6SFRNTFNjcmlwdEVs
ZW1lbnRJbXBsKERvY3VtZW50UHRyICpkb2MpCi0gICAgOiBIVE1MRWxlbWVudEltcGwoZG9jKSwg
bV9jYWNoZWRTY3JpcHQoMCksIG1fY3JlYXRlZEJ5UGFyc2VyKGZhbHNlKQorICAgIDogSFRNTEVs
ZW1lbnRJbXBsKGRvYyksIG1fY2FjaGVkU2NyaXB0KDApLCBtX2NyZWF0ZWRCeVBhcnNlcihmYWxz
ZSksIG1fZXZhbHVhdGVkKGZhbHNlKQogewogfQogCkBAIC01MzIsNiArNTMyLDE1IEBACiAgICAg
cmV0dXJuIGF0dHItPmlkKCkgPT0gQVRUUl9TUkM7CiB9CiAKK3ZvaWQgSFRNTFNjcmlwdEVsZW1l
bnRJbXBsOjpjaGlsZHJlbkNoYW5nZWQoKQoreworICAgIC8vIElmIGEgbm9kZSBpcyBpbnNlcnRl
ZCBhcyBhIGNoaWxkIG9mIHRoZSBzY3JpcHQgZWxlbWVudAorICAgIC8vIGFuZCB0aGUgc2NyaXB0
IGVsZW1lbnQgaGFzIGJlZW4gaW5zZXJ0ZWQgaW4gdGhlIGRvY3VtZW50CisgICAgLy8gd2UgZXZh
bHVhdGUgdGhlIHNjcmlwdC4KKyAgICBpZiAoKCFtX2NyZWF0ZWRCeVBhcnNlcikgJiYgaW5Eb2N1
bWVudCgpICYmIGZpcnN0Q2hpbGQoKSkKKyAgICAgICAgZXZhbHVhdGVTY3JpcHQoZ2V0RG9jdW1l
bnQoKS0+VVJMKCksIHRleHQoKSk7Cit9CisKIHZvaWQgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjpp
bnNlcnRlZEludG9Eb2N1bWVudCgpCiB7CiAgICAgSFRNTEVsZW1lbnRJbXBsOjppbnNlcnRlZElu
dG9Eb2N1bWVudCgpOwpAQCAtNTQ5LDIxICs1NTgsMTMgQEAKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIERPTVN0cmluZyBzY3JpcHRTdHJpbmcgPSAiIjsKLSAgICBmb3IgKE5vZGVJbXBs
ICpuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkKLSAgICAgICAgaWYg
KG4tPmlzVGV4dE5vZGUoKSkgCi0gICAgICAgICAgICBzY3JpcHRTdHJpbmcgKz0gc3RhdGljX2Nh
c3Q8VGV4dEltcGwqPihuKS0+ZGF0YSgpOwotCi0gICAgRG9jdW1lbnRJbXBsICpkb2MgPSBnZXRE
b2N1bWVudCgpOwotICAgIEtIVE1MUGFydCAqcGFydCA9IGRvYy0+cGFydCgpOwotICAgIGlmICgh
cGFydCkKLSAgICAgICAgcmV0dXJuOwotICAgIEtKU1Byb3h5ICpwcm94eSA9IEtKU1Byb3h5Ojpw
cm94eShwYXJ0KTsKLSAgICBpZiAoIXByb3h5KQotICAgICAgICByZXR1cm47Ci0KLSAgICBwcm94
eS0+ZXZhbHVhdGUoZG9jLT5VUkwoKSwgMCwgc2NyaXB0U3RyaW5nLnN0cmluZygpLCAwKTsKLSAg
ICBEb2N1bWVudEltcGw6OnVwZGF0ZURvY3VtZW50c1JlbmRlcmluZygpOworICAgIERPTVN0cmlu
ZyBzY3JpcHRTdHJpbmcgPSB0ZXh0KCk7CisgICAgCisgICAgLy8gSWYgdGhlcmUncyBhbiBlbXB0
eSBzY3JpcHQgbm9kZSwgd2Ugc2hvdWxkbid0IGV2YWx1YXRlIHRoZSBzY3JpcHQKKyAgICAvLyBi
ZWNhdXNlIGlmIGEgc2NyaXB0IGlzIGluc2VydGVkIGFmdGVyd2FyZHMgKGJ5IHNldHRpbmcgdGV4
dCBvciBpbm5lclRleHQpCisgICAgLy8gaXQgc2hvdWxkIGJlIGV2YWx1YXRlZCwgYW5kIGV2YWx1
YXRlU2NyaXBzIG9ubHkgZXZhbHVhdGVzIGEgc2NyaXB0IG9uY2UuCisgICAgaWYgKCFzY3JpcHRT
dHJpbmcuaXNFbXB0eSgpKQorICAgICAgICBldmFsdWF0ZVNjcmlwdChnZXREb2N1bWVudCgpLT5V
UkwoKSwgc2NyaXB0U3RyaW5nKTsKIH0KIAogdm9pZCBIVE1MU2NyaXB0RWxlbWVudEltcGw6OnJl
bW92ZWRGcm9tRG9jdW1lbnQoKQpAQCAtNTgyLDI3ICs1ODMsNTUgQEAKIAogICAgIGFzc2VydChj
cyA9PSBtX2NhY2hlZFNjcmlwdCk7CiAKKyAgICBldmFsdWF0ZVNjcmlwdChjcy0+dXJsKCkuc3Ry
aW5nKCksIGNzLT5zY3JpcHQoKSk7CisKKyAgICBjcy0+ZGVyZWYodGhpcyk7CisgICAgbV9jYWNo
ZWRTY3JpcHQgPSAwOworfQorCit2b2lkIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6ZXZhbHVhdGVT
Y3JpcHQoY29uc3QgUVN0cmluZyAmVVJMLCBjb25zdCBET01TdHJpbmcgJnNjcmlwdCkKK3sKKyAg
ICBpZiAobV9ldmFsdWF0ZWQpCisgICAgICAgIHJldHVybjsKKyAgICAKICAgICBLSFRNTFBhcnQg
KnBhcnQgPSBnZXREb2N1bWVudCgpLT5wYXJ0KCk7CiAgICAgaWYgKHBhcnQpIHsKICAgICAgICAg
S0pTUHJveHkgKnByb3h5ID0gS0pTUHJveHk6OnByb3h5KHBhcnQpOwogICAgICAgICBpZiAocHJv
eHkpIHsKLSAgICAgICAgICAgIHByb3h5LT5ldmFsdWF0ZShjcy0+dXJsKCkuc3RyaW5nKCksIDAs
IGNzLT5zY3JpcHQoKS5zdHJpbmcoKSwgMCk7IAorICAgICAgICAgICAgbV9ldmFsdWF0ZWQgPSB0
cnVlOworICAgICAgICAgICAgcHJveHktPmV2YWx1YXRlKFVSTCwgMCwgc2NyaXB0LnN0cmluZygp
LCAwKTsKICAgICAgICAgICAgIERvY3VtZW50SW1wbDo6dXBkYXRlRG9jdW1lbnRzUmVuZGVyaW5n
KCk7CiAgICAgICAgIH0KICAgICB9Ci0KLSAgICBjcy0+ZGVyZWYodGhpcyk7Ci0gICAgbV9jYWNo
ZWRTY3JpcHQgPSAwOwogfQogCiBET01TdHJpbmcgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjp0ZXh0
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZ2V0QXR0cmlidXRlKEFUVFJfVEVYVCk7CisgICAgRE9N
U3RyaW5nIHZhbCA9ICIiOworICAgIAorICAgIGZvciAoTm9kZUltcGwgKm4gPSBmaXJzdENoaWxk
KCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmIChuLT5pc1RleHROb2Rl
KCkpCisgICAgICAgICAgICB2YWwgKz0gc3RhdGljX2Nhc3Q8VGV4dEltcGwgKj4obiktPmRhdGEo
KTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIHZhbDsKIH0KIAogdm9pZCBIVE1MU2NyaXB0RWxl
bWVudEltcGw6OnNldFRleHQoY29uc3QgRE9NU3RyaW5nICZ2YWx1ZSkKIHsKLSAgICBzZXRBdHRy
aWJ1dGUoQVRUUl9URVhULCB2YWx1ZSk7CisgICAgaW50IGV4Y2VwdGlvbmNvZGUgPSAwOworICAg
IGludCBudW1DaGlsZHJlbiA9IGNoaWxkTm9kZUNvdW50KCk7CisgICAgCisgICAgaWYgKG51bUNo
aWxkcmVuID09IDEgJiYgZmlyc3RDaGlsZCgpLT5pc1RleHROb2RlKCkpIHsKKyAgICAgICAgc3Rh
dGljX2Nhc3Q8RE9NOjpUZXh0SW1wbCAqPihmaXJzdENoaWxkKCkpLT5zZXREYXRhKHZhbHVlLCBl
eGNlcHRpb25jb2RlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBpZiAobnVt
Q2hpbGRyZW4gPiAwKSB7CisgICAgICAgIHJlbW92ZUNoaWxkcmVuKCk7CisgICAgfQorICAgIAor
ICAgIGFwcGVuZENoaWxkKGdldERvY3VtZW50KCktPmNyZWF0ZVRleHROb2RlKHZhbHVlLmltcGxl
bWVudGF0aW9uKCkpLCBleGNlcHRpb25jb2RlKTsKIH0KIAogRE9NU3RyaW5nIEhUTUxTY3JpcHRF
bGVtZW50SW1wbDo6aHRtbEZvcigpIGNvbnN0CkluZGV4OiBraHRtbC9odG1sL2h0bWxfaGVhZGlt
cGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9odG1sL2h0
bWxfaGVhZGltcGwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOQpkaWZmIC11IC1yMS4xOSBo
dG1sX2hlYWRpbXBsLmgKLS0tIGh0bWxfaGVhZGltcGwuaAkyMDA1LzA1LzExIDA1OjQ5OjM0CTEu
MTkKKysrIGh0bWxfaGVhZGltcGwuaAkyMDA1LzA2LzE2IDIxOjU3OjM2CkBAIC0xODksMTIgKzE4
OSwxNSBAQAogICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
eUZpbmlzaGVkKGtodG1sOjpDYWNoZWRPYmplY3QgKmZpbmlzaGVkT2JqKTsKLQorICAgIHZpcnR1
YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoKTsKKyAgICAKICAgICB2aXJ0dWFsIElkIGlkKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRlKEF0dHJpYnV0ZUltcGwgKmF0dHIp
IGNvbnN0OwogCiAgICAgdm9pZCBzZXRDcmVhdGVkQnlQYXJzZXIoYm9vbCBjcmVhdGVkQnlQYXJz
ZXIpIHsgbV9jcmVhdGVkQnlQYXJzZXIgPSBjcmVhdGVkQnlQYXJzZXI7IH0KIAorICAgIHZvaWQg
ZXZhbHVhdGVTY3JpcHQoY29uc3QgUVN0cmluZyAmLCBjb25zdCBET01TdHJpbmcgJik7CisKICAg
ICBET01TdHJpbmcgdGV4dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0VGV4dChjb25zdCBET01TdHJp
bmcgJik7CiAKQEAgLTIxOSw2ICsyMjIsNyBAQAogcHJpdmF0ZToKICAgICBraHRtbDo6Q2FjaGVk
U2NyaXB0ICptX2NhY2hlZFNjcmlwdDsKICAgICBib29sIG1fY3JlYXRlZEJ5UGFyc2VyOworICAg
IGJvb2wgbV9ldmFsdWF0ZWQ7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCg==
</data>
<flag name="review"
          id="33"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2405</attachid>
            <date>2005-06-16 15:13:08 -0700</date>
            <delta_ts>2005-06-17 00:26:39 -0700</delta_ts>
            <desc>Support setting title.text</desc>
            <filename>webcore-script-changes-4.diff</filename>
            <type>text/plain</type>
            <size>7648</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PyBmb28KSW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2Vi
Q29yZS9DaGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDI2NgpkaWZmIC11IC1yMS40
MjY2IENoYW5nZUxvZwotLS0gQ2hhbmdlTG9nCTIwMDUvMDYvMTYgMTk6NDI6MjAJMS40MjY2Cisr
KyBDaGFuZ2VMb2cJMjAwNS8wNi8xNiAyMjoxMTo1NApAQCAtMSwzICsxLDE2IEBACisyMDA1LTA2
LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisgICAgICAgIEZpeCBm
b3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTI2CisJ
CisJKiBraHRtbC9kb20vaHRtbF9oZWFkLmNwcDoKKwkqIGtodG1sL2h0bWwvaHRtbF9oZWFkaW1w
bC5jcHA6CisJKiBraHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaDoKKwlBZGQgc3VwcG9ydCBmb3Ig
c2V0dGluZyBhbmQgZ2V0dGluZyB0aGUgdGV4dCBwcm9wZXJ0eSBpZgorCXNjcmlwdCBhbmQgdGl0
bGUgZWxlbWVudHMuCisJQWxzbywgbWFrZSBpbnNlcnRCZWZvcmUgYW5kIGFwcGVuZENoaWxkIGV2
YWx1YXRlIHRoZSByZXN1bHRpbmcKKwlzY3JpcHQuIEFsc28sIG9ubHkgZXZhbHVhdGUgYSBzY3Jp
cHQgb25jZSBpZiB0aGUgY2hpbGRyZW4gb2YgdGhlCisJc2NyaXB0IGVsZW1lbnQgY2hhbmdlLiBU
aGlzIG1pbWljcyBNb3ppbGxhIGFuZCBXaW5JRSBiZWhhdmlvci4KKwkKIDIwMDUtMDYtMTQgIERh
dmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBpbml0aWFsIGlt
cGxlbWVudGF0aW9uIG9mIFF1YWxpZmllZE5hbWUgYW5kIEhUTUxOYW1lcy4gIFRoZXNlIGNsYXNz
ZXMgYXJlIG5vdCB1c2VkIGJ5IGFueW9uZSB5ZXQuCkluZGV4OiBraHRtbC9kb20vaHRtbF9oZWFk
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9kb20vaHRt
bF9oZWFkLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44CmRpZmYgLXUgLXIxLjggaHRtbF9o
ZWFkLmNwcAotLS0gaHRtbF9oZWFkLmNwcAkyMDAzLzExLzAzIDA2OjMyOjA0CTEuOAorKysgaHRt
bF9oZWFkLmNwcAkyMDA1LzA2LzE2IDIyOjExOjU0CkBAIC0zMjksMTIgKzMyOSwxMiBAQAogRE9N
U3RyaW5nIEhUTUxTY3JpcHRFbGVtZW50Ojp0ZXh0KCkgY29uc3QKIHsKICAgICBpZighaW1wbCkg
cmV0dXJuIERPTVN0cmluZygpOwotICAgIHJldHVybiAoKEVsZW1lbnRJbXBsICopaW1wbCktPmdl
dEF0dHJpYnV0ZShBVFRSX1RFWFQpOworICAgIHJldHVybiAoKEhUTUxTY3JpcHRFbGVtZW50SW1w
bCAqKWltcGwpLT50ZXh0KCk7CiB9CiAKIHZvaWQgSFRNTFNjcmlwdEVsZW1lbnQ6OnNldFRleHQo
IGNvbnN0IERPTVN0cmluZyAmdmFsdWUgKQogewotICAgIGlmKGltcGwpICgoRWxlbWVudEltcGwg
KilpbXBsKS0+c2V0QXR0cmlidXRlKEFUVFJfVEVYVCwgdmFsdWUpOworICAgIGlmKGltcGwpICgo
SFRNTFNjcmlwdEVsZW1lbnRJbXBsICopaW1wbCktPnNldFRleHQodmFsdWUpOwogfQogCiBET01T
dHJpbmcgSFRNTFNjcmlwdEVsZW1lbnQ6Omh0bWxGb3IoKSBjb25zdApJbmRleDoga2h0bWwvaHRt
bC9odG1sX2hlYWRpbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29y
ZS9raHRtbC9odG1sL2h0bWxfaGVhZGltcGwuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ4
CmRpZmYgLXUgLXIxLjQ4IGh0bWxfaGVhZGltcGwuY3BwCi0tLSBodG1sX2hlYWRpbXBsLmNwcAky
MDA1LzA1LzExIDA1OjQ5OjM0CTEuNDgKKysrIGh0bWxfaGVhZGltcGwuY3BwCTIwMDUvMDYvMTYg
MjI6MTE6NTQKQEAgLTUxMiw3ICs1MTIsNyBAQAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBIVE1M
U2NyaXB0RWxlbWVudEltcGw6OkhUTUxTY3JpcHRFbGVtZW50SW1wbChEb2N1bWVudFB0ciAqZG9j
KQotICAgIDogSFRNTEVsZW1lbnRJbXBsKGRvYyksIG1fY2FjaGVkU2NyaXB0KDApLCBtX2NyZWF0
ZWRCeVBhcnNlcihmYWxzZSkKKyAgICA6IEhUTUxFbGVtZW50SW1wbChkb2MpLCBtX2NhY2hlZFNj
cmlwdCgwKSwgbV9jcmVhdGVkQnlQYXJzZXIoZmFsc2UpLCBtX2V2YWx1YXRlZChmYWxzZSkKIHsK
IH0KIApAQCAtNTMyLDYgKzUzMiwxNSBAQAogICAgIHJldHVybiBhdHRyLT5pZCgpID09IEFUVFJf
U1JDOwogfQogCit2b2lkIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6Y2hpbGRyZW5DaGFuZ2VkKCkK
K3sKKyAgICAvLyBJZiBhIG5vZGUgaXMgaW5zZXJ0ZWQgYXMgYSBjaGlsZCBvZiB0aGUgc2NyaXB0
IGVsZW1lbnQKKyAgICAvLyBhbmQgdGhlIHNjcmlwdCBlbGVtZW50IGhhcyBiZWVuIGluc2VydGVk
IGluIHRoZSBkb2N1bWVudAorICAgIC8vIHdlIGV2YWx1YXRlIHRoZSBzY3JpcHQuCisgICAgaWYg
KCghbV9jcmVhdGVkQnlQYXJzZXIpICYmIGluRG9jdW1lbnQoKSAmJiBmaXJzdENoaWxkKCkpCisg
ICAgICAgIGV2YWx1YXRlU2NyaXB0KGdldERvY3VtZW50KCktPlVSTCgpLCB0ZXh0KCkpOworfQor
CiB2b2lkIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogewog
ICAgIEhUTUxFbGVtZW50SW1wbDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKQEAgLTU0OSwyMSAr
NTU4LDEzIEBACiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBET01TdHJpbmcgc2NyaXB0
U3RyaW5nID0gIiI7Ci0gICAgZm9yIChOb2RlSW1wbCAqbiA9IGZpcnN0Q2hpbGQoKTsgbjsgbiA9
IG4tPm5leHRTaWJsaW5nKCkpCi0gICAgICAgIGlmIChuLT5pc1RleHROb2RlKCkpIAotICAgICAg
ICAgICAgc2NyaXB0U3RyaW5nICs9IHN0YXRpY19jYXN0PFRleHRJbXBsKj4obiktPmRhdGEoKTsK
LQotICAgIERvY3VtZW50SW1wbCAqZG9jID0gZ2V0RG9jdW1lbnQoKTsKLSAgICBLSFRNTFBhcnQg
KnBhcnQgPSBkb2MtPnBhcnQoKTsKLSAgICBpZiAoIXBhcnQpCi0gICAgICAgIHJldHVybjsKLSAg
ICBLSlNQcm94eSAqcHJveHkgPSBLSlNQcm94eTo6cHJveHkocGFydCk7Ci0gICAgaWYgKCFwcm94
eSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJveHktPmV2YWx1YXRlKGRvYy0+VVJMKCksIDAs
IHNjcmlwdFN0cmluZy5zdHJpbmcoKSwgMCk7Ci0gICAgRG9jdW1lbnRJbXBsOjp1cGRhdGVEb2N1
bWVudHNSZW5kZXJpbmcoKTsKKyAgICBET01TdHJpbmcgc2NyaXB0U3RyaW5nID0gdGV4dCgpOwor
ICAgIAorICAgIC8vIElmIHRoZXJlJ3MgYW4gZW1wdHkgc2NyaXB0IG5vZGUsIHdlIHNob3VsZG4n
dCBldmFsdWF0ZSB0aGUgc2NyaXB0CisgICAgLy8gYmVjYXVzZSBpZiBhIHNjcmlwdCBpcyBpbnNl
cnRlZCBhZnRlcndhcmRzIChieSBzZXR0aW5nIHRleHQgb3IgaW5uZXJUZXh0KQorICAgIC8vIGl0
IHNob3VsZCBiZSBldmFsdWF0ZWQsIGFuZCBldmFsdWF0ZVNjcmlwcyBvbmx5IGV2YWx1YXRlcyBh
IHNjcmlwdCBvbmNlLgorICAgIGlmICghc2NyaXB0U3RyaW5nLmlzRW1wdHkoKSkKKyAgICAgICAg
ZXZhbHVhdGVTY3JpcHQoZ2V0RG9jdW1lbnQoKS0+VVJMKCksIHNjcmlwdFN0cmluZyk7CiB9CiAK
IHZvaWQgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjpyZW1vdmVkRnJvbURvY3VtZW50KCkKQEAgLTU4
MiwyNyArNTgzLDU1IEBACiAKICAgICBhc3NlcnQoY3MgPT0gbV9jYWNoZWRTY3JpcHQpOwogCisg
ICAgZXZhbHVhdGVTY3JpcHQoY3MtPnVybCgpLnN0cmluZygpLCBjcy0+c2NyaXB0KCkpOworCisg
ICAgY3MtPmRlcmVmKHRoaXMpOworICAgIG1fY2FjaGVkU2NyaXB0ID0gMDsKK30KKwordm9pZCBI
VE1MU2NyaXB0RWxlbWVudEltcGw6OmV2YWx1YXRlU2NyaXB0KGNvbnN0IFFTdHJpbmcgJlVSTCwg
Y29uc3QgRE9NU3RyaW5nICZzY3JpcHQpCit7CisgICAgaWYgKG1fZXZhbHVhdGVkKQorICAgICAg
ICByZXR1cm47CisgICAgCiAgICAgS0hUTUxQYXJ0ICpwYXJ0ID0gZ2V0RG9jdW1lbnQoKS0+cGFy
dCgpOwogICAgIGlmIChwYXJ0KSB7CiAgICAgICAgIEtKU1Byb3h5ICpwcm94eSA9IEtKU1Byb3h5
Ojpwcm94eShwYXJ0KTsKICAgICAgICAgaWYgKHByb3h5KSB7Ci0gICAgICAgICAgICBwcm94eS0+
ZXZhbHVhdGUoY3MtPnVybCgpLnN0cmluZygpLCAwLCBjcy0+c2NyaXB0KCkuc3RyaW5nKCksIDAp
OyAKKyAgICAgICAgICAgIG1fZXZhbHVhdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHByb3h5LT5l
dmFsdWF0ZShVUkwsIDAsIHNjcmlwdC5zdHJpbmcoKSwgMCk7CiAgICAgICAgICAgICBEb2N1bWVu
dEltcGw6OnVwZGF0ZURvY3VtZW50c1JlbmRlcmluZygpOwogICAgICAgICB9CiAgICAgfQotCi0g
ICAgY3MtPmRlcmVmKHRoaXMpOwotICAgIG1fY2FjaGVkU2NyaXB0ID0gMDsKIH0KIAogRE9NU3Ry
aW5nIEhUTUxTY3JpcHRFbGVtZW50SW1wbDo6dGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGdl
dEF0dHJpYnV0ZShBVFRSX1RFWFQpOworICAgIERPTVN0cmluZyB2YWwgPSAiIjsKKyAgICAKKyAg
ICBmb3IgKE5vZGVJbXBsICpuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmco
KSkgeworICAgICAgICBpZiAobi0+aXNUZXh0Tm9kZSgpKQorICAgICAgICAgICAgdmFsICs9IHN0
YXRpY19jYXN0PFRleHRJbXBsICo+KG4pLT5kYXRhKCk7CisgICAgfQorICAgIAorICAgIHJldHVy
biB2YWw7CiB9CiAKIHZvaWQgSFRNTFNjcmlwdEVsZW1lbnRJbXBsOjpzZXRUZXh0KGNvbnN0IERP
TVN0cmluZyAmdmFsdWUpCiB7Ci0gICAgc2V0QXR0cmlidXRlKEFUVFJfVEVYVCwgdmFsdWUpOwor
ICAgIGludCBleGNlcHRpb25jb2RlID0gMDsKKyAgICBpbnQgbnVtQ2hpbGRyZW4gPSBjaGlsZE5v
ZGVDb3VudCgpOworICAgIAorICAgIGlmIChudW1DaGlsZHJlbiA9PSAxICYmIGZpcnN0Q2hpbGQo
KS0+aXNUZXh0Tm9kZSgpKSB7CisgICAgICAgIHN0YXRpY19jYXN0PERPTTo6VGV4dEltcGwgKj4o
Zmlyc3RDaGlsZCgpKS0+c2V0RGF0YSh2YWx1ZSwgZXhjZXB0aW9uY29kZSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgCisgICAgaWYgKG51bUNoaWxkcmVuID4gMCkgeworICAgICAgICBy
ZW1vdmVDaGlsZHJlbigpOworICAgIH0KKyAgICAKKyAgICBhcHBlbmRDaGlsZChnZXREb2N1bWVu
dCgpLT5jcmVhdGVUZXh0Tm9kZSh2YWx1ZS5pbXBsZW1lbnRhdGlvbigpKSwgZXhjZXB0aW9uY29k
ZSk7CiB9CiAKIERPTVN0cmluZyBIVE1MU2NyaXB0RWxlbWVudEltcGw6Omh0bWxGb3IoKSBjb25z
dApAQCAtODQwLDE0ICs4NjksMzEgQEAKIAogRE9NU3RyaW5nIEhUTUxUaXRsZUVsZW1lbnRJbXBs
Ojp0ZXh0KCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogT2J2aW91c2x5IHdyb25nISBUaGVyZSdz
IG5vICJ0ZXh0IiBhdHRyaWJ1dGUgb24gYSB0aXRsZSBlbGVtZW50LgotICAgIC8vIE5lZWQgdG8g
ZG8gc29tZXRoaW5nIHdpdGggdGhlIGNoaWxkcmVuIHBlcmhhcHM/Ci0gICAgcmV0dXJuIGdldEF0
dHJpYnV0ZShBVFRSX1RFWFQpOworICAgIERPTVN0cmluZyB2YWwgPSAiIjsKKyAgICAKKyAgICBm
b3IgKE5vZGVJbXBsICpuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkg
eworICAgICAgICBpZiAobi0+aXNUZXh0Tm9kZSgpKQorICAgICAgICAgICAgdmFsICs9IHN0YXRp
Y19jYXN0PFRleHRJbXBsICo+KG4pLT5kYXRhKCk7CisgICAgfQorICAgIAorICAgIHJldHVybiB2
YWw7CiB9CiAKIHZvaWQgSFRNTFRpdGxlRWxlbWVudEltcGw6OnNldFRleHQoY29uc3QgRE9NU3Ry
aW5nICZ2YWx1ZSkKIHsKLSAgICAvLyBGSVhNRTogT2J2aW91c2x5IHdyb25nISBUaGVyZSdzIG5v
ICJ0ZXh0IiBhdHRyaWJ1dGUgb24gYSB0aXRsZSBlbGVtZW50LgotICAgIC8vIE5lZWQgdG8gZG8g
c29tZXRoaW5nIHdpdGggdGhlIGNoaWxkcmVuIHBlcmhhcHM/Ci0gICAgc2V0QXR0cmlidXRlKEFU
VFJfVEVYVCwgdmFsdWUpOworICAgIGludCBleGNlcHRpb25jb2RlID0gMDsKKyAgICBpbnQgbnVt
Q2hpbGRyZW4gPSBjaGlsZE5vZGVDb3VudCgpOworICAgIAorICAgIGlmIChudW1DaGlsZHJlbiA9
PSAxICYmIGZpcnN0Q2hpbGQoKS0+aXNUZXh0Tm9kZSgpKSB7CisgICAgICAgIHN0YXRpY19jYXN0
PERPTTo6VGV4dEltcGwgKj4oZmlyc3RDaGlsZCgpKS0+c2V0RGF0YSh2YWx1ZSwgZXhjZXB0aW9u
Y29kZSk7CisgICAgfSBlbHNlIHsgIAorICAgICAgICBpZiAobnVtQ2hpbGRyZW4gPiAwKSB7Cisg
ICAgICAgICAgICByZW1vdmVDaGlsZHJlbigpOworICAgICAgICB9CisgICAgCisgICAgICAgIGFw
cGVuZENoaWxkKGdldERvY3VtZW50KCktPmNyZWF0ZVRleHROb2RlKHZhbHVlLmltcGxlbWVudGF0
aW9uKCkpLCBleGNlcHRpb25jb2RlKTsKKyAgICB9CisgICAgCisgICAgaWYgKGluRG9jdW1lbnQo
KSkKKyAgICAgICAgZ2V0RG9jdW1lbnQoKS0+c2V0VGl0bGUobV90aXRsZSk7CiB9CkluZGV4OiBr
aHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
V2ViQ29yZS9raHRtbC9odG1sL2h0bWxfaGVhZGltcGwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS4xOQpkaWZmIC11IC1yMS4xOSBodG1sX2hlYWRpbXBsLmgKLS0tIGh0bWxfaGVhZGltcGwuaAky
MDA1LzA1LzExIDA1OjQ5OjM0CTEuMTkKKysrIGh0bWxfaGVhZGltcGwuaAkyMDA1LzA2LzE2IDIy
OjExOjU0CkBAIC0xODksMTIgKzE4OSwxNSBAQAogICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZElu
dG9Eb2N1bWVudCgpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKGtodG1sOjpDYWNoZWRPYmplY3QgKmZpbmlz
aGVkT2JqKTsKLQorICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoKTsKKyAgICAKICAg
ICB2aXJ0dWFsIElkIGlkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRl
KEF0dHJpYnV0ZUltcGwgKmF0dHIpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRDcmVhdGVkQnlQYXJz
ZXIoYm9vbCBjcmVhdGVkQnlQYXJzZXIpIHsgbV9jcmVhdGVkQnlQYXJzZXIgPSBjcmVhdGVkQnlQ
YXJzZXI7IH0KIAorICAgIHZvaWQgZXZhbHVhdGVTY3JpcHQoY29uc3QgUVN0cmluZyAmLCBjb25z
dCBET01TdHJpbmcgJik7CisKICAgICBET01TdHJpbmcgdGV4dCgpIGNvbnN0OwogICAgIHZvaWQg
c2V0VGV4dChjb25zdCBET01TdHJpbmcgJik7CiAKQEAgLTIxOSw2ICsyMjIsNyBAQAogcHJpdmF0
ZToKICAgICBraHRtbDo6Q2FjaGVkU2NyaXB0ICptX2NhY2hlZFNjcmlwdDsKICAgICBib29sIG1f
Y3JlYXRlZEJ5UGFyc2VyOworICAgIGJvb2wgbV9ldmFsdWF0ZWQ7CiB9OwogCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCg==
</data>
<flag name="review"
          id="31"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>