<?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>34339</bug_id>
          
          <creation_ts>2010-01-29 12:12:24 -0800</creation_ts>
          <short_desc>[OpenVG] Implement more graphics primitives</short_desc>
          <delta_ts>2010-01-29 16:49:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>33987</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jakob Petsovits">jpetsovits</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>185926</commentid>
    <comment_count>0</comment_count>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2010-01-29 12:12:24 -0800</bug_when>
    <thetext>[OpenVG] Implement more graphics primitives</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185927</commentid>
    <comment_count>1</comment_count>
      <attachid>47726</attachid>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2010-01-29 12:17:08 -0800</bug_when>
    <thetext>Created attachment 47726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185934</commentid>
    <comment_count>2</comment_count>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2010-01-29 12:27:21 -0800</bug_when>
    <thetext>This patch should be pretty straightforward, and does exactly what the title says.

I&apos;m also cleaning up some unnecessary indirections in GraphicsContextOpenVG&apos;s rectangle wrapper code, which don&apos;t make a lot of sense since (after the last patch has been changed from its original version) m_data is now the painter itself, instead of a wrapper class that holds the painter.

Please review, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185980</commentid>
    <comment_count>3</comment_count>
      <attachid>47726</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-29 15:23:48 -0800</bug_when>
    <thetext>Comment on attachment 47726
Patch

LGTM, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186005</commentid>
    <comment_count>4</comment_count>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2010-01-29 16:49:09 -0800</bug_when>
    <thetext>Committed r54089: &lt;http://trac.webkit.org/changeset/54089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47726</attachid>
            <date>2010-01-29 12:17:08 -0800</date>
            <delta_ts>2010-01-29 15:23:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34339-20100129151707.patch</filename>
            <type>text/plain</type>
            <size>16553</size>
            <attacher name="Jakob Petsovits">jpetsovits</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGY0MDZhYi4uZWI1MTkzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMC0wMS0yOSAgSmFrb2IgUGV0c292
