<?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>103143</bug_id>
          
          <creation_ts>2012-11-23 07:46:12 -0800</creation_ts>
          <short_desc>GraphicsSurface should only store its size in a single place.</short_desc>
          <delta_ts>2012-11-26 04:33:08 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zeno Albisser">zeno</reporter>
          <assigned_to name="Zeno Albisser">zeno</assigned_to>
          <cc>dino</cc>
    
    <cc>kenneth</cc>
    
    <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>774557</commentid>
    <comment_count>0</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-23 07:46:12 -0800</bug_when>
    <thetext>GraphicsSurface should only store its size in a single place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774563</commentid>
    <comment_count>1</comment_count>
      <attachid>175810</attachid>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-23 07:55:00 -0800</bug_when>
    <thetext>Created attachment 175810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774820</commentid>
    <comment_count>2</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-24 06:44:58 -0800</bug_when>
    <thetext>Sorry Kenneth, i messed up here.
There is something missing in this patch.

I need to add a ctor for GraphicsSurfacePrivate that takes a winId as an argument as well.
I&apos;ll upload an updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774821</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-24 06:53:47 -0800</bug_when>
    <thetext>OK fine!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774830</commentid>
    <comment_count>4</comment_count>
      <attachid>175857</attachid>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-24 07:36:07 -0800</bug_when>
    <thetext>Created attachment 175857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774833</commentid>
    <comment_count>5</comment_count>
      <attachid>175857</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-24 07:52:12 -0800</bug_when>
    <thetext>Comment on attachment 175857
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=175857&amp;action=review

&gt; Source/WebCore/ChangeLog:25
&gt; +            Retreive the size from GraphicsSurfacePrivate where necessary.

retrieve*

&gt; Source/WebCore/ChangeLog:39
&gt; +            Retreive the size from GraphicsSurfacePrivate where necessary.

retrieve*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775351</commentid>
    <comment_count>6</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-11-26 04:33:08 -0800</bug_when>
    <thetext>Committed r135706: &lt;http://trac.webkit.org/changeset/135706&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175810</attachid>
            <date>2012-11-23 07:55:00 -0800</date>
            <delta_ts>2012-11-24 07:36:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103143-20121123165251.patch</filename>
            <type>text/plain</type>
            <size>11889</size>
            <attacher name="Zeno Albisser">zeno</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZmNzVmMTEzY2Q3ZTVm
