<?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>53521</bug_id>
          
          <creation_ts>2011-02-01 12:44:49 -0800</creation_ts>
          <short_desc>Remove the timeout event from IndexedDB</short_desc>
          <delta_ts>2011-02-04 11:23:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>andreip</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dgrogan</cc>
    
    <cc>hans</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343436</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-01 12:44:49 -0800</bug_when>
    <thetext>Remove the timeout event from IndexedDB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343437</commentid>
    <comment_count>1</comment_count>
      <attachid>80806</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-01 12:45:41 -0800</bug_when>
    <thetext>Created attachment 80806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343456</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-01 13:05:55 -0800</bug_when>
    <thetext>Attachment 80806 did not build on chromium:
Build output: http://queues.webkit.org/results/7685663</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343541</commentid>
    <comment_count>3</comment_count>
      <attachid>80826</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-01 14:19:40 -0800</bug_when>
    <thetext>Created attachment 80826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343590</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2011-02-01 15:20:47 -0800</bug_when>
    <thetext>LGTM

Just to check: IDBTimeoutEvent files were only mentioned in the gyp file, right? They weren&apos;t added to any other build files?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343593</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-01 15:24:30 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; LGTM
&gt; 
&gt; Just to check: IDBTimeoutEvent files were only mentioned in the gyp file, right? They weren&apos;t added to any other build files?

Yup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345199</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-03 17:19:38 -0800</bug_when>
    <thetext>Nate, can you please review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345631</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-04 11:23:03 -0800</bug_when>
    <thetext>Committed r77647: &lt;http://trac.webkit.org/changeset/77647&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80806</attachid>
            <date>2011-02-01 12:45:41 -0800</date>
            <delta_ts>2011-02-01 14:19:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53521-20110201124540.patch</filename>
            <type>text/plain</type>
            <size>16741</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5OWVlNmYyODYzYjVkZDg2OGZiMGI4NmIzM2Y2M2UxNTExNThiOTlmLi5kODJhZDU5
NTY0YzQwYjU0OTZmMGI1ZmI3MzVlNGY3MWI4Yzg4ZTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDItMDEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSB0aW1l
b3V0IGV2ZW50IGZyb20gSW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MzUyMQorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHV0
b3JpYWwuaHRtbDoKKwogMjAxMS0wMS0yNCAgWGlhb21laSBKaSAgPHhqaUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
dXRvcmlhbC5odG1sCmluZGV4IDc1ZmQ4MTY2Y2Q2YWUxMGJhZWYxZDUzODE3OGQ0OWRmODU3YTIz
MGMuLjA0OTBkZjg5NGMwMTUzZTFkYTYxMzRhNTFhZDgwYzBkZjkwOTAzNWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbApAQCAtMTE0LDcgKzExNCw3IEBA
IGZ1bmN0aW9uIG9uU2V0VmVyc2lvbigpCiB7CiAgICAgLy8gV2UgYXJlIG5vdyBpbiBhIHNldFZl
cnNpb24gdHJhbnNhY3Rpb24uIFN1Y2ggYSB0cmFuc2FjdGlvbiBpcyB0aGUgb25seSBwbGFjZSB3
aGVyZSBvbmUKICAgICAvLyBjYW4gYWRkIG9yIGRlbGV0ZSBpbmRleGVzIGFuZCBvYmplY3RTdG9y
ZXMuIFRoZSByZXN1bHQgKHByb3BlcnR5IG9mIGV2ZW50KSBpcyBhbgotICAgIC8vIElEQlRyYW5z
YWN0aW9uIG9iamVjdCB0aGF0IGhhcyAiY29tcGxldGUiLCAiYWJvcnQiLCBhbmQgInRpbWVvdXQi
IGV2ZW50IGhhbmRsZXJzIHdoaWNoIHRlbGwKKyAgICAvLyBJREJUcmFuc2FjdGlvbiBvYmplY3Qg
dGhhdCBoYXMgImNvbXBsZXRlIiBhbmQgImFib3J0IiBldmVudCBoYW5kbGVycyB3aGljaCB0ZWxs
CiAgICAgLy8gdXMgd2hlbiB0aGUgdHJhbnNhY3Rpb24gaGFzIGNvbW1pdHRlZCwgYWJvcnRlZCwg
b3IgdGltZWQgb3V0LgogICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBldmVudC5yZXN1
bHQ7CiAgICAgY3VycmVudFRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBvblNldFZlcnNpb25Db21w
bGV0ZTsKQEAgLTIxOCwxMSArMjE4LDcgQEAgZnVuY3Rpb24gb25TZXRWZXJzaW9uQ29tcGxldGUo
KQogICAgIC8vIE5leHQgaXMgIm1vZGUiIHdoaWNoIHNwZWNpZmllcyB0aGUgbG9ja2luZyBtb2Rl
LiBUaGUgZGVmYXVsdCBpcyBSRUFEX09OTFkgKGkuZS4gYSBzaGFyZWQgbG9jaykuCiAgICAgLy8g
VGhhdCdzIGZpbmUgZm9yIHRoaXMgY2FzZSwgYnV0IGxhdGVyIHdlJ2xsIGFzayBmb3IgSURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURS4gQXQgdGhlIG1vbWVudCwKICAgICAvLyBDaHJvbWl1bS9XZWJL
aXQgcHJldGVuZHMgZXZlcnkgdHJhbnNhY3Rpb24gaXMgUkVBRF9XUklURSwgd2hpY2ggaXMga2lu
ZCBvZiBiYWQuCi0gICAgLy8KLSAgICAvLyBMYXN0IGlzICJ0aW1lb3V0IiB3aGljaCBpcyBtZWFz
dXJlZCBpbiBzZWNvbmRzLiBBdCB0aGUgbW9tZW50LCBDaHJvbWl1bS9XZWJLaXQgZGVmYXVsdHMg
dG8gMCB3aGljaAotICAgIC8vIG1lYW5zIG5ldmVyLCBidXQgaXQncyBwb3NzaWJsZSB3ZSdsbCBj
aGFuZ2UgdGhpcyBpbiB0aGUgZnV0dXJlIGFuZCBvdGhlciBpbXBsZW1lbnRhdGlvbnMgbWF5Ci0g
ICAgLy8gdXNlIHNvbWV0aGluZyBkaWZmZXJlbnQsIHNvIHNldCBpdCBpZiB5b3UgcmVhbGx5IGNh
cmUuCi0gICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFLCAwKTsKKyAgICB3aW5kb3cuY3VycmVudFRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpOwogICAg
IGN1cnJlbnRUcmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlOwogICAg
IGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gb25UcmFuc2FjdGlvbkFib3J0ZWQ7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAyYTE3MDRjM2FhMzJkNWNlMGJlZmMzM2Q1NWViODNhMTdiZjE3OTg4Li4yYjIw
NDEwMWJlYzI4ODRmNzNmNjljNmY5NzI0OWY5ZjNkYzljZmZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjcgQEAKKzIwMTEtMDItMDEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IHRoZSB0aW1lb3V0IGV2ZW50IGZyb20gSW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzUyMQorCisgICAgICAgIFRoaXMgd2FzIHJlbW92
ZWQgZnJvbSB0aGUgc3BlYyBhIGJpdCBhZ28uCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogc3RvcmFnZS9JREJUaW1lb3V0RXZlbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IHN0b3JhZ2UvSURCVGltZW91dEV2ZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogc3RvcmFnZS9J
REJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6SURC
VHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9uQWJvcnQp
OgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9uQ29tcGxldGUpOgorICAgICAg
ICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5z
YWN0aW9uLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OklEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGwpOgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW1wbC5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25DYWxsYmFja3MuaDoK
KwogMjAxMS0wMS0yNCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjE5
OGMxZjVkNjE4YjMyMmEwMTZhYmU3ZTQ2MzdhNzhjMzcwNmYzMC4uZTIzODU4ZGI3MGQyOTc4OWIz
OGM2ZTlhYzlkMTdiMjk0MzE5ZDc3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNDA1MCw4ICs0MDUw
LDYgQEAKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlNRTGl0ZURhdGFiYXNlLmgnLAogICAgICAg
ICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJTdWNjZXNzRXZlbnQuaCcsCi0gICAgICAgICAgICAnc3RvcmFnZS9JREJUaW1lb3V0RXZl
bnQuY3BwJywKLSAgICAgICAgICAgICdzdG9yYWdlL0lEQlRpbWVvdXRFdmVudC5oJywKICAgICAg
ICAgICAgICdzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFn
ZS9JREJUcmFuc2FjdGlvbi5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlRyYW5zYWN0aW9u
QmFja2VuZEltcGwuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
VGltZW91dEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVGltZW91dEV2ZW50
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjYxZWU0NzQ0NDg1N2VlNjE3YjUz
MTMwN2UwYTU3MzNjZDU2YTdhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRpbWVvdXRFdmVudC5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAg
TmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRo
ZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIklEQlRpbWVvdXRFdmVudC5oIgotCi0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0K
LSNpbmNsdWRlICJFdmVudE5hbWVzLmgiCi0jaW5jbHVkZSAiSURCQW55LmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotUGFzc1JlZlB0cjxJREJUaW1lb3V0RXZlbnQ+IElEQlRpbWVvdXRFdmVu
dDo6Y3JlYXRlKCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQlRpbWVvdXRFdmVudCgp
KTsKLX0KLQotSURCVGltZW91dEV2ZW50OjpJREJUaW1lb3V0RXZlbnQoKQotICAgIDogSURCRXZl
bnQoZXZlbnROYW1lcygpLmFib3J0RXZlbnQsIDApIC8vIEZJWE1FOiBzZXQgdGhlIHNvdXJjZSB0
byB0aGUgdHJhbnNhY3Rpb24KLXsKLX0KLQotSURCVGltZW91dEV2ZW50Ojp+SURCVGltZW91dEV2
ZW50KCkKLXsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVGltZW91dEV2ZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQlRpbWVvdXRFdmVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhZmM5YmE0ODhlZTMwOGU2ZTE3NDM1MGMzMjBmMmUyNjM3NTdkNTg5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCVGltZW91dEV2ZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
Ci0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lm
bmRlZiBJREJUaW1lb3V0RXZlbnRfaAotI2RlZmluZSBJREJUaW1lb3V0RXZlbnRfaAotCi0jaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0KLSNpbmNsdWRlICJJREJFdmVudC5oIgotI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSURCVGlt
ZW91dEV2ZW50IDogcHVibGljIElEQkV2ZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxJREJUaW1lb3V0RXZlbnQ+IGNyZWF0ZSgpOwotICAgIC8vIEZJWE1FOiBOZWVkIHRvIGFs
bG93IGNyZWF0aW9uIG9mIHRoZXNlIGV2ZW50cyBmcm9tIEpTLgotICAgIHZpcnR1YWwgfklEQlRp
bWVvdXRFdmVudCgpOwotCi0gICAgdmlydHVhbCBib29sIGlzSURCVGltZW91dEV2ZW50KCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQotCi1wcml2YXRlOgotICAgIElEQlRpbWVvdXRFdmVudCgpOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCi0KLSNlbmRpZiAvLyBJREJUaW1lb3V0RXZlbnRfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCBlMzYyNWQ0YjViZDdkNzQxZjlkOTk5NGE0
MmVkNDg0NDlmYjBiZDY2Li5kNTA4YWEzZWRjZTUyYzNlYWVlNmI4MTViZjgxZGRlYjc1NWMyMzZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzgsNyAr
MzgsNiBAQAogI2luY2x1ZGUgIklEQk9iamVjdFN0b3JlLmgiCiAjaW5jbHVkZSAiSURCT2JqZWN0
U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSURCUGVuZGluZ1RyYW5zYWN0aW9u
TW9uaXRvci5oIgotI2luY2x1ZGUgIklEQlRpbWVvdXRFdmVudC5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDks
NiBAQCBJREJUcmFuc2FjdGlvbjo6SURCVHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgUGFzc1JlZlB0cjxJREJUcgogICAgICwgbV9tb2RlKG1fYmFja2VuZC0+bW9k
ZSgpKQogICAgICwgbV9vbkFib3J0VGltZXIodGhpcywgJklEQlRyYW5zYWN0aW9uOjpvbkFib3J0
VGltZXJGaXJlZCkKICAgICAsIG1fb25Db21wbGV0ZVRpbWVyKHRoaXMsICZJREJUcmFuc2FjdGlv
bjo6b25Db21wbGV0ZVRpbWVyRmlyZWQpCi0gICAgLCBtX29uVGltZW91dFRpbWVyKHRoaXMsICZJ
REJUcmFuc2FjdGlvbjo6b25UaW1lb3V0VGltZXJGaXJlZCkKIHsKICAgICBJREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yOjphZGRQZW5kaW5nVHJhbnNhY3Rpb24obV9iYWNrZW5kLmdldCgpKTsK
IH0KQEAgLTk5LDcgKzk3LDYgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6b25BYm9ydCgpCiB7CiAg
ICAgQVNTRVJUKCFtX29uQWJvcnRUaW1lci5pc0FjdGl2ZSgpKTsKICAgICBBU1NFUlQoIW1fb25D
b21wbGV0ZVRpbWVyLmlzQWN0aXZlKCkpOwotICAgIEFTU0VSVCghbV9vblRpbWVvdXRUaW1lci5p
c0FjdGl2ZSgpKTsKICAgICBtX3NlbGZSZWYgPSB0aGlzOwogICAgIG1fb25BYm9ydFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKICAgICBtX2JhY2tlbmQuY2xlYXIoKTsgLy8gUmVsZWFzZSB0aGUgYmFj
a2VuZCBhcyBpdCBob2xkcyBhIChjaXJjdWxhcikgcmVmZXJlbmNlIGJhY2sgdG8gdXMuCkBAIC0x
MDksMjIgKzEwNiwxMSBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpvbkNvbXBsZXRlKCkKIHsKICAg
ICBBU1NFUlQoIW1fb25BYm9ydFRpbWVyLmlzQWN0aXZlKCkpOwogICAgIEFTU0VSVCghbV9vbkNv
bXBsZXRlVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgQVNTRVJUKCFtX29uVGltZW91dFRpbWVyLmlz
QWN0aXZlKCkpOwogICAgIG1fc2VsZlJlZiA9IHRoaXM7CiAgICAgbV9vbkNvbXBsZXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOwogICAgIG1fYmFja2VuZC5jbGVhcigpOyAvLyBSZWxlYXNlIHRoZSBi
YWNrZW5kIGFzIGl0IGhvbGRzIGEgKGNpcmN1bGFyKSByZWZlcmVuY2UgYmFjayB0byB1cy4KIH0K
IAotdm9pZCBJREJUcmFuc2FjdGlvbjo6b25UaW1lb3V0KCkKLXsKLSAgICBBU1NFUlQoIW1fb25B
Ym9ydFRpbWVyLmlzQWN0aXZlKCkpOwotICAgIEFTU0VSVCghbV9vbkNvbXBsZXRlVGltZXIuaXNB
Y3RpdmUoKSk7Ci0gICAgQVNTRVJUKCFtX29uVGltZW91dFRpbWVyLmlzQWN0aXZlKCkpOwotICAg
IG1fc2VsZlJlZiA9IHRoaXM7Ci0gICAgbV9vblRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoMCk7
Ci0gICAgbV9iYWNrZW5kLmNsZWFyKCk7IC8vIFJlbGVhc2UgdGhlIGJhY2tlbmQgYXMgaXQgaG9s
ZHMgYSAoY2lyY3VsYXIpIHJlZmVyZW5jZSBiYWNrIHRvIHVzLgotfQotCiBib29sIElEQlRyYW5z
YWN0aW9uOjpjYW5TdXNwZW5kKCkgY29uc3QKIHsKICAgICAvLyBXZSBtYXkgYmUgaW4gdGhlIG1p
ZGRsZSBvZiBhIHRyYW5zYWN0aW9uIHNvIHdlIGNhbm5vdCBzdXNwZW5kIG91ciBvYmplY3QuCkBA
IC0xNjIsMTQgKzE0OCw2IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246Om9uQ29tcGxldGVUaW1lckZp
cmVkKFRpbWVyPElEQlRyYW5zYWN0aW9uPiogdHJhbnNhY3Rpb24pCiAgICAgZGlzcGF0Y2hFdmVu
dChJREJDb21wbGV0ZUV2ZW50OjpjcmVhdGUoKSk7CiB9CiAKLQotdm9pZCBJREJUcmFuc2FjdGlv
bjo6b25UaW1lb3V0VGltZXJGaXJlZChUaW1lcjxJREJUcmFuc2FjdGlvbj4qIHRyYW5zYWN0aW9u
KQotewotICAgIEFTU0VSVChtX3NlbGZSZWYpOwotICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbj4g
c2VsZlJlZiA9IG1fc2VsZlJlZi5yZWxlYXNlKCk7Ci0gICAgZGlzcGF0Y2hFdmVudChJREJUaW1l
b3V0RXZlbnQ6OmNyZWF0ZSgpKTsKLX0KLQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmgKaW5kZXggZDBh
OWYwZmQ2ZjE5MDAyMDZhNDY1MWQ3N2Y0ZWMzZTYxNjJmOWZhNC4uZDVjMTA1NTJiMTBhMDE2N2Ey
ZTRmOWExMDAxNzJlN2QzM2YwNDZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9JREJUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNh
Y3Rpb24uaApAQCAtNjQsMTIgKzY0LDEwIEBAIHB1YmxpYzoKIAogICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoY29tcGxldGUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodGlt
ZW91dCk7CiAKICAgICAvLyBJREJUcmFuc2FjdGlvbkNhbGxiYWNrcwogICAgIHZpcnR1YWwgdm9p
ZCBvbkFib3J0KCk7CiAgICAgdmlydHVhbCB2b2lkIG9uQ29tcGxldGUoKTsKLSAgICB2aXJ0dWFs
IHZvaWQgb25UaW1lb3V0KCk7CiAKICAgICAvLyBFdmVudFRhcmdldAogICAgIHZpcnR1YWwgSURC
VHJhbnNhY3Rpb24qIHRvSURCVHJhbnNhY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9CkBAIC05Myw3
ICs5MSw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIG9uQWJvcnRUaW1lckZpcmVkKFRpbWVyPElE
QlRyYW5zYWN0aW9uPiopOwogICAgIHZvaWQgb25Db21wbGV0ZVRpbWVyRmlyZWQoVGltZXI8SURC
VHJhbnNhY3Rpb24+Kik7Ci0gICAgdm9pZCBvblRpbWVvdXRUaW1lckZpcmVkKFRpbWVyPElEQlRy
YW5zYWN0aW9uPiopOwogCiAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOwog
ICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IG1fYmFja2VuZDsKQEAg
LTEwMiw3ICs5OSw2IEBAIHByaXZhdGU6CiAKICAgICBUaW1lcjxJREJUcmFuc2FjdGlvbj4gbV9v
bkFib3J0VGltZXI7CiAgICAgVGltZXI8SURCVHJhbnNhY3Rpb24+IG1fb25Db21wbGV0ZVRpbWVy
OwotICAgIFRpbWVyPElEQlRyYW5zYWN0aW9uPiBtX29uVGltZW91dFRpbWVyOwogICAgIFJlZlB0
cjxJREJUcmFuc2FjdGlvbj4gbV9zZWxmUmVmOyAvLyBUaGlzIGlzIHNldCB0byB1cyBpZmYgdGhl
cmUncyBhbiBldmVudCBwZW5kaW5nLgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJUcmFuc2FjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRy
YW5zYWN0aW9uLmlkbAppbmRleCBiNTdhYzRhOTg2YzhlMmE0OGFjNjM1M2U5YTM2ZmU3MjRkM2Fl
NDA0Li5jZjNiMWNlODM2NWQxZjA2MTU4MjljNjZkZDkyZDUyYzY3MGRiYmJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbApAQCAtNDQsNyArNDQsNiBAQCBtb2R1
bGUgc3RvcmFnZSB7CiAgICAgICAgIC8vIEV2ZW50cwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbmFib3J0OwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNvbXBs
ZXRlOwotICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnRpbWVvdXQ7CiAgICAgICAg
IC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIo
aW4gRE9NU3RyaW5nIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVu
dExpc3RlbmVyIGxpc3RlbmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAKaW5kZXggMDAxMjIzMWExMDk5NTMxMjNhODNlY2E3
MjkxMDY3MjcxZDMwYjNlOS4uYjQ3ZTc2MDlmM2EwOTRjMzI1Mjk4YTRhZjk1MWViMDZlZjYwODc4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tl
bmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFj
a2VuZEltcGwuY3BwCkBAIC0zNSwxNSArMzUsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1QYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+IElEQlRyYW5zYWN0aW9uQmFj
a2VuZEltcGw6OmNyZWF0ZShET01TdHJpbmdMaXN0KiBvYmplY3RTdG9yZXMsIHVuc2lnbmVkIHNo
b3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCwgSURCRGF0YWJhc2VCYWNrZW5kSW1wbCog
ZGF0YWJhc2UpCitQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+IElEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGw6OmNyZWF0ZShET01TdHJpbmdMaXN0KiBvYmplY3RTdG9yZXMsIHVu
c2lnbmVkIHNob3J0IG1vZGUsIElEQkRhdGFiYXNlQmFja2VuZEltcGwqIGRhdGFiYXNlKQogewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbChvYmplY3RT
dG9yZXMsIG1vZGUsIHRpbWVvdXQsIGRhdGFiYXNlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKG9iamVjdFN0b3JlcywgbW9kZSwgZGF0YWJhc2Up
KTsKIH0KIAotSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6SURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbChET01TdHJpbmdMaXN0KiBvYmplY3RTdG9yZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVu
c2lnbmVkIGxvbmcgdGltZW91dCwgSURCRGF0YWJhc2VCYWNrZW5kSW1wbCogZGF0YWJhc2UpCitJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKERPTVN0
cmluZ0xpc3QqIG9iamVjdFN0b3JlcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgSURCRGF0YWJhc2VC
YWNrZW5kSW1wbCogZGF0YWJhc2UpCiAgICAgOiBtX29iamVjdFN0b3JlTmFtZXMob2JqZWN0U3Rv
cmVzKQogICAgICwgbV9tb2RlKG1vZGUpCi0gICAgLCBtX3RpbWVvdXQodGltZW91dCkgLy8gRklY
TUU6IEltcGxlbWVudCB0aW1lb3V0LgogICAgICwgbV9zdGF0ZShVbnVzZWQpCiAgICAgLCBtX2Rh
dGFiYXNlKGRhdGFiYXNlKQogICAgICwgbV90cmFuc2FjdGlvbihuZXcgU1FMaXRlVHJhbnNhY3Rp
b24oZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuaAppbmRleCBmNGRmYWE4OGI0NzEzNDhk
OWMzZjI0MjhhNmEzYzg5ZWM3NDMxZTM4Li4xMjk3ZTc0OWMyMjBmZWEwYmM4MGRhMWNkZWNhODBj
OWE4ZGJiYmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0
aW9uQmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0
aW9uQmFja2VuZEltcGwuaApAQCAtNDIsNyArNDIsNyBAQCBjbGFzcyBJREJEYXRhYmFzZUJhY2tl
bmRJbXBsOwogCiBjbGFzcyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsIDogcHVibGljIElEQlRy
YW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4gY3JlYXRlKERPTVN0cmluZ0xpc3QqIG9iamVj
dFN0b3JlcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0LCBJREJE
YXRhYmFzZUJhY2tlbmRJbXBsKik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rp
b25CYWNrZW5kSW1wbD4gY3JlYXRlKERPTVN0cmluZ0xpc3QqIG9iamVjdFN0b3JlcywgdW5zaWdu
ZWQgc2hvcnQgbW9kZSwgSURCRGF0YWJhc2VCYWNrZW5kSW1wbCopOwogICAgIHZpcnR1YWwgfklE
QlRyYW5zYWN0aW9uQmFja2VuZEltcGwoKTsKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJP
YmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IG9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFt
ZSwgRXhjZXB0aW9uQ29kZSYpOwpAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBy
dW4oKTsKIAogcHJpdmF0ZToKLSAgICBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKERPTVN0cmlu
Z0xpc3QqIG9iamVjdFN0b3JlcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0
aW1lb3V0LCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKik7CisgICAgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW1wbChET01TdHJpbmdMaXN0KiBvYmplY3RTdG9yZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUs
IElEQkRhdGFiYXNlQmFja2VuZEltcGwqKTsKIAogICAgIGVudW0gU3RhdGUgewogICAgICAgICBV
bnVzZWQsIC8vIENyZWF0ZWQsIGJ1dCBubyB0YXNrcyB5ZXQuCkBAIC03Miw3ICs3Miw2IEBAIHBy
aXZhdGU6CiAKICAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gbV9vYmplY3RTdG9yZU5hbWVzOwog
ICAgIHVuc2lnbmVkIHNob3J0IG1fbW9kZTsKLSAgICB1bnNpZ25lZCBsb25nIG1fdGltZW91dDsK
IAogICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQ2FsbGJhY2tz
PiBtX2NhbGxiYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJh
bnNhY3Rpb25DYWxsYmFja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rp
b25DYWxsYmFja3MuaAppbmRleCAzNDg2MDhkYTNlYzYyMTUzMWIwNTVhNmM3NTgwNzc5ZWIwY2Jm
NmJhLi44ZDkwNmE2ZWI4MmM1OTEzYjZjMDBlMWRjY2VlNGU3OGVjMmZmZTlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkNhbGxiYWNrcy5oCkBAIC00Miw3
ICs0Miw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBvbkFib3J0KCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBvbkNvbXBsZXRlKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBvblRpbWVv
dXQoKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80826</attachid>
            <date>2011-02-01 14:19:40 -0800</date>
            <delta_ts>2011-02-04 09:56:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53521-20110201141939.patch</filename>
            <type>text/plain</type>
            <size>35888</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5OWVlNmYyODYzYjVkZDg2OGZiMGI4NmIzM2Y2M2UxNTExNThiOTlmLi5kODJhZDU5
NTY0YzQwYjU0OTZmMGI1ZmI3MzVlNGY3MWI4Yzg4ZTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDItMDEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSB0aW1l
b3V0IGV2ZW50IGZyb20gSW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MzUyMQorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHV0
b3JpYWwuaHRtbDoKKwogMjAxMS0wMS0yNCAgWGlhb21laSBKaSAgPHhqaUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
dXRvcmlhbC5odG1sCmluZGV4IDc1ZmQ4MTY2Y2Q2YWUxMGJhZWYxZDUzODE3OGQ0OWRmODU3YTIz
MGMuLjA0OTBkZjg5NGMwMTUzZTFkYTYxMzRhNTFhZDgwYzBkZjkwOTAzNWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbApAQCAtMTE0LDcgKzExNCw3IEBA
IGZ1bmN0aW9uIG9uU2V0VmVyc2lvbigpCiB7CiAgICAgLy8gV2UgYXJlIG5vdyBpbiBhIHNldFZl
cnNpb24gdHJhbnNhY3Rpb24uIFN1Y2ggYSB0cmFuc2FjdGlvbiBpcyB0aGUgb25seSBwbGFjZSB3
aGVyZSBvbmUKICAgICAvLyBjYW4gYWRkIG9yIGRlbGV0ZSBpbmRleGVzIGFuZCBvYmplY3RTdG9y
ZXMuIFRoZSByZXN1bHQgKHByb3BlcnR5IG9mIGV2ZW50KSBpcyBhbgotICAgIC8vIElEQlRyYW5z
YWN0aW9uIG9iamVjdCB0aGF0IGhhcyAiY29tcGxldGUiLCAiYWJvcnQiLCBhbmQgInRpbWVvdXQi
IGV2ZW50IGhhbmRsZXJzIHdoaWNoIHRlbGwKKyAgICAvLyBJREJUcmFuc2FjdGlvbiBvYmplY3Qg
dGhhdCBoYXMgImNvbXBsZXRlIiBhbmQgImFib3J0IiBldmVudCBoYW5kbGVycyB3aGljaCB0ZWxs
CiAgICAgLy8gdXMgd2hlbiB0aGUgdHJhbnNhY3Rpb24gaGFzIGNvbW1pdHRlZCwgYWJvcnRlZCwg
b3IgdGltZWQgb3V0LgogICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBldmVudC5yZXN1
bHQ7CiAgICAgY3VycmVudFRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBvblNldFZlcnNpb25Db21w
bGV0ZTsKQEAgLTIxOCwxMSArMjE4LDcgQEAgZnVuY3Rpb24gb25TZXRWZXJzaW9uQ29tcGxldGUo
KQogICAgIC8vIE5leHQgaXMgIm1vZGUiIHdoaWNoIHNwZWNpZmllcyB0aGUgbG9ja2luZyBtb2Rl
LiBUaGUgZGVmYXVsdCBpcyBSRUFEX09OTFkgKGkuZS4gYSBzaGFyZWQgbG9jaykuCiAgICAgLy8g
VGhhdCdzIGZpbmUgZm9yIHRoaXMgY2FzZSwgYnV0IGxhdGVyIHdlJ2xsIGFzayBmb3IgSURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURS4gQXQgdGhlIG1vbWVudCwKICAgICAvLyBDaHJvbWl1bS9XZWJL
aXQgcHJldGVuZHMgZXZlcnkgdHJhbnNhY3Rpb24gaXMgUkVBRF9XUklURSwgd2hpY2ggaXMga2lu
ZCBvZiBiYWQuCi0gICAgLy8KLSAgICAvLyBMYXN0IGlzICJ0aW1lb3V0IiB3aGljaCBpcyBtZWFz
dXJlZCBpbiBzZWNvbmRzLiBBdCB0aGUgbW9tZW50LCBDaHJvbWl1bS9XZWJLaXQgZGVmYXVsdHMg
dG8gMCB3aGljaAotICAgIC8vIG1lYW5zIG5ldmVyLCBidXQgaXQncyBwb3NzaWJsZSB3ZSdsbCBj
aGFuZ2UgdGhpcyBpbiB0aGUgZnV0dXJlIGFuZCBvdGhlciBpbXBsZW1lbnRhdGlvbnMgbWF5Ci0g
ICAgLy8gdXNlIHNvbWV0aGluZyBkaWZmZXJlbnQsIHNvIHNldCBpdCBpZiB5b3UgcmVhbGx5IGNh
cmUuCi0gICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFLCAwKTsKKyAgICB3aW5kb3cuY3VycmVudFRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpOwogICAg
IGN1cnJlbnRUcmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlOwogICAg
IGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gb25UcmFuc2FjdGlvbkFib3J0ZWQ7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAyYTE3MDRjM2FhMzJkNWNlMGJlZmMzM2Q1NWViODNhMTdiZjE3OTg4Li44NGIx
MjgzYzNmMGVmOWFiNzAxNTRjOWMyYTkxNDc5NGFjMDZiYjQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzcgQEAKKzIwMTEtMDItMDEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IHRoZSB0aW1lb3V0IGV2ZW50IGZyb20gSW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzUyMQorCisgICAgICAgIFJlbW92ZSB0aW1lb3V0
IGFuZCBvbnRpbWVvdXQgZnJvbSBJREJUcmFuc2FjdGlvbiBwZXIgdGhlIHNwZWMuCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIHN0
b3JhZ2UvSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjp0cmFu
c2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZS5pZGw6CisgICAgICAgICog
c3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIHN0b3JhZ2UvSURC
RGF0YWJhc2VCYWNrZW5kSW1wbC5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNr
ZW5kSW50ZXJmYWNlLmg6CisgICAgICAgICogc3RvcmFnZS9JREJUaW1lb3V0RXZlbnQuY3BwOiBS
ZW1vdmVkLgorICAgICAgICAqIHN0b3JhZ2UvSURCVGltZW91dEV2ZW50Lmg6IFJlbW92ZWQuCisg
ICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
REJUcmFuc2FjdGlvbjo6SURCVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJh
bnNhY3Rpb246Om9uQWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9u
Q29tcGxldGUpOgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaDoKKyAgICAgICAg
KiBzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL0lEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW1wbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFj
a2VuZEltcGw6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwpOgorICAgICAgICAqIHN0b3JhZ2Uv
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNh
Y3Rpb25DYWxsYmFja3MuaDoKKwogMjAxMS0wMS0yNCAgTWFydGluIFJvYmluc29uICA8bXJvYmlu
c29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggNjE5OGMxZjVkNjE4YjMyMmEwMTZhYmU3ZTQ2MzdhNzhjMzcwNmYzMC4u
ZTIzODU4ZGI3MGQyOTc4OWIzOGM2ZTlhYzlkMTdiMjk0MzE5ZDc3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtNDA1MCw4ICs0MDUwLDYgQEAKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlNRTGl0ZURh
dGFiYXNlLmgnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvSURCU3VjY2Vzc0V2ZW50LmNwcCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9JREJTdWNjZXNzRXZlbnQuaCcsCi0gICAgICAgICAgICAnc3Rv
cmFnZS9JREJUaW1lb3V0RXZlbnQuY3BwJywKLSAgICAgICAgICAgICdzdG9yYWdlL0lEQlRpbWVv
dXRFdmVudC5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5oJywKICAgICAgICAgICAgICdzdG9y
YWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJEYXRhYmFzZS5jcHAKaW5kZXggYTgyNTY1ZjViMmY5NDBlYTQzNTg0YjkxMDk1YmE2MDg2ODJl
NWZkMS4uNTc4ZTcwMTE2MjA5MWNkN2Q0NGM2NDUzNjdlMjZlZGYwMmQyYmY2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKQEAgLTQxLDkgKzQxLDYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0vLyBGSVhNRTogV2UgbmVlZCB0byBzcGVjIHRoaXMgZGlmZmVyZW50
bHkuCi1jb25zdCB1bnNpZ25lZCBsb25nIGRlZmF1bHRUaW1lb3V0ID0gMDsgLy8gSW5maW5pdGUu
Ci0KIElEQkRhdGFiYXNlOjpJREJEYXRhYmFzZShQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2Vu
ZEludGVyZmFjZT4gYmFja2VuZCkKICAgICA6IG1fYmFja2VuZChiYWNrZW5kKQogewpAQCAtOTgs
NyArOTUsNyBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQkRhdGFiYXNlOjpzZXRWZXJzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9
CiAKLVBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+
IHBycFN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91
dCwgRXhjZXB0aW9uQ29kZSYgZWMpCitQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBJREJEYXRh
YmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1Jl
ZlB0cjxET01TdHJpbmdMaXN0PiBwcnBTdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gc3RvcmVOYW1l
cyA9IHBycFN0b3JlTmFtZXM7CiAgICAgaWYgKCFzdG9yZU5hbWVzKQpAQCAtMTE0LDcgKzExMSw3
IEBAIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250CiAgICAgLy8gY2FuIGJlIHF1ZXVlZCBhZ2FpbnN0
IHRoZSB0cmFuc2FjdGlvbiBhdCBhbnkgcG9pbnQuIFRoZXkgd2lsbCBzdGFydCBleGVjdXRpbmcg
YXMgc29vbiBhcyB0aGUKICAgICAvLyBhcHByb3ByaWF0ZSBsb2NrcyBoYXZlIGJlZW4gYWNxdWly
ZWQuCiAgICAgLy8gQWxzbyBub3RlIHRoYXQgZWFjaCBiYWNrZW5kIG9iamVjdCBjb3JyZXNwb25k
cyB0byBleGFjdGx5IG9uZSBJREJUcmFuc2FjdGlvbiBvYmplY3QuCi0gICAgUmVmUHRyPElEQlRy
YW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb25CYWNrZW5kID0gbV9iYWNrZW5k
LT50cmFuc2FjdGlvbihzdG9yZU5hbWVzLmdldCgpLCBtb2RlLCB0aW1lb3V0LCBlYyk7CisgICAg
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb25CYWNrZW5k
ID0gbV9iYWNrZW5kLT50cmFuc2FjdGlvbihzdG9yZU5hbWVzLmdldCgpLCBtb2RlLCBlYyk7CiAg
ICAgaWYgKCF0cmFuc2FjdGlvbkJhY2tlbmQpIHsKICAgICAgICAgQVNTRVJUKGVjKTsKICAgICAg
ICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFi
YXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmgKaW5kZXggODcyMDAz
NjhhYmIzZGU1NmRmMDUwNjcwZDMzNDZmZmFlOGFjYjhhMi4uYmJiM2U0NjMxNDI1N2I0ZmI0ODM5
ZGQ3M2IyZWFjN2U2ZDAwNjM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaApA
QCAtNjIsOSArNjIsOCBAQCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IFRyeSB0byBtb2RpZnkgdGhl
IGNvZGUgZ2VuZXJhdG9yIHNvIHRoaXMgaXMgdW5uZWVkZWQuCiAgICAgUGFzc1JlZlB0cjxJREJP
YmplY3RTdG9yZT4gY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRp
b25Db2RlJiBlYykgeyByZXR1cm4gY3JlYXRlT2JqZWN0U3RvcmUobmFtZSwgT3B0aW9uc09iamVj
dCgpLCBlYyk7IH0KICAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1
cm4gdHJhbnNhY3Rpb24oY29udGV4dCwgMCwgZWMpOyB9Ci0gICAgUGFzc1JlZlB0cjxJREJUcmFu
c2FjdGlvbj4gdHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFz
c1JlZlB0cjxET01TdHJpbmdMaXN0PiBzdG9yZU5hbWVzLCBFeGNlcHRpb25Db2RlJiBlYykgeyBy
ZXR1cm4gdHJhbnNhY3Rpb24oY29udGV4dCwgc3RvcmVOYW1lcywgSURCVHJhbnNhY3Rpb246OlJF
QURfT05MWSwgZWMpOyB9IAotICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8RE9NU3RyaW5n
TGlzdD4gc3RvcmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgRXhjZXB0aW9uQ29kZSYgZWMp
IHsgcmV0dXJuIHRyYW5zYWN0aW9uKGNvbnRleHQsIHN0b3JlTmFtZXMsIG1vZGUsIDAsIGVjKTsg
fQotICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+LCB1bnNpZ25lZCBzaG9ydCBt
b2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVm
UHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IHN0b3JlTmFtZXMsIEV4Y2VwdGlvbkNv
ZGUmIGVjKSB7IHJldHVybiB0cmFuc2FjdGlvbihjb250ZXh0LCBzdG9yZU5hbWVzLCBJREJUcmFu
c2FjdGlvbjo6UkVBRF9PTkxZLCBlYyk7IH0KKyAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9u
PiB0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxET01TdHJp
bmdMaXN0PiwgdW5zaWduZWQgc2hvcnQgbW9kZSwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgUGFz
c1JlZlB0cjxJREJPYmplY3RTdG9yZT4gY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBPcHRpb25zT2JqZWN0JiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGVs
ZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRsCmluZGV4IGUzYjc1MDg3ZTJkOTYzOTAzNDJj
MTg4ZTRiOWI4MjE0MzMxMzk3NWQuLmM1YzVkNzQwNjA5MWM2MDk4YzM0Mjk2NmZkOTY2ODZmNTQz
MjkzYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRsCkBAIC0zOCw3ICsz
OCw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VF
eGNlcHRpb24pOwogICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURC
UmVxdWVzdCBzZXRWZXJzaW9uKGluIERPTVN0cmluZyB2ZXJzaW9uKQogICAgICAgICAgICAgcmFp
c2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7Ci0gICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbihpbiBbT3B0aW9uYWxdIERP
TVN0cmluZ0xpc3Qgc3RvcmVOYW1lcywgaW4gW09wdGlvbmFsXSB1bnNpZ25lZCBzaG9ydCBtb2Rl
LCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVkIGxvbmcgdGltZW91dCkKKyAgICAgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKGluIFtP
cHRpb25hbF0gRE9NU3RyaW5nTGlzdCBzdG9yZU5hbWVzLCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVk
IHNob3J0IG1vZGUpCiAgICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsK
ICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudC4KICAgICAgICAgLy92b2lkIGNsb3NlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcApp
bmRleCBmYTlhMzM2ZjU2MDBlOTNhMWFmMzk1ZWRlY2I1MzUyM2VlZGQ0MmM4Li4xMzNjNWFlYjQw
NDU3YWVkNjZmNDg2NTA0MzJhMmRlZGVjYzM4YzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTIxNCw3ICsyMTQsNyBAQCB2
b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24oY29uc3QgU3RyaW5nJiB2ZXJz
aW9uLCBQYXNzUmVmUHRyPElEQkNhbAogICAgIFJlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBs
PiBkYXRhYmFzZSA9IHRoaXM7CiAgICAgUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0g
cHJwQ2FsbGJhY2tzOwogICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiBvYmplY3RTdG9yZU5hbWVz
ID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7Ci0gICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24gPSBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpj
cmVhdGUob2JqZWN0U3RvcmVOYW1lcy5nZXQoKSwgSURCVHJhbnNhY3Rpb246OlZFUlNJT05fQ0hB
TkdFLCAwLCB0aGlzKTsKKyAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
PiB0cmFuc2FjdGlvbiA9IElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OmNyZWF0ZShvYmplY3RT
dG9yZU5hbWVzLmdldCgpLCBJREJUcmFuc2FjdGlvbjo6VkVSU0lPTl9DSEFOR0UsIHRoaXMpOwog
ICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRlcm5hbCwgZGF0YWJhc2UsIHZlcnNp
b24sIGNhbGxiYWNrcywgdHJhbnNhY3Rpb24pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJlc2V0
VmVyc2lvbiwgZGF0YWJhc2UsIG1fdmVyc2lvbikpKSB7CiAgICAgICAgIGVjID0gSURCRGF0YWJh
c2VFeGNlcHRpb246Ok5PVF9BTExPV0VEX0VSUjsKQEAgLTIzNCw3ICsyMzQsNyBAQCB2b2lkIElE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb25JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUGFzc1JlZgogICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKHRyYW5zYWN0aW9uKTsK
IH0KIAotUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFi
YXNlQmFja2VuZEltcGw6OnRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIG9iamVjdFN0b3JlTmFt
ZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxvbmcgdGltZW91dCwgRXhjZXB0aW9u
Q29kZSYgZWMpCitQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb24oRE9NU3RyaW5nTGlzdCogb2JqZWN0U3Rv
cmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBvYmplY3RTdG9yZU5hbWVzLT5sZW5ndGgoKTsgKytpKSB7
CiAgICAgICAgIGlmICghbV9vYmplY3RTdG9yZXMuY29udGFpbnMob2JqZWN0U3RvcmVOYW1lcy0+
aXRlbShpKSkpIHsKQEAgLTI0NCw3ICsyNDQsNyBAQCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZT4gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb24oRAog
ICAgIH0KIAogICAgIC8vIEZJWE1FOiBSZXR1cm4gbm90IGFsbG93ZWQgZXJyIGlmIGNsb3NlIGhh
cyBiZWVuIGNhbGxlZC4KLSAgICByZXR1cm4gSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6Y3Jl
YXRlKG9iamVjdFN0b3JlTmFtZXMsIG1vZGUsIHRpbWVvdXQsIHRoaXMpOworICAgIHJldHVybiBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpjcmVhdGUob2JqZWN0U3RvcmVOYW1lcywgbW9kZSwg
dGhpcyk7CiB9CiAKIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y2xvc2UoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAppbmRleCA1NzBm
NmE1OTUxYjNjMmE1ZDk3MTVjZDAwMDBiMmViYjU5MGRmNDUzLi44OTQyOTY4NWJjODQ5ZjEyNTg2
MWQ4M2ZkNDk1NzE4YjUzODhlMDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gY3JlYXRlT2Jq
ZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIGJvb2wg
YXV0b0luY3JlbWVudCwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcm
IG5hbWUsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VmVyc2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24sIFBhc3NS
ZWZQdHI8SURCQ2FsbGJhY2tzPiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERPTVN0cmlu
Z0xpc3QqIG9iamVjdFN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2lnbmVkIGxv
bmcgdGltZW91dCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIG9i
amVjdFN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKIAogICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVC
YWNrZW5kSW50ZXJmYWNlPiBvYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgK
aW5kZXggMGRjNTliMWE5ZWVjNmM0ZTI0NWVlNGQwYjBjYmMwMGI3NjhmNzc4ZC4uOWNjNzIzMGFj
ZDgwNjI4ZTFmOTBiYjY0NDY1MGU0Y2QxNmVlODU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCkBAIC01Nyw3ICs1Nyw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5k
SW50ZXJmYWNlPiBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYga2V5UGF0aCwgYm9vbCBhdXRvSW5jcmVtZW50LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVP
YmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnNpb24o
Y29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIEV4Y2VwdGlv
bkNvZGUmKSA9IDA7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2Vu
ZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oRE9NU3RyaW5nTGlzdCogc3RvcmVOYW1lcywgdW5zaWdu
ZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0LCBFeGNlcHRpb25Db2RlJikgPSAw
OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+
IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1v
ZGUsIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCkgPSAwOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUaW1lb3V0RXZlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUaW1lb3V0RXZlbnQuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjFlZTQ3NDQ0ODU3ZWU2MTdiNTMxMzA3ZTBhNTczM2Nk
NTZhN2FhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVGltZW91dEV2ZW50LmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0g
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQot
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSURCVGltZW91
dEV2ZW50LmgiCi0KLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJJREJBbnkuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1QYXNzUmVmUHRyPElEQlRpbWVvdXRFdmVudD4gSURCVGltZW91dEV2ZW50OjpjcmVhdGUoKQot
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCVGltZW91dEV2ZW50KCkpOwotfQotCi1JREJU
aW1lb3V0RXZlbnQ6OklEQlRpbWVvdXRFdmVudCgpCi0gICAgOiBJREJFdmVudChldmVudE5hbWVz
KCkuYWJvcnRFdmVudCwgMCkgLy8gRklYTUU6IHNldCB0aGUgc291cmNlIHRvIHRoZSB0cmFuc2Fj
dGlvbgotewotfQotCi1JREJUaW1lb3V0RXZlbnQ6On5JREJUaW1lb3V0RXZlbnQoKQotewotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJUaW1lb3V0RXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
SURCVGltZW91dEV2ZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmYzliYTQ4
OGVlMzA4ZTZlMTc0MzUwYzMyMGYyZTI2Mzc1N2Q1ODkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUaW1lb3V0
RXZlbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIElEQlRpbWVv
dXRFdmVudF9oCi0jZGVmaW5lIElEQlRpbWVvdXRFdmVudF9oCi0KLSNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKLQotI2luY2x1ZGUgIklEQkV2ZW50LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1T
dHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBJREJUaW1lb3V0RXZlbnQgOiBw
dWJsaWMgSURCRXZlbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQlRpbWVv
dXRFdmVudD4gY3JlYXRlKCk7Ci0gICAgLy8gRklYTUU6IE5lZWQgdG8gYWxsb3cgY3JlYXRpb24g
b2YgdGhlc2UgZXZlbnRzIGZyb20gSlMuCi0gICAgdmlydHVhbCB+SURCVGltZW91dEV2ZW50KCk7
Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNJREJUaW1lb3V0RXZlbnQoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9Ci0KLXByaXZhdGU6Ci0gICAgSURCVGltZW91dEV2ZW50KCk7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQot
I2VuZGlmIC8vIElEQlRpbWVvdXRFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJh
bnNhY3Rpb24uY3BwCmluZGV4IGUzNjI1ZDRiNWJkN2Q3NDFmOWQ5OTk0YTQyZWQ0ODQ0OWZiMGJk
NjYuLmQ1MDhhYTNlZGNlNTJjM2VhZWU2YjgxNWJmODFkZGViNzU1YzIzNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5j
bHVkZSAiSURCT2JqZWN0U3RvcmUuaCIKICNpbmNsdWRlICJJREJPYmplY3RTdG9yZUJhY2tlbmRJ
bnRlcmZhY2UuaCIKICNpbmNsdWRlICJJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgiCi0j
aW5jbHVkZSAiSURCVGltZW91dEV2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw2IEBAIElEQlRyYW5z
YWN0aW9uOjpJREJUcmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQ
YXNzUmVmUHRyPElEQlRyCiAgICAgLCBtX21vZGUobV9iYWNrZW5kLT5tb2RlKCkpCiAgICAgLCBt
X29uQWJvcnRUaW1lcih0aGlzLCAmSURCVHJhbnNhY3Rpb246Om9uQWJvcnRUaW1lckZpcmVkKQog
ICAgICwgbV9vbkNvbXBsZXRlVGltZXIodGhpcywgJklEQlRyYW5zYWN0aW9uOjpvbkNvbXBsZXRl
VGltZXJGaXJlZCkKLSAgICAsIG1fb25UaW1lb3V0VGltZXIodGhpcywgJklEQlRyYW5zYWN0aW9u
OjpvblRpbWVvdXRUaW1lckZpcmVkKQogewogICAgIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3I6OmFkZFBlbmRpbmdUcmFuc2FjdGlvbihtX2JhY2tlbmQuZ2V0KCkpOwogfQpAQCAtOTksNyAr
OTcsNiBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpvbkFib3J0KCkKIHsKICAgICBBU1NFUlQoIW1f
b25BYm9ydFRpbWVyLmlzQWN0aXZlKCkpOwogICAgIEFTU0VSVCghbV9vbkNvbXBsZXRlVGltZXIu
aXNBY3RpdmUoKSk7Ci0gICAgQVNTRVJUKCFtX29uVGltZW91dFRpbWVyLmlzQWN0aXZlKCkpOwog
ICAgIG1fc2VsZlJlZiA9IHRoaXM7CiAgICAgbV9vbkFib3J0VGltZXIuc3RhcnRPbmVTaG90KDAp
OwogICAgIG1fYmFja2VuZC5jbGVhcigpOyAvLyBSZWxlYXNlIHRoZSBiYWNrZW5kIGFzIGl0IGhv
bGRzIGEgKGNpcmN1bGFyKSByZWZlcmVuY2UgYmFjayB0byB1cy4KQEAgLTEwOSwyMiArMTA2LDEx
IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246Om9uQ29tcGxldGUoKQogewogICAgIEFTU0VSVCghbV9v
bkFib3J0VGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKCFtX29uQ29tcGxldGVUaW1lci5p
c0FjdGl2ZSgpKTsKLSAgICBBU1NFUlQoIW1fb25UaW1lb3V0VGltZXIuaXNBY3RpdmUoKSk7CiAg
ICAgbV9zZWxmUmVmID0gdGhpczsKICAgICBtX29uQ29tcGxldGVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CiAgICAgbV9iYWNrZW5kLmNsZWFyKCk7IC8vIFJlbGVhc2UgdGhlIGJhY2tlbmQgYXMgaXQg
aG9sZHMgYSAoY2lyY3VsYXIpIHJlZmVyZW5jZSBiYWNrIHRvIHVzLgogfQogCi12b2lkIElEQlRy
YW5zYWN0aW9uOjpvblRpbWVvdXQoKQotewotICAgIEFTU0VSVCghbV9vbkFib3J0VGltZXIuaXNB
Y3RpdmUoKSk7Ci0gICAgQVNTRVJUKCFtX29uQ29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKTsKLSAg
ICBBU1NFUlQoIW1fb25UaW1lb3V0VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgbV9zZWxmUmVmID0g
dGhpczsKLSAgICBtX29uVGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKLSAgICBtX2JhY2tl
bmQuY2xlYXIoKTsgLy8gUmVsZWFzZSB0aGUgYmFja2VuZCBhcyBpdCBob2xkcyBhIChjaXJjdWxh
cikgcmVmZXJlbmNlIGJhY2sgdG8gdXMuCi19Ci0KIGJvb2wgSURCVHJhbnNhY3Rpb246OmNhblN1
c3BlbmQoKSBjb25zdAogewogICAgIC8vIFdlIG1heSBiZSBpbiB0aGUgbWlkZGxlIG9mIGEgdHJh
bnNhY3Rpb24gc28gd2UgY2Fubm90IHN1c3BlbmQgb3VyIG9iamVjdC4KQEAgLTE2MiwxNCArMTQ4
LDYgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6b25Db21wbGV0ZVRpbWVyRmlyZWQoVGltZXI8SURC
VHJhbnNhY3Rpb24+KiB0cmFuc2FjdGlvbikKICAgICBkaXNwYXRjaEV2ZW50KElEQkNvbXBsZXRl
RXZlbnQ6OmNyZWF0ZSgpKTsKIH0KIAotCi12b2lkIElEQlRyYW5zYWN0aW9uOjpvblRpbWVvdXRU
aW1lckZpcmVkKFRpbWVyPElEQlRyYW5zYWN0aW9uPiogdHJhbnNhY3Rpb24pCi17Ci0gICAgQVNT
RVJUKG1fc2VsZlJlZik7Ci0gICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBzZWxmUmVmID0gbV9z
ZWxmUmVmLnJlbGVhc2UoKTsKLSAgICBkaXNwYXRjaEV2ZW50KElEQlRpbWVvdXRFdmVudDo6Y3Jl
YXRlKCkpOwotfQotCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaAppbmRleCBkMGE5ZjBmZDZmMTkwMDIw
NmE0NjUxZDc3ZjRlYzNlNjE2MmY5ZmE0Li5kNWMxMDU1MmIxMGEwMTY3YTJlNGY5YTEwMDE3MmU3
ZDMzZjA0NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbi5oCkBAIC02
NCwxMiArNjQsMTAgQEAgcHVibGljOgogCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihhYm9ydCk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb21wbGV0
ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0aW1lb3V0KTsKIAogICAg
IC8vIElEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzCiAgICAgdmlydHVhbCB2b2lkIG9uQWJvcnQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgb25Db21wbGV0ZSgpOwotICAgIHZpcnR1YWwgdm9pZCBvblRpbWVv
dXQoKTsKIAogICAgIC8vIEV2ZW50VGFyZ2V0CiAgICAgdmlydHVhbCBJREJUcmFuc2FjdGlvbiog
dG9JREJUcmFuc2FjdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0KQEAgLTkzLDcgKzkxLDYgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgb25BYm9ydFRpbWVyRmlyZWQoVGltZXI8SURCVHJhbnNhY3Rpb24+
Kik7CiAgICAgdm9pZCBvbkNvbXBsZXRlVGltZXJGaXJlZChUaW1lcjxJREJUcmFuc2FjdGlvbj4q
KTsKLSAgICB2b2lkIG9uVGltZW91dFRpbWVyRmlyZWQoVGltZXI8SURCVHJhbnNhY3Rpb24+Kik7
CiAKICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CiAgICAgUmVmUHRyPElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gbV9iYWNrZW5kOwpAQCAtMTAyLDcgKzk5LDYg
QEAgcHJpdmF0ZToKIAogICAgIFRpbWVyPElEQlRyYW5zYWN0aW9uPiBtX29uQWJvcnRUaW1lcjsK
ICAgICBUaW1lcjxJREJUcmFuc2FjdGlvbj4gbV9vbkNvbXBsZXRlVGltZXI7Ci0gICAgVGltZXI8
SURCVHJhbnNhY3Rpb24+IG1fb25UaW1lb3V0VGltZXI7CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0
aW9uPiBtX3NlbGZSZWY7IC8vIFRoaXMgaXMgc2V0IHRvIHVzIGlmZiB0aGVyZSdzIGFuIGV2ZW50
IHBlbmRpbmcuCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRy
YW5zYWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRs
CmluZGV4IGI1N2FjNGE5ODZjOGUyYTQ4YWM2MzUzZTlhMzZmZTcyNGQzYWU0MDQuLmNmM2IxY2U4
MzY1ZDFmMDYxNTgyOWM2NmRkOTJkNTJjNjcwZGJiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCVHJhbnNhY3Rpb24uaWRsCkBAIC00NCw3ICs0NCw2IEBAIG1vZHVsZSBzdG9yYWdlIHsK
ICAgICAgICAgLy8gRXZlbnRzCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWJv
cnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY29tcGxldGU7Ci0gICAgICAg
IGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9udGltZW91dDsKICAgICAgICAgLy8gRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlCiAgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcg
dHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlz
dGVuZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9u
QmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbXBsLmNwcAppbmRleCAwMDEyMjMxYTEwOTk1MzEyM2E4M2VjYTcyOTEwNjcyNzFkMzBi
M2U5Li5iNDdlNzYwOWYzYTA5NGMzMjUyOThhNGFmOTUxZWIwNmVmNjA4NzhhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAK
QEAgLTM1LDE1ICszNSwxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4gSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6Y3Jl
YXRlKERPTVN0cmluZ0xpc3QqIG9iamVjdFN0b3JlcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5z
aWduZWQgbG9uZyB0aW1lb3V0LCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKiBkYXRhYmFzZSkKK1Bh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4gSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbDo6Y3JlYXRlKERPTVN0cmluZ0xpc3QqIG9iamVjdFN0b3JlcywgdW5zaWduZWQgc2hvcnQg
bW9kZSwgSURCRGF0YWJhc2VCYWNrZW5kSW1wbCogZGF0YWJhc2UpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKG9iamVjdFN0b3JlcywgbW9kZSwg
dGltZW91dCwgZGF0YWJhc2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQlRyYW5zYWN0
aW9uQmFja2VuZEltcGwob2JqZWN0U3RvcmVzLCBtb2RlLCBkYXRhYmFzZSkpOwogfQogCi1JREJU
cmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKERPTVN0cmlu
Z0xpc3QqIG9iamVjdFN0b3JlcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgdW5zaWduZWQgbG9uZyB0
aW1lb3V0LCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKiBkYXRhYmFzZSkKK0lEQlRyYW5zYWN0aW9u
QmFja2VuZEltcGw6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwoRE9NU3RyaW5nTGlzdCogb2Jq
ZWN0U3RvcmVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKiBk
YXRhYmFzZSkKICAgICA6IG1fb2JqZWN0U3RvcmVOYW1lcyhvYmplY3RTdG9yZXMpCiAgICAgLCBt
X21vZGUobW9kZSkKLSAgICAsIG1fdGltZW91dCh0aW1lb3V0KSAvLyBGSVhNRTogSW1wbGVtZW50
IHRpbWVvdXQuCiAgICAgLCBtX3N0YXRlKFVudXNlZCkKICAgICAsIG1fZGF0YWJhc2UoZGF0YWJh
c2UpCiAgICAgLCBtX3RyYW5zYWN0aW9uKG5ldyBTUUxpdGVUcmFuc2FjdGlvbihkYXRhYmFzZS0+
c3FsaXRlRGF0YWJhc2UoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QlRyYW5zYWN0aW9uQmFja2VuZEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW1wbC5oCmluZGV4IGY0ZGZhYTg4YjQ3MTM0OGQ5YzNmMjQyOGE2YTNj
ODllYzc0MzFlMzguLjEyOTdlNzQ5YzIyMGZlYTBiYzgwZGExY2RlY2E4MGM5YThkYmJiZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1w
bC5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIElEQkRhdGFiYXNlQmFja2VuZEltcGw7CiAKIGNs
YXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwgOiBwdWJsaWMgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbXBsPiBjcmVhdGUoRE9NU3RyaW5nTGlzdCogb2JqZWN0U3RvcmVzLCB1bnNp
Z25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQsIElEQkRhdGFiYXNlQmFja2Vu
ZEltcGwqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBs
PiBjcmVhdGUoRE9NU3RyaW5nTGlzdCogb2JqZWN0U3RvcmVzLCB1bnNpZ25lZCBzaG9ydCBtb2Rl
LCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsKik7CiAgICAgdmlydHVhbCB+SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW1wbCgpOwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFj
a2VuZEludGVyZmFjZT4gb2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25D
b2RlJik7CkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJ1bigpOwogCiBwcml2
YXRlOgotICAgIElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwoRE9NU3RyaW5nTGlzdCogb2JqZWN0
U3RvcmVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQsIElEQkRh
dGFiYXNlQmFja2VuZEltcGwqKTsKKyAgICBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKERPTVN0
cmluZ0xpc3QqIG9iamVjdFN0b3JlcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgSURCRGF0YWJhc2VC
YWNrZW5kSW1wbCopOwogCiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIFVudXNlZCwgLy8gQ3Jl
YXRlZCwgYnV0IG5vIHRhc2tzIHlldC4KQEAgLTcyLDcgKzcyLDYgQEAgcHJpdmF0ZToKIAogICAg
IFJlZlB0cjxET01TdHJpbmdMaXN0PiBtX29iamVjdFN0b3JlTmFtZXM7CiAgICAgdW5zaWduZWQg
c2hvcnQgbV9tb2RlOwotICAgIHVuc2lnbmVkIGxvbmcgbV90aW1lb3V0OwogCiAgICAgU3RhdGUg
bV9zdGF0ZTsKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25DYWxsYmFja3M+IG1fY2FsbGJhY2tz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkNhbGxi
YWNrcy5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkNhbGxiYWNrcy5o
CmluZGV4IDM0ODYwOGRhM2VjNjIxNTMxYjA1NWE2Yzc1ODA3NzllYjBjYmY2YmEuLjhkOTA2YTZl
YjgyYzU5MTNiNmMwMGUxZGNjZWU0ZTc4ZWMyZmZlOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25DYWxsYmFja3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzLmgKQEAgLTQyLDcgKzQyLDYgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIG9uQWJvcnQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IG9uQ29tcGxldGUoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIG9uVGltZW91dCgpID0gMDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
ZDVmZDE4NDBmNjg5MTQ1ZDNjODAxZTExNDk2MzM2NGYwYjdkOTBiNC4uMDE2ZGVmODk4YzBkMDk1
MmUyOGIxMjM3NjM5ZmFjMGMxYjBmYWU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAxMS0wMi0wMSAgSmVyZW15IE9ybG93ICA8am9ybG93QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW1vdmUgdGhlIHRpbWVvdXQgZXZlbnQgZnJvbSBJbmRleGVkREIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTIxCisKKyAgICAgICAgKiBwdWJsaWMv
V2ViSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCRGF0YWJhc2U6OnRyYW5z
YWN0aW9uKToKKyAgICAgICAgKiBwdWJsaWMvV2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3MuaDoK
KyAgICAgICAgKiBzcmMvSURCRGF0YWJhc2VQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
REJEYXRhYmFzZVByb3h5Ojp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3JjL0lEQkRhdGFiYXNl
UHJveHkuaDoKKyAgICAgICAgKiBzcmMvSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eS5jcHA6
CisgICAgICAgICogc3JjL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHkuaDoKKyAgICAgICAg
KiBzcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCRGF0
YWJhc2VJbXBsOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3JjL1dlYklEQkRhdGFiYXNlSW1w
bC5oOgorICAgICAgICAqIHNyYy9XZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwuY3BwOgor
ICAgICAgICAqIHNyYy9XZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwuaDoKKwogMjAxMS0w
MS0yNCAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViSURCRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQkRh
dGFiYXNlLmgKaW5kZXggNWVkODA1MjcyZWZkODE5NDliNTQ5NjZiZDMwZDdkMDdmNzU4ZmQ0NC4u
ZGY0MjE3YjllOWRjNzBiZTBiNTVjMDU4ODVhNzgyMjY0NWZlN2Q0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRGF0YWJhc2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJEYXRhYmFzZS5oCkBAIC02NSwxMCArNjUsMTQg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBXZWJT
dHJpbmcmIG5hbWUsIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgV2ViRXhj
ZXB0aW9uQ29kZSYgZWMpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAgdmly
dHVhbCB2b2lkIHNldFZlcnNpb24oY29uc3QgV2ViU3RyaW5nJiB2ZXJzaW9uLCBXZWJJREJDYWxs
YmFja3MqIGNhbGxiYWNrcywgV2ViRXhjZXB0aW9uQ29kZSYpIHsgV0VCS0lUX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyB9CiAgICAgLy8gVHJhbnNmZXJzIG93bmVyc2hpcCBvZiB0aGUgV2ViSURCVHJh
bnNhY3Rpb24gdG8gdGhlIGNhbGxlci4KLSAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiB0
cmFuc2FjdGlvbihjb25zdCBXZWJET01TdHJpbmdMaXN0JiBuYW1lcywgdW5zaWduZWQgc2hvcnQg
bW9kZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0LCBXZWJFeGNlcHRpb25Db2RlJikKKyAgICB2aXJ0
dWFsIFdlYklEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbihjb25zdCBXZWJET01TdHJpbmdMaXN0
JiBuYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgV2ViRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAg
ewotICAgICAgICBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiAw
OworICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24obmFtZXMsIG1vZGUsIDAsIGVjKTsKKyAgICB9
CisgICAgLy8gRklYTUU6IFJlbW92ZS4KKyAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiB0
cmFuc2FjdGlvbihjb25zdCBXZWJET01TdHJpbmdMaXN0JiBuYW1lcywgdW5zaWduZWQgc2hvcnQg
bW9kZSwgdW5zaWduZWQgbG9uZywgV2ViRXhjZXB0aW9uQ29kZSYgZWMpCisgICAgeworICAgICAg
ICByZXR1cm4gdHJhbnNhY3Rpb24obmFtZXMsIG1vZGUsIGVjKTsKICAgICB9CiAgICAgdmlydHVh
bCB2b2lkIGNsb3NlKCkgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCVHJhbnNhY3Rpb25DYWxs
YmFja3MuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQlRyYW5zYWN0aW9u
Q2FsbGJhY2tzLmgKaW5kZXggYzliNmIwNWU3ODM2MmYyZjY0NjFiMDEwYzRlMDE5NGRmMmIzMTVl
My4uOTMwOTlmMWEyMjAzY2VmMmU1NmVjMGM3ZGUyZGVlNzNjMGE1ZTczYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJUcmFuc2FjdGlvbkNh
bGxiYWNrcy5oCkBAIC0zNSw2ICszNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBv
bkFib3J0KCkgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICB2aXJ0dWFsIHZv
aWQgb25Db21wbGV0ZSgpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAv
LyBGSVhNRTogUmVtb3ZlLgogICAgIHZpcnR1YWwgdm9pZCBvblRpbWVvdXQoKSB7IFdFQktJVF9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9JREJEYXRhYmFzZVByb3h5LmNwcAppbmRleCBmMDcwZDY0OGEyODZjMjY2M2Q0ZDIyNjJi
NThhZWUwOTE0MDBlY2E2Li42MzU1YTJhODNiOWY3OGZmMjBlZjA3OTU5MmNhOWFkNjFkYWM5M2Qx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVByb3h5LmNw
cApAQCAtOTUsMTAgKzk1LDEwIEBAIHZvaWQgSURCRGF0YWJhc2VQcm94eTo6c2V0VmVyc2lvbihj
b25zdCBTdHJpbmcmIHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzCiAgICAgbV93ZWJJ
REJEYXRhYmFzZS0+c2V0VmVyc2lvbih2ZXJzaW9uLCBuZXcgV2ViSURCQ2FsbGJhY2tzSW1wbChj
YWxsYmFja3MpLCBlYyk7CiB9CiAKLVBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlPiBJREJEYXRhYmFzZVByb3h5Ojp0cmFuc2FjdGlvbihET01TdHJpbmdMaXN0KiBzdG9y
ZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQorUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+
IElEQkRhdGFiYXNlUHJveHk6OnRyYW5zYWN0aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMs
IHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFdlYktpdDo6
V2ViRE9NU3RyaW5nTGlzdCBuYW1lcyhzdG9yZU5hbWVzKTsKLSAgICBXZWJLaXQ6OldlYklEQlRy
YW5zYWN0aW9uKiB0cmFuc2FjdGlvbiA9IG1fd2ViSURCRGF0YWJhc2UtPnRyYW5zYWN0aW9uKG5h
bWVzLCBtb2RlLCB0aW1lb3V0LCBlYyk7CisgICAgV2ViS2l0OjpXZWJJREJUcmFuc2FjdGlvbiog
dHJhbnNhY3Rpb24gPSBtX3dlYklEQkRhdGFiYXNlLT50cmFuc2FjdGlvbihuYW1lcywgbW9kZSwg
ZWMpOwogICAgIGlmICghdHJhbnNhY3Rpb24pIHsKICAgICAgICAgQVNTRVJUKGVjKTsKICAgICAg
ICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJE
YXRhYmFzZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZVBy
b3h5LmgKaW5kZXggYzUxYTYwNDkwN2I1MzE0OTkyNDZmNTMyM2U4ZjhmNTIwYTlhZWFkYS4uMmNl
Yjc3ZWZjMTVhOGY3ZmVkZjQwMDRmODM4ZWVhNzhkZjE4YWEwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlUHJveHkuaApAQCAtNDksNyArNDksNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFj
ZT4gY3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtl
eVBhdGgsIGJvb2wgYXV0b0luY3JlbWVudCwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShj
b25zdCBTdHJpbmcmIG5hbWUsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2Vw
dGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmVyc2lvbihjb25zdCBTdHJpbmcmIHZl
cnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0
aW9uKERPTVN0cmluZ0xpc3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIHVuc2ln
bmVkIGxvbmcgdGltZW91dCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKERPTVN0cmluZ0xp
c3QqIHN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eS5jcHAK
aW5kZXggM2ExOWZlMmVkZjY4ZmNmMWI5YjIyZjEzYjlkMmVhNDk1MDIwMWUzZS4uYTAxZGMwMjBk
YWY0MjBiOTMwYjMzYzEzZjNlNzFjZTk2MDcyOTdhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eS5jcHAK
QEAgLTYxLDEyICs2MSw2IEBAIHZvaWQgSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eTo6b25D
b21wbGV0ZSgpCiAgICAgbV9jYWxsYmFja3MuY2xlYXIoKTsKIH0KIAotdm9pZCBJREJUcmFuc2Fj
dGlvbkNhbGxiYWNrc1Byb3h5OjpvblRpbWVvdXQoKQotewotICAgIG1fY2FsbGJhY2tzLT5vblRp
bWVvdXQoKTsKLSAgICBtX2NhbGxiYWNrcy5jbGVhcigpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzUHJv
eHkuaAppbmRleCA4OTFkNWM5MGVjODUxZWUxZmM4NjVlODJmMGIyYjZhZjdjNmMyZDQ4Li43OWMz
MmY2OTZjOGNkMDMwMTk5NzE5NWQ1MzBhNzQ2M2U1NGUxMGY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JREJUcmFuc2FjdGlvbkNhbGxiYWNrc1Byb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eS5o
CkBAIC00Nyw3ICs0Nyw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBvbkFib3J0KCk7
CiAgICAgdmlydHVhbCB2b2lkIG9uQ29tcGxldGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgb25UaW1l
b3V0KCk7CiAKIHByaXZhdGU6CiAgICAgSURCVHJhbnNhY3Rpb25DYWxsYmFja3NQcm94eShQYXNz
T3duUHRyPFdlYktpdDo6V2ViSURCVHJhbnNhY3Rpb25DYWxsYmFja3M+KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwCmluZGV4IGZhN2Ey
MDAwZDdlNzEyYTFiZjMyM2NjODFkZWMzNDk5MzI1M2FmMjIuLjdmNzk0ZDk5Y2VkZWIxNjU4NmI2
NmIyMzRiOTM0NmUyMTE3OTA5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQkRhdGFiYXNlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcApAQCAtODQsMTAgKzg0LDEwIEBAIHZvaWQgV2ViSURC
RGF0YWJhc2VJbXBsOjpzZXRWZXJzaW9uKGNvbnN0IFdlYlN0cmluZyYgdmVyc2lvbiwgV2ViSURC
Q2FsbGJhY2tzKiBjCiAgICAgbV9kYXRhYmFzZUJhY2tlbmQtPnNldFZlcnNpb24odmVyc2lvbiwg
SURCQ2FsbGJhY2tzUHJveHk6OmNyZWF0ZShjYWxsYmFja3MpLCBlYyk7CiB9CiAKLVdlYklEQlRy
YW5zYWN0aW9uKiBXZWJJREJEYXRhYmFzZUltcGw6OnRyYW5zYWN0aW9uKGNvbnN0IFdlYkRPTVN0
cmluZ0xpc3QmIG5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVv
dXQsIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQorV2ViSURCVHJhbnNhY3Rpb24qIFdlYklEQkRhdGFi
YXNlSW1wbDo6dHJhbnNhY3Rpb24oY29uc3QgV2ViRE9NU3RyaW5nTGlzdCYgbmFtZXMsIHVuc2ln
bmVkIHNob3J0IG1vZGUsIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFJlZlB0cjxET01T
dHJpbmdMaXN0PiBuYW1lTGlzdCA9IFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4obmFtZXMpOwot
ICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uID0g
bV9kYXRhYmFzZUJhY2tlbmQtPnRyYW5zYWN0aW9uKG5hbWVMaXN0LmdldCgpLCBtb2RlLCB0aW1l
b3V0LCBlYyk7CisgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJh
bnNhY3Rpb24gPSBtX2RhdGFiYXNlQmFja2VuZC0+dHJhbnNhY3Rpb24obmFtZUxpc3QuZ2V0KCks
IG1vZGUsIGVjKTsKICAgICBpZiAoIXRyYW5zYWN0aW9uKSB7CiAgICAgICAgIEFTU0VSVChlYyk7
CiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCRGF0YWJhc2VJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
REJEYXRhYmFzZUltcGwuaAppbmRleCA2NGUwYjJlYmRhY2FkZDcwOWEwYmE3MjNiOWU4NmM3MmFi
YTYyNzVlLi4yZGMyN2Q1Njc1ZjE4NjdmNjE2ZWEzN2VjZjk4MzIyZTNjNTA2OTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuaApAQCAtNTIs
NyArNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJJREJPYmplY3RTdG9yZSogY3JlYXRl
T2JqZWN0U3RvcmUoY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIGtleVBh
dGgsIGJvb2wgYXV0b0luY3JlbWVudCwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNl
cHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2Rl
Jik7CiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnNpb24oY29uc3QgV2ViU3RyaW5nJiB2ZXJzaW9u
LCBXZWJJREJDYWxsYmFja3MqIGNhbGxiYWNrcywgV2ViRXhjZXB0aW9uQ29kZSYpOwotICAgIHZp
cnR1YWwgV2ViSURCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKGNvbnN0IFdlYkRPTVN0cmluZ0xp
c3QmIG5hbWVzLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQsIFdl
YkV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiB0cmFuc2Fj
dGlvbihjb25zdCBXZWJET01TdHJpbmdMaXN0JiBuYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwg
V2ViRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpOwogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJhbnNhY3Rp
b25DYWxsYmFja3NJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQlRy
YW5zYWN0aW9uQ2FsbGJhY2tzSW1wbC5jcHAKaW5kZXggOTY5MjRjZjFiN2RhYzgzMzIxZWRmOTNi
ODEyZWFjOWE0NWE0OWRkYi4uODQ4MTgyZTE1NDI3Yjk4ZDQxY2M2N2NkNjIyZjQ3ZDUxOTY2NzAx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJhbnNhY3Rp
b25DYWxsYmFja3NJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
REJUcmFuc2FjdGlvbkNhbGxiYWNrc0ltcGwuY3BwCkBAIC01MSwxMSArNTEsNiBAQCB2b2lkIFdl
YklEQlRyYW5zYWN0aW9uQ2FsbGJhY2tzSW1wbDo6b25Db21wbGV0ZSgpCiAgICAgbV9jYWxsYmFj
a3MtPm9uQ29tcGxldGUoKTsKIH0KIAotdm9pZCBXZWJJREJUcmFuc2FjdGlvbkNhbGxiYWNrc0lt
cGw6Om9uVGltZW91dCgpCi17Ci0gICAgbV9jYWxsYmFja3MtPm9uVGltZW91dCgpOwotfQotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQlRyYW5zYWN0
aW9uQ2FsbGJhY2tzSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJh
bnNhY3Rpb25DYWxsYmFja3NJbXBsLmgKaW5kZXggODliOWNiZTJjMWFjZGExYTQ0ZGI4NDE5MDRk
MGNiOGY0YWM5YmI1NC4uNDE2YWMzYzU4NWUyZWNhMjIwZTM2ZGRlYTI1ZTk3ODBiZDNjZjU3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJhbnNhY3Rpb25D
YWxsYmFja3NJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCVHJh
bnNhY3Rpb25DYWxsYmFja3NJbXBsLmgKQEAgLTQzLDcgKzQzLDYgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIG9uQWJvcnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgb25Db21wbGV0ZSgpOwot
ICAgIHZpcnR1YWwgdm9pZCBvblRpbWVvdXQoKTsKIAogcHJpdmF0ZToKICAgICBSZWZQdHI8SURC
VHJhbnNhY3Rpb25DYWxsYmFja3M+IG1fY2FsbGJhY2tzOwo=
</data>
<flag name="review"
          id="72327"
          type_id="1"
          status="+"
          setter="japhet"
    />
          </attachment>
      

    </bug>

</bugzilla>