<?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>26829</bug_id>
          
          <creation_ts>2009-06-29 22:55:27 -0700</creation_ts>
          <short_desc>add methods baselinePosition and lineHeight to InlineBox</short_desc>
          <delta_ts>2009-07-09 22:13:57 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>3749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>128955</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-29 22:55:27 -0700</bug_when>
    <thetext>[outtake from larger ruby patch - see bug #3749]

There are quite a few places in the code of InlineBox and InlineFlowBox in the form:

boxPtr-&gt;renderer()-&gt;lineHeight()

same for baselinePosition(). Adding corresponding methods to InlineBox would make the code more readable.

Also, implementation for ruby will make use of those new methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128956</commentid>
    <comment_count>1</comment_count>
      <attachid>32033</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-29 22:56:32 -0700</bug_when>
    <thetext>Created attachment 32033
patch: add methods lineHeight and baselinePosition to InlineBox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129902</commentid>
    <comment_count>2</comment_count>
      <attachid>32033</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-07-06 00:29:23 -0700</bug_when>
    <thetext>Comment on attachment 32033
patch: add methods lineHeight and baselinePosition to InlineBox

There is a chunk in here that&apos;s unrelated to the refactoring mentioned in the ChangeLog. I discussed with Roland, and he is going to submit a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129907</commentid>
    <comment_count>3</comment_count>
      <attachid>32288</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-06 01:26:09 -0700</bug_when>
    <thetext>Created attachment 32288
patch: removed unrelad</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129908</commentid>
    <comment_count>4</comment_count>
      <attachid>32289</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-06 01:27:42 -0700</bug_when>
    <thetext>Created attachment 32289
patch: removed unrelated code change from initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129910</commentid>
    <comment_count>5</comment_count>
      <attachid>32289</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-07-06 01:37:59 -0700</bug_when>
    <thetext>Comment on attachment 32289
patch: removed unrelated code change from initial patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129922</commentid>
    <comment_count>6</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-06 04:10:48 -0700</bug_when>
    <thetext>(In reply to comment #5)

Thanks a lot for the review! Can I ask you to commit the patch for me, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130052</commentid>
    <comment_count>7</comment_count>
      <attachid>32289</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-06 16:30:53 -0700</bug_when>
    <thetext>Comment on attachment 32289
patch: removed unrelated code change from initial patch

patching file WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebCore/rendering/InlineBox.h
Hunk #1 succeeded at 205 (offset 4 lines).
Hunk #2 FAILED at 283.
1 out of 2 hunks FAILED -- saving rejects to file WebCore/rendering/InlineBox.h.rej
patch -p0 &quot;WebCore/rendering/InlineBox.h&quot; returned 1.  Pass --force to ignore patch failures.
Patch https://bugs.webkit.org/attachment.cgi?id=32289 failed to download and apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130053</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-06 16:31:21 -0700</bug_when>
    <thetext>Someone could possibly land this manually.  I didn&apos;t investigate the failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130101</commentid>
    <comment_count>9</comment_count>
      <attachid>32352</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-06 19:34:33 -0700</bug_when>
    <thetext>Created attachment 32352
patch: update to remove conflicts

Same as previous patch, updated to remove patching conflicts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130102</commentid>
    <comment_count>10</comment_count>
      <attachid>32352</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-06 19:37:50 -0700</bug_when>
    <thetext>Comment on attachment 32352
patch: update to remove conflicts

It looks like WebCore/rendering/InlineBox.h has tabs. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130103</commentid>
    <comment_count>11</comment_count>
      <attachid>32352</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-06 19:38:39 -0700</bug_when>
    <thetext>Comment on attachment 32352
patch: update to remove conflicts

Our tooling infrastructure should really warn you about that kind of thing.  Otherwise looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130121</commentid>
    <comment_count>12</comment_count>
      <attachid>32356</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-06 20:21:59 -0700</bug_when>
    <thetext>Created attachment 32356
patch: remove tabs

@_@ How did that happen? Updated patch to remove tabs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130123</commentid>
    <comment_count>13</comment_count>
      <attachid>32357</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-06 20:29:39 -0700</bug_when>
    <thetext>Created attachment 32357
patch: remove tabs AND spurious file references

Today seems to be not my day.  &gt;_&lt; Removed spurious file references at the end of the patch file...

Sorry for the attachment spam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130124</commentid>
    <comment_count>14</comment_count>
      <attachid>32357</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-06 20:32:08 -0700</bug_when>
    <thetext>Comment on attachment 32357
patch: remove tabs AND spurious file references

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130610</commentid>
    <comment_count>15</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-07-08 21:27:57 -0700</bug_when>
    <thetext>(In reply to comment #14)

Would still need a kind soul to commit this for me, though... ^_^;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130837</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-09 22:13:57 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/45701</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32033</attachid>
            <date>2009-06-29 22:56:32 -0700</date>
            <delta_ts>2009-07-06 01:27:42 -0700</delta_ts>
            <desc>patch: add methods lineHeight and baselinePosition to InlineBox</desc>
            <filename>LineMethods.patch</filename>
            <type>text/plain</type>
            <size>7257</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTM2MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMDYtMjkgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIElubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbigpIGFuZCBsaW5lSGVpZ2h0
KCkgbWV0aG9kcworICAgICAgICAoYWRhcHRlZCByZW1haW5pbmcgY29kZSBhY2NvcmRpbmdseSB0
byB1c2UgdGhvc2UgbWV0aG9kcykKKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVCb3g6OmxpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9J
bmxpbmVGbG93Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkanVz
dE1heEFzY2VudEFuZERlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6
Y29tcHV0ZUxvZ2ljYWxCb3hIZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dC
b3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5KToKKwogMjAwOS0wNi0yOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0
ZWluLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDQ1MzMzKQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw2ICsyMDEsOSBA
QCBwdWJsaWM6CiAKICAgICBpbnQgaGVpZ2h0KCkgY29uc3Q7CiAKKwlpbmxpbmUgaW50IGJhc2Vs
aW5lUG9zaXRpb24oYm9vbCBpc1Jvb3RMaW5lQm94KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigp
LT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCBpc1Jvb3RMaW5lQm94KTsgfQorCWlubGlu
ZSBpbnQgbGluZUhlaWdodChib29sIGlzUm9vdExpbmVCb3gpIGNvbnN0IHsgcmV0dXJuIHJlbmRl
cmVyKCktPmxpbmVIZWlnaHQobV9maXJzdExpbmUsIGlzUm9vdExpbmVCb3gpOyB9CisKICAgICB2
aXJ0dWFsIGludCB0b3BPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHkoKTsgfQogICAgIHZpcnR1
YWwgaW50IGJvdHRvbU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4geSgpICsgaGVpZ2h0KCk7IH0K
ICAgICB2aXJ0dWFsIGludCBsZWZ0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiB4KCk7IH0KQEAg
LTI3Niw3ICsyNzksNyBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKFNWRykKICAgICBib29sIG1f
aXNTVkcgOiAxOwogI2VuZGlmCi0KKyAgICAKICAgICAvLyBmb3IgUm9vdElubGluZUJveAogICAg
IGJvb2wgbV9lbmRzV2l0aEJyZWFrIDogMTsgIC8vIFdoZXRoZXIgdGhlIGxpbmUgZW5kcyB3aXRo
IGEgPGJyPi4KICAgICBib29sIG1faGFzU2VsZWN0ZWRDaGlsZHJlbiA6IDE7IC8vIFdoZXRoZXIg
d2UgaGF2ZSBhbnkgY2hpbGRyZW4gc2VsZWN0ZWQgKHRoaXMgYml0IHdpbGwgYWxzbyBiZSBzZXQg
aWYgdGhlIDxicj4gdGhhdCB0ZXJtaW5hdGVzIG91ciBsaW5lIGlzIHNlbGVjdGVkKS4KSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCShyZXZpc2lvbiA0NTMzMykKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzEsNyAr
MzcxLDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RNYXhBc2NlbnRBbmREZQogICAgICAg
ICBpZiAoY3Vyci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICBjb250
aW51ZTsgLy8gUG9zaXRpb25lZCBwbGFjZWhvbGRlcnMgZG9uJ3QgYWZmZWN0IGNhbGN1bGF0aW9u
cy4KICAgICAgICAgaWYgKGN1cnItPnkoKSA9PSBQb3NpdGlvblRvcCB8fCBjdXJyLT55KCkgPT0g
UG9zaXRpb25Cb3R0b20pIHsKLSAgICAgICAgICAgIGludCBsaW5lSGVpZ2h0ID0gY3Vyci0+cmVu
ZGVyZXIoKS0+bGluZUhlaWdodChtX2ZpcnN0TGluZSk7CisgICAgICAgICAgICBpbnQgbGluZUhl
aWdodCA9IGN1cnItPmxpbmVIZWlnaHQoZmFsc2UpOwogICAgICAgICAgICAgaWYgKGN1cnItPnko
KSA9PSBQb3NpdGlvblRvcCkgewogICAgICAgICAgICAgICAgIGlmIChtYXhBc2NlbnQgKyBtYXhE
ZXNjZW50IDwgbGluZUhlaWdodCkKICAgICAgICAgICAgICAgICAgICAgbWF4RGVzY2VudCA9IGxp
bmVIZWlnaHQgLSBtYXhBc2NlbnQ7CkBAIC00MDQsMTEgKzQwNCwxMSBAQCB2b2lkIElubGluZUZs
b3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiB7CiAgICAgaWYgKGlzUm9vdElubGluZUJveCgp
KSB7CiAgICAgICAgIC8vIEV4YW1pbmUgb3VyIHJvb3QgYm94LgotICAgICAgICBpbnQgbGluZUhl
aWdodCA9IHJlbmRlcmVyKCktPmxpbmVIZWlnaHQobV9maXJzdExpbmUsIHRydWUpOwotICAgICAg
ICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5l
LCB0cnVlKTsKKyAgICAgICAgaW50IGhlaWdodCA9IGxpbmVIZWlnaHQodHJ1ZSk7CisgICAgICAg
IGludCBiYXNlbGluZSA9IGJhc2VsaW5lUG9zaXRpb24odHJ1ZSk7CiAgICAgICAgIGlmIChoYXNU
ZXh0Q2hpbGRyZW4oKSB8fCBzdHJpY3RNb2RlKSB7CiAgICAgICAgICAgICBpbnQgYXNjZW50ID0g
YmFzZWxpbmU7Ci0gICAgICAgICAgICBpbnQgZGVzY2VudCA9IGxpbmVIZWlnaHQgLSBhc2NlbnQ7
CisgICAgICAgICAgICBpbnQgZGVzY2VudCA9IGhlaWdodCAtIGFzY2VudDsKICAgICAgICAgICAg
IGlmIChtYXhBc2NlbnQgPCBhc2NlbnQpCiAgICAgICAgICAgICAgICAgbWF4QXNjZW50ID0gYXNj
ZW50OwogICAgICAgICAgICAgaWYgKG1heERlc2NlbnQgPCBkZXNjZW50KQpAQCAtNDU2LDggKzQ1
Niw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBs
aW5lSGVpZ2h0ID0gY3Vyci0+cmVuZGVyZXIoKS0+bGluZUhlaWdodChtX2ZpcnN0TGluZSk7Ci0g
ICAgICAgICAgICBiYXNlbGluZSA9IGN1cnItPnJlbmRlcmVyKCktPmJhc2VsaW5lUG9zaXRpb24o
bV9maXJzdExpbmUpOworICAgICAgICAgICAgbGluZUhlaWdodCA9IGN1cnItPmxpbmVIZWlnaHQo
ZmFsc2UpOworICAgICAgICAgICAgYmFzZWxpbmUgPSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGZh
bHNlKTsKICAgICAgICAgfQogCiAgICAgICAgIGN1cnItPnNldFkodmVydGljYWxQb3NpdGlvbkZv
ckJveChjdXJyLCBtX2ZpcnN0TGluZSkpOwpAQCAtNDg1LDggKzQ4NSw4IEBAIHZvaWQgSW5saW5l
Rmxvd0JveDo6cGxhY2VCb3hlc1ZlcnRpY2FsbHkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50JiB0b3BQb3NpdGlvbiwgaW50JiBib3R0b21Qb3NpdGlvbiwgaW50
JiBzZWxlY3Rpb25Ub3AsIGludCYgc2VsZWN0aW9uQm90dG9tKQogewogICAgIGlmIChpc1Jvb3RJ
bmxpbmVCb3goKSkKLSAgICAgICAgc2V0WSh5UG9zICsgbWF4KDAsIG1heEFzY2VudCAtIHJlbmRl
cmVyKCktPmJhc2VsaW5lUG9zaXRpb24obV9maXJzdExpbmUsIHRydWUpKSk7IC8vIFBsYWNlIG91
ciByb290IGJveC4KLSAgICAKKyAgICAgICAgc2V0WSh5UG9zICsgbWF4KDAsIG1heEFzY2VudCAt
IGJhc2VsaW5lUG9zaXRpb24odHJ1ZSkpKTsgLy8gUGxhY2Ugb3VyIHJvb3QgYm94LgorCiAgICAg
Zm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5u
ZXh0T25MaW5lKCkpIHsKICAgICAgICAgaWYgKGN1cnItPnJlbmRlcmVyKCktPmlzUG9zaXRpb25l
ZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0aW9uZWQgcGxhY2Vob2xkZXJzIGRv
bid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCkBAIC01MDEsMTEgKzUwMSwxMSBAQCB2b2lkIElubGlu
ZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgIGlmIChjdXJyLT55KCkgPT0g
UG9zaXRpb25Ub3ApCiAgICAgICAgICAgICBjdXJyLT5zZXRZKHlQb3MpOwogICAgICAgICBlbHNl
IGlmIChjdXJyLT55KCkgPT0gUG9zaXRpb25Cb3R0b20pCi0gICAgICAgICAgICBjdXJyLT5zZXRZ
KHlQb3MgKyBtYXhIZWlnaHQgLSBjdXJyLT5yZW5kZXJlcigpLT5saW5lSGVpZ2h0KG1fZmlyc3RM
aW5lKSk7CisgICAgICAgICAgICBjdXJyLT5zZXRZKHlQb3MgKyBtYXhIZWlnaHQgLSBjdXJyLT5s
aW5lSGVpZ2h0KGZhbHNlKSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKChpc0lu
bGluZUZsb3cgJiYgIXN0YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKS0+aGFzVGV4dENo
aWxkcmVuKCkpICYmICFjdXJyLT5ib3hNb2RlbE9iamVjdCgpLT5oYXNIb3Jpem9udGFsQm9yZGVy
c09yUGFkZGluZygpICYmICFzdHJpY3RNb2RlKQogICAgICAgICAgICAgICAgIGNoaWxkQWZmZWN0
c1RvcEJvdHRvbVBvcyA9IGZhbHNlOwotICAgICAgICAgICAgaW50IHBvc0FkanVzdCA9IG1heEFz
Y2VudCAtIGN1cnItPnJlbmRlcmVyKCktPmJhc2VsaW5lUG9zaXRpb24obV9maXJzdExpbmUpOwor
ICAgICAgICAgICAgaW50IHBvc0FkanVzdCA9IG1heEFzY2VudCAtIGN1cnItPmJhc2VsaW5lUG9z
aXRpb24oZmFsc2UpOwogICAgICAgICAgICAgaWYgKCFjaGlsZEFmZmVjdHNUb3BCb3R0b21Qb3Mp
CiAgICAgICAgICAgICAgICAgcG9zQWRqdXN0ID0gbWF4KDAsIHBvc0FkanVzdCk7CiAgICAgICAg
ICAgICBjdXJyLT5zZXRZKGN1cnItPnkoKSArIHlQb3MgKyBwb3NBZGp1c3QpOwpAQCAtNTIwLDgg
KzUyMCwxNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAg
ICAgIGludCBvdmVyZmxvd1RvcCA9IDA7CiAgICAgICAgIGludCBvdmVyZmxvd0JvdHRvbSA9IDA7
CiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJyLT5pc0lubGluZUZsb3dCb3goKSkg
ewotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxl
KG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgbmV3WSArPSBjdXJyLT5yZW5kZXJl
cigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKSAtIGZvbnQuYXNjZW50KCk7CisjaWYg
RU5BQkxFKFJVQlkpCisgICAgICAgICAgICBpZiAoIWN1cnItPmlzUnVieSgpKQorI2VuZGlmCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOworICAgICAgICAgICAgICAgIG5l
d1kgKz0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihmYWxzZSkgLSBmb250LmFzY2VudCgpOworCisg
ICAgICAgICAgICAgICAgaWYgKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKQorICAgICAgICAgICAg
ICAgICAgICBuZXdZIC09IGN1cnItPmJveE1vZGVsT2JqZWN0KCktPmJvcmRlclRvcCgpICsgY3Vy
ci0+Ym94TW9kZWxPYmplY3QoKS0+cGFkZGluZ1RvcCgpOworICAgICAgICAgICAgfQorCiAgICAg
ICAgICAgICBmb3IgKFNoYWRvd0RhdGEqIHNoYWRvdyA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxl
KCktPnRleHRTaGFkb3coKTsgc2hhZG93OyBzaGFkb3cgPSBzaGFkb3ctPm5leHQpIHsKICAgICAg
ICAgICAgICAgICBvdmVyZmxvd1RvcCA9IG1pbihvdmVyZmxvd1RvcCwgc2hhZG93LT55IC0gc2hh
ZG93LT5ibHVyKTsKICAgICAgICAgICAgICAgICBvdmVyZmxvd0JvdHRvbSA9IG1heChvdmVyZmxv
d0JvdHRvbSwgc2hhZG93LT55ICsgc2hhZG93LT5ibHVyKTsKQEAgLTU0Miw5ICs1NTEsNiBAQCB2
b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgICAgICAgICAg
b3ZlcmZsb3dUb3AgPSBtaW4ob3ZlcmZsb3dUb3AsIGJveC0+cmVmbGVjdGlvbkJveCgpLnkoKSk7
CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dCb3R0b20gPSBtYXgob3ZlcmZsb3dCb3R0b20sIGJv
eC0+cmVmbGVjdGlvbkJveCgpLmJvdHRvbSgpKTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgaWYgKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKQotICAgICAgICAgICAgICAgIG5ld1kgLT0g
Y3Vyci0+Ym94TW9kZWxPYmplY3QoKS0+Ym9yZGVyVG9wKCkgKyBjdXJyLT5ib3hNb2RlbE9iamVj
dCgpLT5wYWRkaW5nVG9wKCk7CiAgICAgICAgIH0gZWxzZSBpZiAoIWN1cnItPnJlbmRlcmVyKCkt
PmlzQlIoKSkgewogICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChjdXJy
LT5yZW5kZXJlcigpKTsKICAgICAgICAgICAgIG5ld1kgKz0gYm94LT5tYXJnaW5Ub3AoKTsKQEAg
LTU2NSw3ICs1NzEsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5
CiAKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpIHsKICAgICAgICAgY29uc3QgRm9udCYgZm9u
dCA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICBzZXRZ
KHkoKSArIHJlbmRlcmVyKCktPmJhc2VsaW5lUG9zaXRpb24obV9maXJzdExpbmUsIHRydWUpIC0g
Zm9udC5hc2NlbnQoKSk7CisgICAgICAgIHNldFkoeSgpICsgYmFzZWxpbmVQb3NpdGlvbih0cnVl
KSAtIGZvbnQuYXNjZW50KCkpOwogICAgICAgICBpZiAoaGFzVGV4dENoaWxkcmVuKCkgfHwgc3Ry
aWN0TW9kZSkgewogICAgICAgICAgICAgc2VsZWN0aW9uVG9wID0gbWluKHNlbGVjdGlvblRvcCwg
eSgpKTsKICAgICAgICAgICAgIHNlbGVjdGlvbkJvdHRvbSA9IG1heChzZWxlY3Rpb25Cb3R0b20s
IHkoKSArIGhlaWdodCgpKTsK
</data>
<flag name="review"
          id="16559"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>32288</attachid>
            <date>2009-07-06 01:26:09 -0700</date>
            <delta_ts>2009-07-06 01:27:42 -0700</delta_ts>
            <desc>patch: removed unrelad</desc>
            <filename>LineMethodsUpdate.patch</filename>
            <type>application/octet-stream</type>
            <size>6409</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDctMDYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIElubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbigpIGFuZCBsaW5lSGVpZ2h0
KCkgbWV0aG9kcworICAgICAgICAoYWRhcHRlZCByZW1haW5pbmcgY29kZSBhY2NvcmRpbmdseSB0
byB1c2UgdGhvc2UgbWV0aG9kcykKKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0
eS4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmxpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2Nl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hI
ZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0
aWNhbGx5KToKKwogMjAwOS0wNy0wNSAgQW50b25pbyBHb21lcyAgPGFudG9uaW8uZ29tZXNAb3Bl
bmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA0NTU1NikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNiArMjAxLDkgQEAgcHVibGljOgogCiAg
ICAgaW50IGhlaWdodCgpIGNvbnN0OwogCisJaW5saW5lIGludCBiYXNlbGluZVBvc2l0aW9uKGJv
b2wgaXNSb290TGluZUJveCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+YmFzZWxpbmVQb3Np
dGlvbihtX2ZpcnN0TGluZSwgaXNSb290TGluZUJveCk7IH0KKwlpbmxpbmUgaW50IGxpbmVIZWln
aHQoYm9vbCBpc1Jvb3RMaW5lQm94KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5saW5lSGVp
Z2h0KG1fZmlyc3RMaW5lLCBpc1Jvb3RMaW5lQm94KTsgfQorCiAgICAgdmlydHVhbCBpbnQgdG9w
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiB5KCk7IH0KICAgICB2aXJ0dWFsIGludCBib3R0b21P
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHkoKSArIGhlaWdodCgpOyB9CiAgICAgdmlydHVhbCBp
bnQgbGVmdE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4geCgpOyB9CkBAIC0yNzYsNyArMjc5LDcg
QEAgcHJvdGVjdGVkOgogI2lmIEVOQUJMRShTVkcpCiAgICAgYm9vbCBtX2lzU1ZHIDogMTsKICNl
bmRpZgotCisgICAgCiAgICAgLy8gZm9yIFJvb3RJbmxpbmVCb3gKICAgICBib29sIG1fZW5kc1dp
dGhCcmVhayA6IDE7ICAvLyBXaGV0aGVyIHRoZSBsaW5lIGVuZHMgd2l0aCBhIDxicj4uCiAgICAg
Ym9vbCBtX2hhc1NlbGVjdGVkQ2hpbGRyZW4gOiAxOyAvLyBXaGV0aGVyIHdlIGhhdmUgYW55IGNo
aWxkcmVuIHNlbGVjdGVkICh0aGlzIGJpdCB3aWxsIGFsc28gYmUgc2V0IGlmIHRoZSA8YnI+IHRo
YXQgdGVybWluYXRlcyBvdXIgbGluZSBpcyBzZWxlY3RlZCkuCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNDU1NTYpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcxLDcgKzM3MSw3IEBAIHZvaWQg
SW5saW5lRmxvd0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGUKICAgICAgICAgaWYgKGN1cnItPnJl
bmRlcmVyKCktPmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0
aW9uZWQgcGxhY2Vob2xkZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCiAgICAgICAgIGlm
IChjdXJyLT55KCkgPT0gUG9zaXRpb25Ub3AgfHwgY3Vyci0+eSgpID09IFBvc2l0aW9uQm90dG9t
KSB7Ci0gICAgICAgICAgICBpbnQgbGluZUhlaWdodCA9IGN1cnItPnJlbmRlcmVyKCktPmxpbmVI
ZWlnaHQobV9maXJzdExpbmUpOworICAgICAgICAgICAgaW50IGxpbmVIZWlnaHQgPSBjdXJyLT5s
aW5lSGVpZ2h0KGZhbHNlKTsKICAgICAgICAgICAgIGlmIChjdXJyLT55KCkgPT0gUG9zaXRpb25U
b3ApIHsKICAgICAgICAgICAgICAgICBpZiAobWF4QXNjZW50ICsgbWF4RGVzY2VudCA8IGxpbmVI
ZWlnaHQpCiAgICAgICAgICAgICAgICAgICAgIG1heERlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gbWF4
QXNjZW50OwpAQCAtNDA0LDExICs0MDQsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRl
TG9naWNhbEJveEhlaQogewogICAgIGlmIChpc1Jvb3RJbmxpbmVCb3goKSkgewogICAgICAgICAv
LyBFeGFtaW5lIG91ciByb290IGJveC4KLSAgICAgICAgaW50IGxpbmVIZWlnaHQgPSByZW5kZXJl
cigpLT5saW5lSGVpZ2h0KG1fZmlyc3RMaW5lLCB0cnVlKTsKLSAgICAgICAgaW50IGJhc2VsaW5l
ID0gcmVuZGVyZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2ZpcnN0TGluZSwgdHJ1ZSk7CisgICAg
ICAgIGludCBoZWlnaHQgPSBsaW5lSGVpZ2h0KHRydWUpOworICAgICAgICBpbnQgYmFzZWxpbmUg
PSBiYXNlbGluZVBvc2l0aW9uKHRydWUpOwogICAgICAgICBpZiAoaGFzVGV4dENoaWxkcmVuKCkg
fHwgc3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaW50IGFzY2VudCA9IGJhc2VsaW5lOwotICAg
ICAgICAgICAgaW50IGRlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gYXNjZW50OworICAgICAgICAgICAg
aW50IGRlc2NlbnQgPSBoZWlnaHQgLSBhc2NlbnQ7CiAgICAgICAgICAgICBpZiAobWF4QXNjZW50
IDwgYXNjZW50KQogICAgICAgICAgICAgICAgIG1heEFzY2VudCA9IGFzY2VudDsKICAgICAgICAg
ICAgIGlmIChtYXhEZXNjZW50IDwgZGVzY2VudCkKQEAgLTQ1Niw4ICs0NTYsOCBAQCB2b2lkIElu
bGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbGluZUhlaWdodCA9IGN1
cnItPnJlbmRlcmVyKCktPmxpbmVIZWlnaHQobV9maXJzdExpbmUpOwotICAgICAgICAgICAgYmFz
ZWxpbmUgPSBjdXJyLT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsK
KyAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBjdXJyLT5saW5lSGVpZ2h0KGZhbHNlKTsKKyAgICAg
ICAgICAgIGJhc2VsaW5lID0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihmYWxzZSk7CiAgICAgICAg
IH0KIAogICAgICAgICBjdXJyLT5zZXRZKHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goY3VyciwgbV9m
aXJzdExpbmUpKTsKQEAgLTQ4NSw4ICs0ODUsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNl
Qm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCYgdG9wUG9zaXRpb24sIGludCYgYm90dG9tUG9zaXRpb24sIGludCYgc2VsZWN0aW9uVG9w
LCBpbnQmIHNlbGVjdGlvbkJvdHRvbSkKIHsKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpCi0g
ICAgICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSByZW5kZXJlcigpLT5iYXNlbGlu
ZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCB0cnVlKSkpOyAvLyBQbGFjZSBvdXIgcm9vdCBib3guCi0g
ICAgCisgICAgICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSBiYXNlbGluZVBvc2l0
aW9uKHRydWUpKSk7IC8vIFBsYWNlIG91ciByb290IGJveC4KKwogICAgIGZvciAoSW5saW5lQm94
KiBjdXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7
CiAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAg
ICAgIGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24ndCBhZmZlY3QgY2Fs
Y3VsYXRpb25zLgpAQCAtNTAxLDExICs1MDEsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFj
ZUJveGVzVmVydGljYWxseQogICAgICAgICBpZiAoY3Vyci0+eSgpID09IFBvc2l0aW9uVG9wKQog
ICAgICAgICAgICAgY3Vyci0+c2V0WSh5UG9zKTsKICAgICAgICAgZWxzZSBpZiAoY3Vyci0+eSgp
ID09IFBvc2l0aW9uQm90dG9tKQotICAgICAgICAgICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVp
Z2h0IC0gY3Vyci0+cmVuZGVyZXIoKS0+bGluZUhlaWdodChtX2ZpcnN0TGluZSkpOworICAgICAg
ICAgICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0IC0gY3Vyci0+bGluZUhlaWdodChmYWxz
ZSkpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICgoaXNJbmxpbmVGbG93ICYmICFz
dGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSAmJiAh
Y3Vyci0+Ym94TW9kZWxPYmplY3QoKS0+aGFzSG9yaXpvbnRhbEJvcmRlcnNPclBhZGRpbmcoKSAm
JiAhc3RyaWN0TW9kZSkKICAgICAgICAgICAgICAgICBjaGlsZEFmZmVjdHNUb3BCb3R0b21Qb3Mg
PSBmYWxzZTsKLSAgICAgICAgICAgIGludCBwb3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5y
ZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAgICAgICAgICAgIGlu
dCBwb3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGZhbHNlKTsK
ICAgICAgICAgICAgIGlmICghY2hpbGRBZmZlY3RzVG9wQm90dG9tUG9zKQogICAgICAgICAgICAg
ICAgIHBvc0FkanVzdCA9IG1heCgwLCBwb3NBZGp1c3QpOwogICAgICAgICAgICAgY3Vyci0+c2V0
WShjdXJyLT55KCkgKyB5UG9zICsgcG9zQWRqdXN0KTsKQEAgLTUyMSw3ICs1MjEsOCBAQCB2b2lk
IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgIGludCBvdmVyZmxv
d0JvdHRvbSA9IDA7CiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJyLT5pc0lubGlu
ZUZsb3dCb3goKSkgewogICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJlbmRl
cmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgbmV3WSArPSBj
dXJyLT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKSAtIGZvbnQuYXNj
ZW50KCk7CisgICAgICAgICAgICBuZXdZICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oZmFsc2Up
IC0gZm9udC5hc2NlbnQoKTsKKwogICAgICAgICAgICAgZm9yIChTaGFkb3dEYXRhKiBzaGFkb3cg
PSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT50ZXh0U2hhZG93KCk7IHNoYWRvdzsgc2hhZG93
ID0gc2hhZG93LT5uZXh0KSB7CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dUb3AgPSBtaW4ob3Zl
cmZsb3dUb3AsIHNoYWRvdy0+eSAtIHNoYWRvdy0+Ymx1cik7CiAgICAgICAgICAgICAgICAgb3Zl
cmZsb3dCb3R0b20gPSBtYXgob3ZlcmZsb3dCb3R0b20sIHNoYWRvdy0+eSArIHNoYWRvdy0+Ymx1
cik7CkBAIC01NjUsNyArNTY2LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzVmVy
dGljYWxseQogCiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7CiAgICAgICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAg
ICAgc2V0WSh5KCkgKyByZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCB0
cnVlKSAtIGZvbnQuYXNjZW50KCkpOworICAgICAgICBzZXRZKHkoKSArIGJhc2VsaW5lUG9zaXRp
b24odHJ1ZSkgLSBmb250LmFzY2VudCgpKTsKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigp
IHx8IHN0cmljdE1vZGUpIHsKICAgICAgICAgICAgIHNlbGVjdGlvblRvcCA9IG1pbihzZWxlY3Rp
b25Ub3AsIHkoKSk7CiAgICAgICAgICAgICBzZWxlY3Rpb25Cb3R0b20gPSBtYXgoc2VsZWN0aW9u
Qm90dG9tLCB5KCkgKyBoZWlnaHQoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32289</attachid>
            <date>2009-07-06 01:27:42 -0700</date>
            <delta_ts>2009-07-06 20:21:59 -0700</delta_ts>
            <desc>patch: removed unrelated code change from initial patch</desc>
            <filename>LineMethodsUpdate.patch</filename>
            <type>text/plain</type>
            <size>6409</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDctMDYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIElubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbigpIGFuZCBsaW5lSGVpZ2h0
KCkgbWV0aG9kcworICAgICAgICAoYWRhcHRlZCByZW1haW5pbmcgY29kZSBhY2NvcmRpbmdseSB0
byB1c2UgdGhvc2UgbWV0aG9kcykKKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0
eS4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmxpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2Nl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hI
ZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0
aWNhbGx5KToKKwogMjAwOS0wNy0wNSAgQW50b25pbyBHb21lcyAgPGFudG9uaW8uZ29tZXNAb3Bl
bmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA0NTU1NikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNiArMjAxLDkgQEAgcHVibGljOgogCiAg
ICAgaW50IGhlaWdodCgpIGNvbnN0OwogCisJaW5saW5lIGludCBiYXNlbGluZVBvc2l0aW9uKGJv
b2wgaXNSb290TGluZUJveCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+YmFzZWxpbmVQb3Np
dGlvbihtX2ZpcnN0TGluZSwgaXNSb290TGluZUJveCk7IH0KKwlpbmxpbmUgaW50IGxpbmVIZWln
aHQoYm9vbCBpc1Jvb3RMaW5lQm94KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5saW5lSGVp
Z2h0KG1fZmlyc3RMaW5lLCBpc1Jvb3RMaW5lQm94KTsgfQorCiAgICAgdmlydHVhbCBpbnQgdG9w
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiB5KCk7IH0KICAgICB2aXJ0dWFsIGludCBib3R0b21P
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHkoKSArIGhlaWdodCgpOyB9CiAgICAgdmlydHVhbCBp
bnQgbGVmdE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4geCgpOyB9CkBAIC0yNzYsNyArMjc5LDcg
QEAgcHJvdGVjdGVkOgogI2lmIEVOQUJMRShTVkcpCiAgICAgYm9vbCBtX2lzU1ZHIDogMTsKICNl
bmRpZgotCisgICAgCiAgICAgLy8gZm9yIFJvb3RJbmxpbmVCb3gKICAgICBib29sIG1fZW5kc1dp
dGhCcmVhayA6IDE7ICAvLyBXaGV0aGVyIHRoZSBsaW5lIGVuZHMgd2l0aCBhIDxicj4uCiAgICAg
Ym9vbCBtX2hhc1NlbGVjdGVkQ2hpbGRyZW4gOiAxOyAvLyBXaGV0aGVyIHdlIGhhdmUgYW55IGNo
aWxkcmVuIHNlbGVjdGVkICh0aGlzIGJpdCB3aWxsIGFsc28gYmUgc2V0IGlmIHRoZSA8YnI+IHRo
YXQgdGVybWluYXRlcyBvdXIgbGluZSBpcyBzZWxlY3RlZCkuCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNDU1NTYpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcxLDcgKzM3MSw3IEBAIHZvaWQg
SW5saW5lRmxvd0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGUKICAgICAgICAgaWYgKGN1cnItPnJl
bmRlcmVyKCktPmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0
aW9uZWQgcGxhY2Vob2xkZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCiAgICAgICAgIGlm
IChjdXJyLT55KCkgPT0gUG9zaXRpb25Ub3AgfHwgY3Vyci0+eSgpID09IFBvc2l0aW9uQm90dG9t
KSB7Ci0gICAgICAgICAgICBpbnQgbGluZUhlaWdodCA9IGN1cnItPnJlbmRlcmVyKCktPmxpbmVI
ZWlnaHQobV9maXJzdExpbmUpOworICAgICAgICAgICAgaW50IGxpbmVIZWlnaHQgPSBjdXJyLT5s
aW5lSGVpZ2h0KGZhbHNlKTsKICAgICAgICAgICAgIGlmIChjdXJyLT55KCkgPT0gUG9zaXRpb25U
b3ApIHsKICAgICAgICAgICAgICAgICBpZiAobWF4QXNjZW50ICsgbWF4RGVzY2VudCA8IGxpbmVI
ZWlnaHQpCiAgICAgICAgICAgICAgICAgICAgIG1heERlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gbWF4
QXNjZW50OwpAQCAtNDA0LDExICs0MDQsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRl
TG9naWNhbEJveEhlaQogewogICAgIGlmIChpc1Jvb3RJbmxpbmVCb3goKSkgewogICAgICAgICAv
LyBFeGFtaW5lIG91ciByb290IGJveC4KLSAgICAgICAgaW50IGxpbmVIZWlnaHQgPSByZW5kZXJl
cigpLT5saW5lSGVpZ2h0KG1fZmlyc3RMaW5lLCB0cnVlKTsKLSAgICAgICAgaW50IGJhc2VsaW5l
ID0gcmVuZGVyZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2ZpcnN0TGluZSwgdHJ1ZSk7CisgICAg
ICAgIGludCBoZWlnaHQgPSBsaW5lSGVpZ2h0KHRydWUpOworICAgICAgICBpbnQgYmFzZWxpbmUg
PSBiYXNlbGluZVBvc2l0aW9uKHRydWUpOwogICAgICAgICBpZiAoaGFzVGV4dENoaWxkcmVuKCkg
fHwgc3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaW50IGFzY2VudCA9IGJhc2VsaW5lOwotICAg
ICAgICAgICAgaW50IGRlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gYXNjZW50OworICAgICAgICAgICAg
aW50IGRlc2NlbnQgPSBoZWlnaHQgLSBhc2NlbnQ7CiAgICAgICAgICAgICBpZiAobWF4QXNjZW50
IDwgYXNjZW50KQogICAgICAgICAgICAgICAgIG1heEFzY2VudCA9IGFzY2VudDsKICAgICAgICAg
ICAgIGlmIChtYXhEZXNjZW50IDwgZGVzY2VudCkKQEAgLTQ1Niw4ICs0NTYsOCBAQCB2b2lkIElu
bGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbGluZUhlaWdodCA9IGN1
cnItPnJlbmRlcmVyKCktPmxpbmVIZWlnaHQobV9maXJzdExpbmUpOwotICAgICAgICAgICAgYmFz
ZWxpbmUgPSBjdXJyLT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsK
KyAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBjdXJyLT5saW5lSGVpZ2h0KGZhbHNlKTsKKyAgICAg
ICAgICAgIGJhc2VsaW5lID0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihmYWxzZSk7CiAgICAgICAg
IH0KIAogICAgICAgICBjdXJyLT5zZXRZKHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goY3VyciwgbV9m
aXJzdExpbmUpKTsKQEAgLTQ4NSw4ICs0ODUsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNl
Qm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCYgdG9wUG9zaXRpb24sIGludCYgYm90dG9tUG9zaXRpb24sIGludCYgc2VsZWN0aW9uVG9w
LCBpbnQmIHNlbGVjdGlvbkJvdHRvbSkKIHsKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpCi0g
ICAgICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSByZW5kZXJlcigpLT5iYXNlbGlu
ZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCB0cnVlKSkpOyAvLyBQbGFjZSBvdXIgcm9vdCBib3guCi0g
ICAgCisgICAgICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSBiYXNlbGluZVBvc2l0
aW9uKHRydWUpKSk7IC8vIFBsYWNlIG91ciByb290IGJveC4KKwogICAgIGZvciAoSW5saW5lQm94
KiBjdXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7
CiAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAg
ICAgIGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24ndCBhZmZlY3QgY2Fs
Y3VsYXRpb25zLgpAQCAtNTAxLDExICs1MDEsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFj
ZUJveGVzVmVydGljYWxseQogICAgICAgICBpZiAoY3Vyci0+eSgpID09IFBvc2l0aW9uVG9wKQog
ICAgICAgICAgICAgY3Vyci0+c2V0WSh5UG9zKTsKICAgICAgICAgZWxzZSBpZiAoY3Vyci0+eSgp
ID09IFBvc2l0aW9uQm90dG9tKQotICAgICAgICAgICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVp
Z2h0IC0gY3Vyci0+cmVuZGVyZXIoKS0+bGluZUhlaWdodChtX2ZpcnN0TGluZSkpOworICAgICAg
ICAgICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0IC0gY3Vyci0+bGluZUhlaWdodChmYWxz
ZSkpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICgoaXNJbmxpbmVGbG93ICYmICFz
dGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSAmJiAh
Y3Vyci0+Ym94TW9kZWxPYmplY3QoKS0+aGFzSG9yaXpvbnRhbEJvcmRlcnNPclBhZGRpbmcoKSAm
JiAhc3RyaWN0TW9kZSkKICAgICAgICAgICAgICAgICBjaGlsZEFmZmVjdHNUb3BCb3R0b21Qb3Mg
PSBmYWxzZTsKLSAgICAgICAgICAgIGludCBwb3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5y
ZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAgICAgICAgICAgIGlu
dCBwb3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGZhbHNlKTsK
ICAgICAgICAgICAgIGlmICghY2hpbGRBZmZlY3RzVG9wQm90dG9tUG9zKQogICAgICAgICAgICAg
ICAgIHBvc0FkanVzdCA9IG1heCgwLCBwb3NBZGp1c3QpOwogICAgICAgICAgICAgY3Vyci0+c2V0
WShjdXJyLT55KCkgKyB5UG9zICsgcG9zQWRqdXN0KTsKQEAgLTUyMSw3ICs1MjEsOCBAQCB2b2lk
IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgIGludCBvdmVyZmxv
d0JvdHRvbSA9IDA7CiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJyLT5pc0lubGlu
ZUZsb3dCb3goKSkgewogICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJlbmRl
cmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgbmV3WSArPSBj
dXJyLT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKSAtIGZvbnQuYXNj
ZW50KCk7CisgICAgICAgICAgICBuZXdZICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oZmFsc2Up
IC0gZm9udC5hc2NlbnQoKTsKKwogICAgICAgICAgICAgZm9yIChTaGFkb3dEYXRhKiBzaGFkb3cg
PSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT50ZXh0U2hhZG93KCk7IHNoYWRvdzsgc2hhZG93
ID0gc2hhZG93LT5uZXh0KSB7CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dUb3AgPSBtaW4ob3Zl
cmZsb3dUb3AsIHNoYWRvdy0+eSAtIHNoYWRvdy0+Ymx1cik7CiAgICAgICAgICAgICAgICAgb3Zl
cmZsb3dCb3R0b20gPSBtYXgob3ZlcmZsb3dCb3R0b20sIHNoYWRvdy0+eSArIHNoYWRvdy0+Ymx1
cik7CkBAIC01NjUsNyArNTY2LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzVmVy
dGljYWxseQogCiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7CiAgICAgICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAg
ICAgc2V0WSh5KCkgKyByZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCB0
cnVlKSAtIGZvbnQuYXNjZW50KCkpOworICAgICAgICBzZXRZKHkoKSArIGJhc2VsaW5lUG9zaXRp
b24odHJ1ZSkgLSBmb250LmFzY2VudCgpKTsKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigp
IHx8IHN0cmljdE1vZGUpIHsKICAgICAgICAgICAgIHNlbGVjdGlvblRvcCA9IG1pbihzZWxlY3Rp
b25Ub3AsIHkoKSk7CiAgICAgICAgICAgICBzZWxlY3Rpb25Cb3R0b20gPSBtYXgoc2VsZWN0aW9u
Qm90dG9tLCB5KCkgKyBoZWlnaHQoKSk7Cg==
</data>
<flag name="review"
          id="16756"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32352</attachid>
            <date>2009-07-06 19:34:33 -0700</date>
            <delta_ts>2009-07-06 20:21:59 -0700</delta_ts>
            <desc>patch: update to remove conflicts</desc>
            <filename>LineMethods.patch</filename>
            <type>text/plain</type>
            <size>6115</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDctMDYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIElubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbigpIGFuZCBsaW5lSGVpZ2h0
KCkgbWV0aG9kcworICAgICAgICAoYWRhcHRlZCByZW1haW5pbmcgY29kZSBhY2NvcmRpbmdseSB0
byB1c2UgdGhvc2UgbWV0aG9kcykKKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0
eS4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmxpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2Nl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hI
ZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0
aWNhbGx5KToKKwogMjAwOS0wNy0wNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEJ1ZyAyNzAwMjogQnVpbGQgZml4IHdoZW4gREFTSEJPQVJEX1NVUFBPUlQg
aXMgZGlzYWJsZWQgd2l0aCAtV3VudXNlZC1wYXJhbWV0ZXIKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJv
eC5oCShyZXZpc2lvbiA0NTU1NikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDUsNiArMjA1LDkgQEAgcHVibGljOgogCiAgICAgaW50IGhlaWdo
dCgpIGNvbnN0OwogCisJaW5saW5lIGludCBiYXNlbGluZVBvc2l0aW9uKGJvb2wgaXNSb290TGlu
ZUJveCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2ZpcnN0
TGluZSwgaXNSb290TGluZUJveCk7IH0KKwlpbmxpbmUgaW50IGxpbmVIZWlnaHQoYm9vbCBpc1Jv
b3RMaW5lQm94KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5saW5lSGVpZ2h0KG1fZmlyc3RM
aW5lLCBpc1Jvb3RMaW5lQm94KTsgfQorCiAgICAgdmlydHVhbCBpbnQgdG9wT3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiB5KCk7IH0KICAgICB2aXJ0dWFsIGludCBib3R0b21PdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIHkoKSArIGhlaWdodCgpOyB9CiAgICAgdmlydHVhbCBpbnQgbGVmdE92ZXJm
bG93KCkgY29uc3QgeyByZXR1cm4geCgpOyB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAkocmV2aXNpb24gNDU1NTYpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcxLDcgKzM3MSw3IEBAIHZvaWQgSW5saW5lRmxv
d0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGUKICAgICAgICAgaWYgKGN1cnItPnJlbmRlcmVyKCkt
PmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0aW9uZWQgcGxh
Y2Vob2xkZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCiAgICAgICAgIGlmIChjdXJyLT55
KCkgPT0gUG9zaXRpb25Ub3AgfHwgY3Vyci0+eSgpID09IFBvc2l0aW9uQm90dG9tKSB7Ci0gICAg
ICAgICAgICBpbnQgbGluZUhlaWdodCA9IGN1cnItPnJlbmRlcmVyKCktPmxpbmVIZWlnaHQobV9m
aXJzdExpbmUpOworICAgICAgICAgICAgaW50IGxpbmVIZWlnaHQgPSBjdXJyLT5saW5lSGVpZ2h0
KGZhbHNlKTsKICAgICAgICAgICAgIGlmIChjdXJyLT55KCkgPT0gUG9zaXRpb25Ub3ApIHsKICAg
ICAgICAgICAgICAgICBpZiAobWF4QXNjZW50ICsgbWF4RGVzY2VudCA8IGxpbmVIZWlnaHQpCiAg
ICAgICAgICAgICAgICAgICAgIG1heERlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gbWF4QXNjZW50OwpA
QCAtNDA0LDExICs0MDQsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJv
eEhlaQogewogICAgIGlmIChpc1Jvb3RJbmxpbmVCb3goKSkgewogICAgICAgICAvLyBFeGFtaW5l
IG91ciByb290IGJveC4KLSAgICAgICAgaW50IGxpbmVIZWlnaHQgPSByZW5kZXJlcigpLT5saW5l
SGVpZ2h0KG1fZmlyc3RMaW5lLCB0cnVlKTsKLSAgICAgICAgaW50IGJhc2VsaW5lID0gcmVuZGVy
ZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2ZpcnN0TGluZSwgdHJ1ZSk7CisgICAgICAgIGludCBo
ZWlnaHQgPSBsaW5lSGVpZ2h0KHRydWUpOworICAgICAgICBpbnQgYmFzZWxpbmUgPSBiYXNlbGlu
ZVBvc2l0aW9uKHRydWUpOwogICAgICAgICBpZiAoaGFzVGV4dENoaWxkcmVuKCkgfHwgc3RyaWN0
TW9kZSkgewogICAgICAgICAgICAgaW50IGFzY2VudCA9IGJhc2VsaW5lOwotICAgICAgICAgICAg
aW50IGRlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gYXNjZW50OworICAgICAgICAgICAgaW50IGRlc2Nl
bnQgPSBoZWlnaHQgLSBhc2NlbnQ7CiAgICAgICAgICAgICBpZiAobWF4QXNjZW50IDwgYXNjZW50
KQogICAgICAgICAgICAgICAgIG1heEFzY2VudCA9IGFzY2VudDsKICAgICAgICAgICAgIGlmICht
YXhEZXNjZW50IDwgZGVzY2VudCkKQEAgLTQ1Niw4ICs0NTYsOCBAQCB2b2lkIElubGluZUZsb3dC
b3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbGluZUhlaWdodCA9IGN1cnItPnJlbmRl
cmVyKCktPmxpbmVIZWlnaHQobV9maXJzdExpbmUpOwotICAgICAgICAgICAgYmFzZWxpbmUgPSBj
dXJyLT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAgICAgICAg
ICAgIGxpbmVIZWlnaHQgPSBjdXJyLT5saW5lSGVpZ2h0KGZhbHNlKTsKKyAgICAgICAgICAgIGJh
c2VsaW5lID0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihmYWxzZSk7CiAgICAgICAgIH0KIAogICAg
ICAgICBjdXJyLT5zZXRZKHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goY3VyciwgbV9maXJzdExpbmUp
KTsKQEAgLTQ4NSw4ICs0ODUsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0
aWNhbGx5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgdG9w
UG9zaXRpb24sIGludCYgYm90dG9tUG9zaXRpb24sIGludCYgc2VsZWN0aW9uVG9wLCBpbnQmIHNl
bGVjdGlvbkJvdHRvbSkKIHsKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpCi0gICAgICAgIHNl
dFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSByZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9u
KG1fZmlyc3RMaW5lLCB0cnVlKSkpOyAvLyBQbGFjZSBvdXIgcm9vdCBib3guCi0gICAgCisgICAg
ICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSBiYXNlbGluZVBvc2l0aW9uKHRydWUp
KSk7IC8vIFBsYWNlIG91ciByb290IGJveC4KKwogICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0g
Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CiAgICAgICAg
IGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgIGNvbnRp
bnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24ndCBhZmZlY3QgY2FsY3VsYXRpb25z
LgpAQCAtNTAxLDExICs1MDEsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzVmVy
dGljYWxseQogICAgICAgICBpZiAoY3Vyci0+eSgpID09IFBvc2l0aW9uVG9wKQogICAgICAgICAg
ICAgY3Vyci0+c2V0WSh5UG9zKTsKICAgICAgICAgZWxzZSBpZiAoY3Vyci0+eSgpID09IFBvc2l0
aW9uQm90dG9tKQotICAgICAgICAgICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0IC0gY3Vy
ci0+cmVuZGVyZXIoKS0+bGluZUhlaWdodChtX2ZpcnN0TGluZSkpOworICAgICAgICAgICAgY3Vy
ci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0IC0gY3Vyci0+bGluZUhlaWdodChmYWxzZSkpOwogICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICgoaXNJbmxpbmVGbG93ICYmICFzdGF0aWNfY2Fz
dDxJbmxpbmVGbG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSAmJiAhY3Vyci0+Ym94
TW9kZWxPYmplY3QoKS0+aGFzSG9yaXpvbnRhbEJvcmRlcnNPclBhZGRpbmcoKSAmJiAhc3RyaWN0
TW9kZSkKICAgICAgICAgICAgICAgICBjaGlsZEFmZmVjdHNUb3BCb3R0b21Qb3MgPSBmYWxzZTsK
LSAgICAgICAgICAgIGludCBwb3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5yZW5kZXJlcigp
LT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAgICAgICAgICAgIGludCBwb3NBZGp1
c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGZhbHNlKTsKICAgICAgICAg
ICAgIGlmICghY2hpbGRBZmZlY3RzVG9wQm90dG9tUG9zKQogICAgICAgICAgICAgICAgIHBvc0Fk
anVzdCA9IG1heCgwLCBwb3NBZGp1c3QpOwogICAgICAgICAgICAgY3Vyci0+c2V0WShjdXJyLT55
KCkgKyB5UG9zICsgcG9zQWRqdXN0KTsKQEAgLTUyMSw3ICs1MjEsOCBAQCB2b2lkIElubGluZUZs
b3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgIGludCBvdmVyZmxvd0JvdHRvbSA9
IDA7CiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJyLT5pc0lubGluZUZsb3dCb3go
KSkgewogICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgbmV3WSArPSBjdXJyLT5yZW5k
ZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKSAtIGZvbnQuYXNjZW50KCk7Cisg
ICAgICAgICAgICBuZXdZICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oZmFsc2UpIC0gZm9udC5h
c2NlbnQoKTsKKwogICAgICAgICAgICAgZm9yIChTaGFkb3dEYXRhKiBzaGFkb3cgPSBjdXJyLT5y
ZW5kZXJlcigpLT5zdHlsZSgpLT50ZXh0U2hhZG93KCk7IHNoYWRvdzsgc2hhZG93ID0gc2hhZG93
LT5uZXh0KSB7CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dUb3AgPSBtaW4ob3ZlcmZsb3dUb3As
IHNoYWRvdy0+eSAtIHNoYWRvdy0+Ymx1cik7CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dCb3R0
b20gPSBtYXgob3ZlcmZsb3dCb3R0b20sIHNoYWRvdy0+eSArIHNoYWRvdy0+Ymx1cik7CkBAIC01
NjUsNyArNTY2LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzVmVydGljYWxseQog
CiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7CiAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQg
PSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAgICAgc2V0WSh5
KCkgKyByZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCB0cnVlKSAtIGZv
bnQuYXNjZW50KCkpOworICAgICAgICBzZXRZKHkoKSArIGJhc2VsaW5lUG9zaXRpb24odHJ1ZSkg
LSBmb250LmFzY2VudCgpKTsKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8IHN0cmlj
dE1vZGUpIHsKICAgICAgICAgICAgIHNlbGVjdGlvblRvcCA9IG1pbihzZWxlY3Rpb25Ub3AsIHko
KSk7CiAgICAgICAgICAgICBzZWxlY3Rpb25Cb3R0b20gPSBtYXgoc2VsZWN0aW9uQm90dG9tLCB5
KCkgKyBoZWlnaHQoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32356</attachid>
            <date>2009-07-06 20:21:59 -0700</date>
            <delta_ts>2009-07-06 20:29:39 -0700</delta_ts>
            <desc>patch: remove tabs</desc>
            <filename>LineMethodsSpc.patch</filename>
            <type>text/plain</type>
            <size>6351</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU3OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDctMDYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIElubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbigpIGFuZCBsaW5lSGVpZ2h0
KCkgbWV0aG9kcworICAgICAgICAoYWRhcHRlZCByZW1haW5pbmcgY29kZSBhY2NvcmRpbmdseSB0
byB1c2UgdGhvc2UgbWV0aG9kcykKKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0
eS4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmxpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2Nl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hI
ZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0
aWNhbGx5KToKKwogMjAwOS0wNy0wNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEJ1ZyAyNzAwMjogQnVpbGQgZml4IHdoZW4gREFTSEJPQVJEX1NVUFBPUlQg
aXMgZGlzYWJsZWQgd2l0aCAtV3VudXNlZC1wYXJhbWV0ZXIKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJv
eC5oCShyZXZpc2lvbiA0NTU3OCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDUsNiArMjA1LDkgQEAgcHVibGljOgogCiAgICAgaW50IGhlaWdo
dCgpIGNvbnN0OwogCisgICAgaW5saW5lIGludCBiYXNlbGluZVBvc2l0aW9uKGJvb2wgaXNSb290
TGluZUJveCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2Zp
cnN0TGluZSwgaXNSb290TGluZUJveCk7IH0KKyAgICBpbmxpbmUgaW50IGxpbmVIZWlnaHQoYm9v
bCBpc1Jvb3RMaW5lQm94KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5saW5lSGVpZ2h0KG1f
Zmlyc3RMaW5lLCBpc1Jvb3RMaW5lQm94KTsgfQorCiAgICAgdmlydHVhbCBpbnQgdG9wT3ZlcmZs
b3coKSBjb25zdCB7IHJldHVybiB5KCk7IH0KICAgICB2aXJ0dWFsIGludCBib3R0b21PdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIHkoKSArIGhlaWdodCgpOyB9CiAgICAgdmlydHVhbCBpbnQgbGVm
dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4geCgpOyB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkocmV2aXNpb24gNDU1NzgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcxLDcgKzM3MSw3IEBAIHZvaWQgSW5s
aW5lRmxvd0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGUKICAgICAgICAgaWYgKGN1cnItPnJlbmRl
cmVyKCktPmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0aW9u
ZWQgcGxhY2Vob2xkZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCiAgICAgICAgIGlmIChj
dXJyLT55KCkgPT0gUG9zaXRpb25Ub3AgfHwgY3Vyci0+eSgpID09IFBvc2l0aW9uQm90dG9tKSB7
Ci0gICAgICAgICAgICBpbnQgbGluZUhlaWdodCA9IGN1cnItPnJlbmRlcmVyKCktPmxpbmVIZWln
aHQobV9maXJzdExpbmUpOworICAgICAgICAgICAgaW50IGxpbmVIZWlnaHQgPSBjdXJyLT5saW5l
SGVpZ2h0KGZhbHNlKTsKICAgICAgICAgICAgIGlmIChjdXJyLT55KCkgPT0gUG9zaXRpb25Ub3Ap
IHsKICAgICAgICAgICAgICAgICBpZiAobWF4QXNjZW50ICsgbWF4RGVzY2VudCA8IGxpbmVIZWln
aHQpCiAgICAgICAgICAgICAgICAgICAgIG1heERlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gbWF4QXNj
ZW50OwpAQCAtNDA0LDExICs0MDQsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlTG9n
aWNhbEJveEhlaQogewogICAgIGlmIChpc1Jvb3RJbmxpbmVCb3goKSkgewogICAgICAgICAvLyBF
eGFtaW5lIG91ciByb290IGJveC4KLSAgICAgICAgaW50IGxpbmVIZWlnaHQgPSByZW5kZXJlcigp
LT5saW5lSGVpZ2h0KG1fZmlyc3RMaW5lLCB0cnVlKTsKLSAgICAgICAgaW50IGJhc2VsaW5lID0g
cmVuZGVyZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2ZpcnN0TGluZSwgdHJ1ZSk7CisgICAgICAg
IGludCBoZWlnaHQgPSBsaW5lSGVpZ2h0KHRydWUpOworICAgICAgICBpbnQgYmFzZWxpbmUgPSBi
YXNlbGluZVBvc2l0aW9uKHRydWUpOwogICAgICAgICBpZiAoaGFzVGV4dENoaWxkcmVuKCkgfHwg
c3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaW50IGFzY2VudCA9IGJhc2VsaW5lOwotICAgICAg
ICAgICAgaW50IGRlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gYXNjZW50OworICAgICAgICAgICAgaW50
IGRlc2NlbnQgPSBoZWlnaHQgLSBhc2NlbnQ7CiAgICAgICAgICAgICBpZiAobWF4QXNjZW50IDwg
YXNjZW50KQogICAgICAgICAgICAgICAgIG1heEFzY2VudCA9IGFzY2VudDsKICAgICAgICAgICAg
IGlmIChtYXhEZXNjZW50IDwgZGVzY2VudCkKQEAgLTQ1Niw4ICs0NTYsOCBAQCB2b2lkIElubGlu
ZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbGluZUhlaWdodCA9IGN1cnIt
PnJlbmRlcmVyKCktPmxpbmVIZWlnaHQobV9maXJzdExpbmUpOwotICAgICAgICAgICAgYmFzZWxp
bmUgPSBjdXJyLT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAg
ICAgICAgICAgIGxpbmVIZWlnaHQgPSBjdXJyLT5saW5lSGVpZ2h0KGZhbHNlKTsKKyAgICAgICAg
ICAgIGJhc2VsaW5lID0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihmYWxzZSk7CiAgICAgICAgIH0K
IAogICAgICAgICBjdXJyLT5zZXRZKHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goY3VyciwgbV9maXJz
dExpbmUpKTsKQEAgLTQ4NSw4ICs0ODUsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94
ZXNWZXJ0aWNhbGx5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCYgdG9wUG9zaXRpb24sIGludCYgYm90dG9tUG9zaXRpb24sIGludCYgc2VsZWN0aW9uVG9wLCBp
bnQmIHNlbGVjdGlvbkJvdHRvbSkKIHsKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpCi0gICAg
ICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSByZW5kZXJlcigpLT5iYXNlbGluZVBv
c2l0aW9uKG1fZmlyc3RMaW5lLCB0cnVlKSkpOyAvLyBQbGFjZSBvdXIgcm9vdCBib3guCi0gICAg
CisgICAgICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSBiYXNlbGluZVBvc2l0aW9u
KHRydWUpKSk7IC8vIFBsYWNlIG91ciByb290IGJveC4KKwogICAgIGZvciAoSW5saW5lQm94KiBj
dXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CiAg
ICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24ndCBhZmZlY3QgY2FsY3Vs
YXRpb25zLgpAQCAtNTAxLDExICs1MDEsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJv
eGVzVmVydGljYWxseQogICAgICAgICBpZiAoY3Vyci0+eSgpID09IFBvc2l0aW9uVG9wKQogICAg
ICAgICAgICAgY3Vyci0+c2V0WSh5UG9zKTsKICAgICAgICAgZWxzZSBpZiAoY3Vyci0+eSgpID09
IFBvc2l0aW9uQm90dG9tKQotICAgICAgICAgICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0
IC0gY3Vyci0+cmVuZGVyZXIoKS0+bGluZUhlaWdodChtX2ZpcnN0TGluZSkpOworICAgICAgICAg
ICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0IC0gY3Vyci0+bGluZUhlaWdodChmYWxzZSkp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICgoaXNJbmxpbmVGbG93ICYmICFzdGF0
aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSAmJiAhY3Vy
ci0+Ym94TW9kZWxPYmplY3QoKS0+aGFzSG9yaXpvbnRhbEJvcmRlcnNPclBhZGRpbmcoKSAmJiAh
c3RyaWN0TW9kZSkKICAgICAgICAgICAgICAgICBjaGlsZEFmZmVjdHNUb3BCb3R0b21Qb3MgPSBm
YWxzZTsKLSAgICAgICAgICAgIGludCBwb3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5yZW5k
ZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAgICAgICAgICAgIGludCBw
b3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGZhbHNlKTsKICAg
ICAgICAgICAgIGlmICghY2hpbGRBZmZlY3RzVG9wQm90dG9tUG9zKQogICAgICAgICAgICAgICAg
IHBvc0FkanVzdCA9IG1heCgwLCBwb3NBZGp1c3QpOwogICAgICAgICAgICAgY3Vyci0+c2V0WShj
dXJyLT55KCkgKyB5UG9zICsgcG9zQWRqdXN0KTsKQEAgLTUyMSw3ICs1MjEsOCBAQCB2b2lkIElu
bGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgIGludCBvdmVyZmxvd0Jv
dHRvbSA9IDA7CiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJyLT5pc0lubGluZUZs
b3dCb3goKSkgewogICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJlbmRlcmVy
KCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgbmV3WSArPSBjdXJy
LT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKSAtIGZvbnQuYXNjZW50
KCk7CisgICAgICAgICAgICBuZXdZICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oZmFsc2UpIC0g
Zm9udC5hc2NlbnQoKTsKKwogICAgICAgICAgICAgZm9yIChTaGFkb3dEYXRhKiBzaGFkb3cgPSBj
dXJyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT50ZXh0U2hhZG93KCk7IHNoYWRvdzsgc2hhZG93ID0g
c2hhZG93LT5uZXh0KSB7CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dUb3AgPSBtaW4ob3ZlcmZs
b3dUb3AsIHNoYWRvdy0+eSAtIHNoYWRvdy0+Ymx1cik7CiAgICAgICAgICAgICAgICAgb3ZlcmZs
b3dCb3R0b20gPSBtYXgob3ZlcmZsb3dCb3R0b20sIHNoYWRvdy0+eSArIHNoYWRvdy0+Ymx1cik7
CkBAIC01NjUsNyArNTY2LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzVmVydGlj
YWxseQogCiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7CiAgICAgICAgIGNvbnN0IEZvbnQm
IGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAgICAg
c2V0WSh5KCkgKyByZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCB0cnVl
KSAtIGZvbnQuYXNjZW50KCkpOworICAgICAgICBzZXRZKHkoKSArIGJhc2VsaW5lUG9zaXRpb24o
dHJ1ZSkgLSBmb250LmFzY2VudCgpKTsKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8
IHN0cmljdE1vZGUpIHsKICAgICAgICAgICAgIHNlbGVjdGlvblRvcCA9IG1pbihzZWxlY3Rpb25U
b3AsIHkoKSk7CiAgICAgICAgICAgICBzZWxlY3Rpb25Cb3R0b20gPSBtYXgoc2VsZWN0aW9uQm90
dG9tLCB5KCkgKyBoZWlnaHQoKSk7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3J1YnkvcGFyc2Ut
cnAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcnVieS9w
YXJzZS1ycC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32357</attachid>
            <date>2009-07-06 20:29:39 -0700</date>
            <delta_ts>2009-07-06 20:32:08 -0700</delta_ts>
            <desc>patch: remove tabs AND spurious file references</desc>
            <filename>LineMethodsSpc.patch</filename>
            <type>text/plain</type>
            <size>6121</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU3OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDctMDYgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIElubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbigpIGFuZCBsaW5lSGVpZ2h0
KCkgbWV0aG9kcworICAgICAgICAoYWRhcHRlZCByZW1haW5pbmcgY29kZSBhY2NvcmRpbmdseSB0
byB1c2UgdGhvc2UgbWV0aG9kcykKKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0
eS4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUJveDo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmxpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2Nl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hI
ZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0
aWNhbGx5KToKKwogMjAwOS0wNy0wNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEJ1ZyAyNzAwMjogQnVpbGQgZml4IHdoZW4gREFTSEJPQVJEX1NVUFBPUlQg
aXMgZGlzYWJsZWQgd2l0aCAtV3VudXNlZC1wYXJhbWV0ZXIKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJv
eC5oCShyZXZpc2lvbiA0NTU3OCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDUsNiArMjA1LDkgQEAgcHVibGljOgogCiAgICAgaW50IGhlaWdo
dCgpIGNvbnN0OwogCisgICAgaW5saW5lIGludCBiYXNlbGluZVBvc2l0aW9uKGJvb2wgaXNSb290
TGluZUJveCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2Zp
cnN0TGluZSwgaXNSb290TGluZUJveCk7IH0KKyAgICBpbmxpbmUgaW50IGxpbmVIZWlnaHQoYm9v
bCBpc1Jvb3RMaW5lQm94KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5saW5lSGVpZ2h0KG1f
Zmlyc3RMaW5lLCBpc1Jvb3RMaW5lQm94KTsgfQorCiAgICAgdmlydHVhbCBpbnQgdG9wT3ZlcmZs
b3coKSBjb25zdCB7IHJldHVybiB5KCk7IH0KICAgICB2aXJ0dWFsIGludCBib3R0b21PdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIHkoKSArIGhlaWdodCgpOyB9CiAgICAgdmlydHVhbCBpbnQgbGVm
dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4geCgpOyB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkocmV2aXNpb24gNDU1NzgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcxLDcgKzM3MSw3IEBAIHZvaWQgSW5s
aW5lRmxvd0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGUKICAgICAgICAgaWYgKGN1cnItPnJlbmRl
cmVyKCktPmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0aW9u
ZWQgcGxhY2Vob2xkZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCiAgICAgICAgIGlmIChj
dXJyLT55KCkgPT0gUG9zaXRpb25Ub3AgfHwgY3Vyci0+eSgpID09IFBvc2l0aW9uQm90dG9tKSB7
Ci0gICAgICAgICAgICBpbnQgbGluZUhlaWdodCA9IGN1cnItPnJlbmRlcmVyKCktPmxpbmVIZWln
aHQobV9maXJzdExpbmUpOworICAgICAgICAgICAgaW50IGxpbmVIZWlnaHQgPSBjdXJyLT5saW5l
SGVpZ2h0KGZhbHNlKTsKICAgICAgICAgICAgIGlmIChjdXJyLT55KCkgPT0gUG9zaXRpb25Ub3Ap
IHsKICAgICAgICAgICAgICAgICBpZiAobWF4QXNjZW50ICsgbWF4RGVzY2VudCA8IGxpbmVIZWln
aHQpCiAgICAgICAgICAgICAgICAgICAgIG1heERlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gbWF4QXNj
ZW50OwpAQCAtNDA0LDExICs0MDQsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlTG9n
aWNhbEJveEhlaQogewogICAgIGlmIChpc1Jvb3RJbmxpbmVCb3goKSkgewogICAgICAgICAvLyBF
eGFtaW5lIG91ciByb290IGJveC4KLSAgICAgICAgaW50IGxpbmVIZWlnaHQgPSByZW5kZXJlcigp
LT5saW5lSGVpZ2h0KG1fZmlyc3RMaW5lLCB0cnVlKTsKLSAgICAgICAgaW50IGJhc2VsaW5lID0g
cmVuZGVyZXIoKS0+YmFzZWxpbmVQb3NpdGlvbihtX2ZpcnN0TGluZSwgdHJ1ZSk7CisgICAgICAg
IGludCBoZWlnaHQgPSBsaW5lSGVpZ2h0KHRydWUpOworICAgICAgICBpbnQgYmFzZWxpbmUgPSBi
YXNlbGluZVBvc2l0aW9uKHRydWUpOwogICAgICAgICBpZiAoaGFzVGV4dENoaWxkcmVuKCkgfHwg
c3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaW50IGFzY2VudCA9IGJhc2VsaW5lOwotICAgICAg
ICAgICAgaW50IGRlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gYXNjZW50OworICAgICAgICAgICAgaW50
IGRlc2NlbnQgPSBoZWlnaHQgLSBhc2NlbnQ7CiAgICAgICAgICAgICBpZiAobWF4QXNjZW50IDwg
YXNjZW50KQogICAgICAgICAgICAgICAgIG1heEFzY2VudCA9IGFzY2VudDsKICAgICAgICAgICAg
IGlmIChtYXhEZXNjZW50IDwgZGVzY2VudCkKQEAgLTQ1Niw4ICs0NTYsOCBAQCB2b2lkIElubGlu
ZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbGluZUhlaWdodCA9IGN1cnIt
PnJlbmRlcmVyKCktPmxpbmVIZWlnaHQobV9maXJzdExpbmUpOwotICAgICAgICAgICAgYmFzZWxp
bmUgPSBjdXJyLT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAg
ICAgICAgICAgIGxpbmVIZWlnaHQgPSBjdXJyLT5saW5lSGVpZ2h0KGZhbHNlKTsKKyAgICAgICAg
ICAgIGJhc2VsaW5lID0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihmYWxzZSk7CiAgICAgICAgIH0K
IAogICAgICAgICBjdXJyLT5zZXRZKHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goY3VyciwgbV9maXJz
dExpbmUpKTsKQEAgLTQ4NSw4ICs0ODUsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94
ZXNWZXJ0aWNhbGx5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCYgdG9wUG9zaXRpb24sIGludCYgYm90dG9tUG9zaXRpb24sIGludCYgc2VsZWN0aW9uVG9wLCBp
bnQmIHNlbGVjdGlvbkJvdHRvbSkKIHsKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpCi0gICAg
ICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSByZW5kZXJlcigpLT5iYXNlbGluZVBv
c2l0aW9uKG1fZmlyc3RMaW5lLCB0cnVlKSkpOyAvLyBQbGFjZSBvdXIgcm9vdCBib3guCi0gICAg
CisgICAgICAgIHNldFkoeVBvcyArIG1heCgwLCBtYXhBc2NlbnQgLSBiYXNlbGluZVBvc2l0aW9u
KHRydWUpKSk7IC8vIFBsYWNlIG91ciByb290IGJveC4KKwogICAgIGZvciAoSW5saW5lQm94KiBj
dXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CiAg
ICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24ndCBhZmZlY3QgY2FsY3Vs
YXRpb25zLgpAQCAtNTAxLDExICs1MDEsMTEgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJv
eGVzVmVydGljYWxseQogICAgICAgICBpZiAoY3Vyci0+eSgpID09IFBvc2l0aW9uVG9wKQogICAg
ICAgICAgICAgY3Vyci0+c2V0WSh5UG9zKTsKICAgICAgICAgZWxzZSBpZiAoY3Vyci0+eSgpID09
IFBvc2l0aW9uQm90dG9tKQotICAgICAgICAgICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0
IC0gY3Vyci0+cmVuZGVyZXIoKS0+bGluZUhlaWdodChtX2ZpcnN0TGluZSkpOworICAgICAgICAg
ICAgY3Vyci0+c2V0WSh5UG9zICsgbWF4SGVpZ2h0IC0gY3Vyci0+bGluZUhlaWdodChmYWxzZSkp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICgoaXNJbmxpbmVGbG93ICYmICFzdGF0
aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSAmJiAhY3Vy
ci0+Ym94TW9kZWxPYmplY3QoKS0+aGFzSG9yaXpvbnRhbEJvcmRlcnNPclBhZGRpbmcoKSAmJiAh
c3RyaWN0TW9kZSkKICAgICAgICAgICAgICAgICBjaGlsZEFmZmVjdHNUb3BCb3R0b21Qb3MgPSBm
YWxzZTsKLSAgICAgICAgICAgIGludCBwb3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5yZW5k
ZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKTsKKyAgICAgICAgICAgIGludCBw
b3NBZGp1c3QgPSBtYXhBc2NlbnQgLSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGZhbHNlKTsKICAg
ICAgICAgICAgIGlmICghY2hpbGRBZmZlY3RzVG9wQm90dG9tUG9zKQogICAgICAgICAgICAgICAg
IHBvc0FkanVzdCA9IG1heCgwLCBwb3NBZGp1c3QpOwogICAgICAgICAgICAgY3Vyci0+c2V0WShj
dXJyLT55KCkgKyB5UG9zICsgcG9zQWRqdXN0KTsKQEAgLTUyMSw3ICs1MjEsOCBAQCB2b2lkIElu
bGluZUZsb3dCb3g6OnBsYWNlQm94ZXNWZXJ0aWNhbGx5CiAgICAgICAgIGludCBvdmVyZmxvd0Jv
dHRvbSA9IDA7CiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJyLT5pc0lubGluZUZs
b3dCb3goKSkgewogICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJlbmRlcmVy
KCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgbmV3WSArPSBjdXJy
LT5yZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lKSAtIGZvbnQuYXNjZW50
KCk7CisgICAgICAgICAgICBuZXdZICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oZmFsc2UpIC0g
Zm9udC5hc2NlbnQoKTsKKwogICAgICAgICAgICAgZm9yIChTaGFkb3dEYXRhKiBzaGFkb3cgPSBj
dXJyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT50ZXh0U2hhZG93KCk7IHNoYWRvdzsgc2hhZG93ID0g
c2hhZG93LT5uZXh0KSB7CiAgICAgICAgICAgICAgICAgb3ZlcmZsb3dUb3AgPSBtaW4ob3ZlcmZs
b3dUb3AsIHNoYWRvdy0+eSAtIHNoYWRvdy0+Ymx1cik7CiAgICAgICAgICAgICAgICAgb3ZlcmZs
b3dCb3R0b20gPSBtYXgob3ZlcmZsb3dCb3R0b20sIHNoYWRvdy0+eSArIHNoYWRvdy0+Ymx1cik7
CkBAIC01NjUsNyArNTY2LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzVmVydGlj
YWxseQogCiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7CiAgICAgICAgIGNvbnN0IEZvbnQm
IGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAgICAg
c2V0WSh5KCkgKyByZW5kZXJlcigpLT5iYXNlbGluZVBvc2l0aW9uKG1fZmlyc3RMaW5lLCB0cnVl
KSAtIGZvbnQuYXNjZW50KCkpOworICAgICAgICBzZXRZKHkoKSArIGJhc2VsaW5lUG9zaXRpb24o
dHJ1ZSkgLSBmb250LmFzY2VudCgpKTsKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8
IHN0cmljdE1vZGUpIHsKICAgICAgICAgICAgIHNlbGVjdGlvblRvcCA9IG1pbihzZWxlY3Rpb25U
b3AsIHkoKSk7CiAgICAgICAgICAgICBzZWxlY3Rpb25Cb3R0b20gPSBtYXgoc2VsZWN0aW9uQm90
dG9tLCB5KCkgKyBoZWlnaHQoKSk7Cg==
</data>
<flag name="review"
          id="16813"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>