MDQ0OWEzZGZiNzYwYzI2NTY5OTI5ZWEzMC4uYjNjYTNiZTNlNjk3MTE5NmNhOTVlMDdmNGY1ODA1
NThlNjZmMDQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDEyLTExLTIzICBaZW5v
IEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgogCisgICAgICAgIEdyYXBoaWNzU3VyZmFjZSBz
aG91bGQgb25seSBzdG9yZSBpdHMgc2l6ZSBpbiBhIHNpbmdsZSBwbGFjZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzE0MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRFByaXZhdGU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZSk6CisgICAgICAgICAgICBD
b3NtZXRpY3Mgb25seS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFw
aGljc1N1cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlOjpzaXpl
KToKKyAgICAgICAgICAgIFJldHVybiB0aGUgc2l6ZSBhcyByZWNlaXZlZCBmcm9tIHRoZSBwbGF0
Zm9ybSBhYnN0cmFjdGlvbi4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NTdXJmYWNlOjpHcmFwaGljc1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oOgorICAgICAgICAoR3JhcGhpY3NTdXJm
YWNlKToKKyAgICAgICAgICAgIFJlbW92ZSBkYXRhIG1lbWJlciBtX3NpemUuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VQcml2YXRlOjpHcmFwaGljc1N1cmZhY2VQ
cml2YXRlKToKKyAgICAgICAgICAgIEFsd2F5cyB0YWtlIHRoZSBzaXplIG9mIHRoZSBHcmFwaGlj
c1N1cmZhY2UgYXMgYW4gYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZh
Y2VQcml2YXRlOjpzaXplKToKKyAgICAgICAgKEdyYXBoaWNzU3VyZmFjZVByaXZhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVBhaW50VG9UZXh0dXJlTWFw
cGVyKToKKyAgICAgICAgICAgIFJldHJlaXZlIHRoZSBzaXplIGZyb20gR3JhcGhpY3NTdXJmYWNl
UHJpdmF0ZSB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZh
Y2U6OnBsYXRmb3JtU2l6ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1JbXBvcnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3N1cmZhY2VzL3F0L0dyYXBoaWNzU3VyZmFjZUdMWC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc1N1cmZhY2VQcml2YXRlOjpjcmVhdGVQaXhtYXApOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NTdXJmYWNlUHJpdmF0ZTo6c2l6ZSk6CisgICAgICAgICAgICBRdWVyeSB0
aGUgc2l6ZSBvZiB0aGUgR3JhcGhpY3NTdXJmYWNlIGJhY2tpbmcgZnJvbSBYLgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVBhaW50VG9UZXh0dXJlTWFwcGVyKToK
KyAgICAgICAgICAgIFJldHJlaXZlIHRoZSBzaXplIGZyb20gR3JhcGhpY3NTdXJmYWNlUHJpdmF0
ZSB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2U6OnBs
YXRmb3JtU2l6ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzU3VyZmFjZTo6cGxhdGZvcm1JbXBvcnQpOgorCisyMDEyLTExLTIzICBaZW5vIEFsYmlzc2Vy
ICA8emVub0B3ZWJraXQub3JnPgorCiAgICAgICAgIFtRdF0gR3JhcGhpY3NDb250ZXh0M0RRdCBt
YWtlcyB3cm9uZyBzdXJmYWNlIGN1cnJlbnQuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMxMzYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCAx
ZWFkMTVkMTgzN2RiY2JkNzZlOTJlYjUxMzJiMGIzZWVhOTVjZTA3Li4zNTMzYWRhOTZhNDc0ZTVi
ZGZmZDM5NTVlZDRjNzNkYjIyYzM4NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTQ0
LDkgKzE0NCw4IEBAIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6R3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBICiAgICAgbV9zdXJmYWNlRmxhZ3Mg
PSBHcmFwaGljc1N1cmZhY2U6OlN1cHBvcnRzVGV4dHVyZVRhcmdldAogICAgICAgICAgICAgICAg
ICAgICB8IEdyYXBoaWNzU3VyZmFjZTo6U3VwcG9ydHNTaGFyaW5nOwogCi0gICAgaWYgKCFzdXJm
YWNlU2l6ZS5pc0VtcHR5KCkpIHsKKyAgICBpZiAoIXN1cmZhY2VTaXplLmlzRW1wdHkoKSkKICAg
ICAgICAgbV9ncmFwaGljc1N1cmZhY2UgPSBHcmFwaGljc1N1cmZhY2U6OmNyZWF0ZShzdXJmYWNl
U2l6ZSwgbV9zdXJmYWNlRmxhZ3MsIG1fcGxhdGZvcm1Db250ZXh0KTsKLSAgICB9CiAjZW5kaWYK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFj
ZXMvR3JhcGhpY3NTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5jcHAKaW5kZXggZDk2NmRjNTE2ZTlhZjY2YzQwYmFj
NDk3MGI0NzA4YmI2M2ZhMDBjYS4uMGExMTVmMDJjNDgxMzQ4NjFhMWY2NmY5ZGM2OTc0OTE0YTUz
NzI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFj
ZXMvR3JhcGhpY3NTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuY3BwCkBAIC03OCw5ICs3OCwxMyBAQCB1aW50
MzJfdCBHcmFwaGljc1N1cmZhY2U6OnN3YXBCdWZmZXJzKCkKICAgICByZXR1cm4gcGxhdGZvcm1T
d2FwQnVmZmVycygpOwogfQogCitJbnRTaXplIEdyYXBoaWNzU3VyZmFjZTo6c2l6ZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHBsYXRmb3JtU2l6ZSgpOworfQorCiBHcmFwaGljc1N1cmZhY2U6Okdy
YXBoaWNzU3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplLCBGbGFncyBmbGFncykKICAgICA6IG1f
ZmxhZ3MoZmxhZ3MpCi0gICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1fcGxhdGZvcm1TdXJmYWNl
KDApCiAgICAgLCBtX3RleHR1cmUoMCkKICAgICAsIG1fZmJvKDApCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFj
ZS5oCmluZGV4IDU2MDJjZjUyMTcxMTI5ZTRkZWIwMzYxMTc3MzI4YTQ3ZjQ5NWZiMWEuLjU0OWU4
MDRjNDY1ZGRlODhkNDdmZTdlNTg5Y2U2NGVhODNkNTQzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFj
ZS5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKIAogICAgIEZsYWdzIGZsYWdzKCkgY29uc3Qg
eyByZXR1cm4gbV9mbGFnczsgfQogICAgIFBsYXRmb3JtR3JhcGhpY3NTdXJmYWNlIHBsYXRmb3Jt
U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1TdXJmYWNlOyB9Ci0gICAgSW50U2l6
ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CisgICAgSW50U2l6ZSBzaXplKCkgY29u
c3Q7CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IGNyZWF0ZShjb25z
dCBJbnRTaXplJiwgRmxhZ3MsIGNvbnN0IFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0Qgc2hhcmVD
b250ZXh0ID0gMCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBjcmVh
dGUoY29uc3QgSW50U2l6ZSYsIEZsYWdzLCBjb25zdCBHcmFwaGljc1N1cmZhY2VUb2tlbiYpOwpA
QCAtMTAzLDYgKzEwMyw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHBsYXRmb3JtUGFpbnRUb1Rl
eHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwg
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJl
KiBtYXNrKTsKICAgICB1aW50MzJfdCBwbGF0Zm9ybUZyb250QnVmZmVyKCkgY29uc3Q7CiAgICAg
dWludDMyX3QgcGxhdGZvcm1Td2FwQnVmZmVycygpOworICAgIEludFNpemUgcGxhdGZvcm1TaXpl
KCkgY29uc3Q7CiAKICAgICBQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gcGxhdGZvcm1CZWdp
blBhaW50KGNvbnN0IEludFNpemUmLCBjaGFyKiBiaXRzLCBpbnQgc3RyaWRlKTsKIApAQCAtMTE4
LDcgKzExOSw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBJbnRTaXplIG1f
c2l6ZTsKICAgICBQbGF0Zm9ybUdyYXBoaWNzU3VyZmFjZSBtX3BsYXRmb3JtU3VyZmFjZTsKICAg
ICB1aW50MzJfdCBtX3RleHR1cmU7CiAgICAgdWludDMyX3QgbV9mYm87CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9tYWMvR3JhcGhpY3NTdXJm
YWNlTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL21h
Yy9HcmFwaGljc1N1cmZhY2VNYWMuY3BwCmluZGV4IDg1OTdlYjRlMjc0Yjk4Nzg4NWRkOWY0NTM3
MDAyNmFhZjQ4ZjNjY2EuLmExOTc0YWI3ZTE4ZmUxMGRiNTAxYWFlZWQ3M2RmZGJmNjE0NzkyY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL21h
Yy9HcmFwaGljc1N1cmZhY2VNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3N1cmZhY2VzL21hYy9HcmFwaGljc1N1cmZhY2VNYWMuY3BwCkBAIC03Miw4ICs3Miw5
IEBAIHN0YXRpYyB1aW50MzJfdCBjcmVhdGVUZXh0dXJlKElPU3VyZmFjZVJlZiBoYW5kbGUpCiAK
IHN0cnVjdCBHcmFwaGljc1N1cmZhY2VQcml2YXRlIHsKIHB1YmxpYzoKLSAgICBHcmFwaGljc1N1
cmZhY2VQcml2YXRlKGNvbnN0IEdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbikKKyAgICBHcmFw
aGljc1N1cmZhY2VQcml2YXRlKGNvbnN0IEdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbiwgY29u
c3QgSW50U2l6ZSYgc2l6ZSkKICAgICAgICAgOiBtX2NvbnRleHQoMCkKKyAgICAgICAgLCBtX3Np
emUoc2l6ZSkKICAgICAgICAgLCBtX3Rva2VuKHRva2VuKQogICAgICAgICAsIG1fZnJvbnRCdWZm
ZXJUZXh0dXJlKDApCiAgICAgICAgICwgbV9iYWNrQnVmZmVyVGV4dHVyZSgwKQpAQCAtODYsNiAr
ODcsNyBAQCBwdWJsaWM6CiAKICAgICBHcmFwaGljc1N1cmZhY2VQcml2YXRlKGNvbnN0IFBsYXRm
b3JtR3JhcGhpY3NDb250ZXh0M0Qgc2hhcmVDb250ZXh0LCBjb25zdCBJbnRTaXplJiBzaXplLCBH
cmFwaGljc1N1cmZhY2U6OkZsYWdzIGZsYWdzKQogICAgICAgICA6IG1fY29udGV4dCgwKQorICAg
ICAgICAsIG1fc2l6ZShzaXplKQogICAgICAgICAsIG1fZnJvbnRCdWZmZXJUZXh0dXJlKDApCiAg
ICAgICAgICwgbV9iYWNrQnVmZmVyVGV4dHVyZSgwKQogICAgICAgICAsIG1fcmVhZEZibygwKQpA
QCAtMTA2LDggKzEwOCw4IEBAIHB1YmxpYzoKIAogICAgICAgICB1bnNpZ25lZCBwaXhlbEZvcm1h
dCA9ICdCR1JBJzsKICAgICAgICAgdW5zaWduZWQgYnl0ZXNQZXJFbGVtZW50ID0gNDsKLSAgICAg
ICAgaW50IHdpZHRoID0gc2l6ZS53aWR0aCgpOwotICAgICAgICBpbnQgaGVpZ2h0ID0gc2l6ZS5o
ZWlnaHQoKTsKKyAgICAgICAgaW50IHdpZHRoID0gbV9zaXplLndpZHRoKCk7CisgICAgICAgIGlu
dCBoZWlnaHQgPSBtX3NpemUuaGVpZ2h0KCk7CiAKICAgICAgICAgdW5zaWduZWQgbG9uZyBieXRl
c1BlclJvdyA9IElPU3VyZmFjZUFsaWduUHJvcGVydHkoa0lPU3VyZmFjZUJ5dGVzUGVyUm93LCB3
aWR0aCAqIGJ5dGVzUGVyRWxlbWVudCk7CiAgICAgICAgIGlmICghYnl0ZXNQZXJSb3cpCkBAIC0y
NjksOCArMjcxLDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fYmFja0J1ZmZlcjsKICAg
ICB9CiAKKyAgICBJbnRTaXplIHNpemUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
c2l6ZTsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgQ0dMQ29udGV4dE9iaiBtX2NvbnRleHQ7Cisg
ICAgSW50U2l6ZSBtX3NpemU7CiAgICAgQ0dMQ29udGV4dE9iaiBtX2RldGFjaGVkQ29udGV4dDsK
ICAgICBQbGF0Zm9ybUdyYXBoaWNzU3VyZmFjZSBtX2Zyb250QnVmZmVyOwogICAgIFBsYXRmb3Jt
R3JhcGhpY3NTdXJmYWNlIG1fYmFja0J1ZmZlcjsKQEAgLTMyMiw4ICszMzAsOCBAQCB2b2lkIEdy
YXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1Db3B5RnJvbVRleHR1cmUodWludDMyX3QgdGV4dHVyZSwg
Y29uc3QgSW50UmVjdCYgcwogdm9pZCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtUGFpbnRUb1Rl
eHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciwgY29uc3QgRmxvYXRSZWN0
JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBmbG9h
dCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJlKiBtYXNrKQogewogICAgIFRyYW5zZm9ybWF0aW9uTWF0
cml4IGFkanVzdGVkVHJhbnNmb3JtID0gdHJhbnNmb3JtOwotICAgIGFkanVzdGVkVHJhbnNmb3Jt
Lm11bHRpcGx5KFRyYW5zZm9ybWF0aW9uTWF0cml4OjpyZWN0VG9SZWN0KEZsb2F0UmVjdChGbG9h
dFBvaW50Ojp6ZXJvKCksIG1fc2l6ZSksIHRhcmdldFJlY3QpKTsKLSAgICBzdGF0aWNfY2FzdDxU
ZXh0dXJlTWFwcGVyR0wqPih0ZXh0dXJlTWFwcGVyKS0+ZHJhd1RleHR1cmVSZWN0YW5nbGVBUkIo
bV9wcml2YXRlLT5mcm9udEJ1ZmZlclRleHR1cmVJRCgpLCAwLCBtX3NpemUsIHRhcmdldFJlY3Qs
IGFkanVzdGVkVHJhbnNmb3JtLCBvcGFjaXR5LCBtYXNrKTsKKyAgICBhZGp1c3RlZFRyYW5zZm9y
bS5tdWx0aXBseShUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVjdFRvUmVjdChGbG9hdFJlY3QoRmxv
YXRQb2ludDo6emVybygpLCBtX3ByaXZhdGUtPnNpemUoKSksIHRhcmdldFJlY3QpKTsKKyAgICBz
dGF0aWNfY2FzdDxUZXh0dXJlTWFwcGVyR0wqPih0ZXh0dXJlTWFwcGVyKS0+ZHJhd1RleHR1cmVS
ZWN0YW5nbGVBUkIobV9wcml2YXRlLT5mcm9udEJ1ZmZlclRleHR1cmVJRCgpLCAwLCBtX3ByaXZh
dGUtPnNpemUoKSwgdGFyZ2V0UmVjdCwgYWRqdXN0ZWRUcmFuc2Zvcm0sIG9wYWNpdHksIG1hc2sp
OwogfQogCiB1aW50MzJfdCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtRnJvbnRCdWZmZXIoKSBj
b25zdApAQCAtMzM2LDYgKzM0NCwxMSBAQCB1aW50MzJfdCBHcmFwaGljc1N1cmZhY2U6OnBsYXRm
b3JtU3dhcEJ1ZmZlcnMoKQogICAgIHJldHVybiBtX3ByaXZhdGUtPnN3YXBCdWZmZXJzKCk7CiB9
CiAKK0ludFNpemUgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVNpemUoKSBjb25zdAoreworICAg
IHJldHVybiBtX3ByaXZhdGUtPnNpemUoKTsKK30KKwogUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZh
Y2U+IEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1DcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwg
RmxhZ3MgZmxhZ3MsIGNvbnN0IFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0Qgc2hhcmVDb250ZXh0
KQogewogICAgIC8vIFdlIGN1cnJlbnRseSBkaXNhYmxlIHN1cHBvcnQgZm9yIENvcHlUb1RleHR1
cmUgb24gTWFjLCBiZWNhdXNlIHRoaXMgaXMgdXNlZCBmb3Igc2luZ2xlIGJ1ZmZlcmVkIFRpbGVz
LgpAQCAtMzYyLDcgKzM3NSw3IEBAIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBHcmFwaGlj
c1N1cmZhY2U6OnBsYXRmb3JtSW1wb3J0KGNvbnN0IEludFNpemUmIHNpemUsCiAgICAgICAgIHJl
dHVybiBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4oKTsKIAogICAgIFJlZlB0cjxHcmFwaGlj
c1N1cmZhY2U+IHN1cmZhY2UgPSBhZG9wdFJlZihuZXcgR3JhcGhpY3NTdXJmYWNlKHNpemUsIGZs
YWdzKSk7Ci0gICAgc3VyZmFjZS0+bV9wcml2YXRlID0gbmV3IEdyYXBoaWNzU3VyZmFjZVByaXZh
dGUodG9rZW4pOworICAgIHN1cmZhY2UtPm1fcHJpdmF0ZSA9IG5ldyBHcmFwaGljc1N1cmZhY2VQ
cml2YXRlKHRva2VuLCBzaXplKTsKIAogICAgIGlmICghc3VyZmFjZS0+bV9wcml2YXRlLT5mcm9u
dEJ1ZmZlcigpIHx8ICFzdXJmYWNlLT5tX3ByaXZhdGUtPmJhY2tCdWZmZXIoKSkKICAgICAgICAg
cmV0dXJuIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvcXQvR3JhcGhpY3NTdXJmYWNlR0xY
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL3F0L0dyYXBo
aWNzU3VyZmFjZUdMWC5jcHAKaW5kZXggYjk2ZjA4ZDUxMWM4YWYwNTAyY2VjOWZiZmNkNzc4OTc3
ZjEwODY4YS4uNDA2YmIzYjg0NTE1YTllZWJlNTI0ZmZjYTgzZmRhMTQ5Njc1NTk4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvcXQvR3JhcGhp
Y3NTdXJmYWNlR0xYLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
dXJmYWNlcy9xdC9HcmFwaGljc1N1cmZhY2VHTFguY3BwCkBAIC0yNDksNyArMjQ5LDYgQEAgc3Ry
dWN0IEdyYXBoaWNzU3VyZmFjZVByaXZhdGUgewogCiAgICAgICAgIFhSZW5kZXJQaWN0Rm9ybWF0
KiBmb3JtYXQgPSBYUmVuZGVyRmluZFZpc3VhbEZvcm1hdChtX2Rpc3BsYXksIGF0dHIudmlzdWFs
KTsKICAgICAgICAgbV9oYXNBbHBoYSA9IChmb3JtYXQtPnR5cGUgPT0gUGljdFR5cGVEaXJlY3Qg
JiYgZm9ybWF0LT5kaXJlY3QuYWxwaGFNYXNrKTsKLSAgICAgICAgbV9zaXplID0gSW50U2l6ZShh
dHRyLndpZHRoLCBhdHRyLmhlaWdodCk7CiAKICAgICAgICAgaW50IG51bWJlck9mQ29uZmlnczsK
ICAgICAgICAgR0xYRkJDb25maWcqIGNvbmZpZ3MgPSBnbFhDaG9vc2VGQkNvbmZpZyhtX2Rpc3Bs
YXksIFhEZWZhdWx0U2NyZWVuKG1fZGlzcGxheSksIGdseFNwZWMsICZudW1iZXJPZkNvbmZpZ3Mp
OwpAQCAtMzM3LDcgKzMzNiwxNSBAQCBzdHJ1Y3QgR3JhcGhpY3NTdXJmYWNlUHJpdmF0ZSB7CiAK
ICAgICBHTFhQaXhtYXAgZ2x4UGl4bWFwKCkgY29uc3QgeyByZXR1cm4gbV9nbHhQaXhtYXA7IH0K
IAotICAgIEludFNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgIEludFNp
emUgc2l6ZSgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9zaXplLmlzRW1wdHkoKSkgewor
ICAgICAgICAgICAgWFdpbmRvd0F0dHJpYnV0ZXMgYXR0cjsKKyAgICAgICAgICAgIFhHZXRXaW5k
b3dBdHRyaWJ1dGVzKG1fZGlzcGxheSwgbV9zdXJmYWNlLCAmYXR0cik7CisgICAgICAgICAgICBj
b25zdF9jYXN0PEdyYXBoaWNzU3VyZmFjZVByaXZhdGUqPih0aGlzKS0+bV9zaXplID0gSW50U2l6
ZShhdHRyLndpZHRoLCBhdHRyLmhlaWdodCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1f
c2l6ZTsKKyAgICB9CiAKIHByaXZhdGU6CiAgICAgT2ZmU2NyZWVuUm9vdFdpbmRvdyBtX29mZlNj
cmVlbldpbmRvdzsKQEAgLTQwOCwxMCArNDE1LDEwIEBAIHZvaWQgR3JhcGhpY3NTdXJmYWNlOjpw
bGF0Zm9ybVBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIs
CiB7CiAgICAgVGV4dHVyZU1hcHBlckdMKiB0ZXhNYXBHTCA9IHN0YXRpY19jYXN0PFRleHR1cmVN
YXBwZXJHTCo+KHRleHR1cmVNYXBwZXIpOwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGFkanVz
dGVkVHJhbnNmb3JtID0gdHJhbnNmb3JtOwotICAgIGFkanVzdGVkVHJhbnNmb3JtLm11bHRpcGx5
KFRyYW5zZm9ybWF0aW9uTWF0cml4OjpyZWN0VG9SZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6
ZXJvKCksIG1fc2l6ZSksIHRhcmdldFJlY3QpKTsKKyAgICBhZGp1c3RlZFRyYW5zZm9ybS5tdWx0
aXBseShUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVjdFRvUmVjdChGbG9hdFJlY3QoRmxvYXRQb2lu
dDo6emVybygpLCBtX3ByaXZhdGUtPnNpemUoKSksIHRhcmdldFJlY3QpKTsKICAgICBUZXh0dXJl
TWFwcGVyR0w6OkZsYWdzIGZsYWdzID0gbV9wcml2YXRlLT50ZXh0dXJlSXNZSW52ZXJ0ZWQoKSA/
IFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkRmxpcFRleHR1cmUgOiAwOwogICAgIGZsYWdzIHw9IFRl
eHR1cmVNYXBwZXJHTDo6U3VwcG9ydHNCbGVuZGluZzsKLSAgICB0ZXhNYXBHTC0+ZHJhd1RleHR1
cmUocGxhdGZvcm1HZXRUZXh0dXJlSUQoKSwgZmxhZ3MsIG1fc2l6ZSwgdGFyZ2V0UmVjdCwgYWRq
dXN0ZWRUcmFuc2Zvcm0sIG9wYWNpdHksIG1hc2spOworICAgIHRleE1hcEdMLT5kcmF3VGV4dHVy
ZShwbGF0Zm9ybUdldFRleHR1cmVJRCgpLCBmbGFncywgbV9wcml2YXRlLT5zaXplKCksIHRhcmdl
dFJlY3QsIGFkanVzdGVkVHJhbnNmb3JtLCBvcGFjaXR5LCBtYXNrKTsKIH0KIAogdWludDMyX3Qg
R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybUZyb250QnVmZmVyKCkgY29uc3QKQEAgLTQyNSw2ICs0
MzIsMTEgQEAgdWludDMyX3QgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVN3YXBCdWZmZXJzKCkK
ICAgICByZXR1cm4gMDsKIH0KIAorSW50U2l6ZSBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c2l6ZSgpOworfQorCiBQYXNzUmVm
UHRyPEdyYXBoaWNzU3VyZmFjZT4gR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybUNyZWF0ZShjb25z
dCBJbnRTaXplJiBzaXplLCBGbGFncyBmbGFncywgY29uc3QgUGxhdGZvcm1HcmFwaGljc0NvbnRl
eHQzRCBzaGFyZUNvbnRleHQpCiB7CiAgICAgLy8gWDExIGRvZXMgbm90IHN1cHBvcnQgQ29weVRv
VGV4dHVyZSwgc28gd2UgZG8gbm90IGNyZWF0ZSBhIEdyYXBoaWNzU3VyZmFjZSBpZiB0aGlzIGlz
IHJlcXVlc3RlZC4KQEAgLTQ2MSw3ICs0NzMsNiBAQCBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFj
ZT4gR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybUltcG9ydChjb25zdCBJbnRTaXplJiBzaXplLAog
ICAgIHN1cmZhY2UtPm1fcGxhdGZvcm1TdXJmYWNlID0gdG9rZW4uZnJvbnRCdWZmZXJIYW5kbGU7
CiAKICAgICBzdXJmYWNlLT5tX3ByaXZhdGUtPmNyZWF0ZVBpeG1hcChzdXJmYWNlLT5tX3BsYXRm
b3JtU3VyZmFjZSk7Ci0gICAgc3VyZmFjZS0+bV9zaXplID0gc3VyZmFjZS0+bV9wcml2YXRlLT5z
aXplKCk7CiAKICAgICByZXR1cm4gc3VyZmFjZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175857</attachid>
            <date>2012-11-24 07:36:07 -0800</date>
            <delta_ts>2012-11-24 07:52:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103143-20121124163357.patch</filename>
            <type>text/plain</type>
            <size>13276</size>
            <attacher name="Zeno Albisser">zeno</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA3MzZlMzk2NTQ0YjFm