aXRzICA8anBldHNvdml0c0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtPcGVuVkddIEltcGxlbWVudCBtb3JlIGdyYXBoaWNzIHByaW1p
dGl2ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0
MzM5CisKKyAgICAgICAgQWRkcyBsaW5lcywgYXJjcywgZWxsaXBzZXMsIHBvbHlnb25zIGFuZCBy
b3VuZGVkCisgICAgICAgIHJlY3RhbmdsZXMgdG8gUGFpbnRlck9wZW5WRyBhbmQgR3JhcGhpY3ND
b250ZXh0LgorCisgICAgICAgIFJvdW5kZWQgcmVjdHMgc3VwcG9ydCBieSBFbGkgRmlkbGVyIDxl
ZmlkbGVyQHJpbS5jb20+LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL0dy
YXBoaWNzQ29udGV4dE9wZW5WRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0Vs
bGlwc2UpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpzdHJva2VBcmMpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3Q29udmV4UG9seWdvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmZpbGxSZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZmlsbFJvdW5kZWRSZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyk6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQ6OmNsZWFyUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQ6OnN0cm9rZVJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWlu
dGVyT3BlblZHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhaW50ZXJPcGVuVkc6OmRyYXdSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlBhaW50ZXJPcGVuVkc6OmRyYXdSb3VuZGVkUmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWludGVyT3BlblZHOjpkcmF3TGluZSk6CisgICAgICAgIChXZWJD
b3JlOjpQYWludGVyT3BlblZHOjpkcmF3QXJjKToKKyAgICAgICAgKFdlYkNvcmU6OlBhaW50ZXJP
cGVuVkc6OmRyYXdFbGxpcHNlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhaW50ZXJPcGVuVkc6OmRy
YXdQb2x5Z29uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9w
ZW5WRy5oOgorCiAyMDEwLTAxLTI4ICBKYWtvYiBQZXRzb3ZpdHMgIDxqcGV0c292aXRzQHJpbS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9HcmFwaGljc0NvbnRleHRPcGVuVkcuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvR3JhcGhpY3NDb250ZXh0T3BlblZH
LmNwcAppbmRleCBiMzE1YTAyLi41ZWQ4OTJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW52Zy9HcmFwaGljc0NvbnRleHRPcGVuVkcuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL0dyYXBoaWNzQ29udGV4dE9wZW5WRy5jcHAKQEAgLTEw
Niw5ICsxMDYsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmUoY29uc3QgSW50UG9p
bnQmIGZyb20sIGNvbnN0IEludFBvaW50JiB0bykKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIFVOVVNFRF9Q
QVJBTShmcm9tKTsKLSAgICBVTlVTRURfUEFSQU0odG8pOworICAgIG1fZGF0YS0+ZHJhd0xpbmUo
ZnJvbSwgdG8pOwogfQogCiAvKioKQEAgLTExOSw4ICsxMTcsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0VsbGlwc2UoY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBpZiAocGFpbnRpbmdE
aXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IFVOVVNFRF9QQVJBTShyZWN0KTsKKyAgICBtX2RhdGEtPmRyYXdFbGxpcHNlKHJlY3QpOwogfQog
CiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c3Ryb2tlQXJjKGNvbnN0IEludFJlY3QmIHJlY3QsIGlu
dCBzdGFydEFuZ2xlLCBpbnQgYW5nbGVTcGFuKQpAQCAtMTI4LDEwICsxMjUsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6c3Ryb2tlQXJjKGNvbnN0IEludFJlY3QmIHJlY3QsIGludCBzdGFydEFu
Z2xlLCBpbnQgYW5nbGVTcAogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJlY3QpOwot
ICAgIFVOVVNFRF9QQVJBTShzdGFydEFuZ2xlKTsKLSAgICBVTlVTRURfUEFSQU0oYW5nbGVTcGFu
KTsKKyAgICBtX2RhdGEtPmRyYXdBcmMocmVjdCwgc3RhcnRBbmdsZSwgYW5nbGVTcGFuLCBWR19T
VFJPS0VfUEFUSCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3Q29udmV4UG9seWdv
bihzaXplX3QgbnVtUG9pbnRzLCBjb25zdCBGbG9hdFBvaW50KiBwb2ludHMsIGJvb2wgc2hvdWxk
QW50aWFsaWFzKQpAQCAtMTM5LDEwICsxMzMsOSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d0NvbnZleFBvbHlnb24oc2l6ZV90IG51bVBvaW50cywgY29uc3QgRmxvYXRQb2ludCogcG9pbgog
ICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG5vdElt
cGxlbWVudGVkKCk7Ci0gICAgVU5VU0VEX1BBUkFNKG51bVBvaW50cyk7Ci0gICAgVU5VU0VEX1BB
UkFNKHBvaW50cyk7Ci0gICAgVU5VU0VEX1BBUkFNKHNob3VsZEFudGlhbGlhcyk7CisgICAgbV9k
YXRhLT5kcmF3UG9seWdvbihudW1Qb2ludHMsIHBvaW50cyk7CisKKyAgICBVTlVTRURfUEFSQU0o
c2hvdWxkQW50aWFsaWFzKTsgLy8gRklYTUUKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmZp
bGxQYXRoKCkKQEAgLTE3NCwxMSArMTY3LDEwIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxs
UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvciwgQ29sb3JTCiAg
ICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUGFpbnRl
ck9wZW5WRyogcGFpbnRlciA9IG1fZGF0YTsKLSAgICBDb2xvciBvbGRDb2xvciA9IHBhaW50ZXIt
PmZpbGxDb2xvcigpOwotICAgIHBhaW50ZXItPnNldEZpbGxDb2xvcihjb2xvcik7Ci0gICAgcGFp
bnRlci0+ZHJhd1JlY3QocmVjdCwgVkdfRklMTF9QQVRIKTsKLSAgICBwYWludGVyLT5zZXRGaWxs
Q29sb3Iob2xkQ29sb3IpOworICAgIENvbG9yIG9sZENvbG9yID0gbV9kYXRhLT5maWxsQ29sb3Io
KTsKKyAgICBtX2RhdGEtPnNldEZpbGxDb2xvcihjb2xvcik7CisgICAgbV9kYXRhLT5kcmF3UmVj
dChyZWN0LCBWR19GSUxMX1BBVEgpOworICAgIG1fZGF0YS0+c2V0RmlsbENvbG9yKG9sZENvbG9y
KTsKIAogICAgIFVOVVNFRF9QQVJBTShjb2xvclNwYWNlKTsgLy8gRklYTUUKIH0KQEAgLTE4OCwx
NCArMTgwLDEyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUm91bmRlZFJlY3QoY29uc3Qg
SW50UmVjdCYgcmVjdCwgY29uc3QgSW50U2l6ZSYgdG9wTGVmCiAgICAgaWYgKHBhaW50aW5nRGlz
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBV
TlVTRURfUEFSQU0ocmVjdCk7Ci0gICAgVU5VU0VEX1BBUkFNKHRvcExlZnQpOwotICAgIFVOVVNF
RF9QQVJBTSh0b3BSaWdodCk7Ci0gICAgVU5VU0VEX1BBUkFNKGJvdHRvbUxlZnQpOwotICAgIFVO
VVNFRF9QQVJBTShib3R0b21SaWdodCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvbG9yKTsKLSAgICBV
TlVTRURfUEFSQU0oY29sb3JTcGFjZSk7CisgICAgQ29sb3Igb2xkQ29sb3IgPSBtX2RhdGEtPmZp
bGxDb2xvcigpOworICAgIG1fZGF0YS0+c2V0RmlsbENvbG9yKGNvbG9yKTsKKyAgICBtX2RhdGEt
PmRyYXdSb3VuZGVkUmVjdChyZWN0LCB0b3BMZWZ0LCB0b3BSaWdodCwgYm90dG9tTGVmdCwgYm90
dG9tUmlnaHQsIFZHX0ZJTExfUEFUSCk7CisgICAgbV9kYXRhLT5zZXRGaWxsQ29sb3Iob2xkQ29s
b3IpOworCisgICAgVU5VU0VEX1BBUkFNKGNvbG9yU3BhY2UpOyAvLyBGSVhNRQogfQogCiB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6YmVnaW5QYXRoKCkKQEAgLTI1MCwxNCArMjQwLDEzIEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3Rm9jdXNSaW5nKGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVj
dHMsIGludCB3aWR0aCwgaW50CiAgICAgICAgIGZpbmFsRm9jdXNSZWN0LnVuaXRlKGZvY3VzUmVj
dCk7CiAgICAgfQogCi0gICAgUGFpbnRlck9wZW5WRyogcGFpbnRlciA9IG1fZGF0YTsKLSAgICBT
dHJva2VTdHlsZSBvbGRTdHlsZSA9IHBhaW50ZXItPnN0cm9rZVN0eWxlKCk7Ci0gICAgQ29sb3Ig
b2xkU3Ryb2tlQ29sb3IgPSBwYWludGVyLT5zdHJva2VDb2xvcigpOwotICAgIHBhaW50ZXItPnNl
dFN0cm9rZVN0eWxlKERhc2hlZFN0cm9rZSk7Ci0gICAgcGFpbnRlci0+c2V0U3Ryb2tlQ29sb3Io
Y29sb3IpOworICAgIFN0cm9rZVN0eWxlIG9sZFN0eWxlID0gbV9kYXRhLT5zdHJva2VTdHlsZSgp
OworICAgIENvbG9yIG9sZFN0cm9rZUNvbG9yID0gbV9kYXRhLT5zdHJva2VDb2xvcigpOworICAg
IG1fZGF0YS0+c2V0U3Ryb2tlU3R5bGUoRGFzaGVkU3Ryb2tlKTsKKyAgICBtX2RhdGEtPnNldFN0
cm9rZUNvbG9yKGNvbG9yKTsKICAgICBzdHJva2VSZWN0KEZsb2F0UmVjdChmaW5hbEZvY3VzUmVj
dCksIDEuZik7Ci0gICAgcGFpbnRlci0+c2V0U3Ryb2tlU3R5bGUob2xkU3R5bGUpOwotICAgIHBh
aW50ZXItPnNldFN0cm9rZUNvbG9yKG9sZFN0cm9rZUNvbG9yKTsKKyAgICBtX2RhdGEtPnNldFN0
cm9rZVN0eWxlKG9sZFN0eWxlKTsKKyAgICBtX2RhdGEtPnNldFN0cm9rZUNvbG9yKG9sZFN0cm9r
ZUNvbG9yKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25z
dCBJbnRQb2ludCYgb3JpZ2luLCBpbnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCkBAIC0yNjgsOSAr
MjU3LDExIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByCiAgICAgaWYgKHdpZHRoIDw9IDApCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgVU5VU0VEX1BBUkFN
KG9yaWdpbik7Ci0gICAgVU5VU0VEX1BBUkFNKHdpZHRoKTsKKyAgICBTdHJva2VTdHlsZSBvbGRT
dHlsZSA9IG1fZGF0YS0+c3Ryb2tlU3R5bGUoKTsKKyAgICBtX2RhdGEtPnNldFN0cm9rZVN0eWxl
KFNvbGlkU3Ryb2tlKTsKKyAgICBkcmF3TGluZShvcmlnaW4sIG9yaWdpbiArIEludFNpemUod2lk
dGgsIDApKTsKKyAgICBtX2RhdGEtPnNldFN0cm9rZVN0eWxlKG9sZFN0eWxlKTsKKwogICAgIFVO
VVNFRF9QQVJBTShwcmludGluZyk7CiB9CiAKQEAgLTMzNSwxMiArMzI2LDEwIEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpjbGVhclJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIGlmIChw
YWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFBhaW50ZXJPcGVuVkcq
IHBhaW50ZXIgPSBtX2RhdGE7Ci0KLSAgICBDb21wb3NpdGVPcGVyYXRvciBvcCA9IHBhaW50ZXIt
PmNvbXBvc2l0ZU9wZXJhdGlvbigpOwotICAgIHBhaW50ZXItPnNldENvbXBvc2l0ZU9wZXJhdGlv
bihDb21wb3NpdGVDbGVhcik7Ci0gICAgcGFpbnRlci0+ZHJhd1JlY3QocmVjdCwgVkdfRklMTF9Q
QVRIKTsKLSAgICBwYWludGVyLT5zZXRDb21wb3NpdGVPcGVyYXRpb24ob3ApOworICAgIENvbXBv
c2l0ZU9wZXJhdG9yIG9wID0gbV9kYXRhLT5jb21wb3NpdGVPcGVyYXRpb24oKTsKKyAgICBtX2Rh
dGEtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVDbGVhcik7CisgICAgbV9kYXRhLT5k
cmF3UmVjdChyZWN0LCBWR19GSUxMX1BBVEgpOworICAgIG1fZGF0YS0+c2V0Q29tcG9zaXRlT3Bl
cmF0aW9uKG9wKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVJlY3QoY29uc3Qg
RmxvYXRSZWN0JiByZWN0KQpAQCAtMzU2LDEyICszNDUsMTAgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OnN0cm9rZVJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBmbG9hdCBsaW5lV2lkdGgpCiAg
ICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUGFpbnRl
ck9wZW5WRyogcGFpbnRlciA9IG1fZGF0YTsKLQotICAgIGZsb2F0IG9sZFRoaWNrbmVzcyA9IHBh
aW50ZXItPnN0cm9rZVRoaWNrbmVzcygpOwotICAgIHBhaW50ZXItPnNldFN0cm9rZVRoaWNrbmVz
cyhsaW5lV2lkdGgpOwotICAgIHBhaW50ZXItPmRyYXdSZWN0KHJlY3QsIFZHX1NUUk9LRV9QQVRI
KTsKLSAgICBwYWludGVyLT5zZXRTdHJva2VUaGlja25lc3Mob2xkVGhpY2tuZXNzKTsKKyAgICBm
bG9hdCBvbGRUaGlja25lc3MgPSBtX2RhdGEtPnN0cm9rZVRoaWNrbmVzcygpOworICAgIG1fZGF0
YS0+c2V0U3Ryb2tlVGhpY2tuZXNzKGxpbmVXaWR0aCk7CisgICAgbV9kYXRhLT5kcmF3UmVjdChy
ZWN0LCBWR19TVFJPS0VfUEFUSCk7CisgICAgbV9kYXRhLT5zZXRTdHJva2VUaGlja25lc3Mob2xk
VGhpY2tuZXNzKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldExpbmVDYXAoTGluZUNh
cCBsYykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50
ZXJPcGVuVkcuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9w
ZW5WRy5jcHAKaW5kZXggYjAzZDVmMy4uM2I3Y2Y4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5jcHAKQEAgLTY5NCw4ICs2OTQsNyBA
QCB2b2lkIFBhaW50ZXJPcGVuVkc6OmRyYXdSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgVkdi
aXRmaWVsZCBzcGVjaWZpZWRQYWludE1vZAogICAgICAgICAxLjAgLyogc2NhbGUgKi8sIDAuMCAv
KiBiaWFzICovLAogICAgICAgICA1IC8qIGV4cGVjdGVkIG51bWJlciBvZiBzZWdtZW50cyAqLywK
ICAgICAgICAgNSAvKiBleHBlY3RlZCBudW1iZXIgb2YgdG90YWwgY29vcmRpbmF0ZXMgKi8sCi0g
ICAgICAgIFZHX1BBVEhfQ0FQQUJJTElUWV9BUFBFTkRfVE8KLSAgICApOworICAgICAgICBWR19Q
QVRIX0NBUEFCSUxJVFlfQVBQRU5EX1RPKTsKICAgICBBU1NFUlRfVkdfTk9fRVJST1IoKTsKIAog
ICAgIGlmICh2Z3VSZWN0KHBhdGgsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCBy
ZWN0LmhlaWdodCgpKSA9PSBWR1VfTk9fRVJST1IpIHsKQEAgLTcwNyw2ICs3MDYsMjE5IEBAIHZv
aWQgUGFpbnRlck9wZW5WRzo6ZHJhd1JlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBWR2JpdGZp
ZWxkIHNwZWNpZmllZFBhaW50TW9kCiAgICAgQVNTRVJUX1ZHX05PX0VSUk9SKCk7CiB9CiAKK3Zv
aWQgUGFpbnRlck9wZW5WRzo6ZHJhd1JvdW5kZWRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwg
Y29uc3QgSW50U2l6ZSYgdG9wTGVmdCwgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHQsIGNvbnN0IElu
dFNpemUmIGJvdHRvbUxlZnQsIGNvbnN0IEludFNpemUmIGJvdHRvbVJpZ2h0LCBWR2JpdGZpZWxk
IHNwZWNpZmllZFBhaW50TW9kZXMpCit7CisgICAgQVNTRVJUKG1fc3RhdGUpOworCisgICAgVkdi
aXRmaWVsZCBwYWludE1vZGVzID0gMDsKKyAgICBpZiAoIW1fc3RhdGUtPnN0cm9rZURpc2FibGVk
KCkpCisgICAgICAgIHBhaW50TW9kZXMgfD0gVkdfU1RST0tFX1BBVEg7CisgICAgaWYgKCFtX3N0
YXRlLT5maWxsRGlzYWJsZWQoKSkKKyAgICAgICAgcGFpbnRNb2RlcyB8PSBWR19GSUxMX1BBVEg7
CisKKyAgICBwYWludE1vZGVzICY9IHNwZWNpZmllZFBhaW50TW9kZXM7CisKKyAgICBpZiAoIXBh
aW50TW9kZXMpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc3VyZmFjZS0+bWFrZUN1cnJlbnQo
KTsKKworICAgIFZHUGF0aCBwYXRoID0gdmdDcmVhdGVQYXRoKAorICAgICAgICBWR19QQVRIX0ZP
Uk1BVF9TVEFOREFSRCwgVkdfUEFUSF9EQVRBVFlQRV9GLAorICAgICAgICAxLjAgLyogc2NhbGUg
Ki8sIDAuMCAvKiBiaWFzICovLAorICAgICAgICAxMCAvKiBleHBlY3RlZCBudW1iZXIgb2Ygc2Vn
bWVudHMgKi8sCisgICAgICAgIDI1IC8qIGV4cGVjdGVkIG51bWJlciBvZiB0b3RhbCBjb29yZGlu
YXRlcyAqLywKKyAgICAgICAgVkdfUEFUSF9DQVBBQklMSVRZX0FQUEVORF9UTyk7CisgICAgQVNT
RVJUX1ZHX05PX0VSUk9SKCk7CisKKyAgICAvLyBjbGFtcCBjb3JuZXIgYXJjIHNpemVzCisgICAg
RmxvYXRTaXplIGNsYW1wZWRUb3BMZWZ0ID0gRmxvYXRTaXplKHRvcExlZnQpLnNocnVua1RvKHJl
Y3Quc2l6ZSgpKS5leHBhbmRlZFRvKEZsb2F0U2l6ZSgpKTsKKyAgICBGbG9hdFNpemUgY2xhbXBl
ZFRvcFJpZ2h0ID0gRmxvYXRTaXplKHRvcFJpZ2h0KS5zaHJ1bmtUbyhyZWN0LnNpemUoKSkuZXhw
YW5kZWRUbyhGbG9hdFNpemUoKSk7CisgICAgRmxvYXRTaXplIGNsYW1wZWRCb3R0b21MZWZ0ID0g
RmxvYXRTaXplKGJvdHRvbUxlZnQpLnNocnVua1RvKHJlY3Quc2l6ZSgpKS5leHBhbmRlZFRvKEZs
b2F0U2l6ZSgpKTsKKyAgICBGbG9hdFNpemUgY2xhbXBlZEJvdHRvbVJpZ2h0ID0gRmxvYXRTaXpl
KGJvdHRvbVJpZ2h0KS5zaHJ1bmtUbyhyZWN0LnNpemUoKSkuZXhwYW5kZWRUbyhGbG9hdFNpemUo
KSk7CisKKyAgICAvLyBBcyBPcGVuVkcncyBjb29yZGluYXRlIHN5c3RlbSBpcyBmbGlwcGVkIGlu
IGNvbXBhcmlzb24gdG8gV2ViS2l0J3MsCisgICAgLy8gd2UgaGF2ZSB0byBzcGVjaWZ5IHRoZSBv
cHBvc2l0ZSB2YWx1ZSBmb3IgdGhlICJjbG9ja3dpc2UiIHZhbHVlLgorICAgIHN0YXRpYyBjb25z
dCBWR3VieXRlIHBhdGhTZWdtZW50c1tdID0geworICAgICAgICBWR19NT1ZFX1RPX0FCUywKKyAg
ICAgICAgVkdfSExJTkVfVE9fUkVMLAorICAgICAgICBWR19TQ0NXQVJDX1RPX1JFTCwKKyAgICAg
ICAgVkdfVkxJTkVfVE9fUkVMLAorICAgICAgICBWR19TQ0NXQVJDX1RPX1JFTCwKKyAgICAgICAg
VkdfSExJTkVfVE9fUkVMLAorICAgICAgICBWR19TQ0NXQVJDX1RPX1JFTCwKKyAgICAgICAgVkdf
VkxJTkVfVE9fUkVMLAorICAgICAgICBWR19TQ0NXQVJDX1RPX1JFTCwKKyAgICAgICAgVkdfQ0xP
U0VfUEFUSAorICAgIH07CisgICAgLy8gQWxzbywgdGhlIHJvdW5kZWQgcmVjdGFuZ2xlIHBhdGgg
cHJvY2VlZHMgZnJvbSB0aGUgdG9wIHRvIHRoZSBib3R0b20sCisgICAgLy8gcmVxdWlyaW5nIGhl
aWdodCBkaXN0YW5jZXMgYW5kIGNsYW1wZWQgcmFkaXVzIHNpemVzIHRvIGJlIGZsaXBwZWQuCisg
ICAgY29uc3QgVkdmbG9hdCBwYXRoRGF0YVtdID0geworICAgICAgICByZWN0LngoKSArIGNsYW1w
ZWRUb3BMZWZ0LndpZHRoKCksIHJlY3QueSgpLAorICAgICAgICByZWN0LndpZHRoKCkgLSBjbGFt
cGVkVG9wTGVmdC53aWR0aCgpIC0gY2xhbXBlZFRvcFJpZ2h0LndpZHRoKCksCisgICAgICAgIGNs
YW1wZWRUb3BSaWdodC53aWR0aCgpLCBjbGFtcGVkVG9wUmlnaHQuaGVpZ2h0KCksIDAsIGNsYW1w
ZWRUb3BSaWdodC53aWR0aCgpLCBjbGFtcGVkVG9wUmlnaHQuaGVpZ2h0KCksCisgICAgICAgIHJl
Y3QuaGVpZ2h0KCkgLSBjbGFtcGVkVG9wUmlnaHQuaGVpZ2h0KCkgLSBjbGFtcGVkQm90dG9tUmln
aHQuaGVpZ2h0KCksCisgICAgICAgIGNsYW1wZWRCb3R0b21SaWdodC53aWR0aCgpLCBjbGFtcGVk
Qm90dG9tUmlnaHQuaGVpZ2h0KCksIDAsIC1jbGFtcGVkQm90dG9tUmlnaHQud2lkdGgoKSwgY2xh
bXBlZEJvdHRvbVJpZ2h0LmhlaWdodCgpLAorICAgICAgICAtKHJlY3Qud2lkdGgoKSAtIGNsYW1w
ZWRCb3R0b21MZWZ0LndpZHRoKCkgLSBjbGFtcGVkQm90dG9tUmlnaHQud2lkdGgoKSksCisgICAg
ICAgIGNsYW1wZWRCb3R0b21MZWZ0LndpZHRoKCksIGNsYW1wZWRCb3R0b21MZWZ0LmhlaWdodCgp
LCAwLCAtY2xhbXBlZEJvdHRvbUxlZnQud2lkdGgoKSwgLWNsYW1wZWRCb3R0b21MZWZ0LmhlaWdo
dCgpLAorICAgICAgICAtKHJlY3QuaGVpZ2h0KCkgLSBjbGFtcGVkVG9wTGVmdC5oZWlnaHQoKSAt
IGNsYW1wZWRCb3R0b21MZWZ0LmhlaWdodCgpKSwKKyAgICAgICAgY2xhbXBlZFRvcExlZnQud2lk
dGgoKSwgY2xhbXBlZFRvcExlZnQuaGVpZ2h0KCksIDAsIGNsYW1wZWRUb3BMZWZ0LndpZHRoKCks
IC1jbGFtcGVkVG9wTGVmdC5oZWlnaHQoKSwKKyAgICB9OworCisgICAgdmdBcHBlbmRQYXRoRGF0
YShwYXRoLCAxMCwgcGF0aFNlZ21lbnRzLCBwYXRoRGF0YSk7CisgICAgdmdEcmF3UGF0aChwYXRo
LCBwYWludE1vZGVzKTsKKyAgICB2Z0Rlc3Ryb3lQYXRoKHBhdGgpOworICAgIEFTU0VSVF9WR19O
T19FUlJPUigpOworfQorCit2b2lkIFBhaW50ZXJPcGVuVkc6OmRyYXdMaW5lKGNvbnN0IEludFBv
aW50JiBmcm9tLCBjb25zdCBJbnRQb2ludCYgdG8pCit7CisgICAgQVNTRVJUKG1fc3RhdGUpOwor
CisgICAgaWYgKG1fc3RhdGUtPnN0cm9rZURpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fc3VyZmFjZS0+bWFrZUN1cnJlbnQoKTsKKworICAgIFZHUGF0aCBwYXRoID0gdmdDcmVh
dGVQYXRoKAorICAgICAgICBWR19QQVRIX0ZPUk1BVF9TVEFOREFSRCwgVkdfUEFUSF9EQVRBVFlQ
RV9GLAorICAgICAgICAxLjAgLyogc2NhbGUgKi8sIDAuMCAvKiBiaWFzICovLAorICAgICAgICAy
IC8qIGV4cGVjdGVkIG51bWJlciBvZiBzZWdtZW50cyAqLywKKyAgICAgICAgNCAvKiBleHBlY3Rl
ZCBudW1iZXIgb2YgdG90YWwgY29vcmRpbmF0ZXMgKi8sCisgICAgICAgIFZHX1BBVEhfQ0FQQUJJ
TElUWV9BUFBFTkRfVE8pOworICAgIEFTU0VSVF9WR19OT19FUlJPUigpOworCisgICAgVkdVRXJy
b3JDb2RlIGVycm9yQ29kZTsKKworICAgIC8vIFRyeSB0byBhbGlnbiBsaW5lcyB0byBwaXhlbHMs
IGNlbnRlcmluZyB0aGVtIGJldHdlZW4gcGl4ZWxzIGZvciBvZGQgdGhpY2tuZXNzIHZhbHVlcy4K
KyAgICBpZiAoZm1vZChtX3N0YXRlLT5zdHJva2VUaGlja25lc3MgKyAwLjUsIDIuMCkgPCAxLjAp
CisgICAgICAgIGVycm9yQ29kZSA9IHZndUxpbmUocGF0aCwgZnJvbS54KCksIGZyb20ueSgpLCB0
by54KCksIHRvLnkoKSk7CisgICAgZWxzZSBpZiAoKHRvLnkoKSAtIGZyb20ueSgpKSA+ICh0by54
KCkgLSBmcm9tLngoKSkpIC8vIG1vcmUgdmVydGljYWwgdGhhbiBob3Jpem9udGFsCisgICAgICAg
IGVycm9yQ29kZSA9IHZndUxpbmUocGF0aCwgZnJvbS54KCkgKyAwLjUsIGZyb20ueSgpLCB0by54
KCkgKyAwLjUsIHRvLnkoKSk7CisgICAgZWxzZQorICAgICAgICBlcnJvckNvZGUgPSB2Z3VMaW5l
KHBhdGgsIGZyb20ueCgpLCBmcm9tLnkoKSArIDAuNSwgdG8ueCgpLCB0by55KCkgKyAwLjUpOwor
CisgICAgaWYgKGVycm9yQ29kZSA9PSBWR1VfTk9fRVJST1IpIHsKKyAgICAgICAgdmdEcmF3UGF0
aChwYXRoLCBWR19TVFJPS0VfUEFUSCk7CisgICAgICAgIEFTU0VSVF9WR19OT19FUlJPUigpOwor
ICAgIH0KKworICAgIHZnRGVzdHJveVBhdGgocGF0aCk7CisgICAgQVNTRVJUX1ZHX05PX0VSUk9S
KCk7Cit9CisKK3ZvaWQgUGFpbnRlck9wZW5WRzo6ZHJhd0FyYyhjb25zdCBJbnRSZWN0JiByZWN0
LCBpbnQgc3RhcnRBbmdsZSwgaW50IGFuZ2xlU3BhbiwgVkdiaXRmaWVsZCBzcGVjaWZpZWRQYWlu
dE1vZGVzKQoreworICAgIEFTU0VSVChtX3N0YXRlKTsKKworICAgIFZHYml0ZmllbGQgcGFpbnRN
b2RlcyA9IDA7CisgICAgaWYgKCFtX3N0YXRlLT5zdHJva2VEaXNhYmxlZCgpKQorICAgICAgICBw
YWludE1vZGVzIHw9IFZHX1NUUk9LRV9QQVRIOworICAgIGlmICghbV9zdGF0ZS0+ZmlsbERpc2Fi
bGVkKCkpCisgICAgICAgIHBhaW50TW9kZXMgfD0gVkdfRklMTF9QQVRIOworCisgICAgcGFpbnRN
b2RlcyAmPSBzcGVjaWZpZWRQYWludE1vZGVzOworCisgICAgaWYgKCFwYWludE1vZGVzKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX3N1cmZhY2UtPm1ha2VDdXJyZW50KCk7CisKKyAgICBWR1Bh
dGggcGF0aCA9IHZnQ3JlYXRlUGF0aCgKKyAgICAgICAgVkdfUEFUSF9GT1JNQVRfU1RBTkRBUkQs
IFZHX1BBVEhfREFUQVRZUEVfRiwKKyAgICAgICAgMS4wIC8qIHNjYWxlICovLCAwLjAgLyogYmlh
cyAqLywKKyAgICAgICAgMiAvKiBleHBlY3RlZCBudW1iZXIgb2Ygc2VnbWVudHMgKi8sCisgICAg
ICAgIDQgLyogZXhwZWN0ZWQgbnVtYmVyIG9mIHRvdGFsIGNvb3JkaW5hdGVzICovLAorICAgICAg
ICBWR19QQVRIX0NBUEFCSUxJVFlfQVBQRU5EX1RPKTsKKyAgICBBU1NFUlRfVkdfTk9fRVJST1Io
KTsKKworICAgIGlmICh2Z3VBcmMocGF0aCwgcmVjdC54KCkgKyByZWN0LndpZHRoKCkgLyAyLjAs
IHJlY3QueSgpICsgcmVjdC5oZWlnaHQoKSAvIDIuMCwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdo
dCgpLCAtc3RhcnRBbmdsZSwgLWFuZ2xlU3BhbiwgVkdVX0FSQ19PUEVOKSA9PSBWR1VfTk9fRVJS
T1IpIHsKKyAgICAgICAgdmdEcmF3UGF0aChwYXRoLCBWR19TVFJPS0VfUEFUSCk7CisgICAgICAg
IEFTU0VSVF9WR19OT19FUlJPUigpOworICAgIH0KKworICAgIHZnRGVzdHJveVBhdGgocGF0aCk7
CisgICAgQVNTRVJUX1ZHX05PX0VSUk9SKCk7Cit9CisKK3ZvaWQgUGFpbnRlck9wZW5WRzo6ZHJh
d0VsbGlwc2UoY29uc3QgSW50UmVjdCYgcmVjdCwgVkdiaXRmaWVsZCBzcGVjaWZpZWRQYWludE1v
ZGVzKQoreworICAgIEFTU0VSVChtX3N0YXRlKTsKKworICAgIFZHYml0ZmllbGQgcGFpbnRNb2Rl
cyA9IDA7CisgICAgaWYgKCFtX3N0YXRlLT5zdHJva2VEaXNhYmxlZCgpKQorICAgICAgICBwYWlu
dE1vZGVzIHw9IFZHX1NUUk9LRV9QQVRIOworICAgIGlmICghbV9zdGF0ZS0+ZmlsbERpc2FibGVk
KCkpCisgICAgICAgIHBhaW50TW9kZXMgfD0gVkdfRklMTF9QQVRIOworCisgICAgcGFpbnRNb2Rl
cyAmPSBzcGVjaWZpZWRQYWludE1vZGVzOworCisgICAgaWYgKCFwYWludE1vZGVzKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX3N1cmZhY2UtPm1ha2VDdXJyZW50KCk7CisKKyAgICBWR1BhdGgg
cGF0aCA9IHZnQ3JlYXRlUGF0aCgKKyAgICAgICAgVkdfUEFUSF9GT1JNQVRfU1RBTkRBUkQsIFZH
X1BBVEhfREFUQVRZUEVfRiwKKyAgICAgICAgMS4wIC8qIHNjYWxlICovLCAwLjAgLyogYmlhcyAq
LywKKyAgICAgICAgNCAvKiBleHBlY3RlZCBudW1iZXIgb2Ygc2VnbWVudHMgKi8sCisgICAgICAg
IDEyIC8qIGV4cGVjdGVkIG51bWJlciBvZiB0b3RhbCBjb29yZGluYXRlcyAqLywKKyAgICAgICAg
VkdfUEFUSF9DQVBBQklMSVRZX0FQUEVORF9UTyk7CisgICAgQVNTRVJUX1ZHX05PX0VSUk9SKCk7
CisKKyAgICBpZiAodmd1RWxsaXBzZShwYXRoLCByZWN0LngoKSArIHJlY3Qud2lkdGgoKSAvIDIu
MCwgcmVjdC55KCkgKyByZWN0LmhlaWdodCgpIC8gMi4wLCByZWN0LndpZHRoKCksIHJlY3QuaGVp
Z2h0KCkpID09IFZHVV9OT19FUlJPUikgeworICAgICAgICB2Z0RyYXdQYXRoKHBhdGgsIHBhaW50
TW9kZXMpOworICAgICAgICBBU1NFUlRfVkdfTk9fRVJST1IoKTsKKyAgICB9CisKKyAgICB2Z0Rl
c3Ryb3lQYXRoKHBhdGgpOworICAgIEFTU0VSVF9WR19OT19FUlJPUigpOworfQorCit2b2lkIFBh
aW50ZXJPcGVuVkc6OmRyYXdQb2x5Z29uKHNpemVfdCBudW1Qb2ludHMsIGNvbnN0IEZsb2F0UG9p
bnQqIHBvaW50cywgVkdiaXRmaWVsZCBzcGVjaWZpZWRQYWludE1vZGVzKQoreworICAgIEFTU0VS
VChtX3N0YXRlKTsKKworICAgIFZHYml0ZmllbGQgcGFpbnRNb2RlcyA9IDA7CisgICAgaWYgKCFt
X3N0YXRlLT5zdHJva2VEaXNhYmxlZCgpKQorICAgICAgICBwYWludE1vZGVzIHw9IFZHX1NUUk9L
RV9QQVRIOworICAgIGlmICghbV9zdGF0ZS0+ZmlsbERpc2FibGVkKCkpCisgICAgICAgIHBhaW50
TW9kZXMgfD0gVkdfRklMTF9QQVRIOworCisgICAgcGFpbnRNb2RlcyAmPSBzcGVjaWZpZWRQYWlu
dE1vZGVzOworCisgICAgaWYgKCFwYWludE1vZGVzKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X3N1cmZhY2UtPm1ha2VDdXJyZW50KCk7CisKKyAgICAvLyBQYXRoIHNlZ21lbnRzOiBhbGwgcG9p
bnRzICsgImNsb3NlIHBhdGgiLgorICAgIGNvbnN0IFZHaW50IG51bVNlZ21lbnRzID0gbnVtUG9p
bnRzICsgMTsKKyAgICBjb25zdCBWR2ludCBudW1Db29yZGluYXRlcyA9IG51bVBvaW50cyAqIDI7
CisKKyAgICBWR1BhdGggcGF0aCA9IHZnQ3JlYXRlUGF0aCgKKyAgICAgICAgVkdfUEFUSF9GT1JN
QVRfU1RBTkRBUkQsIFZHX1BBVEhfREFUQVRZUEVfRiwKKyAgICAgICAgMS4wIC8qIHNjYWxlICov
LCAwLjAgLyogYmlhcyAqLywKKyAgICAgICAgbnVtU2VnbWVudHMgLyogZXhwZWN0ZWQgbnVtYmVy
IG9mIHNlZ21lbnRzICovLAorICAgICAgICBudW1Db29yZGluYXRlcyAvKiBleHBlY3RlZCBudW1i
ZXIgb2YgdG90YWwgY29vcmRpbmF0ZXMgKi8sCisgICAgICAgIFZHX1BBVEhfQ0FQQUJJTElUWV9B
UFBFTkRfVE8pOworICAgIEFTU0VSVF9WR19OT19FUlJPUigpOworCisgICAgVmVjdG9yPFZHZmxv
YXQ+IHZnUG9pbnRzKG51bUNvb3JkaW5hdGVzKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG51
bVBvaW50czsgKytpKSB7CisgICAgICAgIHZnUG9pbnRzW2kqMl0gICAgID0gcG9pbnRzW2ldLngo
KTsKKyAgICAgICAgdmdQb2ludHNbaSoyICsgMV0gPSBwb2ludHNbaV0ueSgpOworICAgIH0KKwor
ICAgIGlmICh2Z3VQb2x5Z29uKHBhdGgsIHZnUG9pbnRzLmRhdGEoKSwgbnVtUG9pbnRzLCBWR19U
UlVFIC8qIGNsb3NlZCAqLykgPT0gVkdVX05PX0VSUk9SKSB7CisgICAgICAgIHZnRHJhd1BhdGgo
cGF0aCwgcGFpbnRNb2Rlcyk7CisgICAgICAgIEFTU0VSVF9WR19OT19FUlJPUigpOworICAgIH0K
KworICAgIHZnRGVzdHJveVBhdGgocGF0aCk7CisgICAgQVNTRVJUX1ZHX05PX0VSUk9SKCk7Cit9
CisKIHZvaWQgUGFpbnRlck9wZW5WRzo6c2F2ZShQYWludGVyT3BlblZHOjpTYXZlTW9kZSBzYXZl
TW9kZSkKIHsKICAgICBBU1NFUlQobV9zdGF0ZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKaW5kZXggMzhjZGZhZC4uNjkzNmVlZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaApA
QCAtODYsNiArODYsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QW50aWFsaWFzaW5nRW5hYmxl
ZChib29sKTsKIAogICAgIHZvaWQgZHJhd1JlY3QoY29uc3QgRmxvYXRSZWN0JiwgVkdiaXRmaWVs
ZCBwYWludE1vZGVzID0gKFZHX1NUUk9LRV9QQVRIIHwgVkdfRklMTF9QQVRIKSk7CisgICAgdm9p
ZCBkcmF3Um91bmRlZFJlY3QoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgSW50U2l6ZSYgdG9wTGVm
dCwgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHQsIGNvbnN0IEludFNpemUmIGJvdHRvbUxlZnQsIGNv
bnN0IEludFNpemUmIGJvdHRvbVJpZ2h0LCBWR2JpdGZpZWxkIHBhaW50TW9kZXMgPSAoVkdfU1RS
T0tFX1BBVEggfCBWR19GSUxMX1BBVEgpKTsKKyAgICB2b2lkIGRyYXdMaW5lKGNvbnN0IEludFBv
aW50JiBmcm9tLCBjb25zdCBJbnRQb2ludCYgdG8pOworICAgIHZvaWQgZHJhd0FyYyhjb25zdCBJ
bnRSZWN0JiBlbGxpcHNlQm91bmRzLCBpbnQgc3RhcnRBbmdsZSwgaW50IGFuZ2xlU3BhbiwgVkdi
aXRmaWVsZCBwYWludE1vZGVzID0gKFZHX1NUUk9LRV9QQVRIIHwgVkdfRklMTF9QQVRIKSk7Cisg
ICAgdm9pZCBkcmF3RWxsaXBzZShjb25zdCBJbnRSZWN0JiBib3VuZHMsIFZHYml0ZmllbGQgcGFp
bnRNb2RlcyA9IChWR19TVFJPS0VfUEFUSCB8IFZHX0ZJTExfUEFUSCkpOworICAgIHZvaWQgZHJh
d1BvbHlnb24oc2l6ZV90IG51bVBvaW50cywgY29uc3QgRmxvYXRQb2ludCogcG9pbnRzLCBWR2Jp
dGZpZWxkIHBhaW50TW9kZXMgPSAoVkdfU1RST0tFX1BBVEggfCBWR19GSUxMX1BBVEgpKTsKIAog
ICAgIHZvaWQgc2NhbGUoY29uc3QgRmxvYXRTaXplJiBzY2FsZUZhY3RvcnMpOwogICAgIHZvaWQg
cm90YXRlKGZsb2F0IHJhZGlhbnMpOwo=
</data>
<flag name="review"
          id="30253"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>