<?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>71243</bug_id>
          
          <creation_ts>2011-10-31 15:21:55 -0700</creation_ts>
          <short_desc>Amend missing uses of LayoutUnits in RenderApplet, Button, and DeprecatedFlexibleBox</short_desc>
          <delta_ts>2011-10-31 18:02:22 -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>Layout and Rendering</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>
          
          <blocked>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>493531</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-10-31 15:21:55 -0700</bug_when>
    <thetext>Correcting continued uses of ints in these rendering classes. More to come...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493538</commentid>
    <comment_count>1</comment_count>
      <attachid>113093</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-10-31 15:27:19 -0700</bug_when>
    <thetext>Created attachment 113093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493553</commentid>
    <comment_count>2</comment_count>
      <attachid>113093</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-31 15:49:41 -0700</bug_when>
    <thetext>Comment on attachment 113093
Patch

Changes all look OK but patch doesn’t apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493577</commentid>
    <comment_count>3</comment_count>
      <attachid>113100</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-10-31 16:02:43 -0700</bug_when>
    <thetext>Created attachment 113100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493593</commentid>
    <comment_count>4</comment_count>
      <attachid>113100</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-31 16:11:55 -0700</bug_when>
    <thetext>Comment on attachment 113100
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493597</commentid>
    <comment_count>5</comment_count>
      <attachid>113100</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-10-31 16:19:10 -0700</bug_when>
    <thetext>Comment on attachment 113100
Patch

Thanks Eric!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493687</commentid>
    <comment_count>6</comment_count>
      <attachid>113100</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-31 18:02:15 -0700</bug_when>
    <thetext>Comment on attachment 113100
Patch

Clearing flags on attachment: 113100

Committed r98929: &lt;http://trac.webkit.org/changeset/98929&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493688</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-31 18:02:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113093</attachid>
            <date>2011-10-31 15:27:19 -0700</date>
            <delta_ts>2011-10-31 16:02:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71243-20111031152718.patch</filename>
            <type>text/plain</type>
            <size>13422</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4ODg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMTAtMzEgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFtZW5kIG1pc3NpbmcgdXNl
cyBvZiBMYXlvdXRVbml0cyBpbiBSZW5kZXJBcHBsZXQsIEJ1dHRvbiwgYW5kIERlcHJlY2F0ZWRG
bGV4aWJsZUJveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEyNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZXBsYWNpbmcgcmVtYWluaW5nIGludGVnZXIgdXNlcyB3aXRoIExheW91dFVuaXRzIGluIHRo
ZSBhZm9yZW1lbnRpb25lZCBjbGFzc2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAtLSBubyBj
aGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckFwcGxldDo6aW50cmluc2ljU2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJBcHBsZXQ6OmNyZWF0ZVdpZGdldElmTmVjZXNzYXJ5KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQXBwbGV0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJ1dHRvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCdXR0b246OmNvbnRyb2xD
bGlwUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bWFyZ2luV2lkdGhGb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJEZXBy
ZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2spOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXRIb3Jp
em9udGFsQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJv
eDo6YXBwbHlMaW5lQ2xhbXApOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVk
RmxleGlibGVCb3guaDoKKwogMjAxMS0xMC0zMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICB3aW5kb3cub25lcnJvciBkb2Vzbid0IHdvcmsgd2l0aCBp
bmxpbmUgKGF0dHJpYnV0ZSkgc2NyaXB0cwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckFwcGxldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckFwcGxldC5jcHAJKHJldmlzaW9uIDk4ODc2KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckFwcGxldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEzICs0NCwxMyBA
QCBSZW5kZXJBcHBsZXQ6On5SZW5kZXJBcHBsZXQoKQogewogfQogCi1JbnRTaXplIFJlbmRlckFw
cGxldDo6aW50cmluc2ljU2l6ZSgpIGNvbnN0CitMYXlvdXRTaXplIFJlbmRlckFwcGxldDo6aW50
cmluc2ljU2l6ZSgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBtYWtlIHNl
bnNlLiBXZSBjYW4ndCBqdXN0IHN0YXJ0IHJldHVybmluZwogICAgIC8vIGEgZGlmZmVyZW50IHNp
emUgb25jZSB3ZSd2ZSBjcmVhdGVkIHRoZSB3aWRnZXQgYW5kIGV4cGVjdAogICAgIC8vIGxheW91
dCBhbmQgc2l6aW5nIHRvIGJlIGNvcnJlY3QuIFdlIHNob3VsZCByZW1vdmUgdGhpcyBhbmQKICAg
ICAvLyBwYXNzIHRoZSBhcHByb3ByaWF0ZSBpbnRyaW5zaWMgc2l6ZSBpbiB0aGUgY29uc3RydWN0
b3IuCi0gICAgcmV0dXJuIHdpZGdldCgpID8gSW50U2l6ZSg1MCwgNTApIDogSW50U2l6ZSgxNTAs
IDE1MCk7CisgICAgcmV0dXJuIHdpZGdldCgpID8gTGF5b3V0U2l6ZSg1MCwgNTApIDogTGF5b3V0
U2l6ZSgxNTAsIDE1MCk7CiB9CiAKIHZvaWQgUmVuZGVyQXBwbGV0OjpjcmVhdGVXaWRnZXRJZk5l
Y2Vzc2FyeSgpCkBAIC02Myw5ICs2Myw5IEBAIHZvaWQgUmVuZGVyQXBwbGV0OjpjcmVhdGVXaWRn
ZXRJZk5lY2Vzc2EKICAgICAvLyBJbiBvcmRlciB0byB3b3JrIGFyb3VuZCB0aGlzIHByb2JsZW0g
YW5kIGhhdmUgYSBjb3JyZWN0IHNpemUgZnJvbSB0aGUgc3RhcnQsIHdlIHdpbGwKICAgICAvLyB1
c2UgZml4ZWQgd2lkdGhzL2hlaWdodHMgZnJvbSB0aGUgc3R5bGUgc3lzdGVtIHdoZW4gd2UgY2Fu
LCBzaW5jZSB0aGUgd2lkZ2V0IG1pZ2h0CiAgICAgLy8gbm90IGhhdmUgYW4gYWNjdXJhdGUgbV93
aWR0aC9tX2hlaWdodC4KLSAgICBpbnQgY29udGVudFdpZHRoID0gc3R5bGUoKS0+d2lkdGgoKS5p
c0ZpeGVkKCkgPyBzdHlsZSgpLT53aWR0aCgpLnZhbHVlKCkgOiAKKyAgICBMYXlvdXRVbml0IGNv
bnRlbnRXaWR0aCA9IHN0eWxlKCktPndpZHRoKCkuaXNGaXhlZCgpID8gTGF5b3V0VW5pdChzdHls
ZSgpLT53aWR0aCgpLnZhbHVlKCkpIDogCiAgICAgICAgIHdpZHRoKCkgLSBib3JkZXJBbmRQYWRk
aW5nV2lkdGgoKTsKLSAgICBpbnQgY29udGVudEhlaWdodCA9IHN0eWxlKCktPmhlaWdodCgpLmlz
Rml4ZWQoKSA/IHN0eWxlKCktPmhlaWdodCgpLnZhbHVlKCkgOgorICAgIExheW91dFVuaXQgY29u
dGVudEhlaWdodCA9IHN0eWxlKCktPmhlaWdodCgpLmlzRml4ZWQoKSA/IExheW91dFVuaXQoc3R5
bGUoKS0+aGVpZ2h0KCkudmFsdWUoKSkgOgogICAgICAgICBoZWlnaHQoKSAtIGJvcmRlckFuZFBh
ZGRpbmdIZWlnaHQoKTsKICAgICBmb3IgKE5vZGUqIGNoaWxkID0gZWxlbWVudC0+Zmlyc3RDaGls
ZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewogICAgICAgICBpZiAo
Y2hpbGQtPmhhc1RhZ05hbWUocGFyYW1UYWcpKSB7CkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgUmVu
ZGVyQXBwbGV0OjpjcmVhdGVXaWRnZXRJZk5lY2Vzc2EKIAogICAgIEZyYW1lKiBmcmFtZSA9IHRo
aXMtPmZyYW1lKCk7CiAgICAgQVNTRVJUKGZyYW1lKTsKLSAgICBzZXRXaWRnZXQoZnJhbWUtPmxv
YWRlcigpLT5zdWJmcmFtZUxvYWRlcigpLT5jcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KEludFNpemUo
Y29udGVudFdpZHRoLCBjb250ZW50SGVpZ2h0KSwgZWxlbWVudCwgbV9hcmdzKSk7CisgICAgc2V0
V2lkZ2V0KGZyYW1lLT5sb2FkZXIoKS0+c3ViZnJhbWVMb2FkZXIoKS0+Y3JlYXRlSmF2YUFwcGxl
dFdpZGdldChMYXlvdXRTaXplKGNvbnRlbnRXaWR0aCwgY29udGVudEhlaWdodCksIGVsZW1lbnQs
IG1fYXJncykpOwogfQogCiB2b2lkIFJlbmRlckFwcGxldDo6bGF5b3V0KCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcHBsZXQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmgJKHJldmlzaW9uIDk4ODc2KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFwcGxldC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw3ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzQXBwbGV0KCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOwotICAgIHZpcnR1
YWwgSW50U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBMYXlvdXRTaXpl
IGludHJpbnNpY1NpemUoKSBjb25zdDsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAJKHJldmlzaW9uIDk4ODc2KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE1NywxMCArMTU3LDEwIEBAIHZvaWQgUmVuZGVyQnV0dG9uOjp1cGRhdGVCZWZvcmVBZnRl
ckNvbnQKICAgICAgICAgY2hpbGRyZW4oKS0+dXBkYXRlQmVmb3JlQWZ0ZXJDb250ZW50KHRoaXMs
IHR5cGUpOwogfQogCi1JbnRSZWN0IFJlbmRlckJ1dHRvbjo6Y29udHJvbENsaXBSZWN0KGNvbnN0
IEludFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0KSBjb25zdAorTGF5b3V0UmVjdCBSZW5kZXJCdXR0
b246OmNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkg
Y29uc3QKIHsKICAgICAvLyBDbGlwIHRvIHRoZSBwYWRkaW5nIGJveCB0byBhdCBsZWFzdCBnaXZl
IGNvbnRlbnQgdGhlIGV4dHJhIHBhZGRpbmcgc3BhY2UuCi0gICAgcmV0dXJuIEludFJlY3QoYWRk
aXRpb25hbE9mZnNldC54KCkgKyBib3JkZXJMZWZ0KCksIGFkZGl0aW9uYWxPZmZzZXQueSgpICsg
Ym9yZGVyVG9wKCksIHdpZHRoKCkgLSBib3JkZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpLCBoZWln
aHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkpOworICAgIHJldHVybiBMYXlvdXRS
ZWN0KGFkZGl0aW9uYWxPZmZzZXQueCgpICsgYm9yZGVyTGVmdCgpLCBhZGRpdGlvbmFsT2Zmc2V0
LnkoKSArIGJvcmRlclRvcCgpLCB3aWR0aCgpIC0gYm9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQo
KSwgaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJvcmRlckJvdHRvbSgpKTsKIH0KIAogdm9pZCBS
ZW5kZXJCdXR0b246OnRpbWVyRmlyZWQoVGltZXI8UmVuZGVyQnV0dG9uPiopCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCShyZXZpc2lvbiA5ODg3NikKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAkod29ya2luZyBjb3B5KQpAQCAt
NTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJlZm9yZUFmdGVy
Q29udGVudChQc2V1ZG9JZCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzQ29udHJvbENsaXAoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBJbnRSZWN0IGNvbnRyb2xDbGlwUmVj
dChjb25zdCBJbnRQb2ludCYpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBjb250cm9s
Q2xpcFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmKSBjb25zdDsKIAogICAgIHZvaWQgc2V0VGV4dChj
b25zdCBTdHJpbmcmKTsKICAgICBTdHJpbmcgdGV4dCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJv
eC5jcHAJKHJldmlzaW9uIDk4ODc2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOSwxNCArMTI5
LDE0IEBAIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6flJlbmRlckRlcHIKIHsKIH0KIAot
c3RhdGljIGludCBtYXJnaW5XaWR0aEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQpCitzdGF0aWMg
TGF5b3V0VW5pdCBtYXJnaW5XaWR0aEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQpCiB7CiAgICAg
Ly8gQSBtYXJnaW4gYmFzaWNhbGx5IGhhcyB0aHJlZSB0eXBlczogZml4ZWQsIHBlcmNlbnRhZ2Us
IGFuZCBhdXRvICh2YXJpYWJsZSkuCiAgICAgLy8gQXV0byBhbmQgcGVyY2VudGFnZSBtYXJnaW5z
IHNpbXBseSBiZWNvbWUgMCB3aGVuIGNvbXB1dGluZyBtaW4vbWF4IHdpZHRoLgogICAgIC8vIEZp
eGVkIG1hcmdpbnMgY2FuIGJlIGFkZGVkIGluIGFzIGlzLgogICAgIExlbmd0aCBtYXJnaW5MZWZ0
ID0gY2hpbGQtPnN0eWxlKCktPm1hcmdpbkxlZnQoKTsKICAgICBMZW5ndGggbWFyZ2luUmlnaHQg
PSBjaGlsZC0+c3R5bGUoKS0+bWFyZ2luUmlnaHQoKTsKLSAgICBpbnQgbWFyZ2luID0gMDsKKyAg
ICBMYXlvdXRVbml0IG1hcmdpbiA9IDA7CiAgICAgaWYgKG1hcmdpbkxlZnQuaXNGaXhlZCgpKQog
ICAgICAgICBtYXJnaW4gKz0gbWFyZ2luTGVmdC52YWx1ZSgpOwogICAgIGlmIChtYXJnaW5SaWdo
dC5pc0ZpeGVkKCkpCkBAIC0xOTYsNyArMTk2LDcgQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3g6OmNvbXB1dAogCiAgICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpICYmIHN0eWxlKCkt
Pm92ZXJmbG93WSgpID09IE9TQ1JPTEwpIHsKICAgICAgICAgbGF5ZXIoKS0+c2V0SGFzVmVydGlj
YWxTY3JvbGxiYXIodHJ1ZSk7Ci0gICAgICAgIGludCBzY3JvbGxiYXJXaWR0aCA9IHZlcnRpY2Fs
U2Nyb2xsYmFyV2lkdGgoKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzY3JvbGxiYXJXaWR0aCA9IHZl
cnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsKICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggKz0gc2Nyb2xsYmFyV2lkdGg7CiAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ICs9IHNjcm9sbGJhcldpZHRoOwogICAgIH0KQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFJlbmRl
ckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0CiAgICAgc2V0UHJlZmVycmVkTG9naWNhbFdp
ZHRoc0RpcnR5KGZhbHNlKTsKIH0KIAotdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6
OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgaW50IHBhZ2VMb2dpY2FsSGVpZ2h0
LCBCbG9ja0xheW91dFBhc3MgbGF5b3V0UGFzcykKK3ZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhp
YmxlQm94OjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFn
ZUxvZ2ljYWxIZWlnaHQsIEJsb2NrTGF5b3V0UGFzcyBsYXlvdXRQYXNzKQogewogICAgIEFTU0VS
VChuZWVkc0xheW91dCgpKTsKIApAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94OjpsYXlvdXQKICAgICAgICAgcmV0dXJuOwogCiAgICAgTGF5b3V0UmVw
YWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tGb3JSZXBhaW50RHVyaW5nTGF5b3V0KCkpOwot
ICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIEludFNp
emUoeCgpLCB5KCkpLCBoYXNUcmFuc2Zvcm0oKSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwgc3R5bGUo
KS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSk7CisgICAgTGF5b3V0U3RhdGVNYWludGFp
bmVyIHN0YXRlUHVzaGVyKHZpZXcoKSwgdGhpcywgTGF5b3V0U2l6ZSh4KCksIHkoKSksIGhhc1Ry
YW5zZm9ybSgpIHx8IGhhc1JlZmxlY3Rpb24oKSB8fCBzdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NX
cml0aW5nTW9kZSgpKTsKIAogICAgIExheW91dFNpemUgcHJldmlvdXNTaXplID0gc2l6ZSgpOwog
CkBAIC0yNzUsOCArMjc1LDggQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6Omxh
eW91dAogICAgICAgICAvLyBib3R0b20gbWFyZ2luIG1heCB2YWx1ZXMgdG8gMC4gIFRoaXMgd2F5
IHdlIGRvbid0IGZhY3RvciBpbiB0aGUgdmFsdWVzCiAgICAgICAgIC8vIHR3aWNlIHdoZW4gd2Ug
Y29sbGFwc2Ugd2l0aCBvdXIgcHJldmlvdXMgdmVydGljYWxseSBhZGphY2VudCBhbmQKICAgICAg
ICAgLy8gZm9sbG93aW5nIHZlcnRpY2FsbHkgYWRqYWNlbnQgYmxvY2tzLgotICAgICAgICBpbnQg
cG9zID0gbWF4UG9zaXRpdmVNYXJnaW5CZWZvcmUoKTsKLSAgICAgICAgaW50IG5lZyA9IG1heE5l
Z2F0aXZlTWFyZ2luQmVmb3JlKCk7CisgICAgICAgIExheW91dFVuaXQgcG9zID0gbWF4UG9zaXRp
dmVNYXJnaW5CZWZvcmUoKTsKKyAgICAgICAgTGF5b3V0VW5pdCBuZWcgPSBtYXhOZWdhdGl2ZU1h
cmdpbkJlZm9yZSgpOwogICAgICAgICBpZiAobWF4UG9zaXRpdmVNYXJnaW5BZnRlcigpID4gcG9z
KQogICAgICAgICAgICAgcG9zID0gbWF4UG9zaXRpdmVNYXJnaW5BZnRlcigpOwogICAgICAgICBp
ZiAobWF4TmVnYXRpdmVNYXJnaW5BZnRlcigpID4gbmVnKQpAQCAtNDU1LDcgKzQ1NSw3IEBAIHZv
aWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXQKICAgICAgICAgICAgICAgICAg
ICAgY2hpbGRZICs9IGNoaWxkLT5tYXJnaW5Ub3AoKSArIG1heDxMYXlvdXRVbml0PigwLCAoY29u
dGVudEhlaWdodCgpIC0gKGNoaWxkLT5oZWlnaHQoKSArIGNoaWxkLT5tYXJnaW5Ub3AoKSArIGNo
aWxkLT5tYXJnaW5Cb3R0b20oKSkpIC8gMik7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgICAgIGNhc2UgQkJBU0VMSU5FOiB7Ci0gICAgICAgICAgICAgICAgICAgIGlu
dCBhc2NlbnQgPSBjaGlsZC0+Zmlyc3RMaW5lQm94QmFzZWxpbmUoKTsKKyAgICAgICAgICAgICAg
ICAgICAgTGF5b3V0VW5pdCBhc2NlbnQgPSBjaGlsZC0+Zmlyc3RMaW5lQm94QmFzZWxpbmUoKTsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGFzY2VudCA9PSAtMSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIGFzY2VudCA9IGNoaWxkLT5oZWlnaHQoKSArIGNoaWxkLT5tYXJnaW5Cb3R0b20oKTsK
ICAgICAgICAgICAgICAgICAgICAgYXNjZW50ICs9IGNoaWxkLT5tYXJnaW5Ub3AoKTsKQEAgLTQ3
MCw3ICs0NzAsNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6bGF5b3V0CiAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBw
bGFjZUNoaWxkKGNoaWxkLCBJbnRQb2ludCh4UG9zLCBjaGlsZFkpKTsKKyAgICAgICAgICAgIHBs
YWNlQ2hpbGQoY2hpbGQsIExheW91dFBvaW50KHhQb3MsIGNoaWxkWSkpOwogCiAgICAgICAgICAg
ICB4UG9zICs9IGNoaWxkLT53aWR0aCgpICsgY2hpbGQtPm1hcmdpblJpZ2h0KCk7CiAgICAgICAg
IH0KQEAgLTUwOSw3ICs1MDksNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6
bGF5b3V0CiAgICAgICAgICAgICAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGl0ZXJh
dG9yLmZpcnN0KCk7IGNoaWxkOyBjaGlsZCA9IGl0ZXJhdG9yLm5leHQoKSkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBhbGxvd2VkRmxleCA9IGFsbG93ZWRDaGlsZEZsZXgo
Y2hpbGQsIGV4cGFuZGluZywgaSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWxsb3dl
ZEZsZXgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IHByb2plY3Rl
ZEZsZXggPSAoYWxsb3dlZEZsZXggPT0gbnVtZXJpY19saW1pdHM8TGF5b3V0VW5pdD46Om1heCgp
KSA/IGFsbG93ZWRGbGV4IDogc3RhdGljX2Nhc3Q8TGF5b3V0VW5pdD4oYWxsb3dlZEZsZXggKiAo
dG90YWxGbGV4IC8gY2hpbGQtPnN0eWxlKCktPmJveEZsZXgoKSkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIExheW91dFVuaXQgcHJvamVjdGVkRmxleCA9IChhbGxvd2VkRmxleCA9PSBu
dW1lcmljX2xpbWl0czxMYXlvdXRVbml0Pjo6bWF4KCkpID8gYWxsb3dlZEZsZXggOiBMYXlvdXRV
bml0KGFsbG93ZWRGbGV4ICogKHRvdGFsRmxleCAvIGNoaWxkLT5zdHlsZSgpLT5ib3hGbGV4KCkp
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFjZUF2YWlsYWJsZVRoaXNQYXNzID0g
ZXhwYW5kaW5nID8gbWluKHNwYWNlQXZhaWxhYmxlVGhpc1Bhc3MsIHByb2plY3RlZEZsZXgpIDog
bWF4KHNwYWNlQXZhaWxhYmxlVGhpc1Bhc3MsIHByb2plY3RlZEZsZXgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CkBAIC01MjcsNyArNTI3LDcgQEAg
dm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmxheW91dAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWxs
b3dlZENoaWxkRmxleChjaGlsZCwgZXhwYW5kaW5nLCBpKSkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIExheW91dFVuaXQgc3BhY2VBZGQgPSBzdGF0aWNfY2FzdDxMYXlvdXRVbml0Pihz
cGFjZUF2YWlsYWJsZVRoaXNQYXNzICogKGNoaWxkLT5zdHlsZSgpLT5ib3hGbGV4KCkgLyB0b3Rh
bEZsZXgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IHNwYWNlQWRk
ID0gTGF5b3V0VW5pdChzcGFjZUF2YWlsYWJsZVRoaXNQYXNzICogKGNoaWxkLT5zdHlsZSgpLT5i
b3hGbGV4KCkgLyB0b3RhbEZsZXgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
c3BhY2VBZGQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQtPnNldE92
ZXJyaWRlV2lkdGgoY2hpbGQtPm92ZXJyaWRlV2lkdGgoKSArIHNwYWNlQWRkKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9mbGV4aW5nQ2hpbGRyZW4gPSB0cnVlOwpAQCAtOTA2
LDcgKzkwNiw3IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjphcHBseUwKICAg
ICAgICAgaWYgKGxpbmVDb3VudCA8PSBudW1WaXNpYmxlTGluZXMpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAotICAgICAgICBpbnQgbmV3SGVpZ2h0ID0gYmxvY2tDaGlsZC0+aGVpZ2h0Rm9yTGlu
ZUNvdW50KG51bVZpc2libGVMaW5lcyk7CisgICAgICAgIExheW91dFVuaXQgbmV3SGVpZ2h0ID0g
YmxvY2tDaGlsZC0+aGVpZ2h0Rm9yTGluZUNvdW50KG51bVZpc2libGVMaW5lcyk7CiAgICAgICAg
IGlmIChuZXdIZWlnaHQgPT0gY2hpbGQtPmhlaWdodCgpKQogICAgICAgICAgICAgY29udGludWU7
CiAKQEAgLTkzNiw3ICs5MzYsNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6
YXBwbHlMCiAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZShudW1WaXNpYmxlTGluZXMg
PT0gMSktPmZvbnQoKTsKIAogICAgICAgICAvLyBHZXQgZWxsaXBzaXMgd2lkdGgsIGFuZCBpZiB0
aGUgbGFzdCBjaGlsZCBpcyBhbiBhbmNob3IsIGl0IHdpbGwgZ28gYWZ0ZXIgdGhlIGVsbGlwc2lz
LCBzbyBhZGQgaW4gYSBzcGFjZSBhbmQgdGhlIGFuY2hvciB3aWR0aCB0b28KLSAgICAgICAgaW50
IHRvdGFsV2lkdGg7CisgICAgICAgIExheW91dFVuaXQgdG90YWxXaWR0aDsKICAgICAgICAgSW5s
aW5lQm94KiBhbmNob3JCb3ggPSBsYXN0TGluZS0+bGFzdENoaWxkKCk7CiAgICAgICAgIGlmIChh
bmNob3JCb3ggJiYgYW5jaG9yQm94LT5yZW5kZXJlcigpLT5zdHlsZSgpLT5pc0xpbmsoKSkKICAg
ICAgICAgICAgIHRvdGFsV2lkdGggPSBhbmNob3JCb3gtPmxvZ2ljYWxXaWR0aCgpICsgZm9udC53
aWR0aChjb25zdHJ1Y3RUZXh0UnVuKHRoaXMsIGZvbnQsIGVsbGlwc2lzQW5kU3BhY2UsIDIsIHN0
eWxlKCkpKTsKQEAgLTk1NywxMCArOTU3LDEwIEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhp
YmxlQm94OjphcHBseUwKICAgICAgICAgaWYgKCFsZWZ0VG9SaWdodCkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogCi0gICAgICAgIGludCBibG9ja1JpZ2h0RWRnZSA9IGRlc3RCbG9jay0+bG9naWNh
bFJpZ2h0T2Zmc2V0Rm9yTGluZShsYXN0VmlzaWJsZUxpbmUtPnkoKSwgZmFsc2UpOwotICAgICAg
ICBpbnQgYmxvY2tMZWZ0RWRnZSA9IGRlc3RCbG9jay0+bG9naWNhbExlZnRPZmZzZXRGb3JMaW5l
KGxhc3RWaXNpYmxlTGluZS0+eSgpLCBmYWxzZSk7CisgICAgICAgIExheW91dFVuaXQgYmxvY2tS
aWdodEVkZ2UgPSBkZXN0QmxvY2stPmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUobGFzdFZpc2li
bGVMaW5lLT55KCksIGZhbHNlKTsKKyAgICAgICAgTGF5b3V0VW5pdCBibG9ja0xlZnRFZGdlID0g
ZGVzdEJsb2NrLT5sb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobGFzdFZpc2libGVMaW5lLT55KCks
IGZhbHNlKTsKIAotICAgICAgICBpbnQgYmxvY2tFZGdlID0gbGVmdFRvUmlnaHQgPyBibG9ja1Jp
Z2h0RWRnZSA6IGJsb2NrTGVmdEVkZ2U7CisgICAgICAgIExheW91dFVuaXQgYmxvY2tFZGdlID0g
bGVmdFRvUmlnaHQgPyBibG9ja1JpZ2h0RWRnZSA6IGJsb2NrTGVmdEVkZ2U7CiAgICAgICAgIGlm
ICghbGFzdFZpc2libGVMaW5lLT5saW5lQ2FuQWNjb21tb2RhdGVFbGxpcHNpcyhsZWZ0VG9SaWdo
dCwgYmxvY2tFZGdlLCBsYXN0VmlzaWJsZUxpbmUtPngoKSArIGxhc3RWaXNpYmxlTGluZS0+bG9n
aWNhbFdpZHRoKCksIHRvdGFsV2lkdGgpKQogICAgICAgICAgICAgY29udGludWU7CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZs
ZXhpYmxlQm94LmgJKHJldmlzaW9uIDk4ODc2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0
MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhbGNIb3Jpem9udGFsUHJlZldpZHRocygpOwogICAg
IHZvaWQgY2FsY1ZlcnRpY2FsUHJlZldpZHRocygpOwogCi0gICAgdmlydHVhbCB2b2lkIGxheW91
dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgaW50IHBhZ2VIZWlnaHQgPSAwLCBCbG9ja0xh
eW91dFBhc3MgPSBOb3JtYWxMYXlvdXRQYXNzKTsKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0Qmxv
Y2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQgPSAwLCBCbG9j
a0xheW91dFBhc3MgPSBOb3JtYWxMYXlvdXRQYXNzKTsKICAgICB2b2lkIGxheW91dEhvcml6b250
YWxCb3goYm9vbCByZWxheW91dENoaWxkcmVuKTsKICAgICB2b2lkIGxheW91dFZlcnRpY2FsQm94
KGJvb2wgcmVsYXlvdXRDaGlsZHJlbik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113100</attachid>
            <date>2011-10-31 16:02:43 -0700</date>
            <delta_ts>2011-10-31 18:02:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71243-20111031160242.patch</filename>
            <type>text/plain</type>
            <size>13436</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4ODk0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMTAtMzEgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFtZW5kIG1pc3NpbmcgdXNl
cyBvZiBMYXlvdXRVbml0cyBpbiBSZW5kZXJBcHBsZXQsIEJ1dHRvbiwgYW5kIERlcHJlY2F0ZWRG
bGV4aWJsZUJveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzEyNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZXBsYWNpbmcgcmVtYWluaW5nIGludGVnZXIgdXNlcyB3aXRoIExheW91dFVuaXRzIGluIHRo
ZSBhZm9yZW1lbnRpb25lZCBjbGFzc2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAtLSBubyBj
aGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckFwcGxldDo6aW50cmluc2ljU2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJBcHBsZXQ6OmNyZWF0ZVdpZGdldElmTmVjZXNzYXJ5KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQXBwbGV0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJ1dHRvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCdXR0b246OmNvbnRyb2xD
bGlwUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bWFyZ2luV2lkdGhGb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJEZXBy
ZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2spOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXRIb3Jp
em9udGFsQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJv
eDo6YXBwbHlMaW5lQ2xhbXApOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVk
RmxleGlibGVCb3guaDoKKwogMjAxMS0xMC0zMSAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVcGRhdGUgWE1MSHR0cFJlcXVlc3Quc2VuZCBpZGwg
ZGVjbGFyYXRpb24gdG8gbWF0Y2ggaW1wbGVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmNwcAkocmV2aXNpb24gOTg4OTEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQs
MTMgKzQ0LDEzIEBAIFJlbmRlckFwcGxldDo6flJlbmRlckFwcGxldCgpCiB7CiB9CiAKLUludFNp
emUgUmVuZGVyQXBwbGV0OjppbnRyaW5zaWNTaXplKCkgY29uc3QKK0xheW91dFNpemUgUmVuZGVy
QXBwbGV0OjppbnRyaW5zaWNTaXplKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogVGhpcyBkb2Vz
bid0IG1ha2Ugc2Vuc2UuIFdlIGNhbid0IGp1c3Qgc3RhcnQgcmV0dXJuaW5nCiAgICAgLy8gYSBk
aWZmZXJlbnQgc2l6ZSBvbmNlIHdlJ3ZlIGNyZWF0ZWQgdGhlIHdpZGdldCBhbmQgZXhwZWN0CiAg
ICAgLy8gbGF5b3V0IGFuZCBzaXppbmcgdG8gYmUgY29ycmVjdC4gV2Ugc2hvdWxkIHJlbW92ZSB0
aGlzIGFuZAogICAgIC8vIHBhc3MgdGhlIGFwcHJvcHJpYXRlIGludHJpbnNpYyBzaXplIGluIHRo
ZSBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gd2lkZ2V0KCkgPyBJbnRTaXplKDUwLCA1MCkgOiBJ
bnRTaXplKDE1MCwgMTUwKTsKKyAgICByZXR1cm4gd2lkZ2V0KCkgPyBMYXlvdXRTaXplKDUwLCA1
MCkgOiBMYXlvdXRTaXplKDE1MCwgMTUwKTsKIH0KIAogdm9pZCBSZW5kZXJBcHBsZXQ6OmNyZWF0
ZVdpZGdldElmTmVjZXNzYXJ5KCkKQEAgLTYzLDkgKzYzLDkgQEAgdm9pZCBSZW5kZXJBcHBsZXQ6
OmNyZWF0ZVdpZGdldElmTmVjZXNzYQogICAgIC8vIEluIG9yZGVyIHRvIHdvcmsgYXJvdW5kIHRo
aXMgcHJvYmxlbSBhbmQgaGF2ZSBhIGNvcnJlY3Qgc2l6ZSBmcm9tIHRoZSBzdGFydCwgd2Ugd2ls
bAogICAgIC8vIHVzZSBmaXhlZCB3aWR0aHMvaGVpZ2h0cyBmcm9tIHRoZSBzdHlsZSBzeXN0ZW0g
d2hlbiB3ZSBjYW4sIHNpbmNlIHRoZSB3aWRnZXQgbWlnaHQKICAgICAvLyBub3QgaGF2ZSBhbiBh
Y2N1cmF0ZSBtX3dpZHRoL21faGVpZ2h0LgotICAgIGludCBjb250ZW50V2lkdGggPSBzdHlsZSgp
LT53aWR0aCgpLmlzRml4ZWQoKSA/IHN0eWxlKCktPndpZHRoKCkudmFsdWUoKSA6IAorICAgIExh
eW91dFVuaXQgY29udGVudFdpZHRoID0gc3R5bGUoKS0+d2lkdGgoKS5pc0ZpeGVkKCkgPyBMYXlv
dXRVbml0KHN0eWxlKCktPndpZHRoKCkudmFsdWUoKSkgOiAKICAgICAgICAgd2lkdGgoKSAtIGJv
cmRlckFuZFBhZGRpbmdXaWR0aCgpOwotICAgIGludCBjb250ZW50SGVpZ2h0ID0gc3R5bGUoKS0+
aGVpZ2h0KCkuaXNGaXhlZCgpID8gc3R5bGUoKS0+aGVpZ2h0KCkudmFsdWUoKSA6CisgICAgTGF5
b3V0VW5pdCBjb250ZW50SGVpZ2h0ID0gc3R5bGUoKS0+aGVpZ2h0KCkuaXNGaXhlZCgpID8gTGF5
b3V0VW5pdChzdHlsZSgpLT5oZWlnaHQoKS52YWx1ZSgpKSA6CiAgICAgICAgIGhlaWdodCgpIC0g
Ym9yZGVyQW5kUGFkZGluZ0hlaWdodCgpOwogICAgIGZvciAoTm9kZSogY2hpbGQgPSBlbGVtZW50
LT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7CiAg
ICAgICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShwYXJhbVRhZykpIHsKQEAgLTc3LDcgKzc3LDcg
QEAgdm9pZCBSZW5kZXJBcHBsZXQ6OmNyZWF0ZVdpZGdldElmTmVjZXNzYQogCiAgICAgRnJhbWUq
IGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKICAgICBBU1NFUlQoZnJhbWUpOwotICAgIHNldFdpZGdl
dChmcmFtZS0+bG9hZGVyKCktPnN1YmZyYW1lTG9hZGVyKCktPmNyZWF0ZUphdmFBcHBsZXRXaWRn
ZXQoSW50U2l6ZShjb250ZW50V2lkdGgsIGNvbnRlbnRIZWlnaHQpLCBlbGVtZW50LCBtX2FyZ3Mp
KTsKKyAgICBzZXRXaWRnZXQoZnJhbWUtPmxvYWRlcigpLT5zdWJmcmFtZUxvYWRlcigpLT5jcmVh
dGVKYXZhQXBwbGV0V2lkZ2V0KExheW91dFNpemUoY29udGVudFdpZHRoLCBjb250ZW50SGVpZ2h0
KSwgZWxlbWVudCwgbV9hcmdzKSk7CiB9CiAKIHZvaWQgUmVuZGVyQXBwbGV0OjpsYXlvdXQoKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFwcGxldC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcHBsZXQuaAkocmV2aXNpb24gOTg4
OTEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNBcHBs
ZXQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7
Ci0gICAgdmlydHVhbCBJbnRTaXplIGludHJpbnNpY1NpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IExheW91dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0OwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAkocmV2aXNpb24g
OTg4OTEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTU3LDEwICsxNTcsMTAgQEAgdm9pZCBSZW5kZXJCdXR0b246OnVwZGF0
ZUJlZm9yZUFmdGVyQ29udAogICAgICAgICBjaGlsZHJlbigpLT51cGRhdGVCZWZvcmVBZnRlckNv
bnRlbnQodGhpcywgdHlwZSk7CiB9CiAKLUludFJlY3QgUmVuZGVyQnV0dG9uOjpjb250cm9sQ2xp
cFJlY3QoY29uc3QgSW50UG9pbnQmIGFkZGl0aW9uYWxPZmZzZXQpIGNvbnN0CitMYXlvdXRSZWN0
IFJlbmRlckJ1dHRvbjo6Y29udHJvbENsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlv
bmFsT2Zmc2V0KSBjb25zdAogewogICAgIC8vIENsaXAgdG8gdGhlIHBhZGRpbmcgYm94IHRvIGF0
IGxlYXN0IGdpdmUgY29udGVudCB0aGUgZXh0cmEgcGFkZGluZyBzcGFjZS4KLSAgICByZXR1cm4g
SW50UmVjdChhZGRpdGlvbmFsT2Zmc2V0LngoKSArIGJvcmRlckxlZnQoKSwgYWRkaXRpb25hbE9m
ZnNldC55KCkgKyBib3JkZXJUb3AoKSwgd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJp
Z2h0KCksIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSk7CisgICAgcmV0
dXJuIExheW91dFJlY3QoYWRkaXRpb25hbE9mZnNldC54KCkgKyBib3JkZXJMZWZ0KCksIGFkZGl0
aW9uYWxPZmZzZXQueSgpICsgYm9yZGVyVG9wKCksIHdpZHRoKCkgLSBib3JkZXJMZWZ0KCkgLSBi
b3JkZXJSaWdodCgpLCBoZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkpOwog
fQogCiB2b2lkIFJlbmRlckJ1dHRvbjo6dGltZXJGaXJlZChUaW1lcjxSZW5kZXJCdXR0b24+KikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmgJKHJldmlzaW9uIDk4
ODkxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCSh3b3JraW5n
IGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
QmVmb3JlQWZ0ZXJDb250ZW50KFBzZXVkb0lkKTsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNDb250
cm9sQ2xpcCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIExheW91dFJlY3Qg
Y29udHJvbENsaXBSZWN0KGNvbnN0IEludFBvaW50JikgY29uc3Q7CisgICAgdmlydHVhbCBMYXlv
dXRSZWN0IGNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0OwogCiAgICAg
dm9pZCBzZXRUZXh0KGNvbnN0IFN0cmluZyYpOwogICAgIFN0cmluZyB0ZXh0KCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94LmNwcAkocmV2aXNpb24gOTg4OTEpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTI5LDE0ICsxMjksMTQgQEAgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojp+UmVuZGVy
RGVwcgogewogfQogCi1zdGF0aWMgaW50IG1hcmdpbldpZHRoRm9yQ2hpbGQoUmVuZGVyQm94KiBj
aGlsZCkKK3N0YXRpYyBMYXlvdXRVbml0IG1hcmdpbldpZHRoRm9yQ2hpbGQoUmVuZGVyQm94KiBj
aGlsZCkKIHsKICAgICAvLyBBIG1hcmdpbiBiYXNpY2FsbHkgaGFzIHRocmVlIHR5cGVzOiBmaXhl
ZCwgcGVyY2VudGFnZSwgYW5kIGF1dG8gKHZhcmlhYmxlKS4KICAgICAvLyBBdXRvIGFuZCBwZXJj
ZW50YWdlIG1hcmdpbnMgc2ltcGx5IGJlY29tZSAwIHdoZW4gY29tcHV0aW5nIG1pbi9tYXggd2lk
dGguCiAgICAgLy8gRml4ZWQgbWFyZ2lucyBjYW4gYmUgYWRkZWQgaW4gYXMgaXMuCiAgICAgTGVu
Z3RoIG1hcmdpbkxlZnQgPSBjaGlsZC0+c3R5bGUoKS0+bWFyZ2luTGVmdCgpOwogICAgIExlbmd0
aCBtYXJnaW5SaWdodCA9IGNoaWxkLT5zdHlsZSgpLT5tYXJnaW5SaWdodCgpOwotICAgIGludCBt
YXJnaW4gPSAwOworICAgIExheW91dFVuaXQgbWFyZ2luID0gMDsKICAgICBpZiAobWFyZ2luTGVm
dC5pc0ZpeGVkKCkpCiAgICAgICAgIG1hcmdpbiArPSBtYXJnaW5MZWZ0LnZhbHVlKCk7CiAgICAg
aWYgKG1hcmdpblJpZ2h0LmlzRml4ZWQoKSkKQEAgLTE5Niw3ICsxOTYsNyBAQCB2b2lkIFJlbmRl
ckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0CiAKICAgICBpZiAoaGFzT3ZlcmZsb3dDbGlw
KCkgJiYgc3R5bGUoKS0+b3ZlcmZsb3dZKCkgPT0gT1NDUk9MTCkgewogICAgICAgICBsYXllcigp
LT5zZXRIYXNWZXJ0aWNhbFNjcm9sbGJhcih0cnVlKTsKLSAgICAgICAgaW50IHNjcm9sbGJhcldp
ZHRoID0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOworICAgICAgICBMYXlvdXRVbml0IHNjcm9s
bGJhcldpZHRoID0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOwogICAgICAgICBtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKICAgICAgICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFyV2lkdGg7CiAgICAgfQpAQCAtMjE4LDcgKzIxOCw3
IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXQKICAgICBzZXRQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoZmFsc2UpOwogfQogCi12b2lkIFJlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBpbnQgcGFn
ZUxvZ2ljYWxIZWlnaHQsIEJsb2NrTGF5b3V0UGFzcyBsYXlvdXRQYXNzKQordm9pZCBSZW5kZXJE
ZXByZWNhdGVkRmxleGlibGVCb3g6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwg
TGF5b3V0VW5pdCBwYWdlTG9naWNhbEhlaWdodCwgQmxvY2tMYXlvdXRQYXNzIGxheW91dFBhc3Mp
CiB7CiAgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwogCkBAIC0yMjYsNyArMjI2LDcgQEAgdm9p
ZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmxheW91dAogICAgICAgICByZXR1cm47CiAK
ICAgICBMYXlvdXRSZXBhaW50ZXIgcmVwYWludGVyKCp0aGlzLCBjaGVja0ZvclJlcGFpbnREdXJp
bmdMYXlvdXQoKSk7Ci0gICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKHZpZXco
KSwgdGhpcywgSW50U2l6ZSh4KCksIHkoKSksIGhhc1RyYW5zZm9ybSgpIHx8IGhhc1JlZmxlY3Rp
b24oKSB8fCBzdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKTsKKyAgICBMYXlv
dXRTdGF0ZU1haW50YWluZXIgc3RhdGVQdXNoZXIodmlldygpLCB0aGlzLCBMYXlvdXRTaXplKHgo
KSwgeSgpKSwgaGFzVHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHN0eWxlKCktPmlz
RmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpOwogCiAgICAgTGF5b3V0U2l6ZSBwcmV2aW91c1Np
emUgPSBzaXplKCk7CiAKQEAgLTI3NSw4ICsyNzUsOCBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveDo6bGF5b3V0CiAgICAgICAgIC8vIGJvdHRvbSBtYXJnaW4gbWF4IHZhbHVlcyB0
byAwLiAgVGhpcyB3YXkgd2UgZG9uJ3QgZmFjdG9yIGluIHRoZSB2YWx1ZXMKICAgICAgICAgLy8g
dHdpY2Ugd2hlbiB3ZSBjb2xsYXBzZSB3aXRoIG91ciBwcmV2aW91cyB2ZXJ0aWNhbGx5IGFkamFj
ZW50IGFuZAogICAgICAgICAvLyBmb2xsb3dpbmcgdmVydGljYWxseSBhZGphY2VudCBibG9ja3Mu
Ci0gICAgICAgIGludCBwb3MgPSBtYXhQb3NpdGl2ZU1hcmdpbkJlZm9yZSgpOwotICAgICAgICBp
bnQgbmVnID0gbWF4TmVnYXRpdmVNYXJnaW5CZWZvcmUoKTsKKyAgICAgICAgTGF5b3V0VW5pdCBw
b3MgPSBtYXhQb3NpdGl2ZU1hcmdpbkJlZm9yZSgpOworICAgICAgICBMYXlvdXRVbml0IG5lZyA9
IG1heE5lZ2F0aXZlTWFyZ2luQmVmb3JlKCk7CiAgICAgICAgIGlmIChtYXhQb3NpdGl2ZU1hcmdp
bkFmdGVyKCkgPiBwb3MpCiAgICAgICAgICAgICBwb3MgPSBtYXhQb3NpdGl2ZU1hcmdpbkFmdGVy
KCk7CiAgICAgICAgIGlmIChtYXhOZWdhdGl2ZU1hcmdpbkFmdGVyKCkgPiBuZWcpCkBAIC00NTUs
NyArNDU1LDcgQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmxheW91dAogICAg
ICAgICAgICAgICAgICAgICBjaGlsZFkgKz0gY2hpbGQtPm1hcmdpblRvcCgpICsgbWF4PExheW91
dFVuaXQ+KDAsIChjb250ZW50SGVpZ2h0KCkgLSAoY2hpbGQtPmhlaWdodCgpICsgY2hpbGQtPm1h
cmdpblRvcCgpICsgY2hpbGQtPm1hcmdpbkJvdHRvbSgpKSkgLyAyKTsKICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBCQkFTRUxJTkU6IHsKLSAgICAgICAg
ICAgICAgICAgICAgaW50IGFzY2VudCA9IGNoaWxkLT5maXJzdExpbmVCb3hCYXNlbGluZSgpOwor
ICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGFzY2VudCA9IGNoaWxkLT5maXJzdExpbmVC
b3hCYXNlbGluZSgpOwogICAgICAgICAgICAgICAgICAgICBpZiAoYXNjZW50ID09IC0xKQogICAg
ICAgICAgICAgICAgICAgICAgICAgYXNjZW50ID0gY2hpbGQtPmhlaWdodCgpICsgY2hpbGQtPm1h
cmdpbkJvdHRvbSgpOwogICAgICAgICAgICAgICAgICAgICBhc2NlbnQgKz0gY2hpbGQtPm1hcmdp
blRvcCgpOwpAQCAtNDcwLDcgKzQ3MCw3IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxl
Qm94OjpsYXlvdXQKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAK
LSAgICAgICAgICAgIHBsYWNlQ2hpbGQoY2hpbGQsIEludFBvaW50KHhQb3MsIGNoaWxkWSkpOwor
ICAgICAgICAgICAgcGxhY2VDaGlsZChjaGlsZCwgTGF5b3V0UG9pbnQoeFBvcywgY2hpbGRZKSk7
CiAKICAgICAgICAgICAgIHhQb3MgKz0gY2hpbGQtPndpZHRoKCkgKyBjaGlsZC0+bWFyZ2luUmln
aHQoKTsKICAgICAgICAgfQpAQCAtNTA5LDcgKzUwOSw3IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRl
ZEZsZXhpYmxlQm94OjpsYXlvdXQKICAgICAgICAgICAgICAgICAgICAgZm9yIChSZW5kZXJCb3gq
IGNoaWxkID0gaXRlcmF0b3IuZmlyc3QoKTsgY2hpbGQ7IGNoaWxkID0gaXRlcmF0b3IubmV4dCgp
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGFsbG93ZWRGbGV4ID0gYWxs
b3dlZENoaWxkRmxleChjaGlsZCwgZXhwYW5kaW5nLCBpKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChhbGxvd2VkRmxleCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91
dFVuaXQgcHJvamVjdGVkRmxleCA9IChhbGxvd2VkRmxleCA9PSBudW1lcmljX2xpbWl0czxMYXlv
dXRVbml0Pjo6bWF4KCkpID8gYWxsb3dlZEZsZXggOiBzdGF0aWNfY2FzdDxMYXlvdXRVbml0Pihh
bGxvd2VkRmxleCAqICh0b3RhbEZsZXggLyBjaGlsZC0+c3R5bGUoKS0+Ym94RmxleCgpKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBwcm9qZWN0ZWRGbGV4ID0gKGFs
bG93ZWRGbGV4ID09IG51bWVyaWNfbGltaXRzPExheW91dFVuaXQ+OjptYXgoKSkgPyBhbGxvd2Vk
RmxleCA6IExheW91dFVuaXQoYWxsb3dlZEZsZXggKiAodG90YWxGbGV4IC8gY2hpbGQtPnN0eWxl
KCktPmJveEZsZXgoKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlQXZhaWxh
YmxlVGhpc1Bhc3MgPSBleHBhbmRpbmcgPyBtaW4oc3BhY2VBdmFpbGFibGVUaGlzUGFzcywgcHJv
amVjdGVkRmxleCkgOiBtYXgoc3BhY2VBdmFpbGFibGVUaGlzUGFzcywgcHJvamVjdGVkRmxleCk7
CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTUy
Nyw3ICs1MjcsNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6bGF5b3V0CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChhbGxvd2VkQ2hpbGRGbGV4KGNoaWxkLCBleHBhbmRpbmcsIGkpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBzcGFjZUFkZCA9IHN0YXRpY19jYXN0
PExheW91dFVuaXQ+KHNwYWNlQXZhaWxhYmxlVGhpc1Bhc3MgKiAoY2hpbGQtPnN0eWxlKCktPmJv
eEZsZXgoKSAvIHRvdGFsRmxleCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91
dFVuaXQgc3BhY2VBZGQgPSBMYXlvdXRVbml0KHNwYWNlQXZhaWxhYmxlVGhpc1Bhc3MgKiAoY2hp
bGQtPnN0eWxlKCktPmJveEZsZXgoKSAvIHRvdGFsRmxleCkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChzcGFjZUFkZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjaGlsZC0+c2V0T3ZlcnJpZGVXaWR0aChjaGlsZC0+b3ZlcnJpZGVXaWR0aCgpICsgc3BhY2VB
ZGQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZsZXhpbmdDaGlsZHJlbiA9
IHRydWU7CkBAIC05MDYsNyArOTA2LDcgQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVC
b3g6OmFwcGx5TAogICAgICAgICBpZiAobGluZUNvdW50IDw9IG51bVZpc2libGVMaW5lcykKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGludCBuZXdIZWlnaHQgPSBibG9ja0NoaWxk
LT5oZWlnaHRGb3JMaW5lQ291bnQobnVtVmlzaWJsZUxpbmVzKTsKKyAgICAgICAgTGF5b3V0VW5p
dCBuZXdIZWlnaHQgPSBibG9ja0NoaWxkLT5oZWlnaHRGb3JMaW5lQ291bnQobnVtVmlzaWJsZUxp
bmVzKTsKICAgICAgICAgaWYgKG5ld0hlaWdodCA9PSBjaGlsZC0+aGVpZ2h0KCkpCiAgICAgICAg
ICAgICBjb250aW51ZTsKIApAQCAtOTM2LDcgKzkzNiw3IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRl
ZEZsZXhpYmxlQm94OjphcHBseUwKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKG51
bVZpc2libGVMaW5lcyA9PSAxKS0+Zm9udCgpOwogCiAgICAgICAgIC8vIEdldCBlbGxpcHNpcyB3
aWR0aCwgYW5kIGlmIHRoZSBsYXN0IGNoaWxkIGlzIGFuIGFuY2hvciwgaXQgd2lsbCBnbyBhZnRl
ciB0aGUgZWxsaXBzaXMsIHNvIGFkZCBpbiBhIHNwYWNlIGFuZCB0aGUgYW5jaG9yIHdpZHRoIHRv
bwotICAgICAgICBpbnQgdG90YWxXaWR0aDsKKyAgICAgICAgTGF5b3V0VW5pdCB0b3RhbFdpZHRo
OwogICAgICAgICBJbmxpbmVCb3gqIGFuY2hvckJveCA9IGxhc3RMaW5lLT5sYXN0Q2hpbGQoKTsK
ICAgICAgICAgaWYgKGFuY2hvckJveCAmJiBhbmNob3JCb3gtPnJlbmRlcmVyKCktPnN0eWxlKCkt
PmlzTGluaygpKQogICAgICAgICAgICAgdG90YWxXaWR0aCA9IGFuY2hvckJveC0+bG9naWNhbFdp
ZHRoKCkgKyBmb250LndpZHRoKGNvbnN0cnVjdFRleHRSdW4odGhpcywgZm9udCwgZWxsaXBzaXNB
bmRTcGFjZSwgMiwgc3R5bGUoKSkpOwpAQCAtOTU3LDEwICs5NTcsMTAgQEAgdm9pZCBSZW5kZXJE
ZXByZWNhdGVkRmxleGlibGVCb3g6OmFwcGx5TAogICAgICAgICBpZiAoIWxlZnRUb1JpZ2h0KQog
ICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaW50IGJsb2NrUmlnaHRFZGdlID0gZGVz
dEJsb2NrLT5sb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGxhc3RWaXNpYmxlTGluZS0+eSgpLCBm
YWxzZSk7Ci0gICAgICAgIGludCBibG9ja0xlZnRFZGdlID0gZGVzdEJsb2NrLT5sb2dpY2FsTGVm
dE9mZnNldEZvckxpbmUobGFzdFZpc2libGVMaW5lLT55KCksIGZhbHNlKTsKKyAgICAgICAgTGF5
b3V0VW5pdCBibG9ja1JpZ2h0RWRnZSA9IGRlc3RCbG9jay0+bG9naWNhbFJpZ2h0T2Zmc2V0Rm9y
TGluZShsYXN0VmlzaWJsZUxpbmUtPnkoKSwgZmFsc2UpOworICAgICAgICBMYXlvdXRVbml0IGJs
b2NrTGVmdEVkZ2UgPSBkZXN0QmxvY2stPmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsYXN0Vmlz
aWJsZUxpbmUtPnkoKSwgZmFsc2UpOwogCi0gICAgICAgIGludCBibG9ja0VkZ2UgPSBsZWZ0VG9S
aWdodCA/IGJsb2NrUmlnaHRFZGdlIDogYmxvY2tMZWZ0RWRnZTsKKyAgICAgICAgTGF5b3V0VW5p
dCBibG9ja0VkZ2UgPSBsZWZ0VG9SaWdodCA/IGJsb2NrUmlnaHRFZGdlIDogYmxvY2tMZWZ0RWRn
ZTsKICAgICAgICAgaWYgKCFsYXN0VmlzaWJsZUxpbmUtPmxpbmVDYW5BY2NvbW1vZGF0ZUVsbGlw
c2lzKGxlZnRUb1JpZ2h0LCBibG9ja0VkZ2UsIGxhc3RWaXNpYmxlTGluZS0+eCgpICsgbGFzdFZp
c2libGVMaW5lLT5sb2dpY2FsV2lkdGgoKSwgdG90YWxXaWR0aCkpCiAgICAgICAgICAgICBjb250
aW51ZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJEZXByZWNhdGVkRmxleGlibGVCb3guaAkocmV2aXNpb24gOTg4OTEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2FsY0hvcml6b250YWxQcmVm
V2lkdGhzKCk7CiAgICAgdm9pZCBjYWxjVmVydGljYWxQcmVmV2lkdGhzKCk7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgbGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBpbnQgcGFnZUhlaWdo
dCA9IDAsIEJsb2NrTGF5b3V0UGFzcyA9IE5vcm1hbExheW91dFBhc3MpOworICAgIHZpcnR1YWwg
dm9pZCBsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFnZUhl
aWdodCA9IDAsIEJsb2NrTGF5b3V0UGFzcyA9IE5vcm1hbExheW91dFBhc3MpOwogICAgIHZvaWQg
bGF5b3V0SG9yaXpvbnRhbEJveChib29sIHJlbGF5b3V0Q2hpbGRyZW4pOwogICAgIHZvaWQgbGF5
b3V0VmVydGljYWxCb3goYm9vbCByZWxheW91dENoaWxkcmVuKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>