ZGM0MzRkMzY0YWM0Mzg3M2M4NGRiMzU4Zi4uZWE3ZWI3M2JhMzAxMzgwYmRmMTkxMWFkZWRmYjU3
OWIyNjczMjhkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTExLTI0ICBaZW5v
IEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgorCisgICAgICAgIEdyYXBoaWNzU3VyZmFjZSBz
aG91bGQgb25seSBzdG9yZSBpdHMgc2l6ZSBpbiBhIHNpbmdsZSBwbGFjZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzE0MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRFByaXZhdGU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZSk6CisgICAgICAgICAgICBD
b3NtZXRpY3Mgb25seS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFw
aGljc1N1cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlOjpzaXpl
KToKKyAgICAgICAgICAgIFJldHVybiB0aGUgc2l6ZSBhcyByZWNlaXZlZCBmcm9tIHRoZSBwbGF0
Zm9ybSBhYnN0cmFjdGlvbi4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NTdXJmYWNlOjpHcmFwaGljc1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oOgorICAgICAgICAoR3JhcGhpY3NTdXJm
YWNlKToKKyAgICAgICAgICAgIFJlbW92ZSBkYXRhIG1lbWJlciBtX3NpemUuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VQcml2YXRlOjpHcmFwaGljc1N1cmZhY2VQ
cml2YXRlKToKKyAgICAgICAgICAgIEFsd2F5cyB0YWtlIHRoZSBzaXplIG9mIHRoZSBHcmFwaGlj
c1N1cmZhY2UgYXMgYW4gYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZh
Y2VQcml2YXRlOjpzaXplKToKKyAgICAgICAgKEdyYXBoaWNzU3VyZmFjZVByaXZhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVBhaW50VG9UZXh0dXJlTWFw
cGVyKToKKyAgICAgICAgICAgIFJldHJlaXZlIHRoZSBzaXplIGZyb20gR3JhcGhpY3NTdXJmYWNl
UHJpdmF0ZSB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZh
Y2U6OnBsYXRmb3JtU2l6ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1JbXBvcnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3N1cmZhY2VzL3F0L0dyYXBoaWNzU3VyZmFjZUdMWC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc1N1cmZhY2VQcml2YXRlOjpHcmFwaGljc1N1cmZhY2VQcml2YXRlKToKKyAg
ICAgICAgICAgIEFkZCBhIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYSB3aW5kb3cgaWQgYXMgYW4g
YXJndW1lbnQKKyAgICAgICAgICAgIGZvciB0aGUgcmVjZWl2aW5nIHNpZGUgb2YgdGhlIEdyYXBo
Y2lzU3VyZmFjZS4KKyAgICAgICAgICAgIFRoZSBHcmFwaGljc1N1cmZhY2UgY2FuIHRoZW4gZGV0
ZXJtaW5lIGl0cyBkaW1lbnNpb25zCisgICAgICAgICAgICBmcm9tIHRoZSBwcm92aWRlZCBYV2lu
ZG93LgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlUHJpdmF0ZTo6Y3JlYXRlUGl4
bWFwKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVByaXZhdGU6OnNpemUpOgor
ICAgICAgICAgICAgUXVlcnkgdGhlIHNpemUgb2YgdGhlIEdyYXBoaWNzU3VyZmFjZSBiYWNraW5n
IGZyb20gWC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1QYWlu
dFRvVGV4dHVyZU1hcHBlcik6CisgICAgICAgICAgICBSZXRyZWl2ZSB0aGUgc2l6ZSBmcm9tIEdy
YXBoaWNzU3VyZmFjZVByaXZhdGUgd2hlcmUgbmVjZXNzYXJ5LgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVNpemUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtSW1wb3J0KToKKwogMjAxMi0x
MS0yNCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSXQncyBj
b25mdXNpbmcgdGhhdCByZXR1cm4gdmFsdWVzIG9mICdib29sIE5vZGU6OmRpc3BhdGNoRXZlbnQo
Li4uKScgYW5kICdib29sIE5vZGU6OmRpc3BhdGNoTW91c2VFdmVudCguLiknIGhhdmUgdGhlIG9w
cG9zaXRlIG1lYW5pbmdzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCAxZWFkMTVkMTgzN2Ri
Y2JkNzZlOTJlYjUxMzJiMGIzZWVhOTVjZTA3Li4zNTMzYWRhOTZhNDc0ZTViZGZmZDM5NTVlZDRj
NzNkYjIyYzM4NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTQ0LDkgKzE0NCw4IEBA
IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlKEdyYXBo
aWNzQ29udGV4dDNEKiBjb250ZXh0LCBICiAgICAgbV9zdXJmYWNlRmxhZ3MgPSBHcmFwaGljc1N1
cmZhY2U6OlN1cHBvcnRzVGV4dHVyZVRhcmdldAogICAgICAgICAgICAgICAgICAgICB8IEdyYXBo
aWNzU3VyZmFjZTo6U3VwcG9ydHNTaGFyaW5nOwogCi0gICAgaWYgKCFzdXJmYWNlU2l6ZS5pc0Vt
cHR5KCkpIHsKKyAgICBpZiAoIXN1cmZhY2VTaXplLmlzRW1wdHkoKSkKICAgICAgICAgbV9ncmFw
aGljc1N1cmZhY2UgPSBHcmFwaGljc1N1cmZhY2U6OmNyZWF0ZShzdXJmYWNlU2l6ZSwgbV9zdXJm
YWNlRmxhZ3MsIG1fcGxhdGZvcm1Db250ZXh0KTsKLSAgICB9CiAjZW5kaWYKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvR3JhcGhpY3NT
dXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dy
YXBoaWNzU3VyZmFjZS5jcHAKaW5kZXggZDk2NmRjNTE2ZTlhZjY2YzQwYmFjNDk3MGI0NzA4YmI2
M2ZhMDBjYS4uMGExMTVmMDJjNDgxMzQ4NjFhMWY2NmY5ZGM2OTc0OTE0YTUzNzI2NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvR3JhcGhpY3NT
dXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNl
cy9HcmFwaGljc1N1cmZhY2UuY3BwCkBAIC03OCw5ICs3OCwxMyBAQCB1aW50MzJfdCBHcmFwaGlj
c1N1cmZhY2U6OnN3YXBCdWZmZXJzKCkKICAgICByZXR1cm4gcGxhdGZvcm1Td2FwQnVmZmVycygp
OwogfQogCitJbnRTaXplIEdyYXBoaWNzU3VyZmFjZTo6c2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHBsYXRmb3JtU2l6ZSgpOworfQorCiBHcmFwaGljc1N1cmZhY2U6OkdyYXBoaWNzU3VyZmFj
ZShjb25zdCBJbnRTaXplJiBzaXplLCBGbGFncyBmbGFncykKICAgICA6IG1fZmxhZ3MoZmxhZ3Mp
Ci0gICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1fcGxhdGZvcm1TdXJmYWNlKDApCiAgICAgLCBt
X3RleHR1cmUoMCkKICAgICAsIG1fZmJvKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oCmluZGV4IDU2
MDJjZjUyMTcxMTI5ZTRkZWIwMzYxMTc3MzI4YTQ3ZjQ5NWZiMWEuLjU0OWU4MDRjNDY1ZGRlODhk
NDdmZTdlNTg5Y2U2NGVhODNkNTQzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5oCkBAIC03NCw3
ICs3NCw3IEBAIHB1YmxpYzoKIAogICAgIEZsYWdzIGZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9m
bGFnczsgfQogICAgIFBsYXRmb3JtR3JhcGhpY3NTdXJmYWNlIHBsYXRmb3JtU3VyZmFjZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1TdXJmYWNlOyB9Ci0gICAgSW50U2l6ZSBzaXplKCkgY29u
c3QgeyByZXR1cm4gbV9zaXplOyB9CisgICAgSW50U2l6ZSBzaXplKCkgY29uc3Q7CiAKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IGNyZWF0ZShjb25zdCBJbnRTaXplJiwg
RmxhZ3MsIGNvbnN0IFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0Qgc2hhcmVDb250ZXh0ID0gMCk7
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBjcmVhdGUoY29uc3QgSW50
U2l6ZSYsIEZsYWdzLCBjb25zdCBHcmFwaGljc1N1cmZhY2VUb2tlbiYpOwpAQCAtMTAzLDYgKzEw
Myw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHBsYXRmb3JtUGFpbnRUb1RleHR1cmVNYXBwZXIo
VGV4dHVyZU1hcHBlciosIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJlKiBtYXNrKTsKICAg
ICB1aW50MzJfdCBwbGF0Zm9ybUZyb250QnVmZmVyKCkgY29uc3Q7CiAgICAgdWludDMyX3QgcGxh
dGZvcm1Td2FwQnVmZmVycygpOworICAgIEludFNpemUgcGxhdGZvcm1TaXplKCkgY29uc3Q7CiAK
ICAgICBQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gcGxhdGZvcm1CZWdpblBhaW50KGNvbnN0
IEludFNpemUmLCBjaGFyKiBiaXRzLCBpbnQgc3RyaWRlKTsKIApAQCAtMTE4LDcgKzExOSw2IEBA
IHByaXZhdGU6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBJbnRTaXplIG1fc2l6ZTsKICAgICBQ
bGF0Zm9ybUdyYXBoaWNzU3VyZmFjZSBtX3BsYXRmb3JtU3VyZmFjZTsKICAgICB1aW50MzJfdCBt
X3RleHR1cmU7CiAgICAgdWludDMyX3QgbV9mYm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9tYWMvR3JhcGhpY3NTdXJmYWNlTWFjLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL21hYy9HcmFwaGljc1N1
cmZhY2VNYWMuY3BwCmluZGV4IDg1OTdlYjRlMjc0Yjk4Nzg4NWRkOWY0NTM3MDAyNmFhZjQ4ZjNj
Y2EuLmExOTc0YWI3ZTE4ZmUxMGRiNTAxYWFlZWQ3M2RmZGJmNjE0NzkyY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL21hYy9HcmFwaGljc1N1
cmZhY2VNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZh
Y2VzL21hYy9HcmFwaGljc1N1cmZhY2VNYWMuY3BwCkBAIC03Miw4ICs3Miw5IEBAIHN0YXRpYyB1
aW50MzJfdCBjcmVhdGVUZXh0dXJlKElPU3VyZmFjZVJlZiBoYW5kbGUpCiAKIHN0cnVjdCBHcmFw
aGljc1N1cmZhY2VQcml2YXRlIHsKIHB1YmxpYzoKLSAgICBHcmFwaGljc1N1cmZhY2VQcml2YXRl
KGNvbnN0IEdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbikKKyAgICBHcmFwaGljc1N1cmZhY2VQ
cml2YXRlKGNvbnN0IEdyYXBoaWNzU3VyZmFjZVRva2VuJiB0b2tlbiwgY29uc3QgSW50U2l6ZSYg
c2l6ZSkKICAgICAgICAgOiBtX2NvbnRleHQoMCkKKyAgICAgICAgLCBtX3NpemUoc2l6ZSkKICAg
ICAgICAgLCBtX3Rva2VuKHRva2VuKQogICAgICAgICAsIG1fZnJvbnRCdWZmZXJUZXh0dXJlKDAp
CiAgICAgICAgICwgbV9iYWNrQnVmZmVyVGV4dHVyZSgwKQpAQCAtODYsNiArODcsNyBAQCBwdWJs
aWM6CiAKICAgICBHcmFwaGljc1N1cmZhY2VQcml2YXRlKGNvbnN0IFBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0M0Qgc2hhcmVDb250ZXh0LCBjb25zdCBJbnRTaXplJiBzaXplLCBHcmFwaGljc1N1cmZh
Y2U6OkZsYWdzIGZsYWdzKQogICAgICAgICA6IG1fY29udGV4dCgwKQorICAgICAgICAsIG1fc2l6
ZShzaXplKQogICAgICAgICAsIG1fZnJvbnRCdWZmZXJUZXh0dXJlKDApCiAgICAgICAgICwgbV9i
YWNrQnVmZmVyVGV4dHVyZSgwKQogICAgICAgICAsIG1fcmVhZEZibygwKQpAQCAtMTA2LDggKzEw
OCw4IEBAIHB1YmxpYzoKIAogICAgICAgICB1bnNpZ25lZCBwaXhlbEZvcm1hdCA9ICdCR1JBJzsK
ICAgICAgICAgdW5zaWduZWQgYnl0ZXNQZXJFbGVtZW50ID0gNDsKLSAgICAgICAgaW50IHdpZHRo
ID0gc2l6ZS53aWR0aCgpOwotICAgICAgICBpbnQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQoKTsKKyAg
ICAgICAgaW50IHdpZHRoID0gbV9zaXplLndpZHRoKCk7CisgICAgICAgIGludCBoZWlnaHQgPSBt
X3NpemUuaGVpZ2h0KCk7CiAKICAgICAgICAgdW5zaWduZWQgbG9uZyBieXRlc1BlclJvdyA9IElP
U3VyZmFjZUFsaWduUHJvcGVydHkoa0lPU3VyZmFjZUJ5dGVzUGVyUm93LCB3aWR0aCAqIGJ5dGVz
UGVyRWxlbWVudCk7CiAgICAgICAgIGlmICghYnl0ZXNQZXJSb3cpCkBAIC0yNjksOCArMjcxLDE0
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fYmFja0J1ZmZlcjsKICAgICB9CiAKKyAgICBJ
bnRTaXplIHNpemUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fc2l6ZTsKKyAgICB9
CisKIHByaXZhdGU6CiAgICAgQ0dMQ29udGV4dE9iaiBtX2NvbnRleHQ7CisgICAgSW50U2l6ZSBt
X3NpemU7CiAgICAgQ0dMQ29udGV4dE9iaiBtX2RldGFjaGVkQ29udGV4dDsKICAgICBQbGF0Zm9y
bUdyYXBoaWNzU3VyZmFjZSBtX2Zyb250QnVmZmVyOwogICAgIFBsYXRmb3JtR3JhcGhpY3NTdXJm
YWNlIG1fYmFja0J1ZmZlcjsKQEAgLTMyMiw4ICszMzAsOCBAQCB2b2lkIEdyYXBoaWNzU3VyZmFj
ZTo6cGxhdGZvcm1Db3B5RnJvbVRleHR1cmUodWludDMyX3QgdGV4dHVyZSwgY29uc3QgSW50UmVj
dCYgcwogdm9pZCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtUGFpbnRUb1RleHR1cmVNYXBwZXIo
VGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0
LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBmbG9hdCBvcGFjaXR5LCBC
aXRtYXBUZXh0dXJlKiBtYXNrKQogewogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGFkanVzdGVk
VHJhbnNmb3JtID0gdHJhbnNmb3JtOwotICAgIGFkanVzdGVkVHJhbnNmb3JtLm11bHRpcGx5KFRy
YW5zZm9ybWF0aW9uTWF0cml4OjpyZWN0VG9SZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJv
KCksIG1fc2l6ZSksIHRhcmdldFJlY3QpKTsKLSAgICBzdGF0aWNfY2FzdDxUZXh0dXJlTWFwcGVy
R0wqPih0ZXh0dXJlTWFwcGVyKS0+ZHJhd1RleHR1cmVSZWN0YW5nbGVBUkIobV9wcml2YXRlLT5m
cm9udEJ1ZmZlclRleHR1cmVJRCgpLCAwLCBtX3NpemUsIHRhcmdldFJlY3QsIGFkanVzdGVkVHJh
bnNmb3JtLCBvcGFjaXR5LCBtYXNrKTsKKyAgICBhZGp1c3RlZFRyYW5zZm9ybS5tdWx0aXBseShU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVjdFRvUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVy
bygpLCBtX3ByaXZhdGUtPnNpemUoKSksIHRhcmdldFJlY3QpKTsKKyAgICBzdGF0aWNfY2FzdDxU
ZXh0dXJlTWFwcGVyR0wqPih0ZXh0dXJlTWFwcGVyKS0+ZHJhd1RleHR1cmVSZWN0YW5nbGVBUkIo
bV9wcml2YXRlLT5mcm9udEJ1ZmZlclRleHR1cmVJRCgpLCAwLCBtX3ByaXZhdGUtPnNpemUoKSwg
dGFyZ2V0UmVjdCwgYWRqdXN0ZWRUcmFuc2Zvcm0sIG9wYWNpdHksIG1hc2spOwogfQogCiB1aW50
MzJfdCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtRnJvbnRCdWZmZXIoKSBjb25zdApAQCAtMzM2
LDYgKzM0NCwxMSBAQCB1aW50MzJfdCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtU3dhcEJ1ZmZl
cnMoKQogICAgIHJldHVybiBtX3ByaXZhdGUtPnN3YXBCdWZmZXJzKCk7CiB9CiAKK0ludFNpemUg
R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX3By
aXZhdGUtPnNpemUoKTsKK30KKwogUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IEdyYXBoaWNz
U3VyZmFjZTo6cGxhdGZvcm1DcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgRmxhZ3MgZmxhZ3Ms
IGNvbnN0IFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0Qgc2hhcmVDb250ZXh0KQogewogICAgIC8v
IFdlIGN1cnJlbnRseSBkaXNhYmxlIHN1cHBvcnQgZm9yIENvcHlUb1RleHR1cmUgb24gTWFjLCBi
ZWNhdXNlIHRoaXMgaXMgdXNlZCBmb3Igc2luZ2xlIGJ1ZmZlcmVkIFRpbGVzLgpAQCAtMzYyLDcg
KzM3NSw3IEBAIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBHcmFwaGljc1N1cmZhY2U6OnBs
YXRmb3JtSW1wb3J0KGNvbnN0IEludFNpemUmIHNpemUsCiAgICAgICAgIHJldHVybiBQYXNzUmVm
UHRyPEdyYXBoaWNzU3VyZmFjZT4oKTsKIAogICAgIFJlZlB0cjxHcmFwaGljc1N1cmZhY2U+IHN1
cmZhY2UgPSBhZG9wdFJlZihuZXcgR3JhcGhpY3NTdXJmYWNlKHNpemUsIGZsYWdzKSk7Ci0gICAg
c3VyZmFjZS0+bV9wcml2YXRlID0gbmV3IEdyYXBoaWNzU3VyZmFjZVByaXZhdGUodG9rZW4pOwor
ICAgIHN1cmZhY2UtPm1fcHJpdmF0ZSA9IG5ldyBHcmFwaGljc1N1cmZhY2VQcml2YXRlKHRva2Vu
LCBzaXplKTsKIAogICAgIGlmICghc3VyZmFjZS0+bV9wcml2YXRlLT5mcm9udEJ1ZmZlcigpIHx8
ICFzdXJmYWNlLT5tX3ByaXZhdGUtPmJhY2tCdWZmZXIoKSkKICAgICAgICAgcmV0dXJuIFBhc3NS
ZWZQdHI8R3JhcGhpY3NTdXJmYWNlPigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvcXQvR3JhcGhpY3NTdXJmYWNlR0xYLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL3F0L0dyYXBoaWNzU3VyZmFjZUdM
WC5jcHAKaW5kZXggYjk2ZjA4ZDUxMWM4YWYwNTAyY2VjOWZiZmNkNzc4OTc3ZjEwODY4YS4uZTE5
NGY4MTQwYmExN2JiOTdlMTdhN2VmMjVlMmEzNGI1NWYwNGY4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvcXQvR3JhcGhpY3NTdXJmYWNlR0xY
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9xdC9H
cmFwaGljc1N1cmZhY2VHTFguY3BwCkBAIC0xOTksNiArMTk5LDIwIEBAIHN0cnVjdCBHcmFwaGlj
c1N1cmZhY2VQcml2YXRlIHsKICAgICAgICAgbV9nbENvbnRleHQgPSBnbFhDcmVhdGVOZXdDb250
ZXh0KG1fZGlzcGxheSwgbV9mYkNvbmZpZywgR0xYX1JHQkFfVFlQRSwgc2hhcmVDb250ZXh0T2Jq
ZWN0LCB0cnVlKTsKICAgICB9CiAKKyAgICBHcmFwaGljc1N1cmZhY2VQcml2YXRlKHVpbnQzMl90
IHdpbklkKQorICAgICAgICA6IG1fZGlzcGxheShtX29mZlNjcmVlbldpbmRvdy5kaXNwbGF5KCkp
CisgICAgICAgICwgbV94UGl4bWFwKDApCisgICAgICAgICwgbV9nbHhQaXhtYXAoMCkKKyAgICAg
ICAgLCBtX3N1cmZhY2Uod2luSWQpCisgICAgICAgICwgbV9nbHhTdXJmYWNlKDApCisgICAgICAg
ICwgbV9nbENvbnRleHQoMCkKKyAgICAgICAgLCBtX2RldGFjaGVkQ29udGV4dCgwKQorICAgICAg
ICAsIG1fZGV0YWNoZWRTdXJmYWNlKDApCisgICAgICAgICwgbV9mYkNvbmZpZygwKQorICAgICAg
ICAsIG1fdGV4dHVyZUlzWUludmVydGVkKGZhbHNlKQorICAgICAgICAsIG1faGFzQWxwaGEoZmFs
c2UpCisgICAgeyB9CisKICAgICB+R3JhcGhpY3NTdXJmYWNlUHJpdmF0ZSgpCiAgICAgewogICAg
ICAgICBpZiAobV9nbHhQaXhtYXApCkBAIC0yNDksNyArMjYzLDYgQEAgc3RydWN0IEdyYXBoaWNz
U3VyZmFjZVByaXZhdGUgewogCiAgICAgICAgIFhSZW5kZXJQaWN0Rm9ybWF0KiBmb3JtYXQgPSBY
UmVuZGVyRmluZFZpc3VhbEZvcm1hdChtX2Rpc3BsYXksIGF0dHIudmlzdWFsKTsKICAgICAgICAg
bV9oYXNBbHBoYSA9IChmb3JtYXQtPnR5cGUgPT0gUGljdFR5cGVEaXJlY3QgJiYgZm9ybWF0LT5k
aXJlY3QuYWxwaGFNYXNrKTsKLSAgICAgICAgbV9zaXplID0gSW50U2l6ZShhdHRyLndpZHRoLCBh
dHRyLmhlaWdodCk7CiAKICAgICAgICAgaW50IG51bWJlck9mQ29uZmlnczsKICAgICAgICAgR0xY
RkJDb25maWcqIGNvbmZpZ3MgPSBnbFhDaG9vc2VGQkNvbmZpZyhtX2Rpc3BsYXksIFhEZWZhdWx0
U2NyZWVuKG1fZGlzcGxheSksIGdseFNwZWMsICZudW1iZXJPZkNvbmZpZ3MpOwpAQCAtMzM3LDcg
KzM1MCwxNSBAQCBzdHJ1Y3QgR3JhcGhpY3NTdXJmYWNlUHJpdmF0ZSB7CiAKICAgICBHTFhQaXht
YXAgZ2x4UGl4bWFwKCkgY29uc3QgeyByZXR1cm4gbV9nbHhQaXhtYXA7IH0KIAotICAgIEludFNp
emUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgIEludFNpemUgc2l6ZSgpIGNv
bnN0CisgICAgeworICAgICAgICBpZiAobV9zaXplLmlzRW1wdHkoKSkgeworICAgICAgICAgICAg
WFdpbmRvd0F0dHJpYnV0ZXMgYXR0cjsKKyAgICAgICAgICAgIFhHZXRXaW5kb3dBdHRyaWJ1dGVz
KG1fZGlzcGxheSwgbV9zdXJmYWNlLCAmYXR0cik7CisgICAgICAgICAgICBjb25zdF9jYXN0PEdy
YXBoaWNzU3VyZmFjZVByaXZhdGUqPih0aGlzKS0+bV9zaXplID0gSW50U2l6ZShhdHRyLndpZHRo
LCBhdHRyLmhlaWdodCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1fc2l6ZTsKKyAgICB9
CiAKIHByaXZhdGU6CiAgICAgT2ZmU2NyZWVuUm9vdFdpbmRvdyBtX29mZlNjcmVlbldpbmRvdzsK
QEAgLTQwOCwxMCArNDI5LDEwIEBAIHZvaWQgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVBhaW50
VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsCiB7CiAgICAgVGV4
dHVyZU1hcHBlckdMKiB0ZXhNYXBHTCA9IHN0YXRpY19jYXN0PFRleHR1cmVNYXBwZXJHTCo+KHRl
eHR1cmVNYXBwZXIpOwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGFkanVzdGVkVHJhbnNmb3Jt
ID0gdHJhbnNmb3JtOwotICAgIGFkanVzdGVkVHJhbnNmb3JtLm11bHRpcGx5KFRyYW5zZm9ybWF0
aW9uTWF0cml4OjpyZWN0VG9SZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJvKCksIG1fc2l6
ZSksIHRhcmdldFJlY3QpKTsKKyAgICBhZGp1c3RlZFRyYW5zZm9ybS5tdWx0aXBseShUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6cmVjdFRvUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBt
X3ByaXZhdGUtPnNpemUoKSksIHRhcmdldFJlY3QpKTsKICAgICBUZXh0dXJlTWFwcGVyR0w6OkZs
YWdzIGZsYWdzID0gbV9wcml2YXRlLT50ZXh0dXJlSXNZSW52ZXJ0ZWQoKSA/IFRleHR1cmVNYXBw
ZXJHTDo6U2hvdWxkRmxpcFRleHR1cmUgOiAwOwogICAgIGZsYWdzIHw9IFRleHR1cmVNYXBwZXJH
TDo6U3VwcG9ydHNCbGVuZGluZzsKLSAgICB0ZXhNYXBHTC0+ZHJhd1RleHR1cmUocGxhdGZvcm1H
ZXRUZXh0dXJlSUQoKSwgZmxhZ3MsIG1fc2l6ZSwgdGFyZ2V0UmVjdCwgYWRqdXN0ZWRUcmFuc2Zv
cm0sIG9wYWNpdHksIG1hc2spOworICAgIHRleE1hcEdMLT5kcmF3VGV4dHVyZShwbGF0Zm9ybUdl
dFRleHR1cmVJRCgpLCBmbGFncywgbV9wcml2YXRlLT5zaXplKCksIHRhcmdldFJlY3QsIGFkanVz
dGVkVHJhbnNmb3JtLCBvcGFjaXR5LCBtYXNrKTsKIH0KIAogdWludDMyX3QgR3JhcGhpY3NTdXJm
YWNlOjpwbGF0Zm9ybUZyb250QnVmZmVyKCkgY29uc3QKQEAgLTQyNSw2ICs0NDYsMTEgQEAgdWlu
dDMyX3QgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVN3YXBCdWZmZXJzKCkKICAgICByZXR1cm4g
MDsKIH0KIAorSW50U2l6ZSBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtU2l6ZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c2l6ZSgpOworfQorCiBQYXNzUmVmUHRyPEdyYXBoaWNz
U3VyZmFjZT4gR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybUNyZWF0ZShjb25zdCBJbnRTaXplJiBz
aXplLCBGbGFncyBmbGFncywgY29uc3QgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBzaGFyZUNv
bnRleHQpCiB7CiAgICAgLy8gWDExIGRvZXMgbm90IHN1cHBvcnQgQ29weVRvVGV4dHVyZSwgc28g
d2UgZG8gbm90IGNyZWF0ZSBhIEdyYXBoaWNzU3VyZmFjZSBpZiB0aGlzIGlzIHJlcXVlc3RlZC4K
QEAgLTQ1MywxNSArNDc5LDEzIEBAIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBHcmFwaGlj
c1N1cmZhY2U6OnBsYXRmb3JtSW1wb3J0KGNvbnN0IEludFNpemUmIHNpemUsCiAgICAgICAgIHJl
dHVybiBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4oKTsKIAogICAgIFJlZlB0cjxHcmFwaGlj
c1N1cmZhY2U+IHN1cmZhY2UgPSBhZG9wdFJlZihuZXcgR3JhcGhpY3NTdXJmYWNlKHNpemUsIGZs
YWdzKSk7CisgICAgc3VyZmFjZS0+bV9wbGF0Zm9ybVN1cmZhY2UgPSB0b2tlbi5mcm9udEJ1ZmZl
ckhhbmRsZTsKIAotICAgIHN1cmZhY2UtPm1fcHJpdmF0ZSA9IG5ldyBHcmFwaGljc1N1cmZhY2VQ
cml2YXRlKCk7CisgICAgc3VyZmFjZS0+bV9wcml2YXRlID0gbmV3IEdyYXBoaWNzU3VyZmFjZVBy
aXZhdGUoc3VyZmFjZS0+bV9wbGF0Zm9ybVN1cmZhY2UpOwogICAgIGlmICghcmVzb2x2ZUdMTWV0
aG9kcyhzdXJmYWNlLT5tX3ByaXZhdGUpKQogICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxHcmFw
aGljc1N1cmZhY2U+KCk7CiAKLSAgICBzdXJmYWNlLT5tX3BsYXRmb3JtU3VyZmFjZSA9IHRva2Vu
LmZyb250QnVmZmVySGFuZGxlOwotCiAgICAgc3VyZmFjZS0+bV9wcml2YXRlLT5jcmVhdGVQaXht
YXAoc3VyZmFjZS0+bV9wbGF0Zm9ybVN1cmZhY2UpOwotICAgIHN1cmZhY2UtPm1fc2l6ZSA9IHN1
cmZhY2UtPm1fcHJpdmF0ZS0+c2l6ZSgpOwogCiAgICAgcmV0dXJuIHN1cmZhY2U7CiB9Cg==
</data>
<flag name="review"
          id="191435"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>