<?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>109235</bug_id>
          
          <creation_ts>2013-02-07 15:00:12 -0800</creation_ts>
          <short_desc>[Chromium] Get rid of WebAnimationController</short_desc>
          <delta_ts>2013-02-11 22:48:22 -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>Tools / Tests</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>benjamin</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>827914</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-07 15:00:12 -0800</bug_when>
    <thetext>The animation and transition testing has been moved to Internals in r142171 &amp;&amp; r141849.

Chromium WebAnimationController should be useless now. It is used in webkit/glue/dom_operations.cc.

It would be nice if you could clean that up and remove the class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828892</commentid>
    <comment_count>1</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-08 19:39:41 -0800</bug_when>
    <thetext>Ooh, I love deleting code!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828895</commentid>
    <comment_count>2</comment_count>
      <attachid>187401</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-08 20:17:51 -0800</bug_when>
    <thetext>Created attachment 187401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828896</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-08 20:18:10 -0800</bug_when>
    <thetext>https://codereview.chromium.org/12209082/ will have to land + roll in first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828898</commentid>
    <comment_count>4</comment_count>
      <attachid>187401</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-08 20:22:46 -0800</bug_when>
    <thetext>Comment on attachment 187401
Patch

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

Thanks.

&gt; Tools/ChangeLog:11
&gt; +        * DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
&gt; +        (WebTestRunner::TestRunner::TestRunner):
&gt; +        * DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
&gt; +        (TestRunner):

I am sorry, I apparently forgot those when cleaning DRT :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830558</commentid>
    <comment_count>5</comment_count>
      <attachid>187772</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-11 22:02:03 -0800</bug_when>
    <thetext>Created attachment 187772
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830575</commentid>
    <comment_count>6</comment_count>
      <attachid>187772</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 22:48:19 -0800</bug_when>
    <thetext>Comment on attachment 187772
Patch for landing

Clearing flags on attachment: 187772

Committed r142582: &lt;http://trac.webkit.org/changeset/142582&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830576</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 22:48:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187401</attachid>
            <date>2013-02-08 20:17:51 -0800</date>
            <delta_ts>2013-02-11 22:01:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109235-20130208201426.patch</filename>
            <type>text/plain</type>
            <size>19435</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGRiZjAzMDVhNGNmY2ExN2ZlMDcxODBlMWY5NWZhZGIzZGJjZTQ5YTguLjlmODBmMzExYWFiMDIz
