<?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>26198</bug_id>
          
          <creation_ts>2009-06-04 15:43:09 -0700</creation_ts>
          <short_desc>Misc. code cleanup and simplification</short_desc>
          <delta_ts>2009-06-04 20:52:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>rolandsteiner</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>124391</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 15:43:09 -0700</bug_when>
    <thetext>During implementation for ruby support I came across a few places that I took the liberty of cleaning up the code and/or simplifying it. 

None of the attached patches add functionality, and there was no change in layout test results for me (but please still read individual patch descriptions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124392</commentid>
    <comment_count>1</comment_count>
      <attachid>30963</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 15:45:40 -0700</bug_when>
    <thetext>Created attachment 30963
CSSParser.cpp/.h - move parsing of &apos;attr(X)&apos; to own method

move parsing of &apos;attr(X)&apos; to its own method, in order to make re-using it easier. (E.g., CSS3 &apos;ruby-span&apos; would also use &apos;attr(X)&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124396</commentid>
    <comment_count>2</comment_count>
      <attachid>30964</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 16:02:37 -0700</bug_when>
    <thetext>Created attachment 30964
add macro for primitive values

Like the other HANDLE_... macros used I added 2 more that also include the handling of primitive values. Using that allows to reduce the line count quite a bit.

NOTE: There are some CSS properties that do not query whether a value is actually a primitive value, but do an assignment unconditionally. AFAICT, this would result in the asignment of a default value if the passed-in value is not, in fact, primitive. 
As these cases should only occur with malformed input anyway, and as the UA is supposed to ignore erroneous values, I believe my changes are correct in these cases. 

There was no change in layout test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124399</commentid>
    <comment_count>3</comment_count>
      <attachid>30965</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 16:06:01 -0700</bug_when>
    <thetext>Created attachment 30965
RenderBlock.cpp/.h : simplify handleSpecialChild, comment correction

This patch simplifies the handleSpecialChild and its related methods (handlePositionedChild, handleFloatingChild, handleRunInChild).

It also corrects a typo in a clarifying remark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124400</commentid>
    <comment_count>4</comment_count>
      <attachid>30966</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 16:07:45 -0700</bug_when>
    <thetext>Created attachment 30966
RenderTable.cpp - remove superfluous if statements

This patch removes 3 instances of superfluous if statements (the same condition has already been queried at the beginning of the block)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124402</commentid>
    <comment_count>5</comment_count>
      <attachid>30967</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 16:08:54 -0700</bug_when>
    <thetext>Created attachment 30967
RenderTableSection.cpp : correct comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124403</commentid>
    <comment_count>6</comment_count>
      <attachid>30968</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 16:11:29 -0700</bug_when>
    <thetext>Created attachment 30968
CSSParser.cpp/.h - move parsing of &apos;attr(X)&apos; to own method (fixed .patch)

fixed the .patch format, otherwise same patch as in comment #1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124413</commentid>
    <comment_count>7</comment_count>
      <attachid>30973</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 16:59:34 -0700</bug_when>
    <thetext>Created attachment 30973
ChangeLog entry

Please adapt the ChangeLog depending on which patches make/don&apos;t make it in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124421</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-06-04 18:26:16 -0700</bug_when>
    <thetext>These are all unrelated cleanups and thus should have separate ChangeLogs.  It is also preferable to add the ChangeLog with the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124430</commentid>
    <comment_count>9</comment_count>
      <attachid>30964</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 19:59:52 -0700</bug_when>
    <thetext>Comment on attachment 30964
add macro for primitive values

This needs a ChangeLog.  Otherwise this looks great.  Since you don&apos;t have commit-bit yet, please upload a patch with a ChangeLog and I&apos;ll r+ it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124432</commentid>
    <comment_count>10</comment_count>
      <attachid>30973</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:00:55 -0700</bug_when>
    <thetext>Comment on attachment 30973
ChangeLog entry

Please put the ChangeLogs with the patches you want reviewed.  If they are distinct such that they should be reviewed separately, they should have separate ChangeLogs too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124434</commentid>
    <comment_count>11</comment_count>
      <attachid>30965</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:05:44 -0700</bug_when>
    <thetext>Comment on attachment 30965
RenderBlock.cpp/.h : simplify handleSpecialChild, comment correction

Looks great!  r- for lack of ChangeLog.  These are too different to put all in one patch so they need separate ChangeLogs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124436</commentid>
    <comment_count>12</comment_count>
      <attachid>30966</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:08:18 -0700</bug_when>
    <thetext>Comment on attachment 30966
RenderTable.cpp - remove superfluous if statements

I think we should just turn these into ASSERTS in case we ever change the Renderer inheritance for TableSections.

Also, we might as well fix the style violation while were here:
+                if (!m_head) {
+                    m_head = static_cast&lt;RenderTableSection*&gt;(child);
+                } else {

r- for lack of ChangeLog and nits above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124437</commentid>
    <comment_count>13</comment_count>
      <attachid>30967</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:09:15 -0700</bug_when>
    <thetext>Comment on attachment 30967
RenderTableSection.cpp : correct comment

If you were a committer already I would just r+ this and you could add a ChangeLog when landing.  I think this could be combined with any one of the other patches, but r- since this can&apos;t land as-is w/o changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124440</commentid>
    <comment_count>14</comment_count>
      <attachid>30968</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:11:01 -0700</bug_when>
    <thetext>Comment on attachment 30968
CSSParser.cpp/.h - move parsing of &apos;attr(X)&apos; to own method (fixed .patch)

Looks great!  r- for lack of ChangeLog. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124441</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:12:05 -0700</bug_when>
    <thetext>These are fantastic patches btw.  I am a *huge* fan of cleanup and think it&apos;s a great way to learn a new source base.  Welcome to WebKit!  I look forward to you updated patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124443</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:15:03 -0700</bug_when>
    <thetext>Your posted ChangeLog is great, but since these are so distinct it&apos;s best to land them separately.  Again, if you were already a committer this kind of review would be easier as it would not be blocked on posting a perfect landable patch for someone else to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124462</commentid>
    <comment_count>17</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-06-04 20:52:03 -0700</bug_when>
    <thetext>It&apos;s a nit, but it&apos;d be nice to have a more descriptive bug description...</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30963</attachid>
            <date>2009-06-04 15:45:40 -0700</date>
            <delta_ts>2009-06-04 16:11:29 -0700</delta_ts>
            <desc>CSSParser.cpp/.h - move parsing of &apos;attr(X)&apos; to own method</desc>
            <filename>css-CSSParser-cpp-h.patch</filename>
            <type>text/plain</type>
            <size>2660</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IENTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gQ1NTUGFyc2VyLmNwcAkocmV2aXNp
b24gNDQ0MTkpCisrKyBDU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDA3LDIwICsy
MDUzLDkgQEAKICAgICAgICAgICAgIGlmICghYXJncykKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsLT5mdW5jdGlvbi0+
bmFtZSwgImF0dHIoIikpIHsKLSAgICAgICAgICAgICAgICBpZiAoYXJncy0+c2l6ZSgpICE9IDEp
CisgICAgICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUF0dHIoYXJncyk7CisgICAgICAg
ICAgICAgICAgaWYgKCFwYXJzZWRWYWx1ZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAgICAgICAgIENTU1BhcnNlclZhbHVlKiBhID0gYXJncy0+Y3VycmVudCgp
OwotICAgICAgICAgICAgICAgIGlmIChhLT51bml0ICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
SURFTlQpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAg
ICBTdHJpbmcgYXR0ck5hbWUgPSBhLT5zdHJpbmc7Ci0gICAgICAgICAgICAgICAgLy8gQ1NTIGFs
bG93cyBpZGVudGlmaWVycyB3aXRoICItIiBhdCB0aGUgc3RhcnQsIGxpa2UgIi13ZWJraXQtbWFz
ay1pbWFnZSIuCi0gICAgICAgICAgICAgICAgLy8gQnV0IEhUTUwgYXR0cmlidXRlIG5hbWVzIGNh
bid0IGhhdmUgdGhvc2UgY2hhcmFjdGVycywgYW5kIHdlIHNob3VsZCBub3QKLSAgICAgICAgICAg
ICAgICAvLyBldmVuIHBhcnNlIHRoZW0gaW5zaWRlIGF0dHIoKS4KLSAgICAgICAgICAgICAgICBp
ZiAoYXR0ck5hbWVbMF0gPT0gJy0nKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCi0gICAg
ICAgICAgICAgICAgICAgIGF0dHJOYW1lID0gYXR0ck5hbWUubG93ZXIoKTsKLSAgICAgICAgICAg
ICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoYXR0ck5hbWUsIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfQVRUUik7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHZhbC0+ZnVuY3Rpb24tPm5hbWUsICJjb3VudGVyKCIpKSB7CiAgICAgICAg
ICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZUNvdW50ZXJDb250ZW50KGFyZ3MsIGZhbHNlKTsK
ICAgICAgICAgICAgICAgICBpZiAoIXBhcnNlZFZhbHVlKQpAQCAtMjA2MSw2ICsyMDk2LDI5IEBA
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6
OnBhcnNlQXR0cihDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MpCit7CisgICAgaWYgKGFyZ3MtPnNp
emUoKSAhPSAxKQorICAgICAgICByZXR1cm4gMDsKKworICAgIENTU1BhcnNlclZhbHVlKiBhID0g
YXJncy0+Y3VycmVudCgpOworCisgICAgaWYgKGEtPnVuaXQgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19JREVOVCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBTdHJpbmcgYXR0ck5hbWUgPSBh
LT5zdHJpbmc7CisgICAgLy8gQ1NTIGFsbG93cyBpZGVudGlmaWVycyB3aXRoICItIiBhdCB0aGUg
c3RhcnQsIGxpa2UgIi13ZWJraXQtbWFzay1pbWFnZSIuCisgICAgLy8gQnV0IEhUTUwgYXR0cmli
dXRlIG5hbWVzIGNhbid0IGhhdmUgdGhvc2UgY2hhcmFjdGVycywgYW5kIHdlIHNob3VsZCBub3QK
KyAgICAvLyBldmVuIHBhcnNlIHRoZW0gaW5zaWRlIGF0dHIoKS4KKyAgICBpZiAoYXR0ck5hbWVb
MF0gPT0gJy0nKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChkb2N1bWVudCgpLT5pc0hU
TUxEb2N1bWVudCgpKQorICAgICAgICBhdHRyTmFtZSA9IGF0dHJOYW1lLmxvd2VyKCk7CisgICAg
CisgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoYXR0ck5hbWUsIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfQVRUUik7Cit9CisKIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNl
cjo6cGFyc2VCYWNrZ3JvdW5kQ29sb3IoKQogewogICAgIGludCBpZCA9IG1fdmFsdWVMaXN0LT5j
dXJyZW50KCktPmlkOwpJbmRleDogQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gQ1NTUGFyc2Vy
LmgJKHJldmlzaW9uIDQ0NDE5KQorKysgQ1NTUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1
LDYgKzc1LDggQEAKICAgICAgICAgYm9vbCBwYXJzZTRWYWx1ZXMoaW50IHByb3BJZCwgY29uc3Qg
aW50KiBwcm9wZXJ0aWVzLCBib29sIGltcG9ydGFudCk7CiAgICAgICAgIGJvb2wgcGFyc2VDb250
ZW50KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAorICAgICAgICBQYXNzUmVmUHRyPENT
U1ZhbHVlPiBwYXJzZUF0dHIoQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzKTsKKwogICAgICAgICBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUJhY2tncm91bmRDb2xvcigpOwogCiAgICAgICAgIGJv
b2wgcGFyc2VGaWxsSW1hZ2UoUmVmUHRyPENTU1ZhbHVlPiYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30964</attachid>
            <date>2009-06-04 16:02:37 -0700</date>
            <delta_ts>2009-06-04 19:59:52 -0700</delta_ts>
            <desc>add macro for primitive values</desc>
            <filename>css-CSSStyleSelector-cpp.patch</filename>
            <type>text/plain</type>
            <size>15245</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA0NDQxOSkKKysrIFdlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiArMTQ0
LDE2IEBACiAgICAgcmV0dXJuO1wKIH0KIAorI2RlZmluZSBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTF9BTkRfUFJJTUlUSVZFKHByb3AsIFByb3ApIFwKK0hBTkRMRV9JTkhFUklUX0FORF9JTklU
SUFMKHByb3AsIFByb3ApIFwKK2lmIChwcmltaXRpdmVWYWx1ZSkgXAorICAgIG1fc3R5bGUtPnNl
dCMjUHJvcCgqcHJpbWl0aXZlVmFsdWUpOworCisjZGVmaW5lIEhBTkRMRV9JTkhFUklUX0FORF9J
TklUSUFMX0FORF9QUklNSVRJVkVfV0lUSF9WQUxVRShwcm9wLCBQcm9wLCBWYWx1ZSkgXAorSEFO
RExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfV0lUSF9WQUxVRShwcm9wLCBQcm9wLCBWYWx1ZSkgXAor
aWYgKHByaW1pdGl2ZVZhbHVlKSBcCisgICAgbV9zdHlsZS0+c2V0IyNQcm9wKCpwcmltaXRpdmVW
YWx1ZSk7CisKICNkZWZpbmUgSEFORExFX0ZJTExfTEFZRVJfSU5IRVJJVF9BTkRfSU5JVElBTChs
YXllclR5cGUsIExheWVyVHlwZSwgcHJvcCwgUHJvcCkgXAogaWYgKGlzSW5oZXJpdCkgeyBcCiAg
ICAgRmlsbExheWVyKiBjdXJyQ2hpbGQgPSBtX3N0eWxlLT5hY2Nlc3MjI0xheWVyVHlwZSMjTGF5
ZXJzKCk7IFwKQEAgLTI5MDksMjYgKzI5MzEsMTcgQEAKICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwotICAgICAgICAKICAgICBjYXNlIENTU1Byb3Bl
cnR5Qm9yZGVyVG9wU3R5bGU6Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX1dJ
VEhfVkFMVUUoYm9yZGVyVG9wU3R5bGUsIEJvcmRlclRvcFN0eWxlLCBCb3JkZXJTdHlsZSkKLSAg
ICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgbV9zdHlsZS0+c2V0Qm9yZGVy
VG9wU3R5bGUoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lO
SVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKGJvcmRlclRvcFN0eWxlLCBCb3JkZXJUb3BT
dHlsZSwgQm9yZGVyU3R5bGUpCiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENTU1Byb3BlcnR5
Qm9yZGVyUmlnaHRTdHlsZToKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfV0lU
SF9WQUxVRShib3JkZXJSaWdodFN0eWxlLCBCb3JkZXJSaWdodFN0eWxlLCBCb3JkZXJTdHlsZSkK
LSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgbV9zdHlsZS0+c2V0Qm9y
ZGVyUmlnaHRTdHlsZSgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9B
TkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFX1dJVEhfVkFMVUUoYm9yZGVyUmlnaHRTdHlsZSwgQm9y
ZGVyUmlnaHRTdHlsZSwgQm9yZGVyU3R5bGUpCiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENT
U1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGU6Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9J
TklUSUFMX1dJVEhfVkFMVUUoYm9yZGVyQm90dG9tU3R5bGUsIEJvcmRlckJvdHRvbVN0eWxlLCBC
b3JkZXJTdHlsZSkKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgbV9z
dHlsZS0+c2V0Qm9yZGVyQm90dG9tU3R5bGUoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAgSEFO
RExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKGJvcmRlckJv
dHRvbVN0eWxlLCBCb3JkZXJCb3R0b21TdHlsZSwgQm9yZGVyU3R5bGUpCiAgICAgICAgIHJldHVy
bjsKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyTGVmdFN0eWxlOgotICAgICAgICBIQU5ETEVf
SU5IRVJJVF9BTkRfSU5JVElBTF9XSVRIX1ZBTFVFKGJvcmRlckxlZnRTdHlsZSwgQm9yZGVyTGVm
dFN0eWxlLCBCb3JkZXJTdHlsZSkKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAg
ICAgICAgbV9zdHlsZS0+c2V0Qm9yZGVyTGVmdFN0eWxlKCpwcmltaXRpdmVWYWx1ZSk7CisgICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVfV0lUSF9WQUxVRShi
b3JkZXJMZWZ0U3R5bGUsIEJvcmRlckxlZnRTdHlsZSwgQm9yZGVyU3R5bGUpCiAgICAgICAgIHJl
dHVybjsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZVN0eWxlOgogICAgICAgICBIQU5ETEVf
SU5IRVJJVF9BTkRfSU5JVElBTF9XSVRIX1ZBTFVFKG91dGxpbmVTdHlsZSwgT3V0bGluZVN0eWxl
LCBCb3JkZXJTdHlsZSkKQEAgLTI5NDAsNDkgKzI5NTMsMjMgQEAKICAgICAgICAgfQogICAgICAg
ICByZXR1cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNhcHRpb25TaWRlOgotICAgIHsKLSAgICAg
ICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoY2FwdGlvblNpZGUsIENhcHRpb25TaWRlKQot
ICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRDYXB0
aW9uU2lkZSgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTF9BTkRfUFJJTUlUSVZFKGNhcHRpb25TaWRlLCBDYXB0aW9uU2lkZSkKICAgICAgICAgcmV0
dXJuOwotICAgIH0KICAgICBjYXNlIENTU1Byb3BlcnR5Q2xlYXI6Ci0gICAgewotICAgICAgICBI
QU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChjbGVhciwgQ2xlYXIpCi0gICAgICAgIGlmIChwcmlt
aXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldENsZWFyKCpwcmltaXRpdmVWYWx1
ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUoY2xl
YXIsIENsZWFyKQogICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlE
aXJlY3Rpb246Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChkaXJl
Y3Rpb24sIERpcmVjdGlvbikKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAg
ICAgbV9zdHlsZS0+c2V0RGlyZWN0aW9uKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRM
RV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUoZGlyZWN0aW9uLCBEaXJlY3Rpb24p
CiAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eURpc3BsYXk6Ci0g
ICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChkaXNwbGF5LCBEaXNwbGF5
KQotICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRE
aXNwbGF5KCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklU
SUFMX0FORF9QUklNSVRJVkUoZGlzcGxheSwgRGlzcGxheSkKICAgICAgICAgcmV0dXJuOwotICAg
IH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlFbXB0eUNlbGxzOgotICAgIHsKLSAgICAgICAgSEFO
RExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoZW1wdHlDZWxscywgRW1wdHlDZWxscykKLSAgICAgICAg
aWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgbV9zdHlsZS0+c2V0RW1wdHlDZWxscygq
cHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRf
UFJJTUlUSVZFKGVtcHR5Q2VsbHMsIEVtcHR5Q2VsbHMpCiAgICAgICAgIHJldHVybjsKLSAgICB9
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZsb2F0OgotICAgIHsKLSAgICAgICAgSEFORExFX0lOSEVS
SVRfQU5EX0lOSVRJQUwoZmxvYXRpbmcsIEZsb2F0aW5nKQotICAgICAgICBpZiAocHJpbWl0aXZl
VmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRGbG9hdGluZygqcHJpbWl0aXZlVmFsdWUp
OworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKGZsb2F0
aW5nLCBGbG9hdGluZykKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJv
cGVydHlGb250U3R5bGU6CiAgICAgewogICAgICAgICBGb250RGVzY3JpcHRpb24gZm9udERlc2Ny
aXB0aW9uID0gbV9zdHlsZS0+Zm9udERlc2NyaXB0aW9uKCk7CkBAIC0zMDkzLDIxICszMDgwLDEx
IEBACiAgICAgfQogICAgICAgICAKICAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlUG9zaXRp
b246Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChsaXN0U3R5bGVQ
b3NpdGlvbiwgTGlzdFN0eWxlUG9zaXRpb24pCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkK
LSAgICAgICAgICAgIG1fc3R5bGUtPnNldExpc3RTdHlsZVBvc2l0aW9uKCpwcmltaXRpdmVWYWx1
ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUobGlz
dFN0eWxlUG9zaXRpb24sIExpc3RTdHlsZVBvc2l0aW9uKQogICAgICAgICByZXR1cm47Ci0gICAg
fQotCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUxpc3RTdHlsZVR5cGU6Ci0gICAgewotICAgICAgICBI
QU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChsaXN0U3R5bGVUeXBlLCBMaXN0U3R5bGVUeXBlKQot
ICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRMaXN0
U3R5bGVUeXBlKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9J
TklUSUFMX0FORF9QUklNSVRJVkUobGlzdFN0eWxlVHlwZSwgTGlzdFN0eWxlVHlwZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlPdmVyZmxvdzoKICAgICB7
CiAgICAgICAgIGlmIChpc0luaGVyaXQpIHsKQEAgLTMxMzAsMzUgKzMxMDcsMTcgQEAKICAgICB9
CiAKICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcmZsb3dYOgotICAgIHsKLSAgICAgICAgSEFORExF
X0lOSEVSSVRfQU5EX0lOSVRJQUwob3ZlcmZsb3dYLCBPdmVyZmxvd1gpCi0gICAgICAgIG1fc3R5
bGUtPnNldE92ZXJmbG93WCgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKG92ZXJmbG93WCwgT3ZlcmZsb3dYKQogICAgICAg
ICByZXR1cm47Ci0gICAgfQotCiAgICAgY2FzZSBDU1NQcm9wZXJ0eU92ZXJmbG93WToKLSAgICB7
Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKG92ZXJmbG93WSwgT3ZlcmZsb3dZ
KQotICAgICAgICBtX3N0eWxlLT5zZXRPdmVyZmxvd1koKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAg
ICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShvdmVyZmxvd1ksIE92
ZXJmbG93WSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlQ
YWdlQnJlYWtCZWZvcmU6Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElB
TF9XSVRIX1ZBTFVFKHBhZ2VCcmVha0JlZm9yZSwgUGFnZUJyZWFrQmVmb3JlLCBQYWdlQnJlYWsp
Ci0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldFBh
Z2VCcmVha0JlZm9yZSgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9B
TkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFX1dJVEhfVkFMVUUocGFnZUJyZWFrQmVmb3JlLCBQYWdl
QnJlYWtCZWZvcmUsIFBhZ2VCcmVhaykKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNh
c2UgQ1NTUHJvcGVydHlQYWdlQnJlYWtBZnRlcjoKLSAgICB7Ci0gICAgICAgIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX1dJVEhfVkFMVUUocGFnZUJyZWFrQWZ0ZXIsIFBhZ2VCcmVha0FmdGVy
LCBQYWdlQnJlYWspCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1f
c3R5bGUtPnNldFBhZ2VCcmVha0FmdGVyKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRM
RV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVfV0lUSF9WQUxVRShwYWdlQnJlYWtB
ZnRlciwgUGFnZUJyZWFrQWZ0ZXIsIFBhZ2VCcmVhaykKICAgICAgICAgcmV0dXJuOwotICAgIH0K
LQogICAgIGNhc2UgQ1NTUHJvcGVydHlQYWdlQnJlYWtJbnNpZGU6IHsKICAgICAgICAgSEFORExF
X0lOSEVSSVRfQU5EX0lOSVRJQUxfV0lUSF9WQUxVRShwYWdlQnJlYWtJbnNpZGUsIFBhZ2VCcmVh
a0luc2lkZSwgUGFnZUJyZWFrKQogICAgICAgICBpZiAoIXByaW1pdGl2ZVZhbHVlKQpAQCAtMzE3
MCwxMyArMzEyOSw4IEBACiAgICAgfQogICAgICAgICAKICAgICBjYXNlIENTU1Byb3BlcnR5UG9z
aXRpb246Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChwb3NpdGlv
biwgUG9zaXRpb24pCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1f
c3R5bGUtPnNldFBvc2l0aW9uKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUocG9zaXRpb24sIFBvc2l0aW9uKQogICAgICAg
ICByZXR1cm47Ci0gICAgfQotCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRhYmxlTGF5b3V0OiB7CiAg
ICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHRhYmxlTGF5b3V0LCBUYWJsZUxheW91
dCkKIApAQCAtMzE4OCwyNiArMzE0MiwxNyBAQAogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
ICAgICAKLSAgICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZUJpZGk6IHsKLSAgICAgICAgSEFORExF
X0lOSEVSSVRfQU5EX0lOSVRJQUwodW5pY29kZUJpZGksIFVuaWNvZGVCaWRpKQotICAgICAgICBt
X3N0eWxlLT5zZXRVbmljb2RlQmlkaSgqcHJpbWl0aXZlVmFsdWUpOworICAgIGNhc2UgQ1NTUHJv
cGVydHlVbmljb2RlQmlkaTogCisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FO
RF9QUklNSVRJVkUodW5pY29kZUJpZGksIFVuaWNvZGVCaWRpKQogICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOiB7Ci0gICAgICAgIEhBTkRM
RV9JTkhFUklUX0FORF9JTklUSUFMKHRleHRUcmFuc2Zvcm0sIFRleHRUcmFuc2Zvcm0pCi0gICAg
ICAgIG1fc3R5bGUtPnNldFRleHRUcmFuc2Zvcm0oKnByaW1pdGl2ZVZhbHVlKTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybTogCisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9J
TklUSUFMX0FORF9QUklNSVRJVkUodGV4dFRyYW5zZm9ybSwgVGV4dFRyYW5zZm9ybSkKICAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmlsaXR5OgotICAg
IHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodmlzaWJpbGl0eSwgVmlzaWJp
bGl0eSkKLSAgICAgICAgbV9zdHlsZS0+c2V0VmlzaWJpbGl0eSgqcHJpbWl0aXZlVmFsdWUpOwor
ICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKHZpc2liaWxp
dHksIFZpc2liaWxpdHkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdoaXRlU3BhY2U6Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHdoaXRl
U3BhY2UsIFdoaXRlU3BhY2UpCi0gICAgICAgIG1fc3R5bGUtPnNldFdoaXRlU3BhY2UoKnByaW1p
dGl2ZVZhbHVlKTsKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1J
VElWRSh3aGl0ZVNwYWNlLCBXaGl0ZVNwYWNlKQogICAgICAgICByZXR1cm47CiAKICAgICBjYXNl
IENTU1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uOgpAQCAtMzUwMCwzOCArMzQ0NSwyMSBAQAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVdvcmRCcmVhazog
ewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTCh3b3JkQnJlYWssIFdvcmRCcmVh
aykKLSAgICAgICAgbV9zdHlsZS0+c2V0V29yZEJyZWFrKCpwcmltaXRpdmVWYWx1ZSk7CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdvcmRCcmVhazoKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lO
SVRJQUxfQU5EX1BSSU1JVElWRSh3b3JkQnJlYWssIFdvcmRCcmVhaykKICAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGNhc2UgQ1NTUHJvcGVydHlXb3JkV3JhcDogewotICAgICAgICBIQU5E
TEVfSU5IRVJJVF9BTkRfSU5JVElBTCh3b3JkV3JhcCwgV29yZFdyYXApCi0gICAgICAgIG1fc3R5
bGUtPnNldFdvcmRXcmFwKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdv
cmRXcmFwOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZF
KHdvcmRXcmFwLCBXb3JkV3JhcCkKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXROYnNwTW9kZToKLSAgICB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklU
X0FORF9JTklUSUFMKG5ic3BNb2RlLCBOQlNQTW9kZSkKLSAgICAgICAgbV9zdHlsZS0+c2V0TkJT
UE1vZGUoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJ
QUxfQU5EX1BSSU1JVElWRShuYnNwTW9kZSwgTkJTUE1vZGUpCiAgICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TGluZUJyZWFrOgotICAgIHsKLSAgICAg
ICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoa2h0bWxMaW5lQnJlYWssIEtIVE1MTGluZUJy
ZWFrKQotICAgICAgICBtX3N0eWxlLT5zZXRLSFRNTExpbmVCcmVhaygqcHJpbWl0aXZlVmFsdWUp
OworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKGtodG1s
TGluZUJyZWFrLCBLSFRNTExpbmVCcmVhaykKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90ZUNvbG9yOgot
ICAgIHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwobWF0Y2hOZWFyZXN0TWFp
bEJsb2NrcXVvdGVDb2xvciwgTWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvcikKLSAgICAg
ICAgbV9zdHlsZS0+c2V0TWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvcigqcHJpbWl0aXZl
VmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZF
KG1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29sb3IsIE1hdGNoTmVhcmVzdE1haWxCbG9ja3F1
b3RlQ29sb3IpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBjYXNlIENTU1Byb3BlcnR5
UmVzaXplOgogICAgIHsKQEAgLTQ2NTAsMTkgKzQ2MjcsMTMgQEAKICAgICAgICAgICAgIG1fc3R5
bGUtPnNldEJhY2tmYWNlVmlzaWJpbGl0eSgocHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0g
Q1NTVmFsdWVWaXNpYmxlKSA/IEJhY2tmYWNlVmlzaWJpbGl0eVZpc2libGUgOiBCYWNrZmFjZVZp
c2liaWxpdHlIaWRkZW4pOwogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdEJveERpcmVjdGlvbjoKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoYm94
RGlyZWN0aW9uLCBCb3hEaXJlY3Rpb24pCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAg
ICAgICAgICAgIG1fc3R5bGUtPnNldEJveERpcmVjdGlvbigqcHJpbWl0aXZlVmFsdWUpOworICAg
ICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKGJveERpcmVjdGlv
biwgQm94RGlyZWN0aW9uKQogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdEJveExpbmVzOgotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChib3hMaW5l
cywgQm94TGluZXMpCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1f
c3R5bGUtPnNldEJveExpbmVzKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUoYm94TGluZXMsIEJveExpbmVzKQogICAgICAg
ICByZXR1cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveE9yaWVudDoKLSAgICAgICAg
SEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoYm94T3JpZW50LCBCb3hPcmllbnQpCi0gICAgICAg
IGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldEJveE9yaWVudCgq
cHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRf
UFJJTUlUSVZFKGJveE9yaWVudCwgQm94T3JpZW50KQogICAgICAgICByZXR1cm47CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEJveFBhY2s6CiAgICAgewpAQCAtNDc0NCwxOSArNDcxNSwxNCBA
QAogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1
bW5SdWxlU3R5bGU6Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX1dJVEhfVkFM
VUUoY29sdW1uUnVsZVN0eWxlLCBDb2x1bW5SdWxlU3R5bGUsIEJvcmRlclN0eWxlKQotICAgICAg
ICBtX3N0eWxlLT5zZXRDb2x1bW5SdWxlU3R5bGUoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAg
SEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKGNvbHVt
blJ1bGVTdHlsZSwgQ29sdW1uUnVsZVN0eWxlLCBCb3JkZXJTdHlsZSkKICAgICAgICAgcmV0dXJu
OwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5CcmVha0JlZm9yZTogewotICAgICAg
ICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9XSVRIX1ZBTFVFKGNvbHVtbkJyZWFrQmVmb3Jl
LCBDb2x1bW5CcmVha0JlZm9yZSwgUGFnZUJyZWFrKQotICAgICAgICBtX3N0eWxlLT5zZXRDb2x1
bW5CcmVha0JlZm9yZSgqcHJpbWl0aXZlVmFsdWUpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRDb2x1bW5CcmVha0JlZm9yZToKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxf
QU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKGNvbHVtbkJyZWFrQmVmb3JlLCBDb2x1bW5CcmVha0Jl
Zm9yZSwgUGFnZUJyZWFrKQogICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRDb2x1bW5CcmVha0FmdGVyOiB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FO
RF9JTklUSUFMX1dJVEhfVkFMVUUoY29sdW1uQnJlYWtBZnRlciwgQ29sdW1uQnJlYWtBZnRlciwg
UGFnZUJyZWFrKQotICAgICAgICBtX3N0eWxlLT5zZXRDb2x1bW5CcmVha0FmdGVyKCpwcmltaXRp
dmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkJyZWFrQWZ0ZXI6Cisg
ICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVfV0lUSF9WQUxV
RShjb2x1bW5CcmVha0FmdGVyLCBDb2x1bW5CcmVha0FmdGVyLCBQYWdlQnJlYWspCiAgICAgICAg
IHJldHVybjsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkJyZWFrSW5z
aWRlOiB7CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX1dJVEhfVkFMVUUoY29s
dW1uQnJlYWtJbnNpZGUsIENvbHVtbkJyZWFrSW5zaWRlLCBQYWdlQnJlYWspCiAgICAgICAgIEVQ
YWdlQnJlYWsgcGIgPSAqcHJpbWl0aXZlVmFsdWU7CkBAIC00ODUzLDM2ICs0ODE5LDIyIEBACiAg
ICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0TWFycXVlZVN0eWxlOiB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKG1h
cnF1ZWVCZWhhdmlvciwgTWFycXVlZUJlaGF2aW9yKSAgICAgIAotICAgICAgICBpZiAocHJpbWl0
aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRNYXJxdWVlQmVoYXZpb3IoKnByaW1p
dGl2ZVZhbHVlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZVN0eWxlOgorICAg
ICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKG1hcnF1ZWVCZWhh
dmlvciwgTWFycXVlZUJlaGF2aW9yKSAgICAgIAogICAgICAgICByZXR1cm47Ci0gICAgfQotICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlRGlyZWN0aW9uOiB7Ci0gICAgICAgIEhBTkRM
RV9JTkhFUklUX0FORF9JTklUSUFMKG1hcnF1ZWVEaXJlY3Rpb24sIE1hcnF1ZWVEaXJlY3Rpb24p
Ci0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldE1h
cnF1ZWVEaXJlY3Rpb24oKnByaW1pdGl2ZVZhbHVlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0TWFycXVlZURpcmVjdGlvbjoKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxf
QU5EX1BSSU1JVElWRShtYXJxdWVlRGlyZWN0aW9uLCBNYXJxdWVlRGlyZWN0aW9uKQogICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRVc2VyRHJhZzogewot
ICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTCh1c2VyRHJhZywgVXNlckRyYWcpICAg
ICAgCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNl
dFVzZXJEcmFnKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFVz
ZXJEcmFnOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZF
KHVzZXJEcmFnLCBVc2VyRHJhZykgICAgICAKICAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VXNlck1vZGlmeTogewotICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTCh1c2VyTW9kaWZ5LCBVc2VyTW9kaWZ5KSAgICAgIAotICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRVc2VyTW9kaWZ5KCpwcmlt
aXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFVzZXJNb2RpZnk6CisgICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUodXNlck1vZGlmeSwg
VXNlck1vZGlmeSkgICAgICAKICAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0VXNlclNlbGVjdDogewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTCh1c2VyU2VsZWN0LCBVc2VyU2VsZWN0KSAgICAgIAotICAgICAgICBpZiAocHJpbWl0aXZl
VmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRVc2VyU2VsZWN0KCpwcmltaXRpdmVWYWx1
ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFVzZXJTZWxlY3Q6CisgICAgICAgIEhBTkRM
RV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUodXNlclNlbGVjdCwgVXNlclNlbGVj
dCkgICAgICAKICAgICAgICAgcmV0dXJuOwotICAgIH0KKwogICAgIGNhc2UgQ1NTUHJvcGVydHlU
ZXh0T3ZlcmZsb3c6IHsKICAgICAgICAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBzdXBwb3J0ZWQgYnkg
V2luSUUsIGFuZCBzbyB3ZSBsZWF2ZSBvZmYgdGhlICItd2Via2l0LSIgaW4gb3JkZXIgdG8KICAg
ICAgICAgLy8gd29yayB3aXRoIFdpbklFLXNwZWNpZmljIHBhZ2VzIHRoYXQgdXNlIHRoZSBwcm9w
ZXJ0eS4KQEAgLTQ5MDMsMTggKzQ4NTUsMTMgQEAKICAgICAgICAgfQogICAgICAgICByZXR1cm47
CiAgICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5Ub3BDb2xsYXBzZTogewot
ICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChtYXJnaW5Ub3BDb2xsYXBzZSwgTWFy
Z2luVG9wQ29sbGFwc2UpCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAg
IG1fc3R5bGUtPnNldE1hcmdpblRvcENvbGxhcHNlKCpwcmltaXRpdmVWYWx1ZSk7CisKKyAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0TWFyZ2luVG9wQ29sbGFwc2U6CisgICAgICAgIEhBTkRMRV9J
TkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUobWFyZ2luVG9wQ29sbGFwc2UsIE1hcmdp
blRvcENvbGxhcHNlKQogICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRNYXJnaW5Cb3R0b21Db2xsYXBzZTogewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9B
TkRfSU5JVElBTChtYXJnaW5Cb3R0b21Db2xsYXBzZSwgTWFyZ2luQm90dG9tQ29sbGFwc2UpCi0g
ICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldE1hcmdp
bkJvdHRvbUNvbGxhcHNlKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdE1hcmdpbkJvdHRvbUNvbGxhcHNlOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTF9BTkRfUFJJTUlUSVZFKG1hcmdpbkJvdHRvbUNvbGxhcHNlLCBNYXJnaW5Cb3R0b21Db2xs
YXBzZSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAogICAgIC8vIEFwcGxlLXNwZWNpZmljIGNo
YW5nZXMuICBEbyBub3QgbWVyZ2UgdGhlc2UgcHJvcGVydGllcyBpbnRvIEtIVE1MLgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRMaW5lQ2xhbXA6IHsKQEAgLTQ5NDcsMTIgKzQ4OTQsMTAgQEAK
ICAgICAgICAgbV9mb250RGlydHkgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U2VjdXJpdHk6IHsKLSAgICAgICAgSEFORExFX0lO
SEVSSVRfQU5EX0lOSVRJQUwodGV4dFNlY3VyaXR5LCBUZXh0U2VjdXJpdHkpCi0gICAgICAgIGlm
IChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldFRleHRTZWN1cml0eSgq
cHJpbWl0aXZlVmFsdWUpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U2VjdXJpdHk6
CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUodGV4dFNl
Y3VyaXR5LCBUZXh0U2VjdXJpdHkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CisKICNpZiBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdERhc2hib2Fy
ZFJlZ2lvbjogewogICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChkYXNoYm9hcmRS
ZWdpb25zLCBEYXNoYm9hcmRSZWdpb25zKQo=
</data>
<flag name="review"
          id="15756"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30965</attachid>
            <date>2009-06-04 16:06:01 -0700</date>
            <delta_ts>2009-06-04 20:05:44 -0700</delta_ts>
            <desc>RenderBlock.cpp/.h : simplify handleSpecialChild, comment correction</desc>
            <filename>rendering-RenderBlock-cpp-h.patch</filename>
            <type>text/plain</type>
            <size>6513</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDQ0NDE5KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MzksNyAr
NzM5LDcgQEAKIAogICAgIG1fb3ZlcmZsb3dIZWlnaHQgPSAwOwogCi0gICAgLy8gV2UgdXNlIGZv
dXIgdmFsdWVzLCBtYXhUb3BQb3MsIG1heFBvc05lZywgbWF4Qm90dG9tUG9zLCBhbmQgbWF4Qm90
dG9tTmVnLCB0byB0cmFjaworICAgIC8vIFdlIHVzZSBmb3VyIHZhbHVlcywgbWF4VG9wUG9zLCBt
YXhUb3BOZWcsIG1heEJvdHRvbVBvcywgYW5kIG1heEJvdHRvbU5lZywgdG8gdHJhY2sKICAgICAv
LyBvdXIgY3VycmVudCBtYXhpbWFsIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBtYXJnaW5zLiAgVGhl
c2UgdmFsdWVzIGFyZSB1c2VkIHdoZW4gd2UKICAgICAvLyBhcmUgY29sbGFwc2VkIHdpdGggYWRq
YWNlbnQgYmxvY2tzLCBzbyBmb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgYmxvY2sgQSBhbmQgQgog
ICAgIC8vIGNvbGxhcHNpbmcgdG9nZXRoZXIsIHRoZW4geW91J2QgdGFrZSB0aGUgbWF4aW1hbCBw
b3NpdGl2ZSBtYXJnaW4gZnJvbSBib3RoIEEgYW5kIEIKQEAgLTkzNCw1MiArOTM0LDQyIEBACiAg
ICAgc2V0SGVpZ2h0KGhlaWdodCgpIC0gbWFyZ2luT2Zmc2V0KTsKIH0KIAotUmVuZGVyQm94KiBS
ZW5kZXJCbG9jazo6aGFuZGxlU3BlY2lhbENoaWxkKFJlbmRlckJveCogY2hpbGQsIGNvbnN0IE1h
cmdpbkluZm8mIG1hcmdpbkluZm8sIGJvb2wmIGhhbmRsZWQpCitib29sIFJlbmRlckJsb2NrOjpo
YW5kbGVTcGVjaWFsQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTWFyZ2luSW5mbyYgbWFy
Z2luSW5mbykKIHsKLSAgICAvLyBIYW5kbGUgcG9zaXRpb25lZCBjaGlsZHJlbiBmaXJzdC4KLSAg
ICBSZW5kZXJCb3gqIG5leHQgPSBoYW5kbGVQb3NpdGlvbmVkQ2hpbGQoY2hpbGQsIG1hcmdpbklu
Zm8sIGhhbmRsZWQpOwotICAgIGlmIChoYW5kbGVkKSByZXR1cm4gbmV4dDsKLSAgICAKLSAgICAv
LyBIYW5kbGUgZmxvYXRpbmcgY2hpbGRyZW4gbmV4dC4KLSAgICBuZXh0ID0gaGFuZGxlRmxvYXRp
bmdDaGlsZChjaGlsZCwgbWFyZ2luSW5mbywgaGFuZGxlZCk7Ci0gICAgaWYgKGhhbmRsZWQpIHJl
dHVybiBuZXh0OwotCi0gICAgLy8gRmluYWxseSwgc2VlIGlmIHdlIGhhdmUgYSBydW4taW4gZWxl
bWVudC4KLSAgICByZXR1cm4gaGFuZGxlUnVuSW5DaGlsZChjaGlsZCwgaGFuZGxlZCk7CisgICAg
Ly8gSGFuZGxlIGluIHRoZSBnaXZlbiBvcmRlcgorICAgIHJldHVybiBoYW5kbGVQb3NpdGlvbmVk
Q2hpbGQoY2hpbGQsIG1hcmdpbkluZm8pCisgICAgICAgIHx8IGhhbmRsZUZsb2F0aW5nQ2hpbGQo
Y2hpbGQsIG1hcmdpbkluZm8pCisgICAgICAgIHx8IGhhbmRsZVJ1bkluQ2hpbGQoY2hpbGQpOwog
fQogCiAKLVJlbmRlckJveCogUmVuZGVyQmxvY2s6OmhhbmRsZVBvc2l0aW9uZWRDaGlsZChSZW5k
ZXJCb3gqIGNoaWxkLCBjb25zdCBNYXJnaW5JbmZvJiBtYXJnaW5JbmZvLCBib29sJiBoYW5kbGVk
KQorYm9vbCBSZW5kZXJCbG9jazo6aGFuZGxlUG9zaXRpb25lZENoaWxkKFJlbmRlckJveCogY2hp
bGQsIGNvbnN0IE1hcmdpbkluZm8mIG1hcmdpbkluZm8pCiB7CiAgICAgaWYgKGNoaWxkLT5pc1Bv
c2l0aW9uZWQoKSkgewotICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKICAgICAgICAgY2hpbGQtPmNv
bnRhaW5pbmdCbG9jaygpLT5pbnNlcnRQb3NpdGlvbmVkT2JqZWN0KGNoaWxkKTsKICAgICAgICAg
YWRqdXN0UG9zaXRpb25lZEJsb2NrKGNoaWxkLCBtYXJnaW5JbmZvKTsKLSAgICAgICAgcmV0dXJu
IGNoaWxkLT5uZXh0U2libGluZ0JveCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0K
LSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVJlbmRlckJveCogUmVuZGVy
QmxvY2s6OmhhbmRsZUZsb2F0aW5nQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTWFyZ2lu
SW5mbyYgbWFyZ2luSW5mbywgYm9vbCYgaGFuZGxlZCkKK2Jvb2wgUmVuZGVyQmxvY2s6OmhhbmRs
ZUZsb2F0aW5nQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTWFyZ2luSW5mbyYgbWFyZ2lu
SW5mbykKIHsKICAgICBpZiAoY2hpbGQtPmlzRmxvYXRpbmcoKSkgewotICAgICAgICBoYW5kbGVk
ID0gdHJ1ZTsKICAgICAgICAgaW5zZXJ0RmxvYXRpbmdPYmplY3QoY2hpbGQpOwogICAgICAgICBh
ZGp1c3RGbG9hdGluZ0Jsb2NrKG1hcmdpbkluZm8pOwotICAgICAgICByZXR1cm4gY2hpbGQtPm5l
eHRTaWJsaW5nQm94KCk7CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICAKLSAgICBy
ZXR1cm4gMDsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVJlbmRlckJveCogUmVuZGVyQmxvY2s6
OmhhbmRsZVJ1bkluQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgYm9vbCYgaGFuZGxlZCkKK2Jvb2wg
UmVuZGVyQmxvY2s6OmhhbmRsZVJ1bkluQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCkKIHsKICAgICAv
LyBTZWUgaWYgd2UgaGF2ZSBhIHJ1bi1pbiBlbGVtZW50IHdpdGggaW5saW5lIGNoaWxkcmVuLiAg
SWYgdGhlCiAgICAgLy8gY2hpbGRyZW4gYXJlbid0IGlubGluZSwgdGhlbiBqdXN0IHRyZWF0IHRo
ZSBydW4taW4gYXMgYSBub3JtYWwKICAgICAvLyBibG9jay4KICAgICBpZiAoIWNoaWxkLT5pc1J1
bkluKCkgfHwgIWNoaWxkLT5jaGlsZHJlbklubGluZSgpICYmICFjaGlsZC0+aXNSZXBsYWNlZCgp
KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgUmVuZGVy
QmxvY2sqIGJsb2NrUnVuSW4gPSB0b1JlbmRlckJsb2NrKGNoaWxkKTsKICAgICAvLyBHZXQgdGhl
IG5leHQgbm9uLXBvc2l0aW9uZWQvbm9uLWZsb2F0aW5nIFJlbmRlckJsb2NrLgpAQCAtOTg4LDE2
ICs5NzgsMTEgQEAKICAgICAgICAgY3VyciA9IGN1cnItPm5leHRTaWJsaW5nKCk7CiAKICAgICBp
ZiAoIWN1cnIgfHwgIWN1cnItPmlzUmVuZGVyQmxvY2soKSB8fCAhY3Vyci0+Y2hpbGRyZW5Jbmxp
bmUoKSB8fCBjdXJyLT5pc1J1bkluKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBSZW5kZXJCbG9jayogY3VyckJsb2NrID0gdG9SZW5kZXJCbG9jayhj
dXJyKTsKIAotICAgIC8vIFRoZSBibG9jayBhY3RzIGxpa2UgYW4gaW5saW5lLCBzbyBqdXN0IG51
bGwgb3V0IGl0cwotICAgIC8vIHBvc2l0aW9uLgotICAgIGhhbmRsZWQgPSB0cnVlOwotICAgIAog
ICAgIC8vIFJlbW92ZSB0aGUgb2xkIGNoaWxkLgotICAgIFJlbmRlckJveCogbmV4dCA9IGJsb2Nr
UnVuSW4tPm5leHRTaWJsaW5nQm94KCk7CiAgICAgY2hpbGRyZW4oKS0+cmVtb3ZlQ2hpbGROb2Rl
KHRoaXMsIGJsb2NrUnVuSW4pOwogCiAgICAgLy8gQ3JlYXRlIGFuIGlubGluZS4KQEAgLTEwMjYs
NyArMTAxMSwxMCBAQAogICAgIC8vIERlc3Ryb3kgdGhlIGJsb2NrIHJ1bi1pbi4KICAgICBibG9j
a1J1bkluLT5kZXN0cm95KCk7CiAKLSAgICByZXR1cm4gbmV4dDsKKyAgICAvLyBUaGUgYmxvY2sg
YWN0cyBsaWtlIGFuIGlubGluZSwgc28ganVzdCBudWxsIG91dCBpdHMKKyAgICAvLyBwb3NpdGlv
bi4KKyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogaW50IFJlbmRlckJsb2NrOjpjb2xsYXBz
ZU1hcmdpbnMoUmVuZGVyQm94KiBjaGlsZCwgTWFyZ2luSW5mbyYgbWFyZ2luSW5mbykKQEAgLTEz
MTEsMTIgKzEzMDksMTQgQEAKICAgICBpbnQgcHJldmlvdXNGbG9hdEJvdHRvbSA9IDA7CiAgICAg
bWF4RmxvYXRCb3R0b20gPSAwOwogCi0gICAgUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRC
b3goKTsKLSAgICB3aGlsZSAoY2hpbGQpIHsKLSAgICAgICAgaWYgKGxlZ2VuZCA9PSBjaGlsZCkg
ewotICAgICAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKTsKKyAgICBSZW5k
ZXJCb3gqIG5leHQgPSBmaXJzdENoaWxkQm94KCk7CisKKyAgICB3aGlsZSAobmV4dCkgeworICAg
ICAgICBSZW5kZXJCb3gqIGNoaWxkID0gbmV4dDsKKyAgICAgICAgbmV4dCA9IGNoaWxkLT5uZXh0
U2libGluZ0JveCgpOworCisgICAgICAgIGlmIChsZWdlbmQgPT0gY2hpbGQpCiAgICAgICAgICAg
ICBjb250aW51ZTsgLy8gU2tpcCB0aGUgbGVnZW5kLCBzaW5jZSBpdCBoYXMgYWxyZWFkeSBiZWVu
IHBvc2l0aW9uZWQgdXAgaW4gdGhlIGZpZWxkc2V0J3MgYm9yZGVyLgotICAgICAgICB9CiAKICAg
ICAgICAgaW50IG9sZFRvcFBvc01hcmdpbiA9IG1heFRvcFBvc01hcmdpbigpOwogICAgICAgICBp
bnQgb2xkVG9wTmVnTWFyZ2luID0gbWF4VG9wTmVnTWFyZ2luKCk7CkBAIC0xMzMzLDEyICsxMzMz
LDggQEAKIAogICAgICAgICAvLyBIYW5kbGUgdGhlIGZvdXIgdHlwZXMgb2Ygc3BlY2lhbCBlbGVt
ZW50cyBmaXJzdC4gIFRoZXNlIGluY2x1ZGUgcG9zaXRpb25lZCBjb250ZW50LCBmbG9hdGluZyBj
b250ZW50LCBjb21wYWN0cyBhbmQKICAgICAgICAgLy8gcnVuLWlucy4gIFdoZW4gd2UgZW5jb3Vu
dGVyIHRoZXNlIGZvdXIgdHlwZXMgb2Ygb2JqZWN0cywgd2UgZG9uJ3QgYWN0dWFsbHkgbGF5IHRo
ZW0gb3V0IGFzIG5vcm1hbCBmbG93IGJsb2Nrcy4KLSAgICAgICAgYm9vbCBoYW5kbGVkID0gZmFs
c2U7Ci0gICAgICAgIFJlbmRlckJveCogbmV4dCA9IGhhbmRsZVNwZWNpYWxDaGlsZChjaGlsZCwg
bWFyZ2luSW5mbywgaGFuZGxlZCk7Ci0gICAgICAgIGlmIChoYW5kbGVkKSB7Ci0gICAgICAgICAg
ICBjaGlsZCA9IG5leHQ7CisgICAgICAgIGlmIChoYW5kbGVTcGVjaWFsQ2hpbGQoY2hpbGQsIG1h
cmdpbkluZm8pKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KIAogICAgICAgICAv
LyBUaGUgY2hpbGQgaXMgYSBub3JtYWwgZmxvdyBvYmplY3QuICBDb21wdXRlIGl0cyB2ZXJ0aWNh
bCBtYXJnaW5zIG5vdy4KICAgICAgICAgY2hpbGQtPmNhbGNWZXJ0aWNhbE1hcmdpbnMoKTsKQEAg
LTE0NTQsNyArMTQ1MCw2IEBACiAgICAgICAgICAgICBjaGlsZC0+cmVwYWludCgpOwogCiAgICAg
ICAgIEFTU0VSVChvbGRMYXlvdXREZWx0YSA9PSB2aWV3KCktPmxheW91dERlbHRhKCkpOwotICAg
ICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpOwogICAgIH0KIAogICAgIC8vIE5v
dyBkbyB0aGUgaGFuZGxpbmcgb2YgdGhlIGJvdHRvbSBvZiB0aGUgYmxvY2ssIGFkZGluZyBpbiBv
dXIgYm90dG9tIGJvcmRlci9wYWRkaW5nIGFuZApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CShyZXZpc2lvbiA0NDQxOSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1MywxMCArNDUzLDEwIEBACiAKICAgICB2b2lkIGFkanVzdFBvc2l0
aW9uZWRCbG9jayhSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBNYXJnaW5JbmZvJik7CiAgICAgdm9p
ZCBhZGp1c3RGbG9hdGluZ0Jsb2NrKGNvbnN0IE1hcmdpbkluZm8mKTsKLSAgICBSZW5kZXJCb3gq
IGhhbmRsZVNwZWNpYWxDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBNYXJnaW5JbmZvJiwg
Ym9vbCYgaGFuZGxlZCk7Ci0gICAgUmVuZGVyQm94KiBoYW5kbGVGbG9hdGluZ0NoaWxkKFJlbmRl
ckJveCogY2hpbGQsIGNvbnN0IE1hcmdpbkluZm8mLCBib29sJiBoYW5kbGVkKTsKLSAgICBSZW5k
ZXJCb3gqIGhhbmRsZVBvc2l0aW9uZWRDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBNYXJn
aW5JbmZvJiwgYm9vbCYgaGFuZGxlZCk7Ci0gICAgUmVuZGVyQm94KiBoYW5kbGVSdW5JbkNoaWxk
KFJlbmRlckJveCogY2hpbGQsIGJvb2wmIGhhbmRsZWQpOworICAgIGJvb2wgaGFuZGxlU3BlY2lh
bENoaWxkKFJlbmRlckJveCogY2hpbGQsIGNvbnN0IE1hcmdpbkluZm8mKTsKKyAgICBib29sIGhh
bmRsZUZsb2F0aW5nQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTWFyZ2luSW5mbyYpOwor
ICAgIGJvb2wgaGFuZGxlUG9zaXRpb25lZENoaWxkKFJlbmRlckJveCogY2hpbGQsIGNvbnN0IE1h
cmdpbkluZm8mKTsKKyAgICBib29sIGhhbmRsZVJ1bkluQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCk7
CiAgICAgaW50IGNvbGxhcHNlTWFyZ2lucyhSZW5kZXJCb3gqIGNoaWxkLCBNYXJnaW5JbmZvJik7
CiAgICAgaW50IGNsZWFyRmxvYXRzSWZOZWVkZWQoUmVuZGVyQm94KiBjaGlsZCwgTWFyZ2luSW5m
byYsIGludCBvbGRUb3BQb3NNYXJnaW4sIGludCBvbGRUb3BOZWdNYXJnaW4sIGludCB5UG9zKTsK
ICAgICBpbnQgZXN0aW1hdGVWZXJ0aWNhbFBvc2l0aW9uKFJlbmRlckJveCogY2hpbGQsIGNvbnN0
IE1hcmdpbkluZm8mKTsK
</data>
<flag name="review"
          id="15755"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30966</attachid>
            <date>2009-06-04 16:07:45 -0700</date>
            <delta_ts>2009-06-04 20:08:18 -0700</delta_ts>
            <desc>RenderTable.cpp - remove superfluous if statements</desc>
            <filename>rendering-RenderTable-cpp.patch</filename>
            <type>text/plain</type>
            <size>2624</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAJKHJldmlzaW9uIDQ0NDE5KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsMzQg
KzEyOCwyOCBAQAogICAgIH0gZWxzZSBpZiAoY2hpbGQtPmlzVGFibGVTZWN0aW9uKCkpIHsKICAg
ICAgICAgc3dpdGNoIChjaGlsZC0+c3R5bGUoKS0+ZGlzcGxheSgpKSB7CiAgICAgICAgICAgICBj
YXNlIFRBQkxFX0hFQURFUl9HUk9VUDoKLSAgICAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzVGFi
bGVTZWN0aW9uKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzZXRTZWN0aW9uUG9pbnRlcklm
Tm90QmVmb3JlKG1faGVhZCwgYmVmb3JlQ2hpbGQpOwotICAgICAgICAgICAgICAgICAgICBpZiAo
IW1faGVhZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gc3RhdGljX2Nhc3Q8
UmVuZGVyVGFibGVTZWN0aW9uKj4oY2hpbGQpOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXRTZWN0aW9uUG9pbnRlcklmTm90QmVmb3Jl
KG1fZmlyc3RCb2R5LCBiZWZvcmVDaGlsZCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
IW1fZmlyc3RCb2R5KSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0Qm9keSA9
IHN0YXRpY19jYXN0PFJlbmRlclRhYmxlU2VjdGlvbio+KGNoaWxkKTsKLSAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHJlc2V0U2VjdGlvblBvaW50ZXJJZk5vdEJlZm9yZSht
X2hlYWQsIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgICAgICAgICBpZiAoIW1faGVhZCkgeworICAg
ICAgICAgICAgICAgICAgICBtX2hlYWQgPSBzdGF0aWNfY2FzdDxSZW5kZXJUYWJsZVNlY3Rpb24q
PihjaGlsZCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
cmVzZXRTZWN0aW9uUG9pbnRlcklmTm90QmVmb3JlKG1fZmlyc3RCb2R5LCBiZWZvcmVDaGlsZCk7
CisgICAgICAgICAgICAgICAgICAgIGlmICghbV9maXJzdEJvZHkpIAorICAgICAgICAgICAgICAg
ICAgICAgICAgbV9maXJzdEJvZHkgPSBzdGF0aWNfY2FzdDxSZW5kZXJUYWJsZVNlY3Rpb24qPihj
aGlsZCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHdyYXBJbkFub255bW91
c1NlY3Rpb24gPSBmYWxzZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNh
c2UgVEFCTEVfRk9PVEVSX0dST1VQOgotICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNUYWJs
ZVNlY3Rpb24oKSkgewotICAgICAgICAgICAgICAgICAgICByZXNldFNlY3Rpb25Qb2ludGVySWZO
b3RCZWZvcmUobV9mb290LCBiZWZvcmVDaGlsZCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgh
bV9mb290KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2Zvb3QgPSBzdGF0aWNfY2FzdDxS
ZW5kZXJUYWJsZVNlY3Rpb24qPihjaGlsZCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3cmFw
SW5Bbm9ueW1vdXNTZWN0aW9uID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlc2V0U2VjdGlvblBv
aW50ZXJJZk5vdEJlZm9yZShtX2Zvb3QsIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIW1fZm9vdCkgeworICAgICAgICAgICAgICAgICAgICBtX2Zvb3QgPSBzdGF0aWNfY2FzdDxS
ZW5kZXJUYWJsZVNlY3Rpb24qPihjaGlsZCk7CisgICAgICAgICAgICAgICAgICAgIHdyYXBJbkFu
b255bW91c1NlY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KICAgICAgICAg
ICAgIGNhc2UgVEFCTEVfUk9XX0dST1VQOgotICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNU
YWJsZVNlY3Rpb24oKSkgewotICAgICAgICAgICAgICAgICAgICByZXNldFNlY3Rpb25Qb2ludGVy
SWZOb3RCZWZvcmUobV9maXJzdEJvZHksIGJlZm9yZUNoaWxkKTsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCFtX2ZpcnN0Qm9keSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZmlyc3RCb2R5
ID0gc3RhdGljX2Nhc3Q8UmVuZGVyVGFibGVTZWN0aW9uKj4oY2hpbGQpOwotICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICByZXNldFNlY3Rpb25Qb2ludGVySWZOb3RCZWZvcmUobV9m
aXJzdEJvZHksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgICAgICAgICBpZiAoIW1fZmlyc3RCb2R5
KQorICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0Qm9keSA9IHN0YXRpY19jYXN0PFJlbmRlclRh
YmxlU2VjdGlvbio+KGNoaWxkKTsKICAgICAgICAgICAgICAgICB3cmFwSW5Bbm9ueW1vdXNTZWN0
aW9uID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0
Ogo=
</data>
<flag name="review"
          id="15754"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30967</attachid>
            <date>2009-06-04 16:08:54 -0700</date>
            <delta_ts>2009-06-04 20:09:15 -0700</delta_ts>
            <desc>RenderTableSection.cpp : correct comment</desc>
            <filename>rendering-RenderTableSection-cpp.patch</filename>
            <type>text/plain</type>
            <size>640</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24g
NDQ0MTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDQsNyArMTA0LDcgQEAKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCi0gICAgICAgIFJlbmRlck9iamVjdCogcm93ID0gbmV3IChyZW5kZXJBcmVuYSgpKSBS
ZW5kZXJUYWJsZVJvdyhkb2N1bWVudCgpIC8qIGFub255bW91cyB0YWJsZSAqLyk7CisgICAgICAg
IFJlbmRlck9iamVjdCogcm93ID0gbmV3IChyZW5kZXJBcmVuYSgpKSBSZW5kZXJUYWJsZVJvdyhk
b2N1bWVudCgpIC8qIGFub255bW91cyB0YWJsZSByb3cgKi8pOwogICAgICAgICBSZWZQdHI8UmVu
ZGVyU3R5bGU+IG5ld1N0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogICAgICAgICBuZXdT
dHlsZS0+aW5oZXJpdEZyb20oc3R5bGUoKSk7CiAgICAgICAgIG5ld1N0eWxlLT5zZXREaXNwbGF5
KFRBQkxFX1JPVyk7Cg==
</data>
<flag name="review"
          id="15753"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30968</attachid>
            <date>2009-06-04 16:11:29 -0700</date>
            <delta_ts>2009-06-04 20:11:01 -0700</delta_ts>
            <desc>CSSParser.cpp/.h - move parsing of &apos;attr(X)&apos; to own method (fixed .patch)</desc>
            <filename>css-CSSParser-cpp-h.patch</filename>
            <type>text/plain</type>
            <size>2732</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gNDQ0MTkpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDA3LDIwICsyMDUzLDkgQEAKICAgICAgICAgICAg
IGlmICghYXJncykKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsLT5mdW5jdGlvbi0+bmFtZSwgImF0dHIoIikpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoYXJncy0+c2l6ZSgpICE9IDEpCisgICAgICAgICAgICAgICAgcGFy
c2VkVmFsdWUgPSBwYXJzZUF0dHIoYXJncyk7CisgICAgICAgICAgICAgICAgaWYgKCFwYXJzZWRW
YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAg
IENTU1BhcnNlclZhbHVlKiBhID0gYXJncy0+Y3VycmVudCgpOwotICAgICAgICAgICAgICAgIGlm
IChhLT51bml0ICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSURFTlQpCi0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICBTdHJpbmcgYXR0ck5hbWUgPSBh
LT5zdHJpbmc7Ci0gICAgICAgICAgICAgICAgLy8gQ1NTIGFsbG93cyBpZGVudGlmaWVycyB3aXRo
ICItIiBhdCB0aGUgc3RhcnQsIGxpa2UgIi13ZWJraXQtbWFzay1pbWFnZSIuCi0gICAgICAgICAg
ICAgICAgLy8gQnV0IEhUTUwgYXR0cmlidXRlIG5hbWVzIGNhbid0IGhhdmUgdGhvc2UgY2hhcmFj
dGVycywgYW5kIHdlIHNob3VsZCBub3QKLSAgICAgICAgICAgICAgICAvLyBldmVuIHBhcnNlIHRo
ZW0gaW5zaWRlIGF0dHIoKS4KLSAgICAgICAgICAgICAgICBpZiAoYXR0ck5hbWVbMF0gPT0gJy0n
KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgaWYg
KGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCi0gICAgICAgICAgICAgICAgICAgIGF0dHJO
YW1lID0gYXR0ck5hbWUubG93ZXIoKTsKLSAgICAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENT
U1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoYXR0ck5hbWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
QVRUUik7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbC0+ZnVu
Y3Rpb24tPm5hbWUsICJjb3VudGVyKCIpKSB7CiAgICAgICAgICAgICAgICAgcGFyc2VkVmFsdWUg
PSBwYXJzZUNvdW50ZXJDb250ZW50KGFyZ3MsIGZhbHNlKTsKICAgICAgICAgICAgICAgICBpZiAo
IXBhcnNlZFZhbHVlKQpAQCAtMjA2MSw2ICsyMDk2LDI5IEBACiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCitQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlQXR0cihDU1NQYXJzZXJW
YWx1ZUxpc3QqIGFyZ3MpCit7CisgICAgaWYgKGFyZ3MtPnNpemUoKSAhPSAxKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIENTU1BhcnNlclZhbHVlKiBhID0gYXJncy0+Y3VycmVudCgpOworCisg
ICAgaWYgKGEtPnVuaXQgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCkKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICBTdHJpbmcgYXR0ck5hbWUgPSBhLT5zdHJpbmc7CisgICAgLy8gQ1NT
IGFsbG93cyBpZGVudGlmaWVycyB3aXRoICItIiBhdCB0aGUgc3RhcnQsIGxpa2UgIi13ZWJraXQt
bWFzay1pbWFnZSIuCisgICAgLy8gQnV0IEhUTUwgYXR0cmlidXRlIG5hbWVzIGNhbid0IGhhdmUg
dGhvc2UgY2hhcmFjdGVycywgYW5kIHdlIHNob3VsZCBub3QKKyAgICAvLyBldmVuIHBhcnNlIHRo
ZW0gaW5zaWRlIGF0dHIoKS4KKyAgICBpZiAoYXR0ck5hbWVbMF0gPT0gJy0nKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIGlmIChkb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpKQorICAgICAg
ICBhdHRyTmFtZSA9IGF0dHJOYW1lLmxvd2VyKCk7CisgICAgCisgICAgcmV0dXJuIENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUoYXR0ck5hbWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQVRUUik7
Cit9CisKIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VCYWNrZ3JvdW5kQ29s
b3IoKQogewogICAgIGludCBpZCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCktPmlkOwpJbmRleDog
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgJKHJldmlzaW9uIDQ0NDE5KQorKysgV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTc1LDYgKzc1LDggQEAKICAgICAgICAgYm9vbCBwYXJzZTRWYWx1ZXMoaW50
IHByb3BJZCwgY29uc3QgaW50KiBwcm9wZXJ0aWVzLCBib29sIGltcG9ydGFudCk7CiAgICAgICAg
IGJvb2wgcGFyc2VDb250ZW50KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAorICAgICAg
ICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUF0dHIoQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdz
KTsKKwogICAgICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUJhY2tncm91bmRDb2xvcigp
OwogCiAgICAgICAgIGJvb2wgcGFyc2VGaWxsSW1hZ2UoUmVmUHRyPENTU1ZhbHVlPiYpOwo=
</data>
<flag name="review"
          id="15752"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30973</attachid>
            <date>2009-06-04 16:59:34 -0700</date>
            <delta_ts>2009-06-04 20:00:55 -0700</delta_ts>
            <desc>ChangeLog entry</desc>
            <filename>ChangeLog2.patch</filename>
            <type>text/plain</type>
            <size>2079</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDQxOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMDktMDYtMDQgIFJvbGFuZCBTdGVpbmVyIDxyb2xhbmRzdGVpbmVy
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkKKworICAg
ICAgICBCdWcgMjYxOTg6IFdlYktpdENvcmUgLSBtaXNjLiBjb2RlIGNsZWFudXAgYW5kIHNpbXBs
aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNjE5OAorCisgICAgICAgIFNldmVyYWwgcGF0Y2hlcyB0aGF0IGFpbSB0byBzaW1wbGlmeSB0
aGUgY29kZSBhbmQgZml4IGEgZmV3IG1pbm9yIGlzc3VlcyBoZXJlIGFuZCB0aGVyZQorICAgICAg
ICAoc2VlIHBhdGNoIGNvbW1lbnRzIGluIGFib3ZlIGJ1ZyBlbnRyeSBmb3IgZGV0YWlscykKKwor
ICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpwYXJzZUF0dHIpOiBuZXcgbWV0aG9kCisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlQ29udGVudCk6IHVzZSBuZXcgcGFyc2VBdHRyIG1ldGhvZAorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VBdHRyKTogbmV3IG1l
dGhvZAorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDogYWRkIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVbX1dJVEhfVkFMVUVdIG1hY3JvcworICAgICAg
ICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6IHVzZSBuZXcgbWFj
cm9zCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjpoYW5kbGVTcGVjaWFsQ2hpbGQpOiBzaW1wbGlmeSB1c2FnZQorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmhhbmRsZVBvc2l0aW9uZWRDaGlsZCk6IHNpbXBs
aWZ5IHVzYWdlCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aGFuZGxlRmxvYXRpbmdD
aGlsZCk6IHNpbXBsaWZ5IHVzYWdlCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aGFu
ZGxlUnVuSW5DaGlsZCk6IHNpbXBsaWZ5IHVzYWdlCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6bGF5b3V0QmxvY2spOiBjb3JyZWN0IGNvbW1lbnQKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpsYXlvdXRCbG9ja0NoaWxkcmVuKTogc2ltcGxpZnkgbG9vcCwgY2hhbmdlIGNh
bGwgdG8gaGFuZGxlU3BlY2lhbENoaWxkCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Lmg6IAorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmhhbmRsZVNwZWNpYWxDaGlsZCk6
IGNoYW5nZSBzaWduYXR1cmUKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoYW5kbGVQ
b3NpdGlvbmVkQ2hpbGQpOiBjaGFuZ2Ugc2lnbmF0dXJlCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6aGFuZGxlRmxvYXRpbmdDaGlsZCk6IGNoYW5nZSBzaWduYXR1cmUKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpoYW5kbGVSdW5JbkNoaWxkKTogY2hhbmdlIHNpZ25hdHVy
ZQorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUYWJsZTo6YWRkQ2hpbGQpOiByZW1vdmUgc3VwZXJmbHVvdXMgJ2lmJyBzdGF0ZW1l
bnRzCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6YWRkQ2hpbGQpOiBjb3JyZWN0IGNvbW1lbnQKKyAgICAg
ICAKKwogMjAwOS0wNi0wMyAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
</data>
<flag name="review"
          id="15751"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>