<?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>93541</bug_id>
          
          <creation_ts>2012-08-08 15:53:34 -0700</creation_ts>
          <short_desc>[chromium] Move scrollbar pointer into WebScrollbarThemePainter</short_desc>
          <delta_ts>2012-08-08 18:04:52 -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>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="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>690853</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-08 15:53:34 -0700</bug_when>
    <thetext>[chromium] Move scrollbar pointer into WebScrollbarThemePainter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690855</commentid>
    <comment_count>1</comment_count>
      <attachid>157316</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-08 15:59:31 -0700</bug_when>
    <thetext>Created attachment 157316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690859</commentid>
    <comment_count>2</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-08 16:01:17 -0700</bug_when>
    <thetext>I realize that the ownership model of the painter to the scrollbar is a little bit dodgy.  The painter needs a scrollbar but doesn&apos;t take a ref to it (largely because I couldn&apos;t put a RefPtr in the Platform API).

I can refactor this so that WebScrollbarThemePainter is an interface and then the WebScrollbarThemePainterImpl could hold onto a RefPtr&lt;Scrollbar&gt; if you think that&apos;s better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690862</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 16:03:04 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690966</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-08 17:08:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I realize that the ownership model of the painter to the scrollbar is a little bit dodgy.  The painter needs a scrollbar but doesn&apos;t take a ref to it (largely because I couldn&apos;t put a RefPtr in the Platform API).

WebPrivatePtr is the normal way we deal with this - it lets you take an opaque RefPtr, effectively.

&gt; 
&gt; I can refactor this so that WebScrollbarThemePainter is an interface and then the WebScrollbarThemePainterImpl could hold onto a RefPtr&lt;Scrollbar&gt; if you think that&apos;s better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690967</commentid>
    <comment_count>5</comment_count>
      <attachid>157316</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-08 17:09:33 -0700</bug_when>
    <thetext>Comment on attachment 157316
Patch

To do the WebPrivatePtr thing you&apos;d have to add an exported out-of-line destroy() function to drop the ref.  I think the ownership situation here is OK, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691033</commentid>
    <comment_count>6</comment_count>
      <attachid>157316</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 18:04:47 -0700</bug_when>
    <thetext>Comment on attachment 157316
Patch

Clearing flags on attachment: 157316

Committed r125130: &lt;http://trac.webkit.org/changeset/125130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691034</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 18:04:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157316</attachid>
            <date>2012-08-08 15:59:31 -0700</date>
            <delta_ts>2012-08-08 18:04:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93541-20120808155905.patch</filename>
            <type>text/plain</type>
            <size>20161</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmYjExODQzNWIzZjky
YWY3MGZmZTc4NjY4NDg1NGQ0YTRkYWU5YjY5Li5hNjRlNmRhN2Y0ZGY2OGZmN2Y1NzE3ZWZkNmMw
NWQwNmMyMmY5NDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMi0wOC0wOCAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
TW92ZSBzY3JvbGxiYXIgcG9pbnRlciBpbnRvIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM1NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyIHRvIGVuY2Fwc3VsYXRlIGEgcG9pbnRlciB0byB0aGUKKyAgICAg
ICAgc2Nyb2xsYmFyIGFzIHdlbGwuIExpb24gc2Nyb2xsYmFycyBhbmQgUmVuZGVyU2Nyb2xsYmFy
cyBhcmUgYm90aAorICAgICAgICBpbmNvbXBhdGlibGUgd2l0aCB3cmFwcGluZyBhIHNjcm9sbGJh
ciBpbiBhIFdlYlNjcm9sbGJhci4KKworICAgICAgICBTY3JvbGxiYXJUaGVtZShDaHJvbWl1bSlN
YWMgYXR0YWNoZXMgZXh0cmEgZGF0YSB0byBhIHNjcm9sbGJhciBiYXNlZAorICAgICAgICBvbiB0
aGUgcG9pbnRlciB2YWx1ZSAodmlhIGEgc3RhdGljIG1hcCBrZXllZCBvbiB0aGUgcG9pbnRlcikg
c28KKyAgICAgICAgcGFzc2luZyBhbiBvYmplY3QgdGhhdCByZXR1cm5zIGFsbCB0aGUgc2FtZSB2
YWx1ZXMgZm9yIHRoZQorICAgICAgICBTY3JvbGxiYXJUaGVtZUNsaWVudCBpbnRlcmZhY2UgYnV0
IGhhcyBhIGRpZmZlcmVudCBwb2ludGVyIHdpbGwgZmFpbAorICAgICAgICB0byBwYWludC4KKwor
ICAgICAgICBSZW5kZXJTY3JvbGxiYXIgZG9lcyBzdGF0aWMgY2FzdHMgb24gdGhlIFNjcm9sbGJh
clRoZW1lQ2xpZW50IHBvaW50ZXIKKyAgICAgICAgdGhhdCBpdCBpcyBwYXNzZWQsIGFzc3VtaW5n
IHRoYXQgaXQgaXMgdGhlIHNhbWUuIFRoZXJlZm9yZSwgaXQgYWxzbworICAgICAgICBjYW5ub3Qg
dXNlIGEgV2ViU2Nyb2xsYmFyLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBwdXNoIHRoZSByZWFs
IHNjcm9sbGJhciBwb2ludGVyIGludG8gdGhlIHBhaW50ZXIuCisKKyAgICAgICAgKiBjaHJvbWl1
bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpXZWJTY3JvbGxiYXJU
aGVtZVBhaW50ZXIpOgorICAgICAgICAoV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKToKKwogMjAx
Mi0wOC0wNyAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gT25seSB1c2UgcHVibGljIFBsYXRmb3JtIEFQSSBpbiBOb25Db21wb3NpdGVk
Q29udGVudEhvc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwYjk5NzdjOTQ2ZGEzNjgzZjhmMmY3MzAxMzk4Y2Q2
ZjUzMWM3ZTFiLi45ZThiMjEyMzI3ODE2NzliNDU5ODQyNTJmOWM0YzE4ZjAyYWNiMTkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMDggIEFkcmllbm5lIFdhbGtlciAgPGVu
bmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIE1vdmUgc2Nyb2xsYmFyIHBvaW50
ZXIgaW50byBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzNTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGNsaWVudHMgb2YgV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5n
Q29vcmRpbmF0b3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVTY3JvbGxi
YXJMYXllcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bS5jcHA6CisKIDIwMTItMDgtMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQgYmFja2luZyBzdG9yZSBvbiBsYXllcnMg
Y3JlYXRlZCBmb3IgQ29yZUFuaW1hdGlvbiBwbHVnaW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDcwZDU5M2IxYzE5NmM1M2JjZTk0Yjg4ZWY3ZmRhZjAwNmY3NzVhN2MuLjUxNGYyYjE4
MzM4NDVlZWI5YTVlODA2ZTZiY2ZiMzJlNDA5ZDFlNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTItMDgtMDggIEFkcmllbm5lIFdhbGtlciAgPGVubmVA
Z29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIE1vdmUgc2Nyb2xsYmFyIHBvaW50ZXIg
aW50byBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkzNTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4IFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBpbXBsZW1l
bnRhdGlvbiB0byBtYWtlIGRpcmVjdCBjYWxscyBvbgorICAgICAgICB0aGUgc2Nyb2xsYmFyIHJh
dGhlciB0aGFuIHRocm91Z2ggdGhlIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbAorICAgICAg
ICBhZGFwdGVyLgorCisgICAgICAgICogc3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6YXNzaWduKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFNjcm9sbGJhckJh
Y2tncm91bmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBh
aW50VHJhY2tCYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQ
YWludGVyOjpwYWludEJhY2tUcmFja1BhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2FyZFRyYWNrUGFydCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrQnV0dG9uU3RhcnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvbkVuZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRGb3J3YXJk
QnV0dG9uU3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6
OnBhaW50Rm9yd2FyZEJ1dHRvbkVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlcjo6cGFpbnRUaWNrbWFya3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXI6OnBhaW50VGh1bWIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXI6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcik6CisgICAgICAgICogdGVz
dHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VEVT
VCk6CisKIDIwMTItMDgtMDggIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIENsZWFuIHVwIGluY2x1ZGVzIGluIGNvbXBvc2l0b3IgdW5p
dCB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJT
Y3JvbGxiYXJUaGVtZVBhaW50ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgKaW5kZXggM2JjNGMyYTU3NjI3NzBhZGVhOGE2YTA3
NzIxNzg4MjUzMWQwODk5OC4uZTZjYmViODBkMzg3ZGIyOTBkMGExYmIzMWZiMzkwMGU0MmE5Nzg2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXIuaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YlNjcm9sbGJhclRoZW1lUGFpbnRlci5oCkBAIC0zMCw2ICszMCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlOworY2xhc3MgU2Nyb2xsYmFy
OwogfTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00MCw3ICs0MSw3IEBAIHN0cnVjdCBXZWJS
ZWN0OwogY2xhc3MgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHsKIHB1YmxpYzoKICAgICBXZWJT
Y3JvbGxiYXJUaGVtZVBhaW50ZXIoKSA6IG1fdGhlbWUoMCkgeyB9Ci0gICAgV2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyKGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciYgZ2VvbWV0cnkpIHsg
YXNzaWduKGdlb21ldHJ5KTsgfQorICAgIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcihjb25zdCBX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIHBhaW50ZXIpIHsgYXNzaWduKHBhaW50ZXIpOyB9CiAg
ICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKCkgeyB9CiAgICAgV2ViU2Nyb2xs
YmFyVGhlbWVQYWludGVyJiBvcGVyYXRvcj0oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
JiBwYWludGVyKQogICAgIHsKQEAgLTUxLDE5ICs1MiwxOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c051bGwoKSBjb25zdCB7IHJldHVybiBtX3RoZW1lOyB9CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lk
IGFzc2lnbihjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImKTsKIAotICAgIFdFQktJVF9F
WFBPUlQgdm9pZCBwYWludFNjcm9sbGJhckJhY2tncm91bmQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xs
YmFyKiwgY29uc3QgV2ViUmVjdCYpOwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludFRyYWNr
QmFja2dyb3VuZChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7Ci0g
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50QmFja1RyYWNrUGFydChXZWJDYW52YXMqLCBXZWJT
Y3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50
Rm9yd2FyZFRyYWNrUGFydChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0
Jik7Ci0gICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50QmFja0J1dHRvblN0YXJ0KFdlYkNhbnZh
cyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKLSAgICBXRUJLSVRfRVhQT1JUIHZv
aWQgcGFpbnRCYWNrQnV0dG9uRW5kKFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdl
YlJlY3QmKTsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRGb3J3YXJkQnV0dG9uU3RhcnQo
V2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOwotICAgIFdFQktJVF9F
WFBPUlQgdm9pZCBwYWludEZvcndhcmRCdXR0b25FbmQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFy
KiwgY29uc3QgV2ViUmVjdCYpOwotICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludFRpY2ttYXJr
cyhXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7Ci0gICAgV0VCS0lU
X0VYUE9SVCB2b2lkIHBhaW50VGh1bWIoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3Qg
V2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludFNjcm9sbGJhckJhY2tncm91
bmQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBw
YWludFRyYWNrQmFja2dyb3VuZChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VC
S0lUX0VYUE9SVCB2b2lkIHBhaW50QmFja1RyYWNrUGFydChXZWJDYW52YXMqLCBjb25zdCBXZWJS
ZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50Rm9yd2FyZFRyYWNrUGFydChXZWJD
YW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50QmFj
a0J1dHRvblN0YXJ0KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJLSVRfRVhQ
T1JUIHZvaWQgcGFpbnRCYWNrQnV0dG9uRW5kKFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmKTsK
KyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRGb3J3YXJkQnV0dG9uU3RhcnQoV2ViQ2FudmFz
KiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludEZvcndhcmRC
dXR0b25FbmQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQg
dm9pZCBwYWludFRpY2ttYXJrcyhXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VC
S0lUX0VYUE9SVCB2b2lkIHBhaW50VGh1bWIoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpOwog
CiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCi0gICAgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKik7CisgICAgV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiwgV2ViQ29yZTo6U2Ny
b2xsYmFyKik7CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAgLTcyLDYgKzczLDEyIEBAIHByaXZhdGU6
CiAgICAgLy8gY2FsbGVkIGZyb20gdGhlIHBhaW50ZXIgbWF5IG5vdCBiZSB0aHJlYWQtc2FmZSwg
c28gYWxsIGNhbGxzIG11c3QgYmUgbWFkZQogICAgIC8vIGZyb20gdGhlIHNhbWUgdGhyZWFkIHRo
YXQgaXQgaXMgY3JlYXRlZCBvbi4KICAgICBXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0
ZSogbV90aGVtZTsKKworICAgIC8vIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGUgY29uc3RydWN0b3Ig
b2YgdGhpcyBwYWludCBvYmplY3QgaXMgcmVzcG9uc2libGUKKyAgICAvLyBmb3IgdGhlIGxpZmV0
aW1lIG9mIHRoaXMgc2Nyb2xsYmFyLiBUaGUgcGFpbnRlciBoYXMgdG8gdXNlIHRoZSByZWFsCisg
ICAgLy8gc2Nyb2xsYmFyIChhbmQgbm90IGEgV2ViU2Nyb2xsYmFyIHdyYXBwZXIpIGR1ZSB0byBz
dGF0aWNfY2FzdHMgZm9yCisgICAgLy8gUmVuZGVyU2Nyb2xsYmFyIGFuZCBwb2ludGVyLWJhc2Vk
IEhhc2hNYXAgbG9va3VwcyBmb3IgTGlvbiBzY3JvbGxiYXJzLgorICAgIFdlYkNvcmU6OlNjcm9s
bGJhciogbV9zY3JvbGxiYXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21p
dW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKaW5kZXggNjcwMmI4MzVkNjVhMjg5
OGM5ZWY1MTBjZjJkYjc4NzI1YmM4MjJhZi4uMWRiNzU5NDA0N2M4OGNhYjBkZGFmZTAwMzdhM2Jl
NmNhYzM4Njg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hy
b21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5j
cHAKQEAgLTE0Myw3ICsxNDMsNyBAQCBzdGF0aWMgV2ViU2Nyb2xsYmFyTGF5ZXIgY3JlYXRlU2Ny
b2xsYmFyTGF5ZXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYlNjcm9sbGFibAogCiAgICAgLy8g
QWxsIENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMgZGVyaXZlIGZyb20gU2Nyb2xsYmFyVGhlbWVD
b21wb3NpdGUuCiAgICAgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lQ29tcG9zaXRlID0g
c3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqPihzY3JvbGxiYXItPnRoZW1lKCkp
OwotICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIodGhlbWVDb21w
b3NpdGUpOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIodGhl
bWVDb21wb3NpdGUsIHNjcm9sbGJhcik7CiAgICAgT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeT4gZ2VvbWV0cnkoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5
TmF0aXZlOjpjcmVhdGUodGhlbWVDb21wb3NpdGUpKTsKIAogICAgIFdlYlNjcm9sbGJhckxheWVy
IHNjcm9sbGJhckxheWVyID0gV2ViU2Nyb2xsYmFyTGF5ZXI6OmNyZWF0ZShzY3JvbGxiYXIsIHBh
aW50ZXIsIGdlb21ldHJ5LnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hy
b21pdW0uY3BwCmluZGV4IDQ3NWM2NTNlOTJlOGQ5NzNkZTUzNDM3OWZkMTVlYzEzMDA0ZTU3ZDgu
LmEwZmJmNWM0NGY2NDVkZmJhYzRhYjI1OGE2ZWIxNWJiMWU0ZmY1YzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hy
b21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1Njcm9sbGJhckxheWVyQ2hyb21pdW0uY3BwCkBAIC05OCwzNCArOTgsMzQgQEAgcHVibGljOgog
ICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gc2tDYW52YXM7CiAgICAgICAgIC8v
IFRoZSBmb2xsb3dpbmcgaXMgYSBzaW1wbGlmaWNhdGlvbiBvZiBTY3JvbGxiYXJUaGVtZUNvbXBv
c2l0ZTo6cGFpbnQuCiAgICAgICAgIFdlYktpdDo6V2ViUmVjdCBjb250ZW50V2ViUmVjdChjb250
ZW50UmVjdC54KCksIGNvbnRlbnRSZWN0LnkoKSwgY29udGVudFJlY3Qud2lkdGgoKSwgY29udGVu
dFJlY3QuaGVpZ2h0KCkpOwotICAgICAgICBtX3BhaW50ZXIucGFpbnRTY3JvbGxiYXJCYWNrZ3Jv
dW5kKGNhbnZhcywgbV9zY3JvbGxiYXIsIGNvbnRlbnRXZWJSZWN0KTsKKyAgICAgICAgbV9wYWlu
dGVyLnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChjYW52YXMsIGNvbnRlbnRXZWJSZWN0KTsKIAog
ICAgICAgICBpZiAobV9nZW9tZXRyeS0+aGFzQnV0dG9ucyhtX3Njcm9sbGJhcikpIHsKICAgICAg
ICAgICAgIFdlYlJlY3QgYmFja0J1dHRvblN0YXJ0UGFpbnRSZWN0ID0gbV9nZW9tZXRyeS0+YmFj
a0J1dHRvblN0YXJ0UmVjdChtX3Njcm9sbGJhcik7Ci0gICAgICAgICAgICBtX3BhaW50ZXIucGFp
bnRCYWNrQnV0dG9uU3RhcnQoY2FudmFzLCBtX3Njcm9sbGJhciwgYmFja0J1dHRvblN0YXJ0UGFp
bnRSZWN0KTsKKyAgICAgICAgICAgIG1fcGFpbnRlci5wYWludEJhY2tCdXR0b25TdGFydChjYW52
YXMsIGJhY2tCdXR0b25TdGFydFBhaW50UmVjdCk7CiAKICAgICAgICAgICAgIFdlYlJlY3QgYmFj
a0J1dHRvbkVuZFBhaW50UmVjdCA9IG1fZ2VvbWV0cnktPmJhY2tCdXR0b25FbmRSZWN0KG1fc2Ny
b2xsYmFyKTsKLSAgICAgICAgICAgIG1fcGFpbnRlci5wYWludEJhY2tCdXR0b25FbmQoY2FudmFz
LCBtX3Njcm9sbGJhciwgYmFja0J1dHRvbkVuZFBhaW50UmVjdCk7CisgICAgICAgICAgICBtX3Bh
aW50ZXIucGFpbnRCYWNrQnV0dG9uRW5kKGNhbnZhcywgYmFja0J1dHRvbkVuZFBhaW50UmVjdCk7
CiAKICAgICAgICAgICAgIFdlYlJlY3QgZm9yd2FyZEJ1dHRvblN0YXJ0UGFpbnRSZWN0ID0gbV9n
ZW9tZXRyeS0+Zm9yd2FyZEJ1dHRvblN0YXJ0UmVjdChtX3Njcm9sbGJhcik7Ci0gICAgICAgICAg
ICBtX3BhaW50ZXIucGFpbnRGb3J3YXJkQnV0dG9uU3RhcnQoY2FudmFzLCBtX3Njcm9sbGJhciwg
Zm9yd2FyZEJ1dHRvblN0YXJ0UGFpbnRSZWN0KTsKKyAgICAgICAgICAgIG1fcGFpbnRlci5wYWlu
dEZvcndhcmRCdXR0b25TdGFydChjYW52YXMsIGZvcndhcmRCdXR0b25TdGFydFBhaW50UmVjdCk7
CiAKICAgICAgICAgICAgIFdlYlJlY3QgZm9yd2FyZEJ1dHRvbkVuZFBhaW50UmVjdCA9IG1fZ2Vv
bWV0cnktPmZvcndhcmRCdXR0b25FbmRSZWN0KG1fc2Nyb2xsYmFyKTsKLSAgICAgICAgICAgIG1f
cGFpbnRlci5wYWludEZvcndhcmRCdXR0b25FbmQoY2FudmFzLCBtX3Njcm9sbGJhciwgZm9yd2Fy
ZEJ1dHRvbkVuZFBhaW50UmVjdCk7CisgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRGb3J3YXJk
QnV0dG9uRW5kKGNhbnZhcywgZm9yd2FyZEJ1dHRvbkVuZFBhaW50UmVjdCk7CiAgICAgICAgIH0K
IAogICAgICAgICBXZWJSZWN0IHRyYWNrUGFpbnRSZWN0ID0gbV9nZW9tZXRyeS0+dHJhY2tSZWN0
KG1fc2Nyb2xsYmFyKTsKLSAgICAgICAgbV9wYWludGVyLnBhaW50VHJhY2tCYWNrZ3JvdW5kKGNh
bnZhcywgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKKyAgICAgICAgbV9wYWludGVyLnBh
aW50VHJhY2tCYWNrZ3JvdW5kKGNhbnZhcywgdHJhY2tQYWludFJlY3QpOwogCiAgICAgICAgIGJv
b2wgdGh1bWJQcmVzZW50ID0gbV9nZW9tZXRyeS0+aGFzVGh1bWIobV9zY3JvbGxiYXIpOwogICAg
ICAgICBpZiAodGh1bWJQcmVzZW50KSB7CiAgICAgICAgICAgICBpZiAobV90cmFja1BhcnQgPT0g
V2ViS2l0OjpXZWJTY3JvbGxiYXI6OkZvcndhcmRUcmFja1BhcnQpCi0gICAgICAgICAgICAgICAg
bV9wYWludGVyLnBhaW50Rm9yd2FyZFRyYWNrUGFydChjYW52YXMsIG1fc2Nyb2xsYmFyLCB0cmFj
a1BhaW50UmVjdCk7CisgICAgICAgICAgICAgICAgbV9wYWludGVyLnBhaW50Rm9yd2FyZFRyYWNr
UGFydChjYW52YXMsIHRyYWNrUGFpbnRSZWN0KTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICBtX3BhaW50ZXIucGFpbnRCYWNrVHJhY2tQYXJ0KGNhbnZhcywgbV9zY3JvbGxiYXIs
IHRyYWNrUGFpbnRSZWN0KTsKKyAgICAgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRCYWNrVHJh
Y2tQYXJ0KGNhbnZhcywgdHJhY2tQYWludFJlY3QpOwogICAgICAgICB9CiAKLSAgICAgICAgbV9w
YWludGVyLnBhaW50VGlja21hcmtzKGNhbnZhcywgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0
KTsKKyAgICAgICAgbV9wYWludGVyLnBhaW50VGlja21hcmtzKGNhbnZhcywgdHJhY2tQYWludFJl
Y3QpOwogICAgIH0KIHByaXZhdGU6CiAgICAgU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXIoV2Vi
S2l0OjpXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXIgcGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5KiBnZW9tZXRy
eSwgV2ViS2l0OjpXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgdHJhY2tQYXJ0KQpAQCAtMTU4
LDcgKzE1OCw3IEBAIHB1YmxpYzoKICAgICAgICAgV2ViUmVjdCB0aHVtYlJlY3QgPSBtX2dlb21l
dHJ5LT50aHVtYlJlY3QobV9zY3JvbGxiYXIpOwogICAgICAgICB0aHVtYlJlY3QueCA9IDA7CiAg
ICAgICAgIHRodW1iUmVjdC55ID0gMDsKLSAgICAgICAgbV9wYWludGVyLnBhaW50VGh1bWIoY2Fu
dmFzLCBtX3Njcm9sbGJhciwgdGh1bWJSZWN0KTsKKyAgICAgICAgbV9wYWludGVyLnBhaW50VGh1
bWIoY2FudmFzLCB0aHVtYlJlY3QpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuY3BwCmlu
ZGV4IDkyMmJmY2Q2YzA2OTc1ZWViZmZmNmMzN2QxOTU5MWFiZTkxYjk4NDIuLmE5NmZkY2E0NWJi
MWEzMThlOTRkZDhlY2NjMWE2ODE3MGQ1NDE2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcApAQCAtMjgsMTAg
KzI4LDkgQEAKICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmg+CiAK
ICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyLmgi
CiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuaCIKLSNpbmNsdWRlICJXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGwuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgotI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKQEAgLTQxLDEwMyArNDAsOTUgQEAgdm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OmFz
c2lnbihjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIHBhaW50ZXIpCiB7CiAgICAgLy8g
VGhpcyBpcyBhIHBvaW50ZXIgdG8gYSBzdGF0aWMgb2JqZWN0LCBzbyBubyBvd25lcnNoaXAgdHJh
bnNmZXJyYWwuCiAgICAgbV90aGVtZSA9IHBhaW50ZXIubV90aGVtZTsKKyAgICBtX3Njcm9sbGJh
ciA9IHBhaW50ZXIubV9zY3JvbGxiYXI7CiB9CiAKLXZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyOjpwYWludFNjcm9sbGJhckJhY2tncm91bmQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9s
bGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQordm9pZCBXZWJTY3JvbGxiYXJU
aGVtZVBhaW50ZXI6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChXZWJDYW52YXMqIGNhbnZhcywg
Y29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKICAgICBTa1JlY3QgY2xpcCA9IFNrUmVjdDo6TWFrZVhZ
V0gocmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTsKICAgICBjYW52YXMt
PmNsaXBSZWN0KGNsaXApOwogCi0gICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVu
dChzY3JvbGxiYXIpOwogICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNh
bnZhcyk7CiAgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUp
OwogICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOwotICAgIG1f
dGhlbWUtPnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZCgmY29udGV4dCwgJmNsaWVudCk7CisgICAg
bV90aGVtZS0+cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKCZjb250ZXh0LCBtX3Njcm9sbGJhcik7
CiB9CiAKLXZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFRyYWNrQmFja2dyb3Vu
ZChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJl
Y3QmIHJlY3QpCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRUcmFja0JhY2tn
cm91bmQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7Ci0gICAgV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOwogICAgIFBsYXRmb3Jt
Q29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CiAgICAgcGxhdGZvcm1Db250ZXh0
LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOwogICAgIEdyYXBoaWNzQ29udGV4dCBjb250
ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOwotICAgIG1fdGhlbWUtPnBhaW50VHJhY2tCYWNrZ3JvdW5k
KCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpKTsKKyAgICBtX3RoZW1lLT5wYWludFRy
YWNrQmFja2dyb3VuZCgmY29udGV4dCwgbV9zY3JvbGxiYXIsIEludFJlY3QocmVjdCkpOwogfQog
Ci12b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrVHJhY2tQYXJ0KFdlYkNh
bnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVj
dCkKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEJhY2tUcmFja1BhcnQoV2Vi
Q2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7Ci0gICAgV2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOwogICAgIFBsYXRmb3JtQ29udGV4dFNr
aWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CiAgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdp
bmdUb0ltYWdlQnVmZmVyKHRydWUpOwogICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0
Zm9ybUNvbnRleHQpOwotICAgIG1fdGhlbWUtPnBhaW50VHJhY2tQaWVjZSgmY29udGV4dCwgJmNs
aWVudCwgSW50UmVjdChyZWN0KSwgV2ViQ29yZTo6QmFja1RyYWNrUGFydCk7CisgICAgbV90aGVt
ZS0+cGFpbnRUcmFja1BpZWNlKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgSW50UmVjdChyZWN0KSwg
V2ViQ29yZTo6QmFja1RyYWNrUGFydCk7CiB9CiAKLXZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyOjpwYWludEZvcndhcmRUcmFja1BhcnQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQordm9pZCBXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXI6OnBhaW50Rm9yd2FyZFRyYWNrUGFydChXZWJDYW52YXMqIGNhbnZhcywgY29uc3Qg
V2ViUmVjdCYgcmVjdCkKIHsKLSAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50
KHNjcm9sbGJhcik7CiAgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2Fu
dmFzKTsKICAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7
CiAgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7Ci0gICAgbV90
aGVtZS0+cGFpbnRUcmFja1BpZWNlKCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBX
ZWJDb3JlOjpGb3J3YXJkVHJhY2tQYXJ0KTsKKyAgICBtX3RoZW1lLT5wYWludFRyYWNrUGllY2Uo
JmNvbnRleHQsIG1fc2Nyb2xsYmFyLCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpGb3J3YXJkVHJh
Y2tQYXJ0KTsKIH0KIAotdm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1
dHRvblN0YXJ0KFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29u
c3QgV2ViUmVjdCYgcmVjdCkKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEJh
Y2tCdXR0b25TdGFydChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsK
LSAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CiAgICAg
UGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKICAgICBwbGF0Zm9y
bUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CiAgICAgR3JhcGhpY3NDb250
ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7Ci0gICAgbV90aGVtZS0+cGFpbnRCdXR0b24o
JmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkJhY2tCdXR0b25TdGFy
dFBhcnQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCBtX3Njcm9sbGJhciwg
SW50UmVjdChyZWN0KSwgV2ViQ29yZTo6QmFja0J1dHRvblN0YXJ0UGFydCk7CiB9CiAKLXZvaWQg
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEJhY2tCdXR0b25FbmQoV2ViQ2FudmFzKiBj
YW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQordm9p
ZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvbkVuZChXZWJDYW52YXMq
IGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKLSAgICBXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CiAgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0
Zm9ybUNvbnRleHQoY2FudmFzKTsKICAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1h
Z2VCdWZmZXIodHJ1ZSk7CiAgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29u
dGV4dCk7Ci0gICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIEludFJl
Y3QocmVjdCksIFdlYkNvcmU6OkJhY2tCdXR0b25FbmRQYXJ0KTsKKyAgICBtX3RoZW1lLT5wYWlu
dEJ1dHRvbigmY29udGV4dCwgbV9zY3JvbGxiYXIsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkJh
Y2tCdXR0b25FbmRQYXJ0KTsKIH0KIAotdm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBh
aW50Rm9yd2FyZEJ1dHRvblN0YXJ0KFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNj
cm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyOjpwYWludEZvcndhcmRCdXR0b25TdGFydChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2Vi
UmVjdCYgcmVjdCkKIHsKLSAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNj
cm9sbGJhcik7CiAgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFz
KTsKICAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CiAg
ICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7Ci0gICAgbV90aGVt
ZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6
OkZvcndhcmRCdXR0b25TdGFydFBhcnQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250
ZXh0LCBtX3Njcm9sbGJhciwgSW50UmVjdChyZWN0KSwgV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvblN0
YXJ0UGFydCk7CiB9CiAKLXZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEZvcndh
cmRCdXR0b25FbmQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBj
b25zdCBXZWJSZWN0JiByZWN0KQordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50
Rm9yd2FyZEJ1dHRvbkVuZChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkK
IHsKLSAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CiAg
ICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKICAgICBwbGF0
Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CiAgICAgR3JhcGhpY3ND
b250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7Ci0gICAgbV90aGVtZS0+cGFpbnRCdXR0
b24oJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkZvcndhcmRCdXR0
b25FbmRQYXJ0KTsKKyAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29udGV4dCwgbV9zY3JvbGxi
YXIsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkZvcndhcmRCdXR0b25FbmRQYXJ0KTsKIH0KIAot
dm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VGlja21hcmtzKFdlYkNhbnZhcyog
Y2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3Zv
aWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFRpY2ttYXJrcyhXZWJDYW52YXMqIGNh
bnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKLSAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGwgY2xpZW50KHNjcm9sbGJhcik7CiAgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9y
bUNvbnRleHQoY2FudmFzKTsKICAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VC
dWZmZXIodHJ1ZSk7CiAgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4
dCk7Ci0gICAgbV90aGVtZS0+cGFpbnRUaWNrbWFya3MoJmNvbnRleHQsICZjbGllbnQsIEludFJl
Y3QocmVjdCkpOworICAgIG1fdGhlbWUtPnBhaW50VGlja21hcmtzKCZjb250ZXh0LCBtX3Njcm9s
bGJhciwgSW50UmVjdChyZWN0KSk7CiB9CiAKLXZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
OjpwYWludFRodW1iKFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwg
Y29uc3QgV2ViUmVjdCYgcmVjdCkKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWlu
dFRodW1iKFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQogewotICAgIFdl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKICAgICBQbGF0Zm9y
bUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOwogICAgIHBsYXRmb3JtQ29udGV4
dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKICAgICBHcmFwaGljc0NvbnRleHQgY29u
dGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKLSAgICBtX3RoZW1lLT5wYWludFRodW1iKCZjb250ZXh0
LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpKTsKKyAgICBtX3RoZW1lLT5wYWludFRodW1iKCZjb250
ZXh0LCBtX3Njcm9sbGJhciwgSW50UmVjdChyZWN0KSk7CiB9CiAKLVdlYlNjcm9sbGJhclRoZW1l
UGFpbnRlcjo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
Q29tcG9zaXRlKiB0aGVtZSkKK1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSwgV2Vi
Q29yZTo6U2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiAgICAgOiBtX3RoZW1lKHRoZW1lKQorICAgICwg
bV9zY3JvbGxiYXIoc2Nyb2xsYmFyKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGJhckxheWVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCmluZGV4
IDFmZjI3MGZlNWRlOGQyMTUzOTFmYTI5OGI0ZDdmMzgyYmM2NTgwNWMuLjBlM2IxZmJkYjJmNWE2
OTI2Y2ZiZWI3MDAzZTU2YmFlOWZkMzBiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC05
OSw3ICs5OSw3IEBAIFRFU1QoU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QsIHJlc29sdmVTY3Jv
bGxMYXllclBvaW50ZXIpCiAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGw7CiAKICAg
ICBSZWZQdHI8TW9ja1Njcm9sbGJhcj4gbW9ja1Njcm9sbGJhciA9IGFkb3B0UmVmKG5ldyBNb2Nr
U2Nyb2xsYmFyKTsKLSAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVy
KDApOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIoMCwgbW9j
a1Njcm9sbGJhci5nZXQoKSk7CiAKICAgICBTZXR0aW5nczo6c2V0TW9ja1Njcm9sbGJhcnNFbmFi
bGVkKHRydWUpOwogICAgIHsKQEAgLTE0Miw3ICsxNDIsNyBAQCBURVNUKFNjcm9sbGJhckxheWVy
Q2hyb21pdW1UZXN0LCBzY3JvbGxPZmZzZXRTeW5jaHJvbml6YXRpb24pCiAgICAgRGVidWdTY29w
ZWRTZXRJbXBsVGhyZWFkIGltcGw7CiAKICAgICBSZWZQdHI8TW9ja1Njcm9sbGJhcj4gbW9ja1Nj
cm9sbGJhciA9IGFkb3B0UmVmKG5ldyBNb2NrU2Nyb2xsYmFyKTsKLSAgICBXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyKDApOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyIHBhaW50ZXIoMCwgbW9ja1Njcm9sbGJhci5nZXQoKSk7CiAKICAgICBTZXR0
aW5nczo6c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKHRydWUpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>