ZDBlNTk4NTA1NDFkYzEyMmM0MjRlZTUyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTMtMDItMDggIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIEdldCByaWQgb2YgV2ViQW5pbWF0aW9uQ29u
dHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA5MjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBwdWJsaWMvV2ViQW5pbWF0aW9uQ29udHJvbGxlci5oOiBSZW1vdmVkLgorICAgICAgICAqIHB1
YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAoV2ViRnJhbWUpOgorICAgICAgICAqIHNyYy9XZWJB
bmltYXRpb25Db250cm9sbGVySW1wbC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogc3JjL1dlYkFu
aW1hdGlvbkNvbnRyb2xsZXJJbXBsLmg6IFJlbW92ZWQuCisgICAgICAgICogc3JjL1dlYkZyYW1l
SW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAoV2ViRnJh
bWVJbXBsKToKKwogMjAxMy0wMi0wNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0MjAyNS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFuaW1hdGlvbkNvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFuaW1hdGlvbkNvbnRy
b2xsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmRhMDMzZDQzYzhhYjZmZmFk
OTU3NjQwODY5NjI4ODIyYjNhY2U1Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBbmltYXRpb25D
b250cm9sbGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlv
bi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJBbmlt
YXRpb25Db250cm9sbGVyX2gKLSNkZWZpbmUgV2ViQW5pbWF0aW9uQ29udHJvbGxlcl9oCi0KLSNp
bmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uLmgiCi0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJFbGVtZW50OwotY2xhc3MgV2ViU3RyaW5n
OwotY2xhc3MgV2ViVVJMOwotCi0vLyBXZWJBbmltYXRpb25Db250cm9sbGVyIGNhbiBiZSB1c2Vk
IHRvIGNvbnRyb2wgYW5pbWF0aW9ucyBpbiBhIGZyYW1lLiBJdCBpcwotLy8gb3duZWQgYnkgYSBX
ZWJGcmFtZSBhbmQgaXRzIGxpZmUgc3BhbiBpcyBib3VuZCB0byB0aGF0IFdlYkZyYW1lLgotY2xh
c3MgV2ViQW5pbWF0aW9uQ29udHJvbGxlciB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBib29sIHBh
dXNlQW5pbWF0aW9uQXRUaW1lKFdlYkVsZW1lbnQmLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGFuaW1hdGlvbk5hbWUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lKSA9IDA7Ci0gICAgdmlydHVh
bCBib29sIHBhdXNlVHJhbnNpdGlvbkF0VGltZShXZWJFbGVtZW50JiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcHJvcGVydHlOYW1lLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHRpbWUpID0gMDsK
LQotICAgIHZpcnR1YWwgdW5zaWduZWQgbnVtYmVyT2ZBY3RpdmVBbmltYXRpb25zKCkgY29uc3Qg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucygpIGNvbnN0ID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVzdW1lQW5pbWF0aW9ucygpIGNvbnN0ID0gMDsKLQotcHJvdGVjdGVk
OgotICAgIH5XZWJBbmltYXRpb25Db250cm9sbGVyKCkgeyB9Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUu
aAppbmRleCA3ZDkyMzA3MWU2OTllMGEzMzJlM2U5ZWQ1NTI5ODIwMDc3Y2RhNmJhLi5jMjgwNmU1
YmQ5NGY5Y2I2NWJiYjJiOTU4YjdmZWY1NGM1Y2RhOWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmgKQEAgLTU1LDcgKzU1LDYgQEAgdGVtcGxhdGUgPGNsYXNzIFQ+
IGNsYXNzIExvY2FsOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViQW5pbWF0aW9u
Q29udHJvbGxlcjsKIGNsYXNzIFdlYkRhdGE7CiBjbGFzcyBXZWJEYXRhU291cmNlOwogY2xhc3Mg
V2ViRGVsaXZlcmVkSW50ZW50Q2xpZW50OwpAQCAtMjIyLDggKzIyMSw2IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgV2ViRG9jdW1lbnQgZG9jdW1lbnQoKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0
dWFsIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXIqIGFuaW1hdGlvbkNvbnRyb2xsZXIoKSA9IDA7Ci0K
ICAgICB2aXJ0dWFsIFdlYlBlcmZvcm1hbmNlIHBlcmZvcm1hbmNlKCkgY29uc3QgPSAwOwogCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFuaW1hdGlvbkNvbnRy
b2xsZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFuaW1hdGlvbkNv
bnRyb2xsZXJJbXBsLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODMwZDNiZWRh
ZWRhM2U2M2VjM2E4MTJiMGQ5ZTY2ZDg3ZjNiY2IwNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJBbmlt
YXRpb25Db250cm9sbGVySW1wbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0g
KiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQot
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJBbmltYXRpb25Db250cm9sbGVySW1wbC5o
IgotCi0jaW5jbHVkZSAiQW5pbWF0aW9uQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIkVsZW1lbnQu
aCIKLQotI2luY2x1ZGUgIldlYkVsZW1lbnQuaCIKLSNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIK
LSNpbmNsdWRlIDxwdWJsaWMvV2ViU3RyaW5nLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGw6Oldl
YkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsKFdlYkZyYW1lSW1wbCogZnJhbWVJbXBsKQotICAgIDog
bV9mcmFtZUltcGwoZnJhbWVJbXBsKQotewotICAgIEFTU0VSVChtX2ZyYW1lSW1wbCk7Ci19Ci0K
LUFuaW1hdGlvbkNvbnRyb2xsZXIqIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsOjphbmltYXRp
b25Db250cm9sbGVyKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZnJhbWVJbXBsLT5mcmFtZSgpKQot
ICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gbV9mcmFtZUltcGwtPmZyYW1lKCktPmFuaW1h
dGlvbigpOwotfQotCi1ib29sIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsOjpwYXVzZUFuaW1h
dGlvbkF0VGltZShXZWJFbGVtZW50JiBlbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBhbmltYXRpb25O
YW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG91YmxlIHRpbWUpCi17Ci0gICAgQW5pbWF0aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9
IGFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKLSAgICBpZiAoIWNvbnRyb2xsZXIpCi0gICAgICAgIHJl
dHVybiAwOwotICAgIHJldHVybiBjb250cm9sbGVyLT5wYXVzZUFuaW1hdGlvbkF0VGltZShQYXNz
UmVmUHRyPEVsZW1lbnQ+KGVsZW1lbnQpLT5yZW5kZXJlcigpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb25OYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lKTsKLX0KLQotYm9vbCBXZWJBbmltYXRp
b25Db250cm9sbGVySW1wbDo6cGF1c2VUcmFuc2l0aW9uQXRUaW1lKFdlYkVsZW1lbnQmIGVsZW1l
bnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgV2ViU3RyaW5nJiBwcm9wZXJ0eU5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIHRpbWUpCi17Ci0gICAgQW5p
bWF0aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9IGFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKLSAg
ICBpZiAoIWNvbnRyb2xsZXIpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBjb250cm9s
bGVyLT5wYXVzZVRyYW5zaXRpb25BdFRpbWUoUGFzc1JlZlB0cjxFbGVtZW50PihlbGVtZW50KS0+
cmVuZGVyZXIoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHByb3BlcnR5TmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRpbWUpOwotfQotCi11bnNpZ25lZCBXZWJBbmltYXRpb25Db250cm9sbGVySW1wbDo6bnVt
YmVyT2ZBY3RpdmVBbmltYXRpb25zKCkgY29uc3QKLXsKLSAgICBBbmltYXRpb25Db250cm9sbGVy
KiBjb250cm9sbGVyID0gYW5pbWF0aW9uQ29udHJvbGxlcigpOwotICAgIGlmICghY29udHJvbGxl
cikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGNvbnRyb2xsZXItPm51bWJlck9mQWN0
aXZlQW5pbWF0aW9ucyhtX2ZyYW1lSW1wbC0+ZnJhbWUoKS0+ZG9jdW1lbnQoKSk7Ci19Ci0KLXZv
aWQgV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGw6OnN1c3BlbmRBbmltYXRpb25zKCkgY29uc3QK
LXsKLSAgICBBbmltYXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gYW5pbWF0aW9uQ29udHJv
bGxlcigpOwotICAgIGlmICghY29udHJvbGxlcikKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICgh
bV9mcmFtZUltcGwtPmZyYW1lKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBjb250cm9sbGVyLT5z
dXNwZW5kQW5pbWF0aW9ucygpOwotfQotCi12b2lkIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBs
OjpyZXN1bWVBbmltYXRpb25zKCkgY29uc3QKLXsKLSAgICBBbmltYXRpb25Db250cm9sbGVyKiBj
b250cm9sbGVyID0gYW5pbWF0aW9uQ29udHJvbGxlcigpOwotICAgIGlmICghY29udHJvbGxlcikK
LSAgICAgICAgcmV0dXJuOwotICAgIGlmICghbV9mcmFtZUltcGwtPmZyYW1lKCkpCi0gICAgICAg
IHJldHVybjsKLSAgICBjb250cm9sbGVyLT5yZXN1bWVBbmltYXRpb25zKCk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDYyYjg5ZjAwNzc4YmFkNjlhN2NlMDZhYzRkMDhjZjU0MjMyY2IwODAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwuaAorKysgL2Rldi9udWxsCkBAIC0xLDY0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoK
LSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsX2gKLSNkZWZpbmUgV2Vi
QW5pbWF0aW9uQ29udHJvbGxlckltcGxfaAotCi0jaW5jbHVkZSAiV2ViQW5pbWF0aW9uQ29udHJv
bGxlci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBBbmltYXRpb25Db250cm9sbGVy
OwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLWNsYXNzIFdlYkZyYW1lSW1wbDsKLQotY2xhc3Mg
V2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwgOiBwdWJsaWMgV2ViQW5pbWF0aW9uQ29udHJvbGxl
ciB7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwoV2Vi
RnJhbWVJbXBsKik7Ci0gICAgdmlydHVhbCB+V2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwoKSB7
IH0KLQotICAgIHZpcnR1YWwgYm9vbCBwYXVzZUFuaW1hdGlvbkF0VGltZShXZWJFbGVtZW50JiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBh
bmltYXRpb25OYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3Vi
bGUgdGltZSk7Ci0gICAgdmlydHVhbCBib29sIHBhdXNlVHJhbnNpdGlvbkF0VGltZShXZWJFbGVt
ZW50JiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0
cmluZyYgcHJvcGVydHlOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG91YmxlIHRpbWUpOwotICAgIHZpcnR1YWwgdW5zaWduZWQgbnVtYmVyT2ZBY3RpdmVBbmlt
YXRpb25zKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKCkgY29u
c3Q7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoKSBjb25zdDsKLXByaXZhdGU6
Ci0gICAgV2ViRnJhbWVJbXBsKiBtX2ZyYW1lSW1wbDsKLSAgICBXZWJDb3JlOjpBbmltYXRpb25D
b250cm9sbGVyKiBhbmltYXRpb25Db250cm9sbGVyKCkgY29uc3Q7Ci19OwotCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmNwcAppbmRleCBlNWM1ZDNiMWM3OWE4OWFlMzZiOTk2MGE3Y2RiOGYwOWY1Y2E4OWJj
Li5jZWFmZmFjN2M1YWM0M2QzYjY1OTU0NGUzOTI2ZDc4Mzc1NjI5MzQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTc2OSwxMSArNzY5LDYgQEAg
V2ViRG9jdW1lbnQgV2ViRnJhbWVJbXBsOjpkb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIFdl
YkRvY3VtZW50KGZyYW1lKCktPmRvY3VtZW50KCkpOwogfQogCi1XZWJBbmltYXRpb25Db250cm9s
bGVyKiBXZWJGcmFtZUltcGw6OmFuaW1hdGlvbkNvbnRyb2xsZXIoKQotewotICAgIHJldHVybiAm
bV9hbmltYXRpb25Db250cm9sbGVyOwotfQotCiBXZWJQZXJmb3JtYW5jZSBXZWJGcmFtZUltcGw6
OnBlcmZvcm1hbmNlKCkgY29uc3QKIHsKICAgICBpZiAoIWZyYW1lKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IGFkMWYwNTM0ZGRiYzBjNDczZDk4Y2Uy
NTQxMjZjYjcyM2YyMjY3YTcuLjJmMmU0ZmI1NDg3MGJmNTcwNGNkMzg3NDZlZDRhMDAyZmY3NGI3
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0zMSw3
ICszMSw2IEBACiAjaWZuZGVmIFdlYkZyYW1lSW1wbF9oCiAjZGVmaW5lIFdlYkZyYW1lSW1wbF9o
CiAKLSNpbmNsdWRlICJXZWJBbmltYXRpb25Db250cm9sbGVySW1wbC5oIgogI2luY2x1ZGUgIldl
YkZyYW1lLmgiCiAKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtMTA2LDcgKzEwNSw2IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIFdlYkZyYW1lKiBmaW5kQ2hpbGRCeU5hbWUoY29uc3QgV2ViU3RyaW5n
JikgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJGcmFtZSogZmluZENoaWxkQnlFeHByZXNzaW9uKGNv
bnN0IFdlYlN0cmluZyYpIGNvbnN0OwogICAgIHZpcnR1YWwgV2ViRG9jdW1lbnQgZG9jdW1lbnQo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXIqIGFuaW1hdGlvbkNv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIFdlYlBlcmZvcm1hbmNlIHBlcmZvcm1hbmNlKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBOUE9iamVjdCogd2luZG93T2JqZWN0KCkgY29uc3Q7CiAgICAgdmly
dHVhbCB2b2lkIGJpbmRUb1dpbmRvd09iamVjdChjb25zdCBXZWJTdHJpbmcmIG5hbWUsIE5QT2Jq
ZWN0Kik7CkBAIC00OTYsOSArNDk0LDYgQEAgcHJpdmF0ZToKICAgICAvLyBpbmZvcm1hdGlvbi4g
SXMgdXNlZCBieSBQcmludFBhZ2UoKS4KICAgICBPd25QdHI8Q2hyb21lUHJpbnRDb250ZXh0PiBt
X3ByaW50Q29udGV4dDsKIAotICAgIC8vIEtlZXBzIGEgcmVmZXJlbmNlIHRvIHRoZSBmcmFtZSdz
IFdlYkFuaW1hdGlvbkNvbnRyb2xsZXIuCi0gICAgV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwg
bV9hbmltYXRpb25Db250cm9sbGVyOwotCiAgICAgLy8gVGhlIGlkZW50aWZpZXIgb2YgdGhpcyBm
cmFtZS4KICAgICBsb25nIGxvbmcgbV9pZGVudGlmaWVyOwogCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODk4NDhmZGYzNmM4NzY4ODlmOGUxYTll
MWFlMTA2N2MzOTcwMTkwNS4uZDU5NGFmYTkzYjc2MDk2Y2QyODVkZjhiMzg2N2FmZTlmOTY4Zjk0
MiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTAyLTA4ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBHZXQgcmlkIG9mIFdlYkFuaW1hdGlvbkNvbnRy
b2xsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
OTIzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHA6Cisg
ICAgICAgIChXZWJUZXN0UnVubmVyOjpUZXN0UnVubmVyOjpUZXN0UnVubmVyKToKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9UZXN0UnVubmVyLmg6Cisg
ICAgICAgIChUZXN0UnVubmVyKToKKwogMjAxMy0wMi0wNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE0MjAyNS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RS
dW5uZXIvc3JjL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHAKaW5kZXggODk5MDEyYjMyYWMyYjE1YWU1YTA2
MGRlN2MyZGVjMzU0ZDNjNTM4OC4uNDkyZjg2NjdhMzM0NWE1MDkzZmMxYTU0OTNlNTRmZTkwNTQw
YzZiMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5l
ci9zcmMvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJUZXN0UnVubmVyLmgiCiAKLSNpbmNsdWRlICJXZWJBbmlt
YXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiV2ViQmluZGluZ3MuaCIKICNpbmNsdWRlICJX
ZWJEZXZpY2VPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50LmgiCkBAIC0xODIs
OCArMTgxLDYgQEAgVGVzdFJ1bm5lcjo6VGVzdFJ1bm5lcigpCiAgICAgYmluZE1ldGhvZCgic2V0
VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzIiwgJlRlc3RSdW5uZXI6OnNldFRhYktleUN5Y2xl
c1Rocm91Z2hFbGVtZW50cyk7CiAgICAgYmluZE1ldGhvZCgiZXhlY0NvbW1hbmQiLCAmVGVzdFJ1
bm5lcjo6ZXhlY0NvbW1hbmQpOwogICAgIGJpbmRNZXRob2QoImlzQ29tbWFuZEVuYWJsZWQiLCAm
VGVzdFJ1bm5lcjo6aXNDb21tYW5kRW5hYmxlZCk7Ci0gICAgYmluZE1ldGhvZCgicGF1c2VBbmlt
YXRpb25BdFRpbWVPbkVsZW1lbnRXaXRoSWQiLCAmVGVzdFJ1bm5lcjo6cGF1c2VBbmltYXRpb25B
dFRpbWVPbkVsZW1lbnRXaXRoSWQpOwotICAgIGJpbmRNZXRob2QoInBhdXNlVHJhbnNpdGlvbkF0
VGltZU9uRWxlbWVudFdpdGhJZCIsICZUZXN0UnVubmVyOjpwYXVzZVRyYW5zaXRpb25BdFRpbWVP
bkVsZW1lbnRXaXRoSWQpOwogICAgIGJpbmRNZXRob2QoImVsZW1lbnREb2VzQXV0b0NvbXBsZXRl
Rm9yRWxlbWVudFdpdGhJZCIsICZUZXN0UnVubmVyOjplbGVtZW50RG9lc0F1dG9Db21wbGV0ZUZv
ckVsZW1lbnRXaXRoSWQpOwogICAgIGJpbmRNZXRob2QoImNhbGxTaG91bGRDbG9zZU9uV2ViVmll
dyIsICZUZXN0UnVubmVyOjpjYWxsU2hvdWxkQ2xvc2VPbldlYlZpZXcpOwogICAgIGJpbmRNZXRo
b2QoInNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUiLCAmVGVzdFJ1bm5l
cjo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSk7CkBAIC0xMDU4LDM4
ICsxMDU1LDYgQEAgdm9pZCBUZXN0UnVubmVyOjppc0NvbW1hbmRFbmFibGVkKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KgogICAgIHJlc3VsdC0+c2V0KHJ2KTsK
IH0KIAotYm9vbCBUZXN0UnVubmVyOjpwYXVzZUFuaW1hdGlvbkF0VGltZU9uRWxlbWVudFdpdGhJ
ZChjb25zdCBXZWJTdHJpbmcmIGFuaW1hdGlvbk5hbWUsIGRvdWJsZSB0aW1lLCBjb25zdCBXZWJT
dHJpbmcmIGVsZW1lbnRJZCkKLXsKLSAgICBXZWJGcmFtZSogd2ViRnJhbWUgPSBtX3dlYlZpZXct
Pm1haW5GcmFtZSgpOwotICAgIGlmICghd2ViRnJhbWUpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSB3ZWJGcmFtZS0+YW5p
bWF0aW9uQ29udHJvbGxlcigpOwotICAgIGlmICghY29udHJvbGxlcikKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgV2ViRWxlbWVudCBlbGVtZW50ID0gd2ViRnJhbWUtPmRvY3VtZW50KCku
Z2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICBpZiAoZWxlbWVudC5pc051bGwoKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBjb250cm9sbGVyLT5wYXVzZUFuaW1hdGlv
bkF0VGltZShlbGVtZW50LCBhbmltYXRpb25OYW1lLCB0aW1lKTsKLX0KLQotYm9vbCBUZXN0UnVu
bmVyOjpwYXVzZVRyYW5zaXRpb25BdFRpbWVPbkVsZW1lbnRXaXRoSWQoY29uc3QgV2ViU3RyaW5n
JiBwcm9wZXJ0eU5hbWUsIGRvdWJsZSB0aW1lLCBjb25zdCBXZWJTdHJpbmcmIGVsZW1lbnRJZCkK
LXsKLSAgICBXZWJGcmFtZSogd2ViRnJhbWUgPSBtX3dlYlZpZXctPm1haW5GcmFtZSgpOwotICAg
IGlmICghd2ViRnJhbWUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFdlYkFuaW1hdGlv
bkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSB3ZWJGcmFtZS0+YW5pbWF0aW9uQ29udHJvbGxlcigp
OwotICAgIGlmICghY29udHJvbGxlcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgV2Vi
RWxlbWVudCBlbGVtZW50ID0gd2ViRnJhbWUtPmRvY3VtZW50KCkuZ2V0RWxlbWVudEJ5SWQoZWxl
bWVudElkKTsKLSAgICBpZiAoZWxlbWVudC5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIHJldHVybiBjb250cm9sbGVyLT5wYXVzZVRyYW5zaXRpb25BdFRpbWUoZWxlbWVudCwg
cHJvcGVydHlOYW1lLCB0aW1lKTsKLX0KLQogYm9vbCBUZXN0UnVubmVyOjplbGVtZW50RG9lc0F1
dG9Db21wbGV0ZUZvckVsZW1lbnRXaXRoSWQoY29uc3QgV2ViU3RyaW5nJiBlbGVtZW50SWQpCiB7
CiAgICAgV2ViRnJhbWUqIHdlYkZyYW1lID0gbV93ZWJWaWV3LT5tYWluRnJhbWUoKTsKQEAgLTEx
MDQsMjggKzEwNjksNiBAQCBib29sIFRlc3RSdW5uZXI6OmVsZW1lbnREb2VzQXV0b0NvbXBsZXRl
Rm9yRWxlbWVudFdpdGhJZChjb25zdCBXZWJTdHJpbmcmIGVsZW1lbgogICAgIHJldHVybiBpbnB1
dEVsZW1lbnQuYXV0b0NvbXBsZXRlKCk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6cGF1c2VBbmlt
YXRpb25BdFRpbWVPbkVsZW1lbnRXaXRoSWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVu
dHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKLXsKLSAgICByZXN1bHQtPnNldChmYWxzZSk7Ci0gICAg
aWYgKGFyZ3VtZW50cy5zaXplKCkgPiAyICYmIGFyZ3VtZW50c1swXS5pc1N0cmluZygpICYmIGFy
Z3VtZW50c1sxXS5pc051bWJlcigpICYmIGFyZ3VtZW50c1syXS5pc1N0cmluZygpKSB7Ci0gICAg
ICAgIFdlYlN0cmluZyBhbmltYXRpb25OYW1lID0gY3BwVmFyaWFudFRvV2ViU3RyaW5nKGFyZ3Vt
ZW50c1swXSk7Ci0gICAgICAgIGRvdWJsZSB0aW1lID0gYXJndW1lbnRzWzFdLnRvRG91YmxlKCk7
Ci0gICAgICAgIFdlYlN0cmluZyBlbGVtZW50SWQgPSBjcHBWYXJpYW50VG9XZWJTdHJpbmcoYXJn
dW1lbnRzWzJdKTsKLSAgICAgICAgcmVzdWx0LT5zZXQocGF1c2VBbmltYXRpb25BdFRpbWVPbkVs
ZW1lbnRXaXRoSWQoYW5pbWF0aW9uTmFtZSwgdGltZSwgZWxlbWVudElkKSk7Ci0gICAgfQotfQot
Ci12b2lkIFRlc3RSdW5uZXI6OnBhdXNlVHJhbnNpdGlvbkF0VGltZU9uRWxlbWVudFdpdGhJZChj
b25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQotewot
ICAgIHJlc3VsdC0+c2V0KGZhbHNlKTsKLSAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA+IDIgJiYg
YXJndW1lbnRzWzBdLmlzU3RyaW5nKCkgJiYgYXJndW1lbnRzWzFdLmlzTnVtYmVyKCkgJiYgYXJn
dW1lbnRzWzJdLmlzU3RyaW5nKCkpIHsKLSAgICAgICAgV2ViU3RyaW5nIHByb3BlcnR5TmFtZSA9
IGNwcFZhcmlhbnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMF0pOwotICAgICAgICBkb3VibGUgdGlt
ZSA9IGFyZ3VtZW50c1sxXS50b0RvdWJsZSgpOwotICAgICAgICBXZWJTdHJpbmcgZWxlbWVudElk
ID0gY3BwVmFyaWFudFRvV2ViU3RyaW5nKGFyZ3VtZW50c1syXSk7Ci0gICAgICAgIHJlc3VsdC0+
c2V0KHBhdXNlVHJhbnNpdGlvbkF0VGltZU9uRWxlbWVudFdpdGhJZChwcm9wZXJ0eU5hbWUsIHRp
bWUsIGVsZW1lbnRJZCkpOwotICAgIH0KLX0KLQogdm9pZCBUZXN0UnVubmVyOjplbGVtZW50RG9l
c0F1dG9Db21wbGV0ZUZvckVsZW1lbnRXaXRoSWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1
bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKICAgICBpZiAoYXJndW1lbnRzLnNpemUoKSAh
PSAxIHx8ICFhcmd1bWVudHNbMF0uaXNTdHJpbmcoKSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5oCmluZGV4
IDA0MmQ1MzUwOTI5NTFjMmMwMDgxN2IxN2QwYmJlMWVkMTVhY2E1ZjUuLjVjMjE0NTY2YTY1ZDky
YTE5Y2NlZWIyZTRjODhhOTZmYmJlNTBlMmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9UZXN0UnVubmVyLmgKQEAgLTIwMSw4
ICsyMDEsNiBAQCBwcml2YXRlOgogICAgIC8vIENoZWNrcyBpZiBhbiBpbnRlcm5hbCBjb21tYW5k
IGlzIGN1cnJlbnRseSBhdmFpbGFibGUuCiAgICAgdm9pZCBpc0NvbW1hbmRFbmFibGVkKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIAotICAgIHZvaWQgcGF1c2VBbmltYXRp
b25BdFRpbWVPbkVsZW1lbnRXaXRoSWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFu
dCopOwotICAgIHZvaWQgcGF1c2VUcmFuc2l0aW9uQXRUaW1lT25FbGVtZW50V2l0aElkKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIGVsZW1lbnREb2VzQXV0
b0NvbXBsZXRlRm9yRWxlbWVudFdpdGhJZChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJp
YW50Kik7CiAgICAgdm9pZCBjYWxsU2hvdWxkQ2xvc2VPbldlYlZpZXcoY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJp
ZGRlbkZvclVSTFNjaGVtZShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187772</attachid>
            <date>2013-02-11 22:02:03 -0800</date>
            <delta_ts>2013-02-11 22:48:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109235-20130211215835.patch</filename>
            <type>text/plain</type>
            <size>16609</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDNkZTZmMzVjNjMyY2FkMWNhMDQzZjBjYjY0ZTlhZjVmNzI4NGVkYjUuLmRhNTNkMWVlZTdmMzNh
MTg0NjgxZjlmMTYzNmNkYjdmMzhhMTgyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjEgQEAKIDIwMTMtMDItMTEgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9t
aXVtLm9yZz4KIAorICAgICAgICBbQ2hyb21pdW1dIEdldCByaWQgb2YgV2ViQW5pbWF0aW9uQ29u
dHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA5MjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQmVuamFtaW4gUG91bGFpbi4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJBbmltYXRpb25Db250cm9sbGVyLmg6IFJlbW92ZWQuCisgICAgICAgICog
cHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgIChXZWJGcmFtZSk6CisgICAgICAgICogc3JjL1dl
YkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBzcmMvV2Vi
QW5pbWF0aW9uQ29udHJvbGxlckltcGwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBzcmMvV2ViRnJh
bWVJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgIChXZWJG
cmFtZUltcGwpOgorCisyMDEzLTAyLTExICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CisKICAgICAgICAgW2Nocm9taXVtXSBBZGQgV2ViVW5pdFRlc3RTdXBwb3J0OjpjcmVh
dGVMYXllclRyZWVWaWV3Rm9yVGVzdGluZyBmb3Igd2Via2l0X3VuaXRfdGVzdHMKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTQwMwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAKaW5kZXggMGE1NWYxMGVlZWY3OGFmZWM3M2IxNjZmOGViYmI1Y2E1
ZjMzNmU5OS4uYWExNDE1ZjQyNzFjOTI5OWU5NWQwZjM5NzNjM2E1MGM2YmUxYzdmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtOTcsNyArOTcsNiBAQAogICAgICAgICAgICAgICAg
ICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywKICAgICAgICAgICAgICAg
ICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAgICAgICAgICAgICAgJ3B1
YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKLSAgICAgICAgICAgICAgICAncHVibGljL1dl
YkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBcHBs
aWNhdGlvbkNhY2hlSG9zdENsaWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFy
cmF5QnVmZmVyLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQXJyYXlCdWZmZXJWaWV3
LmgnLApAQCAtNDIzLDggKzQyMiw2IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJUZXh0Q2hl
Y2tpbmdDb21wbGV0aW9uSW1wbC5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViVGV4dENo
ZWNraW5nUmVzdWx0LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcCcsCi0gICAgICAgICAgICAgICAgJ3NyYy9XZWJBbmltYXRpb25Db250cm9sbGVy
SW1wbC5jcHAnLAotICAgICAgICAgICAgICAgICdzcmMvV2ViQW5pbWF0aW9uQ29udHJvbGxlcklt
cGwuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJBcnJheUJ1ZmZlci5jcHAnLAogICAgICAg
ICAgICAgICAgICdzcmMvV2ViQXJyYXlCdWZmZXJWaWV3LmNwcCcsCiAgICAgICAgICAgICAgICAg
J3NyYy9XZWJCaW5kaW5ncy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViQW5pbWF0aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViQW5pbWF0aW9uQ29udHJvbGxlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyZGEwMzNkNDNjOGFiNmZmYWQ5NTc2NDA4Njk2Mjg4MjJiM2FjZTViLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaAorKysgL2Rldi9udWxsCkBAIC0x
LDYzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJfaAotI2RlZmluZSBXZWJB
bmltYXRpb25Db250cm9sbGVyX2gKLQotI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJDb21tb24uaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdl
YkVsZW1lbnQ7Ci1jbGFzcyBXZWJTdHJpbmc7Ci1jbGFzcyBXZWJVUkw7Ci0KLS8vIFdlYkFuaW1h
dGlvbkNvbnRyb2xsZXIgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBhbmltYXRpb25zIGluIGEgZnJh
bWUuIEl0IGlzCi0vLyBvd25lZCBieSBhIFdlYkZyYW1lIGFuZCBpdHMgbGlmZSBzcGFuIGlzIGJv
dW5kIHRvIHRoYXQgV2ViRnJhbWUuCi1jbGFzcyBXZWJBbmltYXRpb25Db250cm9sbGVyIHsKLXB1
YmxpYzoKLSAgICB2aXJ0dWFsIGJvb2wgcGF1c2VBbmltYXRpb25BdFRpbWUoV2ViRWxlbWVudCYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYg
YW5pbWF0aW9uTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91
YmxlIHRpbWUpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgcGF1c2VUcmFuc2l0aW9uQXRUaW1lKFdl
YkVsZW1lbnQmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
V2ViU3RyaW5nJiBwcm9wZXJ0eU5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3VibGUgdGltZSkgPSAwOwotCi0gICAgdmlydHVhbCB1bnNpZ25lZCBudW1iZXJP
ZkFjdGl2ZUFuaW1hdGlvbnMoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHN1c3BlbmRB
bmltYXRpb25zKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCByZXN1bWVBbmltYXRpb25z
KCkgY29uc3QgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAgfldlYkFuaW1hdGlvbkNvbnRyb2xsZXIo
KSB7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCmluZGV4IDBmYWU5YWM2MjFhZjEzM2NiZWI5NGZm
YzhhMGVlMzJkOWIwNTI1MDEuLjgxMmFkNmVhNTY2MjY1MzgyZWFmNzdiYWExMTlhMTk3ZmY4ZWVk
ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtNTUsNyAr
NTUsNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgTG9jYWw7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1jbGFzcyBXZWJBbmltYXRpb25Db250cm9sbGVyOwogY2xhc3MgV2ViRGF0YTsKIGNs
YXNzIFdlYkRhdGFTb3VyY2U7CiBjbGFzcyBXZWJEb2N1bWVudDsKQEAgLTIyMCw4ICsyMTksNiBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFdlYkRvY3VtZW50IGRvY3VtZW50KCkgY29uc3QgPSAw
OwogCi0gICAgdmlydHVhbCBXZWJBbmltYXRpb25Db250cm9sbGVyKiBhbmltYXRpb25Db250cm9s
bGVyKCkgPSAwOwotCiAgICAgdmlydHVhbCBXZWJQZXJmb3JtYW5jZSBwZXJmb3JtYW5jZSgpIGNv
bnN0ID0gMDsKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJB
bmltYXRpb25Db250cm9sbGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJBbmltYXRpb25Db250cm9sbGVySW1wbC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDgzMGQzYmVkYWVkYTNlNjNlYzNhODEyYjBkOWU2NmQ4N2YzYmNiMDUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
MTEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViQW5pbWF0aW9uQ29u
dHJvbGxlckltcGwuaCIKLQotI2luY2x1ZGUgIkFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKLSNpbmNs
dWRlICJFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJXZWJFbGVtZW50LmgiCi0jaW5jbHVkZSAiV2Vi
RnJhbWVJbXBsLmgiCi0jaW5jbHVkZSA8cHVibGljL1dlYlN0cmluZy5oPgotCi11c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVdlYkFuaW1hdGlvbkNvbnRy
b2xsZXJJbXBsOjpXZWJBbmltYXRpb25Db250cm9sbGVySW1wbChXZWJGcmFtZUltcGwqIGZyYW1l
SW1wbCkKLSAgICA6IG1fZnJhbWVJbXBsKGZyYW1lSW1wbCkKLXsKLSAgICBBU1NFUlQobV9mcmFt
ZUltcGwpOwotfQotCi1BbmltYXRpb25Db250cm9sbGVyKiBXZWJBbmltYXRpb25Db250cm9sbGVy
SW1wbDo6YW5pbWF0aW9uQ29udHJvbGxlcigpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2ZyYW1lSW1w
bC0+ZnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIG1fZnJhbWVJbXBsLT5m
cmFtZSgpLT5hbmltYXRpb24oKTsKLX0KLQotYm9vbCBXZWJBbmltYXRpb25Db250cm9sbGVySW1w
bDo6cGF1c2VBbmltYXRpb25BdFRpbWUoV2ViRWxlbWVudCYgZWxlbWVudCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgYW5pbWF0aW9uTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lKQotewotICAgIEFuaW1hdGlvbkNvbnRyb2xsZXIq
IGNvbnRyb2xsZXIgPSBhbmltYXRpb25Db250cm9sbGVyKCk7Ci0gICAgaWYgKCFjb250cm9sbGVy
KQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gY29udHJvbGxlci0+cGF1c2VBbmltYXRp
b25BdFRpbWUoUGFzc1JlZlB0cjxFbGVtZW50PihlbGVtZW50KS0+cmVuZGVyZXIoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uTmFtZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZSk7Ci19Ci0KLWJv
b2wgV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGw6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShXZWJF
bGVtZW50JiBlbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcHJvcGVydHlOYW1lLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1l
KQotewotICAgIEFuaW1hdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBhbmltYXRpb25Db250
cm9sbGVyKCk7Ci0gICAgaWYgKCFjb250cm9sbGVyKQotICAgICAgICByZXR1cm4gMDsKLSAgICBy
ZXR1cm4gY29udHJvbGxlci0+cGF1c2VUcmFuc2l0aW9uQXRUaW1lKFBhc3NSZWZQdHI8RWxlbWVu
dD4oZWxlbWVudCktPnJlbmRlcmVyKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aW1lKTsKLX0KLQotdW5zaWduZWQgV2ViQW5pbWF0aW9uQ29udHJv
bGxlckltcGw6Om51bWJlck9mQWN0aXZlQW5pbWF0aW9ucygpIGNvbnN0Ci17Ci0gICAgQW5pbWF0
aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9IGFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKLSAgICBp
ZiAoIWNvbnRyb2xsZXIpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBjb250cm9sbGVy
LT5udW1iZXJPZkFjdGl2ZUFuaW1hdGlvbnMobV9mcmFtZUltcGwtPmZyYW1lKCktPmRvY3VtZW50
KCkpOwotfQotCi12b2lkIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsOjpzdXNwZW5kQW5pbWF0
aW9ucygpIGNvbnN0Ci17Ci0gICAgQW5pbWF0aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9IGFu
aW1hdGlvbkNvbnRyb2xsZXIoKTsKLSAgICBpZiAoIWNvbnRyb2xsZXIpCi0gICAgICAgIHJldHVy
bjsKLSAgICBpZiAoIW1fZnJhbWVJbXBsLT5mcmFtZSgpKQotICAgICAgICByZXR1cm47Ci0gICAg
Y29udHJvbGxlci0+c3VzcGVuZEFuaW1hdGlvbnMoKTsKLX0KLQotdm9pZCBXZWJBbmltYXRpb25D
b250cm9sbGVySW1wbDo6cmVzdW1lQW5pbWF0aW9ucygpIGNvbnN0Ci17Ci0gICAgQW5pbWF0aW9u
Q29udHJvbGxlciogY29udHJvbGxlciA9IGFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKLSAgICBpZiAo
IWNvbnRyb2xsZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1fZnJhbWVJbXBsLT5mcmFt
ZSgpKQotICAgICAgICByZXR1cm47Ci0gICAgY29udHJvbGxlci0+cmVzdW1lQW5pbWF0aW9ucygp
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJBbmltYXRpb25Db250cm9sbGVySW1wbC5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2MmI4OWYwMDc3OGJhZDY5YTdjZTA2YWM0ZDA4Y2Y1NDIzMmNiMDgw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
LSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJBbmltYXRpb25Db250cm9sbGVySW1wbF9o
Ci0jZGVmaW5lIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsX2gKLQotI2luY2x1ZGUgIldlYkFu
aW1hdGlvbkNvbnRyb2xsZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgQW5pbWF0
aW9uQ29udHJvbGxlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBXZWJGcmFtZUlt
cGw7Ci0KLWNsYXNzIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsIDogcHVibGljIFdlYkFuaW1h
dGlvbkNvbnRyb2xsZXIgewotcHVibGljOgotICAgIGV4cGxpY2l0IFdlYkFuaW1hdGlvbkNvbnRy
b2xsZXJJbXBsKFdlYkZyYW1lSW1wbCopOwotICAgIHZpcnR1YWwgfldlYkFuaW1hdGlvbkNvbnRy
b2xsZXJJbXBsKCkgeyB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgcGF1c2VBbmltYXRpb25BdFRpbWUo
V2ViRWxlbWVudCYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgYW5pbWF0aW9uTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG91YmxlIHRpbWUpOwotICAgIHZpcnR1YWwgYm9vbCBwYXVzZVRyYW5zaXRpb25B
dFRpbWUoV2ViRWxlbWVudCYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBXZWJTdHJpbmcmIHByb3BlcnR5TmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lKTsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIG51bWJl
ck9mQWN0aXZlQW5pbWF0aW9ucygpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQW5p
bWF0aW9ucygpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCByZXN1bWVBbmltYXRpb25zKCkgY29u
c3Q7Ci1wcml2YXRlOgotICAgIFdlYkZyYW1lSW1wbCogbV9mcmFtZUltcGw7Ci0gICAgV2ViQ29y
ZTo6QW5pbWF0aW9uQ29udHJvbGxlciogYW5pbWF0aW9uQ29udHJvbGxlcigpIGNvbnN0OwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggOGMxMmRhMThlZTU5ZWYwNjczMGViNmFmMmI5
NzdlNTA3N2UxM2IwYi4uZmM4YTA3NGEzMTVhM2M0MjU5YzYwNTYxOTYyMzcwMzI2YzZlYjMzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0xNTIs
NyArMTUyLDYgQEAKICNpbmNsdWRlICJWOERpcmVjdG9yeUVudHJ5LmgiCiAjaW5jbHVkZSAiVjhG
aWxlRW50cnkuaCIKICNpbmNsdWRlICJWOEdDQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIldlYkFu
aW1hdGlvbkNvbnRyb2xsZXJJbXBsLmgiCiAjaW5jbHVkZSAiV2ViQ29uc29sZU1lc3NhZ2UuaCIK
ICNpbmNsdWRlICJXZWJET01FdmVudC5oIgogI2luY2x1ZGUgIldlYkRPTUV2ZW50TGlzdGVuZXIu
aCIKQEAgLTc2MSwxMSArNzYwLDYgQEAgV2ViRG9jdW1lbnQgV2ViRnJhbWVJbXBsOjpkb2N1bWVu
dCgpIGNvbnN0CiAgICAgcmV0dXJuIFdlYkRvY3VtZW50KGZyYW1lKCktPmRvY3VtZW50KCkpOwog
fQogCi1XZWJBbmltYXRpb25Db250cm9sbGVyKiBXZWJGcmFtZUltcGw6OmFuaW1hdGlvbkNvbnRy
b2xsZXIoKQotewotICAgIHJldHVybiAmbV9hbmltYXRpb25Db250cm9sbGVyOwotfQotCiBXZWJQ
ZXJmb3JtYW5jZSBXZWJGcmFtZUltcGw6OnBlcmZvcm1hbmNlKCkgY29uc3QKIHsKICAgICBpZiAo
IWZyYW1lKCkpCkBAIC0yMTcwLDcgKzIxNjQsNiBAQCBXZWJGcmFtZUltcGw6OldlYkZyYW1lSW1w
bChXZWJGcmFtZUNsaWVudCogY2xpZW50KQogICAgICwgbV9uZXh0SW52YWxpZGF0ZUFmdGVyKDAp
CiAgICAgLCBtX2ZpbmRNYXRjaE1hcmtlcnNWZXJzaW9uKDApCiAgICAgLCBtX2ZpbmRNYXRjaFJl
Y3RzQXJlVmFsaWQoZmFsc2UpCi0gICAgLCBtX2FuaW1hdGlvbkNvbnRyb2xsZXIodGhpcykKICAg
ICAsIG1faWRlbnRpZmllcihnZW5lcmF0ZUZyYW1lSWRlbnRpZmllcigpKQogICAgICwgbV9pblNh
bWVEb2N1bWVudEhpc3RvcnlMb2FkKGZhbHNlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuaAppbmRleCA3NWY4NGI1ODNmMzY5MjIxN2QwZWZhM2IxOWY2NzFmZjY2
NmQ2MGM0Li4wY2U5OGZiNWMwZWMwOGIzMmMwYmNjNTY1ZDBkNjljMmRmYTJlMmE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMzEsNyArMzEsNiBAQAog
I2lmbmRlZiBXZWJGcmFtZUltcGxfaAogI2RlZmluZSBXZWJGcmFtZUltcGxfaAogCi0jaW5jbHVk
ZSAiV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgog
CiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTEwNCw3ICsxMDMsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBXZWJGcmFtZSogZmluZENoaWxkQnlOYW1lKGNvbnN0IFdlYlN0cmluZyYpIGNvbnN0Owog
ICAgIHZpcnR1YWwgV2ViRnJhbWUqIGZpbmRDaGlsZEJ5RXhwcmVzc2lvbihjb25zdCBXZWJTdHJp
bmcmKSBjb25zdDsKICAgICB2aXJ0dWFsIFdlYkRvY3VtZW50IGRvY3VtZW50KCkgY29uc3Q7Ci0g
ICAgdmlydHVhbCBXZWJBbmltYXRpb25Db250cm9sbGVyKiBhbmltYXRpb25Db250cm9sbGVyKCk7
CiAgICAgdmlydHVhbCBXZWJQZXJmb3JtYW5jZSBwZXJmb3JtYW5jZSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgTlBPYmplY3QqIHdpbmRvd09iamVjdCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBi
aW5kVG9XaW5kb3dPYmplY3QoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBOUE9iamVjdCopOwpAQCAt
NDkyLDkgKzQ5MCw2IEBAIHByaXZhdGU6CiAgICAgLy8gaW5mb3JtYXRpb24uIElzIHVzZWQgYnkg
UHJpbnRQYWdlKCkuCiAgICAgT3duUHRyPENocm9tZVByaW50Q29udGV4dD4gbV9wcmludENvbnRl
eHQ7CiAKLSAgICAvLyBLZWVwcyBhIHJlZmVyZW5jZSB0byB0aGUgZnJhbWUncyBXZWJBbmltYXRp
b25Db250cm9sbGVyLgotICAgIFdlYkFuaW1hdGlvbkNvbnRyb2xsZXJJbXBsIG1fYW5pbWF0aW9u
Q29udHJvbGxlcjsKLQogICAgIC8vIFRoZSBpZGVudGlmaWVyIG9mIHRoaXMgZnJhbWUuCiAgICAg
bG9uZyBsb25nIG1faWRlbnRpZmllcjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE4ZjYzZGE3ZjE4ZWUyZTY2OGVhYjJjOGZjNmNiZThiMGU0
Yzk1NDEuLmMxY2UyODYzZTExMDRiMzM4OTcwOTI5MmRjMjM4NDQyNmMxZDZmZDUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMy0wMi0xMSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtDaHJvbWl1bV0gR2V0IHJpZCBvZiBXZWJBbmltYXRpb25Db250cm9sbGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkyMzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBCZW5qYW1pbiBQb3VsYWluLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChX
ZWJUZXN0UnVubmVyOjpUZXN0UnVubmVyOjpUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9UZXN0UnVubmVyLmg6CisgICAgICAgIChU
ZXN0UnVubmVyKToKKwogMjAxMy0wMi0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmVtb3ZlIHdlYiBpbnRlbnRzIGNvZGUKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuY3BwIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5j
cHAKaW5kZXggYjljMTI2Y2UxZmEwYmM3ZmVjOThhNTllNmZjMDU5YTI0YWMwNmE4OC4uZWYyZmMy
YzM0ZWJlZDZiODEzMjA2MjkxNjE4ZTExMjdhNDQ3ZDRkOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5j
cHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJUZXN0
UnVubmVyLmgiCiAKLSNpbmNsdWRlICJXZWJBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiV2ViQmluZGluZ3MuaCIKICNpbmNsdWRlICJXZWJEZXZpY2VPcmllbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIldlYkRvY3VtZW50LmgiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>