<?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>12452</bug_id>
          
          <creation_ts>2007-01-28 12:32:59 -0800</creation_ts>
          <short_desc>XPath id() function is not supported</short_desc>
          <delta_ts>2007-01-30 11:21:42 -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>XML</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          
          <blocked>12450</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>31444</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-28 12:32:59 -0800</bug_when>
    <thetext>See &lt;http://www.w3.org/TR/xpath#function-id&gt;. This causes a failure in &quot;dom/svg/level3/xpath/Conformance_ID.svg&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30123</commentid>
    <comment_count>1</comment_count>
      <attachid>12799</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-30 10:48:37 -0800</bug_when>
    <thetext>Created attachment 12799
implement id()

I have certain doubts about XPathResult ordering. The existing code expects that it is each function&apos;s duty to preserve ordering, but that would be fairly inefficient when the client doesn&apos;t need ordered results. Maybe it would be better to re-order results in XPathResult::convertTo().

Similar issues arise for ANY_UNORDERED_NODE_TYPE, FIRST_ORDERED_NODE_TYPE and iterator types - building a full snapshot just to provide one of these is inefficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30106</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-30 10:51:58 -0800</bug_when>
    <thetext>This patch doesn&apos;t implement one bit of id()-related functionality - this is the only function that returns a node-set, and the existing code doesn&apos;t expect that, thus paths including id() don&apos;t work. Going to file a follow-up bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30103</commentid>
    <comment_count>3</comment_count>
      <attachid>12799</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-30 10:52:56 -0800</bug_when>
    <thetext>Comment on attachment 12799
implement id()

r=me

I&apos;m irritated to see yet-another isWhitespace function. I&apos;d like to see us figure out which flavors of this we need and share central copies with easy-to-understand names.

String is extremely inefficient to append to; it reallocates each time. So a loop that appends the string value and then a space is O(n^2) the size of the string. The way to avoid this is to use a Vector&lt;UChar&gt; instead, and convert to a String at the end with String::adopt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30100</commentid>
    <comment_count>4</comment_count>
      <attachid>12801</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-30 11:13:45 -0800</bug_when>
    <thetext>Created attachment 12801
proposed fix

&gt; I&apos;m irritated to see yet-another isWhitespace function.

  There was a single identical one I could find, in SVGParserUtilities.h. I believe parts of this file should be abstracted out, because they have nothing to do with SVG.

&gt; String is extremely inefficient to append to; it reallocates each time.

  I allowed myself this sloppiness, because I couldn&apos;t see how this would noticeably slow down XPath -but OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30094</commentid>
    <comment_count>5</comment_count>
      <attachid>12801</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-30 11:17:31 -0800</bug_when>
    <thetext>Comment on attachment 12801
proposed fix

This one looks good too!

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30079</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-01-30 11:21:42 -0800</bug_when>
    <thetext>Committed revision 19263.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12799</attachid>
            <date>2007-01-30 10:48:37 -0800</date>
            <delta_ts>2007-01-30 11:13:45 -0800</delta_ts>
            <desc>implement id()</desc>
            <filename>12452r1_patch.txt</filename>
            <type>text/plain</type>
            <size>7252</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE5MjYyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDctMDEtMzAgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDUy
CisgICAgICAgIFhQYXRoIGlkKCkgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZAorCisgICAgICAg
ICogZG9tL3N2Zy9sZXZlbDMveHBhdGgvQ29uZm9ybWFuY2VfSUQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICBUaGlzIHRlc3Qgbm93IHBhc3Nlcy4KKworICAgICAgICAqIGZhc3QveHBhdGgvY29tcGxl
eC1pZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QveHBhdGgvY29tcGxleC1p
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgQSB0ZXN0IGZvciBtb3JlIGFkdmFuY2VkIGlkKCkgY2Fw
YWJpbGl0aWVzLgorCiAyMDA3LTAxLTMxICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgRGlzYWJsZSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUte1JURkQsVElGRn0uaHRt
bCBzbyB0ZXN0cyBydW4gdG8gY29tcGxldGlvbiB1bnRpbCBhIGZpeCBpcyBsYW5kZWQgZm9yOgpJ
bmRleDogTGF5b3V0VGVzdHMvZG9tL3N2Zy9sZXZlbDMveHBhdGgvQ29uZm9ybWFuY2VfSUQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2RvbS9zdmcvbGV2ZWwzL3hwYXRo
L0NvbmZvcm1hbmNlX0lELWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTkyNjEpCisrKyBMYXlvdXRU
ZXN0cy9kb20vc3ZnL2xldmVsMy94cGF0aC9Db25mb3JtYW5jZV9JRC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMiArMSBAQAotQ29uZm9ybWFuY2VfSUQKLUVycm9yOiBUWVBFX0VS
UjogRE9NIFhQYXRoIEV4Y2VwdGlvbiA1MgorQ29uZm9ybWFuY2VfSUQ6IFN1Y2Nlc3MKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QveHBhdGgvY29tcGxleC1pZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC94cGF0aC9jb21wbGV4LWlkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QveHBhdGgvY29tcGxleC1pZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorVGVzdCBmb3IgYnVnIDEyNDUyOiBYUGF0
aCBpZCgpIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCisKK1NVQ0NFU1MKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QveHBhdGgvY29tcGxleC1pZC1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46
ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC94cGF0aC9jb21w
bGV4LWlkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC94cGF0aC9jb21wbGV4
LWlkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3hwYXRoL2NvbXBsZXgt
aWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAorPGJvZHk+Cis8cD5UZXN0IGZv
ciA8YSBocmVmPSJodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ1MiI+
YnVnIDEyNDUyPC9hPjoKK1hQYXRoIGlkKCkgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZC48L3A+
CisKKyAgPGRpdiBpZD10ZXN0MSBzdHlsZT0iZGlzcGxheTpub25lIj4KKyAgICBhCisgIDwvZGl2
PgorICA8ZGl2IGlkPXRlc3QyIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorICAgIGIgYworICAgIGQK
KyAgPC9kaXY+CisKKyAgPGRpdiBpZD0iYSI+PC9kaXY+CisgIDxkaXYgaWQ9ImIiPjwvZGl2Pgor
ICA8ZGl2IGlkPSJjIj48L2Rpdj4KKyAgPGRpdiBpZD0iZCI+PC9kaXY+CisKKzxzY3JpcHQ+Cisg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCisgIHZhciBVTk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFID0g
NjsKKworICByZXN1bHQgPSBkb2N1bWVudC5ldmFsdWF0ZSgiaWQoaWQoJyB0ZXN0MSAgdGVzdDIg
JykpIiwgZG9jdW1lbnQuYm9keSwgbnVsbCwgVU5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSwg
bnVsbCk7CisKKyAgaWYgKDQgPT0gcmVzdWx0LnNuYXBzaG90TGVuZ3RoKQorICAgIGRvY3VtZW50
LndyaXRlKCJTVUNDRVNTIik7CisgIGVsc2UKKyAgICBkb2N1bWVudC53cml0ZSgiRkFJTFVSRTog
IiArIHJlc3VsdC5zbmFwc2hvdExlbmd0aCArICIgcmVzdWx0IG5vZGVzIChzaG91bGQgYmUgNCki
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
ZmFzdC94cGF0aC9jb21wbGV4LWlkLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBl
CiAgICsgdGV4dC9odG1sCgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjYyKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAwNy0wMS0zMCAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0NTIKKyAgICAgICAgWFBhdGggaWQoKSBmdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkCisKKyAg
ICAgICAgKiB4bWwvWFBhdGhGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6
OmlzV2hpdGVzcGFjZSk6IEEgaGVscGVyIHRvIGRldGVjdCBYTUwgd2hpdGVzcGFjZS4KKworICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bklkOjppc0NvbnN0YW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlhQYXRoOjpGdW5JZDo6ZG9FdmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
RnVuY3Rpb25NYXBwaW5nOjopOgorICAgICAgICBJbXBsZW1lbnRlZCBpZCgpLgorCiAyMDA3LTAx
LTMwICBaYWNrIFJ1c2luICA8enJ1c2luQHRyb2xsdGVjaC5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtLgpJbmRleDogV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMTkyNjEpCisr
KyBXZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9y
Zz4KICAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJp
Z2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDEzICszMCwyMCBAQAogCiAjaWZkZWYgWFBB
VEhfU1VQUE9SVAogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJOYW1lZEF0dHJN
YXAuaCIKICNpbmNsdWRlICJYUGF0aFZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFhQYXRoIHsKLSAgICAgICAgCisK
K3N0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoVUNoYXIgYykKK3sKKyAgICByZXR1cm4g
YyA9PSAnICcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJyB8fCBjID09ICdcdCc7Cit9CisKKwog
I2RlZmluZSBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihDbGFzcykgc3RhdGljIEZ1bmN0aW9uKiBj
cmVhdGUjI0NsYXNzKCkgeyByZXR1cm4gbmV3IENsYXNzOyB9CiAKIGNsYXNzIEludGVydmFsIHsK
QEAgLTc2LDYgKzg0LDExIEBAIGNsYXNzIEZ1bkNvdW50IDogcHVibGljIEZ1bmN0aW9uIHsKICAg
ICB2aXJ0dWFsIFZhbHVlIGRvRXZhbHVhdGUoKSBjb25zdDsKIH07CiAKK2NsYXNzIEZ1bklkIDog
cHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb25zdGFudCgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgVmFsdWUgZG9FdmFsdWF0ZSgpIGNvbnN0OworfTsKKwogY2xhc3MgRnVuTG9j
YWxOYW1lIDogcHVibGljIEZ1bmN0aW9uIHsKICAgICB2aXJ0dWFsIGJvb2wgaXNDb25zdGFudCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgVmFsdWUgZG9FdmFsdWF0ZSgpIGNvbnN0OwpAQCAtMTc3LDYg
KzE5MCw3IEBAIGNsYXNzIEZ1blJvdW5kIDogcHVibGljIEZ1bmN0aW9uIHsKIERFRklORV9GVU5D
VElPTl9DUkVBVE9SKEZ1bkxhc3QpCiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Qb3NpdGlv
bikKIERFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNvdW50KQorREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoRnVuSWQpCiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Mb2NhbE5hbWUpCiBERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5OYW1lc3BhY2VVUkkpCiBERUZJTkVfRlVOQ1RJT05fQ1JF
QVRPUihGdW5OYW1lKQpAQCAtMjg4LDYgKzMwMiw1NiBAQCBib29sIEZ1blBvc2l0aW9uOjppc0Nv
bnN0YW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRnVuSWQ6OmlzQ29u
c3RhbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworVmFsdWUgRnVuSWQ6OmRv
RXZhbHVhdGUoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0aGlzIGFsZ29yaXRobSBkb2VzIG5v
dCBwcm9kdWNlIGFuIG9yZGVyZWQgbm9kZS1zZXQsIGFzIGl0IHNob3VsZC4KKworICAgIFZhbHVl
IGEgPSBhcmcoMCktPmV2YWx1YXRlKCk7CisgICAgU3RyaW5nIGlkTGlzdDsgLy8gQSB3aGl0ZXNw
YWNlLXNlcGFyYXRlZCBsaXN0IG9mIElEcworCisgICAgaWYgKGEuaXNOb2RlVmVjdG9yKCkpIHsK
KyAgICAgICAgY29uc3QgTm9kZVZlY3RvciYgbm9kZXMgPSBhLnRvTm9kZVZlY3RvcigpOworICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vZGVzLnNpemUoKTsgKytpKSB7CisgICAgICAg
ICAgICBpZExpc3QuYXBwZW5kKHN0cmluZ1ZhbHVlKG5vZGVzW2ldLmdldCgpKSk7CisgICAgICAg
ICAgICBpZExpc3QuYXBwZW5kKCcgJyk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAg
ICBpZExpc3QgPSBhLnRvU3RyaW5nKCk7CisgICAgfQorICAgIAorICAgIERvY3VtZW50KiBjb250
ZXh0RG9jdW1lbnQgPSBldmFsdWF0aW9uQ29udGV4dCgpLm5vZGUtPmRvY3VtZW50KCk7CisgICAg
Tm9kZVZlY3RvciByZXN1bHQ7CisgICAgSGFzaFNldDxOb2RlKj4gcmVzdWx0U2V0OworCisgICAg
aW50IHN0YXJ0UG9zID0gMDsKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICB3aGlsZSAoaXNX
aGl0ZXNwYWNlKGlkTGlzdFtzdGFydFBvc10pKQorICAgICAgICAgICAgKytzdGFydFBvczsKKyAg
ICAgICAgCisgICAgICAgIGludCBlbmRQb3MgPSBzdGFydFBvczsKKyAgICAgICAgd2hpbGUgKGlk
TGlzdFtlbmRQb3NdICYmICFpc1doaXRlc3BhY2UoaWRMaXN0W2VuZFBvc10pKQorICAgICAgICAg
ICAgKytlbmRQb3M7CisKKyAgICAgICAgaWYgKGVuZFBvcyA9PSBzdGFydFBvcykKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIC8vIElmIHRoZXJlIGFyZSBzZXZlcmFsIG5vZGVzIHdpdGgg
dGhlIHNhbWUgaWQsIGlkKCkgc2hvdWxkIHJldHVybiB0aGUgZmlyc3Qgb25lLgorICAgICAgICAv
LyBJbiBXZWJLaXQsIGdldEVsZW1lbnRCeUlkIGJlaGF2ZXMgc28sIHRvbywgYWx0aG91Z2ggaXRz
IGJlaGF2aW9yIGluIHRoaXMgY2FzZSBpcyBmb3JtYWxseSB1bmRlZmluZWQuCisgICAgICAgIE5v
ZGUqIG5vZGUgPSBjb250ZXh0RG9jdW1lbnQtPmdldEVsZW1lbnRCeUlkKGlkTGlzdC5zdWJzdHJp
bmcoc3RhcnRQb3MsIGVuZFBvcyAtIHN0YXJ0UG9zKSk7CisgICAgICAgIGlmIChub2RlICYmIHJl
c3VsdFNldC5hZGQobm9kZSkuc2Vjb25kKQorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChub2Rl
KTsKKyAgICAgICAgCisgICAgICAgIHN0YXJ0UG9zID0gZW5kUG9zOworICAgIH0KKyAgICAKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorCiBib29sIEZ1bkxvY2FsTmFtZTo6aXNDb25zdGFudCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNjE1LDYgKzY3OSw3IEBAIHN0YXRpYyB2b2lk
IGNyZWF0ZUZ1bmN0aW9uTWFwKCkKICAgICAgICAgeyAiY291bnQiLCB7ICZjcmVhdGVGdW5Db3Vu
dCwgMSB9IH0sCiAgICAgICAgIHsgImZhbHNlIiwgeyAmY3JlYXRlRnVuRmFsc2UsIDAgfSB9LAog
ICAgICAgICB7ICJmbG9vciIsIHsgJmNyZWF0ZUZ1bkZsb29yLCAxIH0gfSwKKyAgICAgICAgeyAi
aWQiLCB7ICZjcmVhdGVGdW5JZCwgMSB9IH0sCiAgICAgICAgIHsgImxhbmciLCB7ICZjcmVhdGVG
dW5MYW5nLCAxIH0gfSwKICAgICAgICAgeyAibGFzdCIsIHsgJmNyZWF0ZUZ1bkxhc3QsIDAgfSB9
LAogICAgICAgICB7ICJsb2NhbC1uYW1lIiwgeyAmY3JlYXRlRnVuTG9jYWxOYW1lLCBJbnRlcnZh
bCgwLCAxKSB9IH0sCg==
</data>
<flag name="review"
          id="4893"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12801</attachid>
            <date>2007-01-30 11:13:45 -0800</date>
            <delta_ts>2007-01-30 11:17:31 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>12452r2_patch.txt</filename>
            <type>text/plain</type>
            <size>7438</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE5MjYyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDctMDEtMzAgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDUy
CisgICAgICAgIFhQYXRoIGlkKCkgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZAorCisgICAgICAg
ICogZG9tL3N2Zy9sZXZlbDMveHBhdGgvQ29uZm9ybWFuY2VfSUQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICBUaGlzIHRlc3Qgbm93IHBhc3Nlcy4KKworICAgICAgICAqIGZhc3QveHBhdGgvY29tcGxl
eC1pZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QveHBhdGgvY29tcGxleC1p
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgQSB0ZXN0IGZvciBtb3JlIGFkdmFuY2VkIGlkKCkgY2Fw
YWJpbGl0aWVzLgorCiAyMDA3LTAxLTMxICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgRGlzYWJsZSBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUte1JURkQsVElGRn0uaHRt
bCBzbyB0ZXN0cyBydW4gdG8gY29tcGxldGlvbiB1bnRpbCBhIGZpeCBpcyBsYW5kZWQgZm9yOgpJ
bmRleDogTGF5b3V0VGVzdHMvZG9tL3N2Zy9sZXZlbDMveHBhdGgvQ29uZm9ybWFuY2VfSUQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2RvbS9zdmcvbGV2ZWwzL3hwYXRo
L0NvbmZvcm1hbmNlX0lELWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTkyNjEpCisrKyBMYXlvdXRU
ZXN0cy9kb20vc3ZnL2xldmVsMy94cGF0aC9Db25mb3JtYW5jZV9JRC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMiArMSBAQAotQ29uZm9ybWFuY2VfSUQKLUVycm9yOiBUWVBFX0VS
UjogRE9NIFhQYXRoIEV4Y2VwdGlvbiA1MgorQ29uZm9ybWFuY2VfSUQ6IFN1Y2Nlc3MKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QveHBhdGgvY29tcGxleC1pZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC94cGF0aC9jb21wbGV4LWlkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QveHBhdGgvY29tcGxleC1pZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorVGVzdCBmb3IgYnVnIDEyNDUyOiBYUGF0
aCBpZCgpIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCisKK1NVQ0NFU1MKClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QveHBhdGgvY29tcGxleC1pZC1leHBlY3RlZC50eHQK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46
ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC94cGF0aC9jb21w
bGV4LWlkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC94cGF0aC9jb21wbGV4
LWlkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3hwYXRoL2NvbXBsZXgt
aWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAorPGJvZHk+Cis8cD5UZXN0IGZv
ciA8YSBocmVmPSJodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ1MiI+
YnVnIDEyNDUyPC9hPjoKK1hQYXRoIGlkKCkgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZC48L3A+
CisKKyAgPGRpdiBpZD10ZXN0MSBzdHlsZT0iZGlzcGxheTpub25lIj4KKyAgICBhCisgIDwvZGl2
PgorICA8ZGl2IGlkPXRlc3QyIHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorICAgIGIgYworICAgIGQK
KyAgPC9kaXY+CisKKyAgPGRpdiBpZD0iYSI+PC9kaXY+CisgIDxkaXYgaWQ9ImIiPjwvZGl2Pgor
ICA8ZGl2IGlkPSJjIj48L2Rpdj4KKyAgPGRpdiBpZD0iZCI+PC9kaXY+CisKKzxzY3JpcHQ+Cisg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCisgIHZhciBVTk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFID0g
NjsKKworICByZXN1bHQgPSBkb2N1bWVudC5ldmFsdWF0ZSgiaWQoaWQoJyB0ZXN0MSAgdGVzdDIg
JykpIiwgZG9jdW1lbnQuYm9keSwgbnVsbCwgVU5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSwg
bnVsbCk7CisKKyAgaWYgKDQgPT0gcmVzdWx0LnNuYXBzaG90TGVuZ3RoKQorICAgIGRvY3VtZW50
LndyaXRlKCJTVUNDRVNTIik7CisgIGVsc2UKKyAgICBkb2N1bWVudC53cml0ZSgiRkFJTFVSRTog
IiArIHJlc3VsdC5zbmFwc2hvdExlbmd0aCArICIgcmVzdWx0IG5vZGVzIChzaG91bGQgYmUgNCki
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMv
ZmFzdC94cGF0aC9jb21wbGV4LWlkLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBl
CiAgICsgdGV4dC9odG1sCgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjYyKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAwNy0wMS0zMCAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0NTIKKyAgICAgICAgWFBhdGggaWQoKSBmdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkCisKKyAg
ICAgICAgKiB4bWwvWFBhdGhGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6
OmlzV2hpdGVzcGFjZSk6IEEgaGVscGVyIHRvIGRldGVjdCBYTUwgd2hpdGVzcGFjZS4KKworICAg
ICAgICAoV2ViQ29yZTo6WFBhdGg6OkZ1bklkOjppc0NvbnN0YW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlhQYXRoOjpGdW5JZDo6ZG9FdmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
RnVuY3Rpb25NYXBwaW5nOjopOgorICAgICAgICBJbXBsZW1lbnRlZCBpZCgpLgorCiAyMDA3LTAx
LTMwICBaYWNrIFJ1c2luICA8enJ1c2luQHRyb2xsdGVjaC5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtLgpJbmRleDogV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAkocmV2aXNpb24gMTkyNjEpCisr
KyBXZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IDIwMDUgRnJlcmljaCBSYWFiZSA8cmFhYmVAa2RlLm9y
Zz4KICAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJp
Z2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDEzICszMCwyMCBAQAogCiAjaWZkZWYgWFBB
VEhfU1VQUE9SVAogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJOYW1lZEF0dHJN
YXAuaCIKICNpbmNsdWRlICJYUGF0aFZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFhQYXRoIHsKLSAgICAgICAgCisK
K3N0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoVUNoYXIgYykKK3sKKyAgICByZXR1cm4g
YyA9PSAnICcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJyB8fCBjID09ICdcdCc7Cit9CisKKwog
I2RlZmluZSBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihDbGFzcykgc3RhdGljIEZ1bmN0aW9uKiBj
cmVhdGUjI0NsYXNzKCkgeyByZXR1cm4gbmV3IENsYXNzOyB9CiAKIGNsYXNzIEludGVydmFsIHsK
QEAgLTc2LDYgKzg0LDExIEBAIGNsYXNzIEZ1bkNvdW50IDogcHVibGljIEZ1bmN0aW9uIHsKICAg
ICB2aXJ0dWFsIFZhbHVlIGRvRXZhbHVhdGUoKSBjb25zdDsKIH07CiAKK2NsYXNzIEZ1bklkIDog
cHVibGljIEZ1bmN0aW9uIHsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb25zdGFudCgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgVmFsdWUgZG9FdmFsdWF0ZSgpIGNvbnN0OworfTsKKwogY2xhc3MgRnVuTG9j
YWxOYW1lIDogcHVibGljIEZ1bmN0aW9uIHsKICAgICB2aXJ0dWFsIGJvb2wgaXNDb25zdGFudCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgVmFsdWUgZG9FdmFsdWF0ZSgpIGNvbnN0OwpAQCAtMTc3LDYg
KzE5MCw3IEBAIGNsYXNzIEZ1blJvdW5kIDogcHVibGljIEZ1bmN0aW9uIHsKIERFRklORV9GVU5D
VElPTl9DUkVBVE9SKEZ1bkxhc3QpCiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Qb3NpdGlv
bikKIERFRklORV9GVU5DVElPTl9DUkVBVE9SKEZ1bkNvdW50KQorREVGSU5FX0ZVTkNUSU9OX0NS
RUFUT1IoRnVuSWQpCiBERUZJTkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5Mb2NhbE5hbWUpCiBERUZJ
TkVfRlVOQ1RJT05fQ1JFQVRPUihGdW5OYW1lc3BhY2VVUkkpCiBERUZJTkVfRlVOQ1RJT05fQ1JF
QVRPUihGdW5OYW1lKQpAQCAtMjg4LDYgKzMwMiw1OSBAQCBib29sIEZ1blBvc2l0aW9uOjppc0Nv
bnN0YW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRnVuSWQ6OmlzQ29u
c3RhbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworVmFsdWUgRnVuSWQ6OmRv
RXZhbHVhdGUoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiB0aGlzIGFsZ29yaXRobSBkb2VzIG5v
dCBwcm9kdWNlIGFuIG9yZGVyZWQgbm9kZS1zZXQsIGFzIGl0IHNob3VsZC4KKworICAgIFZhbHVl
IGEgPSBhcmcoMCktPmV2YWx1YXRlKCk7CisgICAgVmVjdG9yPFVDaGFyPiBpZExpc3Q7IC8vIEEg
d2hpdGVzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBJRHMKKworICAgIGlmIChhLmlzTm9kZVZlY3Rv
cigpKSB7CisgICAgICAgIGNvbnN0IE5vZGVWZWN0b3ImIG5vZGVzID0gYS50b05vZGVWZWN0b3Io
KTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBub2Rlcy5zaXplKCk7ICsraSkgewor
ICAgICAgICAgICAgU3RyaW5nIHN0ciA9IHN0cmluZ1ZhbHVlKG5vZGVzW2ldLmdldCgpKTsKKyAg
ICAgICAgICAgIGlkTGlzdC5hcHBlbmQoc3RyLmNoYXJhY3RlcnMoKSwgc3RyLmxlbmd0aCgpKTsK
KyAgICAgICAgICAgIGlkTGlzdC5hcHBlbmQoJyAnKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7
CisgICAgICAgIFN0cmluZyBzdHIgPSBhLnRvU3RyaW5nKCk7CisgICAgICAgIGlkTGlzdC5hcHBl
bmQoc3RyLmNoYXJhY3RlcnMoKSwgc3RyLmxlbmd0aCgpKTsKKyAgICB9CisgICAgCisgICAgRG9j
dW1lbnQqIGNvbnRleHREb2N1bWVudCA9IGV2YWx1YXRpb25Db250ZXh0KCkubm9kZS0+ZG9jdW1l
bnQoKTsKKyAgICBOb2RlVmVjdG9yIHJlc3VsdDsKKyAgICBIYXNoU2V0PE5vZGUqPiByZXN1bHRT
ZXQ7CisKKyAgICBzaXplX3Qgc3RhcnRQb3MgPSAwOworICAgIHNpemVfdCBsZW5ndGggPSBpZExp
c3Quc2l6ZSgpOworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIHdoaWxlIChzdGFydFBvcyA8
IGxlbmd0aCAmJiBpc1doaXRlc3BhY2UoaWRMaXN0W3N0YXJ0UG9zXSkpCisgICAgICAgICAgICAr
K3N0YXJ0UG9zOworICAgICAgICAKKyAgICAgICAgc2l6ZV90IGVuZFBvcyA9IHN0YXJ0UG9zOwor
ICAgICAgICB3aGlsZSAoZW5kUG9zIDwgbGVuZ3RoICYmICFpc1doaXRlc3BhY2UoaWRMaXN0W2Vu
ZFBvc10pKQorICAgICAgICAgICAgKytlbmRQb3M7CisKKyAgICAgICAgaWYgKGVuZFBvcyA9PSBs
ZW5ndGgpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvLyBJZiB0aGVyZSBhcmUgc2V2
ZXJhbCBub2RlcyB3aXRoIHRoZSBzYW1lIGlkLCBpZCgpIHNob3VsZCByZXR1cm4gdGhlIGZpcnN0
IG9uZS4KKyAgICAgICAgLy8gSW4gV2ViS2l0LCBnZXRFbGVtZW50QnlJZCBiZWhhdmVzIHNvLCB0
b28sIGFsdGhvdWdoIGl0cyBiZWhhdmlvciBpbiB0aGlzIGNhc2UgaXMgZm9ybWFsbHkgdW5kZWZp
bmVkLgorICAgICAgICBOb2RlKiBub2RlID0gY29udGV4dERvY3VtZW50LT5nZXRFbGVtZW50QnlJ
ZChTdHJpbmcoJmlkTGlzdFtzdGFydFBvc10sIGVuZFBvcyAtIHN0YXJ0UG9zKSk7CisgICAgICAg
IGlmIChub2RlICYmIHJlc3VsdFNldC5hZGQobm9kZSkuc2Vjb25kKQorICAgICAgICAgICAgcmVz
dWx0LmFwcGVuZChub2RlKTsKKyAgICAgICAgCisgICAgICAgIHN0YXJ0UG9zID0gZW5kUG9zOwor
ICAgIH0KKyAgICAKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBib29sIEZ1bkxvY2FsTmFtZTo6
aXNDb25zdGFudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNjE1LDYgKzY4Miw3
IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUZ1bmN0aW9uTWFwKCkKICAgICAgICAgeyAiY291bnQiLCB7
ICZjcmVhdGVGdW5Db3VudCwgMSB9IH0sCiAgICAgICAgIHsgImZhbHNlIiwgeyAmY3JlYXRlRnVu
RmFsc2UsIDAgfSB9LAogICAgICAgICB7ICJmbG9vciIsIHsgJmNyZWF0ZUZ1bkZsb29yLCAxIH0g
fSwKKyAgICAgICAgeyAiaWQiLCB7ICZjcmVhdGVGdW5JZCwgMSB9IH0sCiAgICAgICAgIHsgImxh
bmciLCB7ICZjcmVhdGVGdW5MYW5nLCAxIH0gfSwKICAgICAgICAgeyAibGFzdCIsIHsgJmNyZWF0
ZUZ1bkxhc3QsIDAgfSB9LAogICAgICAgICB7ICJsb2NhbC1uYW1lIiwgeyAmY3JlYXRlRnVuTG9j
YWxOYW1lLCBJbnRlcnZhbCgwLCAxKSB9IH0sCg==
</data>
<flag name="review"
          id="4895"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>