<?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>88743</bug_id>
          
          <creation_ts>2012-06-10 19:29:30 -0700</creation_ts>
          <short_desc>Change mute button and volume slider behaviour for new Chrome video controls</short_desc>
          <delta_ts>2012-06-14 10:01:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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>
          <dependson>87683</dependson>
    
    <dependson>87835</dependson>
    
    <dependson>88297</dependson>
    
    <dependson>88623</dependson>
    
    <dependson>88724</dependson>
          <blocked>84672</blocked>
    
    <blocked>88818</blocked>
    
    <blocked>89050</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Silvia Pfeiffer">silviapf</reporter>
          <assigned_to name="Silvia Pfeiffer">silviapf</assigned_to>
          <cc>annacc</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>scherkus</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>645668</commentid>
    <comment_count>0</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-10 19:29:30 -0700</bug_when>
    <thetext>This is the sixth patch for the introduction of the new Chromium video controls, master bug at https://bugs.webkit.org/show_bug.cgi?id=84672 .

The new controls require that when the user clicks the mute button, the slider thumb should animate to 0% and restore the previous volume level when clicking the mute button again.
Further, when the user drags the thumb or clicks on the slider, the video unmutes and sets the volume to the user&apos;s chosen level.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645674</commentid>
    <comment_count>1</comment_count>
      <attachid>146765</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-10 19:56:38 -0700</bug_when>
    <thetext>Created attachment 146765
Full patch for layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645675</commentid>
    <comment_count>2</comment_count>
      <attachid>146766</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-10 19:58:36 -0700</bug_when>
    <thetext>Created attachment 146766
Use this for review

This is the difference to the previous patch. It will not pass the test - refer to the full patch for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645681</commentid>
    <comment_count>3</comment_count>
      <attachid>146766</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-06-10 20:19:27 -0700</bug_when>
    <thetext>Comment on attachment 146766
Use this for review

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

&gt; Source/WebCore/html/shadow/MediaControlElements.cpp:904
&gt; +    , m_unmute(false)

&quot;unmute&quot; is a confusing name. The flag means &quot;set muted to false on user interaction&quot;, so maybe something like &quot;m_clearMutedOnUserInteraction&quot;?

&gt; Source/WebCore/html/shadow/MediaControlElements.cpp:948
&gt; +void MediaControlVolumeSliderElement::setUnmuteOnInteraction(bool unmute)

Ditto for &quot;setUnmute&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645714</commentid>
    <comment_count>4</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-10 21:25:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 146766 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146766&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlElements.cpp:904
&gt; &gt; +    , m_unmute(false)
&gt; 
&gt; &quot;unmute&quot; is a confusing name. The flag means &quot;set muted to false on user interaction&quot;, so maybe something like &quot;m_clearMutedOnUserInteraction&quot;?
&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlElements.cpp:948
&gt; &gt; +void MediaControlVolumeSliderElement::setUnmuteOnInteraction(bool unmute)
&gt; 
&gt; Ditto for &quot;setUnmute&quot;

Good ideas, DONE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645732</commentid>
    <comment_count>5</comment_count>
      <attachid>146784</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-10 22:32:27 -0700</bug_when>
    <thetext>Created attachment 146784
Full patch for layout tests - with unmute name change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645733</commentid>
    <comment_count>6</comment_count>
      <attachid>146785</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-10 22:34:28 -0700</bug_when>
    <thetext>Created attachment 146785
Patch for review with unmute name change.

Patch for review with unmute name change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645757</commentid>
    <comment_count>7</comment_count>
      <attachid>146784</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-10 23:33:17 -0700</bug_when>
    <thetext>Comment on attachment 146784
Full patch for layout tests - with unmute name change

Attachment 146784 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12948057</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648631</commentid>
    <comment_count>8</comment_count>
      <attachid>147451</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-13 17:51:21 -0700</bug_when>
    <thetext>Created attachment 147451
patch for cq</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649261</commentid>
    <comment_count>9</comment_count>
      <attachid>147451</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-14 10:00:55 -0700</bug_when>
    <thetext>Comment on attachment 147451
patch for cq

Clearing flags on attachment: 147451

Committed r120337: &lt;http://trac.webkit.org/changeset/120337&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649262</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-14 10:01:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146765</attachid>
            <date>2012-06-10 19:56:38 -0700</date>
            <delta_ts>2012-06-10 22:32:14 -0700</delta_ts>
            <desc>Full patch for layout tests</desc>
            <filename>bug-88743-20120611125636.patch</filename>
            <type>text/plain</type>
            <size>80499</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjUxYWU5NzA1ODExMDUy
ZjIwYzhlNDRhMWVkZDVjZWRjNDdmNmNlMS4uMzZmM2MxMmQyYmQ5NDRjZjhiZjNmMjU3YTkwMTIx
YTBjOTljMDA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyMSBAQAorMjAxMi0wNi0xMSAgU2ls
dmlhIFBmZWlmZmVyICA8c2lsdmlhcGZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoYW5nZSBt
dXRlIGJ1dHRvbiBhbmQgdm9sdW1lIHNsaWRlciBiZWhhdmlvdXIgZm9yIG5ldyBDaHJvbWl1bSB2
aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg4NzQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRhaW4gdGhlIHJlYmFzZWxp
bmVkIHRlc3RzLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2Vp
dmluZyBhIHZpc3VhbCB1cGRhdGUuIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIG11dGUgYnV0dG9uIGFu
ZAorICAgICAgICB0aGUgdm9sdW1lIHNsaWRlciBpbnRlcmFjdCB3aXRoIGVhY2ggb3RoZXIuIFdo
ZW4gdGhlIHVzZXIgbXV0ZXMgdGhlIHZpZGVvIHRocm91Z2ggY2xpY2tpbmcgdGhlCisgICAgICAg
IG11dGUgYnV0dG9uLCB0aGUgdm9sdW1lIHNsaWRlciBhbmltYXRlcyB0byAwJSB2b2x1bWUuIFVw
b24gdW5tdXRlLCB0aGUgcHJldmlvdXMgdm9sdW1lIGxldmVsCisgICAgICAgIGlzIHJlc3RvcmVk
LiBGdXJ0aGVyLCB3aGVuIHRoZSB1c2VyIGRyYWdzIHRoZSB2b2x1bWUgc2xpZGVyIHRodW1iIG9y
IGNsaWNrcyBvbiB0aGUgc2xpZGVyIGFuZAorICAgICAgICB0aGUgdmlkZW8gaXMgbXV0ZWQsIHRo
ZSB2aWRlbyB1bm11dGVzIGFuZCBzZXRzIHRoZSB2b2x1bWUgdG8gdGhlIHVzZXIncyBjaG9zZW4g
bGV2ZWwuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRp
YUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50KToKKyAgICAgICAgQWRkIGEgbWVtYmVyIGZpZWxk
IHRvIHRoZSB2b2x1bWUgc2xpZGVyIHRvIGFsbG93IHVzZXIgaW50ZXJhY3Rpb24gdG8gdW5tdXRl
IHRoZSB2aWRlby4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICBBZGQgdGhlIGxvZ2ljIHRvIHVu
bXV0ZSB0aGUgdmlkZW8gaWYgdGhlIG1fdW5tdXRlIG1lbWJlciBmaWVsZCBpcyB0cnVlLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0VW5tdXRl
T25JbnRlcmFjdGlvbik6CisgICAgICAgIEFkZCBhIG1lbWJlciBmdW5jdGlvbiB0byBjaGFuZ2Ug
dGhlIHZhbHVlIG9mIHRoZSBtX3VubXV0ZSBtZW1iZXIgZmllbGQKKyAgICAgICAgKiBodG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oOgorICAgICAgICAoTWVkaWFDb250cm9sVm9sdW1l
U2xpZGVyRWxlbWVudCk6CisgICAgICAgIEFkZCB0aGUgc2V0VW5tdXRlT25JbnRlcmFjdGlvbiBt
ZW1iZXIgZnVuY3Rpb24gYW5kIHRoZSBtX3VubXV0ZSBtZW1iZXIgZmllbGQuCisgICAgICAgICog
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjcmVhdGUpOgorICAg
ICAgICBBY3RpdmF0ZSB1bm11dGUgb24gdXNlciBpbnRlcmFjdGlvbiBvbiB0aGUgQ2hyb21pdW0g
dmlkZW8gdm9sdW1lIHNsaWRlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06OmNoYW5nZWRNdXRlKToKKyAgICAgICAgQWRkIGxvZ2ljIHRvIHNldCB2
b2x1bWUgc2xpZGVyIHRvIDAgd2hlbiBtdXRlZCBhbmQgcmVzZXQgdG8gdm9sdW1lIHdoZW4gdW5t
dXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFWb2x1bWVTbGlkZXIpOgorICAgICAgICBB
ZGQgbG9naWMgdG8gcGFpbnQgdGhlIHZvbHVtZSBzbGlkZXIgYWN0aXZlIGFyZSB0byAwIHdoZW4g
bXV0ZWQuCisKKzIwMTItMDYtMTAgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBVcGRhdGUgdGhlIHRpbWUgZGlzcGxheSBvZiB0aGUgbmV3IENocm9t
aXVtIG1lZGlhIGNvbnRyb2xzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODg3MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIGZpbmFsIHBhdGNoIHdpbGwgY29udGFpbiB0aGUgcmVi
YXNlbGluZWQgdGVzdHMuCisKKyAgICAgICAgVGhlIENocm9tZSB2aWRlbyBjb250cm9scyBhcmUg
cmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4gVGhpcyBwYXRjaCBjaGFuZ2VzCisgICAgICAgIHRo
ZSBmb3JtYXQgb2YgdGhlIHRpbWUgZGlnaXRzIHRoYXQgYXJlIGRpc3BsYXllZC4gVGhleSBhcmUg
ZGlmZmVyZW50IGZvciBtZWRpYQorICAgICAgICBmaWxlcyBvZiBkaWZmZXJlbnQgZHVyYXRpb24u
IEZvciBub24tYXV0b3BsYXlpbmcgdmlkZW9zLCB0aGUgZHVyYXRpb24gaXMgc2hvd24KKyAgICAg
ICAgYmVmb3JlIHBsYXliYWNrIGlzIHN0YXJ0ZWQuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250
cm9sc0Nocm9taXVtLmNzczoKKyAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXRpbWUtcmVtYWluaW5nLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRp
bWUtcmVtYWluaW5nLWRpc3BsYXkpOgorICAgICAgICBGb3JtYXQgdGhlIG5ldyBkdXJhdGlvbiBk
aXNwbGF5IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHRpbWUgZGlzcGxheS4KKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgYSBtZW1iZXIgZmllbGQgZm9yIHRoZSBk
dXJhdGlvbiBkaXNwbGF5LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQWRkIGFuIGVsZW1lbnQgZm9yIHRoZSBkdXJh
dGlvbiBkaXNwbGF5IGFuZCBpbml0aWFsbHkgaGlkZSB0aGUgY3VycmVudCB0aW1lIGRpc3BsYXku
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzZXRN
ZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBBZGQgdGhlIGR1cmF0aW9uIGRpc3BsYXkgdG8gdGhl
IGNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpyZXNldCk6CisgICAgICAgIEFkZCByZXNldCBmdW5jdGlvbmFsaXR5IGZvciB0aGUg
ZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRlZCk6CisgICAgICAgIFNob3cgdGhlIGN1cnJlbnQg
dGltZSBkaXNwbGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlvbiBkaXNwbGF5IHVwb24gcGxheWJhY2sg
c3RhcnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
Ojp1cGRhdGVUaW1lRGlzcGxheSk6CisgICAgICAgIFNob3cgdGhlIGN1cnJlbnQgdGltZSBkaXNw
bGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlvbiBkaXNwbGF5IHdoZW4gY3VycmVudCB0aW1lIGlzIG5v
bi16ZXJvLgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBBZGQgdGhlIE1lZGlhQ29udHJv
bFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCB3aGljaCBwcm92aWRlcyB1c2Ugd2l0aCB0aGUg
ZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0pOgorICAgICAgICBBZGQgYSBkdXJhdGlvbiBtZW1iZXIgZmllbGQsIHJldXNpbmcgdGhlIGV4
aXN0aW5nIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmZvcm1hdENocm9taXVtTWVkaWFDb250cm9sc1RpbWUpOgorICAgICAgICBGb3JtYXRz
IGEgZ2l2ZW4gdGltZSB1bmRlciB0aGUgY29uZGl0aW9uIG9mIGEgZ2l2ZW4gZHVyYXRpb24uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlh
Q29udHJvbHNUaW1lKToKKyAgICAgICAgV2hlbiBmb3JtYXR0aW5nIGEgc2luZ2xlIHRpbWUsIGFz
c3VtZSBpdCB0byBhbHNvIHByb3ZpZGUgdGhlIGR1cmF0aW9uIGNvbmRpdGlvbnMuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJv
bHNDdXJyZW50VGltZSk6CisgICAgICAgIEZvcm1hdCB0aGUgY3VycmVudCB0aW1lIGdpdmVuIHRo
ZSBkdXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1
bTo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUpOgorICAgICAgICBGb3JtYXQgdGhl
IHJlbWFpbmluZyB0aW1lIGZyb20gdGhlIGN1cnJlbnQgdGltZSBnaXZlbiB0aGUgZHVyYXRpb24u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oOgorICAg
ICAgICAoUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtKToKKyAgICAgICAgRGVjbGFyZSB0aGUg
dGltZSBmb3JtYXR0aW5nIG1lbWJlciBmdW5jdGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hyb21pdW1NYWMp
OgorICAgICAgICBEZWNsYXJlIHRoZSB0aW1lIGZvcm1hdHRpbmcgbWVtYmVyIGZ1bmN0aW9ucyBm
b3IgQ2hyb21pdW0gb24gdGhlIE1hYy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
Q2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWlu
aW5nVGltZSk6CisgICAgICAgIENhbGwgdGhlIHRpbWUgZm9ybWF0dGluZyBtZW1iZXIgZnVuY3Rp
b25zIG9mIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bSBvbiB0aGUgTWFjLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpmb3JtYXRNZWRp
YUNvbnRyb2xzQ3VycmVudFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Zm9ybWF0TWVkaWFDb250
cm9sc1JlbWFpbmluZ1RpbWUpOgorICAgICAgICBDYWxsIHRoZSB0aW1lIGZvcm1hdHRpbmcgbWVt
YmVyIGZ1bmN0aW9ucyBvZiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0gb24gU2tpYS4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKyAgICAgICAgKFJl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhKToKKyAgICAgICAgRGVjbGFyZSB0aGUgdGltZSBmb3JtYXR0
aW5nIG1lbWJlciBmdW5jdGlvbnMgZm9yIENocm9taXVtIFNraWEuCisKKzIwMTItMDYtMDkgIFNp
bHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUg
cmFuZ2Ugc2xpZGVycyByZW5kZXJpbmcgZm9yIHZvbHVtZSBhbmQgcGxheWJhY2sgcG9zaXRpb24g
b2YgbmV3IENocm9tZSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRh
aW4gdGhlIHJlYmFzZWxpbmVkIHRlc3RzLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29u
dHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRhdGUuIFRoaXMgcGF0Y2ggY29udGFpbnMg
dXBkYXRlcyB0byB0aGUKKyAgICAgICAgcmVuZGVyaW5nIG9mIHRoZSByYW5nZSBzbGlkZXJzIGZv
ciB0aGUgcGxheWJhY2sgcG9zaXRpb24gYW5kIHRoZSB2b2x1bWUuIFRoaXMgaW5jbHVkZXMgdGhl
CisgICAgICAgIGNyZWF0aW9uIG9mIGEgc2hhZG93UHNldWRvSWQgdG8gYmUgYWJsZSB0byBzdHls
ZSB0aGUgcmFuZ2Ugc2xpZGVycyB2aWEgQ1NTLCB0aGUgcmVuZGVyaW5nCisgICAgICAgIG9mIHRo
ZSBzbGlkZXIgYmFja2dyb3VuZCBhbmQgdGhlIGhpZ2hsaWdodGVkIHJhbmdlcy4KKworICAgICAg
ICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzOgorICAgICAgICAoaW5wdXRbdHlwZT0i
cmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItY29udGFpbmVyKToKKyAgICAgICAgQWRqdXN0
IHRoZSBzdHlsaW5nIG9mIHRoZSBzbGlkZXIgY29udGFpbmVyIGJhY2tncm91bmRzLgorICAgICAg
ICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItdGh1bWIpOgorICAg
ICAgICBBZGp1c3QgdGhlIHN0eWxpbmcgb2YgdGhlIHNsaWRlciB0aHVtYnMuCisgICAgICAgICog
aHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNs
aWRlclRodW1iU2hhZG93UHNldWRvSWQpOgorICAgICAgICBBZGQgYW4gYWNjZXNzb3IgZnVuY3Rp
b24gZm9yIHRoZSBzbGlkZXIgdGh1bWIgc2hhZG93UHNldWRvSWQuCisgICAgICAgIChXZWJDb3Jl
OjptZWRpYVNsaWRlclRodW1iU2hhZG93UHNldWRvSWQpOgorICAgICAgICBBZGQgYW4gYWNjZXNz
b3IgZnVuY3Rpb24gZm9yIHRoZSBtZWRpYSBzbGlkZXIgdGh1bWIgc2hhZG93UHNldWRvSWQuCisg
ICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAg
ICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUgbWVkaWEg
c2xpZGVyIHRodW1icy4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrTGltaXRlckVsZW1lbnQ6OnNo
YWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8tY2xhc3Mg
bmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIHRodW1icy4KKyAgICAgICAgKFdlYkNvcmU6OlNsaWRl
ckNvbnRhaW5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlmZmVy
ZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIGJhY2tncm91bmQg
Y29udGFpbmVyLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRSb3VuZGVkU2xpZGVyQmFja2dyb3VuZCk6
CisgICAgICAgIEFkZCBmdW5jdGlvbiB0byBkcmF3IHJvdW5kZWQgYmFja2dyb3VuZCBvZiBzbGlk
ZXJzIGluIGEgZGFyayBjb2xvci4KKyAgICAgICAgKFdlYkNvcmU6OnBhaW50U2xpZGVyUmFuZ2VI
aWdobGlnaHQpOgorICAgICAgICBBZGQgZnVuY3Rpb24gdG8gZHJhdyBhIGhpZ2hsaWdodGVkIGdy
ZXkgcmVnaW9uIG9uIHRoZSBzbGlkZXJzLCB3aGljaCBpcyByb3VuZGVkIG9ubHkgYXQKKyAgICAg
ICAgaXRzIGVuZHMuCisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhU2xpZGVyKToKKyAgICAg
ICAgVXBkYXRlIHRoZSBiYWNrZ3JvdW5kIGFuZCBidWZmZXJlZCByYW5nZSByZW5kZXJpbmdzIG9u
IHRoZSBwbGF5YmFjayBwb3NpdGlvbiBzbGlkZXIgYnkgbWFraW5nCisgICAgICAgIHVzZSBvZiB0
aGUgbmV3IGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhVm9s
dW1lU2xpZGVyKToKKyAgICAgICAgVXBkYXRlIHRoZSBiYWNrZ3JvdW5kIGFuZCBidWZmZXJlZCBy
YW5nZSByZW5kZXJpbmdzIG9uIHRoZSB2b2x1bWUgc2xpZGVyIGJ5IG1ha2luZworICAgICAgICB1
c2Ugb2YgdGhlIG5ldyBoZWxwZXIgZnVuY3Rpb25zLgorCisyMDEyLTA2LTA2ICBTaWx2aWEgUGZl
aWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIHRoZSBzdHls
aW5nIG9mIHRoZSBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4Mjk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoZmluYWwgcGF0Y2ggd2ls
bCBjb250YWluIHRoZSByZWJhc2VsaW5lZCB0ZXN0cykKKworICAgICAgICBUaGUgQ2hyb21lIHZp
ZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLiBUaGlzIHBhdGNoIGlu
Y2x1ZGVzIENTUyBjaGFuZ2VzLAorICAgICAgICB0aGUgcmVtb3ZhbCBvZiB0aGUgbm93IG5vIGxv
bmdlciBuZWVkZWQgY29udHJvbHMgYmFja2dyb3VuZCBkaXYsIGFuZCB0aGUgaW50cm9kdWN0aW9u
IG9mCisgICAgICAgIG5ldyBpbWFnZXMgZm9yIHRoZSBidXR0b25zLgorCisgICAgICAgICogY3Nz
L21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3M6CisgICAgICAgIChhdWRpbyk6CisgICAgICAgIEFk
anVzdCBoZWlnaHQgb2YgYXVkaW8gY29udHJvbHMuCisgICAgICAgICg6Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMpOgorICAgICAgICBVc2UgZmxleGJveCBvbiBtZWRpYSBjb250cm9scyBzaGFkb3cg
RE9NLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlLCB2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUpOgorICAgICAgICBBZGp1c3Qg
aGVpZ2h0LCBtYXgtd2lkdGgsIHRleHQtaW5kZW50IGFuZCBib3gtc2l6aW5nLCBhbmQgcmVzZXQg
cGFkZGluZyB0byAwLgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5j
bG9zdXJlKToKKyAgICAgICAgVXNlIDVweCBwYWRkaW5nIG9ubHkgZm9yIHZpZGVvIGNvbnRyb2xz
IGFuZCBhZGp1c3QgaGVpZ2h0IGFjY29yZGluZ2x5LgorICAgICAgICAoYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGFuZWwsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVs
KToKKyAgICAgICAgVXNlIGZsZXhib3ggb24gcGFuZWwsIGFkanVzdCBib3R0b20gYWxpZ25tZW50
LCBoZWlnaHQsIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciByYWRpdXMuCisgICAgICAgIChh
dWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24pOgorICAgICAgICBEaXNwbGF5IGJ1dHRvbnMgaW5s
aW5lIHdpdGggZml4ZWQgd2lkdGggYW5kIGhlaWdodCwgdmVydGljYWxseSBjZW50ZXJlZCwgbm8g
cGFkZGluZyBhbmQKKyAgICAgICAgNnB4IHNwYWNlIHRvIG5leHQgY29udHJvbHMgZWxlbWVudCAo
dGhpcyB3aWxsIGJlIDE1cHggaW5jbCB0aGUgc3BhY2UgaW4gdGhlIGltYWdlKS4KKyAgICAgICAg
KGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uLCB2aWRlbzo6LXdlYmtp
dC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbik6CisgICAgICAgIERpc3BsYXkgYnV0dG9ucyBp
bmxpbmUgd2l0aCBmaXhlZCB3aWR0aCBhbmQgaGVpZ2h0LCB2ZXJ0aWNhbGx5IGNlbnRlcmVkLCBu
byBwYWRkaW5nIGFuZAorICAgICAgICA5cHggc3BhY2UgdG8gbmV4dCBjb250cm9scyBlbGVtZW50
ICh0aGlzIHdpbGwgYmUgMTVweCBpbmNsIHRoZSBzcGFjZSBpbiB0aGUgaW1hZ2UpLgorICAgICAg
ICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksIHZp
ZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5KToKKyAgICAg
ICAgRGlzcGxheSB0ZXh0IGFzIGJsb2NrLCB3aXRob3V0IGJyb2RlciwgYWRqdXN0ZWQgaGVpZ2h0
LCBmb250LWZhbWlseSwgZm9udC1zaXplIGFuZCA5cHggc3BhY2UKKyAgICAgICAgdG8gbmV4dCBj
b250cm9scyBlbGVtZW50ICh0aGlzIHdpbGwgYmUgMTVweCBpbmNsIHRoZSBzcGFjZSBpbiB0aGUg
aW1hZ2UpLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUs
IHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lKToKKyAgICAgICAgQWRqdXN0
IGhlaWdodCwgcGFkZGluZywgYmFja2dyb3VuZC1jb2xvciwgbWluLXdkaXRoIGFuZCAxNXB4IHNw
YWNlIHRvIG5leHQgY29udHJvbHMgZWxlbWVudC4KKyAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXZvbHVtZS1zbGlkZXIpOgorICAgICAgICBBZGp1c3QgaGVpZ2h0LCBtYXgtIGFuZCBtaW4td2lk
dGgsIGJhY2tncm91bmQtY29sb3IgYW5kIDE1cHggc3BhY2UgdG8gbmV4dCBjb250cm9scyBlbGVt
ZW50LgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bSk6CisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNl
IG9mIHRoZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250
YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNlIG9mIHRoZSB1
c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBj
b250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNlIG9mIHRo
ZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnJlc2V0KToKKyAgICAgICAgU2hvdyB0aGUgdGltZWxpbmUgaW5zdGVhZCBv
ZiB0aGUgdGltZWxpbmUgY29udGFpbmVyIHdoZW4gcmVzZXR0aW5nLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0ZWRFcnJvcik6CisgICAg
ICAgIEhpZGUgdGhlIHRpbWVsaW5lIGluc3RlYWQgb2YgdGhlIHRpbWVsaW5lIGNvbnRhaW5lciB3
aGVuIHJ1bm5pbmcgaW50byBhbiBlcnJvci4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFNdXRl
QnV0dG9uKToKKyAgICAgICAgSW50cm9kdWNlIG5ldyBpbWFnZSByZXNvdXJjZXMgZm9yIHRoZSBt
dXRlIGJ1dHRvbiBhbmQgYWRqdXN0IGl0IGJhc2VkIG9uIHZvbHVtZSBsZXZlbHMuCisgICAgICAg
IChXZWJDb3JlOjpwYWludE1lZGlhUGxheUJ1dHRvbik6CisgICAgICAgIEludHJvZHVjZSBuZXcg
aW1hZ2UgcmVzb3VyY2VzIGZvciB0aGUgcGxheSBidXR0b24uCisgICAgICAgIChXZWJDb3JlOjpn
ZXRNZWRpYVNsaWRlclRodW1iKToKKyAgICAgICAgSW50cm9kdWNlIG5ldyBpbWFnZSByZXNvdXJj
ZXMgZm9yIHRoZSBwb3NpdGlvbiBzbGlkZXIgdGh1bWIuCisgICAgICAgIChXZWJDb3JlOjpwYWlu
dE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIpOgorICAgICAgICBJbnRyb2R1Y2UgbmV3IGltYWdlIHJl
c291cmNlcyBmb3IgdGhlIHZvbHVtZSBzbGlkZXIgdGh1bWIuCisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIgcmVuZGVyaW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVkaWFD
b250cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KToKKyAgICAgICAgQWRkIHRp
bWVsaW5lIGNvbnRhaW5lciBwYWludGluZyB0byB0aGUgIm5vdCByZWFjaGVkIiBlbGVtZW50cy4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBQcm92aWRlIHNpemUgc2V0dGluZ3MgZm9yIHRo
ZSBwb3NpdGlvbiBhbmQgdm9sdW1lIHNsaWRlcnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
ZWRpYUNvbnRyb2xzQ2hyb21pdW06OmFkanVzdE1lZGlhU2xpZGVyVGh1bWJTaXplKToKKyAgICAg
ICAgQ2FsY3VsYXRlIGNvcnJlY3Qgd2lkdGggYW5kIGhlaWdodCBzZXR0aW5ncyBmb3IgdGhlIG5l
dyBpbWFnZSByZXNvdXJjZXMgb2YgdGhlIHBvc2l0aW9uIGFuZCB2b2x1bWUKKyAgICAgICAgc2xp
ZGVyIHRodW1icy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5o
OgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bU1hYyk6CisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIgcmVuZGVyaW5nIChpLmUuIHRoZSBtZWRpYSBjb250cm9scyBiYWNrZ3Jv
dW5kKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAg
ICAgICAgUmVtb3ZlIHRpbWVsaW5lIGNvbnRhaW5lciByZW5kZXJpbmcgKGkuZS4gdGhlIG1lZGlh
IGNvbnRyb2xzIGJhY2tncm91bmQpLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtU2tpYS5jcHA6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIgcmVuZGVy
aW5nIChpLmUuIHRoZSBtZWRpYSBjb250cm9scyBiYWNrZ3JvdW5kKS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hy
b21pdW1Ta2lhKToKKyAgICAgICAgUmVtb3ZlIHRpbWVsaW5lIGNvbnRhaW5lciByZW5kZXJpbmcg
KGkuZS4gdGhlIG1lZGlhIGNvbnRyb2xzIGJhY2tncm91bmQpLgorCisyMDEyLTA2LTA1ICBTaWx2
aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIHRo
ZSB2b2x1bWUgc2xpZGVyIHRvIGhvcml6b250YWwgcmVuZGVyaW5nIGZvciBDaHJvbWUgdmlkZW8g
Y29udHJvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NzgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cy4gKHZpc3VhbCB1cGRhdGUgd2lsbCBjb250YWluIHJlYmFzZWxpbmVkIHRl
c3RzKQorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2VpdmluZyBh
IHZpc3VhbCB1cGRhdGUuIFRoZSB2b2x1bWUgc2xpZGVyIGlzIGluY2x1ZGVkIGludG8KKyAgICAg
ICAgdGhlIGNvbnRyb2xzIHdpdGggaG9yaXpvbnRhbCByZW5kZXJpbmcsIHRoZSB2b2x1bWUgc2xp
ZGVyIGNvbnRhaW5lciBpcyByZW1vdmVkLiBUaGUgdmlzdWFsCisgICAgICAgIHVwZGF0ZSBpdHNl
bGYgaXMgaW4gYSBzZXBhcmF0ZSBwYXRjaC4KKworICAgICAgICAqIGNzcy9tZWRpYUNvbnRyb2xz
Q2hyb21pdW0uY3NzOgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0
ZS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uKToKKyAg
ICAgICAgUmVtb3ZlZCByZWxhdGl2ZSBwb3NpdGlvbmluZyB0byByZW5kZXIgYWxsIGNvbnRyb2xz
IGVsZW1lbnRzIGVxdWFsbHkgaW4gRE9NIG9yZGVyLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGxheS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXBsYXktYnV0dG9uKToKKyAgICAgICAgUmVtb3ZlZCBhYnNvbHV0ZSBwb3NpdGlvbmluZyB0byBy
ZW5kZXIgYWxsIGNvbnRyb2xzIGVsZW1lbnRzIGVxdWFsbHkgaW4gRE9NIG9yZGVyLgorICAgICAg
ICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUtY29udGFpbmVyLCB2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1jb250YWluZXIpOgorICAgICAgICBS
ZW1vdmVkIGFic29sdXRlIHBvc2l0aW9uaW5nIHRvIHJlbmRlciBhbGwgY29udHJvbHMgZWxlbWVu
dHMgZXF1YWxseSBpbiBET00gb3JkZXIuCisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtdm9sdW1lLXNsaWRlci1jb250YWluZXIpOgorICAgICAgICBSZW1vdmVkIHZvbHVtZSBz
bGlkZXIgY29udGFpbmVyIC0gaXQncyBub3QgbmVjZXNzYXJ5IGFueSBtb3JlLgorICAgICAgICAo
YXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksIHZpZGVv
Ojotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5KToKKyAgICAgICAg
UmVtb3ZlIGZsZXhib3ggYW5kIGludHJvZHVjZSBpbmxpbmUgZGlzcGxheSB0byBhbHdheXMgZGlz
cGxheSB0aGlzIGZpZWxkLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
dm9sdW1lLXNsaWRlciwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRl
cik6CisgICAgICAgIFJlbW92ZWQgYWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gcmVuZGVyIGFsbCBj
b250cm9scyBlbGVtZW50cyBlcXVhbGx5IGluIERPTSBvcmRlci4KKyAgICAgICAgKiBodG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW0pOgorICAgICAgICBSZW1vdmVkIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyIC0g
aXQncyBub3QgbmVjZXNzYXJ5IGFueSBtb3JlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQXBwZW5kZWQgdGhlIHZv
bHVtZSBzbGlkZXIgYW5kIHRoZSBtdXRlIGJ1dHRvbiBkaXJlY3RseSB0byB0aGUgcGFuZWwsIHJl
bW92ZWQgdm9sdW1lIHNsaWRlciBjb250YWluZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpzZXRNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBS
ZW1vdmVkIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0ZWRFcnJvcik6CisgICAgICAgIFJlbW92
ZWQgdm9sdW1lIHNsaWRlciBjb250YWluZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpzaG93Vm9sdW1lU2xpZGVyKToKKyAgICAgICAgUmVtb3Zl
ZCB2b2x1bWUgc2xpZGVyIGNvbnRhaW5lci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBSZW1vdmVkIHZvbHVt
ZSBzbGlkZXIgY29udGFpbmVyLgorICAgICAgICAqIGh0bWwvc2hhZG93L1NsaWRlclRodW1iRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXNWZXJ0aWNhbEFwcGVhcmFuY2UpOgorICAg
ICAgICBBbGxvdyB1c2Ugb2YgaG9yaXpvbnRhbCBtZWRpYSB2b2x1bWUgc2xpZGVyLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyVGh1bWI6OmxheW91dCk6CisgICAgICAgIFJldXNlIGhh
c1ZlcnRpY2FsQXBwZWFyYW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlcik6CisgICAgICAgIENoYW5n
ZSBsaW5lIGRyYXdpbmcgZnJvbSB2ZXJ0aWNhbCB0byBob3Jpem9udGFsLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnVz
ZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcik6CisgICAgICAgIEFkZCB1c2VzVmVydGljYWxWb2x1bWVT
bGlkZXIgZnVuY3Rpb24gdG8gYWxsb3cgaG9yaXpvbnRhbCB2b2x1bWUgc2xpZGVycy4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6dXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKToKKyAg
ICAgICAgQWRkIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlciBmdW5jdGlvbiB0byBhbGxvdyBob3Jp
em9udGFsIHZvbHVtZSBzbGlkZXJzLgorICAgICAgICBBZGQgdXNlc1ZlcnRpY2FsVm9sdW1lU2xp
ZGVyIGZ1bmN0aW9uIHRvIGFsbG93IGhvcml6b250YWwgdm9sdW1lIHNsaWRlcnMuCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6dXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKToKKyAg
ICAgICAgQWRkIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlciBmdW5jdGlvbiB0byBhbGxvdyBob3Jp
em9udGFsIHZvbHVtZSBzbGlkZXJzLgorCisyMDEyLTA1LTI4ICBTaWx2aWEgUGZlaWZmZXIgIDxz
aWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIGFuIEVuY2xvc3VyZSBF
bGVtZW50IGZvciBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0cy4KKworICAgICAgICBUaGUg
Q2hyb21lIHZpZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLiBBIG5l
dyBlbmNsb3N1cmUgZGl2IGlzIHJlcXVpcmVkCisgICAgICAgIHRvIHByb3ZpZGUgZm9yIGEgb2Zm
c2V0IHNwYWNlIGZyb20gdGhlIHZpZGVvJ3MgYm91bmRhcmllcy4gVGhlIHZpc3VhbCB1cGRhdGUg
aXRzZWxmIGlzIGluCisgICAgICAgIGEgc2VwYXJhdGUgcGF0Y2guCisKKyAgICAgICAgKiBjc3Mv
bWVkaWFDb250cm9sc0Nocm9taXVtLmNzczoKKyAgICAgICAgKHZpZGVvOjotd2Via2l0LW1lZGlh
LWNvbnRyb2xzLWVuY2xvc3VyZSk6CisgICAgICAgIEludHJvZHVjZSBDU1MgZm9yIGVuY2xvc3Vy
ZSBkaXYgc28gaXQgZG9lc24ndCBzaG93IHlldC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6TWVkaWFDb250cm9sQ2hyb21pdW1FbmNs
b3N1cmVFbGVtZW50KToKKyAgICAgICAgRGVmaW5pdGlvbiBvZiB0aGUgbmV3IGVuY2xvc3VyZSBl
bGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVF
bGVtZW50OjpjcmVhdGUpOgorICAgICAgICBEZWZpbml0aW9uIG9mIGEgY3JlYXRlIG9wZXJhdG9y
IGZvciB0aGUgbmV3IGVuY2xvc3VyZSBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCk6CisgICAgICAg
IERlZmluaXRpb24gb2YgdGhlIHNoYWRvd1BzZXVkb0lkIG9mIC13ZWJraXQtbWVkaWEtY29udHJv
bHMtZW5jbG9zdXJlIGZvciB0aGUgZW5jbG9zdXJlIGRpdi4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0pOgorICAgICAgICBJbml0aWFsaXplIG1lbWJlciBlbGVtZW50IGZvciBlbmNsb3N1cmUg
ZGl2LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6
Y3JlYXRlKToKKyAgICAgICAgSW5zdGFudGlhdGUgZW5jbG9zdXJlIGRpdiBhbmQgYWRkIGludG8g
RE9NIGJldHdlZW4gY29udHJvbHMgYW5kIHBhbmVsIGVsZW1lbnRzLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c2V0TWVkaWFDb250cm9sbGVyKToK
KyAgICAgICAgU2V0IG1lZGlhIGNvbnRyb2xsZXIgZm9yIGVuY2xvc3VyZSBkaXYuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjcmVhdGVUZXh0VHJh
Y2tEaXNwbGF5KToKKyAgICAgICAgSW5zZXJ0IHRleHQgdHJhY2sgZGlzcGxheSBjb250YWluZXIg
dG8gZW5jbG9zdXJlIHJhdGhlciB0aGFuIHBhbmVsLgorICAgICAgICAqIGh0bWwvc2hhZG93L01l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoTWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6c2V0TWVkaWFDb250
cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJl
RWxlbWVudDo6bWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6aXNNZWRpYUNvbnRyb2xFbGVtZW50KToKKyAgICAg
ICAgQWRkIGRlY2xhcmF0aW9uIG9mIHRoZSBuZXcgZW5jbG9zdXJlIGVsZW1lbnQgYW5kIGl0cyBt
ZW1iZXIgZnVuY3Rpb25zLgorICAgICAgICAoTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bSk6CisgICAgICAgIEFkZCBtZW1iZXIgdmFyaWFibGUgdG8gY29udHJvbHMgcm9vdCBlbGVtZW50
IHRvIGhvbGQgdGhlIGVuY2xvc3VyZSBlbGVtZW50LgorCiAyMDEyLTA2LTA4ICBMZXZpIFdlaW50
cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5kZXJMYXllcjo6cGFpbnRD
aGlsZExheWVySW50b0NvbHVtbnMgZG9lc24ndCBwcm9wZXJseSBwaXhlbCBzbmFwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0Nocm9taXVtLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzCmluZGV4IDQwOTM5OGM1ZDBj
Y2YwYzlkNjNmNjBlOWI2OTM3MmU5YTM5MjRkMjYuLjM5NmY2NjFlZjA0MTc4MmUyMzU5ZGE3MDMz
ZDljNTRiNDkxYzFhNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRy
b2xzQ2hyb21pdW0uY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hy
b21pdW0uY3NzCkBAIC0zMSw3ICszMSw3IEBAIGJvZHk6LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEg
ewogCiBhdWRpbyB7CiAgICAgd2lkdGg6IDMwMHB4OwotICAgIGhlaWdodDogMzJweDsKKyAgICBo
ZWlnaHQ6IDMwcHg7CiB9CiAKIGF1ZGlvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhLCB2aWRlbzot
d2Via2l0LWZ1bGwtcGFnZS1tZWRpYSB7CkBAIC0zOSw5MCArMzksNzkgQEAgYXVkaW86LXdlYmtp
dC1mdWxsLXBhZ2UtbWVkaWEsIHZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhIHsKICAgICBt
YXgtd2lkdGg6IDEwMCU7CiB9CiAKLWF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVs
LCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7Ci0gICAgLXdlYmtpdC11c2Vy
LXNlbGVjdDogbm9uZTsKKzo6LXdlYmtpdC1tZWRpYS1jb250cm9scyB7CisgICAgZGlzcGxheTog
LXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAtd2Vi
a2l0LWJveC1wYWNrOiBlbmQ7Ci0gICAgcG9zaXRpb246IHJlbGF0aXZlOwotICAgIG92ZXJmbG93
OiB2aXNpYmxlOwotICAgIGJvdHRvbTogMDsKKyAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVy
OworfQorCithdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUsIHZpZGVvOjot
d2Via2l0LW1lZGlhLWNvbnRyb2xzLWVuY2xvc3VyZSB7CiAgICAgd2lkdGg6IDEwMCU7Ci0gICAg
aGVpZ2h0OiAzMnB4OwotICAgIHotaW5kZXg6IDA7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgwLCAwLCAwLCAwLjYpOworICAgIG1heC13aWR0aDogODAwcHg7CisgICAgaGVpZ2h0OiAzMHB4
OworICAgIGJvdHRvbTogMDsKKyAgICB0ZXh0LWluZGVudDogMDsKKyAgICBwYWRkaW5nOiAwOwor
ICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiB9CiAKLXZpZGVvOi13ZWJraXQtZnVsbC1wYWdl
LW1lZGlhOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHsKLSAgICBib3R0b206IDBweDsK
K3ZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWVuY2xvc3VyZSB7CisgICAgcGFkZGluZzog
MHB4IDVweCA1cHggNXB4OworICAgIGhlaWdodDogMzVweDsKIH0KIAogYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGFuZWwsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVs
IHsKLSAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kOworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94
OworICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsKKyAgICAtd2Via2l0LWJveC1h
bGlnbjogY2VudGVyOworICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKKyAgICBib3R0b206
IGF1dG87CisgICAgaGVpZ2h0OiAzMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAs
IDIwLCAyMCwgMC44KTsKKyAgICBib3JkZXItcmFkaXVzOiA1cHg7CiB9CiAKIGF1ZGlvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1tdXRlLWJ1dHRvbiB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1tdXRlLWJ1
dHRvbjsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgdG9wOiBhdXRvOwotICAgIGJvdHRv
bTogMDsKLSAgICByaWdodDogMDsKLSAgICBsZWZ0OiBhdXRvOwotCi0gICAgd2lkdGg6IDM0cHg7
Ci0gICAgaGVpZ2h0OiAzMnB4OworICAgIGRpc3BsYXk6IGlubGluZTsKKyAgICBib3JkZXI6IG5v
bmU7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICB3aWR0aDogMzVweDsKKyAgICBo
ZWlnaHQ6IDMwcHg7CisgICAgbGluZS1oZWlnaHQ6IDMwcHg7CisgICAgbWFyZ2luOiAwIDZweCAw
IDA7CisgICAgcGFkZGluZzogMDsKIH0KIAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
cGxheS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uIHsK
ICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLXBsYXktYnV0dG9uOwotCi0gICAgcG9zaXRp
b246IGFic29sdXRlOwotICAgIHRvcDogYXV0bzsKLSAgICBib3R0b206IDdweDsKLSAgICBsZWZ0
OiA3cHg7Ci0gICAgcmlnaHQ6IDZweDsKLQotICAgIHdpZHRoOiAxOHB4OwotICAgIGhlaWdodDog
MTlweDsKLX0KLQotYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUtY29udGFp
bmVyLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1jb250YWluZXIgewot
ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtdGltZWxpbmUtY29udGFpbmVyOwotICAgIC13
ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7Ci0gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9u
dGFsOwotICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7Ci0gICAgLXdlYmtpdC1ib3gtcGFj
azogY2VudGVyOwotICAgIC13ZWJraXQtYm94LWZsZXg6IDE7Ci0KLSAgICBwb3NpdGlvbjogYWJz
b2x1dGU7Ci0gICAgdG9wOiBhdXRvOwotICAgIGJvdHRvbTogMDsKLSAgICBsZWZ0OiAzMHB4Owot
ICAgIHJpZ2h0OiAzNHB4OwotCi0gICAgd2lkdGg6IGF1dG87Ci0gICAgaGVpZ2h0OiAzMnB4Owot
Ci0gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7Ci0g
ICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOworICAg
IGRpc3BsYXk6IGlubGluZTsKKyAgICBib3JkZXI6IG5vbmU7CisgICAgYm94LXNpemluZzogYm9y
ZGVyLWJveDsKKyAgICB3aWR0aDogMzBweDsKKyAgICBoZWlnaHQ6IDMwcHg7CisgICAgbGluZS1o
ZWlnaHQ6IDMwcHg7CisgICAgbWFyZ2luLWxlZnQ6IDlweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDlw
eDsKKyAgICBwYWRkaW5nOiAwOwogfQogCi1hdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1j
dXJyZW50LXRpbWUtZGlzcGxheSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVu
dC10aW1lLWRpc3BsYXkgeworYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10
aW1lLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1k
aXNwbGF5LAorYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlz
cGxheSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxh
eSB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1jdXJyZW50LXRpbWUtZGlzcGxheTsK
ICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwotICAgIGRpc3BsYXk6IC13ZWJraXQtYm94
OwotICAgIC13ZWJraXQtYm94LWZsZXg6IDA7Ci0gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVy
OwotICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7Ci0KLSAgICBvdmVyZmxvdzogaGlkZGVu
OworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGJvcmRlcjogbm9uZTsKICAgICBjdXJzb3I6IGRl
ZmF1bHQ7CiAKLSAgICBsaW5lLWhlaWdodDogMjFweDsKLSAgICBoZWlnaHQ6IDIwcHg7Ci0gICAg
d2lkdGg6IDU4cHg7CisgICAgaGVpZ2h0OiAzMHB4OworICAgIG1hcmdpbjogMCA5cHggMCAwOwor
ICAgIHBhZGRpbmc6IDA7CiAKLSAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gICAgZm9udC1mYW1p
bHk6IEFyaWFsOwotICAgIGZvbnQtc2l6ZTogMTZweDsKKyAgICBsaW5lLWhlaWdodDogMzBweDsK
KyAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKKyAgICBmb250
LXNpemU6IDEzcHg7CiAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgY29sb3I6IHdoaXRlOwog
CkBAIC0xMzcsNDAgKzEyNiw0OCBAQCBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jdXJy
ZW50LXRpbWUtZGlzcGxheSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbAogYXVkaW86Oi13
ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXRpbWVsaW5lIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLXNsaWRlcjsKICAg
ICBkaXNwbGF5OiAtd2Via2l0LWJveDsKLSAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAg
IC13ZWJraXQtYm94LWZsZXg6IDE7Ci0KLSAgICBwYWRkaW5nOiAwcHg7Ci0gICAgbWFyZ2luOiAw
cHggNnB4OwotICAgIGhlaWdodDogMThweDsKLQotICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUs
IDI1NSwgMjU1LCAwLjIpOwotICAgIGJvcmRlci1zdHlsZTogc29saWQ7Ci0gICAgYm9yZGVyLXdp
ZHRoOiAxcHg7Ci0gICAgYm9yZGVyLXJhZGl1czogMnB4OwotICAgIGJhY2tncm91bmQtY29sb3I6
IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7Ci0gICAgY29sb3I6IHJnYig1MCwgMTQwLCAyMjMp
OwotfQotCi1hdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xpZGVyLWNvbnRh
aW5lciwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRlci1jb250YWlu
ZXIgewotICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtdm9sdW1lLXNsaWRlci1jb250YWlu
ZXI7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIGJvdHRvbTogMzJweDsKLQotICAgIHdp
ZHRoOiAzNHB4OwotICAgIGhlaWdodDogMTAwcHg7Ci0KLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKDAsIDAsIDAsIDAuNik7CisgICAgaGVpZ2h0OiA4cHg7CisgICAgbWFyZ2luOiAwIDE1cHgg
MCAwOworICAgIHBhZGRpbmc6IDA7CisgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7
CisgICAgbWluLXdpZHRoOiAyNXB4OwogfQogCiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9s
cy12b2x1bWUtc2xpZGVyLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xp
ZGVyIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLXZvbHVtZS1zbGlkZXI7Ci0gICAg
ZGlzcGxheTogaW5saW5lOwotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLQotICAgIHRvcDogMTBw
eDsKLSAgICBsZWZ0OiAxMnB4OworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OworICAgIC13ZWJr
aXQtYm94LWZsZXg6IDE7CisgICAgaGVpZ2h0OiA4cHg7CisgICAgbWF4LXdpZHRoOiA3MHB4Owor
ICAgIG1hcmdpbjogMCAxNXB4IDAgMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGJhY2tncm91bmQt
Y29sb3I6IHRyYW5zcGFyZW50OworICAgIG1pbi13aWR0aDogMTVweDsKK30KIAotICAgIHdpZHRo
OiAxMHB4OwotICAgIGhlaWdodDogODBweDsKKy8qIEZJWE1FIHRoZXNlIHNob3VsZG4ndCB1c2Ug
c3BlY2lhbCBwc2V1ZG9TaGFkb3dJZHMsIGJ1dCBuaWNlciBydWxlcy4KKyAgIGh0dHBzOi8vY29k
ZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMTI1MDgKKyAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIxOAorKi8KK2lucHV0W3R5cGU9
InJhbmdlIl06Oi13ZWJraXQtbWVkaWEtc2xpZGVyLWNvbnRhaW5lciB7CisgICAgZGlzcGxheTog
LXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKKyAgICAtd2Via2l0
LWJveC1vcmllbnQ6IGhvcml6b250YWw7IC8qIFRoaXMgcHJvcGVydHkgaXMgdXBkYXRlZCBieSBD
KysgY29kZS4gKi8KKyAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgaGVp
Z2h0OiAxMDAlOworICAgIHdpZHRoOiAxMDAlOworICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigx
MzAsIDEzMCwgMTMwKTsKKyAgICBib3JkZXItcmFkaXVzOiA0cHg7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogdHJhbnNwYXJlbnQ7IC8qIEJhY2tncm91bmQgZHJhd2luZyBpcyBtYW5hZ2VkIGJ5IEMr
KyBjb2RlIHRvIGRyYXcgcmFuZ2VzLiAqLwogfQorCitpbnB1dFt0eXBlPSJyYW5nZSJdOjotd2Vi
a2l0LW1lZGlhLXNsaWRlci10aHVtYiB7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgLXdlYmtp
dC1hcHBlYXJhbmNlOiBzbGlkZXJ0aHVtYi1ob3Jpem9udGFsOworICAgIC13ZWJraXQtYm94LXNp
emluZzogYm9yZGVyLWJveDsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgYm90dG9tOiAx
cHg7CisgICAgbWFyZ2luLWxlZnQ6IC03cHg7CisgICAgbWFyZ2luLXJpZ2h0OiAtN3B4OworfQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAyMTIwNDhhYjIyYmI0MDM5NTUw
YjRiMDNhODBiZGQ4NTg0NzY5NTM3Li42ODJhMjUxYjI3MzMxYzljOWRiYjFjZjRkZTk1NGQzMTM5
Y2IyMzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuY3BwCkBAIC05MDEsNiArOTAxLDcgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBN
ZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKIAogaW5s
aW5lIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6Ok1lZGlhQ29udHJvbFZvbHVtZVNs
aWRlckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogTWVkaWFDb250cm9sSW5wdXRF
bGVtZW50KGRvY3VtZW50LCBNZWRpYVZvbHVtZVNsaWRlcikKKyAgICAsIG1fdW5tdXRlKGZhbHNl
KQogewogfQogCkBAIC05MzQsNiArOTM1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlk
ZXJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAgbWVk
aWFDb250cm9sbGVyKCktPnNldFZvbHVtZSh2b2x1bWUsIGVjKTsKICAgICAgICAgQVNTRVJUKCFl
Yyk7CiAgICAgfQorICAgIGlmIChtX3VubXV0ZSkKKyAgICAgICAgbWVkaWFDb250cm9sbGVyKCkt
PnNldE11dGVkKGZhbHNlKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVt
ZW50OjpzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKQpAQCAtOTQyLDYgKzk0NSwxMSBAQCB2b2lkIE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAg
ICAgICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyKHZvbHVtZSkpOwogfQogCit2b2lkIE1lZGlh
Q29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFVubXV0ZU9uSW50ZXJhY3Rpb24oYm9vbCB1
bm11dGUpCit7CisgICAgbV91bm11dGUgPSB1bm11dGU7Cit9CisKIGNvbnN0IEF0b21pY1N0cmlu
ZyYgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25z
dAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpZCwgKCItd2Via2l0
LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIiKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCAwMzU3MGY3NTUxNTNjYzZm
MzNhZGVkZThjOTQzMjhlZmY2NmJkZDc5Li5kNTNjZTE2NjNmZmFlYWI2YzYyMDRmNWQ2NDU1ZmU2
ZGMxYjI1ZGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEVsZW1lbnRzLmgKQEAgLTM4OSwxMiArMzg5LDE0IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdm9pZCBzZXRWb2x1bWUo
ZmxvYXQpOworICAgIHZvaWQgc2V0VW5tdXRlT25JbnRlcmFjdGlvbihib29sKTsKIAogcHJvdGVj
dGVkOgogICAgIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAog
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQo
KSBjb25zdDsKKyAgICBib29sIG1fdW5tdXRlOwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAppbmRleCBiZGNkOTE2NGQ4OWRh
ZDRiN2ZkNzg4ZGFhMjJiMzM5NjhmOWUwMGE1Li44ZDkzN2JhZTYzYzQ0Yzc0MjhiOGExMDA2OGFh
NmFjMzAzOTEzOGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcApAQCAtMjksNiArMjks
NyBAQAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtLmgiCiAKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJNZWRp
YUNvbnRyb2xFbGVtZW50cy5oIgpAQCAtNDUsMTcgKzQ2LDM0IEBAIHVzaW5nIG5hbWVzcGFjZSBz
dGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1
cmVFbGVtZW50OjpNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQoRG9jdW1lbnQq
IGRvY3VtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3Vt
ZW50LT5kb2N1bWVudCgpKQorICAgICwgbV9tZWRpYUNvbnRyb2xsZXIoMCkKK3sKK30KKworUGFz
c1JlZlB0cjxNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ+IE1lZGlhQ29udHJv
bENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxl
bWVudChkb2N1bWVudCkpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbENo
cm9taXVtRW5jbG9zdXJlRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAoreworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpZCwgKCItd2Via2l0LW1lZGlhLWNvbnRy
b2xzLWVuY2xvc3VyZSIpKTsKKyAgICByZXR1cm4gaWQ7Cit9CisKIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0oRG9jdW1lbnQq
IGRvY3VtZW50KQogICAgIDogTWVkaWFDb250cm9scyhkb2N1bWVudCkKICAgICAsIG1fbWVkaWFD
b250cm9sbGVyKDApCiAgICAgLCBtX3BsYXlCdXR0b24oMCkKICAgICAsIG1fY3VycmVudFRpbWVE
aXNwbGF5KDApCisgICAgLCBtX2R1cmF0aW9uRGlzcGxheSgwKQogICAgICwgbV90aW1lbGluZSgw
KQotICAgICwgbV90aW1lbGluZUNvbnRhaW5lcigwKQogICAgICwgbV9wYW5lbE11dGVCdXR0b24o
MCkKICAgICAsIG1fdm9sdW1lU2xpZGVyKDApCi0gICAgLCBtX3ZvbHVtZVNsaWRlckNvbnRhaW5l
cigwKQogICAgICwgbV9wYW5lbCgwKQorICAgICwgbV9lbmNsb3N1cmUoMCkKICNpZiBFTkFCTEUo
VklERU9fVFJBQ0spCiAgICAgLCBtX3RleHREaXNwbGF5Q29udGFpbmVyKDApCiAgICAgLCBtX3Rl
eHRUcmFja0Rpc3BsYXkoMCkKQEAgLTc3LDYgKzk1LDkgQEAgUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtPiBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpj
cmUKIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiBjb250cm9s
cyA9IGFkb3B0UmVmKG5ldyBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKGRvY3VtZW50
KSk7CiAKKyAgICAvLyBDcmVhdGUgYW4gZW5jbG9zaW5nIGVsZW1lbnQgZm9yIHRoZSBwYW5lbCBz
byB3ZSBjYW4gdmlzdWFsbHkgb2Zmc2V0IHRoZSBjb250cm9scyBjb3JyZWN0bHkuCisgICAgUmVm
UHRyPE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudD4gZW5jbG9zdXJlID0gTWVk
aWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworCiAg
ICAgUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudD4gcGFuZWwgPSBNZWRpYUNvbnRyb2xQ
YW5lbEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiAKICAgICBFeGNlcHRpb25Db2RlIGVjOwpA
QCAtODcsNTIgKzEwOCw0NSBAQCBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0+IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZQogICAgIGlmIChlYykK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBSZWZQdHI8TWVkaWFDb250cm9sVGltZWxpbmVDb250
YWluZXJFbGVtZW50PiB0aW1lbGluZUNvbnRhaW5lciA9IE1lZGlhQ29udHJvbFRpbWVsaW5lQ29u
dGFpbmVyRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKLQogICAgIFJlZlB0cjxNZWRpYUNvbnRy
b2xUaW1lbGluZUVsZW1lbnQ+IHRpbWVsaW5lID0gTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQsIGNvbnRyb2xzLmdldCgpKTsKICAgICBjb250cm9scy0+bV90aW1l
bGluZSA9IHRpbWVsaW5lLmdldCgpOwotICAgIHRpbWVsaW5lQ29udGFpbmVyLT5hcHBlbmRDaGls
ZCh0aW1lbGluZS5yZWxlYXNlKCksIGVjLCB0cnVlKTsKKyAgICBwYW5lbC0+YXBwZW5kQ2hpbGQo
dGltZWxpbmUucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1
cm4gMDsKIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlFbGVtZW50
PiBjdXJyZW50VGltZURpc3BsYXkgPSBNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQpOwogICAgIGNvbnRyb2xzLT5tX2N1cnJlbnRUaW1lRGlzcGxh
eSA9IGN1cnJlbnRUaW1lRGlzcGxheS5nZXQoKTsKLSAgICB0aW1lbGluZUNvbnRhaW5lci0+YXBw
ZW5kQ2hpbGQoY3VycmVudFRpbWVEaXNwbGF5LnJlbGVhc2UoKSwgZWMsIHRydWUpOwotICAgIGlm
IChlYykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBjb250cm9scy0+bV90aW1lbGluZUNvbnRh
aW5lciA9IHRpbWVsaW5lQ29udGFpbmVyLmdldCgpOwotICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0
aW1lbGluZUNvbnRhaW5lci5yZWxlYXNlKCksIGVjLCB0cnVlKTsKLSAgICBpZiAoZWMpCi0gICAg
ICAgIHJldHVybiAwOwotCi0gICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBwYW5lbFZvbHVtZUNv
bnRyb2xDb250YWluZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKLQotICAg
IFJlZlB0cjxNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50PiB2b2x1bWVT
bGlkZXJDb250YWluZXIgPSBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQpOwotCi0gICAgUmVmUHRyPE1lZGlhQ29udHJvbFZvbHVtZVNsaWRl
ckVsZW1lbnQ+IHNsaWRlciA9IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCk7Ci0gICAgY29udHJvbHMtPm1fdm9sdW1lU2xpZGVyID0gc2xpZGVyLmdldCgp
OwotICAgIHZvbHVtZVNsaWRlckNvbnRhaW5lci0+YXBwZW5kQ2hpbGQoc2xpZGVyLnJlbGVhc2Uo
KSwgZWMsIHRydWUpOworICAgIGNvbnRyb2xzLT5tX2N1cnJlbnRUaW1lRGlzcGxheS0+aGlkZSgp
OworICAgIHBhbmVsLT5hcHBlbmRDaGlsZChjdXJyZW50VGltZURpc3BsYXkucmVsZWFzZSgpLCBl
YywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGNvbnRyb2xz
LT5tX3ZvbHVtZVNsaWRlckNvbnRhaW5lciA9IHZvbHVtZVNsaWRlckNvbnRhaW5lci5nZXQoKTsK
LSAgICBwYW5lbFZvbHVtZUNvbnRyb2xDb250YWluZXItPmFwcGVuZENoaWxkKHZvbHVtZVNsaWRl
ckNvbnRhaW5lci5yZWxlYXNlKCksIGVjLCB0cnVlKTsKKyAgICBSZWZQdHI8TWVkaWFDb250cm9s
VGltZVJlbWFpbmluZ0Rpc3BsYXlFbGVtZW50PiBkdXJhdGlvbkRpc3BsYXkgPSBNZWRpYUNvbnRy
b2xUaW1lUmVtYWluaW5nRGlzcGxheUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CisgICAgY29u
dHJvbHMtPm1fZHVyYXRpb25EaXNwbGF5ID0gZHVyYXRpb25EaXNwbGF5LmdldCgpOworICAgIHBh
bmVsLT5hcHBlbmRDaGlsZChkdXJhdGlvbkRpc3BsYXkucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAg
ICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xQ
YW5lbE11dGVCdXR0b25FbGVtZW50PiBwYW5lbE11dGVCdXR0b24gPSBNZWRpYUNvbnRyb2xQYW5l
bE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIGNvbnRyb2xzLmdldCgpKTsKICAg
ICBjb250cm9scy0+bV9wYW5lbE11dGVCdXR0b24gPSBwYW5lbE11dGVCdXR0b24uZ2V0KCk7Ci0g
ICAgcGFuZWxWb2x1bWVDb250cm9sQ29udGFpbmVyLT5hcHBlbmRDaGlsZChwYW5lbE11dGVCdXR0
b24ucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CisgICAgcGFuZWwtPmFwcGVuZENoaWxkKHBhbmVsTXV0
ZUJ1dHRvbi5yZWxlYXNlKCksIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVy
biAwOwogCi0gICAgcGFuZWwtPmFwcGVuZENoaWxkKHBhbmVsVm9sdW1lQ29udHJvbENvbnRhaW5l
ciwgZWMsIHRydWUpOworICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50
PiBzbGlkZXIgPSBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpjcmVhdGUoZG9jdW1l
bnQpOworICAgIGNvbnRyb2xzLT5tX3ZvbHVtZVNsaWRlciA9IHNsaWRlci5nZXQoKTsKKyAgICBj
b250cm9scy0+bV92b2x1bWVTbGlkZXItPnNldFVubXV0ZU9uSW50ZXJhY3Rpb24odHJ1ZSk7Cisg
ICAgcGFuZWwtPmFwcGVuZENoaWxkKHNsaWRlci5yZWxlYXNlKCksIGVjLCB0cnVlKTsKICAgICBp
ZiAoZWMpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgY29udHJvbHMtPm1fcGFuZWwgPSBwYW5l
bC5nZXQoKTsKLSAgICBjb250cm9scy0+YXBwZW5kQ2hpbGQocGFuZWwucmVsZWFzZSgpLCBlYywg
dHJ1ZSk7CisgICAgZW5jbG9zdXJlLT5hcHBlbmRDaGlsZChwYW5lbC5yZWxlYXNlKCksIGVjLCB0
cnVlKTsKKyAgICBpZiAoZWMpCisgICAgICAgIHJldHVybiAwOworCisgICAgY29udHJvbHMtPm1f
ZW5jbG9zdXJlID0gZW5jbG9zdXJlLmdldCgpOworICAgIGNvbnRyb2xzLT5hcHBlbmRDaGlsZChl
bmNsb3N1cmUucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1
cm4gMDsKIApAQCAtMTQ5LDE4ICsxNjMsMTggQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtOjpzZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250cm9sbGVySW50ZXJmYWMKICAg
ICAgICAgbV9wbGF5QnV0dG9uLT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiAgICAg
aWYgKG1fY3VycmVudFRpbWVEaXNwbGF5KQogICAgICAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2R1cmF0aW9uRGlzcGxh
eSkKKyAgICAgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9s
bGVyKTsKICAgICBpZiAobV90aW1lbGluZSkKICAgICAgICAgbV90aW1lbGluZS0+c2V0TWVkaWFD
b250cm9sbGVyKGNvbnRyb2xsZXIpOwotICAgIGlmIChtX3RpbWVsaW5lQ29udGFpbmVyKQotICAg
ICAgICBtX3RpbWVsaW5lQ29udGFpbmVyLT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7
CiAgICAgaWYgKG1fcGFuZWxNdXRlQnV0dG9uKQogICAgICAgICBtX3BhbmVsTXV0ZUJ1dHRvbi0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX3ZvbHVtZVNsaWRlcikK
ICAgICAgICAgbV92b2x1bWVTbGlkZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsK
LSAgICBpZiAobV92b2x1bWVTbGlkZXJDb250YWluZXIpCi0gICAgICAgIG1fdm9sdW1lU2xpZGVy
Q29udGFpbmVyLT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiAgICAgaWYgKG1fcGFu
ZWwpCiAgICAgICAgIG1fcGFuZWwtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAg
ICBpZiAobV9lbmNsb3N1cmUpCisgICAgICAgIG1fZW5jbG9zdXJlLT5zZXRNZWRpYUNvbnRyb2xs
ZXIoY29udHJvbGxlcik7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIGlmIChtX3RleHRE
aXNwbGF5Q29udGFpbmVyKQogICAgICAgICBtX3RleHREaXNwbGF5Q29udGFpbmVyLT5zZXRNZWRp
YUNvbnRyb2xsZXIoY29udHJvbGxlcik7CkBAIC0xNzgsNyArMTkyLDYgQEAgdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpoaWRlKCkKIHsKICAgICBtX3BhbmVsLT5zZXRJc0Rp
c3BsYXllZChmYWxzZSk7CiAgICAgbV9wYW5lbC0+aGlkZSgpOwotICAgIG1fdm9sdW1lU2xpZGVy
Q29udGFpbmVyLT5oaWRlKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6bWFrZU9wYXF1ZSgpCkBAIC0xODksNyArMjAyLDYgQEAgdm9pZCBNZWRpYUNvbnRyb2xS
b290RWxlbWVudENocm9taXVtOjptYWtlT3BhcXVlKCkKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6bWFrZVRyYW5zcGFyZW50KCkKIHsKICAgICBtX3BhbmVsLT5tYWtlVHJh
bnNwYXJlbnQoKTsKLSAgICBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci0+aGlkZSgpOwogfQogCiB2
b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KCkKQEAgLTIwMiw3ICsy
MTQsMTEgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpyZXNldCgpCiAK
ICAgICBmbG9hdCBkdXJhdGlvbiA9IG1fbWVkaWFDb250cm9sbGVyLT5kdXJhdGlvbigpOwogICAg
IG1fdGltZWxpbmUtPnNldER1cmF0aW9uKGR1cmF0aW9uKTsKLSAgICBtX3RpbWVsaW5lQ29udGFp
bmVyLT5zaG93KCk7CisgICAgbV90aW1lbGluZS0+c2hvdygpOworCisgICAgbV9kdXJhdGlvbkRp
c3BsYXktPnNldElubmVyVGV4dChwYWdlLT50aGVtZSgpLT5mb3JtYXRNZWRpYUNvbnRyb2xzVGlt
ZShkdXJhdGlvbiksIEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIG1fZHVyYXRpb25EaXNwbGF5
LT5zZXRDdXJyZW50VmFsdWUoZHVyYXRpb24pOworCiAgICAgbV90aW1lbGluZS0+c2V0UG9zaXRp
b24obV9tZWRpYUNvbnRyb2xsZXItPmN1cnJlbnRUaW1lKCkpOwogICAgIHVwZGF0ZVRpbWVEaXNw
bGF5KCk7CiAKQEAgLTIxOCw2ICsyMzQsOCBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OnBsYXliYWNrU3RhcnRlZCgpCiB7CiAgICAgbV9wbGF5QnV0dG9uLT51cGRhdGVE
aXNwbGF5VHlwZSgpOwogICAgIG1fdGltZWxpbmUtPnNldFBvc2l0aW9uKG1fbWVkaWFDb250cm9s
bGVyLT5jdXJyZW50VGltZSgpKTsKKyAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+c2hvdygpOwor
ICAgIG1fZHVyYXRpb25EaXNwbGF5LT5oaWRlKCk7CiAgICAgdXBkYXRlVGltZURpc3BsYXkoKTsK
IH0KIApAQCAtMjQ3LDYgKzI2NSwxMiBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW06OnVwZGF0ZVRpbWVEaXNwbGF5KCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVy
bjsKIAorICAgIC8vIEFmdGVyIHNlZWssIGhpZGUgZHVyYXRpb24gZGlzcGxheSBhbmQgc2hvdyBj
dXJyZW50IHRpbWUuCisgICAgaWYgKG5vdyA+IDApIHsKKyAgICAgICAgbV9jdXJyZW50VGltZURp
c3BsYXktPnNob3coKTsKKyAgICAgICAgbV9kdXJhdGlvbkRpc3BsYXktPmhpZGUoKTsKKyAgICB9
CisKICAgICAvLyBBbGxvdyB0aGUgdGhlbWUgdG8gZm9ybWF0IHRoZSB0aW1lLgogICAgIEV4Y2Vw
dGlvbkNvZGUgZWM7CiAgICAgbV9jdXJyZW50VGltZURpc3BsYXktPnNldElubmVyVGV4dChwYWdl
LT50aGVtZSgpLT5mb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUobm93LCBkdXJhdGlvbiks
IGVjKTsKQEAgLTI1OSw5ICsyODMsOSBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW06OnJlcG9ydGVkRXJyb3IoKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV90aW1lbGluZUNvbnRhaW5lci0+aGlkZSgpOworICAgIG1fdGltZWxpbmUtPmhpZGUo
KTsKICAgICBtX3BhbmVsTXV0ZUJ1dHRvbi0+aGlkZSgpOwotICAgIG1fdm9sdW1lU2xpZGVyQ29u
dGFpbmVyLT5oaWRlKCk7CisgICAgbV92b2x1bWVTbGlkZXItPmhpZGUoKTsKIH0KIAogdm9pZCBN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjp1cGRhdGVTdGF0dXNEaXNwbGF5KCkKQEAg
LTMxMSw2ICszMzUsMTEgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpj
aGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNpYmlsaXR5KCkKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUoKQogewogICAgIG1fcGFuZWxNdXRlQnV0dG9uLT5j
aGFuZ2VkTXV0ZSgpOworCisgICAgaWYgKG1fbWVkaWFDb250cm9sbGVyLT5tdXRlZCgpKQorICAg
ICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0Vm9sdW1lKDApOworICAgIGVsc2UKKyAgICAgICAgbV92
b2x1bWVTbGlkZXItPnNldFZvbHVtZShtX21lZGlhQ29udHJvbGxlci0+dm9sdW1lKCkpOwogfQog
CiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRWb2x1bWUoKQpA
QCAtMzMxLDcgKzM2MCw3IEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6
c2hvd1ZvbHVtZVNsaWRlcigpCiAgICAgaWYgKCFtX21lZGlhQ29udHJvbGxlci0+aGFzQXVkaW8o
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPnNob3co
KTsKKyAgICBtX3ZvbHVtZVNsaWRlci0+c2hvdygpOwogfQogCiAjaWYgRU5BQkxFKFZJREVPX1RS
QUNLKQpAQCAtMzQ1LDcgKzM3NCw3IEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6Y3JlYXRlVGV4dFRyYWNrRGlzcGxheSgpCiAKICAgICAvLyBJbnNlcnQgaXQgYmVmb3Jl
IHRoZSBmaXJzdCBjb250cm9sbGVyIGVsZW1lbnQgc28gaXQgYWx3YXlzIGRpc3BsYXlzIGJlaGlu
ZCB0aGUgY29udHJvbHMuCiAgICAgRXhjZXB0aW9uQ29kZSBlYzsKLSAgICBpbnNlcnRCZWZvcmUo
dGV4dERpc3BsYXlDb250YWluZXIucmVsZWFzZSgpLCBtX3BhbmVsLCBlYywgdHJ1ZSk7CisgICAg
aW5zZXJ0QmVmb3JlKHRleHREaXNwbGF5Q29udGFpbmVyLnJlbGVhc2UoKSwgbV9lbmNsb3N1cmUs
IGVjLCB0cnVlKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpz
aG93VGV4dFRyYWNrRGlzcGxheSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmgKaW5kZXggMzY2MTg2
YjY1ZTFmODI1NTViYjFmNTcxYzU2OWIzN2Y5NDdlMDFjOS4uYjM2NWNjMzNjNjNhMDNlZWMwOWFk
Mjk4MjQ5ZTU5ZjU3OWM1ZDMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaApAQCAtNDAsNiAr
NDAsNyBAQCBjbGFzcyBFdmVudDsKIGNsYXNzIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVs
ZW1lbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xQbGF5QnV0dG9uRWxlbWVudDsKIGNsYXNzIE1lZGlh
Q29udHJvbEN1cnJlbnRUaW1lRGlzcGxheUVsZW1lbnQ7CitjbGFzcyBNZWRpYUNvbnRyb2xUaW1l
UmVtYWluaW5nRGlzcGxheUVsZW1lbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1l
bnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OwogY2xhc3MgTWVkaWFD
b250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ7CkBAIC00Nyw4ICs0OCw4IEBAIGNsYXNzIE1l
ZGlhQ29udHJvbFRpbWVEaXNwbGF5RWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbFRpbWVsaW5l
Q29udGFpbmVyRWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50Owog
Y2xhc3MgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDsKLWNsYXNzIE1lZGlhQ29udHJv
bFZvbHVtZVNsaWRlckNvbnRhaW5lckVsZW1lbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xQYW5lbEVs
ZW1lbnQ7CitjbGFzcyBNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ7CiBjbGFz
cyBNZWRpYUNvbnRyb2xsZXJJbnRlcmZhY2U7CiBjbGFzcyBNZWRpYVBsYXllcjsKIApAQCAtNjAs
NiArNjEsMjQgQEAgY2xhc3MgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDsK
IGNsYXNzIE1lZGlhQ29udHJvbFRleHRUcmFja0Rpc3BsYXlFbGVtZW50OwogI2VuZGlmCiAKK2Ns
YXNzIE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudCA6IHB1YmxpYyBIVE1MRGl2
RWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sQ2hy
b21pdW1FbmNsb3N1cmVFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OworCisgICAgdm9pZCBz
ZXRNZWRpYUNvbnRyb2xsZXIoTWVkaWFDb250cm9sbGVySW50ZXJmYWNlKiBjb250cm9sbGVyKSB7
IG1fbWVkaWFDb250cm9sbGVyID0gY29udHJvbGxlcjsgfQorICAgIE1lZGlhQ29udHJvbGxlcklu
dGVyZmFjZSogbWVkaWFDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUNvbnRyb2xs
ZXI7IH0KKworcHJvdGVjdGVkOgorICAgIE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxl
bWVudChEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhQ29u
dHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBNZWRpYUNvbnRyb2xs
ZXJJbnRlcmZhY2UqIG1fbWVkaWFDb250cm9sbGVyOworfTsKKwogY2xhc3MgTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bSA6IHB1YmxpYyBNZWRpYUNvbnRyb2xzIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiBjcmVh
dGUoRG9jdW1lbnQqKTsKQEAgLTExNiwxMiArMTM1LDEzIEBAIHByaXZhdGU6CiAKICAgICBNZWRp
YUNvbnRyb2xQbGF5QnV0dG9uRWxlbWVudCogbV9wbGF5QnV0dG9uOwogICAgIE1lZGlhQ29udHJv
bEN1cnJlbnRUaW1lRGlzcGxheUVsZW1lbnQqIG1fY3VycmVudFRpbWVEaXNwbGF5OworICAgIE1l
ZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJhdGlvbkRpc3BsYXk7
CiAgICAgTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50KiBtX3RpbWVsaW5lOwogICAgIE1lZGlh
Q29udHJvbFRpbWVsaW5lQ29udGFpbmVyRWxlbWVudCogbV90aW1lbGluZUNvbnRhaW5lcjsKICAg
ICBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50KiBtX3BhbmVsTXV0ZUJ1dHRvbjsK
ICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRlcjsKLSAg
ICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRl
ckNvbnRhaW5lcjsKICAgICBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQqIG1fcGFuZWw7CisgICAg
TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50KiBtX2VuY2xvc3VyZTsKICNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCiAgICAgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxl
bWVudCogbV90ZXh0RGlzcGxheUNvbnRhaW5lcjsKICAgICBNZWRpYUNvbnRyb2xUZXh0VHJhY2tE
aXNwbGF5RWxlbWVudCogbV90ZXh0VHJhY2tEaXNwbGF5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKaW5kZXggMzA4M2E3NTAwMmM2MmFh
MjljMWJmODIxMzc2MTJiZDEzNDk2OWRlOC4uOGY4YzZjOThkNDA3ZmFhMzRjNDE3MTkyODQ2MTBh
OTEwNGQ1NTI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVy
VGh1bWJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJU
aHVtYkVsZW1lbnQuY3BwCkBAIC02Miw3ICs2MiwxMCBAQCBpbmxpbmUgc3RhdGljIGJvb2wgaGFz
VmVydGljYWxBcHBlYXJhbmNlKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0KQogewogICAgIEFTU0VS
VChpbnB1dC0+cmVuZGVyZXIoKSk7CiAgICAgUmVuZGVyU3R5bGUqIHNsaWRlclN0eWxlID0gaW5w
dXQtPnJlbmRlcmVyKCktPnN0eWxlKCk7Ci0gICAgcmV0dXJuIHNsaWRlclN0eWxlLT5hcHBlYXJh
bmNlKCkgPT0gU2xpZGVyVmVydGljYWxQYXJ0IHx8IHNsaWRlclN0eWxlLT5hcHBlYXJhbmNlKCkg
PT0gTWVkaWFWb2x1bWVTbGlkZXJQYXJ0OworICAgIFJlbmRlclRoZW1lKiBzbGlkZXJUaGVtZSA9
IGlucHV0LT5yZW5kZXJlcigpLT50aGVtZSgpOworCisgICAgcmV0dXJuIHNsaWRlclN0eWxlLT5h
cHBlYXJhbmNlKCkgPT0gU2xpZGVyVmVydGljYWxQYXJ0CisgICAgICAgIHx8IChzbGlkZXJTdHls
ZS0+YXBwZWFyYW5jZSgpID09IE1lZGlhVm9sdW1lU2xpZGVyUGFydCAmJiBzbGlkZXJUaGVtZS0+
dXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkpOwogfQogCiBTbGlkZXJUaHVtYkVsZW1lbnQqIHNs
aWRlclRodW1iRWxlbWVudE9mKE5vZGUqIG5vZGUpCkBAIC0xMDgsNyArMTExLDcgQEAgdm9pZCBS
ZW5kZXJTbGlkZXJUaHVtYjo6bGF5b3V0KCkKICAgICAvLyBEbyBub3QgY2FzdCBub2RlKCkgdG8g
U2xpZGVyVGh1bWJFbGVtZW50LiBUaGlzIHJlbmRlcmVyIGlzIHVzZWQgZm9yCiAgICAgLy8gVHJh
Y2tMaW1pdEVsZW1lbnQgdG9vLgogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gbm9kZSgp
LT5zaGFkb3dBbmNlc3Rvck5vZGUoKS0+dG9JbnB1dEVsZW1lbnQoKTsKLSAgICBib29sIGlzVmVy
dGljYWwgPSBzdHlsZSgpLT5hcHBlYXJhbmNlKCkgPT0gU2xpZGVyVGh1bWJWZXJ0aWNhbFBhcnQg
fHwgc3R5bGUoKS0+YXBwZWFyYW5jZSgpID09IE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0Owor
ICAgIGJvb2wgaXNWZXJ0aWNhbCA9IGhhc1ZlcnRpY2FsQXBwZWFyYW5jZShpbnB1dCk7CiAKICAg
ICBkb3VibGUgZnJhY3Rpb24gPSBjb252ZXJ0SW5wdXROdW1iZXJUb0RvdWJsZShzbGlkZXJQb3Np
dGlvbihpbnB1dCkgKiAxMDApOwogICAgIGlmIChpc1ZlcnRpY2FsKQpAQCAtMzIxLDEyICszMjQs
MzggQEAgSFRNTElucHV0RWxlbWVudCogU2xpZGVyVGh1bWJFbGVtZW50Ojpob3N0SW5wdXQoKSBj
b25zdAogICAgIHJldHVybiBzaGFkb3dBbmNlc3Rvck5vZGUoKS0+dG9JbnB1dEVsZW1lbnQoKTsK
IH0KIAotY29uc3QgQXRvbWljU3RyaW5nJiBTbGlkZXJUaHVtYkVsZW1lbnQ6OnNoYWRvd1BzZXVk
b0lkKCkgY29uc3QKK3N0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHNsaWRlclRodW1iU2hhZG93
UHNldWRvSWQoKQogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzbGlk
ZXJUaHVtYiwgKCItd2Via2l0LXNsaWRlci10aHVtYiIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKGNvbnN0IEF0b21pY1N0cmluZywgc2xpZGVyVGh1bWIsICgiLXdlYmtpdC1zbGlkZXItdGh1
bWIiKSk7CiAgICAgcmV0dXJuIHNsaWRlclRodW1iOwogfQogCitzdGF0aWMgY29uc3QgQXRvbWlj
U3RyaW5nJiBtZWRpYVNsaWRlclRodW1iU2hhZG93UHNldWRvSWQoKQoreworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBtZWRpYVNsaWRlclRodW1iLCAoIi13ZWJr
aXQtbWVkaWEtc2xpZGVyLXRodW1iIikpOworICAgIHJldHVybiBtZWRpYVNsaWRlclRodW1iOwor
fQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNsaWRlclRodW1iRWxlbWVudDo6c2hhZG93UHNldWRv
SWQoKSBjb25zdAoreworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gaG9zdElucHV0KCk7
CisgICAgaWYgKCFpbnB1dCkKKyAgICAgICAgcmV0dXJuIHNsaWRlclRodW1iU2hhZG93UHNldWRv
SWQoKTsKKworICAgIFJlbmRlclN0eWxlKiBzbGlkZXJTdHlsZSA9IGlucHV0LT5yZW5kZXJlcigp
LT5zdHlsZSgpOworICAgIHN3aXRjaCAoc2xpZGVyU3R5bGUtPmFwcGVhcmFuY2UoKSkgeworICAg
IGNhc2UgTWVkaWFTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVkaWFTbGlkZXJUaHVtYlBhcnQ6Cisg
ICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRl
clRodW1iUGFydDoKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclBhcnQ6Cisg
ICAgY2FzZSBNZWRpYUZ1bGxTY3JlZW5Wb2x1bWVTbGlkZXJUaHVtYlBhcnQ6CisgICAgICAgIHJl
dHVybiBtZWRpYVNsaWRlclRodW1iU2hhZG93UHNldWRvSWQoKTsKKyAgICBkZWZhdWx0OgorICAg
ICAgICByZXR1cm4gc2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpOworICAgIH0KK30KKwogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogaW5saW5lIFRyYWNrTGltaXRlckVs
ZW1lbnQ6OlRyYWNrTGltaXRlckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQpAQCAtMzUxLDgg
KzM4MCwyMiBAQCBSZW5kZXJPYmplY3QqIFRyYWNrTGltaXRlckVsZW1lbnQ6OmNyZWF0ZVJlbmRl
cmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bAogCiBjb25zdCBBdG9taWNTdHJpbmcm
IFRyYWNrTGltaXRlckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKIHsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2xpZGVyVGh1bWIsICgiLXdlYmtpdC1zbGlk
ZXItdGh1bWIiKSk7Ci0gICAgcmV0dXJuIHNsaWRlclRodW1iOworICAgIEhUTUxJbnB1dEVsZW1l
bnQqIGlucHV0ID0gc2hhZG93QW5jZXN0b3JOb2RlKCktPnRvSW5wdXRFbGVtZW50KCk7CisgICAg
aWYgKCFpbnB1dCkKKyAgICAgICAgcmV0dXJuIHNsaWRlclRodW1iU2hhZG93UHNldWRvSWQoKTsK
KworICAgIFJlbmRlclN0eWxlKiBzbGlkZXJTdHlsZSA9IGlucHV0LT5yZW5kZXJlcigpLT5zdHls
ZSgpOworICAgIHN3aXRjaCAoc2xpZGVyU3R5bGUtPmFwcGVhcmFuY2UoKSkgeworICAgIGNhc2Ug
TWVkaWFTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVkaWFTbGlkZXJUaHVtYlBhcnQ6CisgICAgY2Fz
ZSBNZWRpYVZvbHVtZVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlclRodW1i
UGFydDoKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclBhcnQ6CisgICAgY2Fz
ZSBNZWRpYUZ1bGxTY3JlZW5Wb2x1bWVTbGlkZXJUaHVtYlBhcnQ6CisgICAgICAgIHJldHVybiBt
ZWRpYVNsaWRlclRodW1iU2hhZG93UHNldWRvSWQoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBy
ZXR1cm4gc2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpOworICAgIH0KIH0KIAogVHJhY2tMaW1p
dGVyRWxlbWVudCogdHJhY2tMaW1pdGVyRWxlbWVudE9mKE5vZGUqIG5vZGUpCkBAIC0zODUsOCAr
NDI4LDI1IEBAIFJlbmRlck9iamVjdCogU2xpZGVyQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTCiAKIGNvbnN0IEF0b21pY1N0cmluZyYg
U2xpZGVyQ29udGFpbmVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAogewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzbGlkZXJUaHVtYiwgKCItd2Via2l0LXNs
aWRlci1jb250YWluZXIiKSk7Ci0gICAgcmV0dXJuIHNsaWRlclRodW1iOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtZWRpYVNsaWRlckNvbnRhaW5lciwgKCItd2Via2l0
LW1lZGlhLXNsaWRlci1jb250YWluZXIiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIHNsaWRlckNvbnRhaW5lciwgKCItd2Via2l0LXNsaWRlci1jb250YWluZXIiKSk7
CisKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHNoYWRvd0FuY2VzdG9yTm9kZSgpLT50
b0lucHV0RWxlbWVudCgpOworICAgIGlmICghaW5wdXQpCisgICAgICAgIHJldHVybiBzbGlkZXJD
b250YWluZXI7CisKKyAgICBSZW5kZXJTdHlsZSogc2xpZGVyU3R5bGUgPSBpbnB1dC0+cmVuZGVy
ZXIoKS0+c3R5bGUoKTsKKyAgICBzd2l0Y2ggKHNsaWRlclN0eWxlLT5hcHBlYXJhbmNlKCkpIHsK
KyAgICBjYXNlIE1lZGlhU2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhU2xpZGVyVGh1bWJQYXJ0
OgorICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVkaWFWb2x1bWVT
bGlkZXJUaHVtYlBhcnQ6CisgICAgY2FzZSBNZWRpYUZ1bGxTY3JlZW5Wb2x1bWVTbGlkZXJQYXJ0
OgorICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyVGh1bWJQYXJ0OgorICAgICAg
ICByZXR1cm4gbWVkaWFTbGlkZXJDb250YWluZXI7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0
dXJuIHNsaWRlckNvbnRhaW5lcjsKKyAgICB9CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKaW5kZXgg
NzJlMTJjODgxYmM3M2ZkMDVlOTY1YTk4YjBkYjliZjZiMDhlZThmZi4uMWYzMDEzZjQ0ZTJlNWMx
ZDY1YzBkZjU0M2U0MDg4MzhlZTQzZWQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKQEAgLTc0LDE0ICs3
NCwyMSBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG9i
amVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZgogICAgIGlmICghbWVkaWFFbGVtZW50KQog
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc3RhdGljIEltYWdlKiBzb3VuZEZ1bGwgPSBwbGF0
Zm9ybVJlc291cmNlKCJtZWRpYVNvdW5kRnVsbCIpOwotICAgIHN0YXRpYyBJbWFnZSogc291bmRO
b25lID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFTb3VuZE5vbmUiKTsKLSAgICBzdGF0aWMgSW1h
Z2UqIHNvdW5kRGlzYWJsZWQgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVNvdW5kRGlzYWJsZWQi
KTsKKyAgICBzdGF0aWMgSW1hZ2UqIHNvdW5kTGV2ZWwzID0gcGxhdGZvcm1SZXNvdXJjZSgibWVk
aWFwbGF5ZXJTb3VuZExldmVsMyIpOworICAgIHN0YXRpYyBJbWFnZSogc291bmRMZXZlbDIgPSBw
bGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclNvdW5kTGV2ZWwyIik7CisgICAgc3RhdGljIElt
YWdlKiBzb3VuZExldmVsMSA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyU291bmRMZXZl
bDEiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIHNvdW5kRGlzYWJsZWQgPSBwbGF0Zm9ybVJlc291cmNl
KCJtZWRpYXBsYXllclNvdW5kRGlzYWJsZWQiKTsKIAotICAgIGlmICghaGFzU291cmNlKG1lZGlh
RWxlbWVudCkgfHwgIW1lZGlhRWxlbWVudC0+aGFzQXVkaW8oKSkKKyAgICBpZiAoIWhhc1NvdXJj
ZShtZWRpYUVsZW1lbnQpIHx8ICFtZWRpYUVsZW1lbnQtPmhhc0F1ZGlvKCkgfHwgbWVkaWFFbGVt
ZW50LT5tdXRlZCgpIHx8IG1lZGlhRWxlbWVudC0+dm9sdW1lKCkgPD0gMCkKICAgICAgICAgcmV0
dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsIHNvdW5kRGlzYWJs
ZWQpOwogCi0gICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJl
Y3QsIG1lZGlhRWxlbWVudC0+bXV0ZWQoKSA/IHNvdW5kTm9uZTogc291bmRGdWxsKTsKKyAgICBp
ZiAobWVkaWFFbGVtZW50LT52b2x1bWUoKSA8PSAwLjMzKQorICAgICAgICByZXR1cm4gcGFpbnRN
ZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgc291bmRMZXZlbDEpOworCisgICAg
aWYgKG1lZGlhRWxlbWVudC0+dm9sdW1lKCkgPD0gMC42NikKKyAgICAgICAgcmV0dXJuIHBhaW50
TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsIHNvdW5kTGV2ZWwyKTsKKworICAg
IHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBzb3VuZExl
dmVsMyk7CiB9CiAKIHN0YXRpYyBib29sIHBhaW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVj
dCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVj
dCkKQEAgLTkwLDkgKzk3LDkgQEAgc3RhdGljIGJvb2wgcGFpbnRNZWRpYVBsYXlCdXR0b24oUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmYKICAgICBpZiAoIW1l
ZGlhRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc3RhdGljIEltYWdlKiBt
ZWRpYVBsYXkgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVBsYXkiKTsKLSAgICBzdGF0aWMgSW1h
Z2UqIG1lZGlhUGF1c2UgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVBhdXNlIik7Ci0gICAgc3Rh
dGljIEltYWdlKiBtZWRpYVBsYXlEaXNhYmxlZCA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhUGxh
eURpc2FibGVkIik7CisgICAgc3RhdGljIEltYWdlKiBtZWRpYVBsYXkgPSBwbGF0Zm9ybVJlc291
cmNlKCJtZWRpYXBsYXllclBsYXkiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhUGF1c2UgPSBw
bGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclBhdXNlIik7CisgICAgc3RhdGljIEltYWdlKiBt
ZWRpYVBsYXlEaXNhYmxlZCA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyUGxheURpc2Fi
bGVkIik7CiAKICAgICBpZiAoIWhhc1NvdXJjZShtZWRpYUVsZW1lbnQpKQogICAgICAgICByZXR1
cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgbWVkaWFQbGF5RGlz
YWJsZWQpOwpAQCAtMTAyLDEwICsxMDksNzUgQEAgc3RhdGljIGJvb2wgcGFpbnRNZWRpYVBsYXlC
dXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmYKIAog
c3RhdGljIEltYWdlKiBnZXRNZWRpYVNsaWRlclRodW1iKCkKIHsKLSAgICBzdGF0aWMgSW1hZ2Uq
IG1lZGlhU2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVNsaWRlclRodW1iIik7
CisgICAgc3RhdGljIEltYWdlKiBtZWRpYVNsaWRlclRodW1iID0gcGxhdGZvcm1SZXNvdXJjZSgi
bWVkaWFwbGF5ZXJTbGlkZXJUaHVtYiIpOwogICAgIHJldHVybiBtZWRpYVNsaWRlclRodW1iOwog
fQogCitzdGF0aWMgdm9pZCBwYWludFJvdW5kZWRTbGlkZXJCYWNrZ3JvdW5kKGNvbnN0IEludFJl
Y3QmIHJlY3QsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0KQoreworICAgIGludCBib3JkZXJSYWRpdXMgPSByZWN0LmhlaWdodCgpIC8gMjsKKyAgICBJ
bnRTaXplIHJhZGlpKGJvcmRlclJhZGl1cywgYm9yZGVyUmFkaXVzKTsKKyAgICBDb2xvciBzbGlk
ZXJCYWNrZ3JvdW5kQ29sb3IgPSBDb2xvcigyOSwgMjksIDI5KTsKKyAgICBjb250ZXh0LT5zYXZl
KCk7CisgICAgY29udGV4dC0+ZmlsbFJvdW5kZWRSZWN0KHJlY3QsIHJhZGlpLCByYWRpaSwgcmFk
aWksIHJhZGlpLCBzbGlkZXJCYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwor
ICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKK30KKworc3RhdGljIHZvaWQgcGFpbnRTbGlkZXJSYW5n
ZUhpZ2hsaWdodChjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUs
IEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgZmxvYXQgc3RhcnRGcmFjdGlvbiwgZmxvYXQgd2lk
dGhGcmFjdGlvbikKK3sKKyAgICBpZiAoc3RhcnRGcmFjdGlvbiA8IDApCisgICAgICAgIHN0YXJ0
RnJhY3Rpb24gPSAwOworICAgIGlmICh3aWR0aEZyYWN0aW9uID4gMSkKKyAgICAgICAgd2lkdGhG
cmFjdGlvbiA9IDE7CisgICAgZmxvYXQgZW5kRnJhY3Rpb24gPSBzdGFydEZyYWN0aW9uICsgd2lk
dGhGcmFjdGlvbjsKKyAgICBpZiAoZW5kRnJhY3Rpb24gPiAxKSB7CisgICAgICAgIHdpZHRoRnJh
Y3Rpb24gPSB3aWR0aEZyYWN0aW9uIC0gc3RhcnRGcmFjdGlvbjsKKyAgICAgICAgZW5kRnJhY3Rp
b24gPSBzdGFydEZyYWN0aW9uICsgd2lkdGhGcmFjdGlvbjsKKyAgICB9CisKKyAgICAvLyBTZXQg
cmVjdGFuZ2xlIHRvIGhpZ2hsaWdodCByYW5nZS4KKyAgICBJbnRSZWN0IGhpZ2hsaWdodFJlY3Qg
PSByZWN0OworICAgIGludCBzdGFydE9mZnNldCA9IHN0YXJ0RnJhY3Rpb24gKiByZWN0LndpZHRo
KCk7CisgICAgaW50IGVuZE9mZnNldCA9IHJlY3Qud2lkdGgoKSAtIGVuZEZyYWN0aW9uICogcmVj
dC53aWR0aCgpOworICAgIGludCByYW5nZVdpZHRoID0gd2lkdGhGcmFjdGlvbiAqIHJlY3Qud2lk
dGgoKTsKKyAgICBoaWdobGlnaHRSZWN0Lm1vdmUoc3RhcnRPZmZzZXQsIDApOworICAgIGhpZ2hs
aWdodFJlY3Quc2V0V2lkdGgocmFuZ2VXaWR0aCk7CisKKyAgICAvLyBEb24ndCBib3RoZXIgZHJh
d2luZyBhbiBlbXB0eSBhcmVhLgorICAgIGlmIChoaWdobGlnaHRSZWN0LmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgLy8gQ2FsY3VsYXRlIGJvcmRlciByYWRpdXM7IG5lZWQgdG8g
YXZvaWQgYmVpbmcgc21hbGxlciB0aGFuIGhhbGYgdGhlIHNsaWRlciBoZWlnaHQKKyAgICAvLyBi
ZWNhdXNlIG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE0My4K
KyAgICBpbnQgYm9yZGVyUmFkaXVzID0gcmVjdC5oZWlnaHQoKSAvIDI7CisgICAgSW50U2l6ZSBy
YWRpaShib3JkZXJSYWRpdXMsIGJvcmRlclJhZGl1cyk7CisKKyAgICAvLyBDYWxjdWxhdGUgd2hp
dGUtZ3JleSBncmFkaWVudC4KKyAgICBJbnRQb2ludCBzbGlkZXJUb3BMZWZ0ID0gaGlnaGxpZ2h0
UmVjdC5sb2NhdGlvbigpOworICAgIEludFBvaW50IHNsaWRlckJvdHRvbUxlZnQgPSBzbGlkZXJU
b3BMZWZ0OworICAgIHNsaWRlckJvdHRvbUxlZnQubW92ZSgwLCBoaWdobGlnaHRSZWN0LmhlaWdo
dCgpKTsKKyAgICBDb2xvciBzdGFydENvbG9yID0gQ29sb3IoMjIwLCAyMjAsIDIyMCk7CisgICAg
Q29sb3IgZW5kQ29sb3IgPSBDb2xvcigyNDAsIDI0MCwgMjQwKTsKKyAgICBSZWZQdHI8R3JhZGll
bnQ+IGdyYWRpZW50ID0gR3JhZGllbnQ6OmNyZWF0ZShzbGlkZXJUb3BMZWZ0LCBzbGlkZXJCb3R0
b21MZWZ0KTsKKyAgICBncmFkaWVudC0+YWRkQ29sb3JTdG9wKDAuMCwgc3RhcnRDb2xvcik7Cisg
ICAgZ3JhZGllbnQtPmFkZENvbG9yU3RvcCgxLjAsIGVuZENvbG9yKTsKKworICAgIC8vIEZpbGwg
aGlnaGxpZ2h0IHJlY3RhbmdsZSB3aXRoIGdyYWRpZW50LCBwb3RlbnRpYWxseSByb3VuZGVkIGlm
IG9uIGxlZnQgb3IgcmlnaHQgZWRnZS4KKyAgICBjb250ZXh0LT5zYXZlKCk7CisgICAgY29udGV4
dC0+c2V0RmlsbEdyYWRpZW50KGdyYWRpZW50KTsKKworICAgIGlmIChzdGFydE9mZnNldCA8IGJv
cmRlclJhZGl1cyAmJiBlbmRPZmZzZXQgPCBib3JkZXJSYWRpdXMpCisgICAgICAgIGNvbnRleHQt
PmZpbGxSb3VuZGVkUmVjdChoaWdobGlnaHRSZWN0LCByYWRpaSwgcmFkaWksIHJhZGlpLCByYWRp
aSwgc3RhcnRDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgZWxzZSBpZiAoc3RhcnRP
ZmZzZXQgPCBib3JkZXJSYWRpdXMpCisgICAgICAgIGNvbnRleHQtPmZpbGxSb3VuZGVkUmVjdCho
aWdobGlnaHRSZWN0LCByYWRpaSwgSW50U2l6ZSgwLCAwKSwgcmFkaWksIEludFNpemUoMCwgMCks
IHN0YXJ0Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOworICAgIGVsc2UgaWYgKGVuZE9mZnNl
dCA8IGJvcmRlclJhZGl1cykKKyAgICAgICAgY29udGV4dC0+ZmlsbFJvdW5kZWRSZWN0KGhpZ2hs
aWdodFJlY3QsIEludFNpemUoMCwgMCksIHJhZGlpLCBJbnRTaXplKDAsIDApLCByYWRpaSwgc3Rh
cnRDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgZWxzZQorICAgICAgICBjb250ZXh0
LT5maWxsUmVjdChoaWdobGlnaHRSZWN0KTsKKworICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKK30K
Kwogc3RhdGljIGJvb2wgcGFpbnRNZWRpYVNsaWRlcihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29u
c3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgSFRN
TE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQob2JqZWN0
KTsKQEAgLTExNSwyMyArMTg3LDEwIEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFTbGlkZXIoUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjCiAgICAgUmVu
ZGVyU3R5bGUqIHN0eWxlID0gb2JqZWN0LT5zdHlsZSgpOwogICAgIEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCA9IHBhaW50SW5mby5jb250ZXh0OwogCi0gICAgLy8gRHJhdyB0aGUgYm9yZGVyIG9m
IHRoZSB0aW1lIGJhci4KLSAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgYmUgYSByb3VuZGVkIHJl
Y3QgYnV0IG5lZWQgdG8gZml4IEdyYXBoaWNzQ29udGV4dFNraWEgZmlyc3QuCi0gICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTQzCi0gICAgY29udGV4dC0+
c2F2ZSgpOwotICAgIGNvbnRleHQtPnNldFNob3VsZEFudGlhbGlhcyh0cnVlKTsKLSAgICBjb250
ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9rZSk7Ci0gICAgY29udGV4dC0+c2V0U3Ryb2tl
Q29sb3Ioc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJvcmRlckxlZnRD
b2xvciksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNr
bmVzcyhzdHlsZS0+Ym9yZGVyTGVmdFdpZHRoKCkpOwotICAgIGNvbnRleHQtPnNldEZpbGxDb2xv
cihzdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9y
KSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC0+ZHJhd1JlY3QocmVjdCk7Ci0g
ICAgY29udGV4dC0+cmVzdG9yZSgpOworICAgIHBhaW50Um91bmRlZFNsaWRlckJhY2tncm91bmQo
cmVjdCwgc3R5bGUsIGNvbnRleHQpOwogCiAgICAgLy8gRHJhdyB0aGUgYnVmZmVyZWQgcmFuZ2Uu
IFNpbmNlIHRoZSBlbGVtZW50IG1heSBoYXZlIG11bHRpcGxlIGJ1ZmZlcmVkIHJhbmdlcyBhbmQg
aXQnZCBiZQogICAgIC8vIGRpc3RyYWN0aW5nLydidXN5JyB0byBzaG93IGFsbCBvZiB0aGVtLCBz
aG93IG9ubHkgdGhlIGJ1ZmZlcmVkIHJhbmdlIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgcGxheSBo
ZWFkLgotICAgIEludFJlY3QgYnVmZmVyZWRSZWN0ID0gcmVjdDsKLSAgICBidWZmZXJlZFJlY3Qu
aW5mbGF0ZSgtc3R5bGUtPmJvcmRlckxlZnRXaWR0aCgpKTsKLQogICAgIFJlZlB0cjxUaW1lUmFu
Z2VzPiBidWZmZXJlZFRpbWVSYW5nZXMgPSBtZWRpYUVsZW1lbnQtPmJ1ZmZlcmVkKCk7CiAgICAg
ZmxvYXQgZHVyYXRpb24gPSBtZWRpYUVsZW1lbnQtPmR1cmF0aW9uKCk7CiAgICAgZmxvYXQgY3Vy
cmVudFRpbWUgPSBtZWRpYUVsZW1lbnQtPmN1cnJlbnRUaW1lKCk7CkBAIC0xNDYsMjcgKzIwNSw4
IEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFTbGlkZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNv
bnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjCiAgICAgICAgIGZsb2F0IHN0YXJ0RnJhY3Rpb24g
PSBzdGFydCAvIGR1cmF0aW9uOwogICAgICAgICBmbG9hdCBlbmRGcmFjdGlvbiA9IGVuZCAvIGR1
cmF0aW9uOwogICAgICAgICBmbG9hdCB3aWR0aEZyYWN0aW9uID0gZW5kRnJhY3Rpb24gLSBzdGFy
dEZyYWN0aW9uOwotICAgICAgICBidWZmZXJlZFJlY3QubW92ZShzdGFydEZyYWN0aW9uICogYnVm
ZmVyZWRSZWN0LndpZHRoKCksIDApOwotICAgICAgICBidWZmZXJlZFJlY3Quc2V0V2lkdGgod2lk
dGhGcmFjdGlvbiAqIGJ1ZmZlcmVkUmVjdC53aWR0aCgpKTsKLQotICAgICAgICAvLyBEb24ndCBi
b3RoZXIgZHJhd2luZyBhbiBlbXB0eSBhcmVhLgotICAgICAgICBpZiAoYnVmZmVyZWRSZWN0Lmlz
RW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgICAgIEludFBvaW50IHNs
aWRlclRvcExlZnQgPSBidWZmZXJlZFJlY3QubG9jYXRpb24oKTsKLSAgICAgICAgSW50UG9pbnQg
c2xpZGVyQm90dG9tTGVmdCA9IHNsaWRlclRvcExlZnQ7Ci0gICAgICAgIHNsaWRlckJvdHRvbUxl
ZnQubW92ZSgwLCBidWZmZXJlZFJlY3QuaGVpZ2h0KCkpOwotCi0gICAgICAgIFJlZlB0cjxHcmFk
aWVudD4gZ3JhZGllbnQgPSBHcmFkaWVudDo6Y3JlYXRlKHNsaWRlclRvcExlZnQsIHNsaWRlckJv
dHRvbUxlZnQpOwotICAgICAgICBDb2xvciBzdGFydENvbG9yID0gb2JqZWN0LT5zdHlsZSgpLT52
aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlDb2xvcik7Ci0gICAgICAgIGdyYWRpZW50
LT5hZGRDb2xvclN0b3AoMC4wLCBzdGFydENvbG9yKTsKLSAgICAgICAgZ3JhZGllbnQtPmFkZENv
bG9yU3RvcCgxLjAsIENvbG9yKHN0YXJ0Q29sb3IucmVkKCkgLyAyLCBzdGFydENvbG9yLmdyZWVu
KCkgLyAyLCBzdGFydENvbG9yLmJsdWUoKSAvIDIsIHN0YXJ0Q29sb3IuYWxwaGEoKSkpOwotCi0g
ICAgICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUo
Tm9TdHJva2UpOwotICAgICAgICBjb250ZXh0LT5zZXRGaWxsR3JhZGllbnQoZ3JhZGllbnQpOwot
ICAgICAgICBjb250ZXh0LT5maWxsUmVjdChidWZmZXJlZFJlY3QpOwotICAgICAgICBjb250ZXh0
LT5yZXN0b3JlKCk7CisKKyAgICAgICAgcGFpbnRTbGlkZXJSYW5nZUhpZ2hsaWdodChyZWN0LCBz
dHlsZSwgY29udGV4dCwgc3RhcnRGcmFjdGlvbiwgd2lkdGhGcmFjdGlvbik7CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KIApAQCAtMTg5LDYgKzIyOSw4IEBAIHN0YXRpYyBib29sIHBhaW50
TWVkaWFTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBw
YWludEluCiAgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJl
Y3QsIG1lZGlhU2xpZGVyVGh1bWIpOwogfQogCitjb25zdCBpbnQgbWVkaWFWb2x1bWVTbGlkZXJU
aHVtYldpZHRoID0gMjQ7CisKIHN0YXRpYyBib29sIHBhaW50TWVkaWFWb2x1bWVTbGlkZXIoUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRS
ZWN0JiByZWN0KQogewogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvUGFy
ZW50TWVkaWFFbGVtZW50KG9iamVjdCk7CkBAIC0xOTYsNTcgKzIzOCwzNiBAQCBzdGF0aWMgYm9v
bCBwYWludE1lZGlhVm9sdW1lU2xpZGVyKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWlu
dEluZm8mIHBhaW50SQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dDsKLSAgICBDb2xvciBvcmlnaW5hbENvbG9y
ID0gY29udGV4dC0+c3Ryb2tlQ29sb3IoKTsKLSAgICBpZiAob3JpZ2luYWxDb2xvciAhPSBDb2xv
cjo6d2hpdGUpCi0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKENvbG9yOjp3aGl0ZSwg
Q29sb3JTcGFjZURldmljZVJHQik7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gb2JqZWN0LT5z
dHlsZSgpOworCisgICAgcGFpbnRSb3VuZGVkU2xpZGVyQmFja2dyb3VuZChyZWN0LCBzdHlsZSwg
Y29udGV4dCk7CisKKyAgICAvLyBDYWxjdWxhdGUgdm9sdW1lIHBvc2l0aW9uIGZvciB3aGl0ZSBi
YWNrZ3JvdW5kIHJlY3RhbmdsZS4KKyAgICBmbG9hdCB2b2x1bWUgPSBtZWRpYUVsZW1lbnQtPnZv
bHVtZSgpOworICAgIGlmIChpc25hbih2b2x1bWUpIHx8IHZvbHVtZSA8IDApCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIGlmICh2b2x1bWUgPiAxKQorICAgICAgICB2b2x1bWUgPSAxOworICAg
IGlmIChtZWRpYUVsZW1lbnQtPm11dGVkKCkpCisgICAgICAgIHZvbHVtZSA9IDA7CisKKyAgICAv
LyBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBjZW50ZXIgb2YgdGhlIHRo
dW1iLgorICAgIGZsb2F0IHRodW1iQ2VudGVyID0gbWVkaWFWb2x1bWVTbGlkZXJUaHVtYldpZHRo
IC8gMjsKKyAgICBmbG9hdCB6b29tTGV2ZWwgPSBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpOworICAg
IGZsb2F0IHBvc2l0aW9uV2lkdGggPSB2b2x1bWUgKiAocmVjdC53aWR0aCgpIC0gKHpvb21MZXZl
bCAqIHRodW1iQ2VudGVyKSk7CisgICAgZmxvYXQgZmlsbFdpZHRoID0gcG9zaXRpb25XaWR0aCAr
ICh6b29tTGV2ZWwgKiB0aHVtYkNlbnRlciAvIDIpOwogCi0gICAgaW50IHggPSByZWN0LngoKSAr
IHJlY3Qud2lkdGgoKSAvIDI7Ci0gICAgY29udGV4dC0+ZHJhd0xpbmUoSW50UG9pbnQoeCwgcmVj
dC55KCkpLCAgSW50UG9pbnQoeCwgcmVjdC55KCkgKyByZWN0LmhlaWdodCgpKSk7CisgICAgcGFp
bnRTbGlkZXJSYW5nZUhpZ2hsaWdodChyZWN0LCBzdHlsZSwgY29udGV4dCwgMC4wLCBmaWxsV2lk
dGggLyByZWN0LndpZHRoKCkpOwogCi0gICAgaWYgKG9yaWdpbmFsQ29sb3IgIT0gQ29sb3I6Ondo
aXRlKQotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihvcmlnaW5hbENvbG9yLCBDb2xv
clNwYWNlRGV2aWNlUkdCKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogc3RhdGljIGJvb2wgcGFp
bnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWlu
dEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBzdGF0aWMgSW1h
Z2UqIG1lZGlhVm9sdW1lU2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVZvbHVt
ZVNsaWRlclRodW1iIik7CisgICAgc3RhdGljIEltYWdlKiBtZWRpYVZvbHVtZVNsaWRlclRodW1i
ID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJWb2x1bWVTbGlkZXJUaHVtYiIpOwogICAg
IHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBtZWRpYVZv
bHVtZVNsaWRlclRodW1iKTsKIH0KIAotc3RhdGljIGJvb2wgcGFpbnRNZWRpYVRpbWVsaW5lQ29u
dGFpbmVyKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1l
bnQgPSB0b1BhcmVudE1lZGlhRWxlbWVudChvYmplY3QpOwotICAgIGlmICghbWVkaWFFbGVtZW50
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IHBhaW50SW5mby5jb250ZXh0OwotICAg
ICAgICBDb2xvciBvcmlnaW5hbENvbG9yID0gY29udGV4dC0+c3Ryb2tlQ29sb3IoKTsKLSAgICAg
ICAgZmxvYXQgb3JpZ2luYWxUaGlja25lc3MgPSBjb250ZXh0LT5zdHJva2VUaGlja25lc3MoKTsK
LSAgICAgICAgU3Ryb2tlU3R5bGUgb3JpZ2luYWxTdHlsZSA9IGNvbnRleHQtPnN0cm9rZVN0eWxl
KCk7Ci0KLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwotCi0g
ICAgICAgIC8vIERyYXcgdGhlIGxlZnQgYm9yZGVyIHVzaW5nIENTUyBkZWZpbmVkIHdpZHRoIGFu
ZCBjb2xvci4KLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlVGhpY2tuZXNzKG9iamVjdC0+c3R5
bGUoKS0+Ym9yZGVyTGVmdFdpZHRoKCkpOwotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xv
cihvYmplY3QtPnN0eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJvcmRl
ckxlZnRDb2xvcikucmdiKCksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotICAgICAgICBjb250ZXh0
LT5kcmF3TGluZShJbnRQb2ludChyZWN0LngoKSArIDEsIHJlY3QueSgpKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgSW50UG9pbnQocmVjdC54KCkgKyAxLCByZWN0LnkoKSArIHJlY3QuaGVp
Z2h0KCkpKTsKLQotICAgICAgICAvLyBEcmF3IHRoZSByaWdodCBib3JkZXIgdXNpbmcgQ1NTIGRl
ZmluZWQgd2lkdGggYW5kIGNvbG9yLgotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25l
c3Mob2JqZWN0LT5zdHlsZSgpLT5ib3JkZXJSaWdodFdpZHRoKCkpOwotICAgICAgICBjb250ZXh0
LT5zZXRTdHJva2VDb2xvcihvYmplY3QtPnN0eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihD
U1NQcm9wZXJ0eUJvcmRlclJpZ2h0Q29sb3IpLnJnYigpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsK
LSAgICAgICAgY29udGV4dC0+ZHJhd0xpbmUoSW50UG9pbnQocmVjdC54KCkgKyByZWN0LndpZHRo
KCkgLSAxLCByZWN0LnkoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEludFBvaW50KHJl
Y3QueCgpICsgcmVjdC53aWR0aCgpIC0gMSwgcmVjdC55KCkgKyByZWN0LmhlaWdodCgpKSk7Ci0K
LSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Iob3JpZ2luYWxDb2xvciwgQ29sb3JTcGFj
ZURldmljZVJHQik7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNrbmVzcyhvcmlnaW5h
bFRoaWNrbmVzcyk7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKG9yaWdpbmFsU3R5
bGUpOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogc3RhdGljIGJvb2wgcGFpbnRNZWRp
YUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIEhUTUxNZWRpYUVsZW1lbnQq
IG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFFbGVtZW50KG9iamVjdCk7CkBAIC0yNzQsOCAr
Mjk1LDYgQEAgYm9vbCBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250
cm9sc1BhcnQoTWVkaWFDb250cm9sRWxlbWVudFR5cGUKICAgICAgICAgcmV0dXJuIHBhaW50TWVk
aWFWb2x1bWVTbGlkZXIob2JqZWN0LCBwYWludEluZm8sIHJlY3QpOwogICAgIGNhc2UgTWVkaWFW
b2x1bWVTbGlkZXJUaHVtYjoKICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFWb2x1bWVTbGlkZXJU
aHVtYihvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7Ci0gICAgY2FzZSBNZWRpYVRpbWVsaW5lQ29u
dGFpbmVyOgotICAgICAgICByZXR1cm4gcGFpbnRNZWRpYVRpbWVsaW5lQ29udGFpbmVyKG9iamVj
dCwgcGFpbnRJbmZvLCByZWN0KTsKICAgICBjYXNlIE1lZGlhRW50ZXJGdWxsc2NyZWVuQnV0dG9u
OgogICAgIGNhc2UgTWVkaWFFeGl0RnVsbHNjcmVlbkJ1dHRvbjoKICAgICAgICAgcmV0dXJuIHBh
aW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsKQEAgLTI4
Myw2ICszMDIsNyBAQCBib29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRp
YUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZQogICAgIGNhc2UgTWVkaWFTZWVr
QmFja0J1dHRvbjoKICAgICBjYXNlIE1lZGlhU2Vla0ZvcndhcmRCdXR0b246CiAgICAgY2FzZSBN
ZWRpYVZvbHVtZVNsaWRlckNvbnRhaW5lcjoKKyAgICBjYXNlIE1lZGlhVGltZWxpbmVDb250YWlu
ZXI6CiAgICAgY2FzZSBNZWRpYUN1cnJlbnRUaW1lRGlzcGxheToKICAgICBjYXNlIE1lZGlhVGlt
ZVJlbWFpbmluZ0Rpc3BsYXk6CiAgICAgY2FzZSBNZWRpYUNvbnRyb2xzUGFuZWw6CkBAIC0zMDEs
MjQgKzMyMSw3NCBAQCBib29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRp
YUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZQogICAgIHJldHVybiBmYWxzZTsK
IH0KIAorY29uc3QgaW50IG1lZGlhU2xpZGVyVGh1bWJXaWR0aCA9IDMyOworY29uc3QgaW50IG1l
ZGlhU2xpZGVyVGh1bWJIZWlnaHQgPSAyNDsKK2NvbnN0IGludCBtZWRpYVZvbHVtZVNsaWRlclRo
dW1iSGVpZ2h0ID0gMjQ7CisKIHZvaWQgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjphZGp1
c3RNZWRpYVNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSogc3R5bGUpCiB7Ci0gICAgc3RhdGlj
IEltYWdlKiBtZWRpYVNsaWRlclRodW1iID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFTbGlkZXJU
aHVtYiIpOwotICAgIHN0YXRpYyBJbWFnZSogbWVkaWFWb2x1bWVTbGlkZXJUaHVtYiA9IHBsYXRm
b3JtUmVzb3VyY2UoIm1lZGlhVm9sdW1lU2xpZGVyVGh1bWIiKTsKKyAgICBzdGF0aWMgSW1hZ2Uq
IG1lZGlhU2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclNsaWRlclRo
dW1iIik7CisgICAgc3RhdGljIEltYWdlKiBtZWRpYVZvbHVtZVNsaWRlclRodW1iID0gcGxhdGZv
cm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJWb2x1bWVTbGlkZXJUaHVtYiIpOworICAgIGludCB3aWR0
aCA9IDA7CisgICAgaW50IGhlaWdodCA9IDA7CiAKICAgICBJbWFnZSogdGh1bWJJbWFnZSA9IDA7
Ci0gICAgaWYgKHN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFTbGlkZXJUaHVtYlBhcnQpCisg
ICAgaWYgKHN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFTbGlkZXJUaHVtYlBhcnQpIHsKICAg
ICAgICAgdGh1bWJJbWFnZSA9IG1lZGlhU2xpZGVyVGh1bWI7Ci0gICAgZWxzZSBpZiAoc3R5bGUt
PmFwcGVhcmFuY2UoKSA9PSBNZWRpYVZvbHVtZVNsaWRlclRodW1iUGFydCkKKyAgICAgICAgd2lk
dGggPSBtZWRpYVNsaWRlclRodW1iV2lkdGg7CisgICAgICAgIGhlaWdodCA9IG1lZGlhU2xpZGVy
VGh1bWJIZWlnaHQ7CisgICAgfSBlbHNlIGlmIChzdHlsZS0+YXBwZWFyYW5jZSgpID09IE1lZGlh
Vm9sdW1lU2xpZGVyVGh1bWJQYXJ0KSB7CiAgICAgICAgIHRodW1iSW1hZ2UgPSBtZWRpYVZvbHVt
ZVNsaWRlclRodW1iOworICAgICAgICB3aWR0aCA9IG1lZGlhVm9sdW1lU2xpZGVyVGh1bWJXaWR0
aDsKKyAgICAgICAgaGVpZ2h0ID0gbWVkaWFWb2x1bWVTbGlkZXJUaHVtYkhlaWdodDsKKyAgICB9
CiAKICAgICBmbG9hdCB6b29tTGV2ZWwgPSBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpOwogICAgIGlm
ICh0aHVtYkltYWdlKSB7Ci0gICAgICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgoc3RhdGljX2Nh
c3Q8aW50Pih0aHVtYkltYWdlLT53aWR0aCgpICogem9vbUxldmVsKSwgRml4ZWQpKTsKLSAgICAg
ICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoc3RhdGljX2Nhc3Q8aW50Pih0aHVtYkltYWdlLT5o
ZWlnaHQoKSAqIHpvb21MZXZlbCksIEZpeGVkKSk7CisgICAgICAgIHN0eWxlLT5zZXRXaWR0aChM
ZW5ndGgoc3RhdGljX2Nhc3Q8aW50Pih3aWR0aCAqIHpvb21MZXZlbCksIEZpeGVkKSk7CisgICAg
ICAgIHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3RoKHN0YXRpY19jYXN0PGludD4oaGVpZ2h0ICogem9v
bUxldmVsKSwgRml4ZWQpKTsKICAgICB9CiB9CiAKK3N0YXRpYyBTdHJpbmcgZm9ybWF0Q2hyb21p
dW1NZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lLCBmbG9hdCBkdXJhdGlvbikKK3sKKyAgICBp
ZiAoIWlzZmluaXRlKHRpbWUpKQorICAgICAgICB0aW1lID0gMDsKKyAgICBpZiAoIWlzZmluaXRl
KGR1cmF0aW9uKSkKKyAgICAgICAgZHVyYXRpb24gPSAwOworICAgIGludCBzZWNvbmRzID0gKGlu
dClmYWJzZih0aW1lKTsKKyAgICBpbnQgaG91cnMgPSBzZWNvbmRzIC8gKDYwICogNjApOworICAg
IGludCBtaW51dGVzID0gKHNlY29uZHMgLyA2MCkgJSA2MDsKKyAgICBzZWNvbmRzICU9IDYwOwor
CisgICAgLy8gZHVyYXRpb24gZGVmaW5lcyB0aGUgZm9ybWF0IG9mIGhvdyB0aGUgdGltZSBpcyBy
ZW5kZXJlZAorICAgIGludCBkdXJhdGlvblNlY3MgPSAoaW50KWZhYnNmKGR1cmF0aW9uKTsKKyAg
ICBpbnQgZHVyYXRpb25Ib3VycyA9IGR1cmF0aW9uU2VjcyAvICg2MCAqIDYwKTsKKyAgICBpbnQg
ZHVyYXRpb25NaW5zID0gKGR1cmF0aW9uU2VjcyAvIDYwKSAlIDYwOworCisgICAgaWYgKGR1cmF0
aW9uSG91cnMgfHwgaG91cnMpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDFk
OiUwMmQ6JTAyZCIsICh0aW1lIDwgMCA/ICItIiA6ICIiKSwgaG91cnMsIG1pbnV0ZXMsIHNlY29u
ZHMpOworICAgIGlmIChkdXJhdGlvbk1pbnMgPiA5KQorICAgICAgICByZXR1cm4gU3RyaW5nOjpm
b3JtYXQoIiVzJTAyZDolMDJkIiwgKHRpbWUgPCAwID8gIi0iIDogIiIpLCBtaW51dGVzLCBzZWNv
bmRzKTsKKworICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDFkOiUwMmQiLCAodGltZSA8
IDAgPyAiLSIgOiAiIiksIG1pbnV0ZXMsIHNlY29uZHMpOworfQorCitTdHJpbmcgUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKQor
eworICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJvbHNUaW1lKHRpbWUsIHRpbWUp
OworfQorCitTdHJpbmcgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNv
bnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKQorewor
ICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJvbHNUaW1lKGN1cnJlbnRUaW1lLCBk
dXJhdGlvbik7Cit9CisKK1N0cmluZyBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1h
dE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJh
dGlvbikKK3sKKyAgICByZXR1cm4gZm9ybWF0Q2hyb21pdW1NZWRpYUNvbnRyb2xzVGltZShjdXJy
ZW50VGltZSAtIGR1cmF0aW9uLCBkdXJhdGlvbik7Cit9CisKICNlbmRpZiAgLy8gI2lmIEVOQUJM
RShWSURFTykKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oCmluZGV4IDlhZjkz
OTYwZmZlZmNjZTk5YWYxMjY0Mzg0ZWQzMzQxNmEyZDlmNjEuLmE2N2E0MTM5YTZkNDBhM2QzNjQy
OTk2ODVmMjE4ZjNlMGI2NzdmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmgKQEAgLTM4LDYgKzM4LDEwIEBAIGNs
YXNzIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJv
b2wgcGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSwgUmVuZGVy
T2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogICAgIHN0YXRpYyB2
b2lkIGFkanVzdE1lZGlhU2xpZGVyVGh1bWJTaXplKFJlbmRlclN0eWxlKik7CisgICAgc3RhdGlj
IFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKTsKKyAgICBzdGF0aWMg
U3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwg
ZmxvYXQgZHVyYXRpb24pOworICAgIHN0YXRpYyBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1Jl
bWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKTsKKwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aAppbmRleCA4MTY3YmE4MmY4ZmMxNmQwZjg4OTcxMWU0MmZmZmFjNGU5NDU4OTk5Li41ZTU2YjZk
ZjUwZWNmYjAzZTVkMTEyOWFkZjk2Nzc0N2YzYTNlNzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaApAQCAtMTk4LDYgKzE5OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGJvb2wgaGFzT3duRGlzYWJsZWRTdGF0ZUhhbmRsaW5nRm9yKENvbnRyb2xQYXJ0KSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sU3RhdHVz
RGlzcGxheSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBi
b29sIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAw
LjE7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkg
eyByZXR1cm4gMC4zOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1Rp
bWUoZmxvYXQgdGltZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1NYWMuaAppbmRleCAyYjRjOGM2MzVjYzIyM2MxODNiNTE4YjEyY2Vh
ZWVmNTJmYWIwYzQzLi5kM2IzNjAxMDcyN2Y3OTdlNTg1NTY2OTAxNTU4NTk5ZWQxODkzMjBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFj
LmgKQEAgLTQyLDcgKzQyLDYgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBwYWludE1l
ZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRS
ZWN0Jik7CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRlck9iamVj
dCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKTsKLSAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYUNvbnRyb2xzQmFja2dy
b3VuZChSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAg
ICAgdmlydHVhbCBTdHJpbmcgZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOwogI2lmIEVO
QUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3JlZW5T
dHlsZVNoZWV0KCk7CkBAIC01NSw2ICs1NCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBJ
bnRQb2ludCB2b2x1bWVTbGlkZXJPZmZzZXRGcm9tTXV0ZUJ1dHRvbihSZW5kZXJCb3gqLCBjb25z
dCBJbnRTaXplJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNv
bnRyb2xTdGF0dXNEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aGFzT3duRGlzYWJsZWRTdGF0ZUhhbmRsaW5nRm9yKENvbnRyb2xQYXJ0KSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250
cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVk
aWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikg
Y29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1Rp
bWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICNlbmRpZgogCiAg
ICAgdmlydHVhbCBib29sIHVzZXNUZXN0TW9kZUZvY3VzUmluZ0NvbG9yKCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCmlu
ZGV4IGE3NzgyMjhjNTUyMmQ2YzAyOTQyNzFlZjM3YTliNDZjNDBjZWQ1NGYuLjlmNGFhOTEwN2Fm
OTc5NWQwMDNmNWUzNzlkYTQ4M2JkNTQxMTNmMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC0xNzMsMTEgKzE3Myw2IEBA
IGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRl
ck9iamVjdCogb2JqZWN0LCBjb25zdCBQCiAgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYVNsaWRlciwgb2JqZWN0LCBwYWlu
dEluZm8sIHJlY3QpOwogfQogCi1ib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVk
aWFDb250cm9sc0JhY2tncm91bmQoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIHJldHVybiBSZW5kZXJN
ZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFUaW1lbGlu
ZUNvbnRhaW5lciwgb2JqZWN0LCBwYWludEluZm8sIHJlY3QpOwotfQotCiBTdHJpbmcgUmVuZGVy
VGhlbWVDaHJvbWl1bU1hYzo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiB7CiAgICAg
cmV0dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQ2hyb21pdW1Vc2VyQWdlbnRTdHlsZVNoZWV0LCBz
aXplb2YobWVkaWFDb250cm9sc0Nocm9taXVtVXNlckFnZW50U3R5bGVTaGVldCkpOwpAQCAtMjI4
LDYgKzIyMywyMSBAQCBJbnRQb2ludCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjp2b2x1bWVTbGlk
ZXJPZmZzZXRGcm9tTXV0ZUJ1dHRvbihSZW5kZXJCb3gqIG11dAogewogICAgIHJldHVybiBSZW5k
ZXJUaGVtZTo6dm9sdW1lU2xpZGVyT2Zmc2V0RnJvbU11dGVCdXR0b24obXV0ZUJ1dHRvbkJveCwg
c2l6ZSk7CiB9CisKK1N0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNv
bnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdAoreworICAgIHJldHVybiBSZW5kZXJNZWRpYUNv
bnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKHRpbWUpOworfQorCitTdHJp
bmcgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1l
KGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3QKK3sKKyAgICByZXR1cm4g
UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRp
bWUoY3VycmVudFRpbWUsIGR1cmF0aW9uKTsKK30KKworU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21p
dW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1l
LCBmbG9hdCBkdXJhdGlvbikgY29uc3QKK3sKKyAgICByZXR1cm4gUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoY3VycmVudFRpbWUsIGR1cmF0
aW9uKTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAppbmRleCA3
YWQyYzEyYzM1MDQxZDgxOWUzN2UzYWQ5YjY1YWJkMjdkYjYzYjg1Li5jZTFjZWUwODk0Y2IzYTYy
MjE5NDc3ZGQ0ZmE1MDliZGI1ZTk2ZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKQEAgLTM3OCwxOCArMzc4LDYgQEAg
Ym9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0
b24oUmVuZGVyT2JqZWN0KiBtYWduaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgUmVu
ZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50TWVkaWFDb250cm9sc0JhY2tncm91bmQoUmVuZGVy
T2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0
JiByZWN0KQotewotI2lmIEVOQUJMRShWSURFTykKLSAgICByZXR1cm4gUmVuZGVyTWVkaWFDb250
cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhVGltZWxpbmVDb250YWlu
ZXIsIG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKG9i
amVjdCk7Ci0gICAgVU5VU0VEX1BBUkFNKHBhaW50SW5mbyk7Ci0gICAgVU5VU0VEX1BBUkFNKHJl
Y3QpOwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgotfQotCiBib29sIFJlbmRlclRoZW1lQ2hy
b21pdW1Ta2lhOjpwYWludE1lZGlhU2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNv
bnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewogI2lmIEVO
QUJMRShWSURFTykKQEAgLTQ3MSw2ICs0NTksMzUgQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVt
U2tpYTo6cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFAK
ICNlbmRpZgogfQogCitTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkg
Y29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9t
aXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZSh0aW1lKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHRpbWUpOworI2VuZGlmCit9CisKK1N0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVu
dFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdAoreworI2lmIEVO
QUJMRShWSURFTykKKyAgICBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlh
Q29udHJvbHNDdXJyZW50VGltZShjdXJyZW50VGltZSwgZHVyYXRpb24pOworI2Vsc2UKKyAgICBV
TlVTRURfUEFSQU0oY3VycmVudFRpbWUpOworICAgIFVOVVNFRF9QQVJBTShkdXJhdGlvbik7Cisj
ZW5kaWYKK30KKworU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0
IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU8p
CisgICAgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVt
YWluaW5nVGltZShjdXJyZW50VGltZSwgZHVyYXRpb24pOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oY3VycmVudFRpbWUpOworICAgIFVOVVNFRF9QQVJBTShkdXJhdGlvbik7CisjZW5kaWYKK30K
Kwogdm9pZCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YWRqdXN0TWVudUxpc3RTdHlsZShTdHls
ZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBXZWJDb3JlOjpFbGVtZW50KikgY29uc3QK
IHsKICAgICAvLyBIZWlnaHQgaXMgbG9ja2VkIHRvIGF1dG8gb24gYWxsIGJyb3dzZXJzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaApp
bmRleCAyODk4OTNlMzEzMTc4MjAxNGYxMzUwYjc0NjU2MDk4NmY2ZGYzY2I3Li40NTdiMTA1ZjM4
ZmE3OThkNzU5NjJmZGVmNGJhYzU2ODZmZTg4OWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaApAQCAtOTEsNyArOTEsNiBAQCBj
bGFzcyBSZW5kZXJUaGVtZUNocm9taXVtU2tpYSA6IHB1YmxpYyBSZW5kZXJUaGVtZSB7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25TdHlsZShTdHls
ZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbihSZW5kZXJPYmplY3QqLCBjb25z
dCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKLSAgICAgICAgdmlydHVhbCBib29sIHBh
aW50TWVkaWFDb250cm9sc0JhY2tncm91bmQoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVNsaWRl
clRyYWNrKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsK
ICAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFWb2x1bWVTbGlkZXJUcmFjayhSZW5kZXJP
YmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBhZGp1c3RTbGlkZXJUaHVtYlNpemUoUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29u
c3Q7CkBAIC05OSw2ICs5OCw5IEBAIGNsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhIDogcHVi
bGljIFJlbmRlclRoZW1lIHsKICAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFWb2x1bWVT
bGlkZXJUaHVtYihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmpl
Y3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0Jik7CisgICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29u
dHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3Jt
YXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0
aW9uKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1Jl
bWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKIAog
ICAgICAgICAvLyBNZW51TGlzdCByZWZlcnMgdG8gYW4gdW5zdHlsZWQgbWVudWxpc3QgKG1lYW5p
bmcgYSBtZW51bGlzdCB3aXRob3V0CiAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3Igb3IgYm9y
ZGVyIHNldCkgYW5kIE1lbnVMaXN0QnV0dG9uIHJlZmVycyB0byBhIHN0eWxlZApAQCAtMTI3LDYg
KzEyOSw3IEBAIGNsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhIDogcHVibGljIFJlbmRlclRo
ZW1lIHsKICNpZiBFTkFCTEUoVklERU8pCiAgICAgICAgIC8vIE1lZGlhIGNvbnRyb2xzCiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBoYXNPd25EaXNhYmxlZFN0YXRlSGFuZGxpbmdGb3IoQ29udHJvbFBh
cnQpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0
aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAogICAg
ICAgICAvLyBQcm92aWRlIGEgd2F5IHRvIHBhc3MgdGhlIGRlZmF1bHQgZm9udCBzaXplIGZyb20g
dGhlIFNldHRpbmdzIG9iamVjdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI0N2VmMWIwY2JiZDc1YmEwZWYyY2VkMzRiODE5
MjlkODQ0YmQ2MmUuLmZjYjYzY2RjOTY2MTMyMzkyODk0ODBhNzFkYTUxNzkwZDcwZTNlZTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMi0wNi0wNSAgU2lsdmlhIFBmZWlmZmVyICA8c2lsdmlh
cGZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoYW5nZSB0aGUgdm9sdW1lIHNsaWRlciB0byBo
b3Jpem9udGFsIHJlbmRlcmluZyBmb3IgQ2hyb21lIHZpZGVvIGNvbnRyb2xzLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8g
Y29udHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRhdGUuIFRoZSB2b2x1bWUgc2xpZGVy
IGlzIGluY2x1ZGVkIGludG8KKyAgICAgICAgdGhlIGNvbnRyb2xzIHdpdGggaG9yaXpvbnRhbCBy
ZW5kZXJpbmcsIHRoZSB2b2x1bWUgc2xpZGVyIGNvbnRhaW5lciBpcyByZW1vdmVkLiBUaGUgdmlz
dWFsCisgICAgICAgIHVwZGF0ZSBpdHNlbGYgaXMgaW4gYSBzZXBhcmF0ZSBwYXRjaC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFRlbXBv
cmFyaWx5IHNraXAgdGVzdHMgcmVsYXRlZCB0byB2b2x1bWUgY29udHJvbHMgcmVuZGVyaW5nIGZv
ciBDaHJvbWl1bS4KKworMjAxMi0wNS0yOCAgU2lsdmlhIFBmZWlmZmVyICA8c2lsdmlhcGZAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBhbiBFbmNsb3N1cmUgRWxlbWVudCBmb3Ig
Q2hyb21pdW0gdmlkZW8gY29udHJvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzY4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENoYW5nZSBmdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92ZXJyaWRl
Lmh0bWwsIG1lZGlhL21lZGlhLWNvbnRyb2xzLWludmFsaWQtdXJsLmh0bWwgYW5kCisgICAgICAg
IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctc25hcC10by1saW5lcy1ub3Qtc2V0Lmh0
bWwgdG8gZGVhbCB3aXRoIHRoZSBuZXcgZW5jbG9zdXJlCisgICAgICAgIGRpdiBpbiBDaHJvbWl1
bSBjb250cm9scyBhbmQgdXNlIHRoZSBtZWRpYUNvbnRyb2xzRWxlbWVudCgpIGhlbHBlciBmdW5j
dGlvbiB0byBmaW5kIGVsZW1lbnRzCisgICAgICAgIGluc2lkZSB0aGUgY29udHJvbHMuCisgICAg
ICAgIEZhaWwgdmlkZW8gY29udHJvbHMgdGVzdHMgaW4gdGVzdCBleHBlY3RhdGlvbnMuCisKKyAg
ICAgICAgKiBmdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92ZXJyaWRlLWV4cGVjdGVkLnR4dDog
VXBkYXRlZC4KKyAgICAgICAgKiBmdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92ZXJyaWRlLmh0
bWw6IFVzZSBtZWRpYUNvbnRyb2xzRWxlbWVudCBoZWxwZXIgZnVuY3Rpb24uCisgICAgICAgICog
bWVkaWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwuaHRtbDogVXNlIG1lZGlhQ29udHJvbHNF
bGVtZW50IGhlbHBlciBmdW5jdGlvbi4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1jdWUt
cmVuZGVyaW5nLXNuYXAtdG8tbGluZXMtbm90LXNldC5odG1sOiBIZWlnaHQgaXMgcHJvdmlkZWQg
YnkgZW5jbG9zdXJlIGVsZW1lbnQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9uczogRmFpbCB2aWRlbyBjb250cm9scyB0ZXN0cy4KKwogMjAxMi0wNi0wOCAgTGV2
aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVuZGVyTGF5ZXI6
OnBhaW50Q2hpbGRMYXllckludG9Db2x1bW5zIGRvZXNuJ3QgcHJvcGVybHkgcGl4ZWwgc25hcApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVycmlk
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92
ZXJyaWRlLWV4cGVjdGVkLnR4dAppbmRleCBmMTkyYTM5MTczZDU0ZDFkOWY1MWIxNDFkYWE0MWVi
ZWExZjI4ZjJhLi4yNjM0OGJiN2U5YmU4NWRkNDdlMzg5YjUwZTY0YzNhMGM0ZTA3MjMwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92ZXJyaWRlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92
ZXJyaWRlLWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSB2
aWRlbyBlbGVtZW50J3MgImNvbnRyb2xzIiBhdHRyaWJ1dGUgaXMgb3ZlcnJpZGRlbiBpbiBmdWxs
IHMKIAogRVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkKIEVYUEVDVEVEIChzaGFkb3dSb290
ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QodmlkZW8pICE9ICdudWxsJykgT0sKLUVYUEVDVEVEIChw
YW5lbCA9IHNoYWRvd1Jvb3QuZmlyc3RDaGlsZC5maXJzdENoaWxkICE9ICdudWxsJykgT0sKK0VY
UEVDVEVEIChwYW5lbCA9IG1lZGlhQ29udHJvbHNFbGVtZW50KHNoYWRvd1Jvb3QuZmlyc3RDaGls
ZCwgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwnKSAhPSAnbnVsbCcpIE9LCiBFWFBFQ1RF
RCAoaW50ZXJuYWxzLnNoYWRvd1BzZXVkb0lkKHBhbmVsKSA9PSAnLXdlYmtpdC1tZWRpYS1jb250
cm9scy1wYW5lbCcpIE9LCiBFWFBFQ1RFRCAoZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0
ZWRTdHlsZShwYW5lbClbJ2Rpc3BsYXknXSAhPSAnbm9uZScpIE9LCiBFWFBFQ1RFRCAoZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShwYW5lbClbJ2hlaWdodCddID49ICcyMHB4
JykgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMt
b3ZlcnJpZGUuaHRtbCBiL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMtb3Zl
cnJpZGUuaHRtbAppbmRleCA3MjE0YmJhMDdmZDMwN2MxMjI1ZjJmZTVhZjFiMzhhNTdkYjIwNDIx
Li40N2ZhNGZlNDFiNDkwMTA4MTJjYWM2YTIwNjk2YWRhNGJiYmYyZTkxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92ZXJyaWRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVycmlkZS5odG1sCkBAIC0y
LDYgKzIsNyBAQAogICAgIDxwPlRoaXMgdGVzdHMgdGhhdCB0aGUgdmlkZW8gZWxlbWVudCdzICJj
b250cm9scyIgYXR0cmlidXRlIGlzIG92ZXJyaWRkZW4gaW4gZnVsbCBzY3JlZW4gbW9kZSwgYW5k
IHRoYXQgdGhlIGNvbnRyb2xzIGFyZSBjb3JyZWN0bHkgaGlkZGVuIHVwb24gZXhpdGluZyBmdWxs
IHNjcmVlbi4gIFByZXNzIGFueSBrZXkgdG8gY29udGludWUuPC9wPgogICAgIDx2aWRlbyBpZD0i
dmlkZW8iIHdpZHRoPSIzMDAiPjwvdmlkZW8+CiAgICAgPHNjcmlwdCBzcmM9ImZ1bGwtc2NyZWVu
LXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9tZWRpYS9tZWRpYS1jb250
cm9scy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdD4KICAgICAgICAgdmFyIGNhbGxiYWNrOwog
ICAgICAgICB2YXIgc2hhZG93Um9vdDsKQEAgLTE5LDcgKzIwLDcgQEAKICAgICAgICAgdmFyIHZp
ZGVvRW50ZXJlZEZ1bGxTY3JlZW4gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJzaGFkb3dSb290
ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QodmlkZW8pIiwgbnVsbCwgIiE9Iik7Ci0gICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJwYW5lbCA9IHNoYWRvd1Jvb3QuZmlyc3RDaGlsZC5maXJzdENo
aWxkIiwgbnVsbCwgIiE9Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJwYW5lbCA9
IG1lZGlhQ29udHJvbHNFbGVtZW50KHNoYWRvd1Jvb3QuZmlyc3RDaGlsZCwgJy13ZWJraXQtbWVk
aWEtY29udHJvbHMtcGFuZWwnKSIsIG51bGwsICIhPSIpOwogICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiaW50ZXJuYWxzLnNoYWRvd1BzZXVkb0lkKHBhbmVsKSIsICItd2Via2l0LW1lZGlh
LWNvbnRyb2xzLXBhbmVsIik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJkb2N1bWVu
dC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHBhbmVsKVsnZGlzcGxheSddIiwgJ25vbmUn
LCAiIT0iKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImRvY3VtZW50LmRlZmF1bHRW
aWV3LmdldENvbXB1dGVkU3R5bGUocGFuZWwpWydoZWlnaHQnXSIsICcyMHB4JywgIj49Iik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9scy1pbnZhbGlkLXVybC5o
dG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwuaHRtbApp
bmRleCA4Mjg2NWVkZGVlNzJjYjIxNTBkYTg5MTY4NjY2MjIwMzBiYWRlZDc0Li5jZGY2NGNmZDRj
NWMxM2JjZWZmNmY4ZjIzYmM2NzRlYTJmOWQ1M2RkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYS1jb250cm9scy1pbnZhbGlkLXVybC5odG1sCisrKyBiL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhLWNvbnRyb2xzLWludmFsaWQtdXJsLmh0bWwKQEAgLTMsNiArMyw3IEBACiAgICAg
PGhlYWQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CiAgICAg
ICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPW1lZGlhLWNvbnRyb2xzLmpzPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgogICAgICAg
ICAgICAgdmFyIHZpZGVvOwogCkBAIC0xOCwyOSArMTksMTUgQEAKIAogICAgICAgICAgICAgZnVu
Y3Rpb24gZ2V0VGltZUxpbmVWYWx1ZSgpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
dmFyIHRpbWVsaW5lQ29udGFpbmVyOwotICAgICAgICAgICAgICAgIHZhciB0aW1lbGluZVZhbHVl
OworICAgICAgICAgICAgICAgIHZhciB0aW1lbGluZTsKKyAgICAgICAgICAgICAgICB2YXIgc2hh
ZG93Um9vdCA9IGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKTsKIAotICAgICAgICAgICAgICAg
IHZhciBjb250cm9sc1NoYWRvdyA9IGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKS5maXJzdENo
aWxkLmZpcnN0Q2hpbGQ7Ci0gICAgICAgICAgICAgICAgZm9yIChjaGlsZCA9IGNvbnRyb2xzU2hh
ZG93LmZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKQotICAgICAg
ICAgICAgICAgICAgICBpZiAoaW50ZXJuYWxzLnNoYWRvd1BzZXVkb0lkKGNoaWxkKSA9PSAiLXdl
YmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1jb250YWluZXIiKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB0aW1lbGluZUNvbnRhaW5lciA9IGNoaWxkOwotICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0aW1l
bGluZSA9IG1lZGlhQ29udHJvbHNFbGVtZW50KHNoYWRvd1Jvb3QuZmlyc3RDaGlsZC5maXJzdENo
aWxkLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZScpOwogCi0gICAgICAgICAgICAg
ICAgaWYoIXRpbWVsaW5lQ29udGFpbmVyKQotICAgICAgICAgICAgICAgICAgICB0aHJvdyAiRmFp
bGQgdG8gZmluZCAtd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLWNvbnRhaW5lciI7Ci0K
LSAgICAgICAgICAgICAgICBmb3IgKGNoaWxkID0gdGltZWxpbmVDb250YWluZXIuZmlyc3RDaGls
ZDsgY2hpbGQ7IGNoaWxkID0gY2hpbGQubmV4dFNpYmxpbmcpCi0gICAgICAgICAgICAgICAgICAg
IGlmIChpbnRlcm5hbHMuc2hhZG93UHNldWRvSWQoY2hpbGQpID09ICItd2Via2l0LW1lZGlhLWNv
bnRyb2xzLXRpbWVsaW5lIikgewotICAgICAgICAgICAgICAgICAgICAgICAgdGltZWxpbmVWYWx1
ZSA9IGNoaWxkLnZhbHVlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmKCF0aW1lbGluZUNvbnRhaW5lcikK
KyAgICAgICAgICAgICAgICBpZighdGltZWxpbmUpCiAgICAgICAgICAgICAgICAgICAgIHRocm93
ICJGYWlsZCB0byBmaW5kIC13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUiOwogCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIHRpbWVsaW5lVmFsdWU7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHRpbWVsaW5lLnZhbHVlOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBl
cnJvcigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtcmVu
ZGVyaW5nLXNuYXAtdG8tbGluZXMtbm90LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stY3VlLXJlbmRlcmluZy1zbmFwLXRvLWxpbmVzLW5vdC1zZXQuaHRtbAppbmRleCAy
OWQ1Yzg1NzFmNjg2ODc1M2Q5YjUyMDNiMWUxMmU5M2EyNDU2MTg1Li4yMmVhZmUzZTk1NDQ2MzU1
MzFlMGQyMzlhZTRhYjczYTMzZTI3MThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90
cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXNuYXAtdG8tbGluZXMtbm90LXNldC5odG1sCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctc25hcC10by1saW5l
cy1ub3Qtc2V0Lmh0bWwKQEAgLTg5LDcgKzg5LDEwIEBACiAgICAgICAgICAgICBmaW5kTWVkaWFF
bGVtZW50KCk7CiAgICAgICAgICAgICB0ZXN0VHJhY2sgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCd0cmFjaycpOwogICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgndmlkZW8n
LCAnLi4vY29udGVudC90ZXN0Jyk7Ci0gICAgICAgICAgICBjb250cm9sc1BhbmVsRWxlbWVudCA9
IG1lZGlhQ29udHJvbHNFbGVtZW50KGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKS5maXJzdENo
aWxkLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCcpOworCisgICAgICAgICAgICAvLyBJ
biBDaHJvbWl1bSBpdCBpcyB0aGUgZW5jbG9zdXJlIGVsZW1lbnQsIHdoaWNoIHByb3ZpZGVzIHRo
ZSBjb250cm9scyBoZWlnaHQsIG90aGVyd2lzZSB0aGUgcGFuZWw7CisgICAgICAgICAgICAvLyBi
b3RoIGFyZSB0aGUgc2Vjb25kIGNoaWxkIGluIHRoZSBzaGFkb3cgRE9NLgorICAgICAgICAgICAg
Y29udHJvbHNQYW5lbEVsZW1lbnQgPSBpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbykuZmlyc3RD
aGlsZC5maXJzdENoaWxkOwogCiAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ2NhbnBsYXl0aHJv
dWdoJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY3VlRGlzcGxheUNvbnRhaW5lciA9
IHRleHRUcmFja0Rpc3BsYXlFbGVtZW50KHZpZGVvKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDJkY2JhOGU0ZTgyYjQwOGNmOGYxYTAw
YmI1N2NmZDliODlkMTEyMTguLmEzNGMxZDJkY2FiOWQ5ODdkM2FmODRjYzNiODVlYzgxYTYwZGM4
MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNzczLDYgKzc3MywxMSBAQCBXT05URklYIFNLSVAgOiBtZWRpYS92aWRlby1zaXplLWlu
dHJpbnNpYy1zY2FsZS5odG1sID0gUEFTUwogLy8gRG9lc24ndCBhcHBseSB0byBDaHJvbWl1bSAo
UXVpY2tUaW1lLXNwZWNpZmljIGJlaGF2aW9yKQogV09OVEZJWCBTS0lQIDogbWVkaWEvdmlkZW8t
ZG9lcy1ub3QtbG9vcC5odG1sID0gVElNRU9VVAogCisvLyBEb2Vzbid0IGFwcGx5IHRvIENocm9t
aXVtIGFueSBsb25nZXIgLSB2b2x1bWUgc2xpZGVyIGlzIGlubGluZSB3aXRoIHZpZGVvIGNvbnRy
b2xzLgorV09OVEZJWCBTS0lQIDogbWVkaWEvdmlkZW8tdm9sdW1lLXNsaWRlci5odG1sID0gRkFJ
TAorV09OVEZJWCBTS0lQIDogbWVkaWEvbWVkaWEtdm9sdW1lLXNsaWRlci1yZW5kZXJlZC1iZWxv
dy5odG1sID0gRkFJTAorV09OVEZJWCBTS0lQIDogbWVkaWEvbWVkaWEtdm9sdW1lLXNsaWRlci1y
ZW5kZXJlZC1ub3JtYWwuaHRtbCA9IEZBSUwKKwogLy8gUXVpY2tUaW1lIHJlZmVyZW5jZSBtb3Zp
ZXMgbm90IHN1cHBvcnRlZC4KIFdPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8t
Y3Jvc3Mtc2l0ZS5odG1sID0gUEFTUwogCkBAIC0zMDExLDYgKzMwMTYsMjYgQEAgQlVHV0s3Mzg2
NSA6IG1lZGlhL3RyYWNrL3RleHQtdHJhY2staXMtcmVhY2hhYmxlLmh0bWwgPSBURVhUIENSQVNI
CiBCVUdXSzgxNDAyIFdJTiA6IG1lZGlhL3RyYWNrL3RyYWNrLWFjdGl2ZS1jdWVzLmh0bWwgPSBQ
QVNTIFRJTUVPVVQKIEJVR1dLODM4ODIgOiBtZWRpYS90cmFjay90cmFjay1tb2RlLmh0bWwgPSBQ
QVNTIFRFWFQgVElNRU9VVAogCisvLyBOZWVkIHJlYmFzZWxpbmUuCitCVUdXSzg3NjgzIDogZmFz
dC9sYXllcnMvdmlkZW8tbGF5ZXIuaHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBmdWxsc2NyZWVu
L2Z1bGwtc2NyZWVuLXN0YWNraW5nLWNvbnRleHQuaHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBt
ZWRpYS9hdWRpby1jb250cm9scy1yZW5kZXJpbmcuaHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBt
ZWRpYS9hdWRpby1yZXBhaW50Lmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvY29udHJv
bHMtYWZ0ZXItcmVsb2FkLmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvY29udHJvbHMt
bGF5b3V0LWRpcmVjdGlvbi5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL2NvbnRyb2xz
LXN0cmljdC5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL2NvbnRyb2xzLXN0eWxpbmcu
aHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS9jb250cm9scy13aXRob3V0LXByZWxvYWQu
aHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS9tZWRpYS1jb250cm9scy1jbG9uZS5odG1s
ID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL21lZGlhLWRvY3VtZW50LWF1ZGlvLXJlcGFpbnQu
aHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS92aWRlby1jb250cm9scy1yZW5kZXJpbmcu
aHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS92aWRlby1kaXNwbGF5LXRvZ2dsZS5odG1s
ID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL3ZpZGVvLWVtcHR5LXNvdXJjZS5odG1sID0gRkFJ
TAorQlVHV0s4NzY4MyA6IG1lZGlhL3ZpZGVvLW5vLWF1ZGlvLmh0bWwgPSBGQUlMCitCVUdXSzg3
NjgzIDogbWVkaWEvdmlkZW8tcGxheWluZy1hbmQtcGF1c2UuaHRtbCA9IEZBSUwKK0JVR1dLODc2
ODMgOiBtZWRpYS92aWRlby16b29tLWNvbnRyb2xzLmh0bWwgPSBGQUlMCitCVUdXSzg3ODM1IDog
aHR0cC90ZXN0cy9tZWRpYS92aWRlby1idWZmZXJlZC1yYW5nZS1jb250YWlucy1jdXJyZW50VGlt
ZS5odG1sID0gRkFJTAorCiBCVUdXSzcyMjcxIFNOT1dMRU9QQVJEIERFQlVHIDogZmFzdC9kb20v
bm9kZS1pdGVyYXRvci1yZWZlcmVuY2Utbm9kZS1tb3ZlZC1jcmFzaC5odG1sID0gUEFTUyBDUkFT
SAogCiBCVUdXSzcyMzc2IFdJTiA6IGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLWxhYmVsLmh0
bWwgPSBURVhUIFBBU1MK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146766</attachid>
            <date>2012-06-10 19:58:36 -0700</date>
            <delta_ts>2012-06-10 22:32:20 -0700</delta_ts>
            <desc>Use this for review</desc>
            <filename>patch6.diff</filename>
            <type>text/plain</type>
            <size>5964</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2YTI1ODM0Li4zNmYzYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMTItMDYtMTEgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4K
KworICAgICAgICBDaGFuZ2UgbXV0ZSBidXR0b24gYW5kIHZvbHVtZSBzbGlkZXIgYmVoYXZpb3Vy
IGZvciBuZXcgQ2hyb21pdW0gdmlkZW8gY29udHJvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODc0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgZmluYWwgcGF0Y2ggd2lsbCBj
b250YWluIHRoZSByZWJhc2VsaW5lZCB0ZXN0cy4KKworICAgICAgICBUaGUgQ2hyb21lIHZpZGVv
IGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLiBUaGlzIHBhdGNoIG1ha2Vz
IHRoZSBtdXRlIGJ1dHRvbiBhbmQKKyAgICAgICAgdGhlIHZvbHVtZSBzbGlkZXIgaW50ZXJhY3Qg
d2l0aCBlYWNoIG90aGVyLiBXaGVuIHRoZSB1c2VyIG11dGVzIHRoZSB2aWRlbyB0aHJvdWdoIGNs
aWNraW5nIHRoZQorICAgICAgICBtdXRlIGJ1dHRvbiwgdGhlIHZvbHVtZSBzbGlkZXIgYW5pbWF0
ZXMgdG8gMCUgdm9sdW1lLiBVcG9uIHVubXV0ZSwgdGhlIHByZXZpb3VzIHZvbHVtZSBsZXZlbAor
ICAgICAgICBpcyByZXN0b3JlZC4gRnVydGhlciwgd2hlbiB0aGUgdXNlciBkcmFncyB0aGUgdm9s
dW1lIHNsaWRlciB0aHVtYiBvciBjbGlja3Mgb24gdGhlIHNsaWRlciBhbmQKKyAgICAgICAgdGhl
IHZpZGVvIGlzIG11dGVkLCB0aGUgdmlkZW8gdW5tdXRlcyBhbmQgc2V0cyB0aGUgdm9sdW1lIHRv
IHRoZSB1c2VyJ3MgY2hvc2VuIGxldmVsLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1l
U2xpZGVyRWxlbWVudDo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudCk6CisgICAgICAg
IEFkZCBhIG1lbWJlciBmaWVsZCB0byB0aGUgdm9sdW1lIHNsaWRlciB0byBhbGxvdyB1c2VyIGlu
dGVyYWN0aW9uIHRvIHVubXV0ZSB0aGUgdmlkZW8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAg
QWRkIHRoZSBsb2dpYyB0byB1bm11dGUgdGhlIHZpZGVvIGlmIHRoZSBtX3VubXV0ZSBtZW1iZXIg
ZmllbGQgaXMgdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRl
ckVsZW1lbnQ6OnNldFVubXV0ZU9uSW50ZXJhY3Rpb24pOgorICAgICAgICBBZGQgYSBtZW1iZXIg
ZnVuY3Rpb24gdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUgbV91bm11dGUgbWVtYmVyIGZpZWxk
CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaDoKKyAgICAgICAg
KE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQpOgorICAgICAgICBBZGQgdGhlIHNldFVu
bXV0ZU9uSW50ZXJhY3Rpb24gbWVtYmVyIGZ1bmN0aW9uIGFuZCB0aGUgbV91bm11dGUgbWVtYmVy
IGZpZWxkLgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQWN0aXZhdGUgdW5tdXRlIG9uIHVzZXIgaW50ZXJhY3Rp
b24gb24gdGhlIENocm9taXVtIHZpZGVvIHZvbHVtZSBzbGlkZXIuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkTXV0ZSk6CisgICAgICAg
IEFkZCBsb2dpYyB0byBzZXQgdm9sdW1lIHNsaWRlciB0byAwIHdoZW4gbXV0ZWQgYW5kIHJlc2V0
IHRvIHZvbHVtZSB3aGVuIHVubXV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhVm9sdW1l
U2xpZGVyKToKKyAgICAgICAgQWRkIGxvZ2ljIHRvIHBhaW50IHRoZSB2b2x1bWUgc2xpZGVyIGFj
dGl2ZSBhcmUgdG8gMCB3aGVuIG11dGVkLgorCiAyMDEyLTA2LTEwICBTaWx2aWEgUGZlaWZmZXIg
IDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXBkYXRlIHRoZSB0aW1lIGRpc3Bs
YXkgb2YgdGhlIG5ldyBDaHJvbWl1bSBtZWRpYSBjb250cm9scy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAyMTIwNDhh
Li42ODJhMjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCkBAIC05MDEsNiArOTAxLDcgQEAgY29uc3QgQXRvbWljU3RyaW5n
JiBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKIAog
aW5saW5lIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6Ok1lZGlhQ29udHJvbFZvbHVt
ZVNsaWRlckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogTWVkaWFDb250cm9sSW5w
dXRFbGVtZW50KGRvY3VtZW50LCBNZWRpYVZvbHVtZVNsaWRlcikKKyAgICAsIG1fdW5tdXRlKGZh
bHNlKQogewogfQogCkBAIC05MzQsNiArOTM1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVT
bGlkZXJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAg
bWVkaWFDb250cm9sbGVyKCktPnNldFZvbHVtZSh2b2x1bWUsIGVjKTsKICAgICAgICAgQVNTRVJU
KCFlYyk7CiAgICAgfQorICAgIGlmIChtX3VubXV0ZSkKKyAgICAgICAgbWVkaWFDb250cm9sbGVy
KCktPnNldE11dGVkKGZhbHNlKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJF
bGVtZW50OjpzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKQpAQCAtOTQyLDYgKzk0NSwxMSBAQCB2b2lk
IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUp
CiAgICAgICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyKHZvbHVtZSkpOwogfQogCit2b2lkIE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFVubXV0ZU9uSW50ZXJhY3Rpb24oYm9v
bCB1bm11dGUpCit7CisgICAgbV91bm11dGUgPSB1bm11dGU7Cit9CisKIGNvbnN0IEF0b21pY1N0
cmluZyYgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBj
b25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpZCwgKCItd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIiKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCAwMzU3MGY3Li5kNTNj
ZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xF
bGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKQEAgLTM4OSwxMiArMzg5LDE0IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQp
OworICAgIHZvaWQgc2V0VW5tdXRlT25JbnRlcmFjdGlvbihib29sKTsKIAogcHJvdGVjdGVkOgog
ICAgIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25z
dDsKKyAgICBib29sIG1fdW5tdXRlOwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAppbmRleCBiMjU1YzE2Li44ZDkzN2JhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcApAQCAtMTM1LDYgKzEzNSw3IEBAIFBhc3NSZWZQ
dHI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4gTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6Y3JlCiAKICAgICBSZWZQdHI8TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxl
bWVudD4gc2xpZGVyID0gTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6Y3JlYXRlKGRv
Y3VtZW50KTsKICAgICBjb250cm9scy0+bV92b2x1bWVTbGlkZXIgPSBzbGlkZXIuZ2V0KCk7Cisg
ICAgY29udHJvbHMtPm1fdm9sdW1lU2xpZGVyLT5zZXRVbm11dGVPbkludGVyYWN0aW9uKHRydWUp
OwogICAgIHBhbmVsLT5hcHBlbmRDaGlsZChzbGlkZXIucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAg
ICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKQEAgLTMzNCw2ICszMzUsMTEgQEAgdm9pZCBN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNp
YmlsaXR5KCkKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11
dGUoKQogewogICAgIG1fcGFuZWxNdXRlQnV0dG9uLT5jaGFuZ2VkTXV0ZSgpOworCisgICAgaWYg
KG1fbWVkaWFDb250cm9sbGVyLT5tdXRlZCgpKQorICAgICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0
Vm9sdW1lKDApOworICAgIGVsc2UKKyAgICAgICAgbV92b2x1bWVTbGlkZXItPnNldFZvbHVtZSht
X21lZGlhQ29udHJvbGxlci0+dm9sdW1lKCkpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06OmNoYW5nZWRWb2x1bWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAppbmRleCBjYWU0
ZGJmLi4xZjMwMTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcApAQCAtMjQ4LDYgKzI0OCw4IEBAIHN0YXRp
YyBib29sIHBhaW50TWVkaWFWb2x1bWVTbGlkZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0
IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmICh2b2x1bWUg
PiAxKQogICAgICAgICB2b2x1bWUgPSAxOworICAgIGlmIChtZWRpYUVsZW1lbnQtPm11dGVkKCkp
CisgICAgICAgIHZvbHVtZSA9IDA7CiAKICAgICAvLyBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHJl
bGF0aXZlIHRvIHRoZSBjZW50ZXIgb2YgdGhlIHRodW1iLgogICAgIGZsb2F0IHRodW1iQ2VudGVy
ID0gbWVkaWFWb2x1bWVTbGlkZXJUaHVtYldpZHRoIC8gMjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146784</attachid>
            <date>2012-06-10 22:32:27 -0700</date>
            <delta_ts>2012-06-13 17:51:04 -0700</delta_ts>
            <desc>Full patch for layout tests - with unmute name change</desc>
            <filename>bug-88743-20120611153224.patch</filename>
            <type>text/plain</type>
            <size>80729</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5OTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU5MWY2ZTUyY2ZlMGUw
ZWQ2OTMyMjM4NWRkMzdhMWVhYjRkNzgzMC4uOTM5YWUyZTY0NDJmYmJhMzRkYTdmZjg3MDlhY2Uw
MTgzOGVhMjU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyMSBAQAorMjAxMi0wNi0xMSAgU2ls
dmlhIFBmZWlmZmVyICA8c2lsdmlhcGZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoYW5nZSBt
dXRlIGJ1dHRvbiBhbmQgdm9sdW1lIHNsaWRlciBiZWhhdmlvdXIgZm9yIG5ldyBDaHJvbWl1bSB2
aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg4NzQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRhaW4gdGhlIHJlYmFzZWxp
bmVkIHRlc3RzLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2Vp
dmluZyBhIHZpc3VhbCB1cGRhdGUuIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIG11dGUgYnV0dG9uIGFu
ZAorICAgICAgICB0aGUgdm9sdW1lIHNsaWRlciBpbnRlcmFjdCB3aXRoIGVhY2ggb3RoZXIuIFdo
ZW4gdGhlIHVzZXIgbXV0ZXMgdGhlIHZpZGVvIHRocm91Z2ggY2xpY2tpbmcgdGhlCisgICAgICAg
IG11dGUgYnV0dG9uLCB0aGUgdm9sdW1lIHNsaWRlciBhbmltYXRlcyB0byAwJSB2b2x1bWUuIFVw
b24gdW5tdXRlLCB0aGUgcHJldmlvdXMgdm9sdW1lIGxldmVsCisgICAgICAgIGlzIHJlc3RvcmVk
LiBGdXJ0aGVyLCB3aGVuIHRoZSB1c2VyIGRyYWdzIHRoZSB2b2x1bWUgc2xpZGVyIHRodW1iIG9y
IGNsaWNrcyBvbiB0aGUgc2xpZGVyIGFuZAorICAgICAgICB0aGUgdmlkZW8gaXMgbXV0ZWQsIHRo
ZSB2aWRlbyB1bm11dGVzIGFuZCBzZXRzIHRoZSB2b2x1bWUgdG8gdGhlIHVzZXIncyBjaG9zZW4g
bGV2ZWwuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRp
YUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50KToKKyAgICAgICAgQWRkIGEgbWVtYmVyIGZpZWxk
IHRvIHRoZSB2b2x1bWUgc2xpZGVyIHRvIGFsbG93IHVzZXIgaW50ZXJhY3Rpb24gdG8gdW5tdXRl
IHRoZSB2aWRlby4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICBBZGQgdGhlIGxvZ2ljIHRvIHVu
bXV0ZSB0aGUgdmlkZW8gaWYgdGhlIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJl
ciBmaWVsZCBpcyB0cnVlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1lU2xp
ZGVyRWxlbWVudDo6c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKToKKyAgICAgICAgQWRk
IGEgbWVtYmVyIGZ1bmN0aW9uIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlIG1fY2xlYXJNdXRl
ZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBmaWVsZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xFbGVtZW50cy5oOgorICAgICAgICAoTWVkaWFDb250cm9sVm9sdW1lU2xpZGVy
RWxlbWVudCk6CisgICAgICAgIEFkZCB0aGUgc2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9u
IG1lbWJlciBmdW5jdGlvbiBhbmQgdGhlIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1l
bWJlciBmaWVsZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIEFjdGl2YXRlIHVubXV0ZSBvbiB1c2VyIGludGVy
YWN0aW9uIG9uIHRoZSBDaHJvbWl1bSB2aWRlbyB2b2x1bWUgc2xpZGVyLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUpOgorICAg
ICAgICBBZGQgbG9naWMgdG8gc2V0IHZvbHVtZSBzbGlkZXIgdG8gMCB3aGVuIG11dGVkIGFuZCBy
ZXNldCB0byB2b2x1bWUgd2hlbiB1bm11dGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJN
ZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRNZWRpYVZv
bHVtZVNsaWRlcik6CisgICAgICAgIEFkZCBsb2dpYyB0byBwYWludCB0aGUgdm9sdW1lIHNsaWRl
ciBhY3RpdmUgYXJlYSBhcyAwIHdoZW4gbXV0ZWQuCisKKzIwMTItMDYtMTAgIFNpbHZpYSBQZmVp
ZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgdGhlIHRpbWUg
ZGlzcGxheSBvZiB0aGUgbmV3IENocm9taXVtIG1lZGlhIGNvbnRyb2xzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg3MjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGZpbmFsIHBh
dGNoIHdpbGwgY29udGFpbiB0aGUgcmViYXNlbGluZWQgdGVzdHMuCisKKyAgICAgICAgVGhlIENo
cm9tZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4gVGhpcyBw
YXRjaCBjaGFuZ2VzCisgICAgICAgIHRoZSBmb3JtYXQgb2YgdGhlIHRpbWUgZGlnaXRzIHRoYXQg
YXJlIGRpc3BsYXllZC4gVGhleSBhcmUgZGlmZmVyZW50IGZvciBtZWRpYQorICAgICAgICBmaWxl
cyBvZiBkaWZmZXJlbnQgZHVyYXRpb24uIEZvciBub24tYXV0b3BsYXlpbmcgdmlkZW9zLCB0aGUg
ZHVyYXRpb24gaXMgc2hvd24KKyAgICAgICAgYmVmb3JlIHBsYXliYWNrIGlzIHN0YXJ0ZWQuCisK
KyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0Nocm9taXVtLmNzczoKKyAgICAgICAgKGF1ZGlv
Ojotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWUtcmVtYWluaW5nLWRpc3BsYXksIHZpZGVvOjot
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWUtcmVtYWluaW5nLWRpc3BsYXkpOgorICAgICAgICBG
b3JtYXQgdGhlIG5ldyBkdXJhdGlvbiBkaXNwbGF5IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHRp
bWUgZGlzcGxheS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQg
YSBtZW1iZXIgZmllbGQgZm9yIHRoZSBkdXJhdGlvbiBkaXNwbGF5LgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQWRk
IGFuIGVsZW1lbnQgZm9yIHRoZSBkdXJhdGlvbiBkaXNwbGF5IGFuZCBpbml0aWFsbHkgaGlkZSB0
aGUgY3VycmVudCB0aW1lIGRpc3BsYXkuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xS
b290RWxlbWVudENocm9taXVtOjpzZXRNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBBZGQgdGhl
IGR1cmF0aW9uIGRpc3BsYXkgdG8gdGhlIGNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpyZXNldCk6CisgICAgICAgIEFkZCByZXNl
dCBmdW5jdGlvbmFsaXR5IGZvciB0aGUgZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRlZCk6Cisg
ICAgICAgIFNob3cgdGhlIGN1cnJlbnQgdGltZSBkaXNwbGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlv
biBkaXNwbGF5IHVwb24gcGxheWJhY2sgc3RhcnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjp1cGRhdGVUaW1lRGlzcGxheSk6CisgICAgICAgIFNo
b3cgdGhlIGN1cnJlbnQgdGltZSBkaXNwbGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlvbiBkaXNwbGF5
IHdoZW4gY3VycmVudCB0aW1lIGlzIG5vbi16ZXJvLgorICAgICAgICAqIGh0bWwvc2hhZG93L01l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICBBZGQgdGhlIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCB3aGlj
aCBwcm92aWRlcyB1c2Ugd2l0aCB0aGUgZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgYSBkdXJhdGlvbiBtZW1i
ZXIgZmllbGQsIHJldXNpbmcgdGhlIGV4aXN0aW5nIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdE
aXNwbGF5RWxlbWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0No
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZvcm1hdENocm9taXVtTWVkaWFDb250cm9s
c1RpbWUpOgorICAgICAgICBGb3JtYXRzIGEgZ2l2ZW4gdGltZSB1bmRlciB0aGUgY29uZGl0aW9u
IG9mIGEgZ2l2ZW4gZHVyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRy
b2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKToKKyAgICAgICAgV2hlbiBmb3Jt
YXR0aW5nIGEgc2luZ2xlIHRpbWUsIGFzc3VtZSBpdCB0byBhbHNvIHByb3ZpZGUgdGhlIGR1cmF0
aW9uIGNvbmRpdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hy
b21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZSk6CisgICAgICAgIEZvcm1hdCB0
aGUgY3VycmVudCB0aW1lIGdpdmVuIHRoZSBkdXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1Rp
bWUpOgorICAgICAgICBGb3JtYXQgdGhlIHJlbWFpbmluZyB0aW1lIGZyb20gdGhlIGN1cnJlbnQg
dGltZSBnaXZlbiB0aGUgZHVyYXRpb24uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bS5oOgorICAgICAgICAoUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVt
KToKKyAgICAgICAgRGVjbGFyZSB0aGUgdGltZSBmb3JtYXR0aW5nIG1lbWJlciBmdW5jdGlvbnMu
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAg
KFJlbmRlclRoZW1lQ2hyb21pdW1NYWMpOgorICAgICAgICBEZWNsYXJlIHRoZSB0aW1lIGZvcm1h
dHRpbmcgbWVtYmVyIGZ1bmN0aW9ucyBmb3IgQ2hyb21pdW0gb24gdGhlIE1hYy4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHND
dXJyZW50VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpm
b3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZSk6CisgICAgICAgIENhbGwgdGhlIHRpbWUg
Zm9ybWF0dGluZyBtZW1iZXIgZnVuY3Rpb25zIG9mIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1
bSBvbiB0aGUgTWFjLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tp
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUpOgorICAgICAgICAo
V2ViQ29yZTo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUpOgorICAgICAgICBDYWxs
IHRoZSB0aW1lIGZvcm1hdHRpbmcgbWVtYmVyIGZ1bmN0aW9ucyBvZiBSZW5kZXJNZWRpYUNvbnRy
b2xzQ2hyb21pdW0gb24gU2tpYS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bVNraWEuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhKToKKyAgICAgICAg
RGVjbGFyZSB0aGUgdGltZSBmb3JtYXR0aW5nIG1lbWJlciBmdW5jdGlvbnMgZm9yIENocm9taXVt
IFNraWEuCisKKzIwMTItMDYtMDkgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBVcGRhdGUgcmFuZ2Ugc2xpZGVycyByZW5kZXJpbmcgZm9yIHZvbHVt
ZSBhbmQgcGxheWJhY2sgcG9zaXRpb24gb2YgbmV3IENocm9tZSB2aWRlbyBjb250cm9scy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NjIzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRhaW4gdGhlIHJlYmFzZWxpbmVkIHRlc3RzLgorCisgICAg
ICAgIFRoZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRh
dGUuIFRoaXMgcGF0Y2ggY29udGFpbnMgdXBkYXRlcyB0byB0aGUKKyAgICAgICAgcmVuZGVyaW5n
IG9mIHRoZSByYW5nZSBzbGlkZXJzIGZvciB0aGUgcGxheWJhY2sgcG9zaXRpb24gYW5kIHRoZSB2
b2x1bWUuIFRoaXMgaW5jbHVkZXMgdGhlCisgICAgICAgIGNyZWF0aW9uIG9mIGEgc2hhZG93UHNl
dWRvSWQgdG8gYmUgYWJsZSB0byBzdHlsZSB0aGUgcmFuZ2Ugc2xpZGVycyB2aWEgQ1NTLCB0aGUg
cmVuZGVyaW5nCisgICAgICAgIG9mIHRoZSBzbGlkZXIgYmFja2dyb3VuZCBhbmQgdGhlIGhpZ2hs
aWdodGVkIHJhbmdlcy4KKworICAgICAgICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3Nz
OgorICAgICAgICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItY29u
dGFpbmVyKToKKyAgICAgICAgQWRqdXN0IHRoZSBzdHlsaW5nIG9mIHRoZSBzbGlkZXIgY29udGFp
bmVyIGJhY2tncm91bmRzLgorICAgICAgICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1t
ZWRpYS1zbGlkZXItdGh1bWIpOgorICAgICAgICBBZGp1c3QgdGhlIHN0eWxpbmcgb2YgdGhlIHNs
aWRlciB0aHVtYnMuCisgICAgICAgICogaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnNsaWRlclRodW1iU2hhZG93UHNldWRvSWQpOgorICAgICAg
ICBBZGQgYW4gYWNjZXNzb3IgZnVuY3Rpb24gZm9yIHRoZSBzbGlkZXIgdGh1bWIgc2hhZG93UHNl
dWRvSWQuCisgICAgICAgIChXZWJDb3JlOjptZWRpYVNsaWRlclRodW1iU2hhZG93UHNldWRvSWQp
OgorICAgICAgICBBZGQgYW4gYWNjZXNzb3IgZnVuY3Rpb24gZm9yIHRoZSBtZWRpYSBzbGlkZXIg
dGh1bWIgc2hhZG93UHNldWRvSWQuCisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1l
bnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8t
Y2xhc3MgbmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIHRodW1icy4KKyAgICAgICAgKFdlYkNvcmU6
OlRyYWNrTGltaXRlckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlm
ZmVyZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIHRodW1icy4K
KyAgICAgICAgKFdlYkNvcmU6OlNsaWRlckNvbnRhaW5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lk
KToKKyAgICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUg
bWVkaWEgc2xpZGVyIGJhY2tncm91bmQgY29udGFpbmVyLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRS
b3VuZGVkU2xpZGVyQmFja2dyb3VuZCk6CisgICAgICAgIEFkZCBmdW5jdGlvbiB0byBkcmF3IHJv
dW5kZWQgYmFja2dyb3VuZCBvZiBzbGlkZXJzIGluIGEgZGFyayBjb2xvci4KKyAgICAgICAgKFdl
YkNvcmU6OnBhaW50U2xpZGVyUmFuZ2VIaWdobGlnaHQpOgorICAgICAgICBBZGQgZnVuY3Rpb24g
dG8gZHJhdyBhIGhpZ2hsaWdodGVkIGdyZXkgcmVnaW9uIG9uIHRoZSBzbGlkZXJzLCB3aGljaCBp
cyByb3VuZGVkIG9ubHkgYXQKKyAgICAgICAgaXRzIGVuZHMuCisgICAgICAgIChXZWJDb3JlOjpw
YWludE1lZGlhU2xpZGVyKToKKyAgICAgICAgVXBkYXRlIHRoZSBiYWNrZ3JvdW5kIGFuZCBidWZm
ZXJlZCByYW5nZSByZW5kZXJpbmdzIG9uIHRoZSBwbGF5YmFjayBwb3NpdGlvbiBzbGlkZXIgYnkg
bWFraW5nCisgICAgICAgIHVzZSBvZiB0aGUgbmV3IGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAg
IChXZWJDb3JlOjpwYWludE1lZGlhVm9sdW1lU2xpZGVyKToKKyAgICAgICAgVXBkYXRlIHRoZSBi
YWNrZ3JvdW5kIGFuZCBidWZmZXJlZCByYW5nZSByZW5kZXJpbmdzIG9uIHRoZSB2b2x1bWUgc2xp
ZGVyIGJ5IG1ha2luZworICAgICAgICB1c2Ugb2YgdGhlIG5ldyBoZWxwZXIgZnVuY3Rpb25zLgor
CisyMDEyLTA2LTA2ICBTaWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQ2hhbmdlIHRoZSBzdHlsaW5nIG9mIHRoZSBDaHJvbWl1bSB2aWRlbyBjb250cm9s
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4Mjk3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiAoZmluYWwgcGF0Y2ggd2lsbCBjb250YWluIHRoZSByZWJhc2VsaW5lZCB0ZXN0cykK
KworICAgICAgICBUaGUgQ2hyb21lIHZpZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1
YWwgdXBkYXRlLiBUaGlzIHBhdGNoIGluY2x1ZGVzIENTUyBjaGFuZ2VzLAorICAgICAgICB0aGUg
cmVtb3ZhbCBvZiB0aGUgbm93IG5vIGxvbmdlciBuZWVkZWQgY29udHJvbHMgYmFja2dyb3VuZCBk
aXYsIGFuZCB0aGUgaW50cm9kdWN0aW9uIG9mCisgICAgICAgIG5ldyBpbWFnZXMgZm9yIHRoZSBi
dXR0b25zLgorCisgICAgICAgICogY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3M6CisgICAg
ICAgIChhdWRpbyk6CisgICAgICAgIEFkanVzdCBoZWlnaHQgb2YgYXVkaW8gY29udHJvbHMuCisg
ICAgICAgICg6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMpOgorICAgICAgICBVc2UgZmxleGJveCBv
biBtZWRpYSBjb250cm9scyBzaGFkb3cgRE9NLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtZW5jbG9zdXJlLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNs
b3N1cmUpOgorICAgICAgICBBZGp1c3QgaGVpZ2h0LCBtYXgtd2lkdGgsIHRleHQtaW5kZW50IGFu
ZCBib3gtc2l6aW5nLCBhbmQgcmVzZXQgcGFkZGluZyB0byAwLgorICAgICAgICAodmlkZW86Oi13
ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlKToKKyAgICAgICAgVXNlIDVweCBwYWRkaW5n
IG9ubHkgZm9yIHZpZGVvIGNvbnRyb2xzIGFuZCBhZGp1c3QgaGVpZ2h0IGFjY29yZGluZ2x5Lgor
ICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwsIHZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsKToKKyAgICAgICAgVXNlIGZsZXhib3ggb24gcGFuZWws
IGFkanVzdCBib3R0b20gYWxpZ25tZW50LCBoZWlnaHQsIGJhY2tncm91bmQgY29sb3IgYW5kIGJv
cmRlciByYWRpdXMuCisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRl
LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24pOgorICAg
ICAgICBEaXNwbGF5IGJ1dHRvbnMgaW5saW5lIHdpdGggZml4ZWQgd2lkdGggYW5kIGhlaWdodCwg
dmVydGljYWxseSBjZW50ZXJlZCwgbm8gcGFkZGluZyBhbmQKKyAgICAgICAgNnB4IHNwYWNlIHRv
IG5leHQgY29udHJvbHMgZWxlbWVudCAodGhpcyB3aWxsIGJlIDE1cHggaW5jbCB0aGUgc3BhY2Ug
aW4gdGhlIGltYWdlKS4KKyAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBs
YXktYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbik6Cisg
ICAgICAgIERpc3BsYXkgYnV0dG9ucyBpbmxpbmUgd2l0aCBmaXhlZCB3aWR0aCBhbmQgaGVpZ2h0
LCB2ZXJ0aWNhbGx5IGNlbnRlcmVkLCBubyBwYWRkaW5nIGFuZAorICAgICAgICA5cHggc3BhY2Ug
dG8gbmV4dCBjb250cm9scyBlbGVtZW50ICh0aGlzIHdpbGwgYmUgMTVweCBpbmNsIHRoZSBzcGFj
ZSBpbiB0aGUgaW1hZ2UpLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
Y3VycmVudC10aW1lLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJl
bnQtdGltZS1kaXNwbGF5KToKKyAgICAgICAgRGlzcGxheSB0ZXh0IGFzIGJsb2NrLCB3aXRob3V0
IGJyb2RlciwgYWRqdXN0ZWQgaGVpZ2h0LCBmb250LWZhbWlseSwgZm9udC1zaXplIGFuZCA5cHgg
c3BhY2UKKyAgICAgICAgdG8gbmV4dCBjb250cm9scyBlbGVtZW50ICh0aGlzIHdpbGwgYmUgMTVw
eCBpbmNsIHRoZSBzcGFjZSBpbiB0aGUgaW1hZ2UpLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtdGltZWxpbmUsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRp
bWVsaW5lKToKKyAgICAgICAgQWRqdXN0IGhlaWdodCwgcGFkZGluZywgYmFja2dyb3VuZC1jb2xv
ciwgbWluLXdkaXRoIGFuZCAxNXB4IHNwYWNlIHRvIG5leHQgY29udHJvbHMgZWxlbWVudC4KKyAg
ICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIsIHZpZGVv
Ojotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIpOgorICAgICAgICBBZGp1c3Qg
aGVpZ2h0LCBtYXgtIGFuZCBtaW4td2lkdGgsIGJhY2tncm91bmQtY29sb3IgYW5kIDE1cHggc3Bh
Y2UgdG8gbmV4dCBjb250cm9scyBlbGVtZW50LgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bSk6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNl
c3NhcnkgYW55IGxvbmdlciBiZWNhdXNlIG9mIHRoZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZWF0ZSk6CisgICAg
ICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55
IGxvbmdlciBiZWNhdXNlIG9mIHRoZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxlcik6Cisg
ICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3Nhcnkg
YW55IGxvbmdlciBiZWNhdXNlIG9mIHRoZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KToKKyAgICAgICAgU2hv
dyB0aGUgdGltZWxpbmUgaW5zdGVhZCBvZiB0aGUgdGltZWxpbmUgY29udGFpbmVyIHdoZW4gcmVz
ZXR0aW5nLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6cmVwb3J0ZWRFcnJvcik6CisgICAgICAgIEhpZGUgdGhlIHRpbWVsaW5lIGluc3RlYWQgb2Yg
dGhlIHRpbWVsaW5lIGNvbnRhaW5lciB3aGVuIHJ1bm5pbmcgaW50byBhbiBlcnJvci4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnBhaW50TWVkaWFNdXRlQnV0dG9uKToKKyAgICAgICAgSW50cm9kdWNlIG5ldyBp
bWFnZSByZXNvdXJjZXMgZm9yIHRoZSBtdXRlIGJ1dHRvbiBhbmQgYWRqdXN0IGl0IGJhc2VkIG9u
IHZvbHVtZSBsZXZlbHMuCisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhUGxheUJ1dHRvbik6
CisgICAgICAgIEludHJvZHVjZSBuZXcgaW1hZ2UgcmVzb3VyY2VzIGZvciB0aGUgcGxheSBidXR0
b24uCisgICAgICAgIChXZWJDb3JlOjpnZXRNZWRpYVNsaWRlclRodW1iKToKKyAgICAgICAgSW50
cm9kdWNlIG5ldyBpbWFnZSByZXNvdXJjZXMgZm9yIHRoZSBwb3NpdGlvbiBzbGlkZXIgdGh1bWIu
CisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIpOgorICAgICAg
ICBJbnRyb2R1Y2UgbmV3IGltYWdlIHJlc291cmNlcyBmb3IgdGhlIHZvbHVtZSBzbGlkZXIgdGh1
bWIuCisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIgcmVuZGVyaW5nLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJv
bHNQYXJ0KToKKyAgICAgICAgQWRkIHRpbWVsaW5lIGNvbnRhaW5lciBwYWludGluZyB0byB0aGUg
Im5vdCByZWFjaGVkIiBlbGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBQcm92
aWRlIHNpemUgc2V0dGluZ3MgZm9yIHRoZSBwb3NpdGlvbiBhbmQgdm9sdW1lIHNsaWRlcnMuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmFkanVzdE1lZGlh
U2xpZGVyVGh1bWJTaXplKToKKyAgICAgICAgQ2FsY3VsYXRlIGNvcnJlY3Qgd2lkdGggYW5kIGhl
aWdodCBzZXR0aW5ncyBmb3IgdGhlIG5ldyBpbWFnZSByZXNvdXJjZXMgb2YgdGhlIHBvc2l0aW9u
IGFuZCB2b2x1bWUKKyAgICAgICAgc2xpZGVyIHRodW1icy4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oOgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bU1h
Yyk6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIgcmVuZGVyaW5nIChpLmUuIHRo
ZSBtZWRpYSBjb250cm9scyBiYWNrZ3JvdW5kKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bU1hYy5tbToKKyAgICAgICAgUmVtb3ZlIHRpbWVsaW5lIGNvbnRhaW5lciBy
ZW5kZXJpbmcgKGkuZS4gdGhlIG1lZGlhIGNvbnRyb2xzIGJhY2tncm91bmQpLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgIFJlbW92ZSB0
aW1lbGluZSBjb250YWluZXIgcmVuZGVyaW5nIChpLmUuIHRoZSBtZWRpYSBjb250cm9scyBiYWNr
Z3JvdW5kKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoK
KyAgICAgICAgKFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhKToKKyAgICAgICAgUmVtb3ZlIHRpbWVs
aW5lIGNvbnRhaW5lciByZW5kZXJpbmcgKGkuZS4gdGhlIG1lZGlhIGNvbnRyb2xzIGJhY2tncm91
bmQpLgorCisyMDEyLTA2LTA1ICBTaWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgQ2hhbmdlIHRoZSB2b2x1bWUgc2xpZGVyIHRvIGhvcml6b250YWwgcmVu
ZGVyaW5nIGZvciBDaHJvbWUgdmlkZW8gY29udHJvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKHZpc3VhbCB1cGRhdGUgd2ls
bCBjb250YWluIHJlYmFzZWxpbmVkIHRlc3RzKQorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8g
Y29udHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRhdGUuIFRoZSB2b2x1bWUgc2xpZGVy
IGlzIGluY2x1ZGVkIGludG8KKyAgICAgICAgdGhlIGNvbnRyb2xzIHdpdGggaG9yaXpvbnRhbCBy
ZW5kZXJpbmcsIHRoZSB2b2x1bWUgc2xpZGVyIGNvbnRhaW5lciBpcyByZW1vdmVkLiBUaGUgdmlz
dWFsCisgICAgICAgIHVwZGF0ZSBpdHNlbGYgaXMgaW4gYSBzZXBhcmF0ZSBwYXRjaC4KKworICAg
ICAgICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzOgorICAgICAgICAoYXVkaW86Oi13
ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNv
bnRyb2xzLW11dGUtYnV0dG9uKToKKyAgICAgICAgUmVtb3ZlZCByZWxhdGl2ZSBwb3NpdGlvbmlu
ZyB0byByZW5kZXIgYWxsIGNvbnRyb2xzIGVsZW1lbnRzIGVxdWFsbHkgaW4gRE9NIG9yZGVyLgor
ICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGxheS1idXR0b24sIHZpZGVv
Ojotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uKToKKyAgICAgICAgUmVtb3ZlZCBh
YnNvbHV0ZSBwb3NpdGlvbmluZyB0byByZW5kZXIgYWxsIGNvbnRyb2xzIGVsZW1lbnRzIGVxdWFs
bHkgaW4gRE9NIG9yZGVyLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
dGltZWxpbmUtY29udGFpbmVyLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGlu
ZS1jb250YWluZXIpOgorICAgICAgICBSZW1vdmVkIGFic29sdXRlIHBvc2l0aW9uaW5nIHRvIHJl
bmRlciBhbGwgY29udHJvbHMgZWxlbWVudHMgZXF1YWxseSBpbiBET00gb3JkZXIuCisgICAgICAg
IChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciwg
dmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRlci1jb250YWluZXIpOgor
ICAgICAgICBSZW1vdmVkIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyIC0gaXQncyBub3QgbmVjZXNz
YXJ5IGFueSBtb3JlLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3Vy
cmVudC10aW1lLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQt
dGltZS1kaXNwbGF5KToKKyAgICAgICAgUmVtb3ZlIGZsZXhib3ggYW5kIGludHJvZHVjZSBpbmxp
bmUgZGlzcGxheSB0byBhbHdheXMgZGlzcGxheSB0aGlzIGZpZWxkLgorICAgICAgICAoYXVkaW86
Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRlciwgdmlkZW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtdm9sdW1lLXNsaWRlcik6CisgICAgICAgIFJlbW92ZWQgYWJzb2x1dGUgcG9z
aXRpb25pbmcgdG8gcmVuZGVyIGFsbCBjb250cm9scyBlbGVtZW50cyBlcXVhbGx5IGluIERPTSBv
cmRlci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBSZW1vdmVkIHZv
bHVtZSBzbGlkZXIgY29udGFpbmVyIC0gaXQncyBub3QgbmVjZXNzYXJ5IGFueSBtb3JlLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToK
KyAgICAgICAgQXBwZW5kZWQgdGhlIHZvbHVtZSBzbGlkZXIgYW5kIHRoZSBtdXRlIGJ1dHRvbiBk
aXJlY3RseSB0byB0aGUgcGFuZWwsIHJlbW92ZWQgdm9sdW1lIHNsaWRlciBjb250YWluZXIuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzZXRNZWRp
YUNvbnRyb2xsZXIpOgorICAgICAgICBSZW1vdmVkIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0
ZWRFcnJvcik6CisgICAgICAgIFJlbW92ZWQgdm9sdW1lIHNsaWRlciBjb250YWluZXIuCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzaG93Vm9sdW1l
U2xpZGVyKToKKyAgICAgICAgUmVtb3ZlZCB2b2x1bWUgc2xpZGVyIGNvbnRhaW5lci4KKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0p
OgorICAgICAgICBSZW1vdmVkIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyLgorICAgICAgICAqIGh0
bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXNW
ZXJ0aWNhbEFwcGVhcmFuY2UpOgorICAgICAgICBBbGxvdyB1c2Ugb2YgaG9yaXpvbnRhbCBtZWRp
YSB2b2x1bWUgc2xpZGVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyVGh1bWI6Omxh
eW91dCk6CisgICAgICAgIFJldXNlIGhhc1ZlcnRpY2FsQXBwZWFyYW5jZSBmdW5jdGlvbi4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYVZvbHVt
ZVNsaWRlcik6CisgICAgICAgIENoYW5nZSBsaW5lIGRyYXdpbmcgZnJvbSB2ZXJ0aWNhbCB0byBo
b3Jpem9udGFsLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OnVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcik6CisgICAgICAg
IEFkZCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIgZnVuY3Rpb24gdG8gYWxsb3cgaG9yaXpvbnRh
bCB2b2x1bWUgc2xpZGVycy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6dXNlc1Zl
cnRpY2FsVm9sdW1lU2xpZGVyKToKKyAgICAgICAgQWRkIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRl
ciBmdW5jdGlvbiB0byBhbGxvdyBob3Jpem9udGFsIHZvbHVtZSBzbGlkZXJzLgorICAgICAgICBB
ZGQgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyIGZ1bmN0aW9uIHRvIGFsbG93IGhvcml6b250YWwg
dm9sdW1lIHNsaWRlcnMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1T
a2lhLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6dXNlc1Zl
cnRpY2FsVm9sdW1lU2xpZGVyKToKKyAgICAgICAgQWRkIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRl
ciBmdW5jdGlvbiB0byBhbGxvdyBob3Jpem9udGFsIHZvbHVtZSBzbGlkZXJzLgorCisyMDEyLTA1
LTI4ICBTaWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
SW50cm9kdWNlIGFuIEVuY2xvc3VyZSBFbGVtZW50IGZvciBDaHJvbWl1bSB2aWRlbyBjb250cm9s
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3Njgz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
ZCB0ZXN0cy4KKworICAgICAgICBUaGUgQ2hyb21lIHZpZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZp
bmcgYSB2aXN1YWwgdXBkYXRlLiBBIG5ldyBlbmNsb3N1cmUgZGl2IGlzIHJlcXVpcmVkCisgICAg
ICAgIHRvIHByb3ZpZGUgZm9yIGEgb2Zmc2V0IHNwYWNlIGZyb20gdGhlIHZpZGVvJ3MgYm91bmRh
cmllcy4gVGhlIHZpc3VhbCB1cGRhdGUgaXRzZWxmIGlzIGluCisgICAgICAgIGEgc2VwYXJhdGUg
cGF0Y2guCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0Nocm9taXVtLmNzczoKKyAgICAg
ICAgKHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWVuY2xvc3VyZSk6CisgICAgICAgIElu
dHJvZHVjZSBDU1MgZm9yIGVuY2xvc3VyZSBkaXYgc28gaXQgZG9lc24ndCBzaG93IHlldC4KKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6
TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50KToKKyAgICAgICAgRGVmaW5pdGlv
biBvZiB0aGUgbmV3IGVuY2xvc3VyZSBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICBEZWZpbml0
aW9uIG9mIGEgY3JlYXRlIG9wZXJhdG9yIGZvciB0aGUgbmV3IGVuY2xvc3VyZSBlbGVtZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50Ojpz
aGFkb3dQc2V1ZG9JZCk6CisgICAgICAgIERlZmluaXRpb24gb2YgdGhlIHNoYWRvd1BzZXVkb0lk
IG9mIC13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlIGZvciB0aGUgZW5jbG9zdXJlIGRp
di4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBJbml0aWFsaXplIG1lbWJl
ciBlbGVtZW50IGZvciBlbmNsb3N1cmUgZGl2LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgSW5zdGFudGlhdGUgZW5j
bG9zdXJlIGRpdiBhbmQgYWRkIGludG8gRE9NIGJldHdlZW4gY29udHJvbHMgYW5kIHBhbmVsIGVs
ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgU2V0IG1lZGlhIGNvbnRyb2xsZXIgZm9y
IGVuY2xvc3VyZSBkaXYuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KToKKyAgICAgICAgSW5zZXJ0IHRleHQg
dHJhY2sgZGlzcGxheSBjb250YWluZXIgdG8gZW5jbG9zdXJlIHJhdGhlciB0aGFuIHBhbmVsLgor
ICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1
cmVFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9z
dXJlRWxlbWVudDo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6bWVkaWFDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6aXNNZWRp
YUNvbnRyb2xFbGVtZW50KToKKyAgICAgICAgQWRkIGRlY2xhcmF0aW9uIG9mIHRoZSBuZXcgZW5j
bG9zdXJlIGVsZW1lbnQgYW5kIGl0cyBtZW1iZXIgZnVuY3Rpb25zLgorICAgICAgICAoTWVkaWFD
b250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bSk6CisgICAgICAgIEFkZCBtZW1iZXIgdmFyaWFibGUg
dG8gY29udHJvbHMgcm9vdCBlbGVtZW50IHRvIGhvbGQgdGhlIGVuY2xvc3VyZSBlbGVtZW50Lgor
CiAyMDEyLTA2LTEwICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Zvcm1zXSBJbnRyb2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5
cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0u
Y3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKaW5kZXgg
NDA5Mzk4YzVkMGNjZjBjOWQ2M2Y2MGU5YjY5MzcyZTlhMzkyNGQyNi4uMzk2ZjY2MWVmMDQxNzgy
ZTIzNTlkYTcwMzNkOWM1NGI0OTFjMWE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlh
Q29udHJvbHNDaHJvbWl1bS5jc3MKQEAgLTMxLDcgKzMxLDcgQEAgYm9keTotd2Via2l0LWZ1bGwt
cGFnZS1tZWRpYSB7CiAKIGF1ZGlvIHsKICAgICB3aWR0aDogMzAwcHg7Ci0gICAgaGVpZ2h0OiAz
MnB4OworICAgIGhlaWdodDogMzBweDsKIH0KIAogYXVkaW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVk
aWEsIHZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhIHsKQEAgLTM5LDkwICszOSw3OSBAQCBh
dWRpbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSwgdmlkZW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVk
aWEgewogICAgIG1heC13aWR0aDogMTAwJTsKIH0KIAotYXVkaW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtcGFuZWwsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHsKLSAgICAt
d2Via2l0LXVzZXItc2VsZWN0OiBub25lOworOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHsKKyAg
ICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2Fs
OwogICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0g
ICAgb3ZlcmZsb3c6IHZpc2libGU7Ci0gICAgYm90dG9tOiAwOworICAgIC13ZWJraXQtYm94LWFs
aWduOiBjZW50ZXI7Cit9CisKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWVuY2xvc3Vy
ZSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlIHsKICAgICB3aWR0aDog
MTAwJTsKLSAgICBoZWlnaHQ6IDMycHg7Ci0gICAgei1pbmRleDogMDsKLSAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7CisgICAgbWF4LXdpZHRoOiA4MDBweDsKKyAgICBo
ZWlnaHQ6IDMwcHg7CisgICAgYm90dG9tOiAwOworICAgIHRleHQtaW5kZW50OiAwOworICAgIHBh
ZGRpbmc6IDA7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKIH0KIAotdmlkZW86LXdlYmtp
dC1mdWxsLXBhZ2UtbWVkaWE6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwgewotICAgIGJv
dHRvbTogMHB4OwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlIHsKKyAg
ICBwYWRkaW5nOiAwcHggNXB4IDVweCA1cHg7CisgICAgaGVpZ2h0OiAzNXB4OwogfQogCiBhdWRp
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtcGFuZWwgewotICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7CisgICAgZGlzcGxheTog
LXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOworICAgIC13
ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwor
ICAgIGJvdHRvbTogYXV0bzsKKyAgICBoZWlnaHQ6IDMwcHg7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogcmdiYSgyMCwgMjAsIDIwLCAwLjgpOworICAgIGJvcmRlci1yYWRpdXM6IDVweDsKIH0KIAog
YXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24sIHZpZGVvOjotd2Via2l0
LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1l
ZGlhLW11dGUtYnV0dG9uOwotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICB0b3A6IGF1dG87
Ci0gICAgYm90dG9tOiAwOwotICAgIHJpZ2h0OiAwOwotICAgIGxlZnQ6IGF1dG87Ci0KLSAgICB3
aWR0aDogMzRweDsKLSAgICBoZWlnaHQ6IDMycHg7CisgICAgZGlzcGxheTogaW5saW5lOworICAg
IGJvcmRlcjogbm9uZTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHdpZHRoOiAz
NXB4OworICAgIGhlaWdodDogMzBweDsKKyAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICBtYXJn
aW46IDAgNnB4IDAgMDsKKyAgICBwYWRkaW5nOiAwOwogfQogCiBhdWRpbzo6LXdlYmtpdC1tZWRp
YS1jb250cm9scy1wbGF5LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGxh
eS1idXR0b24gewogICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtcGxheS1idXR0b247Ci0K
LSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiBhdXRvOwotICAgIGJvdHRvbTogN3B4
OwotICAgIGxlZnQ6IDdweDsKLSAgICByaWdodDogNnB4OwotCi0gICAgd2lkdGg6IDE4cHg7Ci0g
ICAgaGVpZ2h0OiAxOXB4OwotfQotCi1hdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1l
bGluZS1jb250YWluZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLWNv
bnRhaW5lciB7Ci0gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS10aW1lbGluZS1jb250YWlu
ZXI7Ci0gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKLSAgICAtd2Via2l0LWJveC1vcmll
bnQ6IGhvcml6b250YWw7Ci0gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKLSAgICAtd2Vi
a2l0LWJveC1wYWNrOiBjZW50ZXI7Ci0gICAgLXdlYmtpdC1ib3gtZmxleDogMTsKLQotICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKLSAgICB0b3A6IGF1dG87Ci0gICAgYm90dG9tOiAwOwotICAgIGxl
ZnQ6IDMwcHg7Ci0gICAgcmlnaHQ6IDM0cHg7Ci0KLSAgICB3aWR0aDogYXV0bzsKLSAgICBoZWln
aHQ6IDMycHg7Ci0KLSAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1
NSwgMC4yKTsKLSAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUs
IDAuMik7CisgICAgZGlzcGxheTogaW5saW5lOworICAgIGJvcmRlcjogbm9uZTsKKyAgICBib3gt
c2l6aW5nOiBib3JkZXItYm94OworICAgIHdpZHRoOiAzMHB4OworICAgIGhlaWdodDogMzBweDsK
KyAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICBtYXJnaW4tbGVmdDogOXB4OworICAgIG1hcmdp
bi1yaWdodDogOXB4OworICAgIHBhZGRpbmc6IDA7CiB9CiAKLWF1ZGlvOjotd2Via2l0LW1lZGlh
LWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5LCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1jdXJyZW50LXRpbWUtZGlzcGxheSB7CithdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9s
cy1jdXJyZW50LXRpbWUtZGlzcGxheSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3Vy
cmVudC10aW1lLWRpc3BsYXksCithdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lLXJl
bWFpbmluZy1kaXNwbGF5LCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lLXJlbWFp
bmluZy1kaXNwbGF5IHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWN1cnJlbnQtdGlt
ZS1kaXNwbGF5OwogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7Ci0gICAgZGlzcGxheTog
LXdlYmtpdC1ib3g7Ci0gICAgLXdlYmtpdC1ib3gtZmxleDogMDsKLSAgICAtd2Via2l0LWJveC1w
YWNrOiBjZW50ZXI7Ci0gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKLQotICAgIG92ZXJm
bG93OiBoaWRkZW47CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgYm9yZGVyOiBub25lOwogICAg
IGN1cnNvcjogZGVmYXVsdDsKIAotICAgIGxpbmUtaGVpZ2h0OiAyMXB4OwotICAgIGhlaWdodDog
MjBweDsKLSAgICB3aWR0aDogNThweDsKKyAgICBoZWlnaHQ6IDMwcHg7CisgICAgbWFyZ2luOiAw
IDlweCAwIDA7CisgICAgcGFkZGluZzogMDsKIAotICAgIHRleHQtYWxpZ246IGNlbnRlcjsKLSAg
ICBmb250LWZhbWlseTogQXJpYWw7Ci0gICAgZm9udC1zaXplOiAxNnB4OworICAgIGxpbmUtaGVp
Z2h0OiAzMHB4OworICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlm
OworICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICBjb2xv
cjogd2hpdGU7CiAKQEAgLTEzNyw0MCArMTI2LDQ4IEBAIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNv
bnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5LCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9s
CiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZSwgdmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtdGltZWxpbmUgewogICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEt
c2xpZGVyOwogICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwotICAgIGJveC1zaXppbmc6IGJvcmRl
ci1ib3g7CiAgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKLQotICAgIHBhZGRpbmc6IDBweDsKLSAg
ICBtYXJnaW46IDBweCA2cHg7Ci0gICAgaGVpZ2h0OiAxOHB4OwotCi0gICAgYm9yZGVyLWNvbG9y
OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7Ci0gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKLSAg
ICBib3JkZXItd2lkdGg6IDFweDsKLSAgICBib3JkZXItcmFkaXVzOiAycHg7Ci0gICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsKLSAgICBjb2xvcjogcmdiKDUw
LCAxNDAsIDIyMyk7Ci19Ci0KLWF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1z
bGlkZXItY29udGFpbmVyLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xp
ZGVyLWNvbnRhaW5lciB7Ci0gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS12b2x1bWUtc2xp
ZGVyLWNvbnRhaW5lcjsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgYm90dG9tOiAzMnB4
OwotCi0gICAgd2lkdGg6IDM0cHg7Ci0gICAgaGVpZ2h0OiAxMDBweDsKLQotICAgIGJhY2tncm91
bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsKKyAgICBoZWlnaHQ6IDhweDsKKyAgICBtYXJn
aW46IDAgMTVweCAwIDA7CisgICAgcGFkZGluZzogMDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0
cmFuc3BhcmVudDsKKyAgICBtaW4td2lkdGg6IDI1cHg7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXZvbHVtZS1zbGlkZXIgewogICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtdm9sdW1lLXNs
aWRlcjsKLSAgICBkaXNwbGF5OiBpbmxpbmU7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotCi0g
ICAgdG9wOiAxMHB4OwotICAgIGxlZnQ6IDEycHg7CisgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7
CisgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKKyAgICBoZWlnaHQ6IDhweDsKKyAgICBtYXgtd2lk
dGg6IDcwcHg7CisgICAgbWFyZ2luOiAwIDE1cHggMCAwOworICAgIHBhZGRpbmc6IDA7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CisgICAgbWluLXdpZHRoOiAxNXB4OworfQog
Ci0gICAgd2lkdGg6IDEwcHg7Ci0gICAgaGVpZ2h0OiA4MHB4OworLyogRklYTUUgdGhlc2Ugc2hv
dWxkbid0IHVzZSBzcGVjaWFsIHBzZXVkb1NoYWRvd0lkcywgYnV0IG5pY2VyIHJ1bGVzLgorICAg
aHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExMjUw
OAorICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjE4CisqLwor
aW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItY29udGFpbmVyIHsKKyAg
ICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwor
ICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsgLyogVGhpcyBwcm9wZXJ0eSBpcyB1
cGRhdGVkIGJ5IEMrKyBjb2RlLiAqLworICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJv
eDsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgd2lkdGg6IDEwMCU7CisgICAgYm9yZGVyOiAxcHgg
c29saWQgcmdiKDEzMCwgMTMwLCAxMzApOworICAgIGJvcmRlci1yYWRpdXM6IDRweDsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogQmFja2dyb3VuZCBkcmF3aW5nIGlzIG1h
bmFnZWQgYnkgQysrIGNvZGUgdG8gZHJhdyByYW5nZXMuICovCiB9CisKK2lucHV0W3R5cGU9InJh
bmdlIl06Oi13ZWJraXQtbWVkaWEtc2xpZGVyLXRodW1iIHsKKyAgICBkaXNwbGF5OiBibG9jazsK
KyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHNsaWRlcnRodW1iLWhvcml6b250YWw7CisgICAgLXdl
YmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICBib3R0b206IDFweDsKKyAgICBtYXJnaW4tbGVmdDogLTdweDsKKyAgICBtYXJnaW4tcmlnaHQ6
IC03cHg7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDIxMjA0OGFi
MjJiYjQwMzk1NTBiNGIwM2E4MGJkZDg1ODQ3Njk1MzcuLjIyMTE5MmM1YTdjODJiOTU0ZTM0OTI2
MTBhNmYwMGRiZGUxODc3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTkwMSw2ICs5MDEsNyBAQCBjb25zdCBBdG9t
aWNTdHJpbmcmIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBj
b25zdAogCiBpbmxpbmUgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6TWVkaWFDb250
cm9sVm9sdW1lU2xpZGVyRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBNZWRpYUNv
bnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1lZGlhVm9sdW1lU2xpZGVyKQorICAgICwgbV9j
bGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24oZmFsc2UpCiB7CiB9CiAKQEAgLTkzNCw2ICs5MzUs
OCBAQCB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmRlZmF1bHRFdmVudEhh
bmRsZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0Vm9sdW1l
KHZvbHVtZSwgZWMpOwogICAgICAgICBBU1NFUlQoIWVjKTsKICAgICB9CisgICAgaWYgKG1fY2xl
YXJNdXRlZE9uVXNlckludGVyYWN0aW9uKQorICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0
TXV0ZWQoZmFsc2UpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6
OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCkBAIC05NDIsNiArOTQ1LDExIEBAIHZvaWQgTWVkaWFD
b250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Vm9sdW1lKGZsb2F0IHZvbHVtZSkKICAgICAg
ICAgc2V0VmFsdWUoU3RyaW5nOjpudW1iZXIodm9sdW1lKSk7CiB9CiAKK3ZvaWQgTWVkaWFDb250
cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKGJv
b2wgY2xlYXJNdXRlKQoreworICAgIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uID0gY2xl
YXJNdXRlOworfQorCiBjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRl
ckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKIHsKICAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgaWQsICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xp
ZGVyIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmgKaW5kZXggMDM1NzBmNzU1MTUzY2M2ZjMzYWRlZGU4Yzk0MzI4ZWZmNjZiZGQ3OS4u
ZGI3YzY0MDU0OTY3YWE3NjllZTNmZTc5MGUzNmFmOTExYzI0MzJjNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCkBAIC0zODksMTIg
KzM4OSwxNCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxl
cihFdmVudCopOwogICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KTsKKyAgICB2b2lkIHNldENsZWFy
TXV0ZWRPblVzZXJJbnRlcmFjdGlvbihib29sKTsKIAogcHJvdGVjdGVkOgogICAgIE1lZGlhQ29u
dHJvbFZvbHVtZVNsaWRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAogcHJpdmF0ZToKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKKyAgICBib29s
IG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uOwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAppbmRleCBiZGNkOTE2NGQ4
OWRhZDRiN2ZkNzg4ZGFhMjJiMzM5NjhmOWUwMGE1Li5jNGY3NDc2OGVjMWYwN2QyOGQzYmIwNWY5
N2EwMGM5MTAyYmQzMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcApAQCAtMjksNiAr
MjksNyBAQAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtLmgiCiAKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJN
ZWRpYUNvbnRyb2xFbGVtZW50cy5oIgpAQCAtNDUsMTcgKzQ2LDM0IEBAIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorTWVkaWFDb250cm9sQ2hyb21pdW1FbmNs
b3N1cmVFbGVtZW50OjpNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQoRG9jdW1l
bnQqIGRvY3VtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRv
Y3VtZW50LT5kb2N1bWVudCgpKQorICAgICwgbV9tZWRpYUNvbnRyb2xsZXIoMCkKK3sKK30KKwor
UGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ+IE1lZGlhQ29u
dHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJl
RWxlbWVudChkb2N1bWVudCkpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJv
bENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAoreworICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpZCwgKCItd2Via2l0LW1lZGlhLWNv
bnRyb2xzLWVuY2xvc3VyZSIpKTsKKyAgICByZXR1cm4gaWQ7Cit9CisKIE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0oRG9jdW1l
bnQqIGRvY3VtZW50KQogICAgIDogTWVkaWFDb250cm9scyhkb2N1bWVudCkKICAgICAsIG1fbWVk
aWFDb250cm9sbGVyKDApCiAgICAgLCBtX3BsYXlCdXR0b24oMCkKICAgICAsIG1fY3VycmVudFRp
bWVEaXNwbGF5KDApCisgICAgLCBtX2R1cmF0aW9uRGlzcGxheSgwKQogICAgICwgbV90aW1lbGlu
ZSgwKQotICAgICwgbV90aW1lbGluZUNvbnRhaW5lcigwKQogICAgICwgbV9wYW5lbE11dGVCdXR0
b24oMCkKICAgICAsIG1fdm9sdW1lU2xpZGVyKDApCi0gICAgLCBtX3ZvbHVtZVNsaWRlckNvbnRh
aW5lcigwKQogICAgICwgbV9wYW5lbCgwKQorICAgICwgbV9lbmNsb3N1cmUoMCkKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCiAgICAgLCBtX3RleHREaXNwbGF5Q29udGFpbmVyKDApCiAgICAgLCBt
X3RleHRUcmFja0Rpc3BsYXkoMCkKQEAgLTc3LDYgKzk1LDkgQEAgUGFzc1JlZlB0cjxNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtPiBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
OjpjcmUKIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiBjb250
cm9scyA9IGFkb3B0UmVmKG5ldyBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKGRvY3Vt
ZW50KSk7CiAKKyAgICAvLyBDcmVhdGUgYW4gZW5jbG9zaW5nIGVsZW1lbnQgZm9yIHRoZSBwYW5l
bCBzbyB3ZSBjYW4gdmlzdWFsbHkgb2Zmc2V0IHRoZSBjb250cm9scyBjb3JyZWN0bHkuCisgICAg
UmVmUHRyPE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudD4gZW5jbG9zdXJlID0g
TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwor
CiAgICAgUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudD4gcGFuZWwgPSBNZWRpYUNvbnRy
b2xQYW5lbEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiAKICAgICBFeGNlcHRpb25Db2RlIGVj
OwpAQCAtODcsNTIgKzEwOCw0NSBAQCBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW0+IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZQogICAgIGlmIChl
YykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBSZWZQdHI8TWVkaWFDb250cm9sVGltZWxpbmVD
b250YWluZXJFbGVtZW50PiB0aW1lbGluZUNvbnRhaW5lciA9IE1lZGlhQ29udHJvbFRpbWVsaW5l
Q29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKLQogICAgIFJlZlB0cjxNZWRpYUNv
bnRyb2xUaW1lbGluZUVsZW1lbnQ+IHRpbWVsaW5lID0gTWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQsIGNvbnRyb2xzLmdldCgpKTsKICAgICBjb250cm9scy0+bV90
aW1lbGluZSA9IHRpbWVsaW5lLmdldCgpOwotICAgIHRpbWVsaW5lQ29udGFpbmVyLT5hcHBlbmRD
aGlsZCh0aW1lbGluZS5yZWxlYXNlKCksIGVjLCB0cnVlKTsKKyAgICBwYW5lbC0+YXBwZW5kQ2hp
bGQodGltZWxpbmUucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICBy
ZXR1cm4gMDsKIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlFbGVt
ZW50PiBjdXJyZW50VGltZURpc3BsYXkgPSBNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlF
bGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwogICAgIGNvbnRyb2xzLT5tX2N1cnJlbnRUaW1lRGlz
cGxheSA9IGN1cnJlbnRUaW1lRGlzcGxheS5nZXQoKTsKLSAgICB0aW1lbGluZUNvbnRhaW5lci0+
YXBwZW5kQ2hpbGQoY3VycmVudFRpbWVEaXNwbGF5LnJlbGVhc2UoKSwgZWMsIHRydWUpOwotICAg
IGlmIChlYykKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBjb250cm9scy0+bV90aW1lbGluZUNv
bnRhaW5lciA9IHRpbWVsaW5lQ29udGFpbmVyLmdldCgpOwotICAgIHBhbmVsLT5hcHBlbmRDaGls
ZCh0aW1lbGluZUNvbnRhaW5lci5yZWxlYXNlKCksIGVjLCB0cnVlKTsKLSAgICBpZiAoZWMpCi0g
ICAgICAgIHJldHVybiAwOwotCi0gICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBwYW5lbFZvbHVt
ZUNvbnRyb2xDb250YWluZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKLQot
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50PiB2b2x1
bWVTbGlkZXJDb250YWluZXIgPSBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVt
ZW50OjpjcmVhdGUoZG9jdW1lbnQpOwotCi0gICAgUmVmUHRyPE1lZGlhQ29udHJvbFZvbHVtZVNs
aWRlckVsZW1lbnQ+IHNsaWRlciA9IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmNy
ZWF0ZShkb2N1bWVudCk7Ci0gICAgY29udHJvbHMtPm1fdm9sdW1lU2xpZGVyID0gc2xpZGVyLmdl
dCgpOwotICAgIHZvbHVtZVNsaWRlckNvbnRhaW5lci0+YXBwZW5kQ2hpbGQoc2xpZGVyLnJlbGVh
c2UoKSwgZWMsIHRydWUpOworICAgIGNvbnRyb2xzLT5tX2N1cnJlbnRUaW1lRGlzcGxheS0+aGlk
ZSgpOworICAgIHBhbmVsLT5hcHBlbmRDaGlsZChjdXJyZW50VGltZURpc3BsYXkucmVsZWFzZSgp
LCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGNvbnRy
b2xzLT5tX3ZvbHVtZVNsaWRlckNvbnRhaW5lciA9IHZvbHVtZVNsaWRlckNvbnRhaW5lci5nZXQo
KTsKLSAgICBwYW5lbFZvbHVtZUNvbnRyb2xDb250YWluZXItPmFwcGVuZENoaWxkKHZvbHVtZVNs
aWRlckNvbnRhaW5lci5yZWxlYXNlKCksIGVjLCB0cnVlKTsKKyAgICBSZWZQdHI8TWVkaWFDb250
cm9sVGltZVJlbWFpbmluZ0Rpc3BsYXlFbGVtZW50PiBkdXJhdGlvbkRpc3BsYXkgPSBNZWRpYUNv
bnRyb2xUaW1lUmVtYWluaW5nRGlzcGxheUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CisgICAg
Y29udHJvbHMtPm1fZHVyYXRpb25EaXNwbGF5ID0gZHVyYXRpb25EaXNwbGF5LmdldCgpOworICAg
IHBhbmVsLT5hcHBlbmRDaGlsZChkdXJhdGlvbkRpc3BsYXkucmVsZWFzZSgpLCBlYywgdHJ1ZSk7
CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIFJlZlB0cjxNZWRpYUNvbnRy
b2xQYW5lbE11dGVCdXR0b25FbGVtZW50PiBwYW5lbE11dGVCdXR0b24gPSBNZWRpYUNvbnRyb2xQ
YW5lbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIGNvbnRyb2xzLmdldCgpKTsK
ICAgICBjb250cm9scy0+bV9wYW5lbE11dGVCdXR0b24gPSBwYW5lbE11dGVCdXR0b24uZ2V0KCk7
Ci0gICAgcGFuZWxWb2x1bWVDb250cm9sQ29udGFpbmVyLT5hcHBlbmRDaGlsZChwYW5lbE11dGVC
dXR0b24ucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CisgICAgcGFuZWwtPmFwcGVuZENoaWxkKHBhbmVs
TXV0ZUJ1dHRvbi5yZWxlYXNlKCksIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJl
dHVybiAwOwogCi0gICAgcGFuZWwtPmFwcGVuZENoaWxkKHBhbmVsVm9sdW1lQ29udHJvbENvbnRh
aW5lciwgZWMsIHRydWUpOworICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVt
ZW50PiBzbGlkZXIgPSBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpjcmVhdGUoZG9j
dW1lbnQpOworICAgIGNvbnRyb2xzLT5tX3ZvbHVtZVNsaWRlciA9IHNsaWRlci5nZXQoKTsKKyAg
ICBjb250cm9scy0+bV92b2x1bWVTbGlkZXItPnNldENsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlv
bih0cnVlKTsKKyAgICBwYW5lbC0+YXBwZW5kQ2hpbGQoc2xpZGVyLnJlbGVhc2UoKSwgZWMsIHRy
dWUpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBjb250cm9scy0+bV9w
YW5lbCA9IHBhbmVsLmdldCgpOwotICAgIGNvbnRyb2xzLT5hcHBlbmRDaGlsZChwYW5lbC5yZWxl
YXNlKCksIGVjLCB0cnVlKTsKKyAgICBlbmNsb3N1cmUtPmFwcGVuZENoaWxkKHBhbmVsLnJlbGVh
c2UoKSwgZWMsIHRydWUpOworICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBj
b250cm9scy0+bV9lbmNsb3N1cmUgPSBlbmNsb3N1cmUuZ2V0KCk7CisgICAgY29udHJvbHMtPmFw
cGVuZENoaWxkKGVuY2xvc3VyZS5yZWxlYXNlKCksIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCiAg
ICAgICAgIHJldHVybiAwOwogCkBAIC0xNDksMTggKzE2MywxOCBAQCB2b2lkIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJ
bnRlcmZhYwogICAgICAgICBtX3BsYXlCdXR0b24tPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9s
bGVyKTsKICAgICBpZiAobV9jdXJyZW50VGltZURpc3BsYXkpCiAgICAgICAgIG1fY3VycmVudFRp
bWVEaXNwbGF5LT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CisgICAgaWYgKG1fZHVy
YXRpb25EaXNwbGF5KQorICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0TWVkaWFDb250cm9s
bGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX3RpbWVsaW5lKQogICAgICAgICBtX3RpbWVsaW5l
LT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7Ci0gICAgaWYgKG1fdGltZWxpbmVDb250
YWluZXIpCi0gICAgICAgIG1fdGltZWxpbmVDb250YWluZXItPnNldE1lZGlhQ29udHJvbGxlcihj
b250cm9sbGVyKTsKICAgICBpZiAobV9wYW5lbE11dGVCdXR0b24pCiAgICAgICAgIG1fcGFuZWxN
dXRlQnV0dG9uLT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiAgICAgaWYgKG1fdm9s
dW1lU2xpZGVyKQogICAgICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0TWVkaWFDb250cm9sbGVyKGNv
bnRyb2xsZXIpOwotICAgIGlmIChtX3ZvbHVtZVNsaWRlckNvbnRhaW5lcikKLSAgICAgICAgbV92
b2x1bWVTbGlkZXJDb250YWluZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICAg
ICBpZiAobV9wYW5lbCkKICAgICAgICAgbV9wYW5lbC0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRy
b2xsZXIpOworICAgIGlmIChtX2VuY2xvc3VyZSkKKyAgICAgICAgbV9lbmNsb3N1cmUtPnNldE1l
ZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAg
aWYgKG1fdGV4dERpc3BsYXlDb250YWluZXIpCiAgICAgICAgIG1fdGV4dERpc3BsYXlDb250YWlu
ZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKQEAgLTE3OCw3ICsxOTIsNiBAQCB2
b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmhpZGUoKQogewogICAgIG1fcGFu
ZWwtPnNldElzRGlzcGxheWVkKGZhbHNlKTsKICAgICBtX3BhbmVsLT5oaWRlKCk7Ci0gICAgbV92
b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudENocm9taXVtOjptYWtlT3BhcXVlKCkKQEAgLTE4OSw3ICsyMDIsNiBAQCB2b2lkIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Om1ha2VPcGFxdWUoKQogdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjptYWtlVHJhbnNwYXJlbnQoKQogewogICAgIG1fcGFu
ZWwtPm1ha2VUcmFuc3BhcmVudCgpOwotICAgIG1fdm9sdW1lU2xpZGVyQ29udGFpbmVyLT5oaWRl
KCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVzZXQoKQpA
QCAtMjAyLDcgKzIxNCwxMSBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06
OnJlc2V0KCkKIAogICAgIGZsb2F0IGR1cmF0aW9uID0gbV9tZWRpYUNvbnRyb2xsZXItPmR1cmF0
aW9uKCk7CiAgICAgbV90aW1lbGluZS0+c2V0RHVyYXRpb24oZHVyYXRpb24pOwotICAgIG1fdGlt
ZWxpbmVDb250YWluZXItPnNob3coKTsKKyAgICBtX3RpbWVsaW5lLT5zaG93KCk7CisKKyAgICBt
X2R1cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCktPmZvcm1hdE1lZGlh
Q29udHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgbV9kdXJh
dGlvbkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CisKICAgICBtX3RpbWVsaW5l
LT5zZXRQb3NpdGlvbihtX21lZGlhQ29udHJvbGxlci0+Y3VycmVudFRpbWUoKSk7CiAgICAgdXBk
YXRlVGltZURpc3BsYXkoKTsKIApAQCAtMjE4LDYgKzIzNCw4IEBAIHZvaWQgTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tTdGFydGVkKCkKIHsKICAgICBtX3BsYXlCdXR0
b24tPnVwZGF0ZURpc3BsYXlUeXBlKCk7CiAgICAgbV90aW1lbGluZS0+c2V0UG9zaXRpb24obV9t
ZWRpYUNvbnRyb2xsZXItPmN1cnJlbnRUaW1lKCkpOworICAgIG1fY3VycmVudFRpbWVEaXNwbGF5
LT5zaG93KCk7CisgICAgbV9kdXJhdGlvbkRpc3BsYXktPmhpZGUoKTsKICAgICB1cGRhdGVUaW1l
RGlzcGxheSgpOwogfQogCkBAIC0yNDcsNiArMjY1LDEyIEBAIHZvaWQgTWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bTo6dXBkYXRlVGltZURpc3BsYXkoKQogICAgIGlmICghcGFnZSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgLy8gQWZ0ZXIgc2VlaywgaGlkZSBkdXJhdGlvbiBkaXNwbGF5
IGFuZCBzaG93IGN1cnJlbnQgdGltZS4KKyAgICBpZiAobm93ID4gMCkgeworICAgICAgICBtX2N1
cnJlbnRUaW1lRGlzcGxheS0+c2hvdygpOworICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+aGlk
ZSgpOworICAgIH0KKwogICAgIC8vIEFsbG93IHRoZSB0aGVtZSB0byBmb3JtYXQgdGhlIHRpbWUu
CiAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+c2V0SW5u
ZXJUZXh0KHBhZ2UtPnRoZW1lKCktPmZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShub3cs
IGR1cmF0aW9uKSwgZWMpOwpAQCAtMjU5LDkgKzI4Myw5IEBAIHZvaWQgTWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0ZWRFcnJvcigpCiAgICAgaWYgKCFwYWdlKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX3RpbWVsaW5lQ29udGFpbmVyLT5oaWRlKCk7CisgICAgbV90aW1l
bGluZS0+aGlkZSgpOwogICAgIG1fcGFuZWxNdXRlQnV0dG9uLT5oaWRlKCk7Ci0gICAgbV92b2x1
bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKyAgICBtX3ZvbHVtZVNsaWRlci0+aGlkZSgpOwog
fQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnVwZGF0ZVN0YXR1c0Rp
c3BsYXkoKQpAQCAtMzExLDYgKzMzNSwxMSBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OmNoYW5nZWRDbG9zZWRDYXB0aW9uc1Zpc2liaWxpdHkoKQogdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkTXV0ZSgpCiB7CiAgICAgbV9wYW5lbE11
dGVCdXR0b24tPmNoYW5nZWRNdXRlKCk7CisKKyAgICBpZiAobV9tZWRpYUNvbnRyb2xsZXItPm11
dGVkKCkpCisgICAgICAgIG1fdm9sdW1lU2xpZGVyLT5zZXRWb2x1bWUoMCk7CisgICAgZWxzZQor
ICAgICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0Vm9sdW1lKG1fbWVkaWFDb250cm9sbGVyLT52b2x1
bWUoKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y2hhbmdl
ZFZvbHVtZSgpCkBAIC0zMzEsNyArMzYwLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtOjpzaG93Vm9sdW1lU2xpZGVyKCkKICAgICBpZiAoIW1fbWVkaWFDb250cm9sbGVy
LT5oYXNBdWRpbygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3ZvbHVtZVNsaWRlckNvbnRh
aW5lci0+c2hvdygpOworICAgIG1fdm9sdW1lU2xpZGVyLT5zaG93KCk7CiB9CiAKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCkBAIC0zNDUsNyArMzc0LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudENocm9taXVtOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIAogICAgIC8vIEluc2Vy
dCBpdCBiZWZvcmUgdGhlIGZpcnN0IGNvbnRyb2xsZXIgZWxlbWVudCBzbyBpdCBhbHdheXMgZGlz
cGxheXMgYmVoaW5kIHRoZSBjb250cm9scy4KICAgICBFeGNlcHRpb25Db2RlIGVjOwotICAgIGlu
c2VydEJlZm9yZSh0ZXh0RGlzcGxheUNvbnRhaW5lci5yZWxlYXNlKCksIG1fcGFuZWwsIGVjLCB0
cnVlKTsKKyAgICBpbnNlcnRCZWZvcmUodGV4dERpc3BsYXlDb250YWluZXIucmVsZWFzZSgpLCBt
X2VuY2xvc3VyZSwgZWMsIHRydWUpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OnNob3dUZXh0VHJhY2tEaXNwbGF5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaApp
bmRleCAzNjYxODZiNjVlMWY4MjU1NWJiMWY1NzFjNTY5YjM3Zjk0N2UwMWM5Li5iMzY1Y2MzM2M2
M2EwM2VlYzA5YWQyOTgyNDllNTlmNTc5YzVkMzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5o
CkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIEV2ZW50OwogY2xhc3MgTWVkaWFDb250cm9sUGFuZWxN
dXRlQnV0dG9uRWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50Owog
Y2xhc3MgTWVkaWFDb250cm9sQ3VycmVudFRpbWVEaXNwbGF5RWxlbWVudDsKK2NsYXNzIE1lZGlh
Q29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbFRp
bWVsaW5lRWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ7CiBj
bGFzcyBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDsKQEAgLTQ3LDggKzQ4LDgg
QEAgY2xhc3MgTWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50OwogY2xhc3MgTWVkaWFDb250
cm9sVGltZWxpbmVDb250YWluZXJFbGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sTXV0ZUJ1dHRv
bkVsZW1lbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OwotY2xhc3Mg
TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyQ29udGFpbmVyRWxlbWVudDsKIGNsYXNzIE1lZGlhQ29u
dHJvbFBhbmVsRWxlbWVudDsKK2NsYXNzIE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxl
bWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbGxlckludGVyZmFjZTsKIGNsYXNzIE1lZGlhUGxheWVy
OwogCkBAIC02MCw2ICs2MSwyNCBAQCBjbGFzcyBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWlu
ZXJFbGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sVGV4dFRyYWNrRGlzcGxheUVsZW1lbnQ7CiAj
ZW5kaWYKIAorY2xhc3MgTWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50IDogcHVi
bGljIEhUTUxEaXZFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRp
YUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCopOworCisg
ICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CisK
KyAgICB2b2lkIHNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJbnRlcmZhY2UqIGNv
bnRyb2xsZXIpIHsgbV9tZWRpYUNvbnRyb2xsZXIgPSBjb250cm9sbGVyOyB9CisgICAgTWVkaWFD
b250cm9sbGVySW50ZXJmYWNlKiBtZWRpYUNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX21l
ZGlhQ29udHJvbGxlcjsgfQorCitwcm90ZWN0ZWQ6CisgICAgTWVkaWFDb250cm9sQ2hyb21pdW1F
bmNsb3N1cmVFbGVtZW50KERvY3VtZW50Kik7CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCBib29s
IGlzTWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIE1l
ZGlhQ29udHJvbGxlckludGVyZmFjZSogbV9tZWRpYUNvbnRyb2xsZXI7Cit9OworCiBjbGFzcyBN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtIDogcHVibGljIE1lZGlhQ29udHJvbHMgewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0+IGNyZWF0ZShEb2N1bWVudCopOwpAQCAtMTE2LDEyICsxMzUsMTMgQEAgcHJpdmF0ZToK
IAogICAgIE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50KiBtX3BsYXlCdXR0b247CiAgICAg
TWVkaWFDb250cm9sQ3VycmVudFRpbWVEaXNwbGF5RWxlbWVudCogbV9jdXJyZW50VGltZURpc3Bs
YXk7CisgICAgTWVkaWFDb250cm9sVGltZVJlbWFpbmluZ0Rpc3BsYXlFbGVtZW50KiBtX2R1cmF0
aW9uRGlzcGxheTsKICAgICBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQqIG1fdGltZWxpbmU7
CiAgICAgTWVkaWFDb250cm9sVGltZWxpbmVDb250YWluZXJFbGVtZW50KiBtX3RpbWVsaW5lQ29u
dGFpbmVyOwogICAgIE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1lbnQqIG1fcGFuZWxN
dXRlQnV0dG9uOwogICAgIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQqIG1fdm9sdW1l
U2xpZGVyOwotICAgIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckNvbnRhaW5lckVsZW1lbnQqIG1f
dm9sdW1lU2xpZGVyQ29udGFpbmVyOwogICAgIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudCogbV9w
YW5lbDsKKyAgICBNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQqIG1fZW5jbG9z
dXJlOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50KiBtX3RleHREaXNwbGF5Q29udGFpbmVyOwogICAgIE1lZGlhQ29udHJv
bFRleHRUcmFja0Rpc3BsYXlFbGVtZW50KiBtX3RleHRUcmFja0Rpc3BsYXk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAppbmRleCA0ZTcx
NGEwMzkxZTQ2Y2IxZWQyYmExZWVhNTQxNDJiMjdiNTA5NDQ2Li5iNTMzOTU5OWQwZjhjYWUxNGM5
MDMzOWY4YTY3YTU4MThjMGVlYjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKQEAgLTYyLDcgKzYyLDEwIEBAIGlubGluZSBzdGF0
aWMgYm9vbCBoYXNWZXJ0aWNhbEFwcGVhcmFuY2UoSFRNTElucHV0RWxlbWVudCogaW5wdXQpCiB7
CiAgICAgQVNTRVJUKGlucHV0LT5yZW5kZXJlcigpKTsKICAgICBSZW5kZXJTdHlsZSogc2xpZGVy
U3R5bGUgPSBpbnB1dC0+cmVuZGVyZXIoKS0+c3R5bGUoKTsKLSAgICByZXR1cm4gc2xpZGVyU3R5
bGUtPmFwcGVhcmFuY2UoKSA9PSBTbGlkZXJWZXJ0aWNhbFBhcnQgfHwgc2xpZGVyU3R5bGUtPmFw
cGVhcmFuY2UoKSA9PSBNZWRpYVZvbHVtZVNsaWRlclBhcnQ7CisgICAgUmVuZGVyVGhlbWUqIHNs
aWRlclRoZW1lID0gaW5wdXQtPnJlbmRlcmVyKCktPnRoZW1lKCk7CisKKyAgICByZXR1cm4gc2xp
ZGVyU3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBTbGlkZXJWZXJ0aWNhbFBhcnQKKyAgICAgICAgfHwg
KHNsaWRlclN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFWb2x1bWVTbGlkZXJQYXJ0ICYmIHNs
aWRlclRoZW1lLT51c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSk7CiB9CiAKIFNsaWRlclRodW1i
RWxlbWVudCogc2xpZGVyVGh1bWJFbGVtZW50T2YoTm9kZSogbm9kZSkKQEAgLTEwOCw3ICsxMTEs
NyBAQCB2b2lkIFJlbmRlclNsaWRlclRodW1iOjpsYXlvdXQoKQogICAgIC8vIERvIG5vdCBjYXN0
IG5vZGUoKSB0byBTbGlkZXJUaHVtYkVsZW1lbnQuIFRoaXMgcmVuZGVyZXIgaXMgdXNlZCBmb3IK
ICAgICAvLyBUcmFja0xpbWl0RWxlbWVudCB0b28uCiAgICAgSFRNTElucHV0RWxlbWVudCogaW5w
dXQgPSBub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpLT50b0lucHV0RWxlbWVudCgpOwotICAg
IGJvb2wgaXNWZXJ0aWNhbCA9IHN0eWxlKCktPmFwcGVhcmFuY2UoKSA9PSBTbGlkZXJUaHVtYlZl
cnRpY2FsUGFydCB8fCBzdHlsZSgpLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFWb2x1bWVTbGlkZXJU
aHVtYlBhcnQ7CisgICAgYm9vbCBpc1ZlcnRpY2FsID0gaGFzVmVydGljYWxBcHBlYXJhbmNlKGlu
cHV0KTsKIAogICAgIGRvdWJsZSBmcmFjdGlvbiA9IGNvbnZlcnRJbnB1dE51bWJlclRvRG91Ymxl
KHNsaWRlclBvc2l0aW9uKGlucHV0KSAqIDEwMCk7CiAgICAgaWYgKGlzVmVydGljYWwpCkBAIC0z
MjEsMTIgKzMyNCwzOCBAQCBIVE1MSW5wdXRFbGVtZW50KiBTbGlkZXJUaHVtYkVsZW1lbnQ6Omhv
c3RJbnB1dCgpIGNvbnN0CiAgICAgcmV0dXJuIHNoYWRvd0FuY2VzdG9yTm9kZSgpLT50b0lucHV0
RWxlbWVudCgpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIFNsaWRlclRodW1iRWxlbWVudDo6
c2hhZG93UHNldWRvSWQoKSBjb25zdAorc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc2xpZGVy
VGh1bWJTaGFkb3dQc2V1ZG9JZCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIHNsaWRlclRodW1iLCAoIi13ZWJraXQtc2xpZGVyLXRodW1iIikpOworICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBzbGlkZXJUaHVtYiwgKCItd2Via2l0
LXNsaWRlci10aHVtYiIpKTsKICAgICByZXR1cm4gc2xpZGVyVGh1bWI7CiB9CiAKK3N0YXRpYyBj
b25zdCBBdG9taWNTdHJpbmcmIG1lZGlhU2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpCit7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIG1lZGlhU2xpZGVyVGh1
bWIsICgiLXdlYmtpdC1tZWRpYS1zbGlkZXItdGh1bWIiKSk7CisgICAgcmV0dXJuIG1lZGlhU2xp
ZGVyVGh1bWI7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2xpZGVyVGh1bWJFbGVtZW50Ojpz
aGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBo
b3N0SW5wdXQoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICByZXR1cm4gc2xpZGVyVGh1bWJT
aGFkb3dQc2V1ZG9JZCgpOworCisgICAgUmVuZGVyU3R5bGUqIHNsaWRlclN0eWxlID0gaW5wdXQt
PnJlbmRlcmVyKCktPnN0eWxlKCk7CisgICAgc3dpdGNoIChzbGlkZXJTdHlsZS0+YXBwZWFyYW5j
ZSgpKSB7CisgICAgY2FzZSBNZWRpYVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYVNsaWRlclRo
dW1iUGFydDoKKyAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlh
Vm9sdW1lU2xpZGVyVGh1bWJQYXJ0OgorICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xp
ZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclRodW1iUGFydDoK
KyAgICAgICAgcmV0dXJuIG1lZGlhU2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIHJldHVybiBzbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7CisgICAg
fQorfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbmxpbmUgVHJh
Y2tMaW1pdGVyRWxlbWVudDo6VHJhY2tMaW1pdGVyRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQp
CkBAIC0zNTEsOCArMzgwLDIyIEBAIFJlbmRlck9iamVjdCogVHJhY2tMaW1pdGVyRWxlbWVudDo6
Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsCiAKIGNvbnN0IEF0
b21pY1N0cmluZyYgVHJhY2tMaW1pdGVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAog
ewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzbGlkZXJUaHVtYiwgKCIt
d2Via2l0LXNsaWRlci10aHVtYiIpKTsKLSAgICByZXR1cm4gc2xpZGVyVGh1bWI7CisgICAgSFRN
TElucHV0RWxlbWVudCogaW5wdXQgPSBzaGFkb3dBbmNlc3Rvck5vZGUoKS0+dG9JbnB1dEVsZW1l
bnQoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICByZXR1cm4gc2xpZGVyVGh1bWJTaGFkb3dQ
c2V1ZG9JZCgpOworCisgICAgUmVuZGVyU3R5bGUqIHNsaWRlclN0eWxlID0gaW5wdXQtPnJlbmRl
cmVyKCktPnN0eWxlKCk7CisgICAgc3dpdGNoIChzbGlkZXJTdHlsZS0+YXBwZWFyYW5jZSgpKSB7
CisgICAgY2FzZSBNZWRpYVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYVNsaWRlclRodW1iUGFy
dDoKKyAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhVm9sdW1l
U2xpZGVyVGh1bWJQYXJ0OgorICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyUGFy
dDoKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclRodW1iUGFydDoKKyAgICAg
ICAgcmV0dXJuIG1lZGlhU2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpOworICAgIGRlZmF1bHQ6
CisgICAgICAgIHJldHVybiBzbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7CisgICAgfQogfQog
CiBUcmFja0xpbWl0ZXJFbGVtZW50KiB0cmFja0xpbWl0ZXJFbGVtZW50T2YoTm9kZSogbm9kZSkK
QEAgLTM4NSw4ICs0MjgsMjUgQEAgUmVuZGVyT2JqZWN0KiBTbGlkZXJDb250YWluZXJFbGVtZW50
OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclMKIAogY29uc3QgQXRv
bWljU3RyaW5nJiBTbGlkZXJDb250YWluZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0
CiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNsaWRlclRodW1iLCAo
Ii13ZWJraXQtc2xpZGVyLWNvbnRhaW5lciIpKTsKLSAgICByZXR1cm4gc2xpZGVyVGh1bWI7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhU2xpZGVyQ29udGFpbmVy
LCAoIi13ZWJraXQtbWVkaWEtc2xpZGVyLWNvbnRhaW5lciIpKTsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgc2xpZGVyQ29udGFpbmVyLCAoIi13ZWJraXQtc2xpZGVyLWNv
bnRhaW5lciIpKTsKKworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc2hhZG93QW5jZXN0
b3JOb2RlKCktPnRvSW5wdXRFbGVtZW50KCk7CisgICAgaWYgKCFpbnB1dCkKKyAgICAgICAgcmV0
dXJuIHNsaWRlckNvbnRhaW5lcjsKKworICAgIFJlbmRlclN0eWxlKiBzbGlkZXJTdHlsZSA9IGlu
cHV0LT5yZW5kZXJlcigpLT5zdHlsZSgpOworICAgIHN3aXRjaCAoc2xpZGVyU3R5bGUtPmFwcGVh
cmFuY2UoKSkgeworICAgIGNhc2UgTWVkaWFTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVkaWFTbGlk
ZXJUaHVtYlBhcnQ6CisgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlclBhcnQ6CisgICAgY2FzZSBN
ZWRpYVZvbHVtZVNsaWRlclRodW1iUGFydDoKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVt
ZVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYUZ1bGxTY3JlZW5Wb2x1bWVTbGlkZXJUaHVtYlBh
cnQ6CisgICAgICAgIHJldHVybiBtZWRpYVNsaWRlckNvbnRhaW5lcjsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICByZXR1cm4gc2xpZGVyQ29udGFpbmVyOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVt
LmNwcAppbmRleCA3MmUxMmM4ODFiYzczZmQwNWU5NjVhOThiMGRiOWJmNmIwOGVlOGZmLi4xZjMw
MTNmNDRlMmU1YzFkNjVjMGRmNTQzZTQwODgzOGVlNDNlZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcApA
QCAtNzQsMTQgKzc0LDIxIEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRl
ck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mCiAgICAgaWYgKCFtZWRp
YUVsZW1lbnQpCiAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzdGF0aWMgSW1hZ2UqIHNvdW5k
RnVsbCA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU291bmRGdWxsIik7Ci0gICAgc3RhdGljIElt
YWdlKiBzb3VuZE5vbmUgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVNvdW5kTm9uZSIpOwotICAg
IHN0YXRpYyBJbWFnZSogc291bmREaXNhYmxlZCA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU291
bmREaXNhYmxlZCIpOworICAgIHN0YXRpYyBJbWFnZSogc291bmRMZXZlbDMgPSBwbGF0Zm9ybVJl
c291cmNlKCJtZWRpYXBsYXllclNvdW5kTGV2ZWwzIik7CisgICAgc3RhdGljIEltYWdlKiBzb3Vu
ZExldmVsMiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyU291bmRMZXZlbDIiKTsKKyAg
ICBzdGF0aWMgSW1hZ2UqIHNvdW5kTGV2ZWwxID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5
ZXJTb3VuZExldmVsMSIpOworICAgIHN0YXRpYyBJbWFnZSogc291bmREaXNhYmxlZCA9IHBsYXRm
b3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyU291bmREaXNhYmxlZCIpOwogCi0gICAgaWYgKCFoYXNT
b3VyY2UobWVkaWFFbGVtZW50KSB8fCAhbWVkaWFFbGVtZW50LT5oYXNBdWRpbygpKQorICAgIGlm
ICghaGFzU291cmNlKG1lZGlhRWxlbWVudCkgfHwgIW1lZGlhRWxlbWVudC0+aGFzQXVkaW8oKSB8
fCBtZWRpYUVsZW1lbnQtPm11dGVkKCkgfHwgbWVkaWFFbGVtZW50LT52b2x1bWUoKSA8PSAwKQog
ICAgICAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwg
c291bmREaXNhYmxlZCk7CiAKLSAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8u
Y29udGV4dCwgcmVjdCwgbWVkaWFFbGVtZW50LT5tdXRlZCgpID8gc291bmROb25lOiBzb3VuZEZ1
bGwpOworICAgIGlmIChtZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDw9IDAuMzMpCisgICAgICAgIHJl
dHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBzb3VuZExldmVs
MSk7CisKKyAgICBpZiAobWVkaWFFbGVtZW50LT52b2x1bWUoKSA8PSAwLjY2KQorICAgICAgICBy
ZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgc291bmRMZXZl
bDIpOworCisgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJl
Y3QsIHNvdW5kTGV2ZWwzKTsKIH0KIAogc3RhdGljIGJvb2wgcGFpbnRNZWRpYVBsYXlCdXR0b24o
UmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJ
bnRSZWN0JiByZWN0KQpAQCAtOTAsOSArOTcsOSBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhUGxh
eUJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZgog
ICAgIGlmICghbWVkaWFFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzdGF0
aWMgSW1hZ2UqIG1lZGlhUGxheSA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhUGxheSIpOwotICAg
IHN0YXRpYyBJbWFnZSogbWVkaWFQYXVzZSA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhUGF1c2Ui
KTsKLSAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhUGxheURpc2FibGVkID0gcGxhdGZvcm1SZXNvdXJj
ZSgibWVkaWFQbGF5RGlzYWJsZWQiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhUGxheSA9IHBs
YXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyUGxheSIpOworICAgIHN0YXRpYyBJbWFnZSogbWVk
aWFQYXVzZSA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyUGF1c2UiKTsKKyAgICBzdGF0
aWMgSW1hZ2UqIG1lZGlhUGxheURpc2FibGVkID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5
ZXJQbGF5RGlzYWJsZWQiKTsKIAogICAgIGlmICghaGFzU291cmNlKG1lZGlhRWxlbWVudCkpCiAg
ICAgICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBt
ZWRpYVBsYXlEaXNhYmxlZCk7CkBAIC0xMDIsMTAgKzEwOSw3NSBAQCBzdGF0aWMgYm9vbCBwYWlu
dE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBw
YWludEluZgogCiBzdGF0aWMgSW1hZ2UqIGdldE1lZGlhU2xpZGVyVGh1bWIoKQogewotICAgIHN0
YXRpYyBJbWFnZSogbWVkaWFTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU2xp
ZGVyVGh1bWIiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhU2xpZGVyVGh1bWIgPSBwbGF0Zm9y
bVJlc291cmNlKCJtZWRpYXBsYXllclNsaWRlclRodW1iIik7CiAgICAgcmV0dXJuIG1lZGlhU2xp
ZGVyVGh1bWI7CiB9CiAKK3N0YXRpYyB2b2lkIHBhaW50Um91bmRlZFNsaWRlckJhY2tncm91bmQo
Y29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQpCit7CisgICAgaW50IGJvcmRlclJhZGl1cyA9IHJlY3QuaGVpZ2h0KCkg
LyAyOworICAgIEludFNpemUgcmFkaWkoYm9yZGVyUmFkaXVzLCBib3JkZXJSYWRpdXMpOworICAg
IENvbG9yIHNsaWRlckJhY2tncm91bmRDb2xvciA9IENvbG9yKDI5LCAyOSwgMjkpOworICAgIGNv
bnRleHQtPnNhdmUoKTsKKyAgICBjb250ZXh0LT5maWxsUm91bmRlZFJlY3QocmVjdCwgcmFkaWks
IHJhZGlpLCByYWRpaSwgcmFkaWksIHNsaWRlckJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZURl
dmljZVJHQik7CisgICAgY29udGV4dC0+cmVzdG9yZSgpOworfQorCitzdGF0aWMgdm9pZCBwYWlu
dFNsaWRlclJhbmdlSGlnaGxpZ2h0KGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBmbG9hdCBzdGFydEZyYWN0aW9u
LCBmbG9hdCB3aWR0aEZyYWN0aW9uKQoreworICAgIGlmIChzdGFydEZyYWN0aW9uIDwgMCkKKyAg
ICAgICAgc3RhcnRGcmFjdGlvbiA9IDA7CisgICAgaWYgKHdpZHRoRnJhY3Rpb24gPiAxKQorICAg
ICAgICB3aWR0aEZyYWN0aW9uID0gMTsKKyAgICBmbG9hdCBlbmRGcmFjdGlvbiA9IHN0YXJ0RnJh
Y3Rpb24gKyB3aWR0aEZyYWN0aW9uOworICAgIGlmIChlbmRGcmFjdGlvbiA+IDEpIHsKKyAgICAg
ICAgd2lkdGhGcmFjdGlvbiA9IHdpZHRoRnJhY3Rpb24gLSBzdGFydEZyYWN0aW9uOworICAgICAg
ICBlbmRGcmFjdGlvbiA9IHN0YXJ0RnJhY3Rpb24gKyB3aWR0aEZyYWN0aW9uOworICAgIH0KKwor
ICAgIC8vIFNldCByZWN0YW5nbGUgdG8gaGlnaGxpZ2h0IHJhbmdlLgorICAgIEludFJlY3QgaGln
aGxpZ2h0UmVjdCA9IHJlY3Q7CisgICAgaW50IHN0YXJ0T2Zmc2V0ID0gc3RhcnRGcmFjdGlvbiAq
IHJlY3Qud2lkdGgoKTsKKyAgICBpbnQgZW5kT2Zmc2V0ID0gcmVjdC53aWR0aCgpIC0gZW5kRnJh
Y3Rpb24gKiByZWN0LndpZHRoKCk7CisgICAgaW50IHJhbmdlV2lkdGggPSB3aWR0aEZyYWN0aW9u
ICogcmVjdC53aWR0aCgpOworICAgIGhpZ2hsaWdodFJlY3QubW92ZShzdGFydE9mZnNldCwgMCk7
CisgICAgaGlnaGxpZ2h0UmVjdC5zZXRXaWR0aChyYW5nZVdpZHRoKTsKKworICAgIC8vIERvbid0
IGJvdGhlciBkcmF3aW5nIGFuIGVtcHR5IGFyZWEuCisgICAgaWYgKGhpZ2hsaWdodFJlY3QuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBDYWxjdWxhdGUgYm9yZGVyIHJhZGl1
czsgbmVlZCB0byBhdm9pZCBiZWluZyBzbWFsbGVyIHRoYW4gaGFsZiB0aGUgc2xpZGVyIGhlaWdo
dAorICAgIC8vIGJlY2F1c2Ugb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMwMTQzLgorICAgIGludCBib3JkZXJSYWRpdXMgPSByZWN0LmhlaWdodCgpIC8gMjsKKyAg
ICBJbnRTaXplIHJhZGlpKGJvcmRlclJhZGl1cywgYm9yZGVyUmFkaXVzKTsKKworICAgIC8vIENh
bGN1bGF0ZSB3aGl0ZS1ncmV5IGdyYWRpZW50LgorICAgIEludFBvaW50IHNsaWRlclRvcExlZnQg
PSBoaWdobGlnaHRSZWN0LmxvY2F0aW9uKCk7CisgICAgSW50UG9pbnQgc2xpZGVyQm90dG9tTGVm
dCA9IHNsaWRlclRvcExlZnQ7CisgICAgc2xpZGVyQm90dG9tTGVmdC5tb3ZlKDAsIGhpZ2hsaWdo
dFJlY3QuaGVpZ2h0KCkpOworICAgIENvbG9yIHN0YXJ0Q29sb3IgPSBDb2xvcigyMjAsIDIyMCwg
MjIwKTsKKyAgICBDb2xvciBlbmRDb2xvciA9IENvbG9yKDI0MCwgMjQwLCAyNDApOworICAgIFJl
ZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQgPSBHcmFkaWVudDo6Y3JlYXRlKHNsaWRlclRvcExlZnQs
IHNsaWRlckJvdHRvbUxlZnQpOworICAgIGdyYWRpZW50LT5hZGRDb2xvclN0b3AoMC4wLCBzdGFy
dENvbG9yKTsKKyAgICBncmFkaWVudC0+YWRkQ29sb3JTdG9wKDEuMCwgZW5kQ29sb3IpOworCisg
ICAgLy8gRmlsbCBoaWdobGlnaHQgcmVjdGFuZ2xlIHdpdGggZ3JhZGllbnQsIHBvdGVudGlhbGx5
IHJvdW5kZWQgaWYgb24gbGVmdCBvciByaWdodCBlZGdlLgorICAgIGNvbnRleHQtPnNhdmUoKTsK
KyAgICBjb250ZXh0LT5zZXRGaWxsR3JhZGllbnQoZ3JhZGllbnQpOworCisgICAgaWYgKHN0YXJ0
T2Zmc2V0IDwgYm9yZGVyUmFkaXVzICYmIGVuZE9mZnNldCA8IGJvcmRlclJhZGl1cykKKyAgICAg
ICAgY29udGV4dC0+ZmlsbFJvdW5kZWRSZWN0KGhpZ2hsaWdodFJlY3QsIHJhZGlpLCByYWRpaSwg
cmFkaWksIHJhZGlpLCBzdGFydENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBlbHNl
IGlmIChzdGFydE9mZnNldCA8IGJvcmRlclJhZGl1cykKKyAgICAgICAgY29udGV4dC0+ZmlsbFJv
dW5kZWRSZWN0KGhpZ2hsaWdodFJlY3QsIHJhZGlpLCBJbnRTaXplKDAsIDApLCByYWRpaSwgSW50
U2l6ZSgwLCAwKSwgc3RhcnRDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgZWxzZSBp
ZiAoZW5kT2Zmc2V0IDwgYm9yZGVyUmFkaXVzKQorICAgICAgICBjb250ZXh0LT5maWxsUm91bmRl
ZFJlY3QoaGlnaGxpZ2h0UmVjdCwgSW50U2l6ZSgwLCAwKSwgcmFkaWksIEludFNpemUoMCwgMCks
IHJhZGlpLCBzdGFydENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBlbHNlCisgICAg
ICAgIGNvbnRleHQtPmZpbGxSZWN0KGhpZ2hsaWdodFJlY3QpOworCisgICAgY29udGV4dC0+cmVz
dG9yZSgpOworfQorCiBzdGF0aWMgYm9vbCBwYWludE1lZGlhU2xpZGVyKFJlbmRlck9iamVjdCog
b2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkK
IHsKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b1BhcmVudE1lZGlhRWxl
bWVudChvYmplY3QpOwpAQCAtMTE1LDIzICsxODcsMTAgQEAgc3RhdGljIGJvb2wgcGFpbnRNZWRp
YVNsaWRlcihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8s
IGMKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvYmplY3QtPnN0eWxlKCk7CiAgICAgR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQ7CiAKLSAgICAvLyBEcmF3IHRo
ZSBib3JkZXIgb2YgdGhlIHRpbWUgYmFyLgotICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBiZSBh
IHJvdW5kZWQgcmVjdCBidXQgbmVlZCB0byBmaXggR3JhcGhpY3NDb250ZXh0U2tpYSBmaXJzdC4K
LSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAxNDMKLSAg
ICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgY29udGV4dC0+c2V0U2hvdWxkQW50aWFsaWFzKHRydWUp
OwotICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKLSAgICBjb250ZXh0
LT5zZXRTdHJva2VDb2xvcihzdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5
Qm9yZGVyTGVmdENvbG9yKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC0+c2V0
U3Ryb2tlVGhpY2tuZXNzKHN0eWxlLT5ib3JkZXJMZWZ0V2lkdGgoKSk7Ci0gICAgY29udGV4dC0+
c2V0RmlsbENvbG9yKHN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kQ29sb3IpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LT5kcmF3UmVj
dChyZWN0KTsKLSAgICBjb250ZXh0LT5yZXN0b3JlKCk7CisgICAgcGFpbnRSb3VuZGVkU2xpZGVy
QmFja2dyb3VuZChyZWN0LCBzdHlsZSwgY29udGV4dCk7CiAKICAgICAvLyBEcmF3IHRoZSBidWZm
ZXJlZCByYW5nZS4gU2luY2UgdGhlIGVsZW1lbnQgbWF5IGhhdmUgbXVsdGlwbGUgYnVmZmVyZWQg
cmFuZ2VzIGFuZCBpdCdkIGJlCiAgICAgLy8gZGlzdHJhY3RpbmcvJ2J1c3knIHRvIHNob3cgYWxs
IG9mIHRoZW0sIHNob3cgb25seSB0aGUgYnVmZmVyZWQgcmFuZ2UgY29udGFpbmluZyB0aGUgY3Vy
cmVudCBwbGF5IGhlYWQuCi0gICAgSW50UmVjdCBidWZmZXJlZFJlY3QgPSByZWN0OwotICAgIGJ1
ZmZlcmVkUmVjdC5pbmZsYXRlKC1zdHlsZS0+Ym9yZGVyTGVmdFdpZHRoKCkpOwotCiAgICAgUmVm
UHRyPFRpbWVSYW5nZXM+IGJ1ZmZlcmVkVGltZVJhbmdlcyA9IG1lZGlhRWxlbWVudC0+YnVmZmVy
ZWQoKTsKICAgICBmbG9hdCBkdXJhdGlvbiA9IG1lZGlhRWxlbWVudC0+ZHVyYXRpb24oKTsKICAg
ICBmbG9hdCBjdXJyZW50VGltZSA9IG1lZGlhRWxlbWVudC0+Y3VycmVudFRpbWUoKTsKQEAgLTE0
NiwyNyArMjA1LDggQEAgc3RhdGljIGJvb2wgcGFpbnRNZWRpYVNsaWRlcihSZW5kZXJPYmplY3Qq
IG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGMKICAgICAgICAgZmxvYXQgc3Rh
cnRGcmFjdGlvbiA9IHN0YXJ0IC8gZHVyYXRpb247CiAgICAgICAgIGZsb2F0IGVuZEZyYWN0aW9u
ID0gZW5kIC8gZHVyYXRpb247CiAgICAgICAgIGZsb2F0IHdpZHRoRnJhY3Rpb24gPSBlbmRGcmFj
dGlvbiAtIHN0YXJ0RnJhY3Rpb247Ci0gICAgICAgIGJ1ZmZlcmVkUmVjdC5tb3ZlKHN0YXJ0RnJh
Y3Rpb24gKiBidWZmZXJlZFJlY3Qud2lkdGgoKSwgMCk7Ci0gICAgICAgIGJ1ZmZlcmVkUmVjdC5z
ZXRXaWR0aCh3aWR0aEZyYWN0aW9uICogYnVmZmVyZWRSZWN0LndpZHRoKCkpOwotCi0gICAgICAg
IC8vIERvbid0IGJvdGhlciBkcmF3aW5nIGFuIGVtcHR5IGFyZWEuCi0gICAgICAgIGlmIChidWZm
ZXJlZFJlY3QuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAgICAg
SW50UG9pbnQgc2xpZGVyVG9wTGVmdCA9IGJ1ZmZlcmVkUmVjdC5sb2NhdGlvbigpOwotICAgICAg
ICBJbnRQb2ludCBzbGlkZXJCb3R0b21MZWZ0ID0gc2xpZGVyVG9wTGVmdDsKLSAgICAgICAgc2xp
ZGVyQm90dG9tTGVmdC5tb3ZlKDAsIGJ1ZmZlcmVkUmVjdC5oZWlnaHQoKSk7Ci0KLSAgICAgICAg
UmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc2xpZGVyVG9wTGVm
dCwgc2xpZGVyQm90dG9tTGVmdCk7Ci0gICAgICAgIENvbG9yIHN0YXJ0Q29sb3IgPSBvYmplY3Qt
PnN0eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKTsKLSAgICAg
ICAgZ3JhZGllbnQtPmFkZENvbG9yU3RvcCgwLjAsIHN0YXJ0Q29sb3IpOwotICAgICAgICBncmFk
aWVudC0+YWRkQ29sb3JTdG9wKDEuMCwgQ29sb3Ioc3RhcnRDb2xvci5yZWQoKSAvIDIsIHN0YXJ0
Q29sb3IuZ3JlZW4oKSAvIDIsIHN0YXJ0Q29sb3IuYmx1ZSgpIC8gMiwgc3RhcnRDb2xvci5hbHBo
YSgpKSk7Ci0KLSAgICAgICAgY29udGV4dC0+c2F2ZSgpOwotICAgICAgICBjb250ZXh0LT5zZXRT
dHJva2VTdHlsZShOb1N0cm9rZSk7Ci0gICAgICAgIGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChn
cmFkaWVudCk7Ci0gICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KGJ1ZmZlcmVkUmVjdCk7Ci0gICAg
ICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKKworICAgICAgICBwYWludFNsaWRlclJhbmdlSGlnaGxp
Z2h0KHJlY3QsIHN0eWxlLCBjb250ZXh0LCBzdGFydEZyYWN0aW9uLCB3aWR0aEZyYWN0aW9uKTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0xODksNiArMjI5LDggQEAgc3RhdGlj
IGJvb2wgcGFpbnRNZWRpYVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQ
YWludEluZm8mIHBhaW50SW4KICAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8u
Y29udGV4dCwgcmVjdCwgbWVkaWFTbGlkZXJUaHVtYik7CiB9CiAKK2NvbnN0IGludCBtZWRpYVZv
bHVtZVNsaWRlclRodW1iV2lkdGggPSAyNDsKKwogc3RhdGljIGJvb2wgcGFpbnRNZWRpYVZvbHVt
ZVNsaWRlcihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQob2JqZWN0KTsKQEAgLTE5Niw1NyArMjM4LDM2IEBA
IHN0YXRpYyBib29sIHBhaW50TWVkaWFWb2x1bWVTbGlkZXIoUmVuZGVyT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCA9IHBhaW50SW5mby5jb250ZXh0OwotICAgIENvbG9yIG9y
aWdpbmFsQ29sb3IgPSBjb250ZXh0LT5zdHJva2VDb2xvcigpOwotICAgIGlmIChvcmlnaW5hbENv
bG9yICE9IENvbG9yOjp3aGl0ZSkKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IoQ29s
b3I6OndoaXRlLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUg
PSBvYmplY3QtPnN0eWxlKCk7CisKKyAgICBwYWludFJvdW5kZWRTbGlkZXJCYWNrZ3JvdW5kKHJl
Y3QsIHN0eWxlLCBjb250ZXh0KTsKKworICAgIC8vIENhbGN1bGF0ZSB2b2x1bWUgcG9zaXRpb24g
Zm9yIHdoaXRlIGJhY2tncm91bmQgcmVjdGFuZ2xlLgorICAgIGZsb2F0IHZvbHVtZSA9IG1lZGlh
RWxlbWVudC0+dm9sdW1lKCk7CisgICAgaWYgKGlzbmFuKHZvbHVtZSkgfHwgdm9sdW1lIDwgMCkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKHZvbHVtZSA+IDEpCisgICAgICAgIHZvbHVt
ZSA9IDE7CisgICAgaWYgKG1lZGlhRWxlbWVudC0+bXV0ZWQoKSkKKyAgICAgICAgdm9sdW1lID0g
MDsKKworICAgIC8vIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGNlbnRl
ciBvZiB0aGUgdGh1bWIuCisgICAgZmxvYXQgdGh1bWJDZW50ZXIgPSBtZWRpYVZvbHVtZVNsaWRl
clRodW1iV2lkdGggLyAyOworICAgIGZsb2F0IHpvb21MZXZlbCA9IHN0eWxlLT5lZmZlY3RpdmVa
b29tKCk7CisgICAgZmxvYXQgcG9zaXRpb25XaWR0aCA9IHZvbHVtZSAqIChyZWN0LndpZHRoKCkg
LSAoem9vbUxldmVsICogdGh1bWJDZW50ZXIpKTsKKyAgICBmbG9hdCBmaWxsV2lkdGggPSBwb3Np
dGlvbldpZHRoICsgKHpvb21MZXZlbCAqIHRodW1iQ2VudGVyIC8gMik7CiAKLSAgICBpbnQgeCA9
IHJlY3QueCgpICsgcmVjdC53aWR0aCgpIC8gMjsKLSAgICBjb250ZXh0LT5kcmF3TGluZShJbnRQ
b2ludCh4LCByZWN0LnkoKSksICBJbnRQb2ludCh4LCByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkp
KTsKKyAgICBwYWludFNsaWRlclJhbmdlSGlnaGxpZ2h0KHJlY3QsIHN0eWxlLCBjb250ZXh0LCAw
LjAsIGZpbGxXaWR0aCAvIHJlY3Qud2lkdGgoKSk7CiAKLSAgICBpZiAob3JpZ2luYWxDb2xvciAh
PSBDb2xvcjo6d2hpdGUpCi0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG9yaWdpbmFs
Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAgIHJldHVybiB0cnVlOwogfQogCiBzdGF0
aWMgYm9vbCBwYWludE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIoUmVuZGVyT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAg
IHN0YXRpYyBJbWFnZSogbWVkaWFWb2x1bWVTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2Uo
Im1lZGlhVm9sdW1lU2xpZGVyVGh1bWIiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhVm9sdW1l
U2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclZvbHVtZVNsaWRlclRo
dW1iIik7CiAgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJl
Y3QsIG1lZGlhVm9sdW1lU2xpZGVyVGh1bWIpOwogfQogCi1zdGF0aWMgYm9vbCBwYWludE1lZGlh
VGltZWxpbmVDb250YWluZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIEhUTUxNZWRpYUVsZW1lbnQq
IG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFFbGVtZW50KG9iamVjdCk7Ci0gICAgaWYgKCFt
ZWRpYUVsZW1lbnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghcmVjdC5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gcGFpbnRJbmZvLmNv
bnRleHQ7Ci0gICAgICAgIENvbG9yIG9yaWdpbmFsQ29sb3IgPSBjb250ZXh0LT5zdHJva2VDb2xv
cigpOwotICAgICAgICBmbG9hdCBvcmlnaW5hbFRoaWNrbmVzcyA9IGNvbnRleHQtPnN0cm9rZVRo
aWNrbmVzcygpOwotICAgICAgICBTdHJva2VTdHlsZSBvcmlnaW5hbFN0eWxlID0gY29udGV4dC0+
c3Ryb2tlU3R5bGUoKTsKLQotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0
cm9rZSk7Ci0KLSAgICAgICAgLy8gRHJhdyB0aGUgbGVmdCBib3JkZXIgdXNpbmcgQ1NTIGRlZmlu
ZWQgd2lkdGggYW5kIGNvbG9yLgotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25lc3Mo
b2JqZWN0LT5zdHlsZSgpLT5ib3JkZXJMZWZ0V2lkdGgoKSk7Ci0gICAgICAgIGNvbnRleHQtPnNl
dFN0cm9rZUNvbG9yKG9iamVjdC0+c3R5bGUoKS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1By
b3BlcnR5Qm9yZGVyTGVmdENvbG9yKS5yZ2IoKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAg
ICAgIGNvbnRleHQtPmRyYXdMaW5lKEludFBvaW50KHJlY3QueCgpICsgMSwgcmVjdC55KCkpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRQb2ludChyZWN0LngoKSArIDEsIHJlY3QueSgp
ICsgcmVjdC5oZWlnaHQoKSkpOwotCi0gICAgICAgIC8vIERyYXcgdGhlIHJpZ2h0IGJvcmRlciB1
c2luZyBDU1MgZGVmaW5lZCB3aWR0aCBhbmQgY29sb3IuCi0gICAgICAgIGNvbnRleHQtPnNldFN0
cm9rZVRoaWNrbmVzcyhvYmplY3QtPnN0eWxlKCktPmJvcmRlclJpZ2h0V2lkdGgoKSk7Ci0gICAg
ICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG9iamVjdC0+c3R5bGUoKS0+dmlzaXRlZERlcGVu
ZGVudENvbG9yKENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRDb2xvcikucmdiKCksIENvbG9yU3BhY2VE
ZXZpY2VSR0IpOwotICAgICAgICBjb250ZXh0LT5kcmF3TGluZShJbnRQb2ludChyZWN0LngoKSAr
IHJlY3Qud2lkdGgoKSAtIDEsIHJlY3QueSgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
SW50UG9pbnQocmVjdC54KCkgKyByZWN0LndpZHRoKCkgLSAxLCByZWN0LnkoKSArIHJlY3QuaGVp
Z2h0KCkpKTsKLQotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihvcmlnaW5hbENvbG9y
LCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlVGhpY2tu
ZXNzKG9yaWdpbmFsVGhpY2tuZXNzKTsKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUo
b3JpZ2luYWxTdHlsZSk7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotCiBzdGF0aWMgYm9v
bCBwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3Qg
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQob2JqZWN0KTsK
QEAgLTI3NCw4ICsyOTUsNiBAQCBib29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFp
bnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZQogICAgICAgICByZXR1
cm4gcGFpbnRNZWRpYVZvbHVtZVNsaWRlcihvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7CiAgICAg
Y2FzZSBNZWRpYVZvbHVtZVNsaWRlclRodW1iOgogICAgICAgICByZXR1cm4gcGFpbnRNZWRpYVZv
bHVtZVNsaWRlclRodW1iKG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsKLSAgICBjYXNlIE1lZGlh
VGltZWxpbmVDb250YWluZXI6Ci0gICAgICAgIHJldHVybiBwYWludE1lZGlhVGltZWxpbmVDb250
YWluZXIob2JqZWN0LCBwYWludEluZm8sIHJlY3QpOwogICAgIGNhc2UgTWVkaWFFbnRlckZ1bGxz
Y3JlZW5CdXR0b246CiAgICAgY2FzZSBNZWRpYUV4aXRGdWxsc2NyZWVuQnV0dG9uOgogICAgICAg
ICByZXR1cm4gcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24ob2JqZWN0LCBwYWludEluZm8sIHJl
Y3QpOwpAQCAtMjgzLDYgKzMwMiw3IEBAIGJvb2wgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVt
OjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlCiAgICAgY2Fz
ZSBNZWRpYVNlZWtCYWNrQnV0dG9uOgogICAgIGNhc2UgTWVkaWFTZWVrRm9yd2FyZEJ1dHRvbjoK
ICAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyQ29udGFpbmVyOgorICAgIGNhc2UgTWVkaWFUaW1l
bGluZUNvbnRhaW5lcjoKICAgICBjYXNlIE1lZGlhQ3VycmVudFRpbWVEaXNwbGF5OgogICAgIGNh
c2UgTWVkaWFUaW1lUmVtYWluaW5nRGlzcGxheToKICAgICBjYXNlIE1lZGlhQ29udHJvbHNQYW5l
bDoKQEAgLTMwMSwyNCArMzIxLDc0IEBAIGJvb2wgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVt
OjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitjb25zdCBpbnQgbWVkaWFTbGlkZXJUaHVtYldpZHRoID0gMzI7Citj
b25zdCBpbnQgbWVkaWFTbGlkZXJUaHVtYkhlaWdodCA9IDI0OworY29uc3QgaW50IG1lZGlhVm9s
dW1lU2xpZGVyVGh1bWJIZWlnaHQgPSAyNDsKKwogdm9pZCBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hy
b21pdW06OmFkanVzdE1lZGlhU2xpZGVyVGh1bWJTaXplKFJlbmRlclN0eWxlKiBzdHlsZSkKIHsK
LSAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhU2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJt
ZWRpYVNsaWRlclRodW1iIik7Ci0gICAgc3RhdGljIEltYWdlKiBtZWRpYVZvbHVtZVNsaWRlclRo
dW1iID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFWb2x1bWVTbGlkZXJUaHVtYiIpOworICAgIHN0
YXRpYyBJbWFnZSogbWVkaWFTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxh
eWVyU2xpZGVyVGh1bWIiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhVm9sdW1lU2xpZGVyVGh1
bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclZvbHVtZVNsaWRlclRodW1iIik7Cisg
ICAgaW50IHdpZHRoID0gMDsKKyAgICBpbnQgaGVpZ2h0ID0gMDsKIAogICAgIEltYWdlKiB0aHVt
YkltYWdlID0gMDsKLSAgICBpZiAoc3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBNZWRpYVNsaWRlclRo
dW1iUGFydCkKKyAgICBpZiAoc3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBNZWRpYVNsaWRlclRodW1i
UGFydCkgewogICAgICAgICB0aHVtYkltYWdlID0gbWVkaWFTbGlkZXJUaHVtYjsKLSAgICBlbHNl
IGlmIChzdHlsZS0+YXBwZWFyYW5jZSgpID09IE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0KQor
ICAgICAgICB3aWR0aCA9IG1lZGlhU2xpZGVyVGh1bWJXaWR0aDsKKyAgICAgICAgaGVpZ2h0ID0g
bWVkaWFTbGlkZXJUaHVtYkhlaWdodDsKKyAgICB9IGVsc2UgaWYgKHN0eWxlLT5hcHBlYXJhbmNl
KCkgPT0gTWVkaWFWb2x1bWVTbGlkZXJUaHVtYlBhcnQpIHsKICAgICAgICAgdGh1bWJJbWFnZSA9
IG1lZGlhVm9sdW1lU2xpZGVyVGh1bWI7CisgICAgICAgIHdpZHRoID0gbWVkaWFWb2x1bWVTbGlk
ZXJUaHVtYldpZHRoOworICAgICAgICBoZWlnaHQgPSBtZWRpYVZvbHVtZVNsaWRlclRodW1iSGVp
Z2h0OworICAgIH0KIAogICAgIGZsb2F0IHpvb21MZXZlbCA9IHN0eWxlLT5lZmZlY3RpdmVab29t
KCk7CiAgICAgaWYgKHRodW1iSW1hZ2UpIHsKLSAgICAgICAgc3R5bGUtPnNldFdpZHRoKExlbmd0
aChzdGF0aWNfY2FzdDxpbnQ+KHRodW1iSW1hZ2UtPndpZHRoKCkgKiB6b29tTGV2ZWwpLCBGaXhl
ZCkpOwotICAgICAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChzdGF0aWNfY2FzdDxpbnQ+KHRo
dW1iSW1hZ2UtPmhlaWdodCgpICogem9vbUxldmVsKSwgRml4ZWQpKTsKKyAgICAgICAgc3R5bGUt
PnNldFdpZHRoKExlbmd0aChzdGF0aWNfY2FzdDxpbnQ+KHdpZHRoICogem9vbUxldmVsKSwgRml4
ZWQpKTsKKyAgICAgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoc3RhdGljX2Nhc3Q8aW50Piho
ZWlnaHQgKiB6b29tTGV2ZWwpLCBGaXhlZCkpOwogICAgIH0KIH0KIAorc3RhdGljIFN0cmluZyBm
b3JtYXRDaHJvbWl1bU1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUsIGZsb2F0IGR1cmF0aW9u
KQoreworICAgIGlmICghaXNmaW5pdGUodGltZSkpCisgICAgICAgIHRpbWUgPSAwOworICAgIGlm
ICghaXNmaW5pdGUoZHVyYXRpb24pKQorICAgICAgICBkdXJhdGlvbiA9IDA7CisgICAgaW50IHNl
Y29uZHMgPSAoaW50KWZhYnNmKHRpbWUpOworICAgIGludCBob3VycyA9IHNlY29uZHMgLyAoNjAg
KiA2MCk7CisgICAgaW50IG1pbnV0ZXMgPSAoc2Vjb25kcyAvIDYwKSAlIDYwOworICAgIHNlY29u
ZHMgJT0gNjA7CisKKyAgICAvLyBkdXJhdGlvbiBkZWZpbmVzIHRoZSBmb3JtYXQgb2YgaG93IHRo
ZSB0aW1lIGlzIHJlbmRlcmVkCisgICAgaW50IGR1cmF0aW9uU2VjcyA9IChpbnQpZmFic2YoZHVy
YXRpb24pOworICAgIGludCBkdXJhdGlvbkhvdXJzID0gZHVyYXRpb25TZWNzIC8gKDYwICogNjAp
OworICAgIGludCBkdXJhdGlvbk1pbnMgPSAoZHVyYXRpb25TZWNzIC8gNjApICUgNjA7CisKKyAg
ICBpZiAoZHVyYXRpb25Ib3VycyB8fCBob3VycykKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9y
bWF0KCIlcyUwMWQ6JTAyZDolMDJkIiwgKHRpbWUgPCAwID8gIi0iIDogIiIpLCBob3VycywgbWlu
dXRlcywgc2Vjb25kcyk7CisgICAgaWYgKGR1cmF0aW9uTWlucyA+IDkpCisgICAgICAgIHJldHVy
biBTdHJpbmc6OmZvcm1hdCgiJXMlMDJkOiUwMmQiLCAodGltZSA8IDAgPyAiLSIgOiAiIiksIG1p
bnV0ZXMsIHNlY29uZHMpOworCisgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlcyUwMWQ6JTAy
ZCIsICh0aW1lIDwgMCA/ICItIiA6ICIiKSwgbWludXRlcywgc2Vjb25kcyk7Cit9CisKK1N0cmlu
ZyBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZs
b2F0IHRpbWUpCit7CisgICAgcmV0dXJuIGZvcm1hdENocm9taXVtTWVkaWFDb250cm9sc1RpbWUo
dGltZSwgdGltZSk7Cit9CisKK1N0cmluZyBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZv
cm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVy
YXRpb24pCit7CisgICAgcmV0dXJuIGZvcm1hdENocm9taXVtTWVkaWFDb250cm9sc1RpbWUoY3Vy
cmVudFRpbWUsIGR1cmF0aW9uKTsKK30KKworU3RyaW5nIFJlbmRlck1lZGlhQ29udHJvbHNDaHJv
bWl1bTo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUs
IGZsb2F0IGR1cmF0aW9uKQoreworICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJv
bHNUaW1lKGN1cnJlbnRUaW1lIC0gZHVyYXRpb24sIGR1cmF0aW9uKTsKK30KKwogI2VuZGlmICAv
LyAjaWYgRU5BQkxFKFZJREVPKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmgK
aW5kZXggOWFmOTM5NjBmZmVmY2NlOTlhZjEyNjQzODRlZDMzNDE2YTJkOWY2MS4uYTY3YTQxMzlh
NmQ0MGEzZDM2NDI5OTY4NWYyMThmM2UwYjY3N2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaApAQCAtMzgsNiAr
MzgsMTAgQEAgY2xhc3MgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgYm9vbCBwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhQ29udHJvbEVsZW1lbnRU
eXBlLCBSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAg
ICAgc3RhdGljIHZvaWQgYWRqdXN0TWVkaWFTbGlkZXJUaHVtYlNpemUoUmVuZGVyU3R5bGUqKTsK
KyAgICBzdGF0aWMgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpOwor
ICAgIHN0YXRpYyBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1
cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbik7CisgICAgc3RhdGljIFN0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24p
OworCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCmluZGV4IDgxNjdiYTgyZjhmYzE2ZDBmODg5NzExZTQyZmZmYWM0ZTk0NTg5
OTkuLjVlNTZiNmRmNTBlY2ZiMDNlNWQxMTI5YWRmOTY3NzQ3ZjNhM2U3MmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0xOTgsNiArMTk4LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBoYXNPd25EaXNhYmxlZFN0YXRlSGFuZGxpbmdGb3IoQ29udHJvbFBh
cnQpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNv
bnRyb2xTdGF0dXNEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
dXNlc01lZGlhQ29udHJvbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAg
ICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigp
IHsgcmV0dXJuIDAuMTsgfQogICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0
RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCmluZGV4IDJiNGM4YzYzNWNjMjIzYzE4
M2I1MThiMTJjZWFlZWY1MmZhYjBjNDMuLmQzYjM2MDEwNzI3Zjc5N2U1ODU1NjY5MDE1NTg1OTll
ZDE4OTMyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUNocm9taXVtTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1NYWMuaApAQCAtNDIsNyArNDIsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBi
b29sIHBhaW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYU11dGVCdXR0b24o
UmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogICAgIHZp
cnR1YWwgYm9vbCBwYWludE1lZGlhU2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwotICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhQ29u
dHJvbHNCYWNrZ3JvdW5kKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKTsKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0
KCk7CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJh
RnVsbFNjcmVlblN0eWxlU2hlZXQoKTsKQEAgLTU1LDYgKzU0LDEwIEBAIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIEludFBvaW50IHZvbHVtZVNsaWRlck9mZnNldEZyb21NdXRlQnV0dG9uKFJlbmRl
ckJveCosIGNvbnN0IEludFNpemUmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wg
dXNlc01lZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBoYXNPd25EaXNhYmxlZFN0YXRlSGFuZGxpbmdGb3IoQ29udHJvbFBhcnQpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1l
U2xpZGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyBmb3Jt
YXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmlu
ZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0
IGR1cmF0aW9uKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xz
UmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0Owog
I2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgdXNlc1Rlc3RNb2RlRm9jdXNSaW5nQ29sb3IoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1NYWMubW0KaW5kZXggYTc3ODIyOGM1NTIyZDZjMDI5NDI3MWVmMzdhOWI0NmM0MGNlZDU0Zi4u
OWY0YWE5MTA3YWY5Nzk1ZDAwM2Y1ZTM3OWRhNDgzYmQ1NDExM2YwMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KQEAgLTE3Mywx
MSArMTczLDYgQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhU2xpZGVy
VHJhY2soUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFAKICAgICByZXR1cm4gUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhU2xpZGVyLCBv
YmplY3QsIHBhaW50SW5mbywgcmVjdCk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1h
Yzo6cGFpbnRNZWRpYUNvbnRyb2xzQmFja2dyb3VuZChSZW5kZXJPYmplY3QqIG9iamVjdCwgY29u
c3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgcmV0
dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChN
ZWRpYVRpbWVsaW5lQ29udGFpbmVyLCBvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7Ci19Ci0KIFN0
cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0
KCkKIHsKICAgICByZXR1cm4gU3RyaW5nKG1lZGlhQ29udHJvbHNDaHJvbWl1bVVzZXJBZ2VudFN0
eWxlU2hlZXQsIHNpemVvZihtZWRpYUNvbnRyb2xzQ2hyb21pdW1Vc2VyQWdlbnRTdHlsZVNoZWV0
KSk7CkBAIC0yMjgsNiArMjIzLDIxIEBAIEludFBvaW50IFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OnZvbHVtZVNsaWRlck9mZnNldEZyb21NdXRlQnV0dG9uKFJlbmRlckJveCogbXV0CiB7CiAgICAg
cmV0dXJuIFJlbmRlclRoZW1lOjp2b2x1bWVTbGlkZXJPZmZzZXRGcm9tTXV0ZUJ1dHRvbihtdXRl
QnV0dG9uQm94LCBzaXplKTsKIH0KKworU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OmZv
cm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0Cit7CisgICAgcmV0dXJuIFJl
bmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6Zm9ybWF0TWVkaWFDb250cm9sc1RpbWUodGltZSk7
Cit9CisKK1N0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xz
Q3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdAorewor
ICAgIHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJv
bHNDdXJyZW50VGltZShjdXJyZW50VGltZSwgZHVyYXRpb24pOworfQorCitTdHJpbmcgUmVuZGVy
VGhlbWVDaHJvbWl1bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQg
Y3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdAoreworICAgIHJldHVybiBSZW5kZXJU
aGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShjdXJyZW50
VGltZSwgZHVyYXRpb24pOworfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tp
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEu
Y3BwCmluZGV4IDdhZDJjMTJjMzUwNDFkODE5ZTM3ZTNhZDliNjVhYmQyN2RiNjNiODUuLmNlMWNl
ZTA4OTRjYjNhNjIyMTk0NzdkZDRmYTUwOWJkYjVlOTZmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcApAQCAtMzc4LDE4
ICszNzgsNiBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxk
UmVzdWx0c0J1dHRvbihSZW5kZXJPYmplY3QqIG1hZ25pZgogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRNZWRpYUNvbnRyb2xzQmFja2dy
b3VuZChSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IEludFJlY3QmIHJlY3QpCi17Ci0jaWYgRU5BQkxFKFZJREVPKQotICAgIHJldHVybiBSZW5k
ZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFUaW1l
bGluZUNvbnRhaW5lciwgb2JqZWN0LCBwYWludEluZm8sIHJlY3QpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0ob2JqZWN0KTsKLSAgICBVTlVTRURfUEFSQU0ocGFpbnRJbmZvKTsKLSAgICBVTlVT
RURfUEFSQU0ocmVjdCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi19Ci0KIGJvb2wgUmVu
ZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50TWVkaWFTbGlkZXJUcmFjayhSZW5kZXJPYmplY3Qq
IG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3Qp
CiB7CiAjaWYgRU5BQkxFKFZJREVPKQpAQCAtNDcxLDYgKzQ1OSwzNSBAQCBib29sIFJlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhOjpwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVj
dCwgY29uc3QgUAogI2VuZGlmCiB9CiAKK1N0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShm
bG9hdCB0aW1lKSBjb25zdAoreworI2lmIEVOQUJMRShWSURFTykKKyAgICBSZW5kZXJNZWRpYUNv
bnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKHRpbWUpOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0odGltZSk7CisjZW5kaWYKK30KKworU3RyaW5nIGZvcm1hdE1lZGlhQ29u
dHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0
Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6
Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShjdXJyZW50VGltZSk7CisgICAgVU5VU0VEX1BBUkFNKGR1
cmF0aW9uKTsKKyNlbmRpZgorfQorCitTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmlu
Z1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdAoreworI2lmIEVO
QUJMRShWSURFTykKKyAgICBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlh
Q29udHJvbHNSZW1haW5pbmdUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShjdXJyZW50VGltZSk7CisgICAgVU5VU0VEX1BBUkFNKGR1cmF0aW9uKTsK
KyNlbmRpZgorfQorCiB2b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjphZGp1c3RNZW51TGlz
dFN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSogc3R5bGUsIFdlYkNvcmU6OkVsZW1l
bnQqKSBjb25zdAogewogICAgIC8vIEhlaWdodCBpcyBsb2NrZWQgdG8gYXV0byBvbiBhbGwgYnJv
d3NlcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVD
aHJvbWl1bVNraWEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtU2tpYS5oCmluZGV4IDI4OTg5M2UzMTMxNzgyMDE0ZjEzNTBiNzQ2NTYwOTg2ZjZkZjNjYjcu
LjQ1N2IxMDVmMzhmYTc5OGQ3NTk2MmZkZWY0YmFjNTY4NmZlODg5YTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCkBAIC05MSw3
ICs5MSw2IEBAIGNsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhIDogcHVibGljIFJlbmRlclRo
ZW1lIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRv
blN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAg
ICAgICAgdmlydHVhbCBib29sIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKFJlbmRlck9i
amVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAotICAgICAgICB2aXJ0
dWFsIGJvb2wgcGFpbnRNZWRpYUNvbnRyb2xzQmFja2dyb3VuZChSZW5kZXJPYmplY3QqLCBjb25z
dCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWlu
dE1lZGlhU2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRy
YWNrKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSosIEVs
ZW1lbnQqKSBjb25zdDsKQEAgLTk5LDYgKzk4LDkgQEAgY2xhc3MgUmVuZGVyVGhlbWVDaHJvbWl1
bVNraWEgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRN
ZWRpYVZvbHVtZVNsaWRlclRodW1iKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFQbGF5QnV0dG9u
KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICAg
ICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0
IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgZm9y
bWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwg
U3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwg
ZmxvYXQgZHVyYXRpb24pIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24p
IGNvbnN0OwogCiAgICAgICAgIC8vIE1lbnVMaXN0IHJlZmVycyB0byBhbiB1bnN0eWxlZCBtZW51
bGlzdCAobWVhbmluZyBhIG1lbnVsaXN0IHdpdGhvdXQKICAgICAgICAgLy8gYmFja2dyb3VuZC1j
b2xvciBvciBib3JkZXIgc2V0KSBhbmQgTWVudUxpc3RCdXR0b24gcmVmZXJzIHRvIGEgc3R5bGVk
CkBAIC0xMjcsNiArMTI5LDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEgOiBwdWJs
aWMgUmVuZGVyVGhlbWUgewogI2lmIEVOQUJMRShWSURFTykKICAgICAgICAgLy8gTWVkaWEgY29u
dHJvbHMKICAgICAgICAgdmlydHVhbCBib29sIGhhc093bkRpc2FibGVkU3RhdGVIYW5kbGluZ0Zv
cihDb250cm9sUGFydCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgICAgICB2aXJ0dWFsIGJv
b2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNl
bmRpZgogCiAgICAgICAgIC8vIFByb3ZpZGUgYSB3YXkgdG8gcGFzcyB0aGUgZGVmYXVsdCBmb250
IHNpemUgZnJvbSB0aGUgU2V0dGluZ3Mgb2JqZWN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDhhZGM4MzY5ZTM1N2Y3NTUx
NTUzZjIzZGZhNzU0MjFkZGY1ZGY0ZC4uZDA5ZDk2MWUxMzc0YmY4ODI4ZjA4NGI4YWEyMzk5Yjc2
MThlOTk3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA2LTA1ICBTaWx2aWEgUGZlaWZm
ZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIHRoZSB2b2x1bWUg
c2xpZGVyIHRvIGhvcml6b250YWwgcmVuZGVyaW5nIGZvciBDaHJvbWUgdmlkZW8gY29udHJvbHMu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIENo
cm9tZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4gVGhlIHZv
bHVtZSBzbGlkZXIgaXMgaW5jbHVkZWQgaW50bworICAgICAgICB0aGUgY29udHJvbHMgd2l0aCBo
b3Jpem9udGFsIHJlbmRlcmluZywgdGhlIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyIGlzIHJlbW92
ZWQuIFRoZSB2aXN1YWwKKyAgICAgICAgdXBkYXRlIGl0c2VsZiBpcyBpbiBhIHNlcGFyYXRlIHBh
dGNoLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgVGVtcG9yYXJpbHkgc2tpcCB0ZXN0cyByZWxhdGVkIHRvIHZvbHVtZSBjb250cm9scyBy
ZW5kZXJpbmcgZm9yIENocm9taXVtLgorCisyMDEyLTA1LTI4ICBTaWx2aWEgUGZlaWZmZXIgIDxz
aWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIGFuIEVuY2xvc3VyZSBF
bGVtZW50IGZvciBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGZ1bGxzY3JlZW4vdmlkZW8tY29udHJv
bHMtb3ZlcnJpZGUuaHRtbCwgbWVkaWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwuaHRtbCBh
bmQKKyAgICAgICAgbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy1zbmFwLXRvLWxpbmVz
LW5vdC1zZXQuaHRtbCB0byBkZWFsIHdpdGggdGhlIG5ldyBlbmNsb3N1cmUKKyAgICAgICAgZGl2
IGluIENocm9taXVtIGNvbnRyb2xzIGFuZCB1c2UgdGhlIG1lZGlhQ29udHJvbHNFbGVtZW50KCkg
aGVscGVyIGZ1bmN0aW9uIHRvIGZpbmQgZWxlbWVudHMKKyAgICAgICAgaW5zaWRlIHRoZSBjb250
cm9scy4KKyAgICAgICAgRmFpbCB2aWRlbyBjb250cm9scyB0ZXN0cyBpbiB0ZXN0IGV4cGVjdGF0
aW9ucy4KKworICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMtb3ZlcnJpZGUtZXhw
ZWN0ZWQudHh0OiBVcGRhdGVkLgorICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMt
b3ZlcnJpZGUuaHRtbDogVXNlIG1lZGlhQ29udHJvbHNFbGVtZW50IGhlbHBlciBmdW5jdGlvbi4K
KyAgICAgICAgKiBtZWRpYS9tZWRpYS1jb250cm9scy1pbnZhbGlkLXVybC5odG1sOiBVc2UgbWVk
aWFDb250cm9sc0VsZW1lbnQgaGVscGVyIGZ1bmN0aW9uLgorICAgICAgICAqIG1lZGlhL3RyYWNr
L3RyYWNrLWN1ZS1yZW5kZXJpbmctc25hcC10by1saW5lcy1ub3Qtc2V0Lmh0bWw6IEhlaWdodCBp
cyBwcm92aWRlZCBieSBlbmNsb3N1cmUgZWxlbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zOiBGYWlsIHZpZGVvIGNvbnRyb2xzIHRlc3RzLgorCiAyMDEy
LTA2LTEwICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W0Zvcm1zXSBJbnRyb2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMtb3ZlcnJpZGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVy
cmlkZS1leHBlY3RlZC50eHQKaW5kZXggZjE5MmEzOTE3M2Q1NGQxZDlmNTFiMTQxZGFhNDFlYmVh
MWYyOGYyYS4uMjYzNDhiYjdlOWJlODVkZDQ3ZTM4OWI1MGU2NGMzYTBjNGUwNzIzMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVycmlkZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVy
cmlkZS1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgdmlk
ZW8gZWxlbWVudCdzICJjb250cm9scyIgYXR0cmlidXRlIGlzIG92ZXJyaWRkZW4gaW4gZnVsbCBz
CiAKIEVWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCiBFWFBFQ1RFRCAoc2hhZG93Um9vdCA9
IGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKSAhPSAnbnVsbCcpIE9LCi1FWFBFQ1RFRCAocGFu
ZWwgPSBzaGFkb3dSb290LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZCAhPSAnbnVsbCcpIE9LCitFWFBF
Q1RFRCAocGFuZWwgPSBtZWRpYUNvbnRyb2xzRWxlbWVudChzaGFkb3dSb290LmZpcnN0Q2hpbGQs
ICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsJykgIT0gJ251bGwnKSBPSwogRVhQRUNURUQg
KGludGVybmFscy5zaGFkb3dQc2V1ZG9JZChwYW5lbCkgPT0gJy13ZWJraXQtbWVkaWEtY29udHJv
bHMtcGFuZWwnKSBPSwogRVhQRUNURUQgKGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVk
U3R5bGUocGFuZWwpWydkaXNwbGF5J10gIT0gJ25vbmUnKSBPSwogRVhQRUNURUQgKGRvY3VtZW50
LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUocGFuZWwpWydoZWlnaHQnXSA+PSAnMjBweCcp
IE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92
ZXJyaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92ZXJy
aWRlLmh0bWwKaW5kZXggNzIxNGJiYTA3ZmQzMDdjMTIyNWYyZmU1YWYxYjM4YTU3ZGIyMDQyMS4u
NDdmYTRmZTQxYjQ5MDEwODEyY2FjNmEyMDY5NmFkYTRiYmJmMmU5MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVycmlkZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMtb3ZlcnJpZGUuaHRtbApAQCAtMiw2
ICsyLDcgQEAKICAgICA8cD5UaGlzIHRlc3RzIHRoYXQgdGhlIHZpZGVvIGVsZW1lbnQncyAiY29u
dHJvbHMiIGF0dHJpYnV0ZSBpcyBvdmVycmlkZGVuIGluIGZ1bGwgc2NyZWVuIG1vZGUsIGFuZCB0
aGF0IHRoZSBjb250cm9scyBhcmUgY29ycmVjdGx5IGhpZGRlbiB1cG9uIGV4aXRpbmcgZnVsbCBz
Y3JlZW4uICBQcmVzcyBhbnkga2V5IHRvIGNvbnRpbnVlLjwvcD4KICAgICA8dmlkZW8gaWQ9InZp
ZGVvIiB3aWR0aD0iMzAwIj48L3ZpZGVvPgogICAgIDxzY3JpcHQgc3JjPSJmdWxsLXNjcmVlbi10
ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vbWVkaWEvbWVkaWEtY29udHJv
bHMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQ+CiAgICAgICAgIHZhciBjYWxsYmFjazsKICAg
ICAgICAgdmFyIHNoYWRvd1Jvb3Q7CkBAIC0xOSw3ICsyMCw3IEBACiAgICAgICAgIHZhciB2aWRl
b0VudGVyZWRGdWxsU2NyZWVuID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgic2hhZG93Um9vdCA9
IGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKSIsIG51bGwsICIhPSIpOwotICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgicGFuZWwgPSBzaGFkb3dSb290LmZpcnN0Q2hpbGQuZmlyc3RDaGls
ZCIsIG51bGwsICIhPSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicGFuZWwgPSBt
ZWRpYUNvbnRyb2xzRWxlbWVudChzaGFkb3dSb290LmZpcnN0Q2hpbGQsICctd2Via2l0LW1lZGlh
LWNvbnRyb2xzLXBhbmVsJykiLCBudWxsLCAiIT0iKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImludGVybmFscy5zaGFkb3dQc2V1ZG9JZChwYW5lbCkiLCAiLXdlYmtpdC1tZWRpYS1j
b250cm9scy1wYW5lbCIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZG9jdW1lbnQu
ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShwYW5lbClbJ2Rpc3BsYXknXSIsICdub25lJywg
IiE9Iik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJkb2N1bWVudC5kZWZhdWx0Vmll
dy5nZXRDb21wdXRlZFN0eWxlKHBhbmVsKVsnaGVpZ2h0J10iLCAnMjBweCcsICI+PSIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwuaHRt
bCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xzLWludmFsaWQtdXJsLmh0bWwKaW5k
ZXggODI4NjVlZGRlZTcyY2IyMTUwZGE4OTE2ODY2NjIyMDMwYmFkZWQ3NC4uY2RmNjRjZmQ0YzVj
MTNiY2VmZjZmOGYyM2JjNjc0ZWEyZjlkNTNkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVk
aWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYS1jb250cm9scy1pbnZhbGlkLXVybC5odG1sCkBAIC0zLDYgKzMsNyBAQAogICAgIDxo
ZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgogICAgICAg
ICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz1tZWRpYS1jb250cm9scy5qcz48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KICAgICAgICAg
ICAgIHZhciB2aWRlbzsKIApAQCAtMTgsMjkgKzE5LDE1IEBACiAKICAgICAgICAgICAgIGZ1bmN0
aW9uIGdldFRpbWVMaW5lVmFsdWUoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHZh
ciB0aW1lbGluZUNvbnRhaW5lcjsKLSAgICAgICAgICAgICAgICB2YXIgdGltZWxpbmVWYWx1ZTsK
KyAgICAgICAgICAgICAgICB2YXIgdGltZWxpbmU7CisgICAgICAgICAgICAgICAgdmFyIHNoYWRv
d1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbyk7CiAKLSAgICAgICAgICAgICAgICB2
YXIgY29udHJvbHNTaGFkb3cgPSBpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbykuZmlyc3RDaGls
ZC5maXJzdENoaWxkOwotICAgICAgICAgICAgICAgIGZvciAoY2hpbGQgPSBjb250cm9sc1NoYWRv
dy5maXJzdENoaWxkOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZykKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKGludGVybmFscy5zaGFkb3dQc2V1ZG9JZChjaGlsZCkgPT0gIi13ZWJr
aXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUtY29udGFpbmVyIikgewotICAgICAgICAgICAgICAg
ICAgICAgICAgdGltZWxpbmVDb250YWluZXIgPSBjaGlsZDsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdGltZWxp
bmUgPSBtZWRpYUNvbnRyb2xzRWxlbWVudChzaGFkb3dSb290LmZpcnN0Q2hpbGQuZmlyc3RDaGls
ZCwgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUnKTsKIAotICAgICAgICAgICAgICAg
IGlmKCF0aW1lbGluZUNvbnRhaW5lcikKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgIkZhaWxk
IHRvIGZpbmQgLXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1jb250YWluZXIiOwotCi0g
ICAgICAgICAgICAgICAgZm9yIChjaGlsZCA9IHRpbWVsaW5lQ29udGFpbmVyLmZpcnN0Q2hpbGQ7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKQotICAgICAgICAgICAgICAgICAgICBp
ZiAoaW50ZXJuYWxzLnNoYWRvd1BzZXVkb0lkKGNoaWxkKSA9PSAiLXdlYmtpdC1tZWRpYS1jb250
cm9scy10aW1lbGluZSIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVsaW5lVmFsdWUg
PSBjaGlsZC52YWx1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZighdGltZWxpbmVDb250YWluZXIpCisg
ICAgICAgICAgICAgICAgaWYoIXRpbWVsaW5lKQogICAgICAgICAgICAgICAgICAgICB0aHJvdyAi
RmFpbGQgdG8gZmluZCAtd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lIjsKIAotICAgICAg
ICAgICAgICAgIHJldHVybiB0aW1lbGluZVZhbHVlOworICAgICAgICAgICAgICAgIHJldHVybiB0
aW1lbGluZS52YWx1ZTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gZXJy
b3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRl
cmluZy1zbmFwLXRvLWxpbmVzLW5vdC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNr
L3RyYWNrLWN1ZS1yZW5kZXJpbmctc25hcC10by1saW5lcy1ub3Qtc2V0Lmh0bWwKaW5kZXggMjlk
NWM4NTcxZjY4Njg3NTNkOWI1MjAzYjFlMTJlOTNhMjQ1NjE4NS4uMjJlYWZlM2U5NTQ0NjM1NTMx
ZTBkMjM5YWU0YWI3M2EzM2UyNzE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stY3VlLXJlbmRlcmluZy1zbmFwLXRvLWxpbmVzLW5vdC1zZXQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXNuYXAtdG8tbGluZXMt
bm90LXNldC5odG1sCkBAIC04OSw3ICs4OSwxMCBAQAogICAgICAgICAgICAgZmluZE1lZGlhRWxl
bWVudCgpOwogICAgICAgICAgICAgdGVzdFRyYWNrID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
dHJhY2snKTsKICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoJ3ZpZGVvJywg
Jy4uL2NvbnRlbnQvdGVzdCcpOwotICAgICAgICAgICAgY29udHJvbHNQYW5lbEVsZW1lbnQgPSBt
ZWRpYUNvbnRyb2xzRWxlbWVudChpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbykuZmlyc3RDaGls
ZCwgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwnKTsKKworICAgICAgICAgICAgLy8gSW4g
Q2hyb21pdW0gaXQgaXMgdGhlIGVuY2xvc3VyZSBlbGVtZW50LCB3aGljaCBwcm92aWRlcyB0aGUg
Y29udHJvbHMgaGVpZ2h0LCBvdGhlcndpc2UgdGhlIHBhbmVsOworICAgICAgICAgICAgLy8gYm90
aCBhcmUgdGhlIHNlY29uZCBjaGlsZCBpbiB0aGUgc2hhZG93IERPTS4KKyAgICAgICAgICAgIGNv
bnRyb2xzUGFuZWxFbGVtZW50ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QodmlkZW8pLmZpcnN0Q2hp
bGQuZmlyc3RDaGlsZDsKIAogICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdjYW5wbGF5dGhyb3Vn
aCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGN1ZURpc3BsYXlDb250YWluZXIgPSB0
ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NDdlODk5ZmIzOGM2NjA3MGFiMzI2YzE1
ZjI2Zjc5MjNiMWQ1ZmQ2Li5kZTdjMTk0Nzk0ZWEyMjMwOGEzZWEwNjVlNjdiZTlkZjI0ZmZhZjZk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTc3MSw2ICs3NzEsMTEgQEAgV09OVEZJWCBTS0lQIDogbWVkaWEvdmlkZW8tc2l6ZS1pbnRy
aW5zaWMtc2NhbGUuaHRtbCA9IFBBU1MKIC8vIERvZXNuJ3QgYXBwbHkgdG8gQ2hyb21pdW0gKFF1
aWNrVGltZS1zcGVjaWZpYyBiZWhhdmlvcikKIFdPTlRGSVggU0tJUCA6IG1lZGlhL3ZpZGVvLWRv
ZXMtbm90LWxvb3AuaHRtbCA9IFRJTUVPVVQKIAorLy8gRG9lc24ndCBhcHBseSB0byBDaHJvbWl1
bSBhbnkgbG9uZ2VyIC0gdm9sdW1lIHNsaWRlciBpcyBpbmxpbmUgd2l0aCB2aWRlbyBjb250cm9s
cy4KK1dPTlRGSVggU0tJUCA6IG1lZGlhL3ZpZGVvLXZvbHVtZS1zbGlkZXIuaHRtbCA9IEZBSUwK
K1dPTlRGSVggU0tJUCA6IG1lZGlhL21lZGlhLXZvbHVtZS1zbGlkZXItcmVuZGVyZWQtYmVsb3cu
aHRtbCA9IEZBSUwKK1dPTlRGSVggU0tJUCA6IG1lZGlhL21lZGlhLXZvbHVtZS1zbGlkZXItcmVu
ZGVyZWQtbm9ybWFsLmh0bWwgPSBGQUlMCisKIC8vIFF1aWNrVGltZSByZWZlcmVuY2UgbW92aWVz
IG5vdCBzdXBwb3J0ZWQuCiBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWNy
b3NzLXNpdGUuaHRtbCA9IFBBU1MKIApAQCAtMjk2Niw2ICsyOTcxLDI4IEBAIEJVR1dLNzM4NjUg
OiBtZWRpYS90cmFjay90ZXh0LXRyYWNrLWlzLXJlYWNoYWJsZS5odG1sID0gVEVYVAogQlVHV0s4
MTQwMiBXSU4gOiBtZWRpYS90cmFjay90cmFjay1hY3RpdmUtY3Vlcy5odG1sID0gUEFTUyBUSU1F
T1VUCiBCVUdXSzgzODgyIDogbWVkaWEvdHJhY2svdHJhY2stbW9kZS5odG1sID0gUEFTUyBURVhU
IFRJTUVPVVQKIAorLy8gTmVlZCByZWJhc2VsaW5lLgorQlVHV0s4NzY4MyA6IGZhc3QvbGF5ZXJz
L3ZpZGVvLWxheWVyLmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogZnVsbHNjcmVlbi9mdWxsLXNj
cmVlbi1zdGFja2luZy1jb250ZXh0Lmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvYXVk
aW8tY29udHJvbHMtcmVuZGVyaW5nLmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvYXVk
aW8tcmVwYWludC5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL2NvbnRyb2xzLWFmdGVy
LXJlbG9hZC5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL2NvbnRyb2xzLWxheW91dC1k
aXJlY3Rpb24uaHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS9jb250cm9scy1zdHJpY3Qu
aHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS9jb250cm9scy1zdHlsaW5nLmh0bWwgPSBG
QUlMCitCVUdXSzg3NjgzIDogbWVkaWEvY29udHJvbHMtd2l0aG91dC1wcmVsb2FkLmh0bWwgPSBG
QUlMCitCVUdXSzg3NjgzIDogbWVkaWEvbWVkaWEtY29udHJvbHMtY2xvbmUuaHRtbCA9IEZBSUwK
K0JVR1dLODc2ODMgOiBtZWRpYS9tZWRpYS1kb2N1bWVudC1hdWRpby1yZXBhaW50Lmh0bWwgPSBG
QUlMCitCVUdXSzg3NjgzIDogbWVkaWEvdmlkZW8tY29udHJvbHMtcmVuZGVyaW5nLmh0bWwgPSBG
QUlMCitCVUdXSzg3NjgzIDogbWVkaWEvdmlkZW8tZGlzcGxheS10b2dnbGUuaHRtbCA9IEZBSUwK
K0JVR1dLODc2ODMgOiBtZWRpYS92aWRlby1lbXB0eS1zb3VyY2UuaHRtbCA9IEZBSUwKK0JVR1dL
ODc2ODMgOiBtZWRpYS92aWRlby1uby1hdWRpby5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6IG1l
ZGlhL3ZpZGVvLXBsYXlpbmctYW5kLXBhdXNlLmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogbWVk
aWEvdmlkZW8tem9vbS1jb250cm9scy5odG1sID0gRkFJTAorQlVHV0s4NzgzNSA6IGh0dHAvdGVz
dHMvbWVkaWEvdmlkZW8tYnVmZmVyZWQtcmFuZ2UtY29udGFpbnMtY3VycmVudFRpbWUuaHRtbCA9
IEZBSUwKKworQlVHV0s3MjI3MSBTTk9XTEVPUEFSRCBERUJVRyA6IGZhc3QvZG9tL25vZGUtaXRl
cmF0b3ItcmVmZXJlbmNlLW5vZGUtbW92ZWQtY3Jhc2guaHRtbCA9IFBBU1MgQ1JBU0gKKwogQlVH
V0s3MjM3NiBXSU4gOiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1sYWJlbC5odG1sID0gVEVY
VCBQQVNTCiAKIC8vIEFuaW1hdGlvbnMgdGVzdHMgdXNlIGFuIGluaGVyZW50bHktZmxha3kgdGlt
ZXItYmFzZWQgZGVzaWduLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146785</attachid>
            <date>2012-06-10 22:34:28 -0700</date>
            <delta_ts>2012-06-13 17:51:11 -0700</delta_ts>
            <desc>Patch for review with unmute name change.</desc>
            <filename>patch6_unmute_name_change.diff</filename>
            <type>text/plain</type>
            <size>6159</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZDM5YWRmLi45MzlhZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMTItMDYtMTEgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4K
KworICAgICAgICBDaGFuZ2UgbXV0ZSBidXR0b24gYW5kIHZvbHVtZSBzbGlkZXIgYmVoYXZpb3Vy
IGZvciBuZXcgQ2hyb21pdW0gdmlkZW8gY29udHJvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODc0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgZmluYWwgcGF0Y2ggd2lsbCBj
b250YWluIHRoZSByZWJhc2VsaW5lZCB0ZXN0cy4KKworICAgICAgICBUaGUgQ2hyb21lIHZpZGVv
IGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLiBUaGlzIHBhdGNoIG1ha2Vz
IHRoZSBtdXRlIGJ1dHRvbiBhbmQKKyAgICAgICAgdGhlIHZvbHVtZSBzbGlkZXIgaW50ZXJhY3Qg
d2l0aCBlYWNoIG90aGVyLiBXaGVuIHRoZSB1c2VyIG11dGVzIHRoZSB2aWRlbyB0aHJvdWdoIGNs
aWNraW5nIHRoZQorICAgICAgICBtdXRlIGJ1dHRvbiwgdGhlIHZvbHVtZSBzbGlkZXIgYW5pbWF0
ZXMgdG8gMCUgdm9sdW1lLiBVcG9uIHVubXV0ZSwgdGhlIHByZXZpb3VzIHZvbHVtZSBsZXZlbAor
ICAgICAgICBpcyByZXN0b3JlZC4gRnVydGhlciwgd2hlbiB0aGUgdXNlciBkcmFncyB0aGUgdm9s
dW1lIHNsaWRlciB0aHVtYiBvciBjbGlja3Mgb24gdGhlIHNsaWRlciBhbmQKKyAgICAgICAgdGhl
IHZpZGVvIGlzIG11dGVkLCB0aGUgdmlkZW8gdW5tdXRlcyBhbmQgc2V0cyB0aGUgdm9sdW1lIHRv
IHRoZSB1c2VyJ3MgY2hvc2VuIGxldmVsLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1l
U2xpZGVyRWxlbWVudDo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudCk6CisgICAgICAg
IEFkZCBhIG1lbWJlciBmaWVsZCB0byB0aGUgdm9sdW1lIHNsaWRlciB0byBhbGxvdyB1c2VyIGlu
dGVyYWN0aW9uIHRvIHVubXV0ZSB0aGUgdmlkZW8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAg
QWRkIHRoZSBsb2dpYyB0byB1bm11dGUgdGhlIHZpZGVvIGlmIHRoZSBtX2NsZWFyTXV0ZWRPblVz
ZXJJbnRlcmFjdGlvbiBtZW1iZXIgZmllbGQgaXMgdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldENsZWFyTXV0ZWRPblVzZXJJbnRlcmFj
dGlvbik6CisgICAgICAgIEFkZCBhIG1lbWJlciBmdW5jdGlvbiB0byBjaGFuZ2UgdGhlIHZhbHVl
IG9mIHRoZSBtX2NsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbiBtZW1iZXIgZmllbGQuCisgICAg
ICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaDoKKyAgICAgICAgKE1lZGlh
Q29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQpOgorICAgICAgICBBZGQgdGhlIHNldENsZWFyTXV0
ZWRPblVzZXJJbnRlcmFjdGlvbiBtZW1iZXIgZnVuY3Rpb24gYW5kIHRoZSBtX2NsZWFyTXV0ZWRP
blVzZXJJbnRlcmFjdGlvbiBtZW1iZXIgZmllbGQuCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjcmVhdGUpOgorICAgICAgICBBY3RpdmF0ZSB1
bm11dGUgb24gdXNlciBpbnRlcmFjdGlvbiBvbiB0aGUgQ2hyb21pdW0gdmlkZW8gdm9sdW1lIHNs
aWRlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06
OmNoYW5nZWRNdXRlKToKKyAgICAgICAgQWRkIGxvZ2ljIHRvIHNldCB2b2x1bWUgc2xpZGVyIHRv
IDAgd2hlbiBtdXRlZCBhbmQgcmVzZXQgdG8gdm9sdW1lIHdoZW4gdW5tdXRlZC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnBhaW50TWVkaWFWb2x1bWVTbGlkZXIpOgorICAgICAgICBBZGQgbG9naWMgdG8gcGFp
bnQgdGhlIHZvbHVtZSBzbGlkZXIgYWN0aXZlIGFyZWEgYXMgMCB3aGVuIG11dGVkLgorCiAyMDEy
LTA2LTEwICBTaWx2aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVXBkYXRlIHRoZSB0aW1lIGRpc3BsYXkgb2YgdGhlIG5ldyBDaHJvbWl1bSBtZWRpYSBjb250
cm9scy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcAppbmRleCAyMTIwNDhhLi4yMjExOTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC05MDEsNiArOTAx
LDcgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNo
YWRvd1BzZXVkb0lkKCkgY29uc3QKIAogaW5saW5lIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50
KQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KGRvY3VtZW50LCBNZWRpYVZvbHVtZVNs
aWRlcikKKyAgICAsIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKGZhbHNlKQogewogfQog
CkBAIC05MzQsNiArOTM1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAgbWVkaWFDb250cm9s
bGVyKCktPnNldFZvbHVtZSh2b2x1bWUsIGVjKTsKICAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAg
fQorICAgIGlmIChtX2NsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbikKKyAgICAgICAgbWVkaWFD
b250cm9sbGVyKCktPnNldE11dGVkKGZhbHNlKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xWb2x1
bWVTbGlkZXJFbGVtZW50OjpzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKQpAQCAtOTQyLDYgKzk0NSwx
MSBAQCB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFZvbHVtZShmbG9h
dCB2b2x1bWUpCiAgICAgICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyKHZvbHVtZSkpOwogfQog
Cit2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldENsZWFyTXV0ZWRPblVz
ZXJJbnRlcmFjdGlvbihib29sIGNsZWFyTXV0ZSkKK3sKKyAgICBtX2NsZWFyTXV0ZWRPblVzZXJJ
bnRlcmFjdGlvbiA9IGNsZWFyTXV0ZTsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiB7CiAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGlkLCAoIi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtdm9sdW1lLXNsaWRlciIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCmluZGV4IDAzNTcwZjcuLmRiN2M2NDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAt
Mzg5LDEyICszODksMTQgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqKTsKICAgICB2b2lkIHNldFZvbHVtZShmbG9hdCk7CisgICAgdm9pZCBz
ZXRDbGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24oYm9vbCk7CiAKIHByb3RlY3RlZDoKICAgICBN
ZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50KERvY3VtZW50Kik7CiAKIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7Cisg
ICAgYm9vbCBtX2NsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbjsKIH07CiAKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggYjI1
NWMxNi4uYzRmNzQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKQEAgLTEzNSw2ICsx
MzUsNyBAQCBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0+IE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZQogCiAgICAgUmVmUHRyPE1lZGlhQ29udHJv
bFZvbHVtZVNsaWRlckVsZW1lbnQ+IHNsaWRlciA9IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiAgICAgY29udHJvbHMtPm1fdm9sdW1lU2xpZGVyID0g
c2xpZGVyLmdldCgpOworICAgIGNvbnRyb2xzLT5tX3ZvbHVtZVNsaWRlci0+c2V0Q2xlYXJNdXRl
ZE9uVXNlckludGVyYWN0aW9uKHRydWUpOwogICAgIHBhbmVsLT5hcHBlbmRDaGlsZChzbGlkZXIu
cmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKQEAg
LTMzNCw2ICszMzUsMTEgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpj
aGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNpYmlsaXR5KCkKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUoKQogewogICAgIG1fcGFuZWxNdXRlQnV0dG9uLT5j
aGFuZ2VkTXV0ZSgpOworCisgICAgaWYgKG1fbWVkaWFDb250cm9sbGVyLT5tdXRlZCgpKQorICAg
ICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0Vm9sdW1lKDApOworICAgIGVsc2UKKyAgICAgICAgbV92
b2x1bWVTbGlkZXItPnNldFZvbHVtZShtX21lZGlhQ29udHJvbGxlci0+dm9sdW1lKCkpOwogfQog
CiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRWb2x1bWUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9s
c0Nocm9taXVtLmNwcAppbmRleCBjYWU0ZGJmLi4xZjMwMTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcApA
QCAtMjQ4LDYgKzI0OCw4IEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFWb2x1bWVTbGlkZXIoUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIGlmICh2b2x1bWUgPiAxKQogICAgICAgICB2b2x1bWUgPSAxOworICAgIGlm
IChtZWRpYUVsZW1lbnQtPm11dGVkKCkpCisgICAgICAgIHZvbHVtZSA9IDA7CiAKICAgICAvLyBD
YWxjdWxhdGUgdGhlIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBjZW50ZXIgb2YgdGhlIHRodW1i
LgogICAgIGZsb2F0IHRodW1iQ2VudGVyID0gbWVkaWFWb2x1bWVTbGlkZXJUaHVtYldpZHRoIC8g
MjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147451</attachid>
            <date>2012-06-13 17:51:21 -0700</date>
            <delta_ts>2012-06-14 10:00:55 -0700</delta_ts>
            <desc>patch for cq</desc>
            <filename>bug-88743-20120614105119.patch</filename>
            <type>text/plain</type>
            <size>6519</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY1MjU3YTE1MWQ4MjEy
NDg3OGNhNDM5NmFhZTEyYmJkNDIzZTU1ZC4uNmUxOWM5NGM0M2VlNTQ4YTYwZGFjZTY2NzNkYTk2
NDMyNjM1ZTRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA2LTEzICBTaWx2
aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIG11
dGUgYnV0dG9uIGFuZCB2b2x1bWUgc2xpZGVyIGJlaGF2aW91ciBmb3IgbmV3IENocm9taXVtIHZp
ZGVvIGNvbnRyb2xzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODg3NDMKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRhaW4gdGhlIHJlYmFzZWxpbmVk
IHRlc3RzLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2Vpdmlu
ZyBhIHZpc3VhbCB1cGRhdGUuIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIG11dGUgYnV0dG9uIGFuZAor
ICAgICAgICB0aGUgdm9sdW1lIHNsaWRlciBpbnRlcmFjdCB3aXRoIGVhY2ggb3RoZXIuIFdoZW4g
dGhlIHVzZXIgbXV0ZXMgdGhlIHZpZGVvIHRocm91Z2ggY2xpY2tpbmcgdGhlCisgICAgICAgIG11
dGUgYnV0dG9uLCB0aGUgdm9sdW1lIHNsaWRlciBhbmltYXRlcyB0byAwJSB2b2x1bWUuIFVwb24g
dW5tdXRlLCB0aGUgcHJldmlvdXMgdm9sdW1lIGxldmVsCisgICAgICAgIGlzIHJlc3RvcmVkLiBG
dXJ0aGVyLCB3aGVuIHRoZSB1c2VyIGRyYWdzIHRoZSB2b2x1bWUgc2xpZGVyIHRodW1iIG9yIGNs
aWNrcyBvbiB0aGUgc2xpZGVyIGFuZAorICAgICAgICB0aGUgdmlkZW8gaXMgbXV0ZWQsIHRoZSB2
aWRlbyB1bm11dGVzIGFuZCBzZXRzIHRoZSB2b2x1bWUgdG8gdGhlIHVzZXIncyBjaG9zZW4gbGV2
ZWwuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50KToKKyAgICAgICAgQWRkIGEgbWVtYmVyIGZpZWxkIHRv
IHRoZSB2b2x1bWUgc2xpZGVyIHRvIGFsbG93IHVzZXIgaW50ZXJhY3Rpb24gdG8gdW5tdXRlIHRo
ZSB2aWRlby4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICBBZGQgdGhlIGxvZ2ljIHRvIHVubXV0
ZSB0aGUgdmlkZW8gaWYgdGhlIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBm
aWVsZCBpcyB0cnVlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVy
RWxlbWVudDo6c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKToKKyAgICAgICAgQWRkIGEg
bWVtYmVyIGZ1bmN0aW9uIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlIG1fY2xlYXJNdXRlZE9u
VXNlckludGVyYWN0aW9uIG1lbWJlciBmaWVsZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xFbGVtZW50cy5oOgorICAgICAgICAoTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxl
bWVudCk6CisgICAgICAgIEFkZCB0aGUgc2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1l
bWJlciBmdW5jdGlvbiBhbmQgdGhlIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJl
ciBmaWVsZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW06OmNyZWF0ZSk6CisgICAgICAgIEFjdGl2YXRlIHVubXV0ZSBvbiB1c2VyIGludGVyYWN0
aW9uIG9uIHRoZSBDaHJvbWl1bSB2aWRlbyB2b2x1bWUgc2xpZGVyLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUpOgorICAgICAg
ICBBZGQgbG9naWMgdG8gc2V0IHZvbHVtZSBzbGlkZXIgdG8gMCB3aGVuIG11dGVkIGFuZCByZXNl
dCB0byB2b2x1bWUgd2hlbiB1bm11dGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRp
YUNvbnRyb2xzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRNZWRpYVZvbHVt
ZVNsaWRlcik6CisgICAgICAgIEFkZCBsb2dpYyB0byBwYWludCB0aGUgdm9sdW1lIHNsaWRlciBh
Y3RpdmUgYXJlYSBhcyAwIHdoZW4gbXV0ZWQuCisKIDIwMTItMDYtMTMgIENoYXJsZXMgV2VpICA8
Y2hhcmxlcy53ZWlAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIE5lZWQgY3VzdG9taXpl
ZCB0b0RPTVN0cmluZ0xpc3QgZm9yIEluZGV4ZWREQiBKU0MgYmluZGluZy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCBj
MGRhZmM5YWM4NjhkNDRhMGM5NjAzNDg1YTMwY2NjNDY2N2M0NzdkLi4yMzYzODRmMTY5ODk2OGNl
ODIxZWQ4MmExMmJkZDg2ZTNjYTI5OTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC05MDEsNiArOTAxLDcgQEAgY29u
c3QgQXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNoYWRvd1BzZXVk
b0lkKCkgY29uc3QKIAogaW5saW5lIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6Ok1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDog
TWVkaWFDb250cm9sSW5wdXRFbGVtZW50KGRvY3VtZW50LCBNZWRpYVZvbHVtZVNsaWRlcikKKyAg
ICAsIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKGZhbHNlKQogewogfQogCkBAIC05MzQs
NiArOTM1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAgbWVkaWFDb250cm9sbGVyKCktPnNl
dFZvbHVtZSh2b2x1bWUsIGVjKTsKICAgICAgICAgQVNTRVJUKCFlYyk7CiAgICAgfQorICAgIGlm
IChtX2NsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbikKKyAgICAgICAgbWVkaWFDb250cm9sbGVy
KCktPnNldE11dGVkKGZhbHNlKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJF
bGVtZW50OjpzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKQpAQCAtOTQyLDYgKzk0NSwxMSBAQCB2b2lk
IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUp
CiAgICAgICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyKHZvbHVtZSkpOwogfQogCit2b2lkIE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNldENsZWFyTXV0ZWRPblVzZXJJbnRlcmFj
dGlvbihib29sIGNsZWFyTXV0ZSkKK3sKKyAgICBtX2NsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlv
biA9IGNsZWFyTXV0ZTsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xWb2x1
bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGlkLCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9s
dW1lLXNsaWRlciIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oCmluZGV4IDViY2E1YTlhNjVjMjAxZjgzMTQyNTYxM2VlZDhiMWYyNjUz
ODRkYmEuLmVmZGIyMWYwZGFhMDBkZDc2MDU0MDBjMjM1NGFmNWI3YmM2NzJiZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAt
Mzg5LDEyICszODksMTQgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqKTsKICAgICB2b2lkIHNldFZvbHVtZShmbG9hdCk7CisgICAgdm9pZCBz
ZXRDbGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24oYm9vbCk7CiAKIHByb3RlY3RlZDoKICAgICBN
ZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50KERvY3VtZW50Kik7CiAKIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7Cisg
ICAgYm9vbCBtX2NsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbjsKIH07CiAKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggN2Uw
N2NmMmU0NzQxZTNhZmVkNGRhMTgyZDYyZGVmZTNjNGNlMWQxNy4uYTVkNDA0ZDhlOTI3YjhlYmFl
YzRhNzMwMTBlMDQyMjdlMTM0ZDgzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKQEAg
LTEyOSw2ICsxMjksNyBAQCBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0+IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZQogCiAgICAgUmVmUHRyPE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ+IHNsaWRlciA9IE1lZGlhQ29udHJvbFZvbHVt
ZVNsaWRlckVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiAgICAgY29udHJvbHMtPm1fdm9sdW1l
U2xpZGVyID0gc2xpZGVyLmdldCgpOworICAgIGNvbnRyb2xzLT5tX3ZvbHVtZVNsaWRlci0+c2V0
Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKHRydWUpOwogICAgIHBhbmVsLT5hcHBlbmRDaGls
ZChzbGlkZXIucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1
cm4gMDsKQEAgLTMzMiw2ICszMzMsMTEgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpjaGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNpYmlsaXR5KCkKIHZvaWQgTWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUoKQogewogICAgIG1fcGFuZWxNdXRl
QnV0dG9uLT5jaGFuZ2VkTXV0ZSgpOworCisgICAgaWYgKG1fbWVkaWFDb250cm9sbGVyLT5tdXRl
ZCgpKQorICAgICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0Vm9sdW1lKDApOworICAgIGVsc2UKKyAg
ICAgICAgbV92b2x1bWVTbGlkZXItPnNldFZvbHVtZShtX21lZGlhQ29udHJvbGxlci0+dm9sdW1l
KCkpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRW
b2x1bWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtLmNwcAppbmRleCBiNmI0NGY4Njc1YjMxMjEwNjQ5ZjQ0MzkwNDRi
NTM1MWJjNTg3ZWEwLi43NWU3MjAyMTcyNTYwYmExOWM4OGUyZDkwNmVlMmE0OTU5YmM5Mjk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0No
cm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250
cm9sc0Nocm9taXVtLmNwcApAQCAtMjQ4LDYgKzI0OCw4IEBAIHN0YXRpYyBib29sIHBhaW50TWVk
aWFWb2x1bWVTbGlkZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnRJCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmICh2b2x1bWUgPiAxKQogICAgICAgICB2
b2x1bWUgPSAxOworICAgIGlmIChtZWRpYUVsZW1lbnQtPm11dGVkKCkpCisgICAgICAgIHZvbHVt
ZSA9IDA7CiAKICAgICAvLyBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBj
ZW50ZXIgb2YgdGhlIHRodW1iLgogICAgIGZsb2F0IHRodW1iQ2VudGVyID0gbWVkaWFWb2x1bWVT
bGlkZXJUaHVtYldpZHRoIC8gMjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>