<?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>61843</bug_id>
          
          <creation_ts>2011-06-01 01:06:16 -0700</creation_ts>
          <short_desc>Remove dependency on QTKit from wekitExitFullscreen()</short_desc>
          <delta_ts>2011-09-16 11:23:25 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>61848</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>413210</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 01:06:16 -0700</bug_when>
    <thetext>Remove dependency on QTKit from wekitExitFullscreen()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413232</commentid>
    <comment_count>1</comment_count>
      <attachid>95567</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 01:51:01 -0700</bug_when>
    <thetext>Created attachment 95567
Patch

This is the first bug of two.  The second one will build upon this one to implement the video full-screen API in WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413248</commentid>
    <comment_count>2</comment_count>
      <attachid>95570</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 02:44:19 -0700</bug_when>
    <thetext>Created attachment 95570
Patch

Discovered a small problem with the volume slider; it was scaling between 0-100, and the previous patch was setting it to 0-1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413251</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-01 02:48:27 -0700</bug_when>
    <thetext>Attachment 95570 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/mac/WebView/WebMediaDelegate.h:32:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413286</commentid>
    <comment_count>4</comment_count>
      <attachid>95570</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-06-01 04:24:23 -0700</bug_when>
    <thetext>Comment on attachment 95570
Patch

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

Damn this patch will badly break https://bugs.webkit.org/show_bug.cgi?id=61728

&gt; Source/WebCore/ChangeLog:106
&gt; +        * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.

There is a previous patch doing almost that waiting for review
https://bugs.webkit.org/show_bug.cgi?id=61522. Perhaps we should cancel it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413437</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 09:33:09 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 95570 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95570&amp;action=review
&gt; 
&gt; Damn this patch will badly break https://bugs.webkit.org/show_bug.cgi?id=61728

Yes, it probably will.  However, it looks like QTKitFullScreenVideoHandler could just create an instance of the new WebMediaHandler class to pass along to the fullscreen controller (instead of passing an HTMLElement directly).  Apart from that, and different include paths for WebVideoFullscreenController.h, nothing here should be insurmountable.

&gt; &gt; Source/WebCore/ChangeLog:106
&gt; &gt; +        * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.
&gt; 
&gt; There is a previous patch doing almost that waiting for review
&gt; https://bugs.webkit.org/show_bug.cgi?id=61522. Perhaps we should cancel it.

Lets see what happens to this bug first.  It may get roundly rejected. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413611</commentid>
    <comment_count>6</comment_count>
      <attachid>95570</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 13:17:44 -0700</bug_when>
    <thetext>Comment on attachment 95570
Patch

Clearing r?; I&apos;ll break this bug into smaller pieces and reattach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413617</commentid>
    <comment_count>7</comment_count>
      <attachid>95648</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 13:31:17 -0700</bug_when>
    <thetext>Created attachment 95648
[PATCH 1/5] [LANDED] Move Full Screen Controllers into WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413618</commentid>
    <comment_count>8</comment_count>
      <attachid>95649</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 13:31:48 -0700</bug_when>
    <thetext>Created attachment 95649
[PATCH 2/5] Add two new utility clasess: WebEventListener and WebMediaDelegate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413619</commentid>
    <comment_count>9</comment_count>
      <attachid>95650</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 13:32:14 -0700</bug_when>
    <thetext>Created attachment 95650
[PATCH 3/5] WebVideoFullscreenController and  WebVideoFullscreenHUDController now use a delegate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413621</commentid>
    <comment_count>10</comment_count>
      <attachid>95651</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 13:32:41 -0700</bug_when>
    <thetext>Created attachment 95651
[PATCH 4/5] Disable calling into new full-screen API from video  full-creen API.  Enable video full-screen mode for  AVFoundation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413622</commentid>
    <comment_count>11</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-01 13:33:30 -0700</bug_when>
    <thetext>There is no 5/5. :-D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414151</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-02 08:38:36 -0700</bug_when>
    <thetext>Who should be CC&apos;d to review these?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415103</commentid>
    <comment_count>13</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-06-03 12:43:54 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Who should be CC&apos;d to review these?

Eric Carlson I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415577</commentid>
    <comment_count>14</comment_count>
      <attachid>95648</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-06-04 21:52:05 -0700</bug_when>
    <thetext>Comment on attachment 95648
[PATCH 1/5] [LANDED] Move Full Screen Controllers into WebCore.

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

&gt; Source/WebCore/WebCore.exp.in:1371
&gt;  _wkMeasureMediaUIPart
&gt; +_wkCreateMediaUIBackgroundView
&gt; +_wkCreateMediaUIControl
&gt; +_wkWindowSetAlpha
&gt; +_wkWindowSetScaledFrame
&gt;  _wkMediaControllerThemeAvailable

It looks like exports in this file should be in sort order when not inside #if defs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423796</commentid>
    <comment_count>15</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-06-20 11:30:23 -0700</bug_when>
    <thetext>Jer could you land patch 1, so I can rebase my patch, it&apos;s quite needed for Qt? It seems that patch 2,3 and 4 are not related to us.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423809</commentid>
    <comment_count>16</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-20 11:40:52 -0700</bug_when>
    <thetext>Patch 1/5 is blocking work on bug #61728, so I&apos;ll land that patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423860</commentid>
    <comment_count>17</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-20 12:29:48 -0700</bug_when>
    <thetext>Committed r89271: &lt;http://trac.webkit.org/changeset/89271&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423861</commentid>
    <comment_count>18</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-20 12:30:46 -0700</bug_when>
    <thetext>Whoops, re-opening.  Still have patches 2, 3, and 4 to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423863</commentid>
    <comment_count>19</comment_count>
      <attachid>95648</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-20 12:31:24 -0700</bug_when>
    <thetext>Comment on attachment 95648
[PATCH 1/5] [LANDED] Move Full Screen Controllers into WebCore.

Landed patch 1/5.  Clearing r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423969</commentid>
    <comment_count>20</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-20 14:58:05 -0700</bug_when>
    <thetext>Committed a 32-bit build fix for patch 1/5.
 Committed r89292: &lt;http://trac.webkit.org/changeset/89292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423988</commentid>
    <comment_count>21</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-06-20 15:23:23 -0700</bug_when>
    <thetext>Committed a build fix for Leopard.
Committed r89296: &lt;http://trac.webkit.org/changeset/89296&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468638</commentid>
    <comment_count>22</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-09-16 11:22:18 -0700</bug_when>
    <thetext>This bug is no longer being actively pursued. Clearing the r? flags from the outstanding patches and marking this bug as &quot;not to be fixed&quot;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95567</attachid>
            <date>2011-06-01 01:51:01 -0700</date>
            <delta_ts>2011-06-01 02:44:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Legacy-Full-Screen-API-for-WebKit.patch</filename>
            <type>text/plain</type>
            <size>91189</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">RnJvbSAwZGEwOTZmNzdlY2NlODA0Njk4NjA1MDQ5YTliYzM4NDVlNGQ1N2I1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXIgTm9ibGUgPGplci5ub2JsZUBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMzEgTWF5IDIwMTEgMjM6MzQ6MjEgLTA3MDAKU3ViamVjdDogW1BBVENIXSBMZWdhY3kg
RnVsbCBTY3JlZW4gQVBJIGZvciBXZWJLaXQuCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
ClJlbW92ZSBkZXBlbmRlbmN5IG9uIFFUS2l0IGZyb20gd2VraXRFeGl0RnVsbHNjcmVlbigpCmh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTg0MwoKU291cmNlL1dlYkNv
cmU6CgpNb3ZlIHRoZSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFuZCBXZWJWaWRlb0Z1
bGxzY3JlZW5IVURDb250cm9sbGVyCmludG8gV2ViQ29yZSwgd2hlcmUgdGhlIGNvZGUgY2FuIGJl
IHNoYXJlZCBieSBXZWJLaXQgYW5kIFdlYktpdDIuICBFeHBhbmQKdGhlIHVzZSBvZiBhIHByb3Rv
Y29sIHdyYXBwZXIgdG8gaW5zdWxhdGUgdGhlIGNvbnRyb2xsZXJzIGZyb20gZGV0YWlscyBhYm91
dApIVE1MTWVkaWFFbGVtZW50IGFuZCBNZWRpYVBsYXllci4KCk5vdyB0aGF0IGFsbCBtZWRpYSBj
YW4gdXNlIHRoZSB2aWRlbyBmdWxsLXNjcmVlbiBtb2RlLCB3ZSBubyBsb25nZXIgbmVlZCB0bwpp
bXBsZW1lbnQgdGhlIHZpZGVvIGZ1bGwtc2NyZWVuIG1vZGUgaW4gdGVybXMgb2YgdGhlIGFyYml0
cmFyeS1lbGVtZW50CmZ1bGwtc2NyZWVuIG1vZGUuICBEaXNhYmxlIHRoZSBwYXNzLXRocm91Z2gg
Y2FsbHMgZnJvbSB0aGUgdmlkZW8gZnVsbC1zY3JlZW4KQVBJIHRvIHRoZSBlbGVtZW50IGZ1bGwt
c2NyZWVuIG9uZS4KCiogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQpOiBBZGRlZCBpdmFyLgooV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKTogRG8gbm90IHBhc3MgdGhyb3VnaCB0byB0
aGUKICAgIGVsZW1lbnQgZnVsbC1zY3JlZW4gQVBJLgooV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6ZXhpdEZ1bGxzY3JlZW4pOiBEaXR0by4KKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBs
YXRmb3JtTGF5ZXIpOiBSZXR1cm4gMCBpZiBvdXIgbGF5ZXIgaGFzIGJlZW4gInN0b2xlbiIuCihX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRQbGF0Zm9ybUxheWVyU3RvbGVuKTogTWFrZXMg
dGhlIG1lZGlhJ3MgbGF5ZXIgdW4tCiAgICByZXRyaWV2YWJsZSBieSBjYWxsZXJzIHRvIHBsYXRm
b3JtTGF5ZXIoKS4KKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmZ1bGxTY3JlZW5MYXllcik6
IFdoZW4gdGhlIGxheWVyIGlzIHN0b2xlbiwgdGhpcyBmdW5jdGlvbgogICAgd2lsbCByZXR1cm4g
dGhlIG1lZGlhJ3MgcGxhdGZvcm1MYXllci4KKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKiBo
dG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgooV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudDo6c3Vw
cG9ydHNGdWxsc2NyZWVuKTogRG8gbm90IHBhc3MgdGhyb3VnaCB0byB0aGUKICAgIGVsZW1lbnQg
ZnVsbC1zY3JlZW4gQVBJLgoqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOgooV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uOjpzdXBwb3J0c0Z1bGxzY3JlZW4pOiBXZSBub3cgY2FuCiAgICBwbGF5IGlu
IGZ1bGwtc2NyZWVuIG1vZGUsIHNvIG5vdyBzYXkgc28uCgoqIHBsYXRmb3JtL21hYy9XZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaC4KKiBwbGF0Zm9ybS9tYWMvV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbS4KKC1bV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlciBpbml0XSk6CigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXIgZGVhbGxvY10pOgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHNldHVwVmlkZW9P
dmVybGF5Ol0pOiBOb3cgdGFrZXMgYSBDQUxheWVyLgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyIGxheW91dFN1YmxheWVyc09mTGF5ZXI6XSk6IEFkZGVkLgooLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyIHdpbmRvd0RpZExvYWRdKTogTWFrZSB0aGUgbWVkaWEgbGF5ZXIgYQog
ICAgc3VibGF5ZXIgb2YgdGhlIGNvbnRlbnQgdmlldywgaW5zdGVhZCBvZiBpdHMgbGF5ZXIgZGly
ZWN0bHkuCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgZGVsZWdhdGVdKToKKC1bV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBzZXREZWxlZ2F0ZTpdKTogVGhlIGRlbGVnYXRlIGlz
IG5vdyByZXRhaW5lZC4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3aW5kb3dEaWRF
eGl0RnVsbHNjcmVlbl0pOiBOb3RpZnkgdGhlIGRlbGVnYXRlIHRoYXQKICAgIHRoZSB3aW5kb3cg
aGFzIGV4aXRlZCBmdWxsIHNjcmVlbi4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3
aW5kb3dEaWRFbnRlckZ1bGxzY3JlZW5dKTogRGl0dG8uCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIgbWVkaWFFbGVtZW50UmVjdF0pOiBBc2sgdGhlIGRlbGVnYXRlIGluc3RlYWQgb2Yg
dGhlCiAgICBtZWRpYSBlbGVtZW50LgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFw
cGxpY2F0aW9uRGlkUmVzaWduQWN0aXZlOl0pOiBVbnVzZWQgcGFyYW0uCigtW1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXIgYXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJhbWV0ZXJzOl0p
OiBEaXR0by4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB1cGRhdGVQb3dlckFzc2Vy
dGlvbnNdKTogRG8gbm90IHJlbHkgb24gUVRNb3ZpZQogICAgY2FsbHMgdG8gZGV0ZXJtaW5lIHdo
ZW4gdG8gZGlzYWJsZSBzbGVlcC4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBfcmVx
dWVzdEV4aXRdKTogUmVxdWVzdCBleGl0IGZyb20gdGhlIGRlbGVnYXRlLgooLVtXZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyIHVwZGF0ZVBsYXlTdGF0ZV0pOiBBZGRlZC4KKC1bV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlciB1cGRhdGVUaW1lXSk6IEFkZGVkLgooLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyIHVwZGF0ZVZvbHVtZV0pOiBBZGRlZC4KKC1bV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlciB1cGRhdGVEdXJhdGlvbl0pOiBBZGRlZC4KKC1bV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlciByYXRlQ2hhbmdlZF0pOiBSZW1vdmUgdGhlIG5vdGlmaWNhdGlvbiBwYXJh
bWV0ZXIuCgoqIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9s
bGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxs
c2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oLgoqIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tLgooLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3cgY2FuY2VsT3BlcmF0aW9uOl0pOiBVbnVzZWQgcGFy
YW0uCihjcmVhdGVDb250cm9sV2l0aE1lZGlhVUlDb250cm9sVHlwZSk6IFVzZSBXQ1NJIHZlcnNp
b25zIG9mIFdLQ0kgZnVuY3Rpb25zLgooY3JlYXRlVGltZVRleHRGaWVsZCk6IERpdHRvLgooLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHdpbmRvd0RpZExvYWRdKTogRGl0
dG8uCgpUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBoYXZlIGhhZCB0aGVpciBpbXBsZW1lbnRhdGlv
bnMgbW9kaWZpZWQgc28gYXMKdG8gdXNlIHRoZSBkZWxlZ2F0ZSBpbnN0ZWFkIG9mIHRoZSBIVE1M
TWVkaWFFbGVtZW50IGRpcmVjdGx5LgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyIHVwZGF0ZVZvbHVtZV0pOgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyIHVwZGF0ZVRpbWVdKToKKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlciBlbmRTY3J1YmJpbmddKToKKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlciB0aW1lbGluZVBvc2l0aW9uQ2hhbmdlZDpdKToKKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVE
V2luZG93Q29udHJvbGxlciBjdXJyZW50VGltZV0pOgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURX
aW5kb3dDb250cm9sbGVyIHNldEN1cnJlbnRUaW1lOl0pOgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyIGR1cmF0aW9uXSk6CigtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdp
bmRvd0NvbnRyb2xsZXIgbWF4Vm9sdW1lXSk6CigtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRv
d0NvbnRyb2xsZXIgdm9sdW1lQ2hhbmdlZDpdKToKKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2lu
ZG93Q29udHJvbGxlciBzZXRWb2x1bWVUb1plcm86XSk6CigtW1dlYlZpZGVvRnVsbHNjcmVlbkhV
RFdpbmRvd0NvbnRyb2xsZXIgc2V0Vm9sdW1lVG9NYXhpbXVtOl0pOgooLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGRlY3JlbWVudFZvbHVtZV0pOgooLVtXZWJWaWRlb0Z1
bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGluY3JlbWVudFZvbHVtZV0pOgooLVtXZWJWaWRl
b0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHZvbHVtZV0pOgooLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHNldFZvbHVtZTpdKToKKC1bV2ViVmlkZW9GdWxsc2Ny
ZWVuSFVEV2luZG93Q29udHJvbGxlciB1cGRhdGVQbGF5QnV0dG9uXSk6CigtW1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgdXBkYXRlUmF0ZV0pOgooLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHRvZ2dsZVBsYXlpbmc6XSk6CigtW1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgcGxheWluZ10pOgooLVtXZWJWaWRlb0Z1bGxzY3Jl
ZW5IVURXaW5kb3dDb250cm9sbGVyIHNldFBsYXlpbmc6XSk6Cih0aW1lVG9TdHJpbmcpOgooLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHJlbWFpbmluZ1RpbWVUZXh0XSk6
CigtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgZWxhcHNlZFRpbWVUZXh0
XSk6CigtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgbW91c2VFbnRlcmVk
Ol0pOgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIG1vdXNlRXhpdGVk
Ol0pOgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHJld2luZDpdKToK
KC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBmYXN0Rm9yd2FyZDpdKToK
KC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBleGl0RnVsbHNjcmVlbjpd
KToKKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciB3aW5kb3dEaWRFeHBv
c2U6XSk6CigtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgd2luZG93RGlk
Q2xvc2U6XSk6CgpXZWJXaW5kb3dBbmltYXRpb24gaXMgbmVlZGVkIGJ5IFdlYlZpZGVvRnVsbFNj
cmVlbkNvbnRyb2xsZXIsIHNvIG1vdmUgdGhpcwpmaWxlIGludG8gV2ViQ29yZSBhbG9uZyB3aXRo
IHRoZSBjb250cm9sbGVycy4KKiBwbGF0Zm9ybS9tYWMvV2ViV2luZG93QW5pbWF0aW9uLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0FuaW1hdGlvbi5o
LgoqIHBsYXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24ubW06IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0FuaW1hdGlvbi5tLgooLVtXZWJXaW5kb3dT
Y2FsZUFuaW1hdGlvbiBpbml0V2l0aEhpbnRlZER1cmF0aW9uOndpbmRvdzppbml0YWxGcmFtZTpm
aW5hbEZyYW1lOl0pOiBkdXJhdGlvbgogICAgd2FzIHByZXZpb3VzbHkgYmVpbmcgaWdub3JlZC4K
CkFkZGVkIHN1cHBvcnQgaW4gV0NTSSBmb3IgV0tTSSBmdW5jdGlvbnMgbmVlZGVkIGJ5IHRoZSBt
b3ZlZCBjbGFzc2VzLgoqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmg6Ciog
cGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW06CgpBZGRlZCB0aGUgdHdvIG5l
dyBmaWxlcyBtb3ZlZCBpbiBmcm9tIFdlYktpdC4KKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CgpOZXcgZnVuY3Rpb25zIGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgZXhwb3J0IGZp
bGUuCiogV2ViQ29yZS5leHAuaW46CgpTb3VyY2UvV2ViS2l0OgoKKiBXZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajogUmVtb3ZlIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRy
b2xsZXIuaCxjcHAKICAgIGFuZCBXZWJWaWRlb0Z1bGxzY3JlZW5XaW5kb3dDb250cm9sbGVyLmgs
Y3BwIGFzIHRoZXNlIGZpbGVzIHdlcmUgbW92ZWQgaW50byBXZWJDb3JlLgoKU291cmNlL1dlYktp
dC9tYWM6CgpUaGUgV2ViTWVkaWFEZWxlZ2F0ZSBpcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBI
VE1MTWVkaWFFbGVtZW50IHdoaWNoIGluc3VsYXRlcyB0aGUgZnVsbApzY3JlZW4gY29udHJvbGxl
cnMgZnJvbSBkZXRhaWxzIGFib3V0IEhUTUxNZWRpYUVsZW1lbnRzLgoqIFdlYlZpZXcvV2ViTWVk
aWFEZWxlZ2F0ZS5oOiBBZGRlZC4KKiBXZWJWaWV3L1dlYk1lZGlhRGVsZWdhdGUubW06IEFkZGVk
LgooLVtXZWJNZWRpYURlbGVnYXRlIGRlYWxsb2NdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBzZXRN
ZWRpYUVsZW1lbnQ6V2ViQ29yZTo6XSk6CigtW1dlYk1lZGlhRGVsZWdhdGUgV2ViQ29yZTo6XSk6
CigtW1dlYk1lZGlhRGVsZWdhdGUgcmVxdWVzdEV4aXRGdWxsc2NyZWVuXSk6CigtW1dlYk1lZGlh
RGVsZWdhdGUgYmVnaW5TY3J1YmJpbmddKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBlbmRTY3J1YmJp
bmddKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBjdXJyZW50VGltZV0pOgooLVtXZWJNZWRpYURlbGVn
YXRlIHNldEN1cnJlbnRUaW1lOl0pOgooLVtXZWJNZWRpYURlbGVnYXRlIGR1cmF0aW9uXSk6Cigt
W1dlYk1lZGlhRGVsZWdhdGUgdm9sdW1lXSk6CigtW1dlYk1lZGlhRGVsZWdhdGUgbXV0ZWRdKToK
KC1bV2ViTWVkaWFEZWxlZ2F0ZSBzZXRNdXRlZDpdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBzZXRW
b2x1bWU6XSk6CigtW1dlYk1lZGlhRGVsZWdhdGUgY2FuUGxheV0pOgooLVtXZWJNZWRpYURlbGVn
YXRlIHBsYXldKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBwYXVzZV0pOgooLVtXZWJNZWRpYURlbGVn
YXRlIHJld2luZDpdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBtZWRpYUVsZW1lbnRTY3JlZW5SZWN0
XSk6CigtW1dlYk1lZGlhRGVsZWdhdGUgcmVsZWFzZU1lZGlhRWxlbWVudExheWVyXSk6CigtW1dl
Yk1lZGlhRGVsZWdhdGUgc3RlYWxNZWRpYUVsZW1lbnRMYXllcl0pOgooLVtXZWJNZWRpYURlbGVn
YXRlIGV4aXRGdWxsU2NyZWVuQ29tcGxldGVkXSk6CigtW1dlYk1lZGlhRGVsZWdhdGUgZW50ZXJG
dWxsU2NyZWVuQ29tcGxldGVkXSk6CgpOb3cgdGhhdCBtb3JlIHRoYW4gb25lIGNsYXNzIG5lZWRz
IHRvIHVzZSBpdCwgbW92ZSBXZWJFdmVudExpc3RlbmVyIG91dCBpbnRvIGl0cyBvd24gY2xhc3Mu
CiogV2ViVmlldy9XZWJFdmVudExpc3RlbmVyLmg6IENvcGllZCBmcm9tIHdpdGhpbiBXZWJGdWxs
U2NyZWVuQ29udHJvbGxlci5tbS4KKiBXZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIubW06IENvcGll
ZCBmcm9tIHdpdGhpbiBXZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbS4KKFdlYkV2ZW50TGlzdGVu
ZXI6OldlYkV2ZW50TGlzdGVuZXIpOiBOb3cgdGFrZXMgYSBzZWxlY3RvciBhbmQgaWQuCihXZWJF
dmVudExpc3RlbmVyOjpjcmVhdGUpOiBEaXR0by4KKFdlYkV2ZW50TGlzdGVuZXI6OmhhbmRsZUV2
ZW50KTogRGl0dG8uCiogV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbToKKC1bV2Vi
RnVsbFNjcmVlbkNvbnRyb2xsZXIgaW5pdF0pOiBVc2UgdGhlIG5ld2x5IHJlbmFtZWQgV2ViRXZl
bnRMaXN0ZW5lci4KCiogV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tOgooSW5p
dFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOiBJbml0aWFsaXplIFdlYkNvcmUgdmVyc2lvbnMgb2Yg
V0tTSSBtZXRob2RzLgoKTm93IHRoYXQgdGhlIGZ1bGwtc2NyZWVuIGNvbnRyb2xsZXJzIGFyZSBN
ZWRpYVBsYXllciBhZ25vc3RpYywgd2UgY2FuIHJlbW92ZSB0aGUKY2hlY2tzIHRoYXQgc3BlY2lm
aWNhbGx5IGRpc2FibGUgZnVsbC1zY3JlZW4gbW9kZSBmb3IgQVZGb3VuZGF0aW9uLgoqIFdlYlZp
ZXcvV2ViVmlldy5oOgoqIFdlYlZpZXcvV2ViVmlldy5tbToKKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgooLVtXZWJWaWV3IF9lbnRlckZ1bGxzY3JlZW5Gb3JOb2RlOldlYkNvcmU6
Ol0pOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDEyMCArKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluICAg
ICAgICAgICAgICAgICAgICAgIHwgICAgOSArCiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogICB8ICAgMjQgKysrCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwICAgICAgICAgICB8ICAgMzQgKystLQogU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmggICAgICAgICAgICAgfCAgICA0ICsKIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgICAgICAgICAgIHwgICAgNSAtCiAuLi4vTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCAgICAgICAgICAgICB8ICAgIDUgLQogLi4u
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCAgfCAgICA4ICsK
IC4uLi9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tIHwgICAg
NCArCiAuLi4vcGxhdGZvcm0vbWFjfS9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggICB8
ICAgMzYgKysrLQogLi4uL3BsYXRmb3JtL21hY30vV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ci5tbSAgfCAgMTMzICsrKysrKysrLS0tLS0tCiAuLi4vbWFjfS9XZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLmggICB8ICAgMjAgKystCiAuLi4vbWFjfS9XZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tICB8ICAgOTggKysrKy0tLS0tLQogLi4uL3BsYXRm
b3JtL21hY30vV2ViV2luZG93QW5pbWF0aW9uLmggICAgICAgICAgICAgfCAgICAwCiAuLi4vcGxh
dGZvcm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5tbX0gICAgICAgICAgICB8ICAgIDkgKy0KIFNv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiAr
KwogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgICAgfCAg
IDM4ICsrLS0tCiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgNTUgKysrKysrCiAuLi4vbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVy
ZmFjZS5tbSAgICAgICB8ICAgIDQgKwogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJFdmVu
dExpc3RlbmVyLmggICAgICAgfCAgIDM5ICsrKysKIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViRXZlbnRMaXN0ZW5lci5tbSAgICAgIHwgICAzNCArKysrCiAuLi4vV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tICB8ICAgMzkgKy0tLS0KIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oICAgICAgIHwgICA0NiArKysrKwogU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLm1tICAgICAgfCAgMTk0ICsr
KysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcuaCAg
ICAgICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tICAgICAgICAgICAgICAgfCAgIDI4ICsrLS0KIDI2IGZpbGVzIGNoYW5nZWQsIDc2OCBpbnNl
cnRpb25zKCspLCAyMzEgZGVsZXRpb25zKC0pCiByZW5hbWUgU291cmNlL3tXZWJLaXQvbWFjL1dl
YlZpZXcgPT4gV2ViQ29yZS9wbGF0Zm9ybS9tYWN9L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXIuaCAoNzMlKQogcmVuYW1lIFNvdXJjZS97V2ViS2l0L21hYy9XZWJWaWV3ID0+IFdlYkNvcmUv
cGxhdGZvcm0vbWFjfS9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tICg4OSUpCiByZW5h
bWUgU291cmNlL3tXZWJLaXQvbWFjL1dlYlZpZXcgPT4gV2ViQ29yZS9wbGF0Zm9ybS9tYWN9L1dl
YlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaCAoODMlKQogcmVuYW1lIFNvdXJj
ZS97V2ViS2l0L21hYy9XZWJWaWV3ID0+IFdlYkNvcmUvcGxhdGZvcm0vbWFjfS9XZWJWaWRlb0Z1
bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tICg4OCUpCiByZW5hbWUgU291cmNlL3tXZWJL
aXQvbWFjL1dlYlZpZXcgPT4gV2ViQ29yZS9wbGF0Zm9ybS9tYWN9L1dlYldpbmRvd0FuaW1hdGlv
bi5oICgxMDAlKQogcmVuYW1lIFNvdXJjZS97V2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0Fu
aW1hdGlvbi5tID0+IFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5tbX0g
KDk2JSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkV2
ZW50TGlzdGVuZXIuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRXZlbnRMaXN0ZW5lci5tbQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLm1tCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDMz
YmRjNzAuLjU2YzgyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMjMgQEAKKzIwMTEtMDYtMDEg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGVnYWN5IEZ1bGwgU2NyZWVuIEFQSSBmb3IgV2Vi
S2l0LgorCisgICAgICAgIFJlbW92ZSBkZXBlbmRlbmN5IG9uIFFUS2l0IGZyb20gd2VraXRFeGl0
RnVsbHNjcmVlbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MTg0MworCisgICAgICAgIE1vdmUgdGhlIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXIgYW5kIFdlYlZpZGVvRnVsbHNjcmVlbkhVRENvbnRyb2xsZXIKKyAgICAgICAgaW50byBXZWJD
b3JlLCB3aGVyZSB0aGUgY29kZSBjYW4gYmUgc2hhcmVkIGJ5IFdlYktpdCBhbmQgV2ViS2l0Mi4g
IEV4cGFuZAorICAgICAgICB0aGUgdXNlIG9mIGEgcHJvdG9jb2wgd3JhcHBlciB0byBpbnN1bGF0
ZSB0aGUgY29udHJvbGxlcnMgZnJvbSBkZXRhaWxzIGFib3V0CisgICAgICAgIEhUTUxNZWRpYUVs
ZW1lbnQgYW5kIE1lZGlhUGxheWVyLgorCisgICAgICAgIE5vdyB0aGF0IGFsbCBtZWRpYSBjYW4g
dXNlIHRoZSB2aWRlbyBmdWxsLXNjcmVlbiBtb2RlLCB3ZSBubyBsb25nZXIgbmVlZCB0bworICAg
ICAgICBpbXBsZW1lbnQgdGhlIHZpZGVvIGZ1bGwtc2NyZWVuIG1vZGUgaW4gdGVybXMgb2YgdGhl
IGFyYml0cmFyeS1lbGVtZW50IAorICAgICAgICBmdWxsLXNjcmVlbiBtb2RlLiAgRGlzYWJsZSB0
aGUgcGFzcy10aHJvdWdoIGNhbGxzIGZyb20gdGhlIHZpZGVvIGZ1bGwtc2NyZWVuCisgICAgICAg
IEFQSSB0byB0aGUgZWxlbWVudCBmdWxsLXNjcmVlbiBvbmUuCisKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6IEFkZGVkIGl2YXIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4pOiBEbyBub3QgcGFzcyB0aHJvdWdoIHRvIHRoZSAK
KyAgICAgICAgICAgIGVsZW1lbnQgZnVsbC1zY3JlZW4gQVBJLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6ZXhpdEZ1bGxzY3JlZW4pOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBsYXRmb3JtTGF5ZXIpOiBSZXR1cm4gMCBpZiBvdXIgbGF5
ZXIgaGFzIGJlZW4gInN0b2xlbiIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpzZXRQbGF0Zm9ybUxheWVyU3RvbGVuKTogTWFrZXMgdGhlIG1lZGlhJ3MgbGF5ZXIgdW4tCisg
ICAgICAgICAgICByZXRyaWV2YWJsZSBieSBjYWxsZXJzIHRvIHBsYXRmb3JtTGF5ZXIoKS4KKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmZ1bGxTY3JlZW5MYXllcik6IFdoZW4g
dGhlIGxheWVyIGlzIHN0b2xlbiwgdGhpcyBmdW5jdGlvbgorICAgICAgICAgICAgd2lsbCByZXR1
cm4gdGhlIG1lZGlhJ3MgcGxhdGZvcm1MYXllci4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudDo6c3VwcG9ydHNGdWxsc2NyZWVuKTogRG8gbm90IHBh
c3MgdGhyb3VnaCB0byB0aGUgCisgICAgICAgICAgICBlbGVtZW50IGZ1bGwtc2NyZWVuIEFQSS4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmNwcDogCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb246OnN1cHBvcnRzRnVsbHNjcmVlbik6IFdlIG5vdyBjYW4KKyAgICAgICAg
ICAgIHBsYXkgaW4gZnVsbC1zY3JlZW4gbW9kZSwgc28gbm93IHNheSBzby4KKyAgICAgICAgICAg
IAorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVl
bkNvbnRyb2xsZXIuaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlci5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbS4KKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlciBpbml0XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXIgZGVhbGxvY10pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
IHNldHVwVmlkZW9PdmVybGF5Ol0pOiBOb3cgdGFrZXMgYSBDQUxheWVyLgorICAgICAgICAoLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGxheW91dFN1YmxheWVyc09mTGF5ZXI6XSk6IEFk
ZGVkLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHdpbmRvd0RpZExv
YWRdKTogTWFrZSB0aGUgbWVkaWEgbGF5ZXIgYSAKKyAgICAgICAgICAgIHN1YmxheWVyIG9mIHRo
ZSBjb250ZW50IHZpZXcsIGluc3RlYWQgb2YgaXRzIGxheWVyIGRpcmVjdGx5LgorICAgICAgICAo
LVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGRlbGVnYXRlXSk6CisgICAgICAgICgtW1dl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgc2V0RGVsZWdhdGU6XSk6IFRoZSBkZWxlZ2F0ZSBp
cyBub3cgcmV0YWluZWQuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIg
d2luZG93RGlkRXhpdEZ1bGxzY3JlZW5dKTogTm90aWZ5IHRoZSBkZWxlZ2F0ZSB0aGF0CisgICAg
ICAgICAgICB0aGUgd2luZG93IGhhcyBleGl0ZWQgZnVsbCBzY3JlZW4uCisgICAgICAgICgtW1dl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgd2luZG93RGlkRW50ZXJGdWxsc2NyZWVuXSk6IERp
dHRvLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIG1lZGlhRWxlbWVu
dFJlY3RdKTogQXNrIHRoZSBkZWxlZ2F0ZSBpbnN0ZWFkIG9mIHRoZQorICAgICAgICAgICAgbWVk
aWEgZWxlbWVudC4KKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBhcHBs
aWNhdGlvbkRpZFJlc2lnbkFjdGl2ZTpdKTogVW51c2VkIHBhcmFtLgorICAgICAgICAoLVtXZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFwcGxpY2F0aW9uRGlkQ2hhbmdlU2NyZWVuUGFyYW1l
dGVyczpdKTogRGl0dG8uCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIg
dXBkYXRlUG93ZXJBc3NlcnRpb25zXSk6IERvIG5vdCByZWx5IG9uIFFUTW92aWUKKyAgICAgICAg
ICAgIGNhbGxzIHRvIGRldGVybWluZSB3aGVuIHRvIGRpc2FibGUgc2xlZXAuCisgICAgICAgICgt
W1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgX3JlcXVlc3RFeGl0XSk6IFJlcXVlc3QgZXhp
dCBmcm9tIHRoZSBkZWxlZ2F0ZS4KKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlciB1cGRhdGVQbGF5U3RhdGVdKTogQWRkZWQuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXIgdXBkYXRlVGltZV0pOiBBZGRlZC4KKyAgICAgICAgKC1bV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlciB1cGRhdGVWb2x1bWVdKTogQWRkZWQuCisgICAgICAgICgtW1dl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgdXBkYXRlRHVyYXRpb25dKTogQWRkZWQuCisgICAg
ICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgcmF0ZUNoYW5nZWRdKTogUmVtb3Zl
IHRoZSBub3RpZmljYXRpb24gcGFyYW1ldGVyLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1dl
YlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaDogQ29waWVkIGZyb20gU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVy
LmguCisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0Nv
bnRyb2xsZXIubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0uCisgICAgICAgICgtW1dlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvdyBjYW5jZWxPcGVyYXRpb246XSk6IFVudXNlZCBwYXJhbS4KKyAg
ICAgICAgKGNyZWF0ZUNvbnRyb2xXaXRoTWVkaWFVSUNvbnRyb2xUeXBlKTogVXNlIFdDU0kgdmVy
c2lvbnMgb2YgV0tDSSBmdW5jdGlvbnMuCisgICAgICAgIChjcmVhdGVUaW1lVGV4dEZpZWxkKTog
RGl0dG8uCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIg
d2luZG93RGlkTG9hZF0pOiBEaXR0by4KKworICAgICAgICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9u
cyBoYXZlIGhhZCB0aGVpciBpbXBsZW1lbnRhdGlvbnMgbW9kaWZpZWQgc28gYXMKKyAgICAgICAg
dG8gdXNlIHRoZSBkZWxlZ2F0ZSBpbnN0ZWFkIG9mIHRoZSBIVE1MTWVkaWFFbGVtZW50IGRpcmVj
dGx5LgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHVw
ZGF0ZVZvbHVtZV0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyIHVwZGF0ZVRpbWVdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2lu
ZG93Q29udHJvbGxlciBlbmRTY3J1YmJpbmddKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2Ny
ZWVuSFVEV2luZG93Q29udHJvbGxlciB0aW1lbGluZVBvc2l0aW9uQ2hhbmdlZDpdKToKKyAgICAg
ICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBjdXJyZW50VGltZV0p
OgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHNldEN1
cnJlbnRUaW1lOl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyIGR1cmF0aW9uXSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRv
d0NvbnRyb2xsZXIgbWF4Vm9sdW1lXSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhV
RFdpbmRvd0NvbnRyb2xsZXIgdm9sdW1lQ2hhbmdlZDpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9G
dWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBzZXRWb2x1bWVUb1plcm86XSk6CisgICAgICAg
ICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgc2V0Vm9sdW1lVG9NYXhp
bXVtOl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVy
IGRlY3JlbWVudFZvbHVtZV0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5k
b3dDb250cm9sbGVyIGluY3JlbWVudFZvbHVtZV0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHZvbHVtZV0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1
bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHNldFZvbHVtZTpdKToKKyAgICAgICAgKC1bV2Vi
VmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciB1cGRhdGVQbGF5QnV0dG9uXSk6Cisg
ICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgdXBkYXRlUmF0
ZV0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHRv
Z2dsZVBsYXlpbmc6XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0Nv
bnRyb2xsZXIgcGxheWluZ10pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5k
b3dDb250cm9sbGVyIHNldFBsYXlpbmc6XSk6CisgICAgICAgICh0aW1lVG9TdHJpbmcpOgorICAg
ICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHJlbWFpbmluZ1Rp
bWVUZXh0XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xs
ZXIgZWxhcHNlZFRpbWVUZXh0XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdp
bmRvd0NvbnRyb2xsZXIgbW91c2VFbnRlcmVkOl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyIG1vdXNlRXhpdGVkOl0pOgorICAgICAgICAoLVtXZWJW
aWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHJld2luZDpdKToKKyAgICAgICAgKC1b
V2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBmYXN0Rm9yd2FyZDpdKToKKyAg
ICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBleGl0RnVsbHNj
cmVlbjpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxl
ciB3aW5kb3dEaWRFeHBvc2U6XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdp
bmRvd0NvbnRyb2xsZXIgd2luZG93RGlkQ2xvc2U6XSk6CisKKyAgICAgICAgV2ViV2luZG93QW5p
bWF0aW9uIGlzIG5lZWRlZCBieSBXZWJWaWRlb0Z1bGxTY3JlZW5Db250cm9sbGVyLCBzbyBtb3Zl
IHRoaXMKKyAgICAgICAgZmlsZSBpbnRvIFdlYkNvcmUgYWxvbmcgd2l0aCB0aGUgY29udHJvbGxl
cnMuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJXaW5kb3dBbmltYXRpb24uaC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViV2luZG93QW5pbWF0aW9uLm1tOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJXaW5kb3dBbmltYXRpb24ubS4KKyAgICAgICAg
KC1bV2ViV2luZG93U2NhbGVBbmltYXRpb24gaW5pdFdpdGhIaW50ZWREdXJhdGlvbjp3aW5kb3c6
aW5pdGFsRnJhbWU6ZmluYWxGcmFtZTpdKTogZHVyYXRpb24KKyAgICAgICAgICAgIHdhcyBwcmV2
aW91c2x5IGJlaW5nIGlnbm9yZWQuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBpbiBXQ1NJIGZv
ciBXS1NJIGZ1bmN0aW9ucyBuZWVkZWQgYnkgdGhlIG1vdmVkIGNsYXNzZXMuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKKworICAgICAgICBBZGRlZCB0aGUgdHdv
IG5ldyBmaWxlcyBtb3ZlZCBpbiBmcm9tIFdlYktpdC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgTmV3IGZ1bmN0aW9ucyBoYXZlIGJlZW4g
YWRkZWQgdG8gdGhlIGV4cG9ydCBmaWxlLgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorCiAy
MDExLTA1LTMwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA1Y2U2Y2Y1
Li5iYTg1YmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTM2NCw2ICsxMzY0LDEwIEBAIF93
a0hUVFBDb29raWVzRm9yVVJMCiBfd2tIaXRUZXN0TWVkaWFVSVBhcnQKIF93a0luaXRpYWxpemVN
YXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QKIF93a01lYXN1cmVNZWRpYVVJUGFydAor
X3drQ3JlYXRlTWVkaWFVSUJhY2tncm91bmRWaWV3Citfd2tDcmVhdGVNZWRpYVVJQ29udHJvbAor
X3drV2luZG93U2V0QWxwaGEKK193a1dpbmRvd1NldFNjYWxlZEZyYW1lCiBfd2tNZWRpYUNvbnRy
b2xsZXJUaGVtZUF2YWlsYWJsZQogX3drUG9wdXBNZW51CiBfd2tRVEluY2x1ZGVPbmx5TW9kZXJu
TWVkaWFGaWxlVHlwZXMKQEAgLTE4MTQsNiArMTgxOCwxMSBAQCBfX1pOSzdXZWJDb3JlMTZIVE1M
TWVkaWFFbGVtZW50NnZvbHVtZUV2CiBfX1pOSzdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50N2Nh
blBsYXlFdgogX19aTks3V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVudDEycGxheWJhY2tSYXRlRXYK
IF9fWk5LN1dlYkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQ4ZHVyYXRpb25FdgorX19aTks3V2ViQ29y
ZTE2SFRNTE1lZGlhRWxlbWVudDE1ZnVsbFNjcmVlbkxheWVyRXYKK19fWk43V2ViQ29yZTE2SFRN
TE1lZGlhRWxlbWVudDIyc2V0UGxhdGZvcm1MYXllclN0b2xlbkViCitfX1pON1dlYkNvcmUxNkhU
TUxNZWRpYUVsZW1lbnQxNnJldHVyblRvUmVhbHRpbWVFdgorX19aTks3V2ViQ29yZTE2SFRNTE1l
ZGlhRWxlbWVudDEyaXNGdWxsc2NyZWVuRXYKKy5vYmpjX2NsYXNzX25hbWVfV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlcgogI2VuZGlmCiAKICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9W
SURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBmMDc3ZWFjLi43NDNkYzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDMzLDYgKzU0MzMsMTIgQEAKIAkJ
QzZGNDEwNDcxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQg
LyogRW50cnlCYXNlLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0MxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi87
IH07CiAJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0QxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi87IH07CisJCUNEODIwMzBBMTM5NUFCNkEw
MEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyMDMwNjEzOTVBQjZBMDBGOTU2QzYg
LyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEODIwMzBCMTM5NUFCNkEwMEY5NTZDNiAvKiBX
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjAzMDcxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gKi87IH07CisJCUNEODIwMzBDMTM5NUFCNkEwMEY5NTZD
NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyMDMwODEzOTVBQjZBMDBGOTU2
QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNEODIwMzBEMTM5NUFCNkEw
MEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjAzMDkxMzk1QUI2
QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0gKi87
IH07CisJCUNEODIwMzEwMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODIwMzBFMTM5
NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24uaCAqLzsgfTsKKwkJQ0Q4MjAzMTEx
Mzk1QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODIwMzBGMTM5NUFDRTcwMEY5NTZDNiAv
KiBXZWJXaW5kb3dBbmltYXRpb24ubW0gKi87IH07CiAJCUNERUE3Qzg0MTI3NjIzMDQwMEI4NDZE
RCAvKiBSZW5kZXJGdWxsU2NyZWVuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREVBN0M4MjEyNzYyMzA0MDBCODQ2REQgLyogUmVuZGVyRnVsbFNjcmVl
bi5oICovOyB9OwogCQlDREVBN0M4NTEyNzYyMzA0MDBCODQ2REQgLyogUmVuZGVyRnVsbFNjcmVl
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVB
N0M4MzEyNzYyMzA0MDBCODQ2REQgLyogUmVuZGVyRnVsbFNjcmVlbi5jcHAgKi87IH07CiAJCUNF
MDJGMEM0MTFFODNBREQwMEM2Njg0QSAvKiBTY3JpcHRDb250cm9sbGVyQmFzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwMkYwQzMxMUU4M0FERDAw
QzY2ODRBIC8qIFNjcmlwdENvbnRyb2xsZXJCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExOTYxLDYgKzExOTY3LDEyIEBACiAJCUNBM0JG
NjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDRFMEFGQTExRjdCQzI3MDA5RDM4MTEgLyog
ZnVsbHNjcmVlbi5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGZ1bGxzY3JlZW4uY3Nz
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyMDMwNjEzOTVBQjZBMDBGOTU2QzYg
LyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNEODIwMzA3MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0Q4MjAzMDgxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhV
RFdpbmRvd0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
VmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRDgyMDMwOTEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVu
SFVEV2luZG93Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODIwMzBFMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5k
b3dBbmltYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViV2luZG93
QW5pbWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODIwMzBGMTM5NUFD
RTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXZWJXaW5kb3dBbmltYXRpb24ubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNEQkQ5M0JBMTMzM0JENEIwMDI1NzBFMyAvKiBmdWxsc2NyZWVuUXVp
Y2tUaW1lLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0gZnVsbHNjcmVlblF1aWNrVGlt
ZS5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERUE3QzgyMTI3NjIzMDQwMEI4
NDZERCAvKiBSZW5kZXJGdWxsU2NyZWVuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbmRlckZ1bGxTY3JlZW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RF
QTdDODMxMjc2MjMwNDAwQjg0NkREIC8qIFJlbmRlckZ1bGxTY3JlZW4uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyRnVsbFNjcmVlbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDE2OCw2ICsxNDE4MCwxMiBAQAogCQk2NTgyQTE0ODA5
OTk5RDZDMDBCRUVCNkQgLyogbWFjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQlDRDgyMDMwRTEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0
aW9uLmggKi8sCisJCQkJQ0Q4MjAzMEYxMzk1QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1h
dGlvbi5tbSAqLywKKwkJCQlDRDgyMDMwNjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlci5oICovLAorCQkJCUNEODIwMzA3MTM5NUFCNkEwMEY5NTZDNiAvKiBX
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tICovLAorCQkJCUNEODIwMzA4MTM5NUFCNkEw
MEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmggKi8sCisJ
CQkJQ0Q4MjAzMDkxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRv
d0NvbnRyb2xsZXIubW0gKi8sCiAJCQkJNTFFMUVDQUQwQzkxQzU0NjAwREMyNTVCIC8qIEF1dG9k
cmFpbmVkUG9vbC5tbSAqLywKIAkJCQk2NUE2NDBGMDA1MzNCQjFGMDA4NUU3NzcgLyogQmxvY2tF
eGNlcHRpb25zLmggKi8sCiAJCQkJNjVGODA2OTcwNTREOUY4NjAwOEJGNzc2IC8qIEJsb2NrRXhj
ZXB0aW9ucy5tbSAqLywKQEAgLTIzMDA4LDYgKzIzMDI2LDkgQEAKIAkJCQlCMTJEMjM2RTEzNTYw
MzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OEMwRTMzNEQxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJUcmFuc2FjdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOEMwRTMzNEYxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJXcml0ZUJhdGNo
LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDgyMDMwQTEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0Q4MjAzMEMxMzk1
QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCUNEODIwMzEwMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dB
bmltYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjU3MDQsNiArMjU3MjUsOSBAQAogCQkJCUIx
MkQyMzZEMTM1NjAzNEQwMDJBMjhENCAvKiBKU011bHRpcGxlVHJhY2tMaXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCThDMEUzMzRDMTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZlbERCVHJhbnNhY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEMwRTMzNEUxMzhBOTJDNzAwOERBOTRGIC8qIExl
dmVsREJXcml0ZUJhdGNoLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNEODIwMzBCMTM5NUFCNkEw
MEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJQ0Q4MjAzMEQxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdp
bmRvd0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDgyMDMxMTEzOTVBQ0U3MDBG
OTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBiNmRjYmVlLi5iY2I1YWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE2Myw2ICsxNjMsNyBA
QCBIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bQogICAgICwgbV9wYXVzZWRJbnRlcm5hbChmYWxzZSkK
ICAgICAsIG1fc2VuZFByb2dyZXNzRXZlbnRzKHRydWUpCiAgICAgLCBtX2lzRnVsbHNjcmVlbihm
YWxzZSkKKyAgICAsIG1faXNQbGF0Zm9ybUxheWVyU3RvbGVuKGZhbHNlKQogICAgICwgbV9jbG9z
ZWRDYXB0aW9uc1Zpc2libGUoZmFsc2UpCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklE
RU8pCiAgICAgLCBtX25lZWRXaWRnZXRVcGRhdGUoZmFsc2UpCkBAIC0yNTA0LDE0ICsyNTA1LDkg
QEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojppc0Z1bGxzY3JlZW4oKSBjb25zdAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxN
ZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbiIpOwotCi0jaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQotICAgIGlmIChkb2N1bWVudCgpICYmIGRvY3VtZW50KCktPnNldHRpbmdzKCkgJiYgZG9j
dW1lbnQoKS0+c2V0dGluZ3MoKS0+ZnVsbFNjcmVlbkVuYWJsZWQoKSkgewotICAgICAgICBkb2N1
bWVudCgpLT5yZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQodGhpcywgMCwgRG9jdW1lbnQ6OkV4
ZW1wdElGcmFtZUFsbG93RnVsU2NyZWVuUmVxdWlyZW1lbnQpOworICAgIGlmIChtX2lzRnVsbHNj
cmVlbikKICAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotICAgIEFTU0VSVCghbV9pc0Z1
bGxzY3JlZW4pOworCiAgICAgbV9pc0Z1bGxzY3JlZW4gPSB0cnVlOwogICAgIGlmIChoYXNNZWRp
YUNvbnRyb2xzKCkpCiAgICAgICAgIG1lZGlhQ29udHJvbHMoKS0+ZW50ZXJlZEZ1bGxzY3JlZW4o
KTsKQEAgLTI1MjUsMTMgKzI1MjEsNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmV4aXRGdWxs
c2NyZWVuKCkKIHsKICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpleGl0RnVsbHNj
cmVlbiIpOwogCi0jaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIGlmIChkb2N1bWVudCgp
ICYmIGRvY3VtZW50KCktPnNldHRpbmdzKCkgJiYgZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS0+ZnVs
bFNjcmVlbkVuYWJsZWQoKSkgewotICAgICAgICBpZiAoZG9jdW1lbnQoKS0+d2Via2l0SXNGdWxs
U2NyZWVuKCkgJiYgZG9jdW1lbnQoKS0+d2Via2l0Q3VycmVudEZ1bGxTY3JlZW5FbGVtZW50KCkg
PT0gdGhpcykKLSAgICAgICAgICAgIGRvY3VtZW50KCktPndlYmtpdENhbmNlbEZ1bGxTY3JlZW4o
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgogICAgIEFTU0VSVChtX2lzRnVsbHNj
cmVlbik7CiAgICAgbV9pc0Z1bGxzY3JlZW4gPSBmYWxzZTsKICAgICBpZiAoaGFzTWVkaWFDb250
cm9scygpKQpAQCAtMjU2NCw4ICsyNTUzLDI1IEBAIFBsYXRmb3JtTWVkaWEgSFRNTE1lZGlhRWxl
bWVudDo6cGxhdGZvcm1NZWRpYSgpIGNvbnN0CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogUGxhdGZvcm1MYXllciogSFRNTE1lZGlhRWxlbWVudDo6cGxhdGZvcm1MYXllcigpIGNv
bnN0CiB7CisgICAgaWYgKG1faXNQbGF0Zm9ybUxheWVyU3RvbGVuKQorICAgICAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+cGxhdGZvcm1MYXllcigpIDogMDsK
K30KKworUGxhdGZvcm1MYXllciogSFRNTE1lZGlhRWxlbWVudDo6ZnVsbFNjcmVlbkxheWVyKCkg
Y29uc3QKK3sKKyAgICBpZiAoIW1faXNQbGF0Zm9ybUxheWVyU3RvbGVuKQorICAgICAgICByZXR1
cm4gMDsKICAgICByZXR1cm4gbV9wbGF5ZXIgPyBtX3BsYXllci0+cGxhdGZvcm1MYXllcigpIDog
MDsKIH0KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRQbGF0Zm9ybUxheWVyU3RvbGVuKGJv
b2wgZmxhZykKK3sKKyAgICBpZiAoZmxhZyA9PSBtX2lzUGxhdGZvcm1MYXllclN0b2xlbikKKyAg
ICAgICAgcmV0dXJuOworICAgIG1faXNQbGF0Zm9ybUxheWVyU3RvbGVuID0gZmxhZzsKKyAgICBz
ZXROZWVkc1N0eWxlUmVjYWxjKFN5bnRoZXRpY1N0eWxlQ2hhbmdlKTsgICAgCit9CiAjZW5kaWYK
IAogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNDbG9zZWRDYXB0aW9ucygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDI3MTYzOWUuLjA2MjdlOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC03Miw2ICs3Miw5IEBAIHB1
YmxpYzoKICAgICBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdDsKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXll
cigpIGNvbnN0OworCisgICAgdm9pZCBzZXRQbGF0Zm9ybUxheWVyU3RvbGVuKGJvb2wpOworICAg
IFBsYXRmb3JtTGF5ZXIqIGZ1bGxTY3JlZW5MYXllcigpIGNvbnN0OwogI2VuZGlmCiAKICAgICB2
b2lkIHNjaGVkdWxlTG9hZCgpOwpAQCAtNDE3LDYgKzQyMCw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX3NlbmRQcm9ncmVzc0V2ZW50cyA6IDE7CiAKICAgICBib29sIG1faXNGdWxsc2NyZWVuIDog
MTsKKyAgICBib29sIG1faXNQbGF0Zm9ybUxheWVyU3RvbGVuIDogMTsKICAgICBib29sIG1fY2xv
c2VkQ2FwdGlvbnNWaXNpYmxlIDogMTsKIAogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJ
REVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKaW5kZXggNTkwMjdh
NC4uNmU2NTQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBA
IC0xMjksMTEgKzEyOSw2IEBAIGJvb2wgSFRNTFZpZGVvRWxlbWVudDo6c3VwcG9ydHNGdWxsc2Ny
ZWVuKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gQ2hlY2sgd2l0aCB0
aGUgcGxhdGZvcm0gY2xpZW50LgotI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBpZiAo
cGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5zdXBwb3J0c0Z1bGxTY3JlZW5Gb3JFbGVtZW50KHRo
aXMsIGZhbHNlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLQogICAgIHJldHVybiBw
YWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPnN1cHBvcnRzRnVsbHNjcmVlbkZvck5vZGUodGhpcyk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5jcHAKaW5kZXggMDMzNjA3Ny4uNWY1MmRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTM5NywxMiAr
Mzk3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnByZXBhcmVGb3JS
ZW5kZXJpbmcoKQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c3VwcG9y
dHNGdWxsc2NyZWVuKCkgY29uc3QKIHsKLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAg
cmV0dXJuIHRydWU7Ci0jZWxzZQotICAgIC8vIEZJWE1FOiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyIGFzc3VtZXMgYSBRVEtpdC9RdWlja1RpbWUgbWVkaWEgZW5naW5lCi0gICAgcmV0dXJu
IGZhbHNlOwotI2VuZGlmCiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
Ojp1cGRhdGVTdGF0ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgKaW5kZXggNjlhNDIwNS4uYjYwMmE3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5o
CkBAIC03MCw2ICs3MCw3IEBAIHR5cGVkZWYgc3RydWN0IF9OU1JlY3QgTlNSZWN0OwogQGNsYXNz
IEFWQXNzZXQ7CiBAY2xhc3MgTlNBcnJheTsKIEBjbGFzcyBOU0J1dHRvbkNlbGw7CitAY2xhc3Mg
TlNDb250cm9sOwogQGNsYXNzIE5TRGF0YTsKIEBjbGFzcyBOU0RhdGU7CiBAY2xhc3MgTlNFdmVu
dDsKQEAgLTg1LDEyICs4NiwxNCBAQCB0eXBlZGVmIHN0cnVjdCBfTlNSZWN0IE5TUmVjdDsKIEBj
bGFzcyBOU1VSTFJlcXVlc3Q7CiBAY2xhc3MgTlNVUkxSZXNwb25zZTsKIEBjbGFzcyBOU1ZpZXc7
CitAY2xhc3MgTlNXaW5kb3c7CiBAY2xhc3MgUVRNb3ZpZTsKIEBjbGFzcyBRVE1vdmllVmlldzsK
ICNlbHNlCiBjbGFzcyBBVkFzc2V0OwogY2xhc3MgTlNBcnJheTsKIGNsYXNzIE5TQnV0dG9uQ2Vs
bDsKK2NsYXNzIE5TQ29udHJvbDsKIGNsYXNzIE5TRGF0YTsKIGNsYXNzIE5TRGF0ZTsKIGNsYXNz
IE5TRXZlbnQ7CkBAIC0xMDcsNiArMTEwLDcgQEAgY2xhc3MgTlNUZXh0RmllbGRDZWxsOwogY2xh
c3MgTlNVUkxDb25uZWN0aW9uOwogY2xhc3MgTlNVUkxSZXNwb25zZTsKIGNsYXNzIE5TVmlldzsK
K2NsYXNzIE5TV2luZG93OwogY2xhc3MgUVRNb3ZpZTsKIGNsYXNzIFFUTW92aWVWaWV3OwogI2Vu
ZGlmCkBAIC0xNTEsNiArMTU1LDEwIEBAIGV4dGVybiBCT09MICgqd2tHZXROU1VSTFJlc3BvbnNl
TXVzdFJldmFsaWRhdGUpKE5TVVJMUmVzcG9uc2UgKnJlc3BvbnNlKTsKIGV4dGVybiB2b2lkICgq
d2tHZXRXaGVlbEV2ZW50RGVsdGFzKShOU0V2ZW50KiwgZmxvYXQqIGRlbHRhWCwgZmxvYXQqIGRl
bHRhWSwgQk9PTCogY29udGludW91cyk7CiBleHRlcm4gQk9PTCAoKndrSGl0VGVzdE1lZGlhVUlQ
YXJ0KShpbnQgcGFydCwgaW50IHRoZW1lU3R5bGUsIENHUmVjdCBib3VuZHMsIENHUG9pbnQgcG9p
bnQpOwogZXh0ZXJuIHZvaWQgKCp3a01lYXN1cmVNZWRpYVVJUGFydCkoaW50IHBhcnQsIGludCB0
aGVtZVN0eWxlLCBDR1JlY3QgKmJvdW5kcywgQ0dTaXplICpuYXR1cmFsU2l6ZSk7CitleHRlcm4g
TlNWaWV3ICooKndrQ3JlYXRlTWVkaWFVSUJhY2tncm91bmRWaWV3KSh2b2lkKTsKK2V4dGVybiBO
U0NvbnRyb2wgKigqd2tDcmVhdGVNZWRpYVVJQ29udHJvbCkoaW50KTsKK2V4dGVybiB2b2lkICgq
d2tXaW5kb3dTZXRBbHBoYSkoTlNXaW5kb3cgKiwgZmxvYXQpOworZXh0ZXJuIHZvaWQgKCp3a1dp
bmRvd1NldFNjYWxlZEZyYW1lKShOU1dpbmRvdyAqLCBOU1JlY3QsIE5TUmVjdCk7CiBleHRlcm4g
Qk9PTCAoKndrTWVkaWFDb250cm9sbGVyVGhlbWVBdmFpbGFibGUpKGludCB0aGVtZVN0eWxlKTsK
IGV4dGVybiB2b2lkICgqd2tQb3B1cE1lbnUpKE5TTWVudSosIE5TUG9pbnQgbG9jYXRpb24sIGZs
b2F0IHdpZHRoLCBOU1ZpZXcqLCBpbnQgc2VsZWN0ZWRJdGVtLCBOU0ZvbnQqKTsKIGV4dGVybiB1
bnNpZ25lZCAoKndrUVRJbmNsdWRlT25seU1vZGVybk1lZGlhRmlsZVR5cGVzKSh2b2lkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2UubW0KaW5kZXggZTE4ZDE3ZC4uNzNjMTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW0KQEAgLTQ2LDYgKzQ2LDEw
IEBAIHZvaWQgKCp3a0RyYXdNZWRpYVNsaWRlclRyYWNrKShpbnQgdGhlbWVTdHlsZSwgQ0dDb250
ZXh0UmVmIGNvbnRleHQsIENHUmVjdCByZWN0CiBCT09MICgqd2tIaXRUZXN0TWVkaWFVSVBhcnQp
KGludCBwYXJ0LCBpbnQgdGhlbWVTdHlsZSwgQ0dSZWN0IGJvdW5kcywgQ0dQb2ludCBwb2ludCk7
CiB2b2lkICgqd2tEcmF3TWVkaWFVSVBhcnQpKGludCBwYXJ0LCBpbnQgdGhlbWVTdHlsZSwgQ0dD
b250ZXh0UmVmIGNvbnRleHQsIENHUmVjdCByZWN0LCB1bnNpZ25lZCBzdGF0ZSk7CiB2b2lkICgq
d2tNZWFzdXJlTWVkaWFVSVBhcnQpKGludCBwYXJ0LCBpbnQgdGhlbWVTdHlsZSwgQ0dSZWN0ICpi
b3VuZHMsIENHU2l6ZSAqbmF0dXJhbFNpemUpOworTlNWaWV3ICooKndrQ3JlYXRlTWVkaWFVSUJh
Y2tncm91bmRWaWV3KSh2b2lkKTsKK05TQ29udHJvbCAqKCp3a0NyZWF0ZU1lZGlhVUlDb250cm9s
KShpbnQpOwordm9pZCAoKndrV2luZG93U2V0QWxwaGEpKE5TV2luZG93ICosIGZsb2F0KTsKK3Zv
aWQgKCp3a1dpbmRvd1NldFNjYWxlZEZyYW1lKShOU1dpbmRvdyAqLCBOU1JlY3QsIE5TUmVjdCk7
CiBCT09MICgqd2tNZWRpYUNvbnRyb2xsZXJUaGVtZUF2YWlsYWJsZSkoaW50IHRoZW1lU3R5bGUp
OwogTlNTdHJpbmcqICgqd2tHZXRQcmVmZXJyZWRFeHRlbnNpb25Gb3JNSU1FVHlwZSkoTlNTdHJp
bmcqKTsKIENGU3RyaW5nUmVmICgqd2tTaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VTdHJpbmcp
KHVuc2lnbmVkIGtleVNpemUsIENGU3RyaW5nUmVmIGNoYWxsZW5nZSwgQ0ZTdHJpbmdSZWYga2V5
RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oCnNpbWlsYXJpdHkgaW5kZXggNzMlCnJlbmFt
ZSBmcm9tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlci5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlci5oCmluZGV4IDdmNzg3YjguLmI0OTNkMzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyLmgKQEAgLTI1LDI2ICsyNSwzMCBAQAogCiAjaWYgRU5BQkxFKFZJREVPKQogCisjaW1wb3J0
ICJXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgiCiAjaW1wb3J0IDx3dGYv
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVE1MTWVkaWFFbGVt
ZW50OworICAgIGNsYXNzIEV2ZW50TGlzdGVuZXI7CisgICAgY2xhc3MgSW50UmVjdDsKIH0KIAog
QHByb3RvY29sIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZTsKIEBjbGFzcyBX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyOwogQGNsYXNzIFdlYldpbmRvd0Zh
ZGVBbmltYXRpb247Ci1AY2xhc3MgUVRNb3ZpZUxheWVyOworQGNsYXNzIENBTGF5ZXI7CiAKIEBp
bnRlcmZhY2UgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciA6IE5TV2luZG93Q29udHJvbGxl
ciB7CiBAcHJpdmF0ZQogICAgIFJlZlB0cjxXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50PiBfbWVk
aWFFbGVtZW50OyAvLyAocmV0YWluKQotICAgIGlkIDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyRGVsZWdhdGU+IF9kZWxlZ2F0ZTsgLy8gKGFzc2lnbikKKyAgICBOU09iamVjdDxXZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyRGVsZWdhdGU+ICpfZGVsZWdhdGU7IC8vIChyZXRhaW4pCiAK
ICAgICBOU1dpbmRvdyAqX2JhY2tncm91bmRGdWxsc2NyZWVuV2luZG93OyAvLyAocmV0YWluKQog
ICAgIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgKl9odWRDb250cm9sbGVy
OyAvLyAocmV0YWluKQogCiAgICAgV2ViV2luZG93RmFkZUFuaW1hdGlvbiAqX2ZhZGVBbmltYXRp
b247IC8vIChyZXRhaW4pCisgICAgQ0FMYXllciAqX21lZGlhTGF5ZXI7IC8vIChyZXRhaW4pCiAK
ICAgICBCT09MIF9pc0VuZGluZ0Z1bGxzY3JlZW47CiAgICAgQk9PTCBfaXNXaW5kb3dMb2FkZWQ7
CkBAIC01MiwyMCArNTYsMzIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHVpbnQzMl90IF9p
ZGxlRGlzcGxheVNsZWVwQXNzZXJ0aW9uOwogICAgIHVpbnQzMl90IF9pZGxlU3lzdGVtU2xlZXBB
c3NlcnRpb247CiAgICAgTlNUaW1lciAqX3RpY2tsZVRpbWVyOwotICAgIFN5c3RlbVVJTW9kZSBf
c2F2ZWRVSU1vZGU7Ci0gICAgU3lzdGVtVUlPcHRpb25zIF9zYXZlZFVJT3B0aW9uczsKKyAgICB1
aW50MzJfdCBfc2F2ZWRVSU1vZGU7CisgICAgdWludDMyX3QgX3NhdmVkVUlPcHRpb25zOwogfQog
Ci0tIChpZCA8V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckRlbGVnYXRlPilkZWxlZ2F0ZTsK
LS0gKHZvaWQpc2V0RGVsZWdhdGU6KGlkIDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyRGVs
ZWdhdGU+KWRlbGVnYXRlOwotCi0tICh2b2lkKXNldHVwVmlkZW9PdmVybGF5OihRVE1vdmllTGF5
ZXIqKWxheWVyOwotLSAodm9pZClzZXRNZWRpYUVsZW1lbnQ6KFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQqKW1lZGlhRWxlbWVudDsKLS0gKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQqKW1lZGlh
RWxlbWVudDsKKy0gKE5TT2JqZWN0PFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0
ZT4qKWRlbGVnYXRlOworLSAodm9pZClzZXREZWxlZ2F0ZTooTlNPYmplY3QgPFdlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZT4qKWRlbGVnYXRlOwogCistICh2b2lkKXNldHVwVmlk
ZW9PdmVybGF5OihDQUxheWVyKilsYXllcjsKIC0gKHZvaWQpZW50ZXJGdWxsc2NyZWVuOihOU1Nj
cmVlbiAqKXNjcmVlbjsKIC0gKHZvaWQpZXhpdEZ1bGxzY3JlZW47CiAKKy0gKHZvaWQpdXBkYXRl
UGxheVN0YXRlOworLSAodm9pZCl1cGRhdGVUaW1lOworLSAodm9pZCl1cGRhdGVWb2x1bWU7Cist
ICh2b2lkKXVwZGF0ZUR1cmF0aW9uOworCitAZW5kCisKKworQHByb3RvY29sIFdlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZTxXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyRGVsZWdhdGU+CistIChOU1JlY3QpbWVkaWFFbGVtZW50U2NyZWVuUmVjdDsKKy0gKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQqKW1lZGlhRWxlbWVudDsKKy0gKENBTGF5ZXIqKXN0ZWFs
TWVkaWFFbGVtZW50TGF5ZXI7CistICh2b2lkKXJlbGVhc2VNZWRpYUVsZW1lbnRMYXllcjsKKy0g
KHZvaWQpZXhpdEZ1bGxTY3JlZW5Db21wbGV0ZWQ7CistICh2b2lkKWVudGVyRnVsbFNjcmVlbkNv
bXBsZXRlZDsKIEBlbmQKIAogI2VuZGlmIC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
Lm1tCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQpyZW5hbWUgdG8gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0KaW5kZXgg
ZjllMzZkNy4uOTY5ZTVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCkBAIC0yMywzMSArMjMsMjgg
QEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaW1wb3J0ICJj
b25maWcuaCIKKwogI2lmIEVOQUJMRShWSURFTykKIAogI2ltcG9ydCAiV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlci5oIgogCi0jaW1wb3J0ICJXZWJUeXBlc0ludGVybmFsLmgiCiAjaW1wb3J0
ICJXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXZWJX
aW5kb3dBbmltYXRpb24uaCIKICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2lt
cG9ydCA8T1NTZXJ2aWNlcy9Qb3dlci5oPgotI2ltcG9ydCA8UVRLaXQvUVRLaXQuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvRXZlbnROYW1lcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9IVE1MTWVkaWFFbGVt
ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxvYmpjL29i
amMtcnVudGltZS5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1Vu
dXNlZFBhcmFtLmg+CisjaW1wb3J0IDxISVRvb2xib3gvTWFjQXBwbGljYXRpb24uaD4KIAogI2lm
IFVTRShHU1RSRUFNRVIpCiAjaW1wb3J0IDxXZWJDb3JlL0dTdHJlYW1lckdXb3JsZC5oPgogI2Vu
ZGlmCiAKLVNPRlRfTElOS19GUkFNRVdPUksoUVRLaXQpCi1TT0ZUX0xJTktfQ0xBU1MoUVRLaXQs
IFFUTW92aWVMYXllcikKLQotU09GVF9MSU5LX1BPSU5URVIoUVRLaXQsIFFUTW92aWVSYXRlRGlk
Q2hhbmdlTm90aWZpY2F0aW9uLCBOU1N0cmluZyAqKQotCi0jZGVmaW5lIFFUTW92aWVSYXRlRGlk
Q2hhbmdlTm90aWZpY2F0aW9uIGdldFFUTW92aWVSYXRlRGlkQ2hhbmdlTm90aWZpY2F0aW9uKCkK
IHN0YXRpYyBjb25zdCBOU1RpbWVJbnRlcnZhbCB0aWNrbGVUaW1lckludGVydmFsID0gMS4wOwog
CiBAaW50ZXJmYWNlIFdlYlZpZGVvRnVsbHNjcmVlbldpbmRvdyA6IE5TV2luZG93CkBAIC02NSw2
ICs2MiwyMCBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlja2xlVGltZXJJbnRlcnZh
bCA9IDEuMDsKIC0gKHZvaWQpcmVxdWVzdEV4aXRGdWxsc2NyZWVuV2l0aEFuaW1hdGlvbjooQk9P
TClhbmltYXRpb247CiAtICh2b2lkKXVwZGF0ZU1lbnVBbmREb2NrRm9yRnVsbHNjcmVlbjsKIC0g
KHZvaWQpdXBkYXRlUG93ZXJBc3NlcnRpb25zOworLSAodm9pZClyZXF1ZXN0RXhpdEZ1bGxzY3Jl
ZW47CistICh2b2lkKWJlZ2luU2NydWJiaW5nOworLSAodm9pZCllbmRTY3J1YmJpbmc7CistIChm
bG9hdCljdXJyZW50VGltZTsKKy0gKHZvaWQpc2V0Q3VycmVudFRpbWU6KGRvdWJsZSljdXJyZW50
VGltZTsKKy0gKGRvdWJsZSlkdXJhdGlvbjsKKy0gKGZsb2F0KXZvbHVtZTsKKy0gKGJvb2wpbXV0
ZWQ7CistICh2b2lkKXNldE11dGVkOihib29sKW11dGVkOworLSAodm9pZClzZXRWb2x1bWU6KGZs
b2F0KXZvbHVtZTsKKy0gKGJvb2wpY2FuUGxheTsKKy0gKHZvaWQpcGxheTsKKy0gKHZvaWQpcGF1
c2U7CistICh2b2lkKXJld2luZDooZmxvYXQpZGVsdGE7CiBAZW5kCiAKIEBpbnRlcmZhY2UgTlNX
aW5kb3coSXNPbkFjdGl2ZVNwYWNlQWRkaXRpb25Gb3JUaWdlckFuZExlb3BhcmQpCkBAIC05Miw2
ICsxMDMsNyBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlja2xlVGltZXJJbnRlcnZh
bCA9IDEuMDsKICAgICBbX3RpY2tsZVRpbWVyIHJlbGVhc2VdOwogICAgIF90aWNrbGVUaW1lciA9
IG5pbDsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9i
c2VydmVyOnNlbGZdOworICAgIFtzZWxmIHNldERlbGVnYXRlOm5pbF07CiAgICAgW3N1cGVyIGRl
YWxsb2NdOwogfQogCkBAIC0xMDAsNyArMTEyLDcgQEAgc3RhdGljIGNvbnN0IE5TVGltZUludGVy
dmFsIHRpY2tsZVRpbWVySW50ZXJ2YWwgPSAxLjA7CiAgICAgcmV0dXJuIChXZWJWaWRlb0Z1bGxz
Y3JlZW5XaW5kb3cgKilbc3VwZXIgd2luZG93XTsKIH0KIAotLSAodm9pZClzZXR1cFZpZGVvT3Zl
cmxheTooUVRNb3ZpZUxheWVyKilsYXllcgorLSAodm9pZClzZXR1cFZpZGVvT3ZlcmxheTooQ0FM
YXllciopbGF5ZXIKIHsKICAgICBXZWJWaWRlb0Z1bGxzY3JlZW5XaW5kb3cgKndpbmRvdyA9IFtz
ZWxmIGZ1bGxzY3JlZW5XaW5kb3ddOwogI2lmIFVTRShHU1RSRUFNRVIpCkBAIC0xMTAsMjIgKzEy
MiwzMCBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlja2xlVGltZXJJbnRlcnZhbCA9
IDEuMDsKICAgICAgICAgICAgIFt3aW5kb3cgc2V0Q29udGVudFZpZXc6Z3N0R3dvcmxkLT5wbGF0
Zm9ybVZpZGVvV2luZG93KCktPndpbmRvdygpXTsKICAgICB9CiAjZWxzZQotICAgIFtbd2luZG93
IGNvbnRlbnRWaWV3XSBzZXRMYXllcjpsYXllcl07Ci0gICAgW1t3aW5kb3cgY29udGVudFZpZXdd
IHNldFdhbnRzTGF5ZXI6WUVTXTsKLSAgICBpZiAoX21lZGlhRWxlbWVudCAmJiBfbWVkaWFFbGVt
ZW50LT5wbGF0Zm9ybU1lZGlhKCkudHlwZSA9PSBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhOjpRVE1v
dmllVHlwZSkKLSAgICAgICAgW2xheWVyIHNldE1vdmllOl9tZWRpYUVsZW1lbnQtPnBsYXRmb3Jt
TWVkaWEoKS5tZWRpYS5xdE1vdmllXTsKKyAgICBDQUxheWVyKiBjb250ZW50TGF5ZXIgPSBbW3dp
bmRvdyBjb250ZW50Vmlld10gbGF5ZXJdOworICAgIFtjb250ZW50TGF5ZXIgc2V0U3VibGF5ZXJz
Om5pbF07CisgICAgW2NvbnRlbnRMYXllciBhZGRTdWJsYXllcjpsYXllcl07CisgICAgW2xheWVy
IHNldEZyYW1lOltjb250ZW50TGF5ZXIgYm91bmRzXV07CiAjZW5kaWYKIH0KIAorLSAodm9pZCls
YXlvdXRTdWJsYXllcnNPZkxheWVyOihDQUxheWVyICopbGF5ZXIKK3sKKyAgICBBU1NFUlQoW1ts
YXllciBzdWJsYXllcnNdIGNvdW50XSA8PSAxKTsKKyAgICBmb3IgKENBTGF5ZXIqIHN1YmxheWVy
IGluIFtsYXllciBzdWJsYXllcnNdKSB7CisgICAgICAgIFtzdWJsYXllciBzZXRGcmFtZTpbbGF5
ZXIgYm91bmRzXV07CisgICAgfQorfQorCiAtICh2b2lkKXdpbmRvd0RpZExvYWQKIHsKICAgICBX
ZWJWaWRlb0Z1bGxzY3JlZW5XaW5kb3cgKndpbmRvdyA9IFtzZWxmIGZ1bGxzY3JlZW5XaW5kb3dd
OwogICAgIFt3aW5kb3cgc2V0SGFzU2hhZG93OllFU107IC8vIFRoaXMgaXMgbmljZXIgd2l0aCBh
IHNoYWRvdy4KICAgICBbd2luZG93IHNldExldmVsOk5TUG9wVXBNZW51V2luZG93TGV2ZWwtMV07
Ci0KLSAgICBRVE1vdmllTGF5ZXIgKmxheWVyID0gW1tnZXRRVE1vdmllTGF5ZXJDbGFzcygpIGFs
bG9jXSBpbml0XTsKLSAgICBbc2VsZiBzZXR1cFZpZGVvT3ZlcmxheTpsYXllcl07Ci0gICAgW2xh
eWVyIHJlbGVhc2VdOworICAgIFJldGFpblB0cjxDQUxheWVyPiBjb250ZW50TGF5ZXIoQWRvcHRO
UywgW1tDQUxheWVyIGFsbG9jXSBpbml0XSk7CisgICAgW2NvbnRlbnRMYXllci5nZXQoKSBzZXRE
ZWxlZ2F0ZTpzZWxmXTsKKyAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gc2V0TGF5ZXI6Y29udGVu
dExheWVyLmdldCgpXTsKKyAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gc2V0V2FudHNMYXllcjpZ
RVNdOwogCiAjaWYgIVVTRShHU1RSRUFNRVIpCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNh
dGlvbkRpZFJlc2lnbkFjdGl2ZTopIG5hbWU6TlNBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5v
dGlmaWNhdGlvbiBvYmplY3Q6TlNBcHBdOwpAQCAtMTMzLDM3ICsxNTMsMTcgQEAgc3RhdGljIGNv
bnN0IE5TVGltZUludGVydmFsIHRpY2tsZVRpbWVySW50ZXJ2YWwgPSAxLjA7CiAjZW5kaWYKIH0K
IAotLSAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCopbWVkaWFFbGVtZW50Ci17Ci0gICAgcmV0
dXJuIF9tZWRpYUVsZW1lbnQuZ2V0KCk7Ci19Ci0KLS0gKHZvaWQpc2V0TWVkaWFFbGVtZW50OihX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50KiltZWRpYUVsZW1lbnQKLXsKLSAgICBfbWVkaWFFbGVt
ZW50ID0gbWVkaWFFbGVtZW50OwotICAgIGlmIChbc2VsZiBpc1dpbmRvd0xvYWRlZF0pIHsKLSAg
ICAgICAgUVRNb3ZpZUxheWVyICptb3ZpZUxheWVyID0gKFFUTW92aWVMYXllciAqKVtbW3NlbGYg
ZnVsbHNjcmVlbldpbmRvd10gY29udGVudFZpZXddIGxheWVyXTsKLQotICAgICAgICBBU1NFUlQo
bW92aWVMYXllciAmJiBbbW92aWVMYXllciBpc0tpbmRPZkNsYXNzOltnZXRRVE1vdmllTGF5ZXJD
bGFzcygpIGNsYXNzXV0pOwotICAgICAgICBbc2VsZiBzZXR1cFZpZGVvT3ZlcmxheTptb3ZpZUxh
eWVyXTsKLSNpZiAhVVNFKEdTVFJFQU1FUikKLSAgICAgICAgQVNTRVJUKFttb3ZpZUxheWVyIG1v
dmllXSk7Ci0gICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6c2VsZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGVjdG9yOkBzZWxlY3RvcihyYXRlQ2hhbmdlZDopIAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOlFUTW92aWVSYXRlRGlk
Q2hhbmdlTm90aWZpY2F0aW9uIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb2JqZWN0Olttb3ZpZUxheWVyIG1vdmllXV07Ci0jZW5kaWYKLSAgICB9
Ci19Ci0KLS0gKGlkIDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyRGVsZWdhdGU+KWRlbGVn
YXRlCistIChOU09iamVjdDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyRGVsZWdhdGU+Kilk
ZWxlZ2F0ZQogewogICAgIHJldHVybiBfZGVsZWdhdGU7CiB9CiAKLS0gKHZvaWQpc2V0RGVsZWdh
dGU6KGlkIDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyRGVsZWdhdGU+KWRlbGVnYXRlCist
ICh2b2lkKXNldERlbGVnYXRlOihOU09iamVjdDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
RGVsZWdhdGU+KilkZWxlZ2F0ZQogeworICAgIFtkZWxlZ2F0ZSByZXRhaW5dOworICAgIFtfZGVs
ZWdhdGUgcmVsZWFzZV07CiAgICAgX2RlbGVnYXRlID0gZGVsZWdhdGU7CisgICAgW19odWRDb250
cm9sbGVyIHNldERlbGVnYXRlOl9kZWxlZ2F0ZV07CiB9CiAKIC0gKENHRmxvYXQpY2xlYXJGYWRl
QW5pbWF0aW9uCkBAIC0xOTMsNiArMTkzLDggQEAgc3RhdGljIGNvbnN0IE5TVGltZUludGVydmFs
IHRpY2tsZVRpbWVySW50ZXJ2YWwgPSAxLjA7CiAgICAgW19iYWNrZ3JvdW5kRnVsbHNjcmVlbldp
bmRvdyBjbG9zZV07CiAgICAgW19iYWNrZ3JvdW5kRnVsbHNjcmVlbldpbmRvdyByZWxlYXNlXTsK
ICAgICBfYmFja2dyb3VuZEZ1bGxzY3JlZW5XaW5kb3cgPSBuaWw7CisKKyAgICBbX2RlbGVnYXRl
IGV4aXRGdWxsU2NyZWVuQ29tcGxldGVkXTsKICAgICAKICAgICBbc2VsZiBhdXRvcmVsZWFzZV07
IC8vIEFzc29jaWF0ZWQgLXJldGFpbiBpcyBpbiAtZXhpdEZ1bGxzY3JlZW4uCiAgICAgX2lzRW5k
aW5nRnVsbHNjcmVlbiA9IE5POwpAQCAtMjA0LDIzICsyMDYsMjYgQEAgc3RhdGljIGNvbnN0IE5T
VGltZUludGVydmFsIHRpY2tsZVRpbWVySW50ZXJ2YWwgPSAxLjA7CiAKICAgICBBU1NFUlQoIV9o
dWRDb250cm9sbGVyKTsKICAgICBfaHVkQ29udHJvbGxlciA9IFtbV2ViVmlkZW9GdWxsc2NyZWVu
SFVEV2luZG93Q29udHJvbGxlciBhbGxvY10gaW5pdF07Ci0gICAgW19odWRDb250cm9sbGVyIHNl
dERlbGVnYXRlOnNlbGZdOworICAgIFtfaHVkQ29udHJvbGxlciBzZXREZWxlZ2F0ZTpfZGVsZWdh
dGVdOwogCiAgICAgW3NlbGYgdXBkYXRlTWVudUFuZERvY2tGb3JGdWxsc2NyZWVuXTsKICAgICBb
c2VsZiB1cGRhdGVQb3dlckFzc2VydGlvbnNdOwogICAgIFtOU0N1cnNvciBzZXRIaWRkZW5VbnRp
bE1vdXNlTW92ZXM6WUVTXTsKICAgICAKKyAgICBbX2RlbGVnYXRlIGVudGVyRnVsbFNjcmVlbkNv
bXBsZXRlZF07CisKICAgICAvLyBHaXZlIHRoZSBIVUQga2V5Ym9hcmQgZm9jdXMgaW5pdGlhbGx5
CiAgICAgW19odWRDb250cm9sbGVyIGZhZGVXaW5kb3dJbl07CiB9CiAKIC0gKE5TUmVjdCltZWRp
YUVsZW1lbnRSZWN0CiB7Ci0gICAgcmV0dXJuIF9tZWRpYUVsZW1lbnQtPnNjcmVlblJlY3QoKTsK
KyAgICByZXR1cm4gW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRTY3JlZW5SZWN0XTsKIH0KIAogLSAo
dm9pZClhcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZTooTlNOb3RpZmljYXRpb24qKW5vdGlmaWNh
dGlvbgogeyAgIAorICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRpb24pOwogICAgIC8vIENoZWNr
IHRvIHNlZSBpZiB0aGUgZnVsbHNjcmVlbldpbmRvdyBpcyBvbiB0aGUgYWN0aXZlIHNwYWNlOyB0
aGlzIGZ1bmN0aW9uIGlzIGF2YWlsYWJsZQogICAgIC8vIG9uIDEwLjYgYW5kIGxhdGVyLCBzbyBk
ZWZhdWx0IHRvIFlFUyBpZiB0aGUgZnVuY3Rpb24gaXMgbm90IGF2YWlsYWJsZToKICAgICBOU1dp
bmRvdyogZnVsbHNjcmVlbldpbmRvdyA9IFtzZWxmIGZ1bGxzY3JlZW5XaW5kb3ddOwpAQCAtMjk3
LDYgKzMwMiw4IEBAIHN0YXRpYyBOU1dpbmRvdyAqY3JlYXRlQmFja2dyb3VuZEZ1bGxzY3JlZW5X
aW5kb3coTlNSZWN0IGZyYW1lLCBpbnQgbGV2ZWwpCiAgICAgICAgIC8vIFRoaXMgd2lsbCBkaXNh
YmxlIHNjYWxlIGFuaW1hdGlvbgogICAgICAgICBmcmFtZSA9IE5TWmVyb1JlY3Q7CiAgICAgfQor
CisgICAgW3NlbGYgc2V0dXBWaWRlb092ZXJsYXk6W19kZWxlZ2F0ZSBzdGVhbE1lZGlhRWxlbWVu
dExheWVyXV07CiAgICAgW1tzZWxmIGZ1bGxzY3JlZW5XaW5kb3ddIGFuaW1hdGVGcm9tUmVjdDpm
cmFtZSB0b1JlY3Q6ZW5kRnJhbWUgd2l0aFN1YkFuaW1hdGlvbjpfZmFkZUFuaW1hdGlvbiBjb250
cm9sbGVyQWN0aW9uOkBzZWxlY3Rvcih3aW5kb3dEaWRFbnRlckZ1bGxzY3JlZW4pXTsKIAogICAg
IFtfYmFja2dyb3VuZEZ1bGxzY3JlZW5XaW5kb3cgb3JkZXJXaW5kb3c6TlNXaW5kb3dCZWxvdyBy
ZWxhdGl2ZVRvOltbc2VsZiBmdWxsc2NyZWVuV2luZG93XSB3aW5kb3dOdW1iZXJdXTsKQEAgLTMy
Nyw2ICszMzQsNyBAQCBzdGF0aWMgTlNXaW5kb3cgKmNyZWF0ZUJhY2tncm91bmRGdWxsc2NyZWVu
V2luZG93KE5TUmVjdCBmcmFtZSwgaW50IGxldmVsKQogCiAtICh2b2lkKWFwcGxpY2F0aW9uRGlk
Q2hhbmdlU2NyZWVuUGFyYW1ldGVyczooTlNOb3RpZmljYXRpb24qKW5vdGlmaWNhdGlvbgogewor
ICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRpb24pOwogICAgIC8vIFRoZSB1c2VyIG1heSBoYXZl
IGNoYW5nZWQgdGhlIG1haW4gc2NyZWVuIGJ5IG1vdmluZyB0aGUgbWVudSBiYXIsIG9yIHRoZXkg
bWF5IGhhdmUgY2hhbmdlZAogICAgIC8vIHRoZSBEb2NrJ3Mgc2l6ZSBvciBsb2NhdGlvbiwgb3Ig
dGhleSBtYXkgaGF2ZSBjaGFuZ2VkIHRoZSBmdWxsc2NyZWVuIHNjcmVlbidzIGRpbWVuc2lvbnMu
ICAKICAgICAvLyBVcGRhdGUgb3VyIHByZXNlbnRhdGlvbiBwYXJhbWV0ZXJzLCBhbmQgZW5zdXJl
IHRoYXQgdGhlIGZ1bGwgc2NyZWVuIHdpbmRvdyBvY2N1cGllcyB0aGUgCkBAIC00MTksMTEgKzQy
Nyw3IEBAIHN0YXRpYyBOU1dpbmRvdyAqY3JlYXRlQmFja2dyb3VuZEZ1bGxzY3JlZW5XaW5kb3co
TlNSZWN0IGZyYW1lLCBpbnQgbGV2ZWwpCiAKIC0gKHZvaWQpdXBkYXRlUG93ZXJBc3NlcnRpb25z
CiB7Ci0gICAgZmxvYXQgcmF0ZSA9IDA7Ci0gICAgaWYgKF9tZWRpYUVsZW1lbnQgJiYgX21lZGlh
RWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZvcm1NZWRpYTo6
UVRNb3ZpZVR5cGUpCi0gICAgICAgIHJhdGUgPSBbX21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRp
YSgpLm1lZGlhLnF0TW92aWUgcmF0ZV07Ci0gICAgCi0gICAgaWYgKHJhdGUgJiYgIV9pc0VuZGlu
Z0Z1bGxzY3JlZW4pIHsKKyAgICBpZiAoIVtfZGVsZWdhdGUgY2FuUGxheV0gJiYgIV9pc0VuZGlu
Z0Z1bGxzY3JlZW4pIHsKICAgICAgICAgW3NlbGYgX2Rpc2FibGVJZGxlU3lzdGVtU2xlZXBdOwog
ICAgICAgICBbc2VsZiBfZGlzYWJsZUlkbGVEaXNwbGF5U2xlZXBdOwogICAgICAgICBbc2VsZiBf
ZW5hYmxlVGlja2xlVGltZXJdOwpAQCAtNDM5LDggKzQ0Myw3IEBAIHN0YXRpYyBOU1dpbmRvdyAq
Y3JlYXRlQmFja2dyb3VuZEZ1bGxzY3JlZW5XaW5kb3coTlNSZWN0IGZyYW1lLCBpbnQgbGV2ZWwp
CiAKIC0gKHZvaWQpX3JlcXVlc3RFeGl0CiB7Ci0gICAgaWYgKF9tZWRpYUVsZW1lbnQpCi0gICAg
ICAgIF9tZWRpYUVsZW1lbnQtPmV4aXRGdWxsc2NyZWVuKCk7CisgICAgW19kZWxlZ2F0ZSByZXF1
ZXN0RXhpdEZ1bGxzY3JlZW5dOwogICAgIF9mb3JjZURpc2FibGVBbmltYXRpb24gPSBOTzsKIH0K
IApAQCAtNDU0LDIyICs0NTcsMzcgQEAgc3RhdGljIE5TV2luZG93ICpjcmVhdGVCYWNrZ3JvdW5k
RnVsbHNjcmVlbldpbmRvdyhOU1JlY3QgZnJhbWUsIGludCBsZXZlbCkKIAogfQogCi0tICh2b2lk
KXJlcXVlc3RFeGl0RnVsbHNjcmVlbgorLSAodm9pZClmYWRlSFVESW4KIHsKLSAgICBbc2VsZiBy
ZXF1ZXN0RXhpdEZ1bGxzY3JlZW5XaXRoQW5pbWF0aW9uOllFU107CisgICAgW19odWRDb250cm9s
bGVyIGZhZGVXaW5kb3dJbl07CiB9CiAKLS0gKHZvaWQpZmFkZUhVREluCisKKy0gKHZvaWQpdXBk
YXRlUGxheVN0YXRlCiB7Ci0gICAgW19odWRDb250cm9sbGVyIGZhZGVXaW5kb3dJbl07CisgICAg
W19odWRDb250cm9sbGVyIHVwZGF0ZVBsYXlCdXR0b25dOworfQorCistICh2b2lkKXVwZGF0ZVRp
bWUKK3sKKyAgICBbX2h1ZENvbnRyb2xsZXIgdXBkYXRlVGltZV07Cit9CisKKy0gKHZvaWQpdXBk
YXRlVm9sdW1lCit7CisgICAgW19odWRDb250cm9sbGVyIHVwZGF0ZVZvbHVtZV07Cit9CisKKy0g
KHZvaWQpdXBkYXRlRHVyYXRpb24KK3sKKyAgICBbX2h1ZENvbnRyb2xsZXIgdXBkYXRlVGltZV07
CiB9CiAKIC8vIE1BUks6IC0KIC8vIE1BUks6IFFUTW92aWUgY2FsbGJhY2tzCiAKLS0gKHZvaWQp
cmF0ZUNoYW5nZWQ6KE5TTm90aWZpY2F0aW9uICopdW51c2VkTm90aWZpY2F0aW9uCistICh2b2lk
KXJhdGVDaGFuZ2VkCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHVudXNlZE5vdGlmaWNhdGlvbik7CiAg
ICAgW19odWRDb250cm9sbGVyIHVwZGF0ZVJhdGVdOwogICAgIFtzZWxmIHVwZGF0ZVBvd2VyQXNz
ZXJ0aW9uc107CiB9CkBAIC02MDUsNiArNjIzLDcgQEAgc3RhdGljIE5TV2luZG93ICpjcmVhdGVC
YWNrZ3JvdW5kRnVsbHNjcmVlbldpbmRvdyhOU1JlY3QgZnJhbWUsIGludCBsZXZlbCkKIAogLSAo
dm9pZCltb3VzZU1vdmVkOihOU0V2ZW50ICopdGhlRXZlbnQKIHsKKyAgICBVTlVTRURfUEFSQU0o
dGhlRXZlbnQpOwogICAgIFtbc2VsZiB3aW5kb3dDb250cm9sbGVyXSBmYWRlSFVESW5dOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVl
bkhVRFdpbmRvd0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJW
aWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgKc2ltaWxhcml0eSBpbmRleCA4MyUK
cmVuYW1lIGZyb20gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgKaW5kZXggNTU4NDI0MS4u
ODBjZjA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1
bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaApAQCAtNTMsMTIg
KzUzLDI2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC0gKHZvaWQpZmFkZVdpbmRvd091dDsKIC0g
KHZvaWQpY2xvc2VXaW5kb3c7CiAtICh2b2lkKXVwZGF0ZVJhdGU7Ci0KKy0gKHZvaWQpdXBkYXRl
UGxheUJ1dHRvbjsKKy0gKHZvaWQpdXBkYXRlVGltZTsKKy0gKHZvaWQpdXBkYXRlVm9sdW1lOwog
QGVuZAogCi1AcHJvdG9jb2wgV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlckRl
bGVnYXRlIDxOU09iamVjdD4KK0Bwcm90b2NvbCBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyRGVsZWdhdGUKIC0gKHZvaWQpcmVxdWVzdEV4aXRGdWxsc2NyZWVuOwotLSAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudCopbWVkaWFFbGVtZW50OworLSAodm9pZCliZWdpblNjcnVi
YmluZzsKKy0gKHZvaWQpZW5kU2NydWJiaW5nOworLSAoZmxvYXQpY3VycmVudFRpbWU7CistICh2
b2lkKXNldEN1cnJlbnRUaW1lOihkb3VibGUpY3VycmVudFRpbWU7CistIChkb3VibGUpZHVyYXRp
b247CistIChmbG9hdCl2b2x1bWU7CistIChib29sKW11dGVkOworLSAodm9pZClzZXRNdXRlZDoo
Ym9vbCltdXRlZDsKKy0gKHZvaWQpc2V0Vm9sdW1lOihmbG9hdCl2b2x1bWU7CistIChib29sKWNh
blBsYXk7CistICh2b2lkKXBsYXk7CistICh2b2lkKXBhdXNlOworLSAodm9pZClyZXdpbmQ6KGZs
b2F0KWRlbHRhOwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9s
bGVyLm1tCnNpbWlsYXJpdHkgaW5kZXggODglCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbQpyZW5hbWUg
dG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRv
d0NvbnRyb2xsZXIubW0KaW5kZXggNTg2NmU1Mi4uMzRiM2ZjNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLm1tCkBAIC0yMiwxNSArMjIsMTcgQEAKICAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
KyNpbXBvcnQgImNvbmZpZy5oIgorCiAjaWYgRU5BQkxFKFZJREVPKQogCiAjaW1wb3J0ICJXZWJW
aWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgiCiAKLSNpbXBvcnQgIldlYktpdFN5
c3RlbUludGVyZmFjZS5oIgotI2ltcG9ydCAiV2ViVHlwZXNJbnRlcm5hbC5oIgorI2ltcG9ydCAi
V2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvUmV0YWlu
UHRyLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9VbnVzZWRQYXJhbS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9IVE1MTWVkaWFFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZh
Y2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpA
QCAtMTAyLDYgKzEwNCw3IEBAIHN0YXRpYyBpbmxpbmUgQ0dGbG9hdCB3ZWJraXRfQ0dGbG9vcihD
R0Zsb2F0IHZhbHVlKQogCiAtICh2b2lkKWNhbmNlbE9wZXJhdGlvbjooaWQpc2VuZGVyCiB7Cisg
ICAgVU5VU0VEX1BBUkFNKHNlbmRlcik7CiAgICAgW1tzZWxmIHdpbmRvd0NvbnRyb2xsZXJdIGV4
aXRGdWxsc2NyZWVuOnNlbGZdOwogfQogCkBAIC0yOTIsNyArMjk1LDcgQEAgZW51bSB7CiBzdGF0
aWMgTlNDb250cm9sICpjcmVhdGVDb250cm9sV2l0aE1lZGlhVUlDb250cm9sVHlwZShpbnQgY29u
dHJvbFR5cGUsIE5TUmVjdCBmcmFtZSkKIHsKICNpZmRlZiBIQVZFX01FRElBX0NPTlRST0wKLSAg
ICBOU0NvbnRyb2wgKmNvbnRyb2wgPSBXS0NyZWF0ZU1lZGlhVUlDb250cm9sKGNvbnRyb2xUeXBl
KTsKKyAgICBOU0NvbnRyb2wgKmNvbnRyb2wgPSB3a0NyZWF0ZU1lZGlhVUlDb250cm9sKGNvbnRy
b2xUeXBlKTsKICAgICBbY29udHJvbCBzZXRGcmFtZTpmcmFtZV07CiAgICAgcmV0dXJuIGNvbnRy
b2w7CiAjZWxzZQpAQCAtMzQxLDcgKzM0NCw3IEBAIHN0YXRpYyBOU1RleHRGaWVsZCAqY3JlYXRl
VGltZVRleHRGaWVsZChOU1JlY3QgZnJhbWUpCiAgICAgQVNTRVJUKHdpbmRvdyk7CiAKICNpZmRl
ZiBIQVZFX01FRElBX0NPTlRST0wKLSAgICBOU1ZpZXcgKmJhY2tncm91bmQgPSBXS0NyZWF0ZU1l
ZGlhVUlCYWNrZ3JvdW5kVmlldygpOworICAgIE5TVmlldyAqYmFja2dyb3VuZCA9IHdrQ3JlYXRl
TWVkaWFVSUJhY2tncm91bmRWaWV3KCk7CiAjZWxzZQogICAgIE5TVmlldyAqYmFja2dyb3VuZCA9
IFtbTlNWaWV3IGFsbG9jXSBpbml0XTsKICNlbmRpZgpAQCAtMzg5LDcgKzM5Miw3IEBAIHN0YXRp
YyBOU1RleHRGaWVsZCAqY3JlYXRlVGltZVRleHRGaWVsZChOU1JlY3QgZnJhbWUpCiAgICAgW3Zv
bHVtZVVwQnV0dG9uIHJlbGVhc2VdOwogCiAjaWZkZWYgSEFWRV9NRURJQV9DT05UUk9MCi0gICAg
X3RpbWVsaW5lID0gV0tDcmVhdGVNZWRpYVVJQ29udHJvbChXS01lZGlhVUlDb250cm9sVGltZWxp
bmUpOworICAgIF90aW1lbGluZSA9IHdrQ3JlYXRlTWVkaWFVSUNvbnRyb2woV0tNZWRpYVVJQ29u
dHJvbFRpbWVsaW5lKTsKICNlbHNlCiAgICAgX3RpbWVsaW5lID0gW1tOU1NsaWRlciBhbGxvY10g
aW5pdF07CiAjZW5kaWYKQEAgLTQxMyw3ICs0MTYsNyBAQCBzdGF0aWMgTlNUZXh0RmllbGQgKmNy
ZWF0ZVRpbWVUZXh0RmllbGQoTlNSZWN0IGZyYW1lKQogCiAtICh2b2lkKXVwZGF0ZVZvbHVtZQog
ewotICAgIFtfdm9sdW1lU2xpZGVyIHNldERvdWJsZVZhbHVlOltzZWxmIHZvbHVtZV1dOworICAg
IFtfdm9sdW1lU2xpZGVyIHNldERvdWJsZVZhbHVlOltfZGVsZWdhdGUgdm9sdW1lXV07CiB9CiAK
IC0gKHZvaWQpdXBkYXRlVGltZQpAQCAtNDMxLDE3ICs0MzQsMTYgQEAgc3RhdGljIE5TVGV4dEZp
ZWxkICpjcmVhdGVUaW1lVGV4dEZpZWxkKE5TUmVjdCBmcmFtZSkKIHsKICAgICBBU1NFUlQoX2lz
U2NydWJiaW5nKTsKICAgICBfaXNTY3J1YmJpbmcgPSBOTzsKLSAgICBpZiAoSFRNTE1lZGlhRWxl
bWVudCogbWVkaWFFbGVtZW50ID0gW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdKQotICAgICAgICBt
ZWRpYUVsZW1lbnQtPmVuZFNjcnViYmluZygpOworICAgIFtfZGVsZWdhdGUgZW5kU2NydWJiaW5n
XTsKIH0KIAogLSAodm9pZCl0aW1lbGluZVBvc2l0aW9uQ2hhbmdlZDooaWQpc2VuZGVyCiB7Cisg
ICAgVU5VU0VEX1BBUkFNKHNlbmRlcik7CiAgICAgW3NlbGYgc2V0Q3VycmVudFRpbWU6W190aW1l
bGluZSBmbG9hdFZhbHVlXV07CiAgICAgaWYgKCFfaXNTY3J1YmJpbmcpIHsKICAgICAgICAgX2lz
U2NydWJiaW5nID0gWUVTOwotICAgICAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdKQotICAgICAgICAgICAgbWVkaWFFbGVtZW50
LT5iZWdpblNjcnViYmluZygpOworICAgICAgICBbX2RlbGVnYXRlIGJlZ2luU2NydWJiaW5nXTsK
ICAgICAgICAgc3RhdGljIE5TQXJyYXkgKmVuZFNjcnViYmluZ01vZGVzID0gW1tOU0FycmF5IGFs
bG9jXSBpbml0V2l0aE9iamVjdHM6TlNEZWZhdWx0UnVuTG9vcE1vZGUsIE5TTW9kYWxQYW5lbFJ1
bkxvb3BNb2RlLCBuaWxdOwogICAgICAgICAvLyBTY2hlZHVsZSAtZW5kU2NydWJiaW5nIGZvciB3
aGVuIGxlYXZpbmcgbW91c2UgdHJhY2tpbmcgbW9kZS4KICAgICAgICAgW1tOU1J1bkxvb3AgY3Vy
cmVudFJ1bkxvb3BdIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoZW5kU2NydWJiaW5nKSB0YXJn
ZXQ6c2VsZiBhcmd1bWVudDpuaWwgb3JkZXI6MCBtb2RlczplbmRTY3J1YmJpbmdNb2Rlc107CkBA
IC00NTAsMjEgKzQ1MiwxOCBAQCBzdGF0aWMgTlNUZXh0RmllbGQgKmNyZWF0ZVRpbWVUZXh0Rmll
bGQoTlNSZWN0IGZyYW1lKQogCiAtIChmbG9hdCljdXJyZW50VGltZQogewotICAgIHJldHVybiBb
X2RlbGVnYXRlIG1lZGlhRWxlbWVudF0gPyBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0tPmN1cnJl
bnRUaW1lKCkgOiAwOworICAgIHJldHVybiBbX2RlbGVnYXRlIGN1cnJlbnRUaW1lXTsKIH0KIAog
LSAodm9pZClzZXRDdXJyZW50VGltZTooZmxvYXQpY3VycmVudFRpbWUKIHsKLSAgICBpZiAoIVtf
ZGVsZWdhdGUgbWVkaWFFbGVtZW50XSkKLSAgICAgICAgcmV0dXJuOwotICAgIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGUgZTsKLSAgICBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0tPnNldEN1cnJlbnRU
aW1lKGN1cnJlbnRUaW1lLCBlKTsKKyAgICBbX2RlbGVnYXRlIHNldEN1cnJlbnRUaW1lOmN1cnJl
bnRUaW1lXTsKICAgICBbc2VsZiB1cGRhdGVUaW1lXTsKIH0KIAogLSAoZG91YmxlKWR1cmF0aW9u
CiB7Ci0gICAgcmV0dXJuIFtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XSA/IFtfZGVsZWdhdGUgbWVk
aWFFbGVtZW50XS0+ZHVyYXRpb24oKSA6IDA7CisgICAgcmV0dXJuIFtfZGVsZWdhdGUgZHVyYXRp
b25dOwogfQogCiAtIChkb3VibGUpbWF4Vm9sdW1lCkBAIC00NzUsNTAgKzQ3NCw0NCBAQCBzdGF0
aWMgTlNUZXh0RmllbGQgKmNyZWF0ZVRpbWVUZXh0RmllbGQoTlNSZWN0IGZyYW1lKQogCiAtICh2
b2lkKXZvbHVtZUNoYW5nZWQ6KGlkKXNlbmRlcgogeworICAgIFVOVVNFRF9QQVJBTShzZW5kZXIp
OwogICAgIFtzZWxmIHNldFZvbHVtZTpbX3ZvbHVtZVNsaWRlciBkb3VibGVWYWx1ZV1dOwogfQog
CiAtICh2b2lkKXNldFZvbHVtZVRvWmVybzooaWQpc2VuZGVyCiB7CisgICAgVU5VU0VEX1BBUkFN
KHNlbmRlcik7CiAgICAgW3NlbGYgc2V0Vm9sdW1lOjBdOwogfQogCiAtICh2b2lkKXNldFZvbHVt
ZVRvTWF4aW11bTooaWQpc2VuZGVyCiB7CisgICAgVU5VU0VEX1BBUkFNKHNlbmRlcik7CiAgICAg
W3NlbGYgc2V0Vm9sdW1lOltzZWxmIG1heFZvbHVtZV1dOwogfQogCiAtICh2b2lkKWRlY3JlbWVu
dFZvbHVtZQogewotICAgIGlmICghW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBkb3VibGUgdm9sdW1lID0gW3NlbGYgdm9sdW1lXSAtIDEwOworICAgIGRv
dWJsZSB2b2x1bWUgPSBbX2RlbGVnYXRlIHZvbHVtZV0gLSAxMDsKICAgICBbc2VsZiBzZXRWb2x1
bWU6bWF4KHZvbHVtZSwgMC4pXTsKIH0KIAogLSAodm9pZClpbmNyZW1lbnRWb2x1bWUKIHsKLSAg
ICBpZiAoIVtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
ZG91YmxlIHZvbHVtZSA9IFtzZWxmIHZvbHVtZV0gKyAxMDsKKyAgICBkb3VibGUgdm9sdW1lID0g
W19kZWxlZ2F0ZSB2b2x1bWVdICsgMTA7CiAgICAgW3NlbGYgc2V0Vm9sdW1lOm1pbih2b2x1bWUs
IFtzZWxmIG1heFZvbHVtZV0pXTsKIH0KIAogLSAoZG91YmxlKXZvbHVtZQogewotICAgIHJldHVy
biBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0gPyBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0tPnZv
bHVtZSgpICogW3NlbGYgbWF4Vm9sdW1lXSA6IDA7CisgICAgcmV0dXJuIFtfZGVsZWdhdGUgdm9s
dW1lXSAqIFtzZWxmIG1heFZvbHVtZV07CiB9CiAKIC0gKHZvaWQpc2V0Vm9sdW1lOihkb3VibGUp
dm9sdW1lCiB7Ci0gICAgaWYgKCFbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0pCi0gICAgICAgIHJl
dHVybjsKLSAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGU7Ci0gICAgaWYgKFtfZGVsZWdhdGUg
bWVkaWFFbGVtZW50XS0+bXV0ZWQoKSkKLSAgICAgICAgW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRd
LT5zZXRNdXRlZChmYWxzZSk7Ci0gICAgW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdLT5zZXRWb2x1
bWUodm9sdW1lIC8gW3NlbGYgbWF4Vm9sdW1lXSwgZSk7CisgICAgaWYgKFtfZGVsZWdhdGUgbXV0
ZWRdKQorICAgICAgICBbX2RlbGVnYXRlIHNldE11dGVkOmZhbHNlXTsKKyAgICBbX2RlbGVnYXRl
IHNldFZvbHVtZTp2b2x1bWUgLyBbc2VsZiBtYXhWb2x1bWVdXTsKICAgICBbc2VsZiB1cGRhdGVW
b2x1bWVdOwogfQogCkBAIC01NDMsMzYgKzUzNiwyNiBAQCBzdGF0aWMgTlNUZXh0RmllbGQgKmNy
ZWF0ZVRpbWVUZXh0RmllbGQoTlNSZWN0IGZyYW1lKQogCiAtICh2b2lkKXRvZ2dsZVBsYXlpbmc6
KGlkKXNlbmRlcgogeworICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOwogICAgIFtzZWxmIHNldFBs
YXlpbmc6IVtzZWxmIHBsYXlpbmddXTsKIH0KIAogLSAoQk9PTClwbGF5aW5nCiB7Ci0gICAgSFRN
TE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdOwot
ICAgIGlmICghbWVkaWFFbGVtZW50KQotICAgICAgICByZXR1cm4gTk87Ci0KLSAgICByZXR1cm4g
IW1lZGlhRWxlbWVudC0+Y2FuUGxheSgpOworICAgIHJldHVybiAhW19kZWxlZ2F0ZSBjYW5QbGF5
XTsKIH0KIAogLSAodm9pZClzZXRQbGF5aW5nOihCT09MKXBsYXlpbmcKIHsKLSAgICBIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF07Ci0KLSAg
ICBpZiAoIW1lZGlhRWxlbWVudCkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgaWYgKHBsYXlpbmcp
Ci0gICAgICAgIG1lZGlhRWxlbWVudC0+cGxheShtZWRpYUVsZW1lbnQtPnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpKTsKKyAgICAgICAgW19kZWxlZ2F0ZSBwbGF5XTsKICAgICBlbHNlCi0gICAgICAg
IG1lZGlhRWxlbWVudC0+cGF1c2UobWVkaWFFbGVtZW50LT5wcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSk7CisgICAgICAgIFtfZGVsZWdhdGUgcGF1c2VdOwogfQogCiBzdGF0aWMgTlNTdHJpbmcgKnRp
bWVUb1N0cmluZyhkb3VibGUgdGltZSkKIHsKLSAgICBBU1NFUlRfQVJHKHRpbWUsIHRpbWUgPj0g
MCk7Ci0KLSAgICBpZiAoIWlzZmluaXRlKHRpbWUpKQorICAgIGlmICh0aW1lIDwgMCB8fCAhaXNm
aW5pdGUodGltZSkpCiAgICAgICAgIHRpbWUgPSAwOwogCiAgICAgaW50IHNlY29uZHMgPSBmYWJz
KHRpbWUpOyAKQEAgLTU4OCwyNSArNTcxLDIyIEBAIHN0YXRpYyBOU1N0cmluZyAqdGltZVRvU3Ry
aW5nKGRvdWJsZSB0aW1lKQogCiAtIChOU1N0cmluZyAqKXJlbWFpbmluZ1RpbWVUZXh0CiB7Ci0g
ICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gW19kZWxlZ2F0ZSBtZWRpYUVsZW1l
bnRdOwotICAgIGlmICghbWVkaWFFbGVtZW50KQorICAgIGlmICghW19kZWxlZ2F0ZSBkdXJhdGlv
bl0pCiAgICAgICAgIHJldHVybiBAIiI7CiAKLSAgICByZXR1cm4gW0AiLSIgc3RyaW5nQnlBcHBl
bmRpbmdTdHJpbmc6dGltZVRvU3RyaW5nKG1lZGlhRWxlbWVudC0+ZHVyYXRpb24oKSAtIG1lZGlh
RWxlbWVudC0+Y3VycmVudFRpbWUoKSldOworICAgIHJldHVybiBbQCItIiBzdHJpbmdCeUFwcGVu
ZGluZ1N0cmluZzp0aW1lVG9TdHJpbmcoW19kZWxlZ2F0ZSBkdXJhdGlvbl0gLSBbX2RlbGVnYXRl
IGN1cnJlbnRUaW1lXSldOwogfQogCiAtIChOU1N0cmluZyAqKWVsYXBzZWRUaW1lVGV4dAogewot
ICAgIGlmICghW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdKQotICAgICAgICByZXR1cm4gQCIiOwot
Ci0gICAgcmV0dXJuIHRpbWVUb1N0cmluZyhbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0tPmN1cnJl
bnRUaW1lKCkpOworICAgIHJldHVybiB0aW1lVG9TdHJpbmcoW19kZWxlZ2F0ZSBjdXJyZW50VGlt
ZV0pOwogfQogCiAvLyBNQVJLOiBOU1Jlc3BvbmRlcgogCiAtICh2b2lkKW1vdXNlRW50ZXJlZDoo
TlNFdmVudCAqKXRoZUV2ZW50CiB7CisgICAgVU5VU0VEX1BBUkFNKHRoZUV2ZW50KTsKICAgICAv
LyBNYWtlIHN1cmUgdGhlIEhVRCB3b24ndCBiZSBoaWRkZW4gZnJvbSBub3cKICAgICBfbW91c2VJ
c0luSFVEID0gWUVTOwogICAgIFtzZWxmIGZhZGVXaW5kb3dJbl07CkBAIC02MTQsMjUgKzU5NCwy
NSBAQCBzdGF0aWMgTlNTdHJpbmcgKnRpbWVUb1N0cmluZyhkb3VibGUgdGltZSkKIAogLSAodm9p
ZCltb3VzZUV4aXRlZDooTlNFdmVudCAqKXRoZUV2ZW50CiB7CisgICAgVU5VU0VEX1BBUkFNKHRo
ZUV2ZW50KTsKICAgICBfbW91c2VJc0luSFVEID0gTk87CiAgICAgW3NlbGYgZmFkZVdpbmRvd0lu
XTsKIH0KIAogLSAodm9pZClyZXdpbmQ6KGlkKXNlbmRlcgogewotICAgIGlmICghW19kZWxlZ2F0
ZSBtZWRpYUVsZW1lbnRdKQotICAgICAgICByZXR1cm47Ci0gICAgW19kZWxlZ2F0ZSBtZWRpYUVs
ZW1lbnRdLT5yZXdpbmQoMzApOworICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOworICAgIFtfZGVs
ZWdhdGUgcmV3aW5kOjMwXTsKIH0KIAogLSAodm9pZClmYXN0Rm9yd2FyZDooaWQpc2VuZGVyCiB7
Ci0gICAgaWYgKCFbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0pCi0gICAgICAgIHJldHVybjsKKyAg
ICBVTlVTRURfUEFSQU0oc2VuZGVyKTsKIH0KIAogLSAodm9pZClleGl0RnVsbHNjcmVlbjooaWQp
c2VuZGVyCiB7CisgICAgVU5VU0VEX1BBUkFNKHNlbmRlcik7CiAgICAgaWYgKF9pc0VuZGluZ0Z1
bGxzY3JlZW4pCiAgICAgICAgIHJldHVybjsKICAgICBfaXNFbmRpbmdGdWxsc2NyZWVuID0gWUVT
OwpAQCAtNjQzLDExICs2MjMsMTMgQEAgc3RhdGljIE5TU3RyaW5nICp0aW1lVG9TdHJpbmcoZG91
YmxlIHRpbWUpCiAKIC0gKHZvaWQpd2luZG93RGlkRXhwb3NlOihOU05vdGlmaWNhdGlvbiAqKW5v
dGlmaWNhdGlvbgogeworICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRpb24pOwogICAgIFtzZWxm
IHNjaGVkdWxlVGltZVVwZGF0ZV07CiB9CiAKIC0gKHZvaWQpd2luZG93RGlkQ2xvc2U6KE5TTm90
aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCiB7CisgICAgVU5VU0VEX1BBUkFNKG5vdGlmaWNhdGlv
bik7CiAgICAgW3NlbGYgdW5zY2hlZHVsZVRpbWVVcGRhdGVdOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0FuaW1hdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5oCnNpbWlsYXJpdHkgaW5kZXgg
MTAwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0FuaW1h
dGlvbi5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViV2luZG93QW5p
bWF0aW9uLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViV2luZG93
QW5pbWF0aW9uLm0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViV2luZG93QW5pbWF0
aW9uLm1tCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViV2luZG93QW5pbWF0aW9uLm0KcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24ubW0KaW5kZXggYWRhODZlNS4uYWMyYWIzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJXaW5kb3dBbmltYXRpb24u
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViV2luZG93QW5pbWF0aW9uLm1t
CkBAIC0yMyw4ICsyMywxMCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAorI2ltcG9ydCAiY29u
ZmlnLmgiCisKICNpbXBvcnQgIldlYldpbmRvd0FuaW1hdGlvbi5oIgotI2ltcG9ydCAiV2ViS2l0
U3lzdGVtSW50ZXJmYWNlLmgiCisjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAj
aW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCBzbG93TW90
aW9uRmFjdG9yID0gMTAuOwpAQCAtMTEwLDcgKzExMiw3IEBAIC0gKHZvaWQpc2V0Q3VycmVudFBy
b2dyZXNzOihOU0FuaW1hdGlvblByb2dyZXNzKXByb2dyZXNzCiAgICAgW3N1cGVyIHNldEN1cnJl
bnRQcm9ncmVzczpwcm9ncmVzc107CiAKICAgICBOU1JlY3QgY3VycmVudFJlY3QgPSBbc2VsZiBj
dXJyZW50RnJhbWVdOwotICAgIFdLV2luZG93U2V0U2NhbGVkRnJhbWUoX3dpbmRvdywgY3VycmVu
dFJlY3QsIF9yZWFsRnJhbWUpOworICAgIHdrV2luZG93U2V0U2NhbGVkRnJhbWUoX3dpbmRvdywg
Y3VycmVudFJlY3QsIF9yZWFsRnJhbWUpOwogICAgIFtfc3ViQW5pbWF0aW9uIHNldEN1cnJlbnRQ
cm9ncmVzczpwcm9ncmVzc107CiB9CiAKQEAgLTE4Miw2ICsxODQsNyBAQCAtIChpZClpbml0V2l0
aER1cmF0aW9uOihOU1RpbWVJbnRlcnZhbClkdXJhdGlvbiB3aW5kb3c6KE5TV2luZG93ICopd2lu
ZG93IGluaXRpYQogICAgIF93aW5kb3cgPSB3aW5kb3c7CiAgICAgX2luaXRpYWxBbHBoYSA9IGlu
aXRpYWxBbHBoYTsKICAgICBfZmluYWxBbHBoYSA9IGZpbmFsQWxwaGE7CisgICAgW3NlbGYgc2V0
RHVyYXRpb246ZHVyYXRpb25dOwogICAgIHJldHVybiBzZWxmOwogfQogCkBAIC0yMDMsNyArMjA2
LDcgQEAgLSAodm9pZClzZXRDdXJyZW50UHJvZ3Jlc3M6KE5TQW5pbWF0aW9uUHJvZ3Jlc3MpcHJv
Z3Jlc3MKICAgICBBU1NFUlQoX3dpbmRvdyk7CiAgICAgW3N1cGVyIHNldEN1cnJlbnRQcm9ncmVz
czpwcm9ncmVzc107CiAKLSAgICBXS1dpbmRvd1NldEFscGhhKF93aW5kb3csIFtzZWxmIGN1cnJl
bnRBbHBoYV0pOworICAgIHdrV2luZG93U2V0QWxwaGEoX3dpbmRvdywgW3NlbGYgY3VycmVudEFs
cGhhXSk7CiB9CiAKIC0gKHZvaWQpc2V0V2luZG93OihOU1dpbmRvdyopd2luZG93CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGZiMjIzZGEuLjEyNTU0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDYt
MDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGVnYWN5IEZ1bGwgU2NyZWVuIEFQSSBmb3Ig
V2ViS2l0LgorCisgICAgICAgIFJlbW92ZSBkZXBlbmRlbmN5IG9uIFFUS2l0IGZyb20gd2VraXRF
eGl0RnVsbHNjcmVlbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTg0MworCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IFJlbW92ZSBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgsY3BwCisg
ICAgICAgICAgICBhbmQgV2ViVmlkZW9GdWxsc2NyZWVuV2luZG93Q29udHJvbGxlci5oLGNwcCBh
cyB0aGVzZSBmaWxlcyB3ZXJlIG1vdmVkIGludG8gV2ViQ29yZS4KKwogMjAxMS0wNS0yMCAgQW5k
eSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBhZDA2MGVjLi42OTY4N2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIwLDEyICsyMCw2IEBACiAJCTBBRUJGRjY0MEY5
RkE4QkUwMDBENDg2QiAvKiBXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrUHJpdmF0ZS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBBRUJGRjYyMEY5RkE4
QkUwMDBENDg2QiAvKiBXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrUHJpdmF0ZS5tbSAqLzsgfTsK
IAkJMEYzMDk4NUYxMUVDRkU0NTAwRjU1OURGIC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjMwOTg1RDExRUNGRTQ0MDBG
NTU5REYgLyogV2ViUmVuZGVyTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkwRjMwOTg2MDExRUNGRTQ1MDBGNTU5REYgLyogV2ViUmVuZGVy
TGF5ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjMwOTg1RTExRUNGRTQ1MDBGNTU5REYgLyogV2ViUmVuZGVyTGF5ZXIubW0gKi87IH07Ci0JCTBG
RDNCMEYyMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQjBFRTEw
NzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oICovOyB9Owot
CQkwRkQzQjBGMzEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDNC
MEVGMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tICov
OyB9OwotCQkwRkQzQjBGNDEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVE
V2luZG93Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZEM0IwRjAxMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhV
RFdpbmRvd0NvbnRyb2xsZXIuaCAqLzsgfTsKLQkJMEZEM0IwRjUxMDc2QzNFOTAwMDM5Qjk2IC8q
IFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQjBGMTEwNzZDM0U5MDAwMzlCOTYg
LyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSAqLzsgfTsKLQkJMEZE
M0IwRjgxMDc2QzNGNzAwMDM5Qjk2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0IwRjYxMDc2QzNGNzAwMDM5
Qjk2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oICovOyB9OwotCQkwRkQzQjBGOTEwNzZDM0Y3MDAw
MzlCOTYgLyogV2ViV2luZG93QW5pbWF0aW9uLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQjBGNzEwNzZDM0Y3MDAwMzlCOTYgLyogV2ViV2luZG93
QW5pbWF0aW9uLm0gKi87IH07CiAJCTE0RDgyNTJGMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJv
bWVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0RDgyNTJEMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQuaCAqLzsgfTsKIAkJ
MTREODI1MzAwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNocm9tZUNsaWVudC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RDgyNTJFMEFGOTU1MDkwMDA0
RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQubW0gKi87IH07CiAJCTFBMjBEMDhCMEVEMzg0RjIwMDQz
RkE5RiAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjBEMDhBMEVEMzg0RjIwMDQzRkE5RiAvKiBRdWFydHpD
b3JlLmZyYW1ld29yayAqLzsgfTsKQEAgLTM3Miw2ICszNjYsOSBAQAogCQlDMEI4OEU4QjEwQTA4
RjNEMDBGQkIzRjUgLyogV2ViRnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEI4OEU4QTEwQTA4RjNEMDBGQkIz
RjUgLyogV2ViRnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzBDNUIzRUUxMTc3QTRBMDAwMkIwQUVGIC8q
IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzBDNUIzRUMxMTc3QTRBMDAwMkIwQUVGIC8qIFdlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUMwQzVCM0VGMTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJVc2VyQ29udGVudFVSTFBh
dHRlcm4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MEM1QjNFRDExNzdBNEEwMDAyQjBBRUYgLyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLm1tICov
OyB9OworCQlDRDVEMjgyRTEzOTU0MjQ0MDA1MzE5NUQgLyogV2ViTWVkaWFEZWxlZ2F0ZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENUQyODJCMTM5
NTQwNDgwMDUzMTk1RCAvKiBXZWJNZWRpYURlbGVnYXRlLm1tICovOyB9OworCQlDRDhCMzMwMTEz
OTRCQUI1MDBFRDk3QUIgLyogV2ViRXZlbnRMaXN0ZW5lci5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEOEIzMzAwMTM5NEJBQjQwMEVEOTdBQiAvKiBX
ZWJFdmVudExpc3RlbmVyLm1tICovOyB9OworCQlDRDhCMzMwMzEzOTRCQUNGMDBFRDk3QUIgLyog
V2ViRXZlbnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q4QjMzMDIxMzk0QkFDRjAwRUQ5N0FCIC8qIFdlYkV2ZW50TGlzdGVuZXIuaCAq
LzsgfTsKIAkJQ0Q4RUFDNzMxMUNBQzlBMzAwNzc0MDc1IC8qIElPS2l0LmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEOEVBQzcyMTFD
QUM5QTMwMDc3NDA3NSAvKiBJT0tpdC5mcmFtZXdvcmsgKi87IH07CiAJCUNEQTYyQUUyMTI1Rjg3
QzIwMDdGRDExOCAvKiBXZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RBNjJBRTAxMjVGODdDMjAwN0ZEMTE4IC8q
IFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmggKi87IH07CiAJCUNEQTYyQUUzMTI1Rjg3QzIwMDdG
RDExOCAvKiBXZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQTYyQUUxMTI1Rjg3QzIwMDdGRDExOCAvKiBXZWJG
dWxsU2NyZWVuQ29udHJvbGxlci5tbSAqLzsgfTsKQEAgLTQwNCwxMiArNDAxLDYgQEAKIAkJMEFF
QkZGNjIwRjlGQThCRTAwMEQ0ODZCIC8qIFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tQcml2YXRl
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTmV0c2NhcGVD
b250YWluZXJDaGVja1ByaXZhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
MzA5ODVEMTFFQ0ZFNDQwMEY1NTlERiAvKiBXZWJSZW5kZXJMYXllci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZW5kZXJMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRjMwOTg1RTExRUNGRTQ1MDBGNTU5REYgLyogV2ViUmVuZGVyTGF5ZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJSZW5kZXJMYXllci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZEM0IwRUUxMDc2QzNFOTAwMDM5Qjk2
IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkwRkQzQjBFRjEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTBGRDNCMEYwMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMEZEM0IwRjExMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVl
bkhVRFdpbmRvd0NvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkwRkQzQjBGNjEwNzZDM0Y3MDAwMzlCOTYgLyogV2ViV2lu
ZG93QW5pbWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYldpbmRv
d0FuaW1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRkQzQjBGNzEwNzZD
M0Y3MDAwMzlCOTYgLyogV2ViV2luZG93QW5pbWF0aW9uLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMub2JqYzsgcGF0aCA9IFdlYldpbmRvd0FuaW1hdGlvbi5tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNEQ4MjUyRDBBRjk1NTA5MDAwNEYwNTcgLyogV2ViQ2hyb21lQ2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDaHJvbWVDbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTREODI1MkUwQUY5NTUwOTAwMDRGMDU3IC8qIFdl
YkNocm9tZUNsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJDaHJvbWVDbGllbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMjBE
MDhBMEVEMzg0RjIwMDQzRkE5RiAvKiBRdWFydHpDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBu
YW1lID0gUXVhcnR6Q29yZS5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9RdWFydHpDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
QEAgLTcwNCw2ICs2OTUsMTAgQEAKIAkJQzBCODhFOEExMEEwOEYzRDAwRkJCM0Y1IC8qIFdlYkZy
YW1lTG9hZERlbGVnYXRlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzBDNUIzRUMxMTc3QTRBMDAwMkIwQUVGIC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVy
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJVc2VyQ29udGVudFVSTFBh
dHRlcm4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDNUIzRUQxMTc3QTRBMDAw
MkIwQUVGIC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q1RDI4MkExMzk1NDA0NzAwNTMxOTVEIC8qIFdlYk1l
ZGlhRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWVkaWFE
ZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDVEMjgyQjEzOTU0MDQ4
MDA1MzE5NUQgLyogV2ViTWVkaWFEZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYk1lZGlhRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNEOEIzMzAwMTM5NEJBQjQwMEVEOTdBQiAvKiBXZWJFdmVudExpc3RlbmVyLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRXZlbnRMaXN0ZW5l
ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4QjMzMDIxMzk0QkFDRjAwRUQ5
N0FCIC8qIFdlYkV2ZW50TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViRXZlbnRMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDhF
QUM3MjExQ0FDOUEzMDA3NzQwNzUgLyogSU9LaXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUg
PSBJT0tpdC5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JT0tp
dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUNEQTYyQUUwMTI1
Rjg3QzIwMDdGRDExOCAvKiBXZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDREE2MkFFMTEyNUY4N0MyMDA3RkQxMTggLyogV2ViRnVsbFNj
cmVlbkNvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTExNjgsNiArMTE2Myw4IEBACiAJCTlDN0NBQkJCMDE5MEEzN0MwRUNBMTZFQSAvKiBXZWJW
aWV3ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRDVE
MjgyQTEzOTU0MDQ3MDA1MzE5NUQgLyogV2ViTWVkaWFEZWxlZ2F0ZS5oICovLAorCQkJCUNENUQy
ODJCMTM5NTQwNDgwMDUzMTk1RCAvKiBXZWJNZWRpYURlbGVnYXRlLm1tICovLAogCQkJCUY1MkNB
NkJEMDJERjlEMEYwMTg2MzVDQSAvKiBIVE1MICovLAogCQkJCTUxRTk0QzA3MDZDMDJDQTMwMEE5
QjA5RSAvKiBQREYgKi8sCiAJCQkJODM3MzQzNUEwNjI0RUUwRDAwRjNCMjg5IC8qIFdlYkFyY2hp
dmUuaCAqLywKQEAgLTEyNTQsMTAgKzEyNTEsNiBAQAogCQkJCUY4MzRBQUQ2MEU2NEIxQzcwMEUy
NzM3QyAvKiBXZWJUZXh0SXRlcmF0b3IubW0gKi8sCiAJCQkJNTE1RTI3Q0MwNDU4Qzg2NTAwQ0Ey
RDNBIC8qIFdlYlVJRGVsZWdhdGUuaCAqLywKIAkJCQk2NUE3RDQ0QTA1NjhBQjI2MDBFNzBFRjYg
LyogV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCAqLywKLQkJCQkwRkQzQjBFRTEwNzZDM0U5MDAwMzlC
OTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oICovLAotCQkJCTBGRDNCMEVGMTA3
NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tICovLAotCQkJ
CTBGRDNCMEYwMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyLmggKi8sCi0JCQkJMEZEM0IwRjExMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0gKi8sCiAJCQkJNTFBOEI1NzkwNDI4MzRG
NzAwQ0EyRDNBIC8qIFdlYlZpZXcuaCAqLywKIAkJCQk1MUE4QjU3QTA0MjgzNEY3MDBDQTJEM0Eg
LyogV2ViVmlldy5tbSAqLywKIAkJCQlCQzJFNDY0QjBGRDhBOTY4MDBBOUQ5REUgLyogV2ViVmll
d0RhdGEuaCAqLywKQEAgLTEyNjUsOCArMTI1OCw4IEBACiAJCQkJQkM5N0U3RTExMDk2M0QyNjAw
MTBEMzYxIC8qIFdlYlZpZXdFdmVudEhhbmRsaW5nLm1tICovLAogCQkJCTkzMEQwMkJCMDYyNzVG
NjQwMDc2NzAxRSAvKiBXZWJWaWV3SW50ZXJuYWwuaCAqLywKIAkJCQk1MUE4QjU3RDA0MjgzNTNB
MDBDQTJEM0EgLyogV2ViVmlld1ByaXZhdGUuaCAqLywKLQkJCQkwRkQzQjBGNjEwNzZDM0Y3MDAw
MzlCOTYgLyogV2ViV2luZG93QW5pbWF0aW9uLmggKi8sCi0JCQkJMEZEM0IwRjcxMDc2QzNGNzAw
MDM5Qjk2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tICovLAorCQkJCUNEOEIzMzAwMTM5NEJBQjQw
MEVEOTdBQiAvKiBXZWJFdmVudExpc3RlbmVyLm1tICovLAorCQkJCUNEOEIzMzAyMTM5NEJBQ0Yw
MEVEOTdBQiAvKiBXZWJFdmVudExpc3RlbmVyLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IFdlYlZp
ZXc7CiAJCQlwYXRoID0gbWFjL1dlYlZpZXc7CkBAIC0xNjI4LDE0ICsxNjIxLDExIEBACiAJCQkJ
OTM5ODEwODMwODI0QkYwMTAwOERGMDM4IC8qIFdlYlVJRGVsZWdhdGVQcml2YXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5Mzk4MTAxNTA4MjRCRjAxMDA4REYwMzggLyogV2ViVVJMc1dpdGhUaXRs
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUMwQzVCM0VFMTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJV
c2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovLAotCQkJCTBGRDNCMEYyMTA3NkMz
RTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKLQkJCQkwRkQzQjBGNDEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVE
V2luZG93Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5ODEwNzAwODI0QkYwMTAw
OERGMDM4IC8qIFdlYlZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkU0NjREMEZEOEE5Njgw
MEE5RDlERSAvKiBXZWJWaWV3RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5ODEwNDYwODI0
QkYwMTAwOERGMDM4IC8qIFdlYlZpZXdGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4
MTA5QjA4MjRCRjAxMDA4REYwMzggLyogV2ViVmlld0ludGVybmFsLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5Mzk4MTA3MTA4MjRCRjAxMDA4REYwMzggLyogV2ViVmlld1ByaXZhdGUuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTBGRDNCMEY4MTA3NkMzRjcwMDAzOUI5NiAvKiBXZWJXaW5kb3dBbmltYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjQ0ODRGMTAzMzhFOEMwMDMwRTU1RSAvKiBXZWJX
b3JrZXJzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVERUZDMEIxMUQ1MzMxQzAwODg1
MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1
REVGQzBDMTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdpblByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMTY1OCw2ICsxNjQ4LDcgQEAKIAkJCQlCQzQyRDMyNDEzMUVEMUUwMDA3
NUZBNEIgLyogV2ViTG9jYWxpemFibGVTdHJpbmdzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCUI4Mjk1OEQzMTMyNzA3RDAwMDBEMEU3OSAvKiBDb3JyZWN0aW9uUGFuZWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1Njg3QkRBMTM1Qjc5MUEwMDc0Q0JDQiAvKiBXZWJOb2RlSGlnaGxpZ2h0
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEOEIzMzAzMTM5NEJBQ0YwMEVEOTdBQiAvKiBXZWJF
dmVudExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIwMDgsMTMgKzE5OTksMTAgQEAKIAkJ
CQlGODM0QUFEODBFNjRCMUM3MDBFMjczN0MgLyogV2ViVGV4dEl0ZXJhdG9yLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTM5ODEwQkUwODI0QkYwMTAwOERGMDM4IC8qIFdlYlVSTHNXaXRoVGl0bGVz
Lm0gaW4gU291cmNlcyAqLywKIAkJCQlDMEM1QjNFRjExNzdBNEEwMDAyQjBBRUYgLyogV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMEZEM0IwRjMxMDc2QzNF
OTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAq
LywKLQkJCQkwRkQzQjBGNTEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVE
V2luZG93Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzOTgxMTA3MDgyNEJGMDEw
MDhERjAzOCAvKiBXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyRTQ2NEUwRkQ4QTk2
ODAwQTlEOURFIC8qIFdlYlZpZXdEYXRhLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5N0U3RTIx
MDk2M0QyNjAwMTBEMzYxIC8qIFdlYlZpZXdFdmVudEhhbmRsaW5nLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTM5ODEwRTgwODI0QkYwMTAwOERGMDM4IC8qIFdlYlZpZXdGYWN0b3J5Lm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJMEZEM0IwRjkxMDc2QzNGNzAwMDM5Qjk2IC8qIFdlYldpbmRvd0FuaW1h
dGlvbi5tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGNDQ4NTAxMDMzOEU4QzAwMzBFNTVFIC8qIFdl
YldvcmtlcnNQcml2YXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTVERUZDMEExMUQ1MzMxQzAw
ODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTVERUZD
MTAxMUQ1MzQzRTAwODg1MjczIC8qIFdlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyLm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC0yMDMxLDYgKzIwMTksOCBAQAogCQkJCUJDNDJEMzREMTMxRUQzODgwMDc1RkE0
QiAvKiBXZWJMb2NhbGl6YWJsZVN0cmluZ3NJbnRlcm5hbC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUI4Mjk1OEQ0MTMyNzA3RDAwMDBEMEU3OSAvKiBDb3JyZWN0aW9uUGFuZWwubW0gaW4gU291cmNl
cyAqLywKIAkJCQlBNTY4N0JEQjEzNUI3OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdodGVy
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q4QjMzMDExMzk0QkFCNTAwRUQ5N0FCIC8qIFdlYkV2
ZW50TGlzdGVuZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDVEMjgyRTEzOTU0MjQ0MDA1MzE5
NUQgLyogV2ViTWVkaWFEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGI1ZDk0MDcuLmFhNmE2YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1OCBAQAor
MjAxMS0wNi0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZWdhY3kgRnVsbCBTY3JlZW4g
QVBJIGZvciBXZWJLaXQuCisKKyAgICAgICAgUmVtb3ZlIGRlcGVuZGVuY3kgb24gUVRLaXQgZnJv
bSB3ZWtpdEV4aXRGdWxsc2NyZWVuKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYxODQzCisKKyAgICAgICAgVGhlIFdlYk1lZGlhRGVsZWdhdGUgaXMg
YSBzaW1wbGUgd3JhcHBlciBhcm91bmQgSFRNTE1lZGlhRWxlbWVudCB3aGljaCBpbnN1bGF0ZXMg
dGhlIGZ1bGwKKyAgICAgICAgc2NyZWVuIGNvbnRyb2xsZXJzIGZyb20gZGV0YWlscyBhYm91dCBI
VE1MTWVkaWFFbGVtZW50cy4KKyAgICAgICAgKiBXZWJWaWV3L1dlYk1lZGlhRGVsZWdhdGUuaDog
QWRkZWQuCisgICAgICAgICogV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLm1tOiBBZGRlZC4KKyAg
ICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBkZWFsbG9jXSk6CisgICAgICAgICgtW1dlYk1lZGlh
RGVsZWdhdGUgc2V0TWVkaWFFbGVtZW50OldlYkNvcmU6Ol0pOgorICAgICAgICAoLVtXZWJNZWRp
YURlbGVnYXRlIFdlYkNvcmU6Ol0pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIHJlcXVl
c3RFeGl0RnVsbHNjcmVlbl0pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIGJlZ2luU2Ny
dWJiaW5nXSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgZW5kU2NydWJiaW5nXSk6Cisg
ICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgY3VycmVudFRpbWVdKToKKyAgICAgICAgKC1bV2Vi
TWVkaWFEZWxlZ2F0ZSBzZXRDdXJyZW50VGltZTpdKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxl
Z2F0ZSBkdXJhdGlvbl0pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIHZvbHVtZV0pOgor
ICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIG11dGVkXSk6CisgICAgICAgICgtW1dlYk1lZGlh
RGVsZWdhdGUgc2V0TXV0ZWQ6XSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgc2V0Vm9s
dW1lOl0pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIGNhblBsYXldKToKKyAgICAgICAg
KC1bV2ViTWVkaWFEZWxlZ2F0ZSBwbGF5XSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUg
cGF1c2VdKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSByZXdpbmQ6XSk6CisgICAgICAg
ICgtW1dlYk1lZGlhRGVsZWdhdGUgbWVkaWFFbGVtZW50U2NyZWVuUmVjdF0pOgorICAgICAgICAo
LVtXZWJNZWRpYURlbGVnYXRlIHJlbGVhc2VNZWRpYUVsZW1lbnRMYXllcl0pOgorICAgICAgICAo
LVtXZWJNZWRpYURlbGVnYXRlIHN0ZWFsTWVkaWFFbGVtZW50TGF5ZXJdKToKKyAgICAgICAgKC1b
V2ViTWVkaWFEZWxlZ2F0ZSBleGl0RnVsbFNjcmVlbkNvbXBsZXRlZF0pOgorICAgICAgICAoLVtX
ZWJNZWRpYURlbGVnYXRlIGVudGVyRnVsbFNjcmVlbkNvbXBsZXRlZF0pOiAgICAgICAgCisKKyAg
ICAgICAgTm93IHRoYXQgbW9yZSB0aGFuIG9uZSBjbGFzcyBuZWVkcyB0byB1c2UgaXQsIG1vdmUg
V2ViRXZlbnRMaXN0ZW5lciBvdXQgaW50byBpdHMgb3duIGNsYXNzLgorICAgICAgICAqIFdlYlZp
ZXcvV2ViRXZlbnRMaXN0ZW5lci5oOiBDb3BpZWQgZnJvbSB3aXRoaW4gV2ViRnVsbFNjcmVlbkNv
bnRyb2xsZXIubW0uCisgICAgICAgICogV2ViVmlldy9XZWJFdmVudExpc3RlbmVyLm1tOiBDb3Bp
ZWQgZnJvbSB3aXRoaW4gV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0uCisgICAgICAgIChXZWJF
dmVudExpc3RlbmVyOjpXZWJFdmVudExpc3RlbmVyKTogTm93IHRha2VzIGEgc2VsZWN0b3IgYW5k
IGlkLgorICAgICAgICAoV2ViRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAg
IChXZWJFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudCk6IERpdHRvLgorICAgICAgICAqIFdlYlZp
ZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5D
b250cm9sbGVyIGluaXRdKTogVXNlIHRoZSBuZXdseSByZW5hbWVkIFdlYkV2ZW50TGlzdGVuZXIu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAg
ICAgIChJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6IEluaXRpYWxpemUgV2ViQ29yZSB2ZXJz
aW9ucyBvZiBXS1NJIG1ldGhvZHMuCisKKyAgICAgICAgTm93IHRoYXQgdGhlIGZ1bGwtc2NyZWVu
IGNvbnRyb2xsZXJzIGFyZSBNZWRpYVBsYXllciBhZ25vc3RpYywgd2UgY2FuIHJlbW92ZSB0aGUg
CisgICAgICAgIGNoZWNrcyB0aGF0IHNwZWNpZmljYWxseSBkaXNhYmxlIGZ1bGwtc2NyZWVuIG1v
ZGUgZm9yIEFWRm91bmRhdGlvbi4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcuaDoKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2Vz
Q2hhbmdlZDpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfZW50ZXJGdWxsc2NyZWVuRm9yTm9kZTpX
ZWJDb3JlOjpdKToKKwogMjAxMS0wNS0yNyAgU3RlcGhhbmllIExld2lzICA8c2xld2lzQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCmluZGV4IDE0MmRlZmQuLjE1
MDUzNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5
c3RlbUludGVyZmFjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJTeXN0ZW1JbnRlcmZhY2UubW0KQEAgLTY5LDYgKzY5LDEwIEBAIHZvaWQgSW5pdFdlYkNvcmVT
eXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAgICBJTklUKEhpdFRlc3RNZWRpYVVJUGFydCk7CiAgICAg
SU5JVChJbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KTsKICAgICBJ
TklUKE1lYXN1cmVNZWRpYVVJUGFydCk7CisgICAgSU5JVChDcmVhdGVNZWRpYVVJQmFja2dyb3Vu
ZFZpZXcpOworICAgIElOSVQoQ3JlYXRlTWVkaWFVSUNvbnRyb2wpOworICAgIElOSVQoV2luZG93
U2V0QWxwaGEpOworICAgIElOSVQoV2luZG93U2V0U2NhbGVkRnJhbWUpOwogICAgIElOSVQoTWVk
aWFDb250cm9sbGVyVGhlbWVBdmFpbGFibGUpOwogICAgIElOSVQoUG9wdXBNZW51KTsKICAgICBJ
TklUKFNldENHRm9udFJlbmRlcmluZ01vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJFdmVudExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkV2ZW50TGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k
OTdhZjk4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJF
dmVudExpc3RlbmVyLmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdl
YkNvcmUvRXZlbnRMaXN0ZW5lci5oPgorI2ltcG9ydCA8d3RmL1Bhc3NSZWZQdHIuaD4KKworY2xh
c3MgV2ViRXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBXZWJDb3JlOjpFdmVudExpc3RlbmVyIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJFdmVudExpc3RlbmVyPiBjcmVhdGUoaWQg
ZGVsZWdhdGUsIFNFTCBzZWxlY3Rvcik7CisgICAgdmlydHVhbCBib29sIG9wZXJhdG9yPT0oY29u
c3QgV2ViQ29yZTo6RXZlbnRMaXN0ZW5lciYpOworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVu
dChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViQ29yZTo6RXZlbnQqKTsKKyAg
ICAKK3ByaXZhdGU6CisgICAgV2ViRXZlbnRMaXN0ZW5lcihpZCBkZWxlZ2F0ZSwgU0VMIHNlbGVj
dG9yKTsgCisgICAgaWQgbV9kZWxlZ2F0ZTsKKyAgICBTRUwgbV9zZWxlY3RvcjsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVlM2Q2MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRXZlbnRMaXN0ZW5lci5tbQpAQCAtMCwwICsxLDM0IEBA
CisvLworLy8gIFdlYkV2ZW50TGlzdGVuZXIuY3BwCisvLyAgV2ViS2l0CisvLworLy8gIENyZWF0
ZWQgYnkgSmVyIE5vYmxlIG9uIDUvMzAvMTEuCisvLyAgQ29weXJpZ2h0IDIwMTEgQXBwbGUgQ29t
cHV0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworCisjaW1wb3J0ICJXZWJFdmVudExpc3Rl
bmVyLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitXZWJFdmVudExpc3RlbmVyOjpX
ZWJFdmVudExpc3RlbmVyKGlkIGRlbGVnYXRlLCBTRUwgc2VsZWN0b3IpCisgICAgOiBFdmVudExp
c3RlbmVyKENQUEV2ZW50TGlzdGVuZXJUeXBlKQorICAgICwgbV9kZWxlZ2F0ZShkZWxlZ2F0ZSkK
KyAgICAsIG1fc2VsZWN0b3Ioc2VsZWN0b3IpCit7IAorfQorCitQYXNzUmVmUHRyPFdlYkV2ZW50
TGlzdGVuZXI+IFdlYkV2ZW50TGlzdGVuZXI6OmNyZWF0ZShpZCBkZWxlZ2F0ZSwgU0VMIHNlbGVj
dG9yKSAKK3sgCisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJFdmVudExpc3RlbmVyKGRlbGVn
YXRlLCBzZWxlY3RvcikpOyAKK30KKworYm9vbCBXZWJFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09
KGNvbnN0IEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyKQoreworICAgIHJldHVybiB0aGlzID09ICZs
aXN0ZW5lcjsKK30KKwordm9pZCBXZWJFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFdmVudCogZXZlbnQpCit7CisgICAgaWYgKFttX2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjptX3NlbGVjdG9yXSkKKyAgICAgICAgW21fZGVsZWdh
dGUgcGVyZm9ybVNlbGVjdG9yOm1fc2VsZWN0b3JdOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0KaW5kZXggODk5NzVmNi4u
OTYxYzZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2Ny
ZWVuQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxT
Y3JlZW5Db250cm9sbGVyLm1tCkBAIC0yNyw5ICsyNyw5IEBACiAKICNpbXBvcnQgIldlYkZ1bGxT
Y3JlZW5Db250cm9sbGVyLmgiCiAKKyNpbXBvcnQgIldlYkV2ZW50TGlzdGVuZXIuaCIKICNpbXBv
cnQgIldlYk5TV2luZG93RXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aCIKLSNpbXBvcnQgIldlYldpbmRvd0FuaW1hdGlvbi5oIgogI2ltcG9ydCAiV2ViVmlld0ludGVy
bmFsLmgiCiAjaW1wb3J0IDxJT0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4KICNpbXBvcnQgPE9TU2Vy
dmljZXMvUG93ZXIuaD4KQEAgLTc3LDE3ICs3Nyw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogLSAoTlNWaWV3KilhbmltYXRpb25WaWV3OwogQGVuZAogCi1jbGFzcyBNZWRpYUV2ZW50TGlz
dGVuZXIgOiBwdWJsaWMgRXZlbnRMaXN0ZW5lciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFFdmVudExpc3RlbmVyPiBjcmVhdGUoV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIq
IGRlbGVnYXRlKTsKLSAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3Rl
bmVyJik7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBFdmVudCopOwotCi1wcml2YXRlOgotICAgIE1lZGlhRXZlbnRMaXN0ZW5lcihXZWJGdWxs
U2NyZWVuQ29udHJvbGxlciogZGVsZWdhdGUpOyAKLSAgICBXZWJGdWxsU2NyZWVuQ29udHJvbGxl
ciogZGVsZWdhdGU7Ci19OwotCiBAaW50ZXJmYWNlIFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyKFBy
aXZhdGUpCiAtICh2b2lkKV9yZXF1ZXN0RXhpdEZ1bGxzY3JlZW5XaXRoQW5pbWF0aW9uOihCT09M
KWFuaW1hdGlvbjsKIC0gKHZvaWQpX3VwZGF0ZU1lbnVBbmREb2NrRm9yRnVsbHNjcmVlbjsKQEAg
LTExNSw3ICsxMDQsNyBAQCBwcml2YXRlOgogICAgIGlmICghc2VsZikKICAgICAgICAgcmV0dXJu
IG5pbDsKICAgICBbc2VsZiB3aW5kb3dEaWRMb2FkXTsKLSAgICBfbWVkaWFFdmVudExpc3RlbmVy
ID0gTWVkaWFFdmVudExpc3RlbmVyOjpjcmVhdGUoc2VsZik7CisgICAgX21lZGlhRXZlbnRMaXN0
ZW5lciA9IFdlYkV2ZW50TGlzdGVuZXI6OmNyZWF0ZShzZWxmLCBAc2VsZWN0b3IoX3VwZGF0ZVBv
d2VyQXNzZXJ0aW9ucykpOwogICAgIHJldHVybiBzZWxmOwogICAgIAogfQpAQCAtODg0LDI4ICs4
NzMsNCBAQCBwcml2YXRlOgogfQogQGVuZAogCi0jcHJhZ21hIG1hcmsgLQotI3ByYWdtYSBtYXJr
IE1lZGlhRXZlbnRMaXN0ZW5lcgotCi1NZWRpYUV2ZW50TGlzdGVuZXI6Ok1lZGlhRXZlbnRMaXN0
ZW5lcihXZWJGdWxsU2NyZWVuQ29udHJvbGxlciogZGVsZWdhdGUpCi0gICAgOiBFdmVudExpc3Rl
bmVyKENQUEV2ZW50TGlzdGVuZXJUeXBlKQotICAgICwgZGVsZWdhdGUoZGVsZWdhdGUpCi17IAot
fQotCi1QYXNzUmVmUHRyPE1lZGlhRXZlbnRMaXN0ZW5lcj4gTWVkaWFFdmVudExpc3RlbmVyOjpj
cmVhdGUoV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIqIGRlbGVnYXRlKSAKLXsgCi0gICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBNZWRpYUV2ZW50TGlzdGVuZXIoZGVsZWdhdGUpKTsgCi19Ci0KLWJvb2wg
TWVkaWFFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImIGxpc3Rl
bmVyKQotewotICAgIHJldHVybiB0aGlzID09ICZsaXN0ZW5lcjsKLX0KLQotdm9pZCBNZWRpYUV2
ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IEV2ZW50KiBldmVudCkKLXsKLSAgICBbZGVsZWdhdGUgX3VwZGF0ZVBvd2VyQXNzZXJ0aW9uc107
Ci19Ci0KICNlbmRpZiAvKiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpICovCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk1lZGlhRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjQ1OWJlMDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYk1lZGlhRGVsZWdhdGUuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmIEVOQUJMRShWSURFTykKKworI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgorI2ltcG9ydCA8
V2ViQ29yZS9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKyAgICBjbGFzcyBIVE1MTWVkaWFFbGVtZW50OworICAgIGNsYXNzIEV2ZW50TGlzdGVu
ZXI7Cit9CisKK0BpbnRlcmZhY2UgV2ViTWVkaWFEZWxlZ2F0ZSA6IE5TT2JqZWN0PFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZT4geworICAgIFJlZlB0cjxXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50PiBfbWVkaWFFbGVtZW50OworICAgIFJlZlB0cjxXZWJDb3JlOjpFdmVudExp
c3RlbmVyPiBfbWVkaWFFdmVudExpc3RlbmVyOworfQorCistIChpZClpbml0V2l0aE1lZGlhRWxl
bWVudDooV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCopZWxlbWVudDsKKy0gKHZvaWQpc2V0TWVk
aWFFbGVtZW50OihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50KillbGVtZW50OworLSAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudCopbWVkaWFFbGVtZW50OworQGVuZAorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmVmOWIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLm1tCkBAIC0wLDAgKzEsMTk0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWYgRU5BQkxFKFZJREVPKQorCisjaW1wb3J0ICJXZWJNZWRpYURlbGVnYXRl
LmgiCisjaW1wb3J0ICJXZWJFdmVudExpc3RlbmVyLmgiCisjaW1wb3J0IDxXZWJjb3JlL0V2ZW50
TmFtZXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvSFRNTE1lZGlhRWxlbWVudC5oPgorCit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKKworQGltcGxlbWVudGF0aW9uIFdlYk1lZGlhRGVsZWdhdGUKKwor
Ly8gTUFSSzogLQorLy8gTUFSSzogSFVEIERlbGVnYXRlIGNhbGxiYWNrcworCistIChpZClpbml0
V2l0aE1lZGlhRWxlbWVudDooSFRNTE1lZGlhRWxlbWVudCopZWxlbWVudAoreworICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07CisgICAgaWYgKCFzZWxmKQorICAgICAgICByZXR1cm4gbmlsOworICAg
IAorICAgIF9tZWRpYUV2ZW50TGlzdGVuZXIgPSBXZWJFdmVudExpc3RlbmVyOjpjcmVhdGUoc2Vs
ZiwgQHNlbGVjdG9yKHJhdGVDaGFuZ2VkKSk7CisgICAgW3NlbGYgc2V0TWVkaWFFbGVtZW50OmVs
ZW1lbnRdOworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBb
c2VsZiBzZXRNZWRpYUVsZW1lbnQ6MF07CisgICAgW3N1cGVyIGRlYWxsb2NdOworfQorCistICh2
b2lkKXNldE1lZGlhRWxlbWVudDooV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCopZWxlbWVudAor
eworICAgIGlmIChlbGVtZW50ID09IF9tZWRpYUVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFdlYkNvcmU6OkV2ZW50TmFtZXMmIGV2ZW50TmFtZXMgPSBXZWJDb3JlOjpldmVudE5hbWVz
KCk7CisgICAgCisgICAgaWYgKF9tZWRpYUVsZW1lbnQpIHsKKyAgICAgICAgX21lZGlhRWxlbWVu
dC0+cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzLnBsYXlFdmVudCwgIF9tZWRpYUV2ZW50
TGlzdGVuZXIuZ2V0KCksIHRydWUpOworICAgICAgICBfbWVkaWFFbGVtZW50LT5yZW1vdmVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMucGF1c2VFdmVudCwgX21lZGlhRXZlbnRMaXN0ZW5lci5nZXQo
KSwgdHJ1ZSk7CisgICAgICAgIF9tZWRpYUVsZW1lbnQtPnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcy5lbmRlZEV2ZW50LCBfbWVkaWFFdmVudExpc3RlbmVyLmdldCgpLCB0cnVlKTsKKyAg
ICB9CisgICAgCisgICAgX21lZGlhRWxlbWVudCA9IGVsZW1lbnQ7CisgICAgCisgICAgaWYgKF9t
ZWRpYUVsZW1lbnQpIHsKKyAgICAgICAgX21lZGlhRWxlbWVudC0+YWRkRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWVzLnBsYXlFdmVudCwgIF9tZWRpYUV2ZW50TGlzdGVuZXIsIHRydWUpOworICAgICAg
ICBfbWVkaWFFbGVtZW50LT5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMucGF1c2VFdmVudCwg
X21lZGlhRXZlbnRMaXN0ZW5lciwgdHJ1ZSk7CisgICAgICAgIF9tZWRpYUVsZW1lbnQtPmFkZEV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcy5lbmRlZEV2ZW50LCBfbWVkaWFFdmVudExpc3RlbmVyLCB0
cnVlKTsKKyAgICB9Cit9CisKKy0gKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQqKW1lZGlhRWxl
bWVudAoreworICAgIHJldHVybiBfbWVkaWFFbGVtZW50LmdldCgpOworfQorCistICh2b2lkKXJl
cXVlc3RFeGl0RnVsbHNjcmVlbgoreworICAgIF9tZWRpYUVsZW1lbnQtPmV4aXRGdWxsc2NyZWVu
KCk7Cit9CisKKy0gKHZvaWQpYmVnaW5TY3J1YmJpbmcKK3sKKyAgICBpZiAoX21lZGlhRWxlbWVu
dCkKKyAgICAgICAgX21lZGlhRWxlbWVudC0+YmVnaW5TY3J1YmJpbmcoKTsKK30KKworLSAodm9p
ZCllbmRTY3J1YmJpbmcKK3sKKyAgICBpZiAoX21lZGlhRWxlbWVudCkKKyAgICAgICAgX21lZGlh
RWxlbWVudC0+ZW5kU2NydWJiaW5nKCk7Cit9CisKKy0gKGZsb2F0KWN1cnJlbnRUaW1lCit7Cisg
ICAgcmV0dXJuIF9tZWRpYUVsZW1lbnQgPyBfbWVkaWFFbGVtZW50LT5jdXJyZW50VGltZSgpIDog
MDsKK30KKworLSAodm9pZClzZXRDdXJyZW50VGltZTooZG91YmxlKWN1cnJlbnRUaW1lCit7Cisg
ICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlOworICAgIGlmIChfbWVkaWFFbGVtZW50KQorICAg
ICAgICBfbWVkaWFFbGVtZW50LT5zZXRDdXJyZW50VGltZShjdXJyZW50VGltZSwgZSk7Cit9CisK
Ky0gKGRvdWJsZSlkdXJhdGlvbgoreworICAgIHJldHVybiBfbWVkaWFFbGVtZW50ID8gX21lZGlh
RWxlbWVudC0+ZHVyYXRpb24oKSA6IDA7Cit9CisKKy0gKGZsb2F0KXZvbHVtZQoreworICAgIHJl
dHVybiBfbWVkaWFFbGVtZW50ID8gX21lZGlhRWxlbWVudC0+dm9sdW1lKCkgOiAwOworfQorCist
IChCT09MKW11dGVkCit7CisgICAgcmV0dXJuIF9tZWRpYUVsZW1lbnQgPyBfbWVkaWFFbGVtZW50
LT5tdXRlZCgpIDogTk87Cit9CisKKy0gKHZvaWQpc2V0TXV0ZWQ6KEJPT0wpbXV0ZWQKK3sKKyAg
ICBpZiAoX21lZGlhRWxlbWVudCkKKyAgICAgICAgX21lZGlhRWxlbWVudC0+c2V0TXV0ZWQobXV0
ZWQpOworfQorCistICh2b2lkKXNldFZvbHVtZTooZmxvYXQpdm9sdW1lCit7CisgICAgV2ViQ29y
ZTo6RXhjZXB0aW9uQ29kZSBlOworICAgIGlmIChfbWVkaWFFbGVtZW50KQorICAgICAgICBfbWVk
aWFFbGVtZW50LT5zZXRWb2x1bWUodm9sdW1lLCBlKTsKK30KKworLSAoQk9PTCljYW5QbGF5Cit7
CisgICAgcmV0dXJuIF9tZWRpYUVsZW1lbnQgPyBfbWVkaWFFbGVtZW50LT5jYW5QbGF5KCkgOiBO
TzsKK30KKworLSAodm9pZClwbGF5Cit7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQpCisgICAgICAg
IF9tZWRpYUVsZW1lbnQtPnBsYXkoX21lZGlhRWxlbWVudC0+cHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KCkpOworfQorCistICh2b2lkKXBhdXNlCit7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQpCisgICAg
ICAgIF9tZWRpYUVsZW1lbnQtPnBhdXNlKF9tZWRpYUVsZW1lbnQtPnByb2Nlc3NpbmdVc2VyR2Vz
dHVyZSgpKTsKK30KKworLSAodm9pZClyZXdpbmQ6KGZsb2F0KWRlbHRhCit7CisgICAgaWYgKF9t
ZWRpYUVsZW1lbnQpCisgICAgICAgIF9tZWRpYUVsZW1lbnQtPnJld2luZChkZWx0YSk7Cit9CisK
Ky0gKE5TUmVjdCltZWRpYUVsZW1lbnRTY3JlZW5SZWN0Cit7CisgICAgcmV0dXJuIF9tZWRpYUVs
ZW1lbnQgPyBfbWVkaWFFbGVtZW50LT5zY3JlZW5SZWN0KCkgOiBOU1plcm9SZWN0OworfQorCist
ICh2b2lkKXJlbGVhc2VNZWRpYUVsZW1lbnRMYXllcgoreworICAgIGlmIChfbWVkaWFFbGVtZW50
KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5zZXRQbGF0Zm9ybUxheWVyU3RvbGVuKGZhbHNlKTsK
K30KKworLSAoQ0FMYXllciopc3RlYWxNZWRpYUVsZW1lbnRMYXllcgoreworICAgIGlmIChfbWVk
aWFFbGVtZW50KSB7CisgICAgICAgIF9tZWRpYUVsZW1lbnQtPnNldFBsYXRmb3JtTGF5ZXJTdG9s
ZW4odHJ1ZSk7CisgICAgICAgIHJldHVybiBfbWVkaWFFbGVtZW50LT5mdWxsU2NyZWVuTGF5ZXIo
KTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKy0gKHZvaWQpZXhpdEZ1bGxTY3JlZW5Db21w
bGV0ZWQKK3sKKyAgICBpZiAoX21lZGlhRWxlbWVudCkKKyAgICAgICAgX21lZGlhRWxlbWVudC0+
c2V0UGxhdGZvcm1MYXllclN0b2xlbihmYWxzZSk7Cit9CisKKy0gKHZvaWQpZW50ZXJGdWxsU2Ny
ZWVuQ29tcGxldGVkCit7Cit9CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcuaAppbmRleCAxN2VmYjVlLi5iZWZkYTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcuaApAQCAtNDYsNiArNDYsNyBAQAogQGNsYXNzIFdlYkZyYW1lOwogQGNsYXNzIFdlYkZy
YW1lVmlldzsKIEBjbGFzcyBXZWJIaXN0b3J5SXRlbTsKK0BjbGFzcyBXZWJNZWRpYURlbGVnYXRl
OwogQGNsYXNzIFdlYlByZWZlcmVuY2VzOwogQGNsYXNzIFdlYlNjcmlwdE9iamVjdDsKIEBjbGFz
cyBXZWJWaWV3UHJpdmF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBl
NTRmZmY5Li5kOTk2ZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC03
Niw2ICs3Niw3IEBACiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1CaXRzLmgiCiAjaW1wb3J0ICJXZWJL
aXRWZXJzaW9uQ2hlY2tzLmgiCiAjaW1wb3J0ICJXZWJMb2NhbGl6YWJsZVN0cmluZ3MuaCIKKyNp
bXBvcnQgIldlYk1lZGlhRGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYk5TRGF0YUV4dHJhcy5oIgog
I2ltcG9ydCAiV2ViTlNEYXRhRXh0cmFzUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViTlNEaWN0aW9u
YXJ5RXh0cmFzLmgiCkBAIC0xMDMsNyArMTA0LDcgQEAKICNpbXBvcnQgIldlYlRleHRJdGVyYXRv
ci5oIgogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZVBy
aXZhdGUuaCIKLSNpbXBvcnQgIldlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oPgogI2ltcG9ydCA8Q29y
ZUZvdW5kYXRpb24vQ0ZTZXQuaD4KICNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxDb25uZWN0aW9u
Lmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CkBAIC0xNjEsNiArMTYyLDcg
QEAKICNpbXBvcnQgPFdlYkNvcmUvVGhyZWFkQ2hlY2suaD4KICNpbXBvcnQgPFdlYkNvcmUvV2Vi
Q29yZU9iakNFeHRyYXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVZpZXcuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9XaWRnZXQuaD4KICNpbXBvcnQgPFdlYktpdC9ET00uaD4KICNpbXBvcnQgPFdlYktpdC9E
T01FeHRlbnNpb25zLmg+CkBAIC0xNTc2LDExICsxNTc4LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNT
ZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIHNldHRpbmdzLT5zZXRJbnRlcmFjdGl2
ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChbc2VsZiBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5h
YmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRWYWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNh
dGlvbihbc2VsZiB2YWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlvbl0pOwogI2lmIFVT
RShBVkZPVU5EQVRJT04pCi0jaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHNldHRpbmdz
LT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBpc0FWRm91bmRhdGlvbkVuYWJs
ZWRdICYmIFtwcmVmZXJlbmNlcyBmdWxsU2NyZWVuRW5hYmxlZF0pOwotI2Vsc2UKLSAgICBzZXR0
aW5ncy0+c2V0QVZGb3VuZGF0aW9uRW5hYmxlZChmYWxzZSk7Ci0jZW5kaWYKKyAgICBzZXR0aW5n
cy0+c2V0QVZGb3VuZGF0aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgaXNBVkZvdW5kYXRpb25FbmFi
bGVkXSk7CiAjZW5kaWYKIAogICAgIC8vIEFwcGxpY2F0aW9uIENhY2hlIFByZWZlcmVuY2VzIGFy
ZSBzdG9yZWQgb24gdGhlIGdsb2JhbCBjYWNoZSBzdG9yYWdlIG1hbmFnZXIsIG5vdCBpbiBTZXR0
aW5ncy4KQEAgLTYyMDIsMjYgKzYyMDAsMjYgQEAgc3RhdGljIHZvaWQgbGF5ZXJTeW5jUnVuTG9v
cE9ic2VydmVyQ2FsbEJhY2soQ0ZSdW5Mb29wT2JzZXJ2ZXJSZWYsIENGUnVuTG9vcEFjdGkKICAg
ICBIVE1MTWVkaWFFbGVtZW50KiB2aWRlb0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFF
bGVtZW50Kj4obm9kZSk7CiAKICAgICBpZiAoX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVy
KSB7Ci0gICAgICAgIGlmIChbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIG1lZGlhRWxl
bWVudF0gPT0gdmlkZW9FbGVtZW50KSB7CisgICAgICAgIGlmIChbW19wcml2YXRlLT5mdWxsc2Ny
ZWVuQ29udHJvbGxlciBkZWxlZ2F0ZV0gbWVkaWFFbGVtZW50XSA9PSB2aWRlb0VsZW1lbnQpIHsK
ICAgICAgICAgICAgIC8vIFRoZSBiYWNrZW5kIG1heSBqdXN0IHdhcm4gdXMgdGhhdCB0aGUgdW5k
ZXJsYXlpbmcgcGxhZnRvcm1Nb3ZpZSgpCiAgICAgICAgICAgICAvLyBoYXMgY2hhbmdlZC4gSnVz
dCBmb3JjZSBhbiB1cGRhdGUuCi0gICAgICAgICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250
cm9sbGVyIHNldE1lZGlhRWxlbWVudDp2aWRlb0VsZW1lbnRdOworICAgICAgICAgICAgW19wcml2
YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBzZXR1cFZpZGVvT3ZlcmxheTpbW19wcml2YXRlLT5m
dWxsc2NyZWVuQ29udHJvbGxlciBkZWxlZ2F0ZV0gc3RlYWxNZWRpYUVsZW1lbnRMYXllcl1dOwog
ICAgICAgICAgICAgcmV0dXJuOyAvLyBObyBtb3JlIHRvIGRvLgogICAgICAgICB9CiAKICAgICAg
ICAgLy8gRmlyc3QgZXhpdCBGdWxsc2NyZWVuIGZvciB0aGUgb2xkIG1lZGlhRWxlbWVudC4KLSAg
ICAgICAgW19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBtZWRpYUVsZW1lbnRdLT5leGl0
RnVsbHNjcmVlbigpOworICAgICAgICBbW19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBk
ZWxlZ2F0ZV0gcmVxdWVzdEV4aXRGdWxsc2NyZWVuXTsKICAgICAgICAgLy8gVGhpcyBwcmV2aW91
cyBjYWxsIGhhcyB0byB0cmlnZ2VyIF9leGl0RnVsbHNjcmVlbiwKICAgICAgICAgLy8gd2hpY2gg
aGFzIHRvIGNsZWFyIF9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlci4KICAgICAgICAgQVNT
RVJUKCFfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIpOwogICAgIH0KLSAgICBpZiAoIV9w
cml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlcikgeworICAgIGlmICghX3ByaXZhdGUtPmZ1bGxz
Y3JlZW5Db250cm9sbGVyKSAKICAgICAgICAgX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVy
ID0gW1tXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFsbG9jXSBpbml0XTsKLSAgICAgICAg
W19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBzZXRNZWRpYUVsZW1lbnQ6dmlkZW9FbGVt
ZW50XTsKLSAgICAgICAgW19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBlbnRlckZ1bGxz
Y3JlZW46W1tzZWxmIHdpbmRvd10gc2NyZWVuXV07ICAgICAgICAKLSAgICB9Ci0gICAgZWxzZQot
ICAgICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIHNldE1lZGlhRWxlbWVudDp2
aWRlb0VsZW1lbnRdOworICAgICAgICAKKyAgICBXZWJNZWRpYURlbGVnYXRlKiBkZWxlZ2F0ZSA9
IFtbV2ViTWVkaWFEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhNZWRpYUVsZW1lbnQ6dmlkZW9FbGVt
ZW50XTsKKyAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIHNldERlbGVnYXRlOmRl
bGVnYXRlXTsKKyAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIGVudGVyRnVsbHNj
cmVlbjpbW3NlbGYgd2luZG93XSBzY3JlZW5dXTsgICAgIAorICAgIFtkZWxlZ2F0ZSByZWxlYXNl
XTsKIH0KIAogLSAodm9pZClfZXhpdEZ1bGxzY3JlZW4KLS0gCjEuNy40LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95570</attachid>
            <date>2011-06-01 02:44:19 -0700</date>
            <delta_ts>2011-06-01 13:31:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61843-20110601024418.patch</filename>
            <type>text/plain</type>
            <size>57335</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc3MDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzM2JkYzcwNGI1YzIwNmMx
OTY5ZGVmYTEzYmMxOTUxY2FiMjk2NjBmLi41NmM4MmI1NWRjNjc5Y2YyOGI5NmQwMjY1NTY1NzJi
OWRjYTAwODBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIzIEBACisyMDExLTA2LTAxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIExlZ2FjeSBGdWxsIFNjcmVlbiBBUEkgZm9yIFdlYktpdC4K
KworICAgICAgICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBRVEtpdCBmcm9tIHdla2l0RXhpdEZ1bGxz
Y3JlZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjE4NDMKKworICAgICAgICBNb3ZlIHRoZSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFu
ZCBXZWJWaWRlb0Z1bGxzY3JlZW5IVURDb250cm9sbGVyCisgICAgICAgIGludG8gV2ViQ29yZSwg
d2hlcmUgdGhlIGNvZGUgY2FuIGJlIHNoYXJlZCBieSBXZWJLaXQgYW5kIFdlYktpdDIuICBFeHBh
bmQKKyAgICAgICAgdGhlIHVzZSBvZiBhIHByb3RvY29sIHdyYXBwZXIgdG8gaW5zdWxhdGUgdGhl
IGNvbnRyb2xsZXJzIGZyb20gZGV0YWlscyBhYm91dAorICAgICAgICBIVE1MTWVkaWFFbGVtZW50
IGFuZCBNZWRpYVBsYXllci4KKworICAgICAgICBOb3cgdGhhdCBhbGwgbWVkaWEgY2FuIHVzZSB0
aGUgdmlkZW8gZnVsbC1zY3JlZW4gbW9kZSwgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8KKyAgICAgICAg
aW1wbGVtZW50IHRoZSB2aWRlbyBmdWxsLXNjcmVlbiBtb2RlIGluIHRlcm1zIG9mIHRoZSBhcmJp
dHJhcnktZWxlbWVudCAKKyAgICAgICAgZnVsbC1zY3JlZW4gbW9kZS4gIERpc2FibGUgdGhlIHBh
c3MtdGhyb3VnaCBjYWxscyBmcm9tIHRoZSB2aWRlbyBmdWxsLXNjcmVlbgorICAgICAgICBBUEkg
dG8gdGhlIGVsZW1lbnQgZnVsbC1zY3JlZW4gb25lLgorCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxN
ZWRpYUVsZW1lbnQpOiBBZGRlZCBpdmFyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6ZW50ZXJGdWxsc2NyZWVuKTogRG8gbm90IHBhc3MgdGhyb3VnaCB0byB0aGUgCisgICAg
ICAgICAgICBlbGVtZW50IGZ1bGwtc2NyZWVuIEFQSS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OmV4aXRGdWxsc2NyZWVuKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpwbGF0Zm9ybUxheWVyKTogUmV0dXJuIDAgaWYgb3VyIGxheWVyIGhh
cyBiZWVuICJzdG9sZW4iLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0
UGxhdGZvcm1MYXllclN0b2xlbik6IE1ha2VzIHRoZSBtZWRpYSdzIGxheWVyIHVuLQorICAgICAg
ICAgICAgcmV0cmlldmFibGUgYnkgY2FsbGVycyB0byBwbGF0Zm9ybUxheWVyKCkuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpmdWxsU2NyZWVuTGF5ZXIpOiBXaGVuIHRoZSBs
YXllciBpcyBzdG9sZW4sIHRoaXMgZnVuY3Rpb24KKyAgICAgICAgICAgIHdpbGwgcmV0dXJuIHRo
ZSBtZWRpYSdzIHBsYXRmb3JtTGF5ZXIuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxWaWRlb0VsZW1lbnQ6OnN1cHBvcnRzRnVsbHNjcmVlbik6IERvIG5vdCBwYXNzIHRo
cm91Z2ggdG8gdGhlIAorICAgICAgICAgICAgZWxlbWVudCBmdWxsLXNjcmVlbiBBUEkuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5jcHA6IAorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uOjpzdXBwb3J0c0Z1bGxzY3JlZW4pOiBXZSBub3cgY2FuCisgICAgICAgICAgICBw
bGF5IGluIGZ1bGwtc2NyZWVuIG1vZGUsIHNvIG5vdyBzYXkgc28uCisgICAgICAgICAgICAKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyLmguCisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXIubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIubW0uCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIgaW5pdF0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
IGRlYWxsb2NdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBzZXR1
cFZpZGVvT3ZlcmxheTpdKTogTm93IHRha2VzIGEgQ0FMYXllci4KKyAgICAgICAgKC1bV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlciBsYXlvdXRTdWJsYXllcnNPZkxheWVyOl0pOiBBZGRlZC4K
KyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3aW5kb3dEaWRMb2FkXSk6
IE1ha2UgdGhlIG1lZGlhIGxheWVyIGEgCisgICAgICAgICAgICBzdWJsYXllciBvZiB0aGUgY29u
dGVudCB2aWV3LCBpbnN0ZWFkIG9mIGl0cyBsYXllciBkaXJlY3RseS4KKyAgICAgICAgKC1bV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBkZWxlZ2F0ZV0pOgorICAgICAgICAoLVtXZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyIHNldERlbGVnYXRlOl0pOiBUaGUgZGVsZWdhdGUgaXMgbm93
IHJldGFpbmVkLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHdpbmRv
d0RpZEV4aXRGdWxsc2NyZWVuXSk6IE5vdGlmeSB0aGUgZGVsZWdhdGUgdGhhdAorICAgICAgICAg
ICAgdGhlIHdpbmRvdyBoYXMgZXhpdGVkIGZ1bGwgc2NyZWVuLgorICAgICAgICAoLVtXZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyIHdpbmRvd0RpZEVudGVyRnVsbHNjcmVlbl0pOiBEaXR0by4K
KyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBtZWRpYUVsZW1lbnRSZWN0
XSk6IEFzayB0aGUgZGVsZWdhdGUgaW5zdGVhZCBvZiB0aGUKKyAgICAgICAgICAgIG1lZGlhIGVs
ZW1lbnQuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgYXBwbGljYXRp
b25EaWRSZXNpZ25BY3RpdmU6XSk6IFVudXNlZCBwYXJhbS4KKyAgICAgICAgKC1bV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlciBhcHBsaWNhdGlvbkRpZENoYW5nZVNjcmVlblBhcmFtZXRlcnM6
XSk6IERpdHRvLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHVwZGF0
ZVBvd2VyQXNzZXJ0aW9uc10pOiBEbyBub3QgcmVseSBvbiBRVE1vdmllCisgICAgICAgICAgICBj
YWxscyB0byBkZXRlcm1pbmUgd2hlbiB0byBkaXNhYmxlIHNsZWVwLgorICAgICAgICAoLVtXZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIF9yZXF1ZXN0RXhpdF0pOiBSZXF1ZXN0IGV4aXQgZnJv
bSB0aGUgZGVsZWdhdGUuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIg
dXBkYXRlUGxheVN0YXRlXSk6IEFkZGVkLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5D
b250cm9sbGVyIHVwZGF0ZVRpbWVdKTogQWRkZWQuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXIgdXBkYXRlVm9sdW1lXSk6IEFkZGVkLgorICAgICAgICAoLVtXZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyIHVwZGF0ZUR1cmF0aW9uXSk6IEFkZGVkLgorICAgICAgICAo
LVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHJhdGVDaGFuZ2VkXSk6IFJlbW92ZSB0aGUg
bm90aWZpY2F0aW9uIHBhcmFtZXRlci4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJWaWRl
b0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9s
bGVyLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1
bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3cgY2FuY2VsT3BlcmF0aW9uOl0pOiBVbnVzZWQgcGFyYW0uCisgICAgICAg
IChjcmVhdGVDb250cm9sV2l0aE1lZGlhVUlDb250cm9sVHlwZSk6IFVzZSBXQ1NJIHZlcnNpb25z
IG9mIFdLQ0kgZnVuY3Rpb25zLgorICAgICAgICAoY3JlYXRlVGltZVRleHRGaWVsZCk6IERpdHRv
LgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHdpbmRv
d0RpZExvYWRdKTogRGl0dG8uCisKKyAgICAgICAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgaGF2
ZSBoYWQgdGhlaXIgaW1wbGVtZW50YXRpb25zIG1vZGlmaWVkIHNvIGFzCisgICAgICAgIHRvIHVz
ZSB0aGUgZGVsZWdhdGUgaW5zdGVhZCBvZiB0aGUgSFRNTE1lZGlhRWxlbWVudCBkaXJlY3RseS4K
KyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciB1cGRhdGVW
b2x1bWVdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxl
ciB1cGRhdGVUaW1lXSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0Nv
bnRyb2xsZXIgZW5kU2NydWJiaW5nXSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhV
RFdpbmRvd0NvbnRyb2xsZXIgdGltZWxpbmVQb3NpdGlvbkNoYW5nZWQ6XSk6CisgICAgICAgICgt
W1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgY3VycmVudFRpbWVdKToKKyAg
ICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBzZXRDdXJyZW50
VGltZTpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxl
ciBkdXJhdGlvbl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyIG1heFZvbHVtZV0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5k
b3dDb250cm9sbGVyIHZvbHVtZUNoYW5nZWQ6XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNj
cmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgc2V0Vm9sdW1lVG9aZXJvOl0pOgorICAgICAgICAoLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHNldFZvbHVtZVRvTWF4aW11bTpd
KToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBkZWNy
ZW1lbnRWb2x1bWVdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29u
dHJvbGxlciBpbmNyZW1lbnRWb2x1bWVdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVu
SFVEV2luZG93Q29udHJvbGxlciB2b2x1bWVdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2Ny
ZWVuSFVEV2luZG93Q29udHJvbGxlciBzZXRWb2x1bWU6XSk6CisgICAgICAgICgtW1dlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgdXBkYXRlUGxheUJ1dHRvbl0pOgorICAgICAg
ICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHVwZGF0ZVJhdGVdKToK
KyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciB0b2dnbGVQ
bGF5aW5nOl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9s
bGVyIHBsYXlpbmddKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29u
dHJvbGxlciBzZXRQbGF5aW5nOl0pOgorICAgICAgICAodGltZVRvU3RyaW5nKToKKyAgICAgICAg
KC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciByZW1haW5pbmdUaW1lVGV4
dF0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGVs
YXBzZWRUaW1lVGV4dF0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyIG1vdXNlRW50ZXJlZDpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVu
SFVEV2luZG93Q29udHJvbGxlciBtb3VzZUV4aXRlZDpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9G
dWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciByZXdpbmQ6XSk6CisgICAgICAgICgtW1dlYlZp
ZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgZmFzdEZvcndhcmQ6XSk6CisgICAgICAg
ICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgZXhpdEZ1bGxzY3JlZW46
XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgd2lu
ZG93RGlkRXhwb3NlOl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyIHdpbmRvd0RpZENsb3NlOl0pOgorCisgICAgICAgIFdlYldpbmRvd0FuaW1hdGlv
biBpcyBuZWVkZWQgYnkgV2ViVmlkZW9GdWxsU2NyZWVuQ29udHJvbGxlciwgc28gbW92ZSB0aGlz
CisgICAgICAgIGZpbGUgaW50byBXZWJDb3JlIGFsb25nIHdpdGggdGhlIGNvbnRyb2xsZXJzLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24uaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViV2luZG93QW5pbWF0aW9uLmguCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5tbTogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViV2luZG93QW5pbWF0aW9uLm0uCisgICAgICAgICgtW1dl
YldpbmRvd1NjYWxlQW5pbWF0aW9uIGluaXRXaXRoSGludGVkRHVyYXRpb246d2luZG93OmluaXRh
bEZyYW1lOmZpbmFsRnJhbWU6XSk6IGR1cmF0aW9uCisgICAgICAgICAgICB3YXMgcHJldmlvdXNs
eSBiZWluZyBpZ25vcmVkLgorCisgICAgICAgIEFkZGVkIHN1cHBvcnQgaW4gV0NTSSBmb3IgV0tT
SSBmdW5jdGlvbnMgbmVlZGVkIGJ5IHRoZSBtb3ZlZCBjbGFzc2VzLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW06CisKKyAgICAgICAgQWRkZWQgdGhlIHR3byBuZXcg
ZmlsZXMgbW92ZWQgaW4gZnJvbSBXZWJLaXQuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgIE5ldyBmdW5jdGlvbnMgaGF2ZSBiZWVuIGFkZGVk
IHRvIHRoZSBleHBvcnQgZmlsZS4KKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKwogMjAxMS0w
NS0zMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNWNlNmNmNTI5OGIy
NjMwNTIwZGM2YTcyNWVkODE2ODBkMDg1N2RhOC4uYmE4NWJkNTY5MDAxOTdkYWJmZjhjODc5NzY5
OTliMzRhOGI0MWMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEzNjQsNiArMTM2NCwxMCBA
QCBfd2tIVFRQQ29va2llc0ZvclVSTAogX3drSGl0VGVzdE1lZGlhVUlQYXJ0CiBfd2tJbml0aWFs
aXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0CiBfd2tNZWFzdXJlTWVkaWFVSVBh
cnQKK193a0NyZWF0ZU1lZGlhVUlCYWNrZ3JvdW5kVmlldworX3drQ3JlYXRlTWVkaWFVSUNvbnRy
b2wKK193a1dpbmRvd1NldEFscGhhCitfd2tXaW5kb3dTZXRTY2FsZWRGcmFtZQogX3drTWVkaWFD
b250cm9sbGVyVGhlbWVBdmFpbGFibGUKIF93a1BvcHVwTWVudQogX3drUVRJbmNsdWRlT25seU1v
ZGVybk1lZGlhRmlsZVR5cGVzCkBAIC0xODE0LDYgKzE4MTgsMTEgQEAgX19aTks3V2ViQ29yZTE2
SFRNTE1lZGlhRWxlbWVudDZ2b2x1bWVFdgogX19aTks3V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVu
dDdjYW5QbGF5RXYKIF9fWk5LN1dlYkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQxMnBsYXliYWNrUmF0
ZUV2CiBfX1pOSzdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50OGR1cmF0aW9uRXYKK19fWk5LN1dl
YkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQxNWZ1bGxTY3JlZW5MYXllckV2CitfX1pON1dlYkNvcmUx
NkhUTUxNZWRpYUVsZW1lbnQyMnNldFBsYXRmb3JtTGF5ZXJTdG9sZW5FYgorX19aTjdXZWJDb3Jl
MTZIVE1MTWVkaWFFbGVtZW50MTZyZXR1cm5Ub1JlYWx0aW1lRXYKK19fWk5LN1dlYkNvcmUxNkhU
TUxNZWRpYUVsZW1lbnQxMmlzRnVsbHNjcmVlbkV2Cisub2JqY19jbGFzc19uYW1lX1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIKICNlbmRpZgogCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9G
T1JfVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZjA3N2VhYzYzZGNhMWRmMDQyODNhMWJkNGMyNmRiNTcyYTM4YzViYi4u
NzQzZGM2MWExYzMwNDNhODRhZDdlNjNjYjJkYjhmOTU3MzNlNTVkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQzMyw2ICs1
NDMzLDEyIEBACiAJCUM2RjQxMDQ3MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGNDEwNDYxMzBD
NkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgKi87IH07CiAJCUNBM0JGNjdDMTBEOTlCQUUw
MEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuY3BwICovOyB9OwogCQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENB
M0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oICovOyB9OworCQlDRDgy
MDMwQTEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjAzMDYxMzk1
QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDgyMDMwQjEzOTVBQjZB
MDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODIwMzA3MTM5NUFCNkEwMEY5NTZD
NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tICovOyB9OworCQlDRDgyMDMwQzEz
OTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjAzMDgx
Mzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRDgy
MDMwRDEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
ODIwMzA5MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyLm1tICovOyB9OworCQlDRDgyMDMxMDEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93
QW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDgyMDMwRTEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLmggKi87IH07
CisJCUNEODIwMzExMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24ubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyMDMwRjEzOTVB
Q0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLm1tICovOyB9OwogCQlDREVBN0M4NDEy
NzYyMzA0MDBCODQ2REQgLyogUmVuZGVyRnVsbFNjcmVlbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFQTdDODIxMjc2MjMwNDAwQjg0NkREIC8qIFJl
bmRlckZ1bGxTY3JlZW4uaCAqLzsgfTsKIAkJQ0RFQTdDODUxMjc2MjMwNDAwQjg0NkREIC8qIFJl
bmRlckZ1bGxTY3JlZW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0RFQTdDODMxMjc2MjMwNDAwQjg0NkREIC8qIFJlbmRlckZ1bGxTY3JlZW4uY3Bw
ICovOyB9OwogCQlDRTAyRjBDNDExRTgzQUREMDBDNjY4NEEgLyogU2NyaXB0Q29udHJvbGxlckJh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMDJG
MEMzMTFFODNBREQwMEM2Njg0QSAvKiBTY3JpcHRDb250cm9sbGVyQmFzZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTk2MSw2ICsxMTk2Nywx
MiBAQAogCQlDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyog
U2Nyb2xsQW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
QW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q0RTBBRkExMUY3QkMy
NzAwOUQzODExIC8qIGZ1bGxzY3JlZW4uY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBm
dWxsc2NyZWVuLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjAzMDYxMzk1
QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyMDMwNzEzOTVBQjZBMDBGOTU2QzYgLyog
V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODIwMzA4MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRl
b0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjAzMDkxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZp
ZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVy
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyMDMwRTEzOTVBQ0U3MDBGOTU2
QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYldpbmRvd0FuaW1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RDgyMDMwRjEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViV2luZG93QW5pbWF0aW9uLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREJEOTNCQTEzMzNCRDRCMDAyNTcwRTMgLyog
ZnVsbHNjcmVlblF1aWNrVGltZS5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGZ1bGxz
Y3JlZW5RdWlja1RpbWUuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREVBN0M4
MjEyNzYyMzA0MDBCODQ2REQgLyogUmVuZGVyRnVsbFNjcmVlbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJGdWxsU2NyZWVuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNERUE3QzgzMTI3NjIzMDQwMEI4NDZERCAvKiBSZW5kZXJGdWxsU2NyZWVuLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckZ1bGxTY3JlZW4u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQxNjgsNiArMTQxODAsMTIgQEAK
IAkJNjU4MkExNDgwOTk5OUQ2QzAwQkVFQjZEIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0Q4MjAzMEUxMzk1QUNFNzAwRjk1NkM2IC8qIFdl
YldpbmRvd0FuaW1hdGlvbi5oICovLAorCQkJCUNEODIwMzBGMTM5NUFDRTcwMEY5NTZDNiAvKiBX
ZWJXaW5kb3dBbmltYXRpb24ubW0gKi8sCisJCQkJQ0Q4MjAzMDYxMzk1QUI2QTAwRjk1NkM2IC8q
IFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAqLywKKwkJCQlDRDgyMDMwNzEzOTVBQjZB
MDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSAqLywKKwkJCQlDRDgy
MDMwODEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5oICovLAorCQkJCUNEODIwMzA5MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tICovLAogCQkJCTUxRTFFQ0FEMEM5MUM1NDYwMERD
MjU1QiAvKiBBdXRvZHJhaW5lZFBvb2wubW0gKi8sCiAJCQkJNjVBNjQwRjAwNTMzQkIxRjAwODVF
Nzc3IC8qIEJsb2NrRXhjZXB0aW9ucy5oICovLAogCQkJCTY1RjgwNjk3MDU0RDlGODYwMDhCRjc3
NiAvKiBCbG9ja0V4Y2VwdGlvbnMubW0gKi8sCkBAIC0yMzAwOCw2ICsyMzAyNiw5IEBACiAJCQkJ
QjEyRDIzNkUxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCThDMEUzMzREMTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZlbERCVHJhbnNhY3Rp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCThDMEUzMzRGMTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZl
bERCV3JpdGVCYXRjaC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0Q4MjAzMEExMzk1QUI2QTAwRjk1
NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNEODIwMzBDMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDgyMDMxMDEzOTVBQ0U3MDBGOTU2QzYg
LyogV2ViV2luZG93QW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI1NzA0LDYgKzI1NzI1
LDkgQEAKIAkJCQlCMTJEMjM2RDEzNTYwMzREMDAyQTI4RDQgLyogSlNNdWx0aXBsZVRyYWNrTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QzBFMzM0QzEzOEE5MkM3MDA4REE5NEYgLyogTGV2
ZWxEQlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThDMEUzMzRFMTM4QTkyQzcw
MDhEQTk0RiAvKiBMZXZlbERCV3JpdGVCYXRjaC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDgy
MDMwQjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSBp
biBTb3VyY2VzICovLAorCQkJCUNEODIwMzBEMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1
bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q4MjAz
MTExMzk1QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tbSBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYjZkY2JlZWI1
N2NhNTNlMTZmNTk5NzM4NzhkNTJmMTU1MTcyOWI3ZC4uYmNiNWFmYzQwMmZiNjAwYzY4NWNkMzM5
YWFlYjUzYWUyM2UwMzZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCkBAIC0xNjMsNiArMTYzLDcgQEAgSFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW0KICAgICAsIG1f
cGF1c2VkSW50ZXJuYWwoZmFsc2UpCiAgICAgLCBtX3NlbmRQcm9ncmVzc0V2ZW50cyh0cnVlKQog
ICAgICwgbV9pc0Z1bGxzY3JlZW4oZmFsc2UpCisgICAgLCBtX2lzUGxhdGZvcm1MYXllclN0b2xl
bihmYWxzZSkKICAgICAsIG1fY2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGZhbHNlKQogI2lmIEVOQUJM
RShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQogICAgICwgbV9uZWVkV2lkZ2V0VXBkYXRlKGZhbHNl
KQpAQCAtMjUwNCwxNCArMjUwNSw5IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aXNGdWxsc2Ny
ZWVuKCkgY29uc3QKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsK
ICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4iKTsKLQot
I2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBpZiAoZG9jdW1lbnQoKSAmJiBkb2N1bWVu
dCgpLT5zZXR0aW5ncygpICYmIGRvY3VtZW50KCktPnNldHRpbmdzKCktPmZ1bGxTY3JlZW5FbmFi
bGVkKCkpIHsKLSAgICAgICAgZG9jdW1lbnQoKS0+cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KHRoaXMsIDAsIERvY3VtZW50OjpFeGVtcHRJRnJhbWVBbGxvd0Z1bFNjcmVlblJlcXVpcmVtZW50
KTsKKyAgICBpZiAobV9pc0Z1bGxzY3JlZW4pCiAgICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5k
aWYKLSAgICBBU1NFUlQoIW1faXNGdWxsc2NyZWVuKTsKKwogICAgIG1faXNGdWxsc2NyZWVuID0g
dHJ1ZTsKICAgICBpZiAoaGFzTWVkaWFDb250cm9scygpKQogICAgICAgICBtZWRpYUNvbnRyb2xz
KCktPmVudGVyZWRGdWxsc2NyZWVuKCk7CkBAIC0yNTI1LDEzICsyNTIxLDYgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpleGl0RnVsbHNjcmVlbigpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTE1l
ZGlhRWxlbWVudDo6ZXhpdEZ1bGxzY3JlZW4iKTsKIAotI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKLSAgICBpZiAoZG9jdW1lbnQoKSAmJiBkb2N1bWVudCgpLT5zZXR0aW5ncygpICYmIGRvY3Vt
ZW50KCktPnNldHRpbmdzKCktPmZ1bGxTY3JlZW5FbmFibGVkKCkpIHsKLSAgICAgICAgaWYgKGRv
Y3VtZW50KCktPndlYmtpdElzRnVsbFNjcmVlbigpICYmIGRvY3VtZW50KCktPndlYmtpdEN1cnJl
bnRGdWxsU2NyZWVuRWxlbWVudCgpID09IHRoaXMpCi0gICAgICAgICAgICBkb2N1bWVudCgpLT53
ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYK
ICAgICBBU1NFUlQobV9pc0Z1bGxzY3JlZW4pOwogICAgIG1faXNGdWxsc2NyZWVuID0gZmFsc2U7
CiAgICAgaWYgKGhhc01lZGlhQ29udHJvbHMoKSkKQEAgLTI1NjQsOCArMjU1MywyNSBAQCBQbGF0
Zm9ybU1lZGlhIEhUTUxNZWRpYUVsZW1lbnQ6OnBsYXRmb3JtTWVkaWEoKSBjb25zdAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIFBsYXRmb3JtTGF5ZXIqIEhUTUxNZWRpYUVsZW1l
bnQ6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogeworICAgIGlmIChtX2lzUGxhdGZvcm1MYXllclN0
b2xlbikKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXIt
PnBsYXRmb3JtTGF5ZXIoKSA6IDA7Cit9CisKK1BsYXRmb3JtTGF5ZXIqIEhUTUxNZWRpYUVsZW1l
bnQ6OmZ1bGxTY3JlZW5MYXllcigpIGNvbnN0Cit7CisgICAgaWYgKCFtX2lzUGxhdGZvcm1MYXll
clN0b2xlbikKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5
ZXItPnBsYXRmb3JtTGF5ZXIoKSA6IDA7CiB9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0
UGxhdGZvcm1MYXllclN0b2xlbihib29sIGZsYWcpCit7CisgICAgaWYgKGZsYWcgPT0gbV9pc1Bs
YXRmb3JtTGF5ZXJTdG9sZW4pCisgICAgICAgIHJldHVybjsKKyAgICBtX2lzUGxhdGZvcm1MYXll
clN0b2xlbiA9IGZsYWc7CisgICAgc2V0TmVlZHNTdHlsZVJlY2FsYyhTeW50aGV0aWNTdHlsZUNo
YW5nZSk7ICAgIAorfQogI2VuZGlmCiAKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGFzQ2xvc2Vk
Q2FwdGlvbnMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRl
eCAyNzE2MzllY2ZmZTViOTg0NTk5NmYyNzQ3ZGYwYjUzMGFhMGE5NmE1Li4wNjI3ZTk4ZWM3Nzcx
YjRiNjgyOTM3MTUzYjczMzEwNmIzNzU3NjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaApAQCAtNzIsNiArNzIsOSBAQCBwdWJsaWM6CiAgICAgUGxhdGZvcm1NZWRpYSBw
bGF0Zm9ybU1lZGlhKCkgY29uc3Q7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKKworICAgIHZvaWQgc2V0
UGxhdGZvcm1MYXllclN0b2xlbihib29sKTsKKyAgICBQbGF0Zm9ybUxheWVyKiBmdWxsU2NyZWVu
TGF5ZXIoKSBjb25zdDsKICNlbmRpZgogCiAgICAgdm9pZCBzY2hlZHVsZUxvYWQoKTsKQEAgLTQx
Nyw2ICs0MjAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zZW5kUHJvZ3Jlc3NFdmVudHMgOiAx
OwogCiAgICAgYm9vbCBtX2lzRnVsbHNjcmVlbiA6IDE7CisgICAgYm9vbCBtX2lzUGxhdGZvcm1M
YXllclN0b2xlbiA6IDE7CiAgICAgYm9vbCBtX2Nsb3NlZENhcHRpb25zVmlzaWJsZSA6IDE7CiAK
ICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxWaWRlb0VsZW1lbnQuY3BwCmluZGV4IDU5MDI3YTQxYzcwOTQ1NjI3M2FjOTAwOTg5OGUyYmRm
YWYwZWZmMzkuLjZlNjU0MjEwMTI3OTcyZTg3YTYxYjBmYTlhODQ2MzYyZTU4M2E2YWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcApAQCAtMTI5LDExICsxMjksNiBA
QCBib29sIEhUTUxWaWRlb0VsZW1lbnQ6OnN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIENoZWNrIHdpdGggdGhlIHBsYXRmb3JtIGNsaWVu
dC4KLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgaWYgKHBhZ2UtPmNocm9tZSgpLT5j
bGllbnQoKS0+c3VwcG9ydHNGdWxsU2NyZWVuRm9yRWxlbWVudCh0aGlzLCBmYWxzZSkpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi0KICAgICByZXR1cm4gcGFnZS0+Y2hyb21lKCktPmNs
aWVudCgpLT5zdXBwb3J0c0Z1bGxzY3JlZW5Gb3JOb2RlKHRoaXMpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4
IDAzMzYwNzdjM2Q3NTBiZWNmNjFlZTMwZjZkNWQ3YTJjOTU3ZjdhZDUuLjVmNTJkZTU4N2MxN2U2
ODczNzI4OGYyMjY1MmM5ODE2ZTA4ZTQ1M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0zOTcsMTIgKzM5Nyw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpwcmVwYXJlRm9yUmVuZGVyaW5n
KCkKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnN1cHBvcnRzRnVsbHNj
cmVlbigpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIHJldHVybiB0
cnVlOwotI2Vsc2UKLSAgICAvLyBGSVhNRTogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBh
c3N1bWVzIGEgUVRLaXQvUXVpY2tUaW1lIG1lZGlhIGVuZ2luZQotICAgIHJldHVybiBmYWxzZTsK
LSNlbmRpZgogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6dXBkYXRl
U3RhdGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5
c3RlbUludGVyZmFjZS5oCmluZGV4IDY5YTQyMDU1ODg4MTU5MjA4NDExNWI4MDM3NWZiYmQ4Mzc4
Y2IyZWQuLmI2MDJhNzJiMmViOGRkODc5MDdlNjVhYzI2YzAwZGI3MjgyNmNmMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uu
aApAQCAtNzAsNiArNzAsNyBAQCB0eXBlZGVmIHN0cnVjdCBfTlNSZWN0IE5TUmVjdDsKIEBjbGFz
cyBBVkFzc2V0OwogQGNsYXNzIE5TQXJyYXk7CiBAY2xhc3MgTlNCdXR0b25DZWxsOworQGNsYXNz
IE5TQ29udHJvbDsKIEBjbGFzcyBOU0RhdGE7CiBAY2xhc3MgTlNEYXRlOwogQGNsYXNzIE5TRXZl
bnQ7CkBAIC04NSwxMiArODYsMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgX05TUmVjdCBOU1JlY3Q7CiBA
Y2xhc3MgTlNVUkxSZXF1ZXN0OwogQGNsYXNzIE5TVVJMUmVzcG9uc2U7CiBAY2xhc3MgTlNWaWV3
OworQGNsYXNzIE5TV2luZG93OwogQGNsYXNzIFFUTW92aWU7CiBAY2xhc3MgUVRNb3ZpZVZpZXc7
CiAjZWxzZQogY2xhc3MgQVZBc3NldDsKIGNsYXNzIE5TQXJyYXk7CiBjbGFzcyBOU0J1dHRvbkNl
bGw7CitjbGFzcyBOU0NvbnRyb2w7CiBjbGFzcyBOU0RhdGE7CiBjbGFzcyBOU0RhdGU7CiBjbGFz
cyBOU0V2ZW50OwpAQCAtMTA3LDYgKzExMCw3IEBAIGNsYXNzIE5TVGV4dEZpZWxkQ2VsbDsKIGNs
YXNzIE5TVVJMQ29ubmVjdGlvbjsKIGNsYXNzIE5TVVJMUmVzcG9uc2U7CiBjbGFzcyBOU1ZpZXc7
CitjbGFzcyBOU1dpbmRvdzsKIGNsYXNzIFFUTW92aWU7CiBjbGFzcyBRVE1vdmllVmlldzsKICNl
bmRpZgpAQCAtMTUxLDYgKzE1NSwxMCBAQCBleHRlcm4gQk9PTCAoKndrR2V0TlNVUkxSZXNwb25z
ZU11c3RSZXZhbGlkYXRlKShOU1VSTFJlc3BvbnNlICpyZXNwb25zZSk7CiBleHRlcm4gdm9pZCAo
KndrR2V0V2hlZWxFdmVudERlbHRhcykoTlNFdmVudCosIGZsb2F0KiBkZWx0YVgsIGZsb2F0KiBk
ZWx0YVksIEJPT0wqIGNvbnRpbnVvdXMpOwogZXh0ZXJuIEJPT0wgKCp3a0hpdFRlc3RNZWRpYVVJ
UGFydCkoaW50IHBhcnQsIGludCB0aGVtZVN0eWxlLCBDR1JlY3QgYm91bmRzLCBDR1BvaW50IHBv
aW50KTsKIGV4dGVybiB2b2lkICgqd2tNZWFzdXJlTWVkaWFVSVBhcnQpKGludCBwYXJ0LCBpbnQg
dGhlbWVTdHlsZSwgQ0dSZWN0ICpib3VuZHMsIENHU2l6ZSAqbmF0dXJhbFNpemUpOworZXh0ZXJu
IE5TVmlldyAqKCp3a0NyZWF0ZU1lZGlhVUlCYWNrZ3JvdW5kVmlldykodm9pZCk7CitleHRlcm4g
TlNDb250cm9sICooKndrQ3JlYXRlTWVkaWFVSUNvbnRyb2wpKGludCk7CitleHRlcm4gdm9pZCAo
KndrV2luZG93U2V0QWxwaGEpKE5TV2luZG93ICosIGZsb2F0KTsKK2V4dGVybiB2b2lkICgqd2tX
aW5kb3dTZXRTY2FsZWRGcmFtZSkoTlNXaW5kb3cgKiwgTlNSZWN0LCBOU1JlY3QpOwogZXh0ZXJu
IEJPT0wgKCp3a01lZGlhQ29udHJvbGxlclRoZW1lQXZhaWxhYmxlKShpbnQgdGhlbWVTdHlsZSk7
CiBleHRlcm4gdm9pZCAoKndrUG9wdXBNZW51KShOU01lbnUqLCBOU1BvaW50IGxvY2F0aW9uLCBm
bG9hdCB3aWR0aCwgTlNWaWV3KiwgaW50IHNlbGVjdGVkSXRlbSwgTlNGb250Kik7CiBleHRlcm4g
dW5zaWduZWQgKCp3a1FUSW5jbHVkZU9ubHlNb2Rlcm5NZWRpYUZpbGVUeXBlcykodm9pZCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVy
ZmFjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLm1tCmluZGV4IGUxOGQxN2Q3OGMzYzZiMjBkNWZiM2M5YjUwZGI0M2M1NWZkZDI2YzIuLjcz
YzE3MmQxYzk3YWY2NGJmOTYxMWQxOTg5NDlhYzEzMmRhNDZkZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC00
Niw2ICs0NiwxMCBAQCB2b2lkICgqd2tEcmF3TWVkaWFTbGlkZXJUcmFjaykoaW50IHRoZW1lU3R5
bGUsIENHQ29udGV4dFJlZiBjb250ZXh0LCBDR1JlY3QgcmVjdAogQk9PTCAoKndrSGl0VGVzdE1l
ZGlhVUlQYXJ0KShpbnQgcGFydCwgaW50IHRoZW1lU3R5bGUsIENHUmVjdCBib3VuZHMsIENHUG9p
bnQgcG9pbnQpOwogdm9pZCAoKndrRHJhd01lZGlhVUlQYXJ0KShpbnQgcGFydCwgaW50IHRoZW1l
U3R5bGUsIENHQ29udGV4dFJlZiBjb250ZXh0LCBDR1JlY3QgcmVjdCwgdW5zaWduZWQgc3RhdGUp
Owogdm9pZCAoKndrTWVhc3VyZU1lZGlhVUlQYXJ0KShpbnQgcGFydCwgaW50IHRoZW1lU3R5bGUs
IENHUmVjdCAqYm91bmRzLCBDR1NpemUgKm5hdHVyYWxTaXplKTsKK05TVmlldyAqKCp3a0NyZWF0
ZU1lZGlhVUlCYWNrZ3JvdW5kVmlldykodm9pZCk7CitOU0NvbnRyb2wgKigqd2tDcmVhdGVNZWRp
YVVJQ29udHJvbCkoaW50KTsKK3ZvaWQgKCp3a1dpbmRvd1NldEFscGhhKShOU1dpbmRvdyAqLCBm
bG9hdCk7Cit2b2lkICgqd2tXaW5kb3dTZXRTY2FsZWRGcmFtZSkoTlNXaW5kb3cgKiwgTlNSZWN0
LCBOU1JlY3QpOwogQk9PTCAoKndrTWVkaWFDb250cm9sbGVyVGhlbWVBdmFpbGFibGUpKGludCB0
aGVtZVN0eWxlKTsKIE5TU3RyaW5nKiAoKndrR2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5
cGUpKE5TU3RyaW5nKik7CiBDRlN0cmluZ1JlZiAoKndrU2lnbmVkUHVibGljS2V5QW5kQ2hhbGxl
bmdlU3RyaW5nKSh1bnNpZ25lZCBrZXlTaXplLCBDRlN0cmluZ1JlZiBjaGFsbGVuZ2UsIENGU3Ry
aW5nUmVmIGtleURlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZmIyMjNkYWU5MDNlMTQxMjMwNDA0
YTJhOGJkNjFkYWNmNTYwYjIwNC4uMTI1NTQxZTMwNGYxOTgxMTg4OWViMmQxYTljNTMwNDBkZTk4
MDgzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNi0wMSAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBMZWdhY3kgRnVsbCBTY3JlZW4gQVBJIGZvciBXZWJLaXQuCisKKyAgICAg
ICAgUmVtb3ZlIGRlcGVuZGVuY3kgb24gUVRLaXQgZnJvbSB3ZWtpdEV4aXRGdWxsc2NyZWVuKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODQzCisK
KyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmVtb3ZlIFdlYlZp
ZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaCxjcHAKKyAgICAgICAgICAgIGFuZCBX
ZWJWaWRlb0Z1bGxzY3JlZW5XaW5kb3dDb250cm9sbGVyLmgsY3BwIGFzIHRoZXNlIGZpbGVzIHdl
cmUgbW92ZWQgaW50byBXZWJDb3JlLgorCiAyMDExLTA1LTIwICBBbmR5IEVzdGVzICA8YWVzdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFkMDYwZWNk
MWMxYWYzMzAxZDcwM2FlYTVlNzZhOTdmZjc4MDQ3ZWEuLjY5Njg3YzNmYTdiN2U1M2ZkMjkyOWIy
OTc3MjkyMjkyNTRiMTUyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMjAsMTIgKzIwLDYgQEAKIAkJMEFFQkZGNjQwRjlGQThCRTAw
MEQ0ODZCIC8qIFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tQcml2YXRlLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEFFQkZGNjIwRjlGQThCRTAwMEQ0
ODZCIC8qIFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tQcml2YXRlLm1tICovOyB9OwogCQkwRjMw
OTg1RjExRUNGRTQ1MDBGNTU5REYgLyogV2ViUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzA5ODVEMTFFQ0ZFNDQwMEY1NTlERiAv
KiBXZWJSZW5kZXJMYXllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTBGMzA5ODYwMTFFQ0ZFNDUwMEY1NTlERiAvKiBXZWJSZW5kZXJMYXllci5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzA5ODVF
MTFFQ0ZFNDUwMEY1NTlERiAvKiBXZWJSZW5kZXJMYXllci5tbSAqLzsgfTsKLQkJMEZEM0IwRjIx
MDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDNCMEVFMTA3NkMzRTkw
MDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggKi87IH07Ci0JCTBGRDNC
MEYzMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0IwRUYxMDc2
QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gKi87IH07Ci0J
CTBGRDNCMEY0MTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkQzQjBGMDEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93
Q29udHJvbGxlci5oICovOyB9OwotCQkwRkQzQjBGNTEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlk
ZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDNCMEYxMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJW
aWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tICovOyB9OwotCQkwRkQzQjBGODEw
NzZDM0Y3MDAwMzlCOTYgLyogV2ViV2luZG93QW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzQjBGNjEwNzZDM0Y3MDAwMzlCOTYgLyog
V2ViV2luZG93QW5pbWF0aW9uLmggKi87IH07Ci0JCTBGRDNCMEY5MTA3NkMzRjcwMDAzOUI5NiAv
KiBXZWJXaW5kb3dBbmltYXRpb24ubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRDNCMEY3MTA3NkMzRjcwMDAzOUI5NiAvKiBXZWJXaW5kb3dBbmltYXRp
b24ubSAqLzsgfTsKIAkJMTREODI1MkYwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNocm9tZUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREODI1
MkQwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNocm9tZUNsaWVudC5oICovOyB9OwogCQkxNEQ4MjUz
MDBBRjk1NTA5MDAwNEYwNTcgLyogV2ViQ2hyb21lQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTREODI1MkUwQUY5NTUwOTAwMDRGMDU3IC8q
IFdlYkNocm9tZUNsaWVudC5tbSAqLzsgfTsKIAkJMUEyMEQwOEIwRUQzODRGMjAwNDNGQTlGIC8q
IFF1YXJ0ekNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUEyMEQwOEEwRUQzODRGMjAwNDNGQTlGIC8qIFF1YXJ0ekNvcmUuZnJh
bWV3b3JrICovOyB9OwpAQCAtMzcyLDYgKzM2Niw5IEBACiAJCUMwQjg4RThCMTBBMDhGM0QwMEZC
QjNGNSAvKiBXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQjg4RThBMTBBMDhGM0QwMEZCQjNGNSAvKiBX
ZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlDMEM1QjNFRTExNzdBNEEwMDAyQjBBRUYgLyogV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDMEM1QjNFQzExNzdBNEEwMDAyQjBBRUYgLyogV2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQzBDNUIzRUYxMTc3QTRBMDAwMkIwQUVGIC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQzVCM0VE
MTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4ubW0gKi87IH07CisJ
CUNENUQyODJFMTM5NTQyNDQwMDUzMTk1RCAvKiBXZWJNZWRpYURlbGVnYXRlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1RDI4MkIxMzk1NDA0ODAw
NTMxOTVEIC8qIFdlYk1lZGlhRGVsZWdhdGUubW0gKi87IH07CisJCUNEOEIzMzAxMTM5NEJBQjUw
MEVEOTdBQiAvKiBXZWJFdmVudExpc3RlbmVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4QjMzMDAxMzk0QkFCNDAwRUQ5N0FCIC8qIFdlYkV2ZW50
TGlzdGVuZXIubW0gKi87IH07CisJCUNEOEIzMzAzMTM5NEJBQ0YwMEVEOTdBQiAvKiBXZWJFdmVu
dExpc3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDhCMzMwMjEzOTRCQUNGMDBFRDk3QUIgLyogV2ViRXZlbnRMaXN0ZW5lci5oICovOyB9Owog
CQlDRDhFQUM3MzExQ0FDOUEzMDA3NzQwNzUgLyogSU9LaXQuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4RUFDNzIxMUNBQzlBMzAw
Nzc0MDc1IC8qIElPS2l0LmZyYW1ld29yayAqLzsgfTsKIAkJQ0RBNjJBRTIxMjVGODdDMjAwN0ZE
MTE4IC8qIFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREE2MkFFMDEyNUY4N0MyMDA3RkQxMTggLyogV2ViRnVs
bFNjcmVlbkNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJQ0RBNjJBRTMxMjVGODdDMjAwN0ZEMTE4IC8q
IFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RBNjJBRTExMjVGODdDMjAwN0ZEMTE4IC8qIFdlYkZ1bGxTY3Jl
ZW5Db250cm9sbGVyLm1tICovOyB9OwpAQCAtNDA0LDEyICs0MDEsNiBAQAogCQkwQUVCRkY2MjBG
OUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZhdGUubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJOZXRzY2FwZUNvbnRhaW5l
ckNoZWNrUHJpdmF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYzMDk4NUQx
MUVDRkU0NDAwRjU1OURGIC8qIFdlYlJlbmRlckxheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYlJlbmRlckxheWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGMzA5ODVFMTFFQ0ZFNDUwMEY1NTlERiAvKiBXZWJSZW5kZXJMYXllci5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlJlbmRlckxheWVyLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRkQzQjBFRTEwNzZDM0U5MDAwMzlCOTYgLyogV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTBGRDNCMEVGMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5D
b250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMEZEM0IwRjAxMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRv
d0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVmlkZW9G
dWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQkwRkQzQjBGMTEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2lu
ZG93Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTBGRDNCMEY2MTA3NkMzRjcwMDAzOUI5NiAvKiBXZWJXaW5kb3dBbmlt
YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViV2luZG93QW5pbWF0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGRDNCMEY3MTA3NkMzRjcwMDAz
OUI5NiAvKiBXZWJXaW5kb3dBbmltYXRpb24ubSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpj
OyBwYXRoID0gV2ViV2luZG93QW5pbWF0aW9uLm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTE0RDgyNTJEMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNocm9tZUNsaWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxNEQ4MjUyRTBBRjk1NTA5MDAwNEYwNTcgLyogV2ViQ2hyb21l
Q2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNo
cm9tZUNsaWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyMEQwOEEwRUQz
ODRGMjAwNDNGQTlGIC8qIFF1YXJ0ekNvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBR
dWFydHpDb3JlLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1
YXJ0ekNvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtNzA0
LDYgKzY5NSwxMCBAQAogCQlDMEI4OEU4QTEwQTA4RjNEMDBGQkIzRjUgLyogV2ViRnJhbWVMb2Fk
RGVsZWdhdGVQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkZy
YW1lTG9hZERlbGVnYXRlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MEM1QjNFQzExNzdBNEEwMDAyQjBBRUYgLyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEM1QjNFRDExNzdBNEEwMDAyQjBBRUYg
LyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDRDVEMjgyQTEzOTU0MDQ3MDA1MzE5NUQgLyogV2ViTWVkaWFEZWxl
Z2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYURlbGVnYXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENUQyODJCMTM5NTQwNDgwMDUzMTk1
RCAvKiBXZWJNZWRpYURlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV2ViTWVkaWFEZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0Q4QjMzMDAxMzk0QkFCNDAwRUQ5N0FCIC8qIFdlYkV2ZW50TGlzdGVuZXIubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJFdmVudExpc3RlbmVyLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDhCMzMwMjEzOTRCQUNGMDBFRDk3QUIgLyog
V2ViRXZlbnRMaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJF
dmVudExpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEOEVBQzcyMTFD
QUM5QTMwMDc3NDA3NSAvKiBJT0tpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IElPS2l0
LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0lPS2l0LmZyYW1l
d29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJQ0RBNjJBRTAxMjVGODdDMjAw
N0ZEMTE4IC8qIFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNEQTYyQUUxMTI1Rjg3QzIwMDdGRDExOCAvKiBXZWJGdWxsU2NyZWVuQ29u
dHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkZ1
bGxTY3JlZW5Db250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE2
OCw2ICsxMTYzLDggQEAKIAkJOUM3Q0FCQkIwMTkwQTM3QzBFQ0ExNkVBIC8qIFdlYlZpZXcgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNENUQyODJBMTM5
NTQwNDcwMDUzMTk1RCAvKiBXZWJNZWRpYURlbGVnYXRlLmggKi8sCisJCQkJQ0Q1RDI4MkIxMzk1
NDA0ODAwNTMxOTVEIC8qIFdlYk1lZGlhRGVsZWdhdGUubW0gKi8sCiAJCQkJRjUyQ0E2QkQwMkRG
OUQwRjAxODYzNUNBIC8qIEhUTUwgKi8sCiAJCQkJNTFFOTRDMDcwNkMwMkNBMzAwQTlCMDlFIC8q
IFBERiAqLywKIAkJCQk4MzczNDM1QTA2MjRFRTBEMDBGM0IyODkgLyogV2ViQXJjaGl2ZS5oICov
LApAQCAtMTI1NCwxMCArMTI1MSw2IEBACiAJCQkJRjgzNEFBRDYwRTY0QjFDNzAwRTI3MzdDIC8q
IFdlYlRleHRJdGVyYXRvci5tbSAqLywKIAkJCQk1MTVFMjdDQzA0NThDODY1MDBDQTJEM0EgLyog
V2ViVUlEZWxlZ2F0ZS5oICovLAogCQkJCTY1QTdENDRBMDU2OEFCMjYwMEU3MEVGNiAvKiBXZWJV
SURlbGVnYXRlUHJpdmF0ZS5oICovLAotCQkJCTBGRDNCMEVFMTA3NkMzRTkwMDAzOUI5NiAvKiBX
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggKi8sCi0JCQkJMEZEM0IwRUYxMDc2QzNFOTAw
MDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gKi8sCi0JCQkJMEZEM0Iw
RjAxMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xs
ZXIuaCAqLywKLQkJCQkwRkQzQjBGMTEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2Ny
ZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSAqLywKIAkJCQk1MUE4QjU3OTA0MjgzNEY3MDBDQTJE
M0EgLyogV2ViVmlldy5oICovLAogCQkJCTUxQThCNTdBMDQyODM0RjcwMENBMkQzQSAvKiBXZWJW
aWV3Lm1tICovLAogCQkJCUJDMkU0NjRCMEZEOEE5NjgwMEE5RDlERSAvKiBXZWJWaWV3RGF0YS5o
ICovLApAQCAtMTI2NSw4ICsxMjU4LDggQEAKIAkJCQlCQzk3RTdFMTEwOTYzRDI2MDAxMEQzNjEg
LyogV2ViVmlld0V2ZW50SGFuZGxpbmcubW0gKi8sCiAJCQkJOTMwRDAyQkIwNjI3NUY2NDAwNzY3
MDFFIC8qIFdlYlZpZXdJbnRlcm5hbC5oICovLAogCQkJCTUxQThCNTdEMDQyODM1M0EwMENBMkQz
QSAvKiBXZWJWaWV3UHJpdmF0ZS5oICovLAotCQkJCTBGRDNCMEY2MTA3NkMzRjcwMDAzOUI5NiAv
KiBXZWJXaW5kb3dBbmltYXRpb24uaCAqLywKLQkJCQkwRkQzQjBGNzEwNzZDM0Y3MDAwMzlCOTYg
LyogV2ViV2luZG93QW5pbWF0aW9uLm0gKi8sCisJCQkJQ0Q4QjMzMDAxMzk0QkFCNDAwRUQ5N0FC
IC8qIFdlYkV2ZW50TGlzdGVuZXIubW0gKi8sCisJCQkJQ0Q4QjMzMDIxMzk0QkFDRjAwRUQ5N0FC
IC8qIFdlYkV2ZW50TGlzdGVuZXIuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gV2ViVmlldzsKIAkJ
CXBhdGggPSBtYWMvV2ViVmlldzsKQEAgLTE2MjgsMTQgKzE2MjEsMTEgQEAKIAkJCQk5Mzk4MTA4
MzA4MjRCRjAxMDA4REYwMzggLyogV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzOTgxMDE1MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJVUkxzV2l0aFRpdGxlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQzBDNUIzRUUxMTc3QTRBMDAwMkIwQUVGIC8qIFdlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEZEM0IwRjIxMDc2QzNFOTAwMDM5
Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTBGRDNCMEY0MTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4MTA3MDA4MjRCRjAxMDA4REYwMzgg
LyogV2ViVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyRTQ2NEQwRkQ4QTk2ODAwQTlEOURF
IC8qIFdlYlZpZXdEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4MTA0NjA4MjRCRjAxMDA4
REYwMzggLyogV2ViVmlld0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDlCMDgy
NEJGMDEwMDhERjAzOCAvKiBXZWJWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
OTgxMDcxMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJWaWV3UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJMEZEM0IwRjgxMDc2QzNGNzAwMDM5Qjk2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDFGNDQ4NEYxMDMzOEU4QzAwMzBFNTVFIC8qIFdlYldvcmtlcnNQ
cml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNURFRkMwQjExRDUzMzFDMDA4ODUyNzMgLyog
V2ViU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVERUZDMEMx
MUQ1MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xNjU4LDYgKzE2NDgsNyBAQAogCQkJCUJDNDJEMzI0MTMxRUQxRTAwMDc1RkE0QiAv
KiBXZWJMb2NhbGl6YWJsZVN0cmluZ3NJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjgy
OTU4RDMxMzI3MDdEMDAwMEQwRTc5IC8qIENvcnJlY3Rpb25QYW5lbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTU2ODdCREExMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQ0Q4QjMzMDMxMzk0QkFDRjAwRUQ5N0FCIC8qIFdlYkV2ZW50TGlz
dGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjAwOCwxMyArMTk5OSwxMCBAQAogCQkJCUY4MzRB
QUQ4MEU2NEIxQzcwMEUyNzM3QyAvKiBXZWJUZXh0SXRlcmF0b3IubW0gaW4gU291cmNlcyAqLywK
IAkJCQk5Mzk4MTBCRTA4MjRCRjAxMDA4REYwMzggLyogV2ViVVJMc1dpdGhUaXRsZXMubSBpbiBT
b3VyY2VzICovLAogCQkJCUMwQzVCM0VGMTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJVc2VyQ29udGVu
dFVSTFBhdHRlcm4ubW0gaW4gU291cmNlcyAqLywKLQkJCQkwRkQzQjBGMzEwNzZDM0U5MDAwMzlC
OTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CTBGRDNCMEY1MTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dD
b250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5ODExMDcwODI0QkYwMTAwOERGMDM4
IC8qIFdlYlZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzJFNDY0RTBGRDhBOTY4MDBBOUQ5
REUgLyogV2ViVmlld0RhdGEubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzk3RTdFMjEwOTYzRDI2
MDAxMEQzNjEgLyogV2ViVmlld0V2ZW50SGFuZGxpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQk5
Mzk4MTBFODA4MjRCRjAxMDA4REYwMzggLyogV2ViVmlld0ZhY3RvcnkubW0gaW4gU291cmNlcyAq
LywKLQkJCQkwRkQzQjBGOTEwNzZDM0Y3MDAwMzlCOTYgLyogV2ViV2luZG93QW5pbWF0aW9uLm0g
aW4gU291cmNlcyAqLywKIAkJCQk0MUY0NDg1MDEwMzM4RThDMDAzMEU1NUUgLyogV2ViV29ya2Vy
c1ByaXZhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQlBNURFRkMwQTExRDUzMzFDMDA4ODUyNzMg
LyogV2ViU2VjdXJpdHlPcmlnaW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQlBNURFRkMxMDExRDUz
NDNFMDA4ODUyNzMgLyogV2ViRGF0YWJhc2VRdW90YU1hbmFnZXIubW0gaW4gU291cmNlcyAqLywK
QEAgLTIwMzEsNiArMjAxOSw4IEBACiAJCQkJQkM0MkQzNEQxMzFFRDM4ODAwNzVGQTRCIC8qIFdl
YkxvY2FsaXphYmxlU3RyaW5nc0ludGVybmFsLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQjgyOTU4
RDQxMzI3MDdEMDAwMEQwRTc5IC8qIENvcnJlY3Rpb25QYW5lbC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUE1Njg3QkRCMTM1Qjc5MUEwMDc0Q0JDQiAvKiBXZWJOb2RlSGlnaGxpZ2h0ZXIubW0gaW4g
U291cmNlcyAqLywKKwkJCQlDRDhCMzMwMTEzOTRCQUI1MDBFRDk3QUIgLyogV2ViRXZlbnRMaXN0
ZW5lci5tbSBpbiBTb3VyY2VzICovLAorCQkJCUNENUQyODJFMTM5NTQyNDQwMDUzMTk1RCAvKiBX
ZWJNZWRpYURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYjVk
OTQwN2UyMjRmZjk0ZWY5OTNjYWZjZGMxY2MxMDNkMDI2YmIxNi4uYWE2YTZiNGRkMjExNjlmNGI3
MjhlMTgwMzRiYTE4NjM3ZmUzNmFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBA
CisyMDExLTA2LTAxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExlZ2FjeSBGdWxsIFNjcmVl
biBBUEkgZm9yIFdlYktpdC4KKworICAgICAgICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBRVEtpdCBm
cm9tIHdla2l0RXhpdEZ1bGxzY3JlZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjE4NDMKKworICAgICAgICBUaGUgV2ViTWVkaWFEZWxlZ2F0ZSBp
cyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBIVE1MTWVkaWFFbGVtZW50IHdoaWNoIGluc3VsYXRl
cyB0aGUgZnVsbAorICAgICAgICBzY3JlZW4gY29udHJvbGxlcnMgZnJvbSBkZXRhaWxzIGFib3V0
IEhUTUxNZWRpYUVsZW1lbnRzLgorICAgICAgICAqIFdlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5o
OiBBZGRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYk1lZGlhRGVsZWdhdGUubW06IEFkZGVkLgor
ICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIGRlYWxsb2NdKToKKyAgICAgICAgKC1bV2ViTWVk
aWFEZWxlZ2F0ZSBzZXRNZWRpYUVsZW1lbnQ6V2ViQ29yZTo6XSk6CisgICAgICAgICgtW1dlYk1l
ZGlhRGVsZWdhdGUgV2ViQ29yZTo6XSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgcmVx
dWVzdEV4aXRGdWxsc2NyZWVuXSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgYmVnaW5T
Y3J1YmJpbmddKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBlbmRTY3J1YmJpbmddKToK
KyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBjdXJyZW50VGltZV0pOgorICAgICAgICAoLVtX
ZWJNZWRpYURlbGVnYXRlIHNldEN1cnJlbnRUaW1lOl0pOgorICAgICAgICAoLVtXZWJNZWRpYURl
bGVnYXRlIGR1cmF0aW9uXSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgdm9sdW1lXSk6
CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgbXV0ZWRdKToKKyAgICAgICAgKC1bV2ViTWVk
aWFEZWxlZ2F0ZSBzZXRNdXRlZDpdKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBzZXRW
b2x1bWU6XSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgY2FuUGxheV0pOgorICAgICAg
ICAoLVtXZWJNZWRpYURlbGVnYXRlIHBsYXldKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0
ZSBwYXVzZV0pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIHJld2luZDpdKToKKyAgICAg
ICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBtZWRpYUVsZW1lbnRTY3JlZW5SZWN0XSk6CisgICAgICAg
ICgtW1dlYk1lZGlhRGVsZWdhdGUgcmVsZWFzZU1lZGlhRWxlbWVudExheWVyXSk6CisgICAgICAg
ICgtW1dlYk1lZGlhRGVsZWdhdGUgc3RlYWxNZWRpYUVsZW1lbnRMYXllcl0pOgorICAgICAgICAo
LVtXZWJNZWRpYURlbGVnYXRlIGV4aXRGdWxsU2NyZWVuQ29tcGxldGVkXSk6CisgICAgICAgICgt
W1dlYk1lZGlhRGVsZWdhdGUgZW50ZXJGdWxsU2NyZWVuQ29tcGxldGVkXSk6ICAgICAgICAKKwor
ICAgICAgICBOb3cgdGhhdCBtb3JlIHRoYW4gb25lIGNsYXNzIG5lZWRzIHRvIHVzZSBpdCwgbW92
ZSBXZWJFdmVudExpc3RlbmVyIG91dCBpbnRvIGl0cyBvd24gY2xhc3MuCisgICAgICAgICogV2Vi
Vmlldy9XZWJFdmVudExpc3RlbmVyLmg6IENvcGllZCBmcm9tIHdpdGhpbiBXZWJGdWxsU2NyZWVu
Q29udHJvbGxlci5tbS4KKyAgICAgICAgKiBXZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIubW06IENv
cGllZCBmcm9tIHdpdGhpbiBXZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbS4KKyAgICAgICAgKFdl
YkV2ZW50TGlzdGVuZXI6OldlYkV2ZW50TGlzdGVuZXIpOiBOb3cgdGFrZXMgYSBzZWxlY3RvciBh
bmQgaWQuCisgICAgICAgIChXZWJFdmVudExpc3RlbmVyOjpjcmVhdGUpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkV2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KTogRGl0dG8uCisgICAgICAgICogV2Vi
Vmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViRnVsbFNjcmVl
bkNvbnRyb2xsZXIgaW5pdF0pOiBVc2UgdGhlIG5ld2x5IHJlbmFtZWQgV2ViRXZlbnRMaXN0ZW5l
ci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbToKKyAg
ICAgICAgKEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKTogSW5pdGlhbGl6ZSBXZWJDb3JlIHZl
cnNpb25zIG9mIFdLU0kgbWV0aG9kcy4KKworICAgICAgICBOb3cgdGhhdCB0aGUgZnVsbC1zY3Jl
ZW4gY29udHJvbGxlcnMgYXJlIE1lZGlhUGxheWVyIGFnbm9zdGljLCB3ZSBjYW4gcmVtb3ZlIHRo
ZSAKKyAgICAgICAgY2hlY2tzIHRoYXQgc3BlY2lmaWNhbGx5IGRpc2FibGUgZnVsbC1zY3JlZW4g
bW9kZSBmb3IgQVZGb3VuZGF0aW9uLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF9lbnRlckZ1bGxzY3JlZW5Gb3JOb2Rl
OldlYkNvcmU6Ol0pOgorCiAyMDExLTA1LTI3ICBTdGVwaGFuaWUgTGV3aXMgIDxzbGV3aXNAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KaW5kZXggMTQyZGVmZDU4
YjUzNzY2MDUwNGY4ZWViNmQyYjZkM2QxMTlkMGY3ZS4uMTUwNTM3M2I4MjdmNzEwMDUxNzM3YTM2
MDFjODZiM2YzODU5YmFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQpAQCAtNjksNiArNjksMTAgQEAgdm9pZCBJ
bml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQogICAgIElOSVQoSGl0VGVzdE1lZGlhVUlQ
YXJ0KTsKICAgICBJTklUKEluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhv
c3QpOwogICAgIElOSVQoTWVhc3VyZU1lZGlhVUlQYXJ0KTsKKyAgICBJTklUKENyZWF0ZU1lZGlh
VUlCYWNrZ3JvdW5kVmlldyk7CisgICAgSU5JVChDcmVhdGVNZWRpYVVJQ29udHJvbCk7CisgICAg
SU5JVChXaW5kb3dTZXRBbHBoYSk7CisgICAgSU5JVChXaW5kb3dTZXRTY2FsZWRGcmFtZSk7CiAg
ICAgSU5JVChNZWRpYUNvbnRyb2xsZXJUaGVtZUF2YWlsYWJsZSk7CiAgICAgSU5JVChQb3B1cE1l
bnUpOwogICAgIElOSVQoU2V0Q0dGb250UmVuZGVyaW5nTW9kZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRXZlbnRMaXN0ZW5lci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5N2FmOThhOWQ2YWU5
ODU2Yjc3NTY0NGMzNzE4M2VjNmMwMjU5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIuaApAQCAtMCwwICsxLDM5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8V2ViQ29yZS9FdmVudExpc3RlbmVyLmg+CisjaW1wb3J0IDx3dGYv
UGFzc1JlZlB0ci5oPgorCitjbGFzcyBXZWJFdmVudExpc3RlbmVyIDogcHVibGljIFdlYkNvcmU6
OkV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkV2ZW50
TGlzdGVuZXI+IGNyZWF0ZShpZCBkZWxlZ2F0ZSwgU0VMIHNlbGVjdG9yKTsKKyAgICB2aXJ0dWFs
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBXZWJDb3JlOjpFdmVudExpc3RlbmVyJik7CisgICAgdmly
dHVhbCB2b2lkIGhhbmRsZUV2ZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBX
ZWJDb3JlOjpFdmVudCopOworICAgIAorcHJpdmF0ZToKKyAgICBXZWJFdmVudExpc3RlbmVyKGlk
IGRlbGVnYXRlLCBTRUwgc2VsZWN0b3IpOyAKKyAgICBpZCBtX2RlbGVnYXRlOworICAgIFNFTCBt
X3NlbGVjdG9yOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RXZlbnRMaXN0ZW5lci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRXZlbnRMaXN0
ZW5lci5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNWUzZDYxZDA5MzJlZjIwZjgzM2IxODk4MTA0NGI0ZjAwYTI2
NGRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJFdmVu
dExpc3RlbmVyLm1tCkBAIC0wLDAgKzEsMzQgQEAKKy8vCisvLyAgV2ViRXZlbnRMaXN0ZW5lci5j
cHAKKy8vICBXZWJLaXQKKy8vCisvLyAgQ3JlYXRlZCBieSBKZXIgTm9ibGUgb24gNS8zMC8xMS4K
Ky8vICBDb3B5cmlnaHQgMjAxMSBBcHBsZSBDb21wdXRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vCisKKyNpbXBvcnQgIldlYkV2ZW50TGlzdGVuZXIuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK1dlYkV2ZW50TGlzdGVuZXI6OldlYkV2ZW50TGlzdGVuZXIoaWQgZGVsZWdhdGUs
IFNFTCBzZWxlY3RvcikKKyAgICA6IEV2ZW50TGlzdGVuZXIoQ1BQRXZlbnRMaXN0ZW5lclR5cGUp
CisgICAgLCBtX2RlbGVnYXRlKGRlbGVnYXRlKQorICAgICwgbV9zZWxlY3RvcihzZWxlY3RvcikK
K3sgCit9CisKK1Bhc3NSZWZQdHI8V2ViRXZlbnRMaXN0ZW5lcj4gV2ViRXZlbnRMaXN0ZW5lcjo6
Y3JlYXRlKGlkIGRlbGVnYXRlLCBTRUwgc2VsZWN0b3IpIAoreyAKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYkV2ZW50TGlzdGVuZXIoZGVsZWdhdGUsIHNlbGVjdG9yKSk7IAorfQorCitib29s
IFdlYkV2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0oY29uc3QgRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIpCit7CisgICAgcmV0dXJuIHRoaXMgPT0gJmxpc3RlbmVyOworfQorCit2b2lkIFdlYkV2ZW50
TGlzdGVuZXI6OmhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV2
ZW50KiBldmVudCkKK3sKKyAgICBpZiAoW21fZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOm1f
c2VsZWN0b3JdKQorICAgICAgICBbbV9kZWxlZ2F0ZSBwZXJmb3JtU2VsZWN0b3I6bV9zZWxlY3Rv
cl07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3Jl
ZW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVu
Q29udHJvbGxlci5tbQppbmRleCA4OTk3NWY2M2QzOGIwZjk2MWFjZTBlNjA5NDM0YzMzMjg4MDRk
ZDFjLi45NjFjNmQxMWQ1NTY0MTAyYjZkMDFlNGY4ZmY2ZWYwYjA0ZjBiZGZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0K
QEAgLTI3LDkgKzI3LDkgQEAKIAogI2ltcG9ydCAiV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaCIK
IAorI2ltcG9ydCAiV2ViRXZlbnRMaXN0ZW5lci5oIgogI2ltcG9ydCAiV2ViTlNXaW5kb3dFeHRy
YXMuaCIKICNpbXBvcnQgIldlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIgotI2ltcG9ydCAiV2ViV2lu
ZG93QW5pbWF0aW9uLmgiCiAjaW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgPElP
S2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8T1NTZXJ2aWNlcy9Qb3dlci5oPgpAQCAt
NzcsMTcgKzc3LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAtIChOU1ZpZXcqKWFuaW1h
dGlvblZpZXc7CiBAZW5kCiAKLWNsYXNzIE1lZGlhRXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBFdmVu
dExpc3RlbmVyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUV2ZW50TGlz
dGVuZXI+IGNyZWF0ZShXZWJGdWxsU2NyZWVuQ29udHJvbGxlciogZGVsZWdhdGUpOwotICAgIHZp
cnR1YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEV2ZW50TGlzdGVuZXImKTsKLSAgICB2aXJ0dWFs
IHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV2ZW50Kik7Ci0KLXBy
aXZhdGU6Ci0gICAgTWVkaWFFdmVudExpc3RlbmVyKFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyKiBk
ZWxlZ2F0ZSk7IAotICAgIFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyKiBkZWxlZ2F0ZTsKLX07Ci0K
IEBpbnRlcmZhY2UgV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIoUHJpdmF0ZSkKIC0gKHZvaWQpX3Jl
cXVlc3RFeGl0RnVsbHNjcmVlbldpdGhBbmltYXRpb246KEJPT0wpYW5pbWF0aW9uOwogLSAodm9p
ZClfdXBkYXRlTWVudUFuZERvY2tGb3JGdWxsc2NyZWVuOwpAQCAtMTE1LDcgKzEwNCw3IEBAIHBy
aXZhdGU6CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIFtzZWxmIHdp
bmRvd0RpZExvYWRdOwotICAgIF9tZWRpYUV2ZW50TGlzdGVuZXIgPSBNZWRpYUV2ZW50TGlzdGVu
ZXI6OmNyZWF0ZShzZWxmKTsKKyAgICBfbWVkaWFFdmVudExpc3RlbmVyID0gV2ViRXZlbnRMaXN0
ZW5lcjo6Y3JlYXRlKHNlbGYsIEBzZWxlY3RvcihfdXBkYXRlUG93ZXJBc3NlcnRpb25zKSk7CiAg
ICAgcmV0dXJuIHNlbGY7CiAgICAgCiB9CkBAIC04ODQsMjggKzg3Myw0IEBAIHByaXZhdGU6CiB9
CiBAZW5kCiAKLSNwcmFnbWEgbWFyayAtCi0jcHJhZ21hIG1hcmsgTWVkaWFFdmVudExpc3RlbmVy
Ci0KLU1lZGlhRXZlbnRMaXN0ZW5lcjo6TWVkaWFFdmVudExpc3RlbmVyKFdlYkZ1bGxTY3JlZW5D
b250cm9sbGVyKiBkZWxlZ2F0ZSkKLSAgICA6IEV2ZW50TGlzdGVuZXIoQ1BQRXZlbnRMaXN0ZW5l
clR5cGUpCi0gICAgLCBkZWxlZ2F0ZShkZWxlZ2F0ZSkKLXsgCi19Ci0KLVBhc3NSZWZQdHI8TWVk
aWFFdmVudExpc3RlbmVyPiBNZWRpYUV2ZW50TGlzdGVuZXI6OmNyZWF0ZShXZWJGdWxsU2NyZWVu
Q29udHJvbGxlciogZGVsZWdhdGUpIAoteyAKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlh
RXZlbnRMaXN0ZW5lcihkZWxlZ2F0ZSkpOyAKLX0KLQotYm9vbCBNZWRpYUV2ZW50TGlzdGVuZXI6
Om9wZXJhdG9yPT0oY29uc3QgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIpCi17Ci0gICAgcmV0dXJu
IHRoaXMgPT0gJmxpc3RlbmVyOwotfQotCi12b2lkIE1lZGlhRXZlbnRMaXN0ZW5lcjo6aGFuZGxl
RXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXZlbnQqIGV2ZW50KQotewot
ICAgIFtkZWxlZ2F0ZSBfdXBkYXRlUG93ZXJBc3NlcnRpb25zXTsKLX0KLQogI2VuZGlmIC8qIEVO
QUJMRShGVUxMU0NSRUVOX0FQSSkgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJN
ZWRpYURlbGVnYXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU5YmUwMjkxMzEwYWY2NTllN2JlMjZlNGY1Y2Ew
ODRlYzhjMWI3YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViTWVkaWFEZWxlZ2F0ZS5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFZJREVPKQorCisjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAg
IGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CisgICAgY2xhc3MgRXZlbnRMaXN0ZW5lcjsKK30KKwor
QGludGVyZmFjZSBXZWJNZWRpYURlbGVnYXRlIDogTlNPYmplY3Q8V2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckRlbGVnYXRlPiB7CisgICAgUmVmUHRyPFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ+IF9tZWRpYUVsZW1lbnQ7CisgICAgUmVmUHRyPFdlYkNvcmU6OkV2ZW50TGlzdGVuZXI+IF9t
ZWRpYUV2ZW50TGlzdGVuZXI7Cit9CisKKy0gKGlkKWluaXRXaXRoTWVkaWFFbGVtZW50OihXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50KillbGVtZW50OworLSAodm9pZClzZXRNZWRpYUVsZW1lbnQ6
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQqKWVsZW1lbnQ7CistIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50KiltZWRpYUVsZW1lbnQ7CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmZWY5YjAxZjNj
ZDg5YTA3N2FjYmQxMGJiNWIxNGZkNDM2MWM5MzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYk1lZGlhRGVsZWdhdGUubW0KQEAgLTAsMCArMSwxOTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZiBFTkFCTEUoVklERU8pCisKKyNpbXBvcnQgIldlYk1lZGlhRGVsZWdhdGUu
aCIKKyNpbXBvcnQgIldlYkV2ZW50TGlzdGVuZXIuaCIKKyNpbXBvcnQgPFdlYmNvcmUvRXZlbnRO
YW1lcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9IVE1MTWVkaWFFbGVtZW50Lmg+CisKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOworCitAaW1wbGVtZW50YXRpb24gV2ViTWVkaWFEZWxlZ2F0ZQorCisv
LyBNQVJLOiAtCisvLyBNQVJLOiBIVUQgRGVsZWdhdGUgY2FsbGJhY2tzCisKKy0gKGlkKWluaXRX
aXRoTWVkaWFFbGVtZW50OihIVE1MTWVkaWFFbGVtZW50KillbGVtZW50Cit7CisgICAgc2VsZiA9
IFtzdXBlciBpbml0XTsKKyAgICBpZiAoIXNlbGYpCisgICAgICAgIHJldHVybiBuaWw7CisgICAg
CisgICAgX21lZGlhRXZlbnRMaXN0ZW5lciA9IFdlYkV2ZW50TGlzdGVuZXI6OmNyZWF0ZShzZWxm
LCBAc2VsZWN0b3IocmF0ZUNoYW5nZWQpKTsKKyAgICBbc2VsZiBzZXRNZWRpYUVsZW1lbnQ6ZWxl
bWVudF07CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpZGVhbGxvYworeworICAgIFtz
ZWxmIHNldE1lZGlhRWxlbWVudDowXTsKKyAgICBbc3VwZXIgZGVhbGxvY107Cit9CisKKy0gKHZv
aWQpc2V0TWVkaWFFbGVtZW50OihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50KillbGVtZW50Cit7
CisgICAgaWYgKGVsZW1lbnQgPT0gX21lZGlhRWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgV2ViQ29yZTo6RXZlbnROYW1lcyYgZXZlbnROYW1lcyA9IFdlYkNvcmU6OmV2ZW50TmFtZXMo
KTsKKyAgICAKKyAgICBpZiAoX21lZGlhRWxlbWVudCkgeworICAgICAgICBfbWVkaWFFbGVtZW50
LT5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMucGxheUV2ZW50LCAgX21lZGlhRXZlbnRM
aXN0ZW5lci5nZXQoKSwgdHJ1ZSk7CisgICAgICAgIF9tZWRpYUVsZW1lbnQtPnJlbW92ZUV2ZW50
TGlzdGVuZXIoZXZlbnROYW1lcy5wYXVzZUV2ZW50LCBfbWVkaWFFdmVudExpc3RlbmVyLmdldCgp
LCB0cnVlKTsKKyAgICAgICAgX21lZGlhRWxlbWVudC0+cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzLmVuZGVkRXZlbnQsIF9tZWRpYUV2ZW50TGlzdGVuZXIuZ2V0KCksIHRydWUpOworICAg
IH0KKyAgICAKKyAgICBfbWVkaWFFbGVtZW50ID0gZWxlbWVudDsKKyAgICAKKyAgICBpZiAoX21l
ZGlhRWxlbWVudCkgeworICAgICAgICBfbWVkaWFFbGVtZW50LT5hZGRFdmVudExpc3RlbmVyKGV2
ZW50TmFtZXMucGxheUV2ZW50LCAgX21lZGlhRXZlbnRMaXN0ZW5lciwgdHJ1ZSk7CisgICAgICAg
IF9tZWRpYUVsZW1lbnQtPmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcy5wYXVzZUV2ZW50LCBf
bWVkaWFFdmVudExpc3RlbmVyLCB0cnVlKTsKKyAgICAgICAgX21lZGlhRWxlbWVudC0+YWRkRXZl
bnRMaXN0ZW5lcihldmVudE5hbWVzLmVuZGVkRXZlbnQsIF9tZWRpYUV2ZW50TGlzdGVuZXIsIHRy
dWUpOworICAgIH0KK30KKworLSAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCopbWVkaWFFbGVt
ZW50Cit7CisgICAgcmV0dXJuIF9tZWRpYUVsZW1lbnQuZ2V0KCk7Cit9CisKKy0gKHZvaWQpcmVx
dWVzdEV4aXRGdWxsc2NyZWVuCit7CisgICAgX21lZGlhRWxlbWVudC0+ZXhpdEZ1bGxzY3JlZW4o
KTsKK30KKworLSAodm9pZCliZWdpblNjcnViYmluZworeworICAgIGlmIChfbWVkaWFFbGVtZW50
KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5iZWdpblNjcnViYmluZygpOworfQorCistICh2b2lk
KWVuZFNjcnViYmluZworeworICAgIGlmIChfbWVkaWFFbGVtZW50KQorICAgICAgICBfbWVkaWFF
bGVtZW50LT5lbmRTY3J1YmJpbmcoKTsKK30KKworLSAoZmxvYXQpY3VycmVudFRpbWUKK3sKKyAg
ICByZXR1cm4gX21lZGlhRWxlbWVudCA/IF9tZWRpYUVsZW1lbnQtPmN1cnJlbnRUaW1lKCkgOiAw
OworfQorCistICh2b2lkKXNldEN1cnJlbnRUaW1lOihkb3VibGUpY3VycmVudFRpbWUKK3sKKyAg
ICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGU7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQpCisgICAg
ICAgIF9tZWRpYUVsZW1lbnQtPnNldEN1cnJlbnRUaW1lKGN1cnJlbnRUaW1lLCBlKTsKK30KKwor
LSAoZG91YmxlKWR1cmF0aW9uCit7CisgICAgcmV0dXJuIF9tZWRpYUVsZW1lbnQgPyBfbWVkaWFF
bGVtZW50LT5kdXJhdGlvbigpIDogMDsKK30KKworLSAoZmxvYXQpdm9sdW1lCit7CisgICAgcmV0
dXJuIF9tZWRpYUVsZW1lbnQgPyBfbWVkaWFFbGVtZW50LT52b2x1bWUoKSA6IDA7Cit9CisKKy0g
KEJPT0wpbXV0ZWQKK3sKKyAgICByZXR1cm4gX21lZGlhRWxlbWVudCA/IF9tZWRpYUVsZW1lbnQt
Pm11dGVkKCkgOiBOTzsKK30KKworLSAodm9pZClzZXRNdXRlZDooQk9PTCltdXRlZAoreworICAg
IGlmIChfbWVkaWFFbGVtZW50KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5zZXRNdXRlZChtdXRl
ZCk7Cit9CisKKy0gKHZvaWQpc2V0Vm9sdW1lOihmbG9hdCl2b2x1bWUKK3sKKyAgICBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlIGU7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQpCisgICAgICAgIF9tZWRp
YUVsZW1lbnQtPnNldFZvbHVtZSh2b2x1bWUsIGUpOworfQorCistIChCT09MKWNhblBsYXkKK3sK
KyAgICByZXR1cm4gX21lZGlhRWxlbWVudCA/IF9tZWRpYUVsZW1lbnQtPmNhblBsYXkoKSA6IE5P
OworfQorCistICh2b2lkKXBsYXkKK3sKKyAgICBpZiAoX21lZGlhRWxlbWVudCkKKyAgICAgICAg
X21lZGlhRWxlbWVudC0+cGxheShfbWVkaWFFbGVtZW50LT5wcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSk7Cit9CisKKy0gKHZvaWQpcGF1c2UKK3sKKyAgICBpZiAoX21lZGlhRWxlbWVudCkKKyAgICAg
ICAgX21lZGlhRWxlbWVudC0+cGF1c2UoX21lZGlhRWxlbWVudC0+cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkpOworfQorCistICh2b2lkKXJld2luZDooZmxvYXQpZGVsdGEKK3sKKyAgICBpZiAoX21l
ZGlhRWxlbWVudCkKKyAgICAgICAgX21lZGlhRWxlbWVudC0+cmV3aW5kKGRlbHRhKTsKK30KKwor
LSAoTlNSZWN0KW1lZGlhRWxlbWVudFNjcmVlblJlY3QKK3sKKyAgICByZXR1cm4gX21lZGlhRWxl
bWVudCA/IF9tZWRpYUVsZW1lbnQtPnNjcmVlblJlY3QoKSA6IE5TWmVyb1JlY3Q7Cit9CisKKy0g
KHZvaWQpcmVsZWFzZU1lZGlhRWxlbWVudExheWVyCit7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQp
CisgICAgICAgIF9tZWRpYUVsZW1lbnQtPnNldFBsYXRmb3JtTGF5ZXJTdG9sZW4oZmFsc2UpOwor
fQorCistIChDQUxheWVyKilzdGVhbE1lZGlhRWxlbWVudExheWVyCit7CisgICAgaWYgKF9tZWRp
YUVsZW1lbnQpIHsKKyAgICAgICAgX21lZGlhRWxlbWVudC0+c2V0UGxhdGZvcm1MYXllclN0b2xl
bih0cnVlKTsKKyAgICAgICAgcmV0dXJuIF9tZWRpYUVsZW1lbnQtPmZ1bGxTY3JlZW5MYXllcigp
OworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworLSAodm9pZClleGl0RnVsbFNjcmVlbkNvbXBs
ZXRlZAoreworICAgIGlmIChfbWVkaWFFbGVtZW50KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5z
ZXRQbGF0Zm9ybUxheWVyU3RvbGVuKGZhbHNlKTsKK30KKworLSAodm9pZCllbnRlckZ1bGxTY3Jl
ZW5Db21wbGV0ZWQKK3sKK30KK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5oCmluZGV4IDE3ZWZiNWVjMTk5MzIwMzIxMzY1MGIxOTNjZjg5YjkwZjNiNmNkM2UuLmJl
ZmRhOWU2OTg2ZmYzNTQyZGVhMjYzNTcyZDQyZGVmMzA4ODNiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5oCkBAIC00Niw2ICs0Niw3IEBACiBAY2xhc3MgV2ViRnJhbWU7CiBAY2xh
c3MgV2ViRnJhbWVWaWV3OwogQGNsYXNzIFdlYkhpc3RvcnlJdGVtOworQGNsYXNzIFdlYk1lZGlh
RGVsZWdhdGU7CiBAY2xhc3MgV2ViUHJlZmVyZW5jZXM7CiBAY2xhc3MgV2ViU2NyaXB0T2JqZWN0
OwogQGNsYXNzIFdlYlZpZXdQcml2YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CmluZGV4IGU1NGZmZjljYjdhNzI1ZTMyMTdmNmU0MzIyZGMyMzZiMWMzZDY0Y2QuLmQ5OTZmYTVi
ZDBmOGQzNTA3MmUyN2Q3YjJmNmVjMTE5MzIwNDdlYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KQEAgLTc2LDYgKzc2LDcgQEAKICNpbXBvcnQgIldlYktpdFN5c3RlbUJpdHMu
aCIKICNpbXBvcnQgIldlYktpdFZlcnNpb25DaGVja3MuaCIKICNpbXBvcnQgIldlYkxvY2FsaXph
YmxlU3RyaW5ncy5oIgorI2ltcG9ydCAiV2ViTWVkaWFEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2Vi
TlNEYXRhRXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJOU0RhdGFFeHRyYXNQcml2YXRlLmgiCiAjaW1w
b3J0ICJXZWJOU0RpY3Rpb25hcnlFeHRyYXMuaCIKQEAgLTEwMyw3ICsxMDQsNyBAQAogI2ltcG9y
dCAiV2ViVGV4dEl0ZXJhdG9yLmgiCiAjaW1wb3J0ICJXZWJVSURlbGVnYXRlLmgiCiAjaW1wb3J0
ICJXZWJVSURlbGVnYXRlUHJpdmF0ZS5oIgotI2ltcG9ydCAiV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5oIgorI2ltcG9ydCA8V2ViQ29yZS9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
Lmg+CiAjaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9DRlNldC5oPgogI2ltcG9ydCA8Rm91bmRhdGlv
bi9OU1VSTENvbm5lY3Rpb24uaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4K
QEAgLTE2MSw2ICsxNjIsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9UaHJlYWRDaGVjay5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJD
b3JlVmlldy5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dpZGdldC5oPgogI2ltcG9ydCA8V2ViS2l0L0RPTS5oPgog
I2ltcG9ydCA8V2ViS2l0L0RPTUV4dGVuc2lvbnMuaD4KQEAgLTE1NzYsMTEgKzE1NzgsNyBAQCBz
dGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGlu
Z3MtPnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKFtzZWxmIGludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25FbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldFZhbGlkYXRpb25NZXNz
YWdlVGltZXJNYWduaWZpY2F0aW9uKFtzZWxmIHZhbGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZp
Y2F0aW9uXSk7CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCi0gICAgc2V0dGluZ3MtPnNldEFWRm91bmRhdGlvbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGlz
QVZGb3VuZGF0aW9uRW5hYmxlZF0gJiYgW3ByZWZlcmVuY2VzIGZ1bGxTY3JlZW5FbmFibGVkXSk7
Ci0jZWxzZQotICAgIHNldHRpbmdzLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKGZhbHNlKTsKLSNl
bmRpZgorICAgIHNldHRpbmdzLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBp
c0FWRm91bmRhdGlvbkVuYWJsZWRdKTsKICNlbmRpZgogCiAgICAgLy8gQXBwbGljYXRpb24gQ2Fj
aGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2UgbWFu
YWdlciwgbm90IGluIFNldHRpbmdzLgpAQCAtNjIwMiwyNiArNjIwMCwyNiBAQCBzdGF0aWMgdm9p
ZCBsYXllclN5bmNSdW5Mb29wT2JzZXJ2ZXJDYWxsQmFjayhDRlJ1bkxvb3BPYnNlcnZlclJlZiwg
Q0ZSdW5Mb29wQWN0aQogICAgIEhUTUxNZWRpYUVsZW1lbnQqIHZpZGVvRWxlbWVudCA9IHN0YXRp
Y19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihub2RlKTsKIAogICAgIGlmIChfcHJpdmF0ZS0+ZnVs
bHNjcmVlbkNvbnRyb2xsZXIpIHsKLSAgICAgICAgaWYgKFtfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNv
bnRyb2xsZXIgbWVkaWFFbGVtZW50XSA9PSB2aWRlb0VsZW1lbnQpIHsKKyAgICAgICAgaWYgKFtb
X3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIGRlbGVnYXRlXSBtZWRpYUVsZW1lbnRdID09
IHZpZGVvRWxlbWVudCkgewogICAgICAgICAgICAgLy8gVGhlIGJhY2tlbmQgbWF5IGp1c3Qgd2Fy
biB1cyB0aGF0IHRoZSB1bmRlcmxheWluZyBwbGFmdG9ybU1vdmllKCkKICAgICAgICAgICAgIC8v
IGhhcyBjaGFuZ2VkLiBKdXN0IGZvcmNlIGFuIHVwZGF0ZS4KLSAgICAgICAgICAgIFtfcHJpdmF0
ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIgc2V0TWVkaWFFbGVtZW50OnZpZGVvRWxlbWVudF07Cisg
ICAgICAgICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIHNldHVwVmlkZW9PdmVy
bGF5OltbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIGRlbGVnYXRlXSBzdGVhbE1lZGlh
RWxlbWVudExheWVyXV07CiAgICAgICAgICAgICByZXR1cm47IC8vIE5vIG1vcmUgdG8gZG8uCiAg
ICAgICAgIH0KIAogICAgICAgICAvLyBGaXJzdCBleGl0IEZ1bGxzY3JlZW4gZm9yIHRoZSBvbGQg
bWVkaWFFbGVtZW50LgotICAgICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIG1l
ZGlhRWxlbWVudF0tPmV4aXRGdWxsc2NyZWVuKCk7CisgICAgICAgIFtbX3ByaXZhdGUtPmZ1bGxz
Y3JlZW5Db250cm9sbGVyIGRlbGVnYXRlXSByZXF1ZXN0RXhpdEZ1bGxzY3JlZW5dOwogICAgICAg
ICAvLyBUaGlzIHByZXZpb3VzIGNhbGwgaGFzIHRvIHRyaWdnZXIgX2V4aXRGdWxsc2NyZWVuLAog
ICAgICAgICAvLyB3aGljaCBoYXMgdG8gY2xlYXIgX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9s
bGVyLgogICAgICAgICBBU1NFUlQoIV9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlcik7CiAg
ICAgfQotICAgIGlmICghX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyKSB7CisgICAgaWYg
KCFfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIpIAogICAgICAgICBfcHJpdmF0ZS0+ZnVs
bHNjcmVlbkNvbnRyb2xsZXIgPSBbW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgYWxsb2Nd
IGluaXRdOwotICAgICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIHNldE1lZGlh
RWxlbWVudDp2aWRlb0VsZW1lbnRdOwotICAgICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250
cm9sbGVyIGVudGVyRnVsbHNjcmVlbjpbW3NlbGYgd2luZG93XSBzY3JlZW5dXTsgICAgICAgIAot
ICAgIH0KLSAgICBlbHNlCi0gICAgICAgIFtfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIg
c2V0TWVkaWFFbGVtZW50OnZpZGVvRWxlbWVudF07CisgICAgICAgIAorICAgIFdlYk1lZGlhRGVs
ZWdhdGUqIGRlbGVnYXRlID0gW1tXZWJNZWRpYURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aE1lZGlh
RWxlbWVudDp2aWRlb0VsZW1lbnRdOworICAgIFtfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xs
ZXIgc2V0RGVsZWdhdGU6ZGVsZWdhdGVdOworICAgIFtfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRy
b2xsZXIgZW50ZXJGdWxsc2NyZWVuOltbc2VsZiB3aW5kb3ddIHNjcmVlbl1dOyAgICAgCisgICAg
W2RlbGVnYXRlIHJlbGVhc2VdOwogfQogCiAtICh2b2lkKV9leGl0RnVsbHNjcmVlbgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95648</attachid>
            <date>2011-06-01 13:31:17 -0700</date>
            <delta_ts>2011-06-20 12:32:12 -0700</delta_ts>
            <desc>[PATCH 1/5] [LANDED] Move Full Screen Controllers into WebCore.</desc>
            <filename>0001-Move-Full-Screen-Controllers-into-WebCore.patch</filename>
            <type>text/plain</type>
            <size>37628</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">RnJvbSBhM2U2ZjEwYmY3OTU2Y2JhNmZkMTkwYmM2NThiMzgwOWNkZmUxNmNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXIgTm9ibGUgPGplci5ub2JsZUBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMSBKdW4gMjAxMSAxMDo0OTowNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSBNb3Zl
IEZ1bGwgU2NyZWVuIENvbnRyb2xsZXJzIGludG8gV2ViQ29yZS4KClJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgoKUmVtb3ZlIGRlcGVuZGVuY3kgb24gUVRLaXQgZnJvbSB3ZWtpdEV4aXRGdWxs
c2NyZWVuKCkKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODQzCgpT
b3VyY2UvV2ViQ29yZToKCk5vIG5ldyB0ZXN0czsgdGhlIGV4aXN0aW5nIG1lZGlhIGZ1bGwgc2Ny
ZWVuIHRlc3RzIGFyZSBzdWZmaWNpZW50LgoKKiBXZWJDb3JlLmV4cC5pbjogQWRkIG5ldyBleHBv
cnRzLgoqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIHJlZmVyZW5jZXMg
dG8gbW92ZWQgZmlsZXMuCiogcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDog
QWRkIG5ldyBXQ1NJIGludGVyZmFjZXMgdG8gV0tTSSBmdW5jdGlvbnMuCiogcGxhdGZvcm0vbWFj
L1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW06CiogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oLgoqIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tLgoKVGhlIGZvbGxvd2luZyBmdW5j
dGlvbnMgaGF2ZSBoYWQgVU5VU0VEX1BBUkFNIGFkZGVkOgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5D
b250cm9sbGVyIGFwcGxpY2F0aW9uRGlkUmVzaWduQWN0aXZlOl0pOgooLVtXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyIGFwcGxpY2F0aW9uRGlkQ2hhbmdlU2NyZWVuUGFyYW1ldGVyczpdKToK
KC1bV2ViVmlkZW9GdWxsc2NyZWVuV2luZG93IG1vdXNlTW92ZWQ6XSk6CgpTb3VyY2UvV2ViS2l0
OgoKV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciwgV2ViVmlkZW9GdWxsc2NyZWVuSFVEQ29u
dHJvbGxlciwgYW5kIFdlYldpbmRvd0FuaW1hdGlvbgpoYXZlIGJlZW4gbW92ZWQgaW50byBXZWJD
b3JlLgoKKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKClNvdXJjZS9XZWJLaXQv
bWFjOgoKV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciwgV2ViVmlkZW9GdWxsc2NyZWVuSFVE
Q29udHJvbGxlciwgYW5kIFdlYldpbmRvd0FuaW1hdGlvbgpoYXZlIGJlZW4gbW92ZWQgaW50byBX
ZWJDb3JlLgoKKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CihJbml0V2Vi
Q29yZVN5c3RlbUludGVyZmFjZSk6IEFkZCBzdXBwb3J0IGZvciBmb3VyIFdLU0kgZnVuY3Rpb25z
IGluIFdDU0kuCiogV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbTogUmVtb3ZlIHVu
dXNlZCAjaW5jbHVkZS4KKiBXZWJWaWV3L1dlYlZpZXcubW06IENoYW5nZSB0aGUgaW5jbHVkZSBs
b2NhdGlvbiBvZgogICAgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oCi0tLQogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUxICsrKysr
KysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDcgKysrCiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogICB8ICAgMjQgKysrKysrKysrCiAuLi4vV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oICB8ICAgIDggKysrCiAuLi4vV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbSB8ICAgIDQgKysKIC4uLi9wbGF0Zm9y
bS9tYWN9L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAgIHwgICAgNCArLQogLi4uL3Bs
YXRmb3JtL21hY30vV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSAgfCAgICA3ICsrLQog
Li4uL21hY30vV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oICAgfCAgICAw
CiAuLi4vbWFjfS9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tICB8ICAg
MjcgKysrKysrKystLQogLi4uL3BsYXRmb3JtL21hY30vV2ViV2luZG93QW5pbWF0aW9uLmggICAg
ICAgICAgICAgfCAgICAwCiAuLi4vcGxhdGZvcm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5tbX0g
ICAgICAgICAgICB8ICAgMTAgKysrLQogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysrCiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qICAgICB8ICAgMjQgLS0tLS0tLS0tCiBTb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysrKwogLi4u
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gICAgICAgfCAgICA0ICsr
CiAuLi4vV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tICB8ICAg
IDEgLQogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tICAgICAgICAgICAgICAg
fCAgICAyICstCiAxNyBmaWxlcyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRp
b25zKC0pCiByZW5hbWUgU291cmNlL3tXZWJLaXQvbWFjL1dlYlZpZXcgPT4gV2ViQ29yZS9wbGF0
Zm9ybS9tYWN9L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAoOTclKQogcmVuYW1lIFNv
dXJjZS97V2ViS2l0L21hYy9XZWJWaWV3ID0+IFdlYkNvcmUvcGxhdGZvcm0vbWFjfS9XZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tICg5OSUpCiByZW5hbWUgU291cmNlL3tXZWJLaXQvbWFj
L1dlYlZpZXcgPT4gV2ViQ29yZS9wbGF0Zm9ybS9tYWN9L1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdp
bmRvd0NvbnRyb2xsZXIuaCAoMTAwJSkKIHJlbmFtZSBTb3VyY2Uve1dlYktpdC9tYWMvV2ViVmll
dyA9PiBXZWJDb3JlL3BsYXRmb3JtL21hY30vV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29u
dHJvbGxlci5tbSAoOTYlKQogcmVuYW1lIFNvdXJjZS97V2ViS2l0L21hYy9XZWJWaWV3ID0+IFdl
YkNvcmUvcGxhdGZvcm0vbWFjfS9XZWJXaW5kb3dBbmltYXRpb24uaCAoMTAwJSkKIHJlbmFtZSBT
b3VyY2Uve1dlYktpdC9tYWMvV2ViVmlldy9XZWJXaW5kb3dBbmltYXRpb24ubSA9PiBXZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24ubW19ICg5NiUpCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDNkNGRlNGIuLjdiYmFmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NCBAQAorMjAxMS0wNi0w
MSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIEZ1bGwgU2NyZWVuIENvbnRyb2xsZXJz
IGludG8gV2ViQ29yZS4KKworICAgICAgICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBRVEtpdCBmcm9t
IHdla2l0RXhpdEZ1bGxzY3JlZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjE4NDMKKworICAgICAgICBObyBuZXcgdGVzdHM7IHRoZSBleGlzdGlu
ZyBtZWRpYSBmdWxsIHNjcmVlbiB0ZXN0cyBhcmUgc3VmZmljaWVudC4KKworICAgICAgICAqIFdl
YkNvcmUuZXhwLmluOiBBZGQgbmV3IGV4cG9ydHMuCisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgcmVmZXJlbmNlcyB0byBtb3ZlZCBmaWxlcy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oOiBBZGQgbmV3IFdDU0kg
aW50ZXJmYWNlcyB0byBXS1NJIGZ1bmN0aW9ucy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2Vi
Q29yZVN5c3RlbUludGVyZmFjZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmguCisgICAgICAgICogcGxhdGZvcm0v
bWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW06IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0uCisgICAg
ICAgIAorICAgICAgICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBoYXZlIGhhZCBVTlVTRURfUEFS
QU0gYWRkZWQ6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgYXBwbGlj
YXRpb25EaWRSZXNpZ25BY3RpdmU6XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIgYXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJhbWV0ZXJzOl0pOgorICAgICAg
ICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5XaW5kb3cgbW91c2VNb3ZlZDpdKToKKworU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRy
b2xsZXIubW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0uCisgICAgICAgIAorICAgICAgICBUaGUg
Zm9sbG93aW5nIGZ1bmN0aW9ucyBoYXZlIGhhZCBVTlVTRURfUEFSQU0gYWRkZWQ6CisgICAgICAg
ICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvdyBjYW5jZWxPcGVyYXRpb246XSk6CisgICAg
ICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgdGltZWxpbmVQb3Np
dGlvbkNoYW5nZWQ6XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0Nv
bnRyb2xsZXIgc2V0Vm9sdW1lVG9aZXJvOl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3Jl
ZW5IVURXaW5kb3dDb250cm9sbGVyIHNldFZvbHVtZVRvTWF4aW11bTpdKToKKyAgICAgICAgKC1b
V2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciB0b2dnbGVQbGF5aW5nOl0pOgor
ICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIG1vdXNlRW50
ZXJlZDpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxl
ciBtb3VzZUV4aXRlZDpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93
Q29udHJvbGxlciByZXdpbmQ6XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdp
bmRvd0NvbnRyb2xsZXIgZmFzdEZvcndhcmQ6XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNj
cmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgd2luZG93RGlkRXhwb3NlOl0pOgorICAgICAgICAoLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHdpbmRvd0RpZENsb3NlOl0pOgor
CisgICAgICAgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGhhdmUgaGFkIFdLU0kgY2FsbHMgY29u
dmVydGVkIHRvIFdDU0kgb25lczoKKyAgICAgICAgKGNyZWF0ZUNvbnRyb2xXaXRoTWVkaWFVSUNv
bnRyb2xUeXBlKToKKyAgICAgICAgKGNyZWF0ZVRpbWVUZXh0RmllbGQpOgorICAgICAgICAKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViV2luZG93QW5pbWF0aW9uLmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0FuaW1hdGlvbi5oLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24ubW06IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0FuaW1hdGlvbi5tLgorICAgICAgICAoV2ViV2lu
ZG93QW5pbWF0aW9uRHVyYXRpb25Gcm9tRHVyYXRpb24pOgorCisgICAgICAgIFRoZSBmb2xsb3dp
bmcgZnVuY3Rpb25zIGhhdmUgaGFkIFdLU0kgY2FsbHMgY29udmVydGVkIHRvIFdDU0kgb25lczoK
KyAgICAgICAgKC1bV2ViV2luZG93U2NhbGVBbmltYXRpb24gc2V0Q3VycmVudFByb2dyZXNzOl0p
OgorICAgICAgICAoLVtXZWJXaW5kb3dGYWRlQW5pbWF0aW9uIGluaXRXaXRoRHVyYXRpb246d2lu
ZG93OmluaXRpYWxBbHBoYTpmaW5hbEFscGhhOl0pOgorCiAyMDExLTA1LTMwICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3Rl
aW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDVjZTZjZjUuLjA2NjYzMzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCkBAIC0xMzY0LDYgKzEzNjQsMTAgQEAgX3drSFRUUENvb2tpZXNGb3JVUkwKIF93
a0hpdFRlc3RNZWRpYVVJUGFydAogX3drSW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlvbkNv
dW50UGVySG9zdAogX3drTWVhc3VyZU1lZGlhVUlQYXJ0Citfd2tDcmVhdGVNZWRpYVVJQmFja2dy
b3VuZFZpZXcKK193a0NyZWF0ZU1lZGlhVUlDb250cm9sCitfd2tXaW5kb3dTZXRBbHBoYQorX3dr
V2luZG93U2V0U2NhbGVkRnJhbWUKIF93a01lZGlhQ29udHJvbGxlclRoZW1lQXZhaWxhYmxlCiBf
d2tQb3B1cE1lbnUKIF93a1FUSW5jbHVkZU9ubHlNb2Rlcm5NZWRpYUZpbGVUeXBlcwpAQCAtMTgx
NCw2ICsxODE4LDkgQEAgX19aTks3V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVudDZ2b2x1bWVFdgog
X19aTks3V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVudDdjYW5QbGF5RXYKIF9fWk5LN1dlYkNvcmUx
NkhUTUxNZWRpYUVsZW1lbnQxMnBsYXliYWNrUmF0ZUV2CiBfX1pOSzdXZWJDb3JlMTZIVE1MTWVk
aWFFbGVtZW50OGR1cmF0aW9uRXYKK19fWk43V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVudDE2cmV0
dXJuVG9SZWFsdGltZUV2CitfX1pOSzdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50MTJpc0Z1bGxz
Y3JlZW5FdgorLm9iamNfY2xhc3NfbmFtZV9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyCiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwNzdlYWMu
Ljc0M2RjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTU0MzMsNiArNTQzMywxMiBAQAogCQlDNkY0MTA0NzEzMEM2RTg5MDAz
OTNERTQgLyogRW50cnlCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM2RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwICov
OyB9OwogCQlDQTNCRjY3QzEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0IxMEQ5
OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0UxMEQ5
OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xs
QW5pbWF0b3IuaCAqLzsgfTsKKwkJQ0Q4MjAzMEExMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEODIwMzA2MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQ0Q4MjAzMEIxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDgyMDMwNzEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ci5tbSAqLzsgfTsKKwkJQ0Q4MjAzMEMxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNj
cmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEODIwMzA4MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q4MjAzMEQxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyMDMwOTEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlk
ZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSAqLzsgfTsKKwkJQ0Q4MjAzMTAxMzk1
QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjAzMEUxMzk1QUNFNzAwRjk1NkM2IC8qIFdl
YldpbmRvd0FuaW1hdGlvbi5oICovOyB9OworCQlDRDgyMDMxMTEzOTVBQ0U3MDBGOTU2QzYgLyog
V2ViV2luZG93QW5pbWF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q4MjAzMEYxMzk1QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlv
bi5tbSAqLzsgfTsKIAkJQ0RFQTdDODQxMjc2MjMwNDAwQjg0NkREIC8qIFJlbmRlckZ1bGxTY3Jl
ZW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERUE3
QzgyMTI3NjIzMDQwMEI4NDZERCAvKiBSZW5kZXJGdWxsU2NyZWVuLmggKi87IH07CiAJCUNERUE3
Qzg1MTI3NjIzMDQwMEI4NDZERCAvKiBSZW5kZXJGdWxsU2NyZWVuLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERUE3QzgzMTI3NjIzMDQwMEI4NDZE
RCAvKiBSZW5kZXJGdWxsU2NyZWVuLmNwcCAqLzsgfTsKIAkJQ0UwMkYwQzQxMUU4M0FERDAwQzY2
ODRBIC8qIFNjcmlwdENvbnRyb2xsZXJCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTAyRjBDMzExRTgzQUREMDBDNjY4NEEgLyogU2NyaXB0Q29u
dHJvbGxlckJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMTE5NjEsNiArMTE5NjcsMTIgQEAKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUz
IC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Ez
QkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNENEUwQUZBMTFGN0JDMjcwMDlEMzgxMSAvKiBmdWxsc2NyZWVuLmNzcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gZnVsbHNjcmVlbi5jc3M7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNEODIwMzA2MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4
MjAzMDcxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDgyMDMwODEz
OTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5IVURX
aW5kb3dDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEODIwMzA5
MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVy
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViVmlkZW9GdWxs
c2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0Q4MjAzMEUxMzk1QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJXaW5kb3dBbmltYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q4MjAzMEYxMzk1QUNFNzAwRjk1NkM2IC8qIFdlYldp
bmRvd0FuaW1hdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdlYldpbmRvd0FuaW1hdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RC
RDkzQkExMzMzQkQ0QjAwMjU3MEUzIC8qIGZ1bGxzY3JlZW5RdWlja1RpbWUuY3NzICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5jc3M7IHBhdGggPSBmdWxsc2NyZWVuUXVpY2tUaW1lLmNzczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTdDODIxMjc2MjMwNDAwQjg0NkREIC8qIFJlbmRlckZ1bGxT
Y3JlZW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyRnVsbFNjcmVl
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREVBN0M4MzEyNzYyMzA0MDBCODQ2
REQgLyogUmVuZGVyRnVsbFNjcmVlbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJGdWxsU2NyZWVuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE0MTY4LDYgKzE0MTgwLDEyIEBACiAJCTY1ODJBMTQ4MDk5OTlENkMwMEJFRUI2RCAvKiBt
YWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNEODIw
MzBFMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24uaCAqLywKKwkJCQlDRDgy
MDMwRjEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLm1tICovLAorCQkJCUNE
ODIwMzA2MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmgg
Ki8sCisJCQkJQ0Q4MjAzMDcxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIubW0gKi8sCisJCQkJQ0Q4MjAzMDgxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaCAqLywKKwkJCQlDRDgyMDMwOTEzOTVBQjZB
MDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSAqLywK
IAkJCQk1MUUxRUNBRDBDOTFDNTQ2MDBEQzI1NUIgLyogQXV0b2RyYWluZWRQb29sLm1tICovLAog
CQkJCTY1QTY0MEYwMDUzM0JCMUYwMDg1RTc3NyAvKiBCbG9ja0V4Y2VwdGlvbnMuaCAqLywKIAkJ
CQk2NUY4MDY5NzA1NEQ5Rjg2MDA4QkY3NzYgLyogQmxvY2tFeGNlcHRpb25zLm1tICovLApAQCAt
MjMwMDgsNiArMjMwMjYsOSBAQAogCQkJCUIxMkQyMzZFMTM1NjAzNEQwMDJBMjhENCAvKiBKU011
bHRpcGxlVHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QzBFMzM0RDEzOEE5MkM3MDA4
REE5NEYgLyogTGV2ZWxEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QzBFMzM0
RjEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRlQmF0Y2guaCBpbiBIZWFkZXJzICovLAor
CQkJCUNEODIwMzBBMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDgyMDMwQzEzOTVBQjZBMDBGOTU2QzYgLyogV2Vi
VmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0Q4MjAzMTAxMzk1QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkBAIC0yNTcwNCw2ICsyNTcyNSw5IEBACiAJCQkJQjEyRDIzNkQxMzU2MDM0RDAwMkEy
OEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEMwRTMz
NEMxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJUcmFuc2FjdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk4QzBFMzM0RTEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRlQmF0Y2guY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q4MjAzMEIxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDgyMDMwRDEzOTVB
QjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSBp
biBTb3VyY2VzICovLAorCQkJCUNEODIwMzExMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dB
bmltYXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCmluZGV4IDY5YTQyMDUuLmI2MDJhNzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1J
bnRlcmZhY2UuaApAQCAtNzAsNiArNzAsNyBAQCB0eXBlZGVmIHN0cnVjdCBfTlNSZWN0IE5TUmVj
dDsKIEBjbGFzcyBBVkFzc2V0OwogQGNsYXNzIE5TQXJyYXk7CiBAY2xhc3MgTlNCdXR0b25DZWxs
OworQGNsYXNzIE5TQ29udHJvbDsKIEBjbGFzcyBOU0RhdGE7CiBAY2xhc3MgTlNEYXRlOwogQGNs
YXNzIE5TRXZlbnQ7CkBAIC04NSwxMiArODYsMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgX05TUmVjdCBO
U1JlY3Q7CiBAY2xhc3MgTlNVUkxSZXF1ZXN0OwogQGNsYXNzIE5TVVJMUmVzcG9uc2U7CiBAY2xh
c3MgTlNWaWV3OworQGNsYXNzIE5TV2luZG93OwogQGNsYXNzIFFUTW92aWU7CiBAY2xhc3MgUVRN
b3ZpZVZpZXc7CiAjZWxzZQogY2xhc3MgQVZBc3NldDsKIGNsYXNzIE5TQXJyYXk7CiBjbGFzcyBO
U0J1dHRvbkNlbGw7CitjbGFzcyBOU0NvbnRyb2w7CiBjbGFzcyBOU0RhdGE7CiBjbGFzcyBOU0Rh
dGU7CiBjbGFzcyBOU0V2ZW50OwpAQCAtMTA3LDYgKzExMCw3IEBAIGNsYXNzIE5TVGV4dEZpZWxk
Q2VsbDsKIGNsYXNzIE5TVVJMQ29ubmVjdGlvbjsKIGNsYXNzIE5TVVJMUmVzcG9uc2U7CiBjbGFz
cyBOU1ZpZXc7CitjbGFzcyBOU1dpbmRvdzsKIGNsYXNzIFFUTW92aWU7CiBjbGFzcyBRVE1vdmll
VmlldzsKICNlbmRpZgpAQCAtMTUxLDYgKzE1NSwxMCBAQCBleHRlcm4gQk9PTCAoKndrR2V0TlNV
UkxSZXNwb25zZU11c3RSZXZhbGlkYXRlKShOU1VSTFJlc3BvbnNlICpyZXNwb25zZSk7CiBleHRl
cm4gdm9pZCAoKndrR2V0V2hlZWxFdmVudERlbHRhcykoTlNFdmVudCosIGZsb2F0KiBkZWx0YVgs
IGZsb2F0KiBkZWx0YVksIEJPT0wqIGNvbnRpbnVvdXMpOwogZXh0ZXJuIEJPT0wgKCp3a0hpdFRl
c3RNZWRpYVVJUGFydCkoaW50IHBhcnQsIGludCB0aGVtZVN0eWxlLCBDR1JlY3QgYm91bmRzLCBD
R1BvaW50IHBvaW50KTsKIGV4dGVybiB2b2lkICgqd2tNZWFzdXJlTWVkaWFVSVBhcnQpKGludCBw
YXJ0LCBpbnQgdGhlbWVTdHlsZSwgQ0dSZWN0ICpib3VuZHMsIENHU2l6ZSAqbmF0dXJhbFNpemUp
OworZXh0ZXJuIE5TVmlldyAqKCp3a0NyZWF0ZU1lZGlhVUlCYWNrZ3JvdW5kVmlldykodm9pZCk7
CitleHRlcm4gTlNDb250cm9sICooKndrQ3JlYXRlTWVkaWFVSUNvbnRyb2wpKGludCk7CitleHRl
cm4gdm9pZCAoKndrV2luZG93U2V0QWxwaGEpKE5TV2luZG93ICosIGZsb2F0KTsKK2V4dGVybiB2
b2lkICgqd2tXaW5kb3dTZXRTY2FsZWRGcmFtZSkoTlNXaW5kb3cgKiwgTlNSZWN0LCBOU1JlY3Qp
OwogZXh0ZXJuIEJPT0wgKCp3a01lZGlhQ29udHJvbGxlclRoZW1lQXZhaWxhYmxlKShpbnQgdGhl
bWVTdHlsZSk7CiBleHRlcm4gdm9pZCAoKndrUG9wdXBNZW51KShOU01lbnUqLCBOU1BvaW50IGxv
Y2F0aW9uLCBmbG9hdCB3aWR0aCwgTlNWaWV3KiwgaW50IHNlbGVjdGVkSXRlbSwgTlNGb250Kik7
CiBleHRlcm4gdW5zaWduZWQgKCp3a1FUSW5jbHVkZU9ubHlNb2Rlcm5NZWRpYUZpbGVUeXBlcyko
dm9pZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5
c3RlbUludGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lz
dGVtSW50ZXJmYWNlLm1tCmluZGV4IGUxOGQxN2QuLjczYzE3MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC00
Niw2ICs0NiwxMCBAQCB2b2lkICgqd2tEcmF3TWVkaWFTbGlkZXJUcmFjaykoaW50IHRoZW1lU3R5
bGUsIENHQ29udGV4dFJlZiBjb250ZXh0LCBDR1JlY3QgcmVjdAogQk9PTCAoKndrSGl0VGVzdE1l
ZGlhVUlQYXJ0KShpbnQgcGFydCwgaW50IHRoZW1lU3R5bGUsIENHUmVjdCBib3VuZHMsIENHUG9p
bnQgcG9pbnQpOwogdm9pZCAoKndrRHJhd01lZGlhVUlQYXJ0KShpbnQgcGFydCwgaW50IHRoZW1l
U3R5bGUsIENHQ29udGV4dFJlZiBjb250ZXh0LCBDR1JlY3QgcmVjdCwgdW5zaWduZWQgc3RhdGUp
Owogdm9pZCAoKndrTWVhc3VyZU1lZGlhVUlQYXJ0KShpbnQgcGFydCwgaW50IHRoZW1lU3R5bGUs
IENHUmVjdCAqYm91bmRzLCBDR1NpemUgKm5hdHVyYWxTaXplKTsKK05TVmlldyAqKCp3a0NyZWF0
ZU1lZGlhVUlCYWNrZ3JvdW5kVmlldykodm9pZCk7CitOU0NvbnRyb2wgKigqd2tDcmVhdGVNZWRp
YVVJQ29udHJvbCkoaW50KTsKK3ZvaWQgKCp3a1dpbmRvd1NldEFscGhhKShOU1dpbmRvdyAqLCBm
bG9hdCk7Cit2b2lkICgqd2tXaW5kb3dTZXRTY2FsZWRGcmFtZSkoTlNXaW5kb3cgKiwgTlNSZWN0
LCBOU1JlY3QpOwogQk9PTCAoKndrTWVkaWFDb250cm9sbGVyVGhlbWVBdmFpbGFibGUpKGludCB0
aGVtZVN0eWxlKTsKIE5TU3RyaW5nKiAoKndrR2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5
cGUpKE5TU3RyaW5nKik7CiBDRlN0cmluZ1JlZiAoKndrU2lnbmVkUHVibGljS2V5QW5kQ2hhbGxl
bmdlU3RyaW5nKSh1bnNpZ25lZCBrZXlTaXplLCBDRlN0cmluZ1JlZiBjaGFsbGVuZ2UsIENGU3Ry
aW5nUmVmIGtleURlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaApzaW1pbGFyaXR5IGluZGV4
IDk3JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXIuaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaAppbmRleCA3Zjc4N2I4Li4yNjYyZTNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlci5oCkBAIC01Miw4ICs1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB1aW50MzJfdCBfaWRsZURpc3BsYXlTbGVlcEFzc2VydGlvbjsKICAgICB1aW50MzJfdCBfaWRs
ZVN5c3RlbVNsZWVwQXNzZXJ0aW9uOwogICAgIE5TVGltZXIgKl90aWNrbGVUaW1lcjsKLSAgICBT
eXN0ZW1VSU1vZGUgX3NhdmVkVUlNb2RlOwotICAgIFN5c3RlbVVJT3B0aW9ucyBfc2F2ZWRVSU9w
dGlvbnM7CisgICAgdWludDMyX3QgX3NhdmVkVUlNb2RlOworICAgIHVpbnQzMl90IF9zYXZlZFVJ
T3B0aW9uczsKIH0KIAogLSAoaWQgPFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0
ZT4pZGVsZWdhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQpzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5h
bWUgZnJvbSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXIubW0KcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyLm1tCmluZGV4IGY5ZTM2ZDcuLjA2YTZiZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5tbQpAQCAtMjMsMTMgKzIzLDE1IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAorI2ltcG9ydCAiY29uZmlnLmgiCisKICNpZiBFTkFCTEUoVklERU8p
CiAKICNpbXBvcnQgIldlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCIKIAotI2ltcG9ydCAi
V2ViVHlwZXNJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93
Q29udHJvbGxlci5oIgogI2ltcG9ydCAiV2ViV2luZG93QW5pbWF0aW9uLmgiCisjaW1wb3J0IDxI
SVRvb2xib3gvTWFjQXBwbGljYXRpb24uaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxp
Yi5oPgogI2ltcG9ydCA8T1NTZXJ2aWNlcy9Qb3dlci5oPgogI2ltcG9ydCA8UVRLaXQvUVRLaXQu
aD4KQEAgLTIyMSw2ICsyMjMsNyBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlja2xl
VGltZXJJbnRlcnZhbCA9IDEuMDsKIAogLSAodm9pZClhcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2
ZTooTlNOb3RpZmljYXRpb24qKW5vdGlmaWNhdGlvbgogeyAgIAorICAgIFVOVVNFRF9QQVJBTShu
b3RpZmljYXRpb24pOwogICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgZnVsbHNjcmVlbldpbmRv
dyBpcyBvbiB0aGUgYWN0aXZlIHNwYWNlOyB0aGlzIGZ1bmN0aW9uIGlzIGF2YWlsYWJsZQogICAg
IC8vIG9uIDEwLjYgYW5kIGxhdGVyLCBzbyBkZWZhdWx0IHRvIFlFUyBpZiB0aGUgZnVuY3Rpb24g
aXMgbm90IGF2YWlsYWJsZToKICAgICBOU1dpbmRvdyogZnVsbHNjcmVlbldpbmRvdyA9IFtzZWxm
IGZ1bGxzY3JlZW5XaW5kb3ddOwpAQCAtMzI3LDYgKzMzMCw3IEBAIHN0YXRpYyBOU1dpbmRvdyAq
Y3JlYXRlQmFja2dyb3VuZEZ1bGxzY3JlZW5XaW5kb3coTlNSZWN0IGZyYW1lLCBpbnQgbGV2ZWwp
CiAKIC0gKHZvaWQpYXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJhbWV0ZXJzOihOU05vdGlm
aWNhdGlvbiopbm90aWZpY2F0aW9uCiB7CisgICAgVU5VU0VEX1BBUkFNKG5vdGlmaWNhdGlvbik7
CiAgICAgLy8gVGhlIHVzZXIgbWF5IGhhdmUgY2hhbmdlZCB0aGUgbWFpbiBzY3JlZW4gYnkgbW92
aW5nIHRoZSBtZW51IGJhciwgb3IgdGhleSBtYXkgaGF2ZSBjaGFuZ2VkCiAgICAgLy8gdGhlIERv
Y2sncyBzaXplIG9yIGxvY2F0aW9uLCBvciB0aGV5IG1heSBoYXZlIGNoYW5nZWQgdGhlIGZ1bGxz
Y3JlZW4gc2NyZWVuJ3MgZGltZW5zaW9ucy4gIAogICAgIC8vIFVwZGF0ZSBvdXIgcHJlc2VudGF0
aW9uIHBhcmFtZXRlcnMsIGFuZCBlbnN1cmUgdGhhdCB0aGUgZnVsbCBzY3JlZW4gd2luZG93IG9j
Y3VwaWVzIHRoZSAKQEAgLTYwNSw2ICs2MDksNyBAQCBzdGF0aWMgTlNXaW5kb3cgKmNyZWF0ZUJh
Y2tncm91bmRGdWxsc2NyZWVuV2luZG93KE5TUmVjdCBmcmFtZSwgaW50IGxldmVsKQogCiAtICh2
b2lkKW1vdXNlTW92ZWQ6KE5TRXZlbnQgKil0aGVFdmVudAogeworICAgIFVOVVNFRF9QQVJBTSh0
aGVFdmVudCk7CiAgICAgW1tzZWxmIHdpbmRvd0NvbnRyb2xsZXJdIGZhZGVIVURJbl07CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVu
SFVEV2luZG93Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZp
ZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUK
cmVuYW1lIGZyb20gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyLm1tCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5tbQpyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0KaW5kZXggNTg2NmU1Mi4uYWQxMmE5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURX
aW5kb3dDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJW
aWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tCkBAIC0yMiwxNSArMjIsMTcgQEAK
ICAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKKyNpbXBvcnQgImNvbmZpZy5oIgorCiAjaWYgRU5BQkxFKFZJREVPKQog
CiAjaW1wb3J0ICJXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgiCiAKLSNp
bXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgotI2ltcG9ydCAiV2ViVHlwZXNJbnRlcm5h
bC5oIgorI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8SmF2YVNj
cmlwdENvcmUvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9VbnVzZWRQYXJh
bS5oPgogI2ltcG9ydCA8V2ViQ29yZS9IVE1MTWVkaWFFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJL
aXRTeXN0ZW1JbnRlcmZhY2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBu
YW1lc3BhY2Ugc3RkOwpAQCAtMTAyLDYgKzEwNCw3IEBAIHN0YXRpYyBpbmxpbmUgQ0dGbG9hdCB3
ZWJraXRfQ0dGbG9vcihDR0Zsb2F0IHZhbHVlKQogCiAtICh2b2lkKWNhbmNlbE9wZXJhdGlvbjoo
aWQpc2VuZGVyCiB7CisgICAgVU5VU0VEX1BBUkFNKHNlbmRlcik7CiAgICAgW1tzZWxmIHdpbmRv
d0NvbnRyb2xsZXJdIGV4aXRGdWxsc2NyZWVuOnNlbGZdOwogfQogCkBAIC0yOTIsMTEgKzI5NSwx
MSBAQCBlbnVtIHsKIHN0YXRpYyBOU0NvbnRyb2wgKmNyZWF0ZUNvbnRyb2xXaXRoTWVkaWFVSUNv
bnRyb2xUeXBlKGludCBjb250cm9sVHlwZSwgTlNSZWN0IGZyYW1lKQogewogI2lmZGVmIEhBVkVf
TUVESUFfQ09OVFJPTAotICAgIE5TQ29udHJvbCAqY29udHJvbCA9IFdLQ3JlYXRlTWVkaWFVSUNv
bnRyb2woY29udHJvbFR5cGUpOworICAgIE5TQ29udHJvbCAqY29udHJvbCA9IHdrQ3JlYXRlTWVk
aWFVSUNvbnRyb2woY29udHJvbFR5cGUpOwogICAgIFtjb250cm9sIHNldEZyYW1lOmZyYW1lXTsK
ICAgICByZXR1cm4gY29udHJvbDsKICNlbHNlCi0gICAgaWYgKGNvbnRyb2xUeXBlID09IFdLTWVk
aWFVSUNvbnRyb2xTbGlkZXIpCisgICAgaWYgKGNvbnRyb2xUeXBlID09IHdrTWVkaWFVSUNvbnRy
b2xTbGlkZXIpCiAgICAgICAgIHJldHVybiBbW05TU2xpZGVyIGFsbG9jXSBpbml0V2l0aEZyYW1l
OmZyYW1lXTsKICAgICByZXR1cm4gW1tOU0NvbnRyb2wgYWxsb2NdIGluaXRXaXRoRnJhbWU6ZnJh
bWVdOwogI2VuZGlmCkBAIC0zNDEsNyArMzQ0LDcgQEAgc3RhdGljIE5TVGV4dEZpZWxkICpjcmVh
dGVUaW1lVGV4dEZpZWxkKE5TUmVjdCBmcmFtZSkKICAgICBBU1NFUlQod2luZG93KTsKIAogI2lm
ZGVmIEhBVkVfTUVESUFfQ09OVFJPTAotICAgIE5TVmlldyAqYmFja2dyb3VuZCA9IFdLQ3JlYXRl
TWVkaWFVSUJhY2tncm91bmRWaWV3KCk7CisgICAgTlNWaWV3ICpiYWNrZ3JvdW5kID0gd2tDcmVh
dGVNZWRpYVVJQmFja2dyb3VuZFZpZXcoKTsKICNlbHNlCiAgICAgTlNWaWV3ICpiYWNrZ3JvdW5k
ID0gW1tOU1ZpZXcgYWxsb2NdIGluaXRdOwogI2VuZGlmCkBAIC0zODksNyArMzkyLDcgQEAgc3Rh
dGljIE5TVGV4dEZpZWxkICpjcmVhdGVUaW1lVGV4dEZpZWxkKE5TUmVjdCBmcmFtZSkKICAgICBb
dm9sdW1lVXBCdXR0b24gcmVsZWFzZV07CiAKICNpZmRlZiBIQVZFX01FRElBX0NPTlRST0wKLSAg
ICBfdGltZWxpbmUgPSBXS0NyZWF0ZU1lZGlhVUlDb250cm9sKFdLTWVkaWFVSUNvbnRyb2xUaW1l
bGluZSk7CisgICAgX3RpbWVsaW5lID0gd2tDcmVhdGVNZWRpYVVJQ29udHJvbChXS01lZGlhVUlD
b250cm9sVGltZWxpbmUpOwogI2Vsc2UKICAgICBfdGltZWxpbmUgPSBbW05TU2xpZGVyIGFsbG9j
XSBpbml0XTsKICNlbmRpZgpAQCAtNDM3LDYgKzQ0MCw3IEBAIHN0YXRpYyBOU1RleHRGaWVsZCAq
Y3JlYXRlVGltZVRleHRGaWVsZChOU1JlY3QgZnJhbWUpCiAKIC0gKHZvaWQpdGltZWxpbmVQb3Np
dGlvbkNoYW5nZWQ6KGlkKXNlbmRlcgogeworICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOwogICAg
IFtzZWxmIHNldEN1cnJlbnRUaW1lOltfdGltZWxpbmUgZmxvYXRWYWx1ZV1dOwogICAgIGlmICgh
X2lzU2NydWJiaW5nKSB7CiAgICAgICAgIF9pc1NjcnViYmluZyA9IFlFUzsKQEAgLTQ3NSwxNiAr
NDc5LDE5IEBAIHN0YXRpYyBOU1RleHRGaWVsZCAqY3JlYXRlVGltZVRleHRGaWVsZChOU1JlY3Qg
ZnJhbWUpCiAKIC0gKHZvaWQpdm9sdW1lQ2hhbmdlZDooaWQpc2VuZGVyCiB7CisgICAgVU5VU0VE
X1BBUkFNKHNlbmRlcik7CiAgICAgW3NlbGYgc2V0Vm9sdW1lOltfdm9sdW1lU2xpZGVyIGRvdWJs
ZVZhbHVlXV07CiB9CiAKIC0gKHZvaWQpc2V0Vm9sdW1lVG9aZXJvOihpZClzZW5kZXIKIHsKKyAg
ICBVTlVTRURfUEFSQU0oc2VuZGVyKTsKICAgICBbc2VsZiBzZXRWb2x1bWU6MF07CiB9CiAKIC0g
KHZvaWQpc2V0Vm9sdW1lVG9NYXhpbXVtOihpZClzZW5kZXIKIHsKKyAgICBVTlVTRURfUEFSQU0o
c2VuZGVyKTsKICAgICBbc2VsZiBzZXRWb2x1bWU6W3NlbGYgbWF4Vm9sdW1lXV07CiB9CiAKQEAg
LTU0Myw2ICs1NTAsNyBAQCBzdGF0aWMgTlNUZXh0RmllbGQgKmNyZWF0ZVRpbWVUZXh0RmllbGQo
TlNSZWN0IGZyYW1lKQogCiAtICh2b2lkKXRvZ2dsZVBsYXlpbmc6KGlkKXNlbmRlcgogeworICAg
IFVOVVNFRF9QQVJBTShzZW5kZXIpOwogICAgIFtzZWxmIHNldFBsYXlpbmc6IVtzZWxmIHBsYXlp
bmddXTsKIH0KIApAQCAtNjA3LDYgKzYxNSw3IEBAIHN0YXRpYyBOU1N0cmluZyAqdGltZVRvU3Ry
aW5nKGRvdWJsZSB0aW1lKQogCiAtICh2b2lkKW1vdXNlRW50ZXJlZDooTlNFdmVudCAqKXRoZUV2
ZW50CiB7CisgICAgVU5VU0VEX1BBUkFNKHRoZUV2ZW50KTsKICAgICAvLyBNYWtlIHN1cmUgdGhl
IEhVRCB3b24ndCBiZSBoaWRkZW4gZnJvbSBub3cKICAgICBfbW91c2VJc0luSFVEID0gWUVTOwog
ICAgIFtzZWxmIGZhZGVXaW5kb3dJbl07CkBAIC02MTQsMTIgKzYyMywxNCBAQCBzdGF0aWMgTlNT
dHJpbmcgKnRpbWVUb1N0cmluZyhkb3VibGUgdGltZSkKIAogLSAodm9pZCltb3VzZUV4aXRlZDoo
TlNFdmVudCAqKXRoZUV2ZW50CiB7CisgICAgVU5VU0VEX1BBUkFNKHRoZUV2ZW50KTsKICAgICBf
bW91c2VJc0luSFVEID0gTk87CiAgICAgW3NlbGYgZmFkZVdpbmRvd0luXTsKIH0KIAogLSAodm9p
ZClyZXdpbmQ6KGlkKXNlbmRlcgogeworICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOwogICAgIGlm
ICghW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdKQogICAgICAgICByZXR1cm47CiAgICAgW19kZWxl
Z2F0ZSBtZWRpYUVsZW1lbnRdLT5yZXdpbmQoMzApOwpAQCAtNjI3LDEyICs2MzgsMTQgQEAgc3Rh
dGljIE5TU3RyaW5nICp0aW1lVG9TdHJpbmcoZG91YmxlIHRpbWUpCiAKIC0gKHZvaWQpZmFzdEZv
cndhcmQ6KGlkKXNlbmRlcgogeworICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOwogICAgIGlmICgh
W19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdKQogICAgICAgICByZXR1cm47CiB9CiAKIC0gKHZvaWQp
ZXhpdEZ1bGxzY3JlZW46KGlkKXNlbmRlcgogeworICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOwog
ICAgIGlmIChfaXNFbmRpbmdGdWxsc2NyZWVuKQogICAgICAgICByZXR1cm47CiAgICAgX2lzRW5k
aW5nRnVsbHNjcmVlbiA9IFlFUzsKQEAgLTY0MywxMSArNjU2LDEzIEBAIHN0YXRpYyBOU1N0cmlu
ZyAqdGltZVRvU3RyaW5nKGRvdWJsZSB0aW1lKQogCiAtICh2b2lkKXdpbmRvd0RpZEV4cG9zZToo
TlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKKyAgICBVTlVTRURfUEFSQU0obm90aWZp
Y2F0aW9uKTsKICAgICBbc2VsZiBzY2hlZHVsZVRpbWVVcGRhdGVdOwogfQogCiAtICh2b2lkKXdp
bmRvd0RpZENsb3NlOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogeworICAgIFVOVVNF
RF9QQVJBTShub3RpZmljYXRpb24pOwogICAgIFtzZWxmIHVuc2NoZWR1bGVUaW1lVXBkYXRlXTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJXaW5kb3dBbmlt
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRpb24u
aApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJXaW5kb3dBbmltYXRpb24uaApyZW5hbWUgdG8gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYldpbmRvd0FuaW1hdGlvbi5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYldpbmRvd0FuaW1hdGlvbi5tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYldpbmRvd0FuaW1hdGlvbi5tbQpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJv
bSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYldpbmRvd0FuaW1hdGlvbi5tCnJlbmFtZSB0
byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViV2luZG93QW5pbWF0aW9uLm1tCmluZGV4
IGFkYTg2ZTUuLjM0YjE1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViV2luZG93QW5pbWF0aW9uLm0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dl
YldpbmRvd0FuaW1hdGlvbi5tbQpAQCAtMjMsOSArMjMsMTIgQEAKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAog
ICovCiAKKyNpbXBvcnQgImNvbmZpZy5oIgorCiAjaW1wb3J0ICJXZWJXaW5kb3dBbmltYXRpb24u
aCIKLSNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCAiV2ViQ29yZVN5
c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbXBvcnQgPHd0
Zi9VbnVzZWRQYXJhbS5oPgogCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCBzbG93TW90aW9uRmFjdG9y
ID0gMTAuOwogCkBAIC0xMTAsNyArMTEzLDcgQEAgLSAodm9pZClzZXRDdXJyZW50UHJvZ3Jlc3M6
KE5TQW5pbWF0aW9uUHJvZ3Jlc3MpcHJvZ3Jlc3MKICAgICBbc3VwZXIgc2V0Q3VycmVudFByb2dy
ZXNzOnByb2dyZXNzXTsKIAogICAgIE5TUmVjdCBjdXJyZW50UmVjdCA9IFtzZWxmIGN1cnJlbnRG
cmFtZV07Ci0gICAgV0tXaW5kb3dTZXRTY2FsZWRGcmFtZShfd2luZG93LCBjdXJyZW50UmVjdCwg
X3JlYWxGcmFtZSk7CisgICAgd2tXaW5kb3dTZXRTY2FsZWRGcmFtZShfd2luZG93LCBjdXJyZW50
UmVjdCwgX3JlYWxGcmFtZSk7CiAgICAgW19zdWJBbmltYXRpb24gc2V0Q3VycmVudFByb2dyZXNz
OnByb2dyZXNzXTsKIH0KIApAQCAtMTc2LDYgKzE3OSw3IEBAIC0gKGlkKWluaXQKIAogLSAoaWQp
aW5pdFdpdGhEdXJhdGlvbjooTlNUaW1lSW50ZXJ2YWwpZHVyYXRpb24gd2luZG93OihOU1dpbmRv
dyAqKXdpbmRvdyBpbml0aWFsQWxwaGE6KENHRmxvYXQpaW5pdGlhbEFscGhhIGZpbmFsQWxwaGE6
KENHRmxvYXQpZmluYWxBbHBoYQogeworICAgIFVOVVNFRF9QQVJBTShkdXJhdGlvbik7CiAgICAg
c2VsZiA9IFtzZWxmIGluaXRdOwogICAgIGlmICghc2VsZikKICAgICAgICAgcmV0dXJuIG5pbDsg
ICAgCkBAIC0yMDMsNyArMjA3LDcgQEAgLSAodm9pZClzZXRDdXJyZW50UHJvZ3Jlc3M6KE5TQW5p
bWF0aW9uUHJvZ3Jlc3MpcHJvZ3Jlc3MKICAgICBBU1NFUlQoX3dpbmRvdyk7CiAgICAgW3N1cGVy
IHNldEN1cnJlbnRQcm9ncmVzczpwcm9ncmVzc107CiAKLSAgICBXS1dpbmRvd1NldEFscGhhKF93
aW5kb3csIFtzZWxmIGN1cnJlbnRBbHBoYV0pOworICAgIHdrV2luZG93U2V0QWxwaGEoX3dpbmRv
dywgW3NlbGYgY3VycmVudEFscGhhXSk7CiB9CiAKIC0gKHZvaWQpc2V0V2luZG93OihOU1dpbmRv
dyopd2luZG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZiMjIzZGEuLmNjZWZlYjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTEtMDYtMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBGdWxs
IFNjcmVlbiBDb250cm9sbGVycyBpbnRvIFdlYkNvcmUuCisKKyAgICAgICAgUmVtb3ZlIGRlcGVu
ZGVuY3kgb24gUVRLaXQgZnJvbSB3ZWtpdEV4aXRGdWxsc2NyZWVuKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODQzCisKKyAgICAgICAgV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlciwgV2ViVmlkZW9GdWxsc2NyZWVuSFVEQ29udHJvbGxlciwg
YW5kIFdlYldpbmRvd0FuaW1hdGlvbgorICAgICAgICBoYXZlIGJlZW4gbW92ZWQgaW50byBXZWJD
b3JlLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIw
MTEtMDUtMjAgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggYWQwNjBlYy4uMjZmOGZmYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMCwxMiArMjAsNiBAQAog
CQkwQUVCRkY2NDBGOUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1By
aXZhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
QUVCRkY2MjBGOUZBOEJFMDAwRDQ4NkIgLyogV2ViTmV0c2NhcGVDb250YWluZXJDaGVja1ByaXZh
dGUubW0gKi87IH07CiAJCTBGMzA5ODVGMTFFQ0ZFNDUwMEY1NTlERiAvKiBXZWJSZW5kZXJMYXll
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzMDk4
NUQxMUVDRkU0NDAwRjU1OURGIC8qIFdlYlJlbmRlckxheWVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYzMDk4NjAxMUVDRkU0NTAwRjU1OURG
IC8qIFdlYlJlbmRlckxheWVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYzMDk4NUUxMUVDRkU0NTAwRjU1OURGIC8qIFdlYlJlbmRlckxheWVyLm1t
ICovOyB9OwotCQkwRkQzQjBGMjEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZEM0IwRUUxMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXIuaCAqLzsgfTsKLQkJMEZEM0IwRjMxMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRkQzQjBFRjEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5tbSAqLzsgfTsKLQkJMEZEM0IwRjQxMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDNCMEYwMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRl
b0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmggKi87IH07Ci0JCTBGRDNCMEY1MTA3NkMz
RTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0IwRjExMDc2
QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0g
Ki87IH07Ci0JCTBGRDNCMEY4MTA3NkMzRjcwMDAzOUI5NiAvKiBXZWJXaW5kb3dBbmltYXRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDNCMEY2
MTA3NkMzRjcwMDAzOUI5NiAvKiBXZWJXaW5kb3dBbmltYXRpb24uaCAqLzsgfTsKLQkJMEZEM0Iw
RjkxMDc2QzNGNzAwMDM5Qjk2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEM0IwRjcxMDc2QzNGNzAwMDM5Qjk2
IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tICovOyB9OwogCQkxNEQ4MjUyRjBBRjk1NTA5MDAwNEYw
NTcgLyogV2ViQ2hyb21lQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNEQ4MjUyRDBBRjk1NTA5MDAwNEYwNTcgLyogV2ViQ2hyb21lQ2xpZW50
LmggKi87IH07CiAJCTE0RDgyNTMwMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEQ4MjUy
RTBBRjk1NTA5MDAwNEYwNTcgLyogV2ViQ2hyb21lQ2xpZW50Lm1tICovOyB9OwogCQkxQTIwRDA4
QjBFRDM4NEYyMDA0M0ZBOUYgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTIwRDA4QTBFRDM4NEYyMDA0M0ZB
OUYgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgKi87IH07CkBAIC00MDQsMTIgKzM5OCw2IEBACiAJ
CTBBRUJGRjYyMEY5RkE4QkUwMDBENDg2QiAvKiBXZWJOZXRzY2FwZUNvbnRhaW5lckNoZWNrUHJp
dmF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYk5ldHNj
YXBlQ29udGFpbmVyQ2hlY2tQcml2YXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRjMwOTg1RDExRUNGRTQ0MDBGNTU5REYgLyogV2ViUmVuZGVyTGF5ZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVuZGVyTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEYzMDk4NUUxMUVDRkU0NTAwRjU1OURGIC8qIFdlYlJlbmRlckxheWVy
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUmVuZGVyTGF5
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGRDNCMEVFMTA3NkMzRTkwMDAz
OUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZEM0IwRUYxMDc2QzNFOTAwMDM5Qjk2IC8qIFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkwRkQzQjBGMDEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2Ny
ZWVuSFVEV2luZG93Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTBGRDNCMEYxMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZEM0IwRjYxMDc2QzNGNzAwMDM5Qjk2IC8qIFdl
YldpbmRvd0FuaW1hdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJX
aW5kb3dBbmltYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZEM0IwRjcx
MDc2QzNGNzAwMDM5Qjk2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLm9iamM7IHBhdGggPSBXZWJXaW5kb3dBbmltYXRpb24ubTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMTREODI1MkQwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNocm9tZUNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2hyb21lQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0RDgyNTJFMEFGOTU1MDkwMDA0RjA1NyAv
KiBXZWJDaHJvbWVDbGllbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV2ViQ2hyb21lQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QTIwRDA4QTBFRDM4NEYyMDA0M0ZBOUYgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29y
azsgbmFtZSA9IFF1YXJ0ekNvcmUuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvUXVhcnR6Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7
IH07CkBAIC0xMjU0LDEwICsxMjQyLDYgQEAKIAkJCQlGODM0QUFENjBFNjRCMUM3MDBFMjczN0Mg
LyogV2ViVGV4dEl0ZXJhdG9yLm1tICovLAogCQkJCTUxNUUyN0NDMDQ1OEM4NjUwMENBMkQzQSAv
KiBXZWJVSURlbGVnYXRlLmggKi8sCiAJCQkJNjVBN0Q0NEEwNTY4QUIyNjAwRTcwRUY2IC8qIFdl
YlVJRGVsZWdhdGVQcml2YXRlLmggKi8sCi0JCQkJMEZEM0IwRUUxMDc2QzNFOTAwMDM5Qjk2IC8q
IFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAqLywKLQkJCQkwRkQzQjBFRjEwNzZDM0U5
MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSAqLywKLQkJCQkwRkQz
QjBGMDEwNzZDM0U5MDAwMzlCOTYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5oICovLAotCQkJCTBGRDNCMEYxMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyLm1tICovLAogCQkJCTUxQThCNTc5MDQyODM0RjcwMENB
MkQzQSAvKiBXZWJWaWV3LmggKi8sCiAJCQkJNTFBOEI1N0EwNDI4MzRGNzAwQ0EyRDNBIC8qIFdl
YlZpZXcubW0gKi8sCiAJCQkJQkMyRTQ2NEIwRkQ4QTk2ODAwQTlEOURFIC8qIFdlYlZpZXdEYXRh
LmggKi8sCkBAIC0xMjY1LDggKzEyNDksNiBAQAogCQkJCUJDOTdFN0UxMTA5NjNEMjYwMDEwRDM2
MSAvKiBXZWJWaWV3RXZlbnRIYW5kbGluZy5tbSAqLywKIAkJCQk5MzBEMDJCQjA2Mjc1RjY0MDA3
NjcwMUUgLyogV2ViVmlld0ludGVybmFsLmggKi8sCiAJCQkJNTFBOEI1N0QwNDI4MzUzQTAwQ0Ey
RDNBIC8qIFdlYlZpZXdQcml2YXRlLmggKi8sCi0JCQkJMEZEM0IwRjYxMDc2QzNGNzAwMDM5Qjk2
IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oICovLAotCQkJCTBGRDNCMEY3MTA3NkMzRjcwMDAzOUI5
NiAvKiBXZWJXaW5kb3dBbmltYXRpb24ubSAqLywKIAkJCSk7CiAJCQluYW1lID0gV2ViVmlldzsK
IAkJCXBhdGggPSBtYWMvV2ViVmlldzsKQEAgLTE2MjgsMTQgKzE2MTAsMTEgQEAKIAkJCQk5Mzk4
MTA4MzA4MjRCRjAxMDA4REYwMzggLyogV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzOTgxMDE1MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJVUkxzV2l0aFRpdGxlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQzBDNUIzRUUxMTc3QTRBMDAwMkIwQUVGIC8qIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEZEM0IwRjIxMDc2QzNFOTAw
MDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAot
CQkJCTBGRDNCMEY0MTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5k
b3dDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4MTA3MDA4MjRCRjAxMDA4REYw
MzggLyogV2ViVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyRTQ2NEQwRkQ4QTk2ODAwQTlE
OURFIC8qIFdlYlZpZXdEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4MTA0NjA4MjRCRjAx
MDA4REYwMzggLyogV2ViVmlld0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDlC
MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzOTgxMDcxMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJWaWV3UHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMEZEM0IwRjgxMDc2QzNGNzAwMDM5Qjk2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGNDQ4NEYxMDMzOEU4QzAwMzBFNTVFIC8qIFdlYldvcmtl
cnNQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNURFRkMwQjExRDUzMzFDMDA4ODUyNzMg
LyogV2ViU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVERUZD
MEMxMUQ1MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yMDA4LDEzICsxOTg3LDEwIEBACiAJCQkJRjgzNEFBRDgwRTY0QjFDNzAwRTI3
MzdDIC8qIFdlYlRleHRJdGVyYXRvci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzOTgxMEJFMDgy
NEJGMDEwMDhERjAzOCAvKiBXZWJVUkxzV2l0aFRpdGxlcy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QzBDNUIzRUYxMTc3QTRBMDAwMkIwQUVGIC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5tbSBp
biBTb3VyY2VzICovLAotCQkJCTBGRDNCMEYzMTA3NkMzRTkwMDAzOUI5NiAvKiBXZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMEZEM0IwRjUxMDc2QzNF
OTAwMDM5Qjk2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIubW0gaW4g
U291cmNlcyAqLywKIAkJCQk5Mzk4MTEwNzA4MjRCRjAxMDA4REYwMzggLyogV2ViVmlldy5tbSBp
biBTb3VyY2VzICovLAogCQkJCUJDMkU0NjRFMEZEOEE5NjgwMEE5RDlERSAvKiBXZWJWaWV3RGF0
YS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDOTdFN0UyMTA5NjNEMjYwMDEwRDM2MSAvKiBXZWJW
aWV3RXZlbnRIYW5kbGluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzOTgxMEU4MDgyNEJGMDEw
MDhERjAzOCAvKiBXZWJWaWV3RmFjdG9yeS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTBGRDNCMEY5
MTA3NkMzRjcwMDAzOUI5NiAvKiBXZWJXaW5kb3dBbmltYXRpb24ubSBpbiBTb3VyY2VzICovLAog
CQkJCTQxRjQ0ODUwMTAzMzhFOEMwMDMwRTU1RSAvKiBXZWJXb3JrZXJzUHJpdmF0ZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUE1REVGQzBBMTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9y
aWdpbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE1REVGQzEwMTFENTM0M0UwMDg4NTI3MyAvKiBX
ZWJEYXRhYmFzZVF1b3RhTWFuYWdlci5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGI1ZDk0MDcuLjM4MmI0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAxMS0wNi0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIEZ1bGwgU2NyZWVuIENv
bnRyb2xsZXJzIGludG8gV2ViQ29yZS4KKworICAgICAgICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBR
VEtpdCBmcm9tIHdla2l0RXhpdEZ1bGxzY3JlZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4NDMKKworICAgICAgICBXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyLCBXZWJWaWRlb0Z1bGxzY3JlZW5IVURDb250cm9sbGVyLCBhbmQgV2ViV2lu
ZG93QW5pbWF0aW9uCisgICAgICAgIGhhdmUgYmVlbiBtb3ZlZCBpbnRvIFdlYkNvcmUuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgIChJ
bml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6IEFkZCBzdXBwb3J0IGZvciBmb3VyIFdLU0kgZnVu
Y3Rpb25zIGluIFdDU0kuCisgICAgICAgICogV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxl
ci5tbTogUmVtb3ZlIHVudXNlZCAjaW5jbHVkZS4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06IENoYW5nZSB0aGUgaW5jbHVkZSBsb2NhdGlvbiBvZiAKKyAgICAgICAgICAgIFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIuaAorCiAyMDExLTA1LTI3ICBTdGVwaGFuaWUgTGV3aXMgIDxz
bGV3aXNAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KaW5kZXgg
MTQyZGVmZC4uMTUwNTM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQpAQCAtNjksNiArNjksMTAgQEAgdm9pZCBJ
bml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQogICAgIElOSVQoSGl0VGVzdE1lZGlhVUlQ
YXJ0KTsKICAgICBJTklUKEluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhv
c3QpOwogICAgIElOSVQoTWVhc3VyZU1lZGlhVUlQYXJ0KTsKKyAgICBJTklUKENyZWF0ZU1lZGlh
VUlCYWNrZ3JvdW5kVmlldyk7CisgICAgSU5JVChDcmVhdGVNZWRpYVVJQ29udHJvbCk7CisgICAg
SU5JVChXaW5kb3dTZXRBbHBoYSk7CisgICAgSU5JVChXaW5kb3dTZXRTY2FsZWRGcmFtZSk7CiAg
ICAgSU5JVChNZWRpYUNvbnRyb2xsZXJUaGVtZUF2YWlsYWJsZSk7CiAgICAgSU5JVChQb3B1cE1l
bnUpOwogICAgIElOSVQoU2V0Q0dGb250UmVuZGVyaW5nTW9kZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbQppbmRleCA4OTk3
NWY2Li5jM2Q3NGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1
bGxTY3JlZW5Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnVsbFNjcmVlbkNvbnRyb2xsZXIubW0KQEAgLTI5LDcgKzI5LDYgQEAKIAogI2ltcG9ydCAiV2Vi
TlNXaW5kb3dFeHRyYXMuaCIKICNpbXBvcnQgIldlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIgotI2lt
cG9ydCAiV2ViV2luZG93QW5pbWF0aW9uLmgiCiAjaW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIK
ICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8T1NTZXJ2aWNlcy9Q
b3dlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGU1NGZmZjkuLmEz
YTg1NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEwMyw3ICsxMDMs
NiBAQAogI2ltcG9ydCAiV2ViVGV4dEl0ZXJhdG9yLmgiCiAjaW1wb3J0ICJXZWJVSURlbGVnYXRl
LmgiCiAjaW1wb3J0ICJXZWJVSURlbGVnYXRlUHJpdmF0ZS5oIgotI2ltcG9ydCAiV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlci5oIgogI2ltcG9ydCA8Q29yZUZvdW5kYXRpb24vQ0ZTZXQuaD4K
ICNpbXBvcnQgPEZvdW5kYXRpb24vTlNVUkxDb25uZWN0aW9uLmg+CiAjaW1wb3J0IDxKYXZhU2Ny
aXB0Q29yZS9BUElDYXN0Lmg+CkBAIC0xNjEsNiArMTYwLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUv
VGhyZWFkQ2hlY2suaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU9iakNFeHRyYXMuaD4KICNp
bXBvcnQgPFdlYkNvcmUvV2ViQ29yZVZpZXcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9XaWRnZXQuaD4KICNpbXBv
cnQgPFdlYktpdC9ET00uaD4KICNpbXBvcnQgPFdlYktpdC9ET01FeHRlbnNpb25zLmg+Ci0tIAox
LjcuNC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95649</attachid>
            <date>2011-06-01 13:31:48 -0700</date>
            <delta_ts>2011-09-16 11:22:33 -0700</delta_ts>
            <desc>[PATCH 2/5] Add two new utility clasess: WebEventListener and WebMediaDelegate</desc>
            <filename>0002-Add-two-new-utility-clasess-WebEventListener-and-Web.patch</filename>
            <type>text/plain</type>
            <size>28276</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">RnJvbSBiYzNiZjVmNmNmMWFkNDgxNzZiNmZhNzY2OTFmOTY1ZTUxZjczYTQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXIgTm9ibGUgPGplci5ub2JsZUBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMSBKdW4gMjAxMSAxMTo0ODoyMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSBBZGQg
dHdvIG5ldyB1dGlsaXR5IGNsYXNlc3M6IFdlYkV2ZW50TGlzdGVuZXIgYW5kCiBXZWJNZWRpYURl
bGVnYXRlCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClJlbW92ZSBkZXBlbmRlbmN5IG9u
IFFUS2l0IGZyb20gd2VraXRFeGl0RnVsbHNjcmVlbigpCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MTg0MwoKU291cmNlL1dlYkNvcmU6CgpObyBuZXcgdGVzdHM7IHRo
ZSBleGlzdGluZyBtZWRpYSBmdWxsIHNjcmVlbiB0ZXN0cyBhcmUgc3VmZmljaWVudC4KCiogV2Vi
Q29yZS5leHAuaW46CiogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQpOiBJbml0IG5ldyBpdmFyLgooV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6cGxhdGZvcm1MYXllcik6IENoZWNrIHRvIHNlZSBpZiB0aGUgbGF5
ZXIKICAgIGhhcyBiZWVuIHN0b2xlbiBieSB0aGUgZnVsbCBzY3JlZW4gd2luZG93LgooV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6ZnVsbFNjcmVlbkxheWVyKTogQWRkZWQ7IHJldHVybnMgdGhl
IHBsYXRmb3JtTGF5ZXIKICAgIGlmIGl0IGhhcyBiZWVuIHN0b2xlbiBieSB0aGUgZnVsbCBzY3Jl
ZW4gd2luZG93LgooV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0UGxhdGZvcm1MYXllclN0
b2xlbik6IEFjY2Vzc29yIGZvciBuZXcgaXZhci4KKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoK
KiBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oOgoKU291cmNlL1dl
YktpdDoKCiogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CgpTb3VyY2UvV2ViS2l0
L21hYzoKCiogV2ViVmlldy9XZWJFdmVudExpc3RlbmVyLmg6CiogV2ViVmlldy9XZWJFdmVudExp
c3RlbmVyLm1tOiBBZGRlZDsgUHVsbGVkIGZyb20gaW5zaWRlIFdlYkZ1bGxTY3JlZW5Db250cm9s
bGVyLgooV2ViRXZlbnRMaXN0ZW5lcjo6V2ViRXZlbnRMaXN0ZW5lcik6CihXZWJFdmVudExpc3Rl
bmVyOjpjcmVhdGUpOgooV2ViRXZlbnRMaXN0ZW5lcjo6b3BlcmF0b3I9PSk6CihXZWJFdmVudExp
c3RlbmVyOjpoYW5kbGVFdmVudCk6CiogV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5t
bToKKC1bV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIgaW5pdF0pOiBVc2UgdGhlIG5ld2x5IGluZGVw
ZW5kZW50IFdlYkV2ZW50TGlzdGVuZXIuCgpUaGlzIGNsYXNzIGlzIGEgc2ltcGxlIHdyYXBwZXIg
YXJvdW5kIEhUTUxNZWRpYUVsZW1lbnQuICBFYWNoIG9mIHRoZXNlIGZ1bmN0aW9ucwpjYWxscyB0
aHJvdWdoIHRvIHRoZSBtYXRjaGluZyBIVE1MTWVkaWFFbGVtZW50IGZ1bmN0aW9uLgoqIFdlYlZp
ZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oOgoqIFdlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5tbTogQWRk
ZWQuCigtW1dlYk1lZGlhRGVsZWdhdGUgZGVhbGxvY10pOgooLVtXZWJNZWRpYURlbGVnYXRlIHNl
dE1lZGlhRWxlbWVudDpXZWJDb3JlOjpdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBXZWJDb3JlOjpd
KToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSByZXF1ZXN0RXhpdEZ1bGxzY3JlZW5dKToKKC1bV2ViTWVk
aWFEZWxlZ2F0ZSBiZWdpblNjcnViYmluZ10pOgooLVtXZWJNZWRpYURlbGVnYXRlIGVuZFNjcnVi
YmluZ10pOgooLVtXZWJNZWRpYURlbGVnYXRlIGN1cnJlbnRUaW1lXSk6CigtW1dlYk1lZGlhRGVs
ZWdhdGUgc2V0Q3VycmVudFRpbWU6XSk6CigtW1dlYk1lZGlhRGVsZWdhdGUgZHVyYXRpb25dKToK
KC1bV2ViTWVkaWFEZWxlZ2F0ZSB2b2x1bWVdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBtdXRlZF0p
OgooLVtXZWJNZWRpYURlbGVnYXRlIHNldE11dGVkOl0pOgooLVtXZWJNZWRpYURlbGVnYXRlIHNl
dFZvbHVtZTpdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBjYW5QbGF5XSk6CigtW1dlYk1lZGlhRGVs
ZWdhdGUgcGxheV0pOgooLVtXZWJNZWRpYURlbGVnYXRlIHBhdXNlXSk6CigtW1dlYk1lZGlhRGVs
ZWdhdGUgcmV3aW5kOl0pOgooLVtXZWJNZWRpYURlbGVnYXRlIG1lZGlhRWxlbWVudFNjcmVlblJl
Y3RdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSByZWxlYXNlTWVkaWFFbGVtZW50TGF5ZXJdKToKKC1b
V2ViTWVkaWFEZWxlZ2F0ZSBzdGVhbE1lZGlhRWxlbWVudExheWVyXSk6CigtW1dlYk1lZGlhRGVs
ZWdhdGUgZXhpdEZ1bGxTY3JlZW5Db21wbGV0ZWRdKToKKC1bV2ViTWVkaWFEZWxlZ2F0ZSBlbnRl
ckZ1bGxTY3JlZW5Db21wbGV0ZWRdKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjIgKysrCiBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCAgICAgICAgICAgfCAgIDE4ICsrCiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCAgICAgICAgICAgICB8ICAgIDQgKwogLi4uL3BsYXRm
b3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggICAgfCAgIDExICsrCiBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysK
IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgIHwgICAx
NCArKwogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDQ1ICsrKysrCiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIu
aCAgICAgICB8ICAgMzkgKysrKysKIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRXZlbnRM
aXN0ZW5lci5tbSAgICAgIHwgICAzNCArKysrCiAuLi4vV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1
bGxTY3JlZW5Db250cm9sbGVyLm1tICB8ICAgMzggKy0tLS0KIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oICAgICAgIHwgICA0NCArKysrKwogU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLm1tICAgICAgfCAgMTc0ICsrKysrKysrKysr
KysrKysrKysrCiAxMyBmaWxlcyBjaGFuZ2VkLCA0MjAgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRp
b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJF
dmVudExpc3RlbmVyLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkV2ZW50TGlzdGVuZXIubW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYk1lZGlhRGVsZWdhdGUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5tbQoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3
YmJhZjg1Li44OTQyMTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjggQEAKIAogICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBBZGQgdHdvIG5ldyB1dGlsaXR5
IGNsYXNlc3M6IFdlYkV2ZW50TGlzdGVuZXIgYW5kIFdlYk1lZGlhRGVsZWdhdGUKKworICAgICAg
ICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBRVEtpdCBmcm9tIHdla2l0RXhpdEZ1bGxzY3JlZW4oKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4NDMKKwor
ICAgICAgICBObyBuZXcgdGVzdHM7IHRoZSBleGlzdGluZyBtZWRpYSBmdWxsIHNjcmVlbiB0ZXN0
cyBhcmUgc3VmZmljaWVudC4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAq
IGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KTogSW5pdCBuZXcgaXZhci4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBsYXRmb3JtTGF5ZXIpOiBDaGVjayB0byBzZWUgaWYgdGhl
IGxheWVyIAorICAgICAgICAgICAgaGFzIGJlZW4gc3RvbGVuIGJ5IHRoZSBmdWxsIHNjcmVlbiB3
aW5kb3cuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpmdWxsU2NyZWVuTGF5
ZXIpOiBBZGRlZDsgcmV0dXJucyB0aGUgcGxhdGZvcm1MYXllcgorICAgICAgICAgICAgaWYgaXQg
aGFzIGJlZW4gc3RvbGVuIGJ5IHRoZSBmdWxsIHNjcmVlbiB3aW5kb3cuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZXRQbGF0Zm9ybUxheWVyU3RvbGVuKTogQWNjZXNzb3Ig
Zm9yIG5ldyBpdmFyLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmg6CisKKzIwMTEt
MDYtMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgTW92ZSBGdWxsIFNjcmVlbiBDb250cm9s
bGVycyBpbnRvIFdlYkNvcmUuCiAKICAgICAgICAgUmVtb3ZlIGRlcGVuZGVuY3kgb24gUVRLaXQg
ZnJvbSB3ZWtpdEV4aXRGdWxsc2NyZWVuKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMDY2NjMz
Ny4uYmE4NWJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE4MTgsNiArMTgxOCw4IEBAIF9f
Wk5LN1dlYkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQ2dm9sdW1lRXYKIF9fWk5LN1dlYkNvcmUxNkhU
TUxNZWRpYUVsZW1lbnQ3Y2FuUGxheUV2CiBfX1pOSzdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50
MTJwbGF5YmFja1JhdGVFdgogX19aTks3V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVudDhkdXJhdGlv
bkV2CitfX1pOSzdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50MTVmdWxsU2NyZWVuTGF5ZXJFdgor
X19aTjdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50MjJzZXRQbGF0Zm9ybUxheWVyU3RvbGVuRWIK
IF9fWk43V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVudDE2cmV0dXJuVG9SZWFsdGltZUV2CiBfX1pO
SzdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50MTJpc0Z1bGxzY3JlZW5FdgogLm9iamNfY2xhc3Nf
bmFtZV9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAppbmRleCBiNmRjYmVlLi4yY2I4MTcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE2Myw2ICsxNjMsNyBAQCBIVE1MTWVkaWFF
bGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bQogICAgICwgbV9wYXVzZWRJbnRlcm5hbChmYWxzZSkKICAgICAsIG1fc2Vu
ZFByb2dyZXNzRXZlbnRzKHRydWUpCiAgICAgLCBtX2lzRnVsbHNjcmVlbihmYWxzZSkKKyAgICAs
IG1faXNQbGF0Zm9ybUxheWVyU3RvbGVuKGZhbHNlKQogICAgICwgbV9jbG9zZWRDYXB0aW9uc1Zp
c2libGUoZmFsc2UpCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgLCBt
X25lZWRXaWRnZXRVcGRhdGUoZmFsc2UpCkBAIC0yNTY0LDggKzI1NjUsMjUgQEAgUGxhdGZvcm1N
ZWRpYSBIVE1MTWVkaWFFbGVtZW50OjpwbGF0Zm9ybU1lZGlhKCkgY29uc3QKICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiBQbGF0Zm9ybUxheWVyKiBIVE1MTWVkaWFFbGVtZW50Ojpw
bGF0Zm9ybUxheWVyKCkgY29uc3QKIHsKKyAgICBpZiAobV9pc1BsYXRmb3JtTGF5ZXJTdG9sZW4p
CisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX3BsYXllciA/IG1fcGxheWVyLT5wbGF0
Zm9ybUxheWVyKCkgOiAwOworfQorCitQbGF0Zm9ybUxheWVyKiBIVE1MTWVkaWFFbGVtZW50Ojpm
dWxsU2NyZWVuTGF5ZXIoKSBjb25zdAoreworICAgIGlmICghbV9pc1BsYXRmb3JtTGF5ZXJTdG9s
ZW4pCisgICAgICAgIHJldHVybiAwOwogICAgIHJldHVybiBtX3BsYXllciA/IG1fcGxheWVyLT5w
bGF0Zm9ybUxheWVyKCkgOiAwOwogfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFBsYXRm
b3JtTGF5ZXJTdG9sZW4oYm9vbCBmbGFnKQoreworICAgIGlmIChmbGFnID09IG1faXNQbGF0Zm9y
bUxheWVyU3RvbGVuKQorICAgICAgICByZXR1cm47CisgICAgbV9pc1BsYXRmb3JtTGF5ZXJTdG9s
ZW4gPSBmbGFnOworICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoU3ludGhldGljU3R5bGVDaGFuZ2Up
OyAgICAKK30KICNlbmRpZgogCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc0Nsb3NlZENhcHRp
b25zKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMjcx
NjM5ZS4uMDYyN2U5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAg
LTcyLDYgKzcyLDkgQEAgcHVibGljOgogICAgIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSgp
IGNvbnN0OwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBQbGF0Zm9ybUxh
eWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CisKKyAgICB2b2lkIHNldFBsYXRmb3JtTGF5ZXJT
dG9sZW4oYm9vbCk7CisgICAgUGxhdGZvcm1MYXllciogZnVsbFNjcmVlbkxheWVyKCkgY29uc3Q7
CiAjZW5kaWYKIAogICAgIHZvaWQgc2NoZWR1bGVMb2FkKCk7CkBAIC00MTcsNiArNDIwLDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fc2VuZFByb2dyZXNzRXZlbnRzIDogMTsKIAogICAgIGJvb2wg
bV9pc0Z1bGxzY3JlZW4gOiAxOworICAgIGJvb2wgbV9pc1BsYXRmb3JtTGF5ZXJTdG9sZW4gOiAx
OwogICAgIGJvb2wgbV9jbG9zZWRDYXB0aW9uc1Zpc2libGUgOiAxOwogCiAjaWYgRU5BQkxFKFBM
VUdJTl9QUk9YWV9GT1JfVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaAppbmRleCAyNjYyZTNlLi42
YzQzYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2lmIEVO
QUJMRShWSURFTykKIAorI2ltcG9ydCAiV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5oIgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC02OCw0ICs2OSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEBlbmQKIAorCitAcHJvdG9j
b2wgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckRlbGVnYXRlPFdlYlZpZGVvRnVsbHNjcmVl
bkhVRFdpbmRvd0NvbnRyb2xsZXJEZWxlZ2F0ZT4KKy0gKE5TUmVjdCltZWRpYUVsZW1lbnRTY3Jl
ZW5SZWN0OworLSAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCopbWVkaWFFbGVtZW50OworLSAo
Q0FMYXllciopc3RlYWxNZWRpYUVsZW1lbnRMYXllcjsKKy0gKHZvaWQpcmVsZWFzZU1lZGlhRWxl
bWVudExheWVyOworLSAodm9pZClleGl0RnVsbFNjcmVlbkNvbXBsZXRlZDsKKy0gKHZvaWQpZW50
ZXJGdWxsU2NyZWVuQ29tcGxldGVkOworQGVuZCAvLyBwcm90b2NvbAorCiAjZW5kaWYgLy8gRU5B
QkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBjY2VmZWI4Li5kM2ExODQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMiw2
ICsyLDE3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAg
ICAgQWRkIHR3byBuZXcgdXRpbGl0eSBjbGFzZXNzOiBXZWJFdmVudExpc3RlbmVyIGFuZCBXZWJN
ZWRpYURlbGVnYXRlCisKKyAgICAgICAgUmVtb3ZlIGRlcGVuZGVuY3kgb24gUVRLaXQgZnJvbSB3
ZWtpdEV4aXRGdWxsc2NyZWVuKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYxODQzCisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKworMjAxMS0wNi0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBNb3ZlIEZ1
bGwgU2NyZWVuIENvbnRyb2xsZXJzIGludG8gV2ViQ29yZS4KIAogICAgICAgICBSZW1vdmUgZGVw
ZW5kZW5jeSBvbiBRVEtpdCBmcm9tIHdla2l0RXhpdEZ1bGxzY3JlZW4oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjZmOGZmYy4uNjk2
ODdjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0zNjYsNiArMzY2LDkgQEAKIAkJQzBCODhFOEIxMEEwOEYzRDAwRkJCM0Y1IC8qIFdl
YkZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzBCODhFOEExMEEwOEYzRDAwRkJCM0Y1IC8qIFdlYkZyYW1lTG9h
ZERlbGVnYXRlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUMwQzVCM0VFMTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJVc2VyQ29udGVudFVS
TFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMwQzVCM0VDMTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDMEM1QjNF
RjExNzdBNEEwMDAyQjBBRUYgLyogV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBDNUIzRUQxMTc3QTRBMDAw
MkIwQUVGIC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5tbSAqLzsgfTsKKwkJQ0Q1RDI4MkUx
Mzk1NDI0NDAwNTMxOTVEIC8qIFdlYk1lZGlhRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDVEMjgyQjEzOTU0MDQ4MDA1MzE5NUQgLyog
V2ViTWVkaWFEZWxlZ2F0ZS5tbSAqLzsgfTsKKwkJQ0Q4QjMzMDExMzk0QkFCNTAwRUQ5N0FCIC8q
IFdlYkV2ZW50TGlzdGVuZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDhCMzMwMDEzOTRCQUI0MDBFRDk3QUIgLyogV2ViRXZlbnRMaXN0ZW5lci5t
bSAqLzsgfTsKKwkJQ0Q4QjMzMDMxMzk0QkFDRjAwRUQ5N0FCIC8qIFdlYkV2ZW50TGlzdGVuZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEOEIzMzAy
MTM5NEJBQ0YwMEVEOTdBQiAvKiBXZWJFdmVudExpc3RlbmVyLmggKi87IH07CiAJCUNEOEVBQzcz
MTFDQUM5QTMwMDc3NDA3NSAvKiBJT0tpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDhFQUM3MjExQ0FDOUEzMDA3NzQwNzUgLyog
SU9LaXQuZnJhbWV3b3JrICovOyB9OwogCQlDREE2MkFFMjEyNUY4N0MyMDA3RkQxMTggLyogV2Vi
RnVsbFNjcmVlbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQTYyQUUwMTI1Rjg3QzIwMDdGRDExOCAvKiBXZWJGdWxsU2NyZWVuQ29u
dHJvbGxlci5oICovOyB9OwogCQlDREE2MkFFMzEyNUY4N0MyMDA3RkQxMTggLyogV2ViRnVsbFNj
cmVlbkNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREE2MkFFMTEyNUY4N0MyMDA3RkQxMTggLyogV2ViRnVsbFNjcmVlbkNvbnRyb2xs
ZXIubW0gKi87IH07CkBAIC02OTIsNiArNjk1LDEwIEBACiAJCUMwQjg4RThBMTBBMDhGM0QwMEZC
QjNGNSAvKiBXZWJGcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViRnJhbWVMb2FkRGVsZWdhdGVQcml2YXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUMwQzVCM0VDMTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJVc2VyQ29u
dGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwQzVC
M0VEMTE3N0E0QTAwMDJCMEFFRiAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENUQyODJBMTM5NTQwNDcwMDUz
MTk1RCAvKiBXZWJNZWRpYURlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYk1lZGlhRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q1
RDI4MkIxMzk1NDA0ODAwNTMxOTVEIC8qIFdlYk1lZGlhRGVsZWdhdGUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJNZWRpYURlbGVnYXRlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRDhCMzMwMDEzOTRCQUI0MDBFRDk3QUIgLyogV2ViRXZl
bnRMaXN0ZW5lci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdl
YkV2ZW50TGlzdGVuZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEOEIzMzAy
MTM5NEJBQ0YwMEVEOTdBQiAvKiBXZWJFdmVudExpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkV2ZW50TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0Q4RUFDNzIxMUNBQzlBMzAwNzc0MDc1IC8qIElPS2l0LmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBuYW1lID0gSU9LaXQuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvSU9LaXQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9Owog
CQlDREE2MkFFMDEyNUY4N0MyMDA3RkQxMTggLyogV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RBNjJBRTExMjVGODdDMjAwN0ZEMTE4
IC8qIFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMTU2LDYgKzExNjMsOCBAQAogCQk5QzdDQUJCQjAxOTBBMzdDMEVD
QTE2RUEgLyogV2ViVmlldyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJQ0Q1RDI4MkExMzk1NDA0NzAwNTMxOTVEIC8qIFdlYk1lZGlhRGVsZWdhdGUuaCAq
LywKKwkJCQlDRDVEMjgyQjEzOTU0MDQ4MDA1MzE5NUQgLyogV2ViTWVkaWFEZWxlZ2F0ZS5tbSAq
LywKIAkJCQlGNTJDQTZCRDAyREY5RDBGMDE4NjM1Q0EgLyogSFRNTCAqLywKIAkJCQk1MUU5NEMw
NzA2QzAyQ0EzMDBBOUIwOUUgLyogUERGICovLAogCQkJCTgzNzM0MzVBMDYyNEVFMEQwMEYzQjI4
OSAvKiBXZWJBcmNoaXZlLmggKi8sCkBAIC0xMjQ5LDYgKzEyNTgsOCBAQAogCQkJCUJDOTdFN0Ux
MTA5NjNEMjYwMDEwRDM2MSAvKiBXZWJWaWV3RXZlbnRIYW5kbGluZy5tbSAqLywKIAkJCQk5MzBE
MDJCQjA2Mjc1RjY0MDA3NjcwMUUgLyogV2ViVmlld0ludGVybmFsLmggKi8sCiAJCQkJNTFBOEI1
N0QwNDI4MzUzQTAwQ0EyRDNBIC8qIFdlYlZpZXdQcml2YXRlLmggKi8sCisJCQkJQ0Q4QjMzMDAx
Mzk0QkFCNDAwRUQ5N0FCIC8qIFdlYkV2ZW50TGlzdGVuZXIubW0gKi8sCisJCQkJQ0Q4QjMzMDIx
Mzk0QkFDRjAwRUQ5N0FCIC8qIFdlYkV2ZW50TGlzdGVuZXIuaCAqLywKIAkJCSk7CiAJCQluYW1l
ID0gV2ViVmlldzsKIAkJCXBhdGggPSBtYWMvV2ViVmlldzsKQEAgLTE2MzcsNiArMTY0OCw3IEBA
CiAJCQkJQkM0MkQzMjQxMzFFRDFFMDAwNzVGQTRCIC8qIFdlYkxvY2FsaXphYmxlU3RyaW5nc0lu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCODI5NThEMzEzMjcwN0QwMDAwRDBFNzkgLyog
Q29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTY4N0JEQTEzNUI3OTFBMDA3
NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdodGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDhCMzMw
MzEzOTRCQUNGMDBFRDk3QUIgLyogV2ViRXZlbnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yMDA3LDYgKzIwMTksOCBAQAogCQkJCUJDNDJEMzREMTMxRUQzODgwMDc1RkE0QiAvKiBXZWJM
b2NhbGl6YWJsZVN0cmluZ3NJbnRlcm5hbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUI4Mjk1OEQ0
MTMyNzA3RDAwMDBEMEU3OSAvKiBDb3JyZWN0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlBNTY4N0JEQjEzNUI3OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdodGVyLm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJQ0Q4QjMzMDExMzk0QkFCNTAwRUQ5N0FCIC8qIFdlYkV2ZW50TGlzdGVu
ZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQlDRDVEMjgyRTEzOTU0MjQ0MDA1MzE5NUQgLyogV2Vi
TWVkaWFEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDM4MmI0
NTUuLjU5Y2U1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTIsNiArMiw1MSBAQAogCiAgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIEFkZCB0d28gbmV3IHV0aWxp
dHkgY2xhc2VzczogV2ViRXZlbnRMaXN0ZW5lciBhbmQgV2ViTWVkaWFEZWxlZ2F0ZQorCisgICAg
ICAgIFJlbW92ZSBkZXBlbmRlbmN5IG9uIFFUS2l0IGZyb20gd2VraXRFeGl0RnVsbHNjcmVlbigp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTg0Mwor
CisgICAgICAgICogV2ViVmlldy9XZWJFdmVudExpc3RlbmVyLmg6IAorICAgICAgICAqIFdlYlZp
ZXcvV2ViRXZlbnRMaXN0ZW5lci5tbTogQWRkZWQ7IFB1bGxlZCBmcm9tIGluc2lkZSBXZWJGdWxs
U2NyZWVuQ29udHJvbGxlci4KKyAgICAgICAgKFdlYkV2ZW50TGlzdGVuZXI6OldlYkV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAoV2ViRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkV2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2ViRXZlbnRMaXN0ZW5lcjo6
aGFuZGxlRXZlbnQpOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIu
bW06CisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyIGluaXRdKTogVXNlIHRoZSBu
ZXdseSBpbmRlcGVuZGVudCBXZWJFdmVudExpc3RlbmVyLgorCisgICAgICAgIFRoaXMgY2xhc3Mg
aXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgSFRNTE1lZGlhRWxlbWVudC4gIEVhY2ggb2YgdGhl
c2UgZnVuY3Rpb25zCisgICAgICAgIGNhbGxzIHRocm91Z2ggdG8gdGhlIG1hdGNoaW5nIEhUTUxN
ZWRpYUVsZW1lbnQgZnVuY3Rpb24uCisgICAgICAgICogV2ViVmlldy9XZWJNZWRpYURlbGVnYXRl
Lmg6IAorICAgICAgICAqIFdlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5tbTogQWRkZWQuCisgICAg
ICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgZGVhbGxvY10pOgorICAgICAgICAoLVtXZWJNZWRpYURl
bGVnYXRlIHNldE1lZGlhRWxlbWVudDpXZWJDb3JlOjpdKToKKyAgICAgICAgKC1bV2ViTWVkaWFE
ZWxlZ2F0ZSBXZWJDb3JlOjpdKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSByZXF1ZXN0
RXhpdEZ1bGxzY3JlZW5dKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBiZWdpblNjcnVi
YmluZ10pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIGVuZFNjcnViYmluZ10pOgorICAg
ICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIGN1cnJlbnRUaW1lXSk6CisgICAgICAgICgtW1dlYk1l
ZGlhRGVsZWdhdGUgc2V0Q3VycmVudFRpbWU6XSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdh
dGUgZHVyYXRpb25dKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSB2b2x1bWVdKToKKyAg
ICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBtdXRlZF0pOgorICAgICAgICAoLVtXZWJNZWRpYURl
bGVnYXRlIHNldE11dGVkOl0pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIHNldFZvbHVt
ZTpdKToKKyAgICAgICAgKC1bV2ViTWVkaWFEZWxlZ2F0ZSBjYW5QbGF5XSk6CisgICAgICAgICgt
W1dlYk1lZGlhRGVsZWdhdGUgcGxheV0pOgorICAgICAgICAoLVtXZWJNZWRpYURlbGVnYXRlIHBh
dXNlXSk6CisgICAgICAgICgtW1dlYk1lZGlhRGVsZWdhdGUgcmV3aW5kOl0pOgorICAgICAgICAo
LVtXZWJNZWRpYURlbGVnYXRlIG1lZGlhRWxlbWVudFNjcmVlblJlY3RdKToKKyAgICAgICAgKC1b
V2ViTWVkaWFEZWxlZ2F0ZSByZWxlYXNlTWVkaWFFbGVtZW50TGF5ZXJdKToKKyAgICAgICAgKC1b
V2ViTWVkaWFEZWxlZ2F0ZSBzdGVhbE1lZGlhRWxlbWVudExheWVyXSk6CisgICAgICAgICgtW1dl
Yk1lZGlhRGVsZWdhdGUgZXhpdEZ1bGxTY3JlZW5Db21wbGV0ZWRdKToKKyAgICAgICAgKC1bV2Vi
TWVkaWFEZWxlZ2F0ZSBlbnRlckZ1bGxTY3JlZW5Db21wbGV0ZWRdKToKKworMjAxMS0wNi0wMSAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBNb3ZlIEZ1bGwgU2NyZWVuIENvbnRyb2xsZXJzIGlu
dG8gV2ViQ29yZS4KIAogICAgICAgICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBRVEtpdCBmcm9tIHdl
a2l0RXhpdEZ1bGxzY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJFdmVudExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50
TGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTdhZjk4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJFdmVudExpc3Rl
bmVyLmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYkNvcmUvRXZl
bnRMaXN0ZW5lci5oPgorI2ltcG9ydCA8d3RmL1Bhc3NSZWZQdHIuaD4KKworY2xhc3MgV2ViRXZl
bnRMaXN0ZW5lciA6IHB1YmxpYyBXZWJDb3JlOjpFdmVudExpc3RlbmVyIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJFdmVudExpc3RlbmVyPiBjcmVhdGUoaWQgZGVsZWdhdGUs
IFNFTCBzZWxlY3Rvcik7CisgICAgdmlydHVhbCBib29sIG9wZXJhdG9yPT0oY29uc3QgV2ViQ29y
ZTo6RXZlbnRMaXN0ZW5lciYpOworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViQ29yZTo6RXZlbnQqKTsKKyAgICAKK3ByaXZh
dGU6CisgICAgV2ViRXZlbnRMaXN0ZW5lcihpZCBkZWxlZ2F0ZSwgU0VMIHNlbGVjdG9yKTsgCisg
ICAgaWQgbV9kZWxlZ2F0ZTsKKyAgICBTRUwgbV9zZWxlY3RvcjsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkV2ZW50TGlzdGVuZXIubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYjVlM2Q2MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRXZlbnRMaXN0ZW5lci5tbQpAQCAtMCwwICsxLDM0IEBACisvLworLy8g
IFdlYkV2ZW50TGlzdGVuZXIuY3BwCisvLyAgV2ViS2l0CisvLworLy8gIENyZWF0ZWQgYnkgSmVy
IE5vYmxlIG9uIDUvMzAvMTEuCisvLyAgQ29weXJpZ2h0IDIwMTEgQXBwbGUgQ29tcHV0ZXIuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLworCisjaW1wb3J0ICJXZWJFdmVudExpc3RlbmVyLmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitXZWJFdmVudExpc3RlbmVyOjpXZWJFdmVudExp
c3RlbmVyKGlkIGRlbGVnYXRlLCBTRUwgc2VsZWN0b3IpCisgICAgOiBFdmVudExpc3RlbmVyKENQ
UEV2ZW50TGlzdGVuZXJUeXBlKQorICAgICwgbV9kZWxlZ2F0ZShkZWxlZ2F0ZSkKKyAgICAsIG1f
c2VsZWN0b3Ioc2VsZWN0b3IpCit7IAorfQorCitQYXNzUmVmUHRyPFdlYkV2ZW50TGlzdGVuZXI+
IFdlYkV2ZW50TGlzdGVuZXI6OmNyZWF0ZShpZCBkZWxlZ2F0ZSwgU0VMIHNlbGVjdG9yKSAKK3sg
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJFdmVudExpc3RlbmVyKGRlbGVnYXRlLCBzZWxl
Y3RvcikpOyAKK30KKworYm9vbCBXZWJFdmVudExpc3RlbmVyOjpvcGVyYXRvcj09KGNvbnN0IEV2
ZW50TGlzdGVuZXImIGxpc3RlbmVyKQoreworICAgIHJldHVybiB0aGlzID09ICZsaXN0ZW5lcjsK
K30KKwordm9pZCBXZWJFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBFdmVudCogZXZlbnQpCit7CisgICAgaWYgKFttX2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjptX3NlbGVjdG9yXSkKKyAgICAgICAgW21fZGVsZWdhdGUgcGVyZm9y
bVNlbGVjdG9yOm1fc2VsZWN0b3JdOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0KaW5kZXggYzNkNzRhYy4uOTYxYzZkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250
cm9sbGVyLm1tCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbXBvcnQgIldlYkZ1bGxTY3JlZW5Db250
cm9sbGVyLmgiCiAKKyNpbXBvcnQgIldlYkV2ZW50TGlzdGVuZXIuaCIKICNpbXBvcnQgIldlYk5T
V2luZG93RXh0cmFzLmgiCiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCIKICNpbXBv
cnQgIldlYlZpZXdJbnRlcm5hbC5oIgpAQCAtNzYsMTcgKzc3LDYgQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAtIChOU1ZpZXcqKWFuaW1hdGlvblZpZXc7CiBAZW5kCiAKLWNsYXNzIE1lZGlh
RXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBFdmVudExpc3RlbmVyIHsKLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZWRpYUV2ZW50TGlzdGVuZXI+IGNyZWF0ZShXZWJGdWxsU2NyZWVuQ29u
dHJvbGxlciogZGVsZWdhdGUpOwotICAgIHZpcnR1YWwgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEV2
ZW50TGlzdGVuZXImKTsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIEV2ZW50Kik7Ci0KLXByaXZhdGU6Ci0gICAgTWVkaWFFdmVudExpc3RlbmVy
KFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyKiBkZWxlZ2F0ZSk7IAotICAgIFdlYkZ1bGxTY3JlZW5D
b250cm9sbGVyKiBkZWxlZ2F0ZTsKLX07Ci0KIEBpbnRlcmZhY2UgV2ViRnVsbFNjcmVlbkNvbnRy
b2xsZXIoUHJpdmF0ZSkKIC0gKHZvaWQpX3JlcXVlc3RFeGl0RnVsbHNjcmVlbldpdGhBbmltYXRp
b246KEJPT0wpYW5pbWF0aW9uOwogLSAodm9pZClfdXBkYXRlTWVudUFuZERvY2tGb3JGdWxsc2Ny
ZWVuOwpAQCAtMTE0LDcgKzEwNCw3IEBAIHByaXZhdGU6CiAgICAgaWYgKCFzZWxmKQogICAgICAg
ICByZXR1cm4gbmlsOwogICAgIFtzZWxmIHdpbmRvd0RpZExvYWRdOwotICAgIF9tZWRpYUV2ZW50
TGlzdGVuZXIgPSBNZWRpYUV2ZW50TGlzdGVuZXI6OmNyZWF0ZShzZWxmKTsKKyAgICBfbWVkaWFF
dmVudExpc3RlbmVyID0gV2ViRXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKHNlbGYsIEBzZWxlY3Rvcihf
dXBkYXRlUG93ZXJBc3NlcnRpb25zKSk7CiAgICAgcmV0dXJuIHNlbGY7CiAgICAgCiB9CkBAIC04
ODMsMjggKzg3Myw0IEBAIHByaXZhdGU6CiB9CiBAZW5kCiAKLSNwcmFnbWEgbWFyayAtCi0jcHJh
Z21hIG1hcmsgTWVkaWFFdmVudExpc3RlbmVyCi0KLU1lZGlhRXZlbnRMaXN0ZW5lcjo6TWVkaWFF
dmVudExpc3RlbmVyKFdlYkZ1bGxTY3JlZW5Db250cm9sbGVyKiBkZWxlZ2F0ZSkKLSAgICA6IEV2
ZW50TGlzdGVuZXIoQ1BQRXZlbnRMaXN0ZW5lclR5cGUpCi0gICAgLCBkZWxlZ2F0ZShkZWxlZ2F0
ZSkKLXsgCi19Ci0KLVBhc3NSZWZQdHI8TWVkaWFFdmVudExpc3RlbmVyPiBNZWRpYUV2ZW50TGlz
dGVuZXI6OmNyZWF0ZShXZWJGdWxsU2NyZWVuQ29udHJvbGxlciogZGVsZWdhdGUpIAoteyAKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhRXZlbnRMaXN0ZW5lcihkZWxlZ2F0ZSkpOyAKLX0K
LQotYm9vbCBNZWRpYUV2ZW50TGlzdGVuZXI6Om9wZXJhdG9yPT0oY29uc3QgRXZlbnRMaXN0ZW5l
ciYgbGlzdGVuZXIpCi17Ci0gICAgcmV0dXJuIHRoaXMgPT0gJmxpc3RlbmVyOwotfQotCi12b2lk
IE1lZGlhRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgRXZlbnQqIGV2ZW50KQotewotICAgIFtkZWxlZ2F0ZSBfdXBkYXRlUG93ZXJBc3Nl
cnRpb25zXTsKLX0KLQogI2VuZGlmIC8qIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkgKi8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJNZWRpYURlbGVnYXRlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMWE0MWFhOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWYgRU5BQkxFKFZJREVPKQorCisjaW1wb3J0IDx3dGYvUmVmUHRyLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworICAgIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7Cit9CisKK0BpbnRlcmZh
Y2UgV2ViTWVkaWFEZWxlZ2F0ZSA6IE5TT2JqZWN0PFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXJEZWxlZ2F0ZT4geworICAgIFJlZlB0cjxXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50PiBfbWVk
aWFFbGVtZW50OworfQorCistIChpZClpbml0V2l0aE1lZGlhRWxlbWVudDooV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudCopZWxlbWVudDsKKy0gKHZvaWQpc2V0TWVkaWFFbGVtZW50OihXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50KillbGVtZW50OworLSAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dCopbWVkaWFFbGVtZW50OworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViTWVkaWFEZWxlZ2F0ZS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi41Njk4ZjQxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJNZWRpYURlbGVnYXRlLm1tCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFZJREVPKQorCisjaW1wb3J0ICJXZWJNZWRpYURlbGVnYXRlLmgiCisjaW1wb3J0ICJXZWJF
dmVudExpc3RlbmVyLmgiCisjaW1wb3J0IDxXZWJjb3JlL0V2ZW50TmFtZXMuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvSFRNTE1lZGlhRWxlbWVudC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworQGltcGxlbWVudGF0aW9uIFdlYk1lZGlhRGVsZWdhdGUKKworLSAoaWQpaW5pdFdpdGhNZWRp
YUVsZW1lbnQ6KEhUTUxNZWRpYUVsZW1lbnQqKWVsZW1lbnQKK3sKKyAgICBzZWxmID0gW3N1cGVy
IGluaXRdOworICAgIGlmICghc2VsZikKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICAKKyAgICBb
c2VsZiBzZXRNZWRpYUVsZW1lbnQ6ZWxlbWVudF07CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0g
KHZvaWQpZGVhbGxvYworeworICAgIFtzZWxmIHNldE1lZGlhRWxlbWVudDowXTsKKyAgICBbc3Vw
ZXIgZGVhbGxvY107Cit9CisKKy0gKHZvaWQpc2V0TWVkaWFFbGVtZW50OihXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50KillbGVtZW50Cit7CisgICAgX21lZGlhRWxlbWVudCA9IGVsZW1lbnQ7Cit9
CisKKy0gKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQqKW1lZGlhRWxlbWVudAoreworICAgIHJl
dHVybiBfbWVkaWFFbGVtZW50LmdldCgpOworfQorCistICh2b2lkKXJlcXVlc3RFeGl0RnVsbHNj
cmVlbgoreworICAgIGlmIChfbWVkaWFFbGVtZW50KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5l
eGl0RnVsbHNjcmVlbigpOworfQorCistICh2b2lkKWJlZ2luU2NydWJiaW5nCit7CisgICAgaWYg
KF9tZWRpYUVsZW1lbnQpCisgICAgICAgIF9tZWRpYUVsZW1lbnQtPmJlZ2luU2NydWJiaW5nKCk7
Cit9CisKKy0gKHZvaWQpZW5kU2NydWJiaW5nCit7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQpCisg
ICAgICAgIF9tZWRpYUVsZW1lbnQtPmVuZFNjcnViYmluZygpOworfQorCistIChmbG9hdCljdXJy
ZW50VGltZQoreworICAgIHJldHVybiBfbWVkaWFFbGVtZW50ID8gX21lZGlhRWxlbWVudC0+Y3Vy
cmVudFRpbWUoKSA6IDA7Cit9CisKKy0gKHZvaWQpc2V0Q3VycmVudFRpbWU6KGRvdWJsZSljdXJy
ZW50VGltZQoreworICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZTsKKyAgICBpZiAoX21lZGlh
RWxlbWVudCkKKyAgICAgICAgX21lZGlhRWxlbWVudC0+c2V0Q3VycmVudFRpbWUoY3VycmVudFRp
bWUsIGUpOworfQorCistIChkb3VibGUpZHVyYXRpb24KK3sKKyAgICByZXR1cm4gX21lZGlhRWxl
bWVudCA/IF9tZWRpYUVsZW1lbnQtPmR1cmF0aW9uKCkgOiAwOworfQorCistIChmbG9hdCl2b2x1
bWUKK3sKKyAgICByZXR1cm4gX21lZGlhRWxlbWVudCA/IF9tZWRpYUVsZW1lbnQtPnZvbHVtZSgp
IDogMDsKK30KKworLSAoQk9PTCltdXRlZAoreworICAgIHJldHVybiBfbWVkaWFFbGVtZW50ID8g
X21lZGlhRWxlbWVudC0+bXV0ZWQoKSA6IE5POworfQorCistICh2b2lkKXNldE11dGVkOihCT09M
KW11dGVkCit7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQpCisgICAgICAgIF9tZWRpYUVsZW1lbnQt
PnNldE11dGVkKG11dGVkKTsKK30KKworLSAodm9pZClzZXRWb2x1bWU6KGZsb2F0KXZvbHVtZQor
eworICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZTsKKyAgICBpZiAoX21lZGlhRWxlbWVudCkK
KyAgICAgICAgX21lZGlhRWxlbWVudC0+c2V0Vm9sdW1lKHZvbHVtZSwgZSk7Cit9CisKKy0gKEJP
T0wpY2FuUGxheQoreworICAgIHJldHVybiBfbWVkaWFFbGVtZW50ID8gX21lZGlhRWxlbWVudC0+
Y2FuUGxheSgpIDogTk87Cit9CisKKy0gKHZvaWQpcGxheQoreworICAgIGlmIChfbWVkaWFFbGVt
ZW50KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5wbGF5KF9tZWRpYUVsZW1lbnQtPnByb2Nlc3Np
bmdVc2VyR2VzdHVyZSgpKTsKK30KKworLSAodm9pZClwYXVzZQoreworICAgIGlmIChfbWVkaWFF
bGVtZW50KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5wYXVzZShfbWVkaWFFbGVtZW50LT5wcm9j
ZXNzaW5nVXNlckdlc3R1cmUoKSk7Cit9CisKKy0gKHZvaWQpcmV3aW5kOihmbG9hdClkZWx0YQor
eworICAgIGlmIChfbWVkaWFFbGVtZW50KQorICAgICAgICBfbWVkaWFFbGVtZW50LT5yZXdpbmQo
ZGVsdGEpOworfQorCistIChOU1JlY3QpbWVkaWFFbGVtZW50U2NyZWVuUmVjdAoreworICAgIHJl
dHVybiBfbWVkaWFFbGVtZW50ID8gX21lZGlhRWxlbWVudC0+c2NyZWVuUmVjdCgpIDogTlNaZXJv
UmVjdDsKK30KKworLSAodm9pZClyZWxlYXNlTWVkaWFFbGVtZW50TGF5ZXIKK3sKKyAgICBpZiAo
X21lZGlhRWxlbWVudCkKKyAgICAgICAgX21lZGlhRWxlbWVudC0+c2V0UGxhdGZvcm1MYXllclN0
b2xlbihmYWxzZSk7Cit9CisKKy0gKENBTGF5ZXIqKXN0ZWFsTWVkaWFFbGVtZW50TGF5ZXIKK3sK
KyAgICBpZiAoX21lZGlhRWxlbWVudCkgeworICAgICAgICBfbWVkaWFFbGVtZW50LT5zZXRQbGF0
Zm9ybUxheWVyU3RvbGVuKHRydWUpOworICAgICAgICByZXR1cm4gX21lZGlhRWxlbWVudC0+ZnVs
bFNjcmVlbkxheWVyKCk7CisgICAgfQorICAgIHJldHVybiAwOworfQorCistICh2b2lkKWV4aXRG
dWxsU2NyZWVuQ29tcGxldGVkCit7CisgICAgaWYgKF9tZWRpYUVsZW1lbnQpCisgICAgICAgIF9t
ZWRpYUVsZW1lbnQtPnNldFBsYXRmb3JtTGF5ZXJTdG9sZW4oZmFsc2UpOworfQorCistICh2b2lk
KWVudGVyRnVsbFNjcmVlbkNvbXBsZXRlZAoreworfQorQGVuZAorCisjZW5kaWYKLS0gCjEuNy40
LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95650</attachid>
            <date>2011-06-01 13:32:14 -0700</date>
            <delta_ts>2011-09-16 11:22:40 -0700</delta_ts>
            <desc>[PATCH 3/5] WebVideoFullscreenController and  WebVideoFullscreenHUDController now use a delegate</desc>
            <filename>0003-WebVideoFullscreenController-and-WebVideoFullscreenH.patch</filename>
            <type>text/plain</type>
            <size>27677</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">RnJvbSBmM2MwOGY1MzIwNGI4YjlhMjQyYTMyYzY0NWM3YzUxYjIwOGY5MzIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXIgTm9ibGUgPGplci5ub2JsZUBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMSBKdW4gMjAxMSAxMjo1NDo1NiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSBXZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFuZAogV2ViVmlkZW9GdWxsc2NyZWVuSFVEQ29udHJv
bGxlciBub3cgdXNlIGEgZGVsZWdhdGUKIGluc3RlYWQgb2YgdGhlIEhUTUxNZWRpYUVsZW1lbnQg
ZGlyZWN0bHkuCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClJlbW92ZSBkZXBlbmRlbmN5
IG9uIFFUS2l0IGZyb20gd2VraXRFeGl0RnVsbHNjcmVlbigpCmh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MTg0MwoKU291cmNlL1dlYkNvcmU6CgpObyBuZXcgdGVzdHM7
IHRoZSBleGlzdGluZyBtZWRpYSBmdWxsIHNjcmVlbiB0ZXN0cyBhcmUgc3VmZmljaWVudC4KCiog
cGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaDoKKiBwbGF0Zm9ybS9t
YWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbToKKC1bV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlciBkZWFsbG9jXSk6IFJlbGVhc2UgdGhlIGRlbGVnYXRlLgooLVtXZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyIHNldHVwVmlkZW9PdmVybGF5Ol0pOiBOb3cgdGFrZXMgYSBDQUxh
eWVyLgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGxheW91dFN1YmxheWVyc09mTGF5
ZXI6XSk6IEFkZGVkOyByZXNpemUgc3VibGF5ZXJzCiAgICB0byB0YWtlIHVwIHRoZSBlbnRpcmUg
dmlldy4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3aW5kb3dEaWRMb2FkXSk6IExl
dCB0aGUgdmlldyBvd24gaXRzIG93biBsYXllcgogICAgYW5kIG1ha2UgdGhlIHBhc3NlZC1pbiBs
YXllciBhIHN1YmxheWVyLgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGRlbGVnYXRl
XSk6IENoYW5nZWQgcmV0dXJuIHR5cGUuCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIg
c2V0RGVsZWdhdGU6XSk6IENoYW5nZWQgcGFyYW1ldGVyIHR5cGUuCigtW1dlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXIgd2luZG93RGlkRXhpdEZ1bGxzY3JlZW5dKTogSW5mb3JtIHRoZSBkZWxl
Z2F0ZS4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3aW5kb3dEaWRFbnRlckZ1bGxz
Y3JlZW5dKTogU2V0IHRoZSBodWQgd2luZG93J3MgZGVsZWdhdGUKICAgIHRvIG91ciBkZWxlZ2F0
ZS4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBtZWRpYUVsZW1lbnRSZWN0XSk6IFVz
ZSB0aGUgZGVsZWdhdGUuCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgZW50ZXJGdWxs
c2NyZWVuOl0pOiBTZXQgdGhlIHZpZGVvIGxheWVyIHZpYSB0aGUgZGVsZWdhdGUuCigtW1dlYlZp
ZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgdXBkYXRlUG93ZXJBc3NlcnRpb25zXSk6IFVzZSB0aGUg
ZGVsZWdhdGUuCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgX3JlcXVlc3RFeGl0XSk6
IERpdHRvLgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGZhZGVIVURJbl0pOiBEaXR0
bwooLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHVwZGF0ZVBsYXlTdGF0ZV0pOiBBZGRl
ZC4gVXBkYXRlIHN0YXRlIGluIHRoZSBIVUQuCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXIgdXBkYXRlVGltZV0pOiBEaXR0by4KKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB1
cGRhdGVWb2x1bWVdKTogRGl0dG8uCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgdXBk
YXRlRHVyYXRpb25dKTogRGl0dG8uCigtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgcmF0
ZUNoYW5nZWRdKTogRGl0dG8uCiogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdp
bmRvd0NvbnRyb2xsZXIuaDoKKiBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2lu
ZG93Q29udHJvbGxlci5tbToKKHRpbWVUb1N0cmluZyk6IERvbid0IGFzc2VydCB3aGVuIHRoZSAo
ZHVyYXRpb24gLSB0aW1lIDwgMCkuIEp1c3QgcmVzZXQKICAgIHRoZSBjYWxjdWxhdGVkIHRpbWUg
cmVtYWluaW5nIHRvIDAuCgpUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB1c2UgdGhlIGRlbGVnYXRl
IGluc3RlYWQgb2YgdGhlIEhUTUxNZWRpYUVsZW1lbnQgZGlyZWN0bHk6CigtW1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgdXBkYXRlVm9sdW1lXSk6CigtW1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgZW5kU2NydWJiaW5nXSk6CigtW1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgdGltZWxpbmVQb3NpdGlvbkNoYW5nZWQ6XSk6Cigt
W1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgY3VycmVudFRpbWVdKToKKC1b
V2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBzZXRDdXJyZW50VGltZTpdKToK
KC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBkdXJhdGlvbl0pOgooLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGRlY3JlbWVudFZvbHVtZV0pOgoo
LVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGluY3JlbWVudFZvbHVtZV0p
OgooLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHZvbHVtZV0pOgooLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHNldFZvbHVtZTpdKToKKC1bV2Vi
VmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBwbGF5aW5nXSk6CigtW1dlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgc2V0UGxheWluZzpdKToKKC1bV2ViVmlkZW9G
dWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciByZW1haW5pbmdUaW1lVGV4dF0pOgooLVtXZWJW
aWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGVsYXBzZWRUaW1lVGV4dF0pOgooLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHJld2luZDpdKToKKC1bV2ViVmlk
ZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBmYXN0Rm9yd2FyZDpdKToKClNvdXJjZS9X
ZWJLaXQvbWFjOgoKKiBXZWJWaWV3L1dlYlZpZXcubW06CigtW1dlYlZpZXcgX2VudGVyRnVsbHNj
cmVlbkZvck5vZGU6V2ViQ29yZTo6XSk6IFBhc3MgdGhlIGZ1bGwtc2NyZWVuIGNvbnRyb2xsZXIK
ICAgIGEgZGVsZWdhdGUgaW5zdGVhZCBvZiBhIG1lZGlhIGVsZW1lbnQgZGlyZWN0bHkuCi0tLQog
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDU3
ICsrKysrKysrKwogLi4uL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
LmggICAgfCAgIDE4ICsrLS0KIC4uLi9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5tbSAgIHwgIDEyNyArKysrKysrKysrKy0tLS0tLS0tLQogLi4uL21hYy9XZWJWaWRl
b0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmggICAgfCAgIDIwICsrKy0KIC4uLi9tYWMv
V2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5tbSAgIHwgICA3MyArKystLS0t
LS0tLQogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDEzICsrCiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gICAgICAgICAg
ICAgICB8ICAgMTkgKystLQogNyBmaWxlcyBjaGFuZ2VkLCAxOTggaW5zZXJ0aW9ucygrKSwgMTI5
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4OTQyMTA3Li4yODU5ZDVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0yLDYgKzIsNjMgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
IAorICAgICAgICBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGFuZCBXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURDb250cm9sbGVyIG5vdyB1c2UgYSBkZWxlZ2F0ZSBpbnN0ZWFkIG9mIHRoZSBIVE1M
TWVkaWFFbGVtZW50IGRpcmVjdGx5LgorCisgICAgICAgIFJlbW92ZSBkZXBlbmRlbmN5IG9uIFFU
S2l0IGZyb20gd2VraXRFeGl0RnVsbHNjcmVlbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTg0MworCisgICAgICAgIE5vIG5ldyB0ZXN0czsgdGhl
IGV4aXN0aW5nIG1lZGlhIGZ1bGwgc2NyZWVuIHRlc3RzIGFyZSBzdWZmaWNpZW50LgorCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbToKKyAgICAg
ICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBkZWFsbG9jXSk6IFJlbGVhc2UgdGhl
IGRlbGVnYXRlLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHNldHVw
VmlkZW9PdmVybGF5Ol0pOiBOb3cgdGFrZXMgYSBDQUxheWVyLgorICAgICAgICAoLVtXZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyIGxheW91dFN1YmxheWVyc09mTGF5ZXI6XSk6IEFkZGVkOyBy
ZXNpemUgc3VibGF5ZXJzCisgICAgICAgICAgICB0byB0YWtlIHVwIHRoZSBlbnRpcmUgdmlldy4K
KyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3aW5kb3dEaWRMb2FkXSk6
IExldCB0aGUgdmlldyBvd24gaXRzIG93biBsYXllcgorICAgICAgICAgICAgYW5kIG1ha2UgdGhl
IHBhc3NlZC1pbiBsYXllciBhIHN1YmxheWVyLgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyIGRlbGVnYXRlXSk6IENoYW5nZWQgcmV0dXJuIHR5cGUuCisgICAgICAgICgt
W1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgc2V0RGVsZWdhdGU6XSk6IENoYW5nZWQgcGFy
YW1ldGVyIHR5cGUuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgd2lu
ZG93RGlkRXhpdEZ1bGxzY3JlZW5dKTogSW5mb3JtIHRoZSBkZWxlZ2F0ZS4KKyAgICAgICAgKC1b
V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3aW5kb3dEaWRFbnRlckZ1bGxzY3JlZW5dKTog
U2V0IHRoZSBodWQgd2luZG93J3MgZGVsZWdhdGUKKyAgICAgICAgICAgIHRvIG91ciBkZWxlZ2F0
ZS4KKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBtZWRpYUVsZW1lbnRS
ZWN0XSk6IFVzZSB0aGUgZGVsZWdhdGUuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIgZW50ZXJGdWxsc2NyZWVuOl0pOiBTZXQgdGhlIHZpZGVvIGxheWVyIHZpYSB0aGUg
ZGVsZWdhdGUuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgdXBkYXRl
UG93ZXJBc3NlcnRpb25zXSk6IFVzZSB0aGUgZGVsZWdhdGUuCisgICAgICAgICgtW1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIgX3JlcXVlc3RFeGl0XSk6IERpdHRvLgorICAgICAgICAoLVtX
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGZhZGVIVURJbl0pOiBEaXR0bworICAgICAgICAo
LVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHVwZGF0ZVBsYXlTdGF0ZV0pOiBBZGRlZC4g
VXBkYXRlIHN0YXRlIGluIHRoZSBIVUQuCisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIgdXBkYXRlVGltZV0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlciB1cGRhdGVWb2x1bWVdKTogRGl0dG8uCisgICAgICAgICgtW1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIgdXBkYXRlRHVyYXRpb25dKTogRGl0dG8uCisgICAgICAgICgt
W1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgcmF0ZUNoYW5nZWRdKTogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29u
dHJvbGxlci5tbToKKyAgICAgICAgKHRpbWVUb1N0cmluZyk6IERvbid0IGFzc2VydCB3aGVuIHRo
ZSAoZHVyYXRpb24gLSB0aW1lIDwgMCkuIEp1c3QgcmVzZXQKKyAgICAgICAgICAgIHRoZSBjYWxj
dWxhdGVkIHRpbWUgcmVtYWluaW5nIHRvIDAuCisgICAgICAgIAorICAgICAgICBUaGUgZm9sbG93
aW5nIGZ1bmN0aW9ucyB1c2UgdGhlIGRlbGVnYXRlIGluc3RlYWQgb2YgdGhlIEhUTUxNZWRpYUVs
ZW1lbnQgZGlyZWN0bHk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0Nv
bnRyb2xsZXIgdXBkYXRlVm9sdW1lXSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhV
RFdpbmRvd0NvbnRyb2xsZXIgZW5kU2NydWJiaW5nXSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVs
bHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgdGltZWxpbmVQb3NpdGlvbkNoYW5nZWQ6XSk6Cisg
ICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgY3VycmVudFRp
bWVdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBz
ZXRDdXJyZW50VGltZTpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93
Q29udHJvbGxlciBkdXJhdGlvbl0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURX
aW5kb3dDb250cm9sbGVyIGRlY3JlbWVudFZvbHVtZV0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1
bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGluY3JlbWVudFZvbHVtZV0pOgorICAgICAgICAo
LVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHZvbHVtZV0pOgorICAgICAg
ICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHNldFZvbHVtZTpdKToK
KyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBwbGF5aW5n
XSk6CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgc2V0
UGxheWluZzpdKToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlciByZW1haW5pbmdUaW1lVGV4dF0pOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5I
VURXaW5kb3dDb250cm9sbGVyIGVsYXBzZWRUaW1lVGV4dF0pOgorICAgICAgICAoLVtXZWJWaWRl
b0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIHJld2luZDpdKToKKyAgICAgICAgKC1bV2Vi
VmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlciBmYXN0Rm9yd2FyZDpdKToKKworMjAx
MS0wNi0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBBZGQgdHdvIG5ldyB1dGlsaXR5IGNs
YXNlc3M6IFdlYkV2ZW50TGlzdGVuZXIgYW5kIFdlYk1lZGlhRGVsZWdhdGUKIAogICAgICAgICBS
ZW1vdmUgZGVwZW5kZW5jeSBvbiBRVEtpdCBmcm9tIHdla2l0RXhpdEZ1bGxzY3JlZW4oKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyLmgKaW5kZXggNmM0M2JhYS4uOTNhYzEwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ci5oCkBAIC0zNSwxNyArMzUsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogQHByb3RvY29sIFdl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZTsKIEBjbGFzcyBXZWJWaWRlb0Z1bGxz
Y3JlZW5IVURXaW5kb3dDb250cm9sbGVyOwogQGNsYXNzIFdlYldpbmRvd0ZhZGVBbmltYXRpb247
Ci1AY2xhc3MgUVRNb3ZpZUxheWVyOworQGNsYXNzIENBTGF5ZXI7CiAKIEBpbnRlcmZhY2UgV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciA6IE5TV2luZG93Q29udHJvbGxlciB7CiBAcHJpdmF0
ZQogICAgIFJlZlB0cjxXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50PiBfbWVkaWFFbGVtZW50OyAv
LyAocmV0YWluKQotICAgIGlkIDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyRGVsZWdhdGU+
IF9kZWxlZ2F0ZTsgLy8gKGFzc2lnbikKKyAgICBOU09iamVjdDxXZWJWaWRlb0Z1bGxzY3JlZW5D
b250cm9sbGVyRGVsZWdhdGU+ICpfZGVsZWdhdGU7IC8vIChyZXRhaW4pCiAKICAgICBOU1dpbmRv
dyAqX2JhY2tncm91bmRGdWxsc2NyZWVuV2luZG93OyAvLyAocmV0YWluKQogICAgIFdlYlZpZGVv
RnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIgKl9odWRDb250cm9sbGVyOyAvLyAocmV0YWlu
KQogCiAgICAgV2ViV2luZG93RmFkZUFuaW1hdGlvbiAqX2ZhZGVBbmltYXRpb247IC8vIChyZXRh
aW4pCisgICAgQ0FMYXllciAqX21lZGlhTGF5ZXI7IC8vIChyZXRhaW4pCiAKICAgICBCT09MIF9p
c0VuZGluZ0Z1bGxzY3JlZW47CiAgICAgQk9PTCBfaXNXaW5kb3dMb2FkZWQ7CkBAIC01NywxNiAr
NTgsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHVpbnQzMl90IF9zYXZlZFVJT3B0aW9u
czsKIH0KIAotLSAoaWQgPFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZT4pZGVs
ZWdhdGU7Ci0tICh2b2lkKXNldERlbGVnYXRlOihpZCA8V2ViVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlckRlbGVnYXRlPilkZWxlZ2F0ZTsKLQotLSAodm9pZClzZXR1cFZpZGVvT3ZlcmxheTooUVRN
b3ZpZUxheWVyKilsYXllcjsKLS0gKHZvaWQpc2V0TWVkaWFFbGVtZW50OihXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50KiltZWRpYUVsZW1lbnQ7Ci0tIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
KiltZWRpYUVsZW1lbnQ7CistIChOU09iamVjdDxXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
RGVsZWdhdGU+KilkZWxlZ2F0ZTsKKy0gKHZvaWQpc2V0RGVsZWdhdGU6KE5TT2JqZWN0IDxXZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyRGVsZWdhdGU+KilkZWxlZ2F0ZTsKIAorLSAodm9pZClz
ZXR1cFZpZGVvT3ZlcmxheTooQ0FMYXllciopbGF5ZXI7CiAtICh2b2lkKWVudGVyRnVsbHNjcmVl
bjooTlNTY3JlZW4gKilzY3JlZW47CiAtICh2b2lkKWV4aXRGdWxsc2NyZWVuOwogCistICh2b2lk
KXVwZGF0ZVBsYXlTdGF0ZTsKKy0gKHZvaWQpdXBkYXRlVGltZTsKKy0gKHZvaWQpdXBkYXRlVm9s
dW1lOworLSAodm9pZCl1cGRhdGVEdXJhdGlvbjsKIEBlbmQKIAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
Lm1tCmluZGV4IDA2YTZiZmMuLjA0N2FhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCkBAIC0z
NCwyMiArMzQsMTggQEAKICNpbXBvcnQgPEhJVG9vbGJveC9NYWNBcHBsaWNhdGlvbi5oPgogI2lt
cG9ydCA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+CiAjaW1wb3J0IDxPU1NlcnZpY2VzL1Bvd2Vy
Lmg+Ci0jaW1wb3J0IDxRVEtpdC9RVEtpdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9FdmVudE5hbWVz
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxNZWRpYUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNv
cmUvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPG9iamMvb2JqYy1ydW50aW1lLmg+CisjaW1wb3J0
IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvVW51c2VkUGFyYW0uaD4KKyNpbXBvcnQg
PEhJVG9vbGJveC9NYWNBcHBsaWNhdGlvbi5oPgogCiAjaWYgVVNFKEdTVFJFQU1FUikKICNpbXBv
cnQgPFdlYkNvcmUvR1N0cmVhbWVyR1dvcmxkLmg+CiAjZW5kaWYKIAotU09GVF9MSU5LX0ZSQU1F
V09SSyhRVEtpdCkKLVNPRlRfTElOS19DTEFTUyhRVEtpdCwgUVRNb3ZpZUxheWVyKQotCi1TT0ZU
X0xJTktfUE9JTlRFUihRVEtpdCwgUVRNb3ZpZVJhdGVEaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5T
U3RyaW5nICopCi0KLSNkZWZpbmUgUVRNb3ZpZVJhdGVEaWRDaGFuZ2VOb3RpZmljYXRpb24gZ2V0
UVRNb3ZpZVJhdGVEaWRDaGFuZ2VOb3RpZmljYXRpb24oKQogc3RhdGljIGNvbnN0IE5TVGltZUlu
dGVydmFsIHRpY2tsZVRpbWVySW50ZXJ2YWwgPSAxLjA7CiAKIEBpbnRlcmZhY2UgV2ViVmlkZW9G
dWxsc2NyZWVuV2luZG93IDogTlNXaW5kb3cKQEAgLTY3LDYgKzYzLDIwIEBAIHN0YXRpYyBjb25z
dCBOU1RpbWVJbnRlcnZhbCB0aWNrbGVUaW1lckludGVydmFsID0gMS4wOwogLSAodm9pZClyZXF1
ZXN0RXhpdEZ1bGxzY3JlZW5XaXRoQW5pbWF0aW9uOihCT09MKWFuaW1hdGlvbjsKIC0gKHZvaWQp
dXBkYXRlTWVudUFuZERvY2tGb3JGdWxsc2NyZWVuOwogLSAodm9pZCl1cGRhdGVQb3dlckFzc2Vy
dGlvbnM7CistICh2b2lkKXJlcXVlc3RFeGl0RnVsbHNjcmVlbjsKKy0gKHZvaWQpYmVnaW5TY3J1
YmJpbmc7CistICh2b2lkKWVuZFNjcnViYmluZzsKKy0gKGZsb2F0KWN1cnJlbnRUaW1lOworLSAo
dm9pZClzZXRDdXJyZW50VGltZTooZG91YmxlKWN1cnJlbnRUaW1lOworLSAoZG91YmxlKWR1cmF0
aW9uOworLSAoZmxvYXQpdm9sdW1lOworLSAoYm9vbCltdXRlZDsKKy0gKHZvaWQpc2V0TXV0ZWQ6
KGJvb2wpbXV0ZWQ7CistICh2b2lkKXNldFZvbHVtZTooZmxvYXQpdm9sdW1lOworLSAoYm9vbClj
YW5QbGF5OworLSAodm9pZClwbGF5OworLSAodm9pZClwYXVzZTsKKy0gKHZvaWQpcmV3aW5kOihm
bG9hdClkZWx0YTsKIEBlbmQKIAogQGludGVyZmFjZSBOU1dpbmRvdyhJc09uQWN0aXZlU3BhY2VB
ZGRpdGlvbkZvclRpZ2VyQW5kTGVvcGFyZCkKQEAgLTk0LDYgKzEwNCw3IEBAIHN0YXRpYyBjb25z
dCBOU1RpbWVJbnRlcnZhbCB0aWNrbGVUaW1lckludGVydmFsID0gMS4wOwogICAgIFtfdGlja2xl
VGltZXIgcmVsZWFzZV07CiAgICAgX3RpY2tsZVRpbWVyID0gbmlsOwogICAgIFtbTlNOb3RpZmlj
YXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6c2VsZl07CisgICAgW3Nl
bGYgc2V0RGVsZWdhdGU6bmlsXTsKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKQEAgLTEwMiw3
ICsxMTMsNyBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlja2xlVGltZXJJbnRlcnZh
bCA9IDEuMDsKICAgICByZXR1cm4gKFdlYlZpZGVvRnVsbHNjcmVlbldpbmRvdyAqKVtzdXBlciB3
aW5kb3ddOwogfQogCi0tICh2b2lkKXNldHVwVmlkZW9PdmVybGF5OihRVE1vdmllTGF5ZXIqKWxh
eWVyCistICh2b2lkKXNldHVwVmlkZW9PdmVybGF5OihDQUxheWVyKilsYXllcgogewogICAgIFdl
YlZpZGVvRnVsbHNjcmVlbldpbmRvdyAqd2luZG93ID0gW3NlbGYgZnVsbHNjcmVlbldpbmRvd107
CiAjaWYgVVNFKEdTVFJFQU1FUikKQEAgLTExMiwyMiArMTIzLDMwIEBAIHN0YXRpYyBjb25zdCBO
U1RpbWVJbnRlcnZhbCB0aWNrbGVUaW1lckludGVydmFsID0gMS4wOwogICAgICAgICAgICAgW3dp
bmRvdyBzZXRDb250ZW50Vmlldzpnc3RHd29ybGQtPnBsYXRmb3JtVmlkZW9XaW5kb3coKS0+d2lu
ZG93KCldOwogICAgIH0KICNlbHNlCi0gICAgW1t3aW5kb3cgY29udGVudFZpZXddIHNldExheWVy
OmxheWVyXTsKLSAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gc2V0V2FudHNMYXllcjpZRVNdOwot
ICAgIGlmIChfbWVkaWFFbGVtZW50ICYmIF9tZWRpYUVsZW1lbnQtPnBsYXRmb3JtTWVkaWEoKS50
eXBlID09IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6OlFUTW92aWVUeXBlKQotICAgICAgICBbbGF5
ZXIgc2V0TW92aWU6X21lZGlhRWxlbWVudC0+cGxhdGZvcm1NZWRpYSgpLm1lZGlhLnF0TW92aWVd
OworICAgIENBTGF5ZXIqIGNvbnRlbnRMYXllciA9IFtbd2luZG93IGNvbnRlbnRWaWV3XSBsYXll
cl07CisgICAgW2NvbnRlbnRMYXllciBzZXRTdWJsYXllcnM6bmlsXTsKKyAgICBbY29udGVudExh
eWVyIGFkZFN1YmxheWVyOmxheWVyXTsKKyAgICBbbGF5ZXIgc2V0RnJhbWU6W2NvbnRlbnRMYXll
ciBib3VuZHNdXTsKICNlbmRpZgogfQogCistICh2b2lkKWxheW91dFN1YmxheWVyc09mTGF5ZXI6
KENBTGF5ZXIgKilsYXllcgoreworICAgIEFTU0VSVChbW2xheWVyIHN1YmxheWVyc10gY291bnRd
IDw9IDEpOworICAgIGZvciAoQ0FMYXllciogc3VibGF5ZXIgaW4gW2xheWVyIHN1YmxheWVyc10p
IHsKKyAgICAgICAgW3N1YmxheWVyIHNldEZyYW1lOltsYXllciBib3VuZHNdXTsKKyAgICB9Cit9
CisKIC0gKHZvaWQpd2luZG93RGlkTG9hZAogewogICAgIFdlYlZpZGVvRnVsbHNjcmVlbldpbmRv
dyAqd2luZG93ID0gW3NlbGYgZnVsbHNjcmVlbldpbmRvd107CiAgICAgW3dpbmRvdyBzZXRIYXNT
aGFkb3c6WUVTXTsgLy8gVGhpcyBpcyBuaWNlciB3aXRoIGEgc2hhZG93LgogICAgIFt3aW5kb3cg
c2V0TGV2ZWw6TlNQb3BVcE1lbnVXaW5kb3dMZXZlbC0xXTsKLQotICAgIFFUTW92aWVMYXllciAq
bGF5ZXIgPSBbW2dldFFUTW92aWVMYXllckNsYXNzKCkgYWxsb2NdIGluaXRdOwotICAgIFtzZWxm
IHNldHVwVmlkZW9PdmVybGF5OmxheWVyXTsKLSAgICBbbGF5ZXIgcmVsZWFzZV07CisgICAgUmV0
YWluUHRyPENBTGF5ZXI+IGNvbnRlbnRMYXllcihBZG9wdE5TLCBbW0NBTGF5ZXIgYWxsb2NdIGlu
aXRdKTsKKyAgICBbY29udGVudExheWVyLmdldCgpIHNldERlbGVnYXRlOnNlbGZdOworICAgIFtb
d2luZG93IGNvbnRlbnRWaWV3XSBzZXRMYXllcjpjb250ZW50TGF5ZXIuZ2V0KCldOworICAgIFtb
d2luZG93IGNvbnRlbnRWaWV3XSBzZXRXYW50c0xheWVyOllFU107CiAKICNpZiAhVVNFKEdTVFJF
QU1FUikKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2Vy
dmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGFwcGxpY2F0aW9uRGlkUmVzaWduQWN0aXZlOikg
bmFtZTpOU0FwcGxpY2F0aW9uRGlkUmVzaWduQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpOU0Fw
cF07CkBAIC0xMzUsMzcgKzE1NCwxNyBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlj
a2xlVGltZXJJbnRlcnZhbCA9IDEuMDsKICNlbmRpZgogfQogCi0tIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50KiltZWRpYUVsZW1lbnQKLXsKLSAgICByZXR1cm4gX21lZGlhRWxlbWVudC5nZXQo
KTsKLX0KLQotLSAodm9pZClzZXRNZWRpYUVsZW1lbnQ6KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQqKW1lZGlhRWxlbWVudAotewotICAgIF9tZWRpYUVsZW1lbnQgPSBtZWRpYUVsZW1lbnQ7Ci0g
ICAgaWYgKFtzZWxmIGlzV2luZG93TG9hZGVkXSkgewotICAgICAgICBRVE1vdmllTGF5ZXIgKm1v
dmllTGF5ZXIgPSAoUVRNb3ZpZUxheWVyICopW1tbc2VsZiBmdWxsc2NyZWVuV2luZG93XSBjb250
ZW50Vmlld10gbGF5ZXJdOwotCi0gICAgICAgIEFTU0VSVChtb3ZpZUxheWVyICYmIFttb3ZpZUxh
eWVyIGlzS2luZE9mQ2xhc3M6W2dldFFUTW92aWVMYXllckNsYXNzKCkgY2xhc3NdXSk7Ci0gICAg
ICAgIFtzZWxmIHNldHVwVmlkZW9PdmVybGF5Om1vdmllTGF5ZXJdOwotI2lmICFVU0UoR1NUUkVB
TUVSKQotICAgICAgICBBU1NFUlQoW21vdmllTGF5ZXIgbW92aWVdKTsKLSAgICAgICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6QHNlbGVj
dG9yKHJhdGVDaGFuZ2VkOikgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5hbWU6UVRNb3ZpZVJhdGVEaWRDaGFuZ2VOb3RpZmljYXRpb24gCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6
W21vdmllTGF5ZXIgbW92aWVdXTsKLSNlbmRpZgotICAgIH0KLX0KLQotLSAoaWQgPFdlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZT4pZGVsZWdhdGUKKy0gKE5TT2JqZWN0PFdlYlZp
ZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZT4qKWRlbGVnYXRlCiB7CiAgICAgcmV0dXJu
IF9kZWxlZ2F0ZTsKIH0KIAotLSAodm9pZClzZXREZWxlZ2F0ZTooaWQgPFdlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZT4pZGVsZWdhdGUKKy0gKHZvaWQpc2V0RGVsZWdhdGU6KE5T
T2JqZWN0PFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJEZWxlZ2F0ZT4qKWRlbGVnYXRlCiB7
CisgICAgW2RlbGVnYXRlIHJldGFpbl07CisgICAgW19kZWxlZ2F0ZSByZWxlYXNlXTsKICAgICBf
ZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKKyAgICBbX2h1ZENvbnRyb2xsZXIgc2V0RGVsZWdhdGU6X2Rl
bGVnYXRlXTsKIH0KIAogLSAoQ0dGbG9hdCljbGVhckZhZGVBbmltYXRpb24KQEAgLTE5NSw2ICsx
OTQsOCBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlja2xlVGltZXJJbnRlcnZhbCA9
IDEuMDsKICAgICBbX2JhY2tncm91bmRGdWxsc2NyZWVuV2luZG93IGNsb3NlXTsKICAgICBbX2Jh
Y2tncm91bmRGdWxsc2NyZWVuV2luZG93IHJlbGVhc2VdOwogICAgIF9iYWNrZ3JvdW5kRnVsbHNj
cmVlbldpbmRvdyA9IG5pbDsKKworICAgIFtfZGVsZWdhdGUgZXhpdEZ1bGxTY3JlZW5Db21wbGV0
ZWRdOwogICAgIAogICAgIFtzZWxmIGF1dG9yZWxlYXNlXTsgLy8gQXNzb2NpYXRlZCAtcmV0YWlu
IGlzIGluIC1leGl0RnVsbHNjcmVlbi4KICAgICBfaXNFbmRpbmdGdWxsc2NyZWVuID0gTk87CkBA
IC0yMDYsMTkgKzIwNywyMSBAQCBzdGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwgdGlja2xlVGlt
ZXJJbnRlcnZhbCA9IDEuMDsKIAogICAgIEFTU0VSVCghX2h1ZENvbnRyb2xsZXIpOwogICAgIF9o
dWRDb250cm9sbGVyID0gW1tXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyIGFs
bG9jXSBpbml0XTsKLSAgICBbX2h1ZENvbnRyb2xsZXIgc2V0RGVsZWdhdGU6c2VsZl07CisgICAg
W19odWRDb250cm9sbGVyIHNldERlbGVnYXRlOl9kZWxlZ2F0ZV07CiAKICAgICBbc2VsZiB1cGRh
dGVNZW51QW5kRG9ja0ZvckZ1bGxzY3JlZW5dOwogICAgIFtzZWxmIHVwZGF0ZVBvd2VyQXNzZXJ0
aW9uc107CiAgICAgW05TQ3Vyc29yIHNldEhpZGRlblVudGlsTW91c2VNb3ZlczpZRVNdOwogICAg
IAorICAgIFtfZGVsZWdhdGUgZW50ZXJGdWxsU2NyZWVuQ29tcGxldGVkXTsKKwogICAgIC8vIEdp
dmUgdGhlIEhVRCBrZXlib2FyZCBmb2N1cyBpbml0aWFsbHkKICAgICBbX2h1ZENvbnRyb2xsZXIg
ZmFkZVdpbmRvd0luXTsKIH0KIAogLSAoTlNSZWN0KW1lZGlhRWxlbWVudFJlY3QKIHsKLSAgICBy
ZXR1cm4gX21lZGlhRWxlbWVudC0+c2NyZWVuUmVjdCgpOworICAgIHJldHVybiBbX2RlbGVnYXRl
IG1lZGlhRWxlbWVudFNjcmVlblJlY3RdOwogfQogCiAtICh2b2lkKWFwcGxpY2F0aW9uRGlkUmVz
aWduQWN0aXZlOihOU05vdGlmaWNhdGlvbiopbm90aWZpY2F0aW9uCkBAIC0zMDAsNiArMzAzLDgg
QEAgc3RhdGljIE5TV2luZG93ICpjcmVhdGVCYWNrZ3JvdW5kRnVsbHNjcmVlbldpbmRvdyhOU1Jl
Y3QgZnJhbWUsIGludCBsZXZlbCkKICAgICAgICAgLy8gVGhpcyB3aWxsIGRpc2FibGUgc2NhbGUg
YW5pbWF0aW9uCiAgICAgICAgIGZyYW1lID0gTlNaZXJvUmVjdDsKICAgICB9CisKKyAgICBbc2Vs
ZiBzZXR1cFZpZGVvT3ZlcmxheTpbX2RlbGVnYXRlIHN0ZWFsTWVkaWFFbGVtZW50TGF5ZXJdXTsK
ICAgICBbW3NlbGYgZnVsbHNjcmVlbldpbmRvd10gYW5pbWF0ZUZyb21SZWN0OmZyYW1lIHRvUmVj
dDplbmRGcmFtZSB3aXRoU3ViQW5pbWF0aW9uOl9mYWRlQW5pbWF0aW9uIGNvbnRyb2xsZXJBY3Rp
b246QHNlbGVjdG9yKHdpbmRvd0RpZEVudGVyRnVsbHNjcmVlbildOwogCiAgICAgW19iYWNrZ3Jv
dW5kRnVsbHNjcmVlbldpbmRvdyBvcmRlcldpbmRvdzpOU1dpbmRvd0JlbG93IHJlbGF0aXZlVG86
W1tzZWxmIGZ1bGxzY3JlZW5XaW5kb3ddIHdpbmRvd051bWJlcl1dOwpAQCAtNDIzLDExICs0Mjgs
NyBAQCBzdGF0aWMgTlNXaW5kb3cgKmNyZWF0ZUJhY2tncm91bmRGdWxsc2NyZWVuV2luZG93KE5T
UmVjdCBmcmFtZSwgaW50IGxldmVsKQogCiAtICh2b2lkKXVwZGF0ZVBvd2VyQXNzZXJ0aW9ucwog
ewotICAgIGZsb2F0IHJhdGUgPSAwOwotICAgIGlmIChfbWVkaWFFbGVtZW50ICYmIF9tZWRpYUVs
ZW1lbnQtPnBsYXRmb3JtTWVkaWEoKS50eXBlID09IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWE6OlFU
TW92aWVUeXBlKQotICAgICAgICByYXRlID0gW19tZWRpYUVsZW1lbnQtPnBsYXRmb3JtTWVkaWEo
KS5tZWRpYS5xdE1vdmllIHJhdGVdOwotICAgIAotICAgIGlmIChyYXRlICYmICFfaXNFbmRpbmdG
dWxsc2NyZWVuKSB7CisgICAgaWYgKCFbX2RlbGVnYXRlIGNhblBsYXldICYmICFfaXNFbmRpbmdG
dWxsc2NyZWVuKSB7CiAgICAgICAgIFtzZWxmIF9kaXNhYmxlSWRsZVN5c3RlbVNsZWVwXTsKICAg
ICAgICAgW3NlbGYgX2Rpc2FibGVJZGxlRGlzcGxheVNsZWVwXTsKICAgICAgICAgW3NlbGYgX2Vu
YWJsZVRpY2tsZVRpbWVyXTsKQEAgLTQ0Myw4ICs0NDQsNyBAQCBzdGF0aWMgTlNXaW5kb3cgKmNy
ZWF0ZUJhY2tncm91bmRGdWxsc2NyZWVuV2luZG93KE5TUmVjdCBmcmFtZSwgaW50IGxldmVsKQog
CiAtICh2b2lkKV9yZXF1ZXN0RXhpdAogewotICAgIGlmIChfbWVkaWFFbGVtZW50KQotICAgICAg
ICBfbWVkaWFFbGVtZW50LT5leGl0RnVsbHNjcmVlbigpOworICAgIFtfZGVsZWdhdGUgcmVxdWVz
dEV4aXRGdWxsc2NyZWVuXTsKICAgICBfZm9yY2VEaXNhYmxlQW5pbWF0aW9uID0gTk87CiB9CiAK
QEAgLTQ1OCwyMiArNDU4LDM3IEBAIHN0YXRpYyBOU1dpbmRvdyAqY3JlYXRlQmFja2dyb3VuZEZ1
bGxzY3JlZW5XaW5kb3coTlNSZWN0IGZyYW1lLCBpbnQgbGV2ZWwpCiAKIH0KIAotLSAodm9pZCly
ZXF1ZXN0RXhpdEZ1bGxzY3JlZW4KKy0gKHZvaWQpZmFkZUhVREluCiB7Ci0gICAgW3NlbGYgcmVx
dWVzdEV4aXRGdWxsc2NyZWVuV2l0aEFuaW1hdGlvbjpZRVNdOworICAgIFtfaHVkQ29udHJvbGxl
ciBmYWRlV2luZG93SW5dOwogfQogCi0tICh2b2lkKWZhZGVIVURJbgorCistICh2b2lkKXVwZGF0
ZVBsYXlTdGF0ZQogewotICAgIFtfaHVkQ29udHJvbGxlciBmYWRlV2luZG93SW5dOworICAgIFtf
aHVkQ29udHJvbGxlciB1cGRhdGVQbGF5QnV0dG9uXTsKK30KKworLSAodm9pZCl1cGRhdGVUaW1l
Cit7CisgICAgW19odWRDb250cm9sbGVyIHVwZGF0ZVRpbWVdOworfQorCistICh2b2lkKXVwZGF0
ZVZvbHVtZQoreworICAgIFtfaHVkQ29udHJvbGxlciB1cGRhdGVWb2x1bWVdOworfQorCistICh2
b2lkKXVwZGF0ZUR1cmF0aW9uCit7CisgICAgW19odWRDb250cm9sbGVyIHVwZGF0ZVRpbWVdOwog
fQogCiAvLyBNQVJLOiAtCiAvLyBNQVJLOiBRVE1vdmllIGNhbGxiYWNrcwogCi0tICh2b2lkKXJh
dGVDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKXVudXNlZE5vdGlmaWNhdGlvbgorLSAodm9pZCly
YXRlQ2hhbmdlZAogewotICAgIFVOVVNFRF9QQVJBTSh1bnVzZWROb3RpZmljYXRpb24pOwogICAg
IFtfaHVkQ29udHJvbGxlciB1cGRhdGVSYXRlXTsKICAgICBbc2VsZiB1cGRhdGVQb3dlckFzc2Vy
dGlvbnNdOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZp
ZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9sbGVyLmgKaW5kZXggNTU4
NDI0MS4uODBjZjA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dl
YlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJvbGxlci5oCkBA
IC01MywxMiArNTMsMjYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLSAodm9pZClmYWRlV2luZG93
T3V0OwogLSAodm9pZCljbG9zZVdpbmRvdzsKIC0gKHZvaWQpdXBkYXRlUmF0ZTsKLQorLSAodm9p
ZCl1cGRhdGVQbGF5QnV0dG9uOworLSAodm9pZCl1cGRhdGVUaW1lOworLSAodm9pZCl1cGRhdGVW
b2x1bWU7CiBAZW5kCiAKLUBwcm90b2NvbCBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250
cm9sbGVyRGVsZWdhdGUgPE5TT2JqZWN0PgorQHByb3RvY29sIFdlYlZpZGVvRnVsbHNjcmVlbkhV
RFdpbmRvd0NvbnRyb2xsZXJEZWxlZ2F0ZQogLSAodm9pZClyZXF1ZXN0RXhpdEZ1bGxzY3JlZW47
Ci0tIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50KiltZWRpYUVsZW1lbnQ7CistICh2b2lkKWJl
Z2luU2NydWJiaW5nOworLSAodm9pZCllbmRTY3J1YmJpbmc7CistIChmbG9hdCljdXJyZW50VGlt
ZTsKKy0gKHZvaWQpc2V0Q3VycmVudFRpbWU6KGRvdWJsZSljdXJyZW50VGltZTsKKy0gKGRvdWJs
ZSlkdXJhdGlvbjsKKy0gKGZsb2F0KXZvbHVtZTsKKy0gKGJvb2wpbXV0ZWQ7CistICh2b2lkKXNl
dE11dGVkOihib29sKW11dGVkOworLSAodm9pZClzZXRWb2x1bWU6KGZsb2F0KXZvbHVtZTsKKy0g
KGJvb2wpY2FuUGxheTsKKy0gKHZvaWQpcGxheTsKKy0gKHZvaWQpcGF1c2U7CistICh2b2lkKXJl
d2luZDooZmxvYXQpZGVsdGE7CiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNjcmVlbkhVRFdpbmRvd0NvbnRyb2xsZXIu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2lu
ZG93Q29udHJvbGxlci5tbQppbmRleCBhZDEyYTk1Li40YzM2NGM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2Ny
ZWVuSFVEV2luZG93Q29udHJvbGxlci5tbQpAQCAtNDE2LDcgKzQxNiw3IEBAIHN0YXRpYyBOU1Rl
eHRGaWVsZCAqY3JlYXRlVGltZVRleHRGaWVsZChOU1JlY3QgZnJhbWUpCiAKIC0gKHZvaWQpdXBk
YXRlVm9sdW1lCiB7Ci0gICAgW192b2x1bWVTbGlkZXIgc2V0RG91YmxlVmFsdWU6W3NlbGYgdm9s
dW1lXV07CisgICAgW192b2x1bWVTbGlkZXIgc2V0RG91YmxlVmFsdWU6W19kZWxlZ2F0ZSB2b2x1
bWVdICogW3NlbGYgbWF4Vm9sdW1lXV07CiB9CiAKIC0gKHZvaWQpdXBkYXRlVGltZQpAQCAtNDM0
LDggKzQzNCw3IEBAIHN0YXRpYyBOU1RleHRGaWVsZCAqY3JlYXRlVGltZVRleHRGaWVsZChOU1Jl
Y3QgZnJhbWUpCiB7CiAgICAgQVNTRVJUKF9pc1NjcnViYmluZyk7CiAgICAgX2lzU2NydWJiaW5n
ID0gTk87Ci0gICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IFtfZGVsZWdh
dGUgbWVkaWFFbGVtZW50XSkKLSAgICAgICAgbWVkaWFFbGVtZW50LT5lbmRTY3J1YmJpbmcoKTsK
KyAgICBbX2RlbGVnYXRlIGVuZFNjcnViYmluZ107CiB9CiAKIC0gKHZvaWQpdGltZWxpbmVQb3Np
dGlvbkNoYW5nZWQ6KGlkKXNlbmRlcgpAQCAtNDQ0LDggKzQ0Myw3IEBAIHN0YXRpYyBOU1RleHRG
aWVsZCAqY3JlYXRlVGltZVRleHRGaWVsZChOU1JlY3QgZnJhbWUpCiAgICAgW3NlbGYgc2V0Q3Vy
cmVudFRpbWU6W190aW1lbGluZSBmbG9hdFZhbHVlXV07CiAgICAgaWYgKCFfaXNTY3J1YmJpbmcp
IHsKICAgICAgICAgX2lzU2NydWJiaW5nID0gWUVTOwotICAgICAgICBpZiAoSFRNTE1lZGlhRWxl
bWVudCogbWVkaWFFbGVtZW50ID0gW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdKQotICAgICAgICAg
ICAgbWVkaWFFbGVtZW50LT5iZWdpblNjcnViYmluZygpOworICAgICAgICBbX2RlbGVnYXRlIGJl
Z2luU2NydWJiaW5nXTsKICAgICAgICAgc3RhdGljIE5TQXJyYXkgKmVuZFNjcnViYmluZ01vZGVz
ID0gW1tOU0FycmF5IGFsbG9jXSBpbml0V2l0aE9iamVjdHM6TlNEZWZhdWx0UnVuTG9vcE1vZGUs
IE5TTW9kYWxQYW5lbFJ1bkxvb3BNb2RlLCBuaWxdOwogICAgICAgICAvLyBTY2hlZHVsZSAtZW5k
U2NydWJiaW5nIGZvciB3aGVuIGxlYXZpbmcgbW91c2UgdHJhY2tpbmcgbW9kZS4KICAgICAgICAg
W1tOU1J1bkxvb3AgY3VycmVudFJ1bkxvb3BdIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoZW5k
U2NydWJiaW5nKSB0YXJnZXQ6c2VsZiBhcmd1bWVudDpuaWwgb3JkZXI6MCBtb2RlczplbmRTY3J1
YmJpbmdNb2Rlc107CkBAIC00NTQsMjEgKzQ1MiwxOCBAQCBzdGF0aWMgTlNUZXh0RmllbGQgKmNy
ZWF0ZVRpbWVUZXh0RmllbGQoTlNSZWN0IGZyYW1lKQogCiAtIChmbG9hdCljdXJyZW50VGltZQog
ewotICAgIHJldHVybiBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0gPyBbX2RlbGVnYXRlIG1lZGlh
RWxlbWVudF0tPmN1cnJlbnRUaW1lKCkgOiAwOworICAgIHJldHVybiBbX2RlbGVnYXRlIGN1cnJl
bnRUaW1lXTsKIH0KIAogLSAodm9pZClzZXRDdXJyZW50VGltZTooZmxvYXQpY3VycmVudFRpbWUK
IHsKLSAgICBpZiAoIVtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZTsKLSAgICBbX2RlbGVnYXRlIG1lZGlhRWxlbWVu
dF0tPnNldEN1cnJlbnRUaW1lKGN1cnJlbnRUaW1lLCBlKTsKKyAgICBbX2RlbGVnYXRlIHNldEN1
cnJlbnRUaW1lOmN1cnJlbnRUaW1lXTsKICAgICBbc2VsZiB1cGRhdGVUaW1lXTsKIH0KIAogLSAo
ZG91YmxlKWR1cmF0aW9uCiB7Ci0gICAgcmV0dXJuIFtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XSA/
IFtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XS0+ZHVyYXRpb24oKSA6IDA7CisgICAgcmV0dXJuIFtf
ZGVsZWdhdGUgZHVyYXRpb25dOwogfQogCiAtIChkb3VibGUpbWF4Vm9sdW1lCkBAIC00OTcsMzUg
KzQ5MiwyNiBAQCBzdGF0aWMgTlNUZXh0RmllbGQgKmNyZWF0ZVRpbWVUZXh0RmllbGQoTlNSZWN0
IGZyYW1lKQogCiAtICh2b2lkKWRlY3JlbWVudFZvbHVtZQogewotICAgIGlmICghW19kZWxlZ2F0
ZSBtZWRpYUVsZW1lbnRdKQotICAgICAgICByZXR1cm47Ci0KLSAgICBkb3VibGUgdm9sdW1lID0g
W3NlbGYgdm9sdW1lXSAtIDEwOworICAgIGRvdWJsZSB2b2x1bWUgPSBbX2RlbGVnYXRlIHZvbHVt
ZV0gLSAxMDsKICAgICBbc2VsZiBzZXRWb2x1bWU6bWF4KHZvbHVtZSwgMC4pXTsKIH0KIAogLSAo
dm9pZClpbmNyZW1lbnRWb2x1bWUKIHsKLSAgICBpZiAoIVtfZGVsZWdhdGUgbWVkaWFFbGVtZW50
XSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZG91YmxlIHZvbHVtZSA9IFtzZWxmIHZvbHVtZV0g
KyAxMDsKKyAgICBkb3VibGUgdm9sdW1lID0gW19kZWxlZ2F0ZSB2b2x1bWVdICsgMTA7CiAgICAg
W3NlbGYgc2V0Vm9sdW1lOm1pbih2b2x1bWUsIFtzZWxmIG1heFZvbHVtZV0pXTsKIH0KIAogLSAo
ZG91YmxlKXZvbHVtZQogewotICAgIHJldHVybiBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF0gPyBb
X2RlbGVnYXRlIG1lZGlhRWxlbWVudF0tPnZvbHVtZSgpICogW3NlbGYgbWF4Vm9sdW1lXSA6IDA7
CisgICAgcmV0dXJuIFtfZGVsZWdhdGUgdm9sdW1lXSAqIFtzZWxmIG1heFZvbHVtZV07CiB9CiAK
IC0gKHZvaWQpc2V0Vm9sdW1lOihkb3VibGUpdm9sdW1lCiB7Ci0gICAgaWYgKCFbX2RlbGVnYXRl
IG1lZGlhRWxlbWVudF0pCi0gICAgICAgIHJldHVybjsKLSAgICBXZWJDb3JlOjpFeGNlcHRpb25D
b2RlIGU7Ci0gICAgaWYgKFtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XS0+bXV0ZWQoKSkKLSAgICAg
ICAgW19kZWxlZ2F0ZSBtZWRpYUVsZW1lbnRdLT5zZXRNdXRlZChmYWxzZSk7Ci0gICAgW19kZWxl
Z2F0ZSBtZWRpYUVsZW1lbnRdLT5zZXRWb2x1bWUodm9sdW1lIC8gW3NlbGYgbWF4Vm9sdW1lXSwg
ZSk7CisgICAgaWYgKFtfZGVsZWdhdGUgbXV0ZWRdKQorICAgICAgICBbX2RlbGVnYXRlIHNldE11
dGVkOmZhbHNlXTsKKyAgICBbX2RlbGVnYXRlIHNldFZvbHVtZTp2b2x1bWUgLyBbc2VsZiBtYXhW
b2x1bWVdXTsKICAgICBbc2VsZiB1cGRhdGVWb2x1bWVdOwogfQogCkBAIC01NTYsMzEgKzU0Miwy
MCBAQCBzdGF0aWMgTlNUZXh0RmllbGQgKmNyZWF0ZVRpbWVUZXh0RmllbGQoTlNSZWN0IGZyYW1l
KQogCiAtIChCT09MKXBsYXlpbmcKIHsKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1l
bnQgPSBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF07Ci0gICAgaWYgKCFtZWRpYUVsZW1lbnQpCi0g
ICAgICAgIHJldHVybiBOTzsKLQotICAgIHJldHVybiAhbWVkaWFFbGVtZW50LT5jYW5QbGF5KCk7
CisgICAgcmV0dXJuICFbX2RlbGVnYXRlIGNhblBsYXldOwogfQogCiAtICh2b2lkKXNldFBsYXlp
bmc6KEJPT0wpcGxheWluZwogewotICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9
IFtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XTsKLQotICAgIGlmICghbWVkaWFFbGVtZW50KQotICAg
ICAgICByZXR1cm47Ci0KICAgICBpZiAocGxheWluZykKLSAgICAgICAgbWVkaWFFbGVtZW50LT5w
bGF5KG1lZGlhRWxlbWVudC0+cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpOworICAgICAgICBbX2Rl
bGVnYXRlIHBsYXldOwogICAgIGVsc2UKLSAgICAgICAgbWVkaWFFbGVtZW50LT5wYXVzZShtZWRp
YUVsZW1lbnQtPnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKTsKKyAgICAgICAgW19kZWxlZ2F0ZSBw
YXVzZV07CiB9CiAKIHN0YXRpYyBOU1N0cmluZyAqdGltZVRvU3RyaW5nKGRvdWJsZSB0aW1lKQog
ewotICAgIEFTU0VSVF9BUkcodGltZSwgdGltZSA+PSAwKTsKLQotICAgIGlmICghaXNmaW5pdGUo
dGltZSkpCisgICAgaWYgKHRpbWUgPCAwIHx8ICFpc2Zpbml0ZSh0aW1lKSkKICAgICAgICAgdGlt
ZSA9IDA7CiAKICAgICBpbnQgc2Vjb25kcyA9IGZhYnModGltZSk7IApAQCAtNTk2LDE5ICs1NzEs
MTUgQEAgc3RhdGljIE5TU3RyaW5nICp0aW1lVG9TdHJpbmcoZG91YmxlIHRpbWUpCiAKIC0gKE5T
U3RyaW5nICopcmVtYWluaW5nVGltZVRleHQKIHsKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnQgPSBbX2RlbGVnYXRlIG1lZGlhRWxlbWVudF07Ci0gICAgaWYgKCFtZWRpYUVsZW1l
bnQpCisgICAgaWYgKCFbX2RlbGVnYXRlIGR1cmF0aW9uXSkKICAgICAgICAgcmV0dXJuIEAiIjsK
IAotICAgIHJldHVybiBbQCItIiBzdHJpbmdCeUFwcGVuZGluZ1N0cmluZzp0aW1lVG9TdHJpbmco
bWVkaWFFbGVtZW50LT5kdXJhdGlvbigpIC0gbWVkaWFFbGVtZW50LT5jdXJyZW50VGltZSgpKV07
CisgICAgcmV0dXJuIFtAIi0iIHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOnRpbWVUb1N0cmluZyhb
X2RlbGVnYXRlIGR1cmF0aW9uXSAtIFtfZGVsZWdhdGUgY3VycmVudFRpbWVdKV07CiB9CiAKIC0g
KE5TU3RyaW5nICopZWxhcHNlZFRpbWVUZXh0CiB7Ci0gICAgaWYgKCFbX2RlbGVnYXRlIG1lZGlh
RWxlbWVudF0pCi0gICAgICAgIHJldHVybiBAIiI7Ci0KLSAgICByZXR1cm4gdGltZVRvU3RyaW5n
KFtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XS0+Y3VycmVudFRpbWUoKSk7CisgICAgcmV0dXJuIHRp
bWVUb1N0cmluZyhbX2RlbGVnYXRlIGN1cnJlbnRUaW1lXSk7CiB9CiAKIC8vIE1BUks6IE5TUmVz
cG9uZGVyCkBAIC02MzEsMTYgKzYwMiwxMiBAQCBzdGF0aWMgTlNTdHJpbmcgKnRpbWVUb1N0cmlu
Zyhkb3VibGUgdGltZSkKIC0gKHZvaWQpcmV3aW5kOihpZClzZW5kZXIKIHsKICAgICBVTlVTRURf
UEFSQU0oc2VuZGVyKTsKLSAgICBpZiAoIVtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XSkKLSAgICAg
ICAgcmV0dXJuOwotICAgIFtfZGVsZWdhdGUgbWVkaWFFbGVtZW50XS0+cmV3aW5kKDMwKTsKKyAg
ICBbX2RlbGVnYXRlIHJld2luZDozMF07CiB9CiAKIC0gKHZvaWQpZmFzdEZvcndhcmQ6KGlkKXNl
bmRlcgogewogICAgIFVOVVNFRF9QQVJBTShzZW5kZXIpOwotICAgIGlmICghW19kZWxlZ2F0ZSBt
ZWRpYUVsZW1lbnRdKQotICAgICAgICByZXR1cm47CiB9CiAKIC0gKHZvaWQpZXhpdEZ1bGxzY3Jl
ZW46KGlkKXNlbmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDU5Y2U1OTUuLjY3MWZmNTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTIsNiArMiwxOSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgogCisgICAgICAgIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgYW5kIFdl
YlZpZGVvRnVsbHNjcmVlbkhVRENvbnRyb2xsZXIgbm93IHVzZSBhIGRlbGVnYXRlIGluc3RlYWQg
b2YgdGhlIEhUTUxNZWRpYUVsZW1lbnQgZGlyZWN0bHkuCisKKyAgICAgICAgUmVtb3ZlIGRlcGVu
ZGVuY3kgb24gUVRLaXQgZnJvbSB3ZWtpdEV4aXRGdWxsc2NyZWVuKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODQzCisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2VudGVyRnVsbHNjcmVlbkZvck5v
ZGU6V2ViQ29yZTo6XSk6IFBhc3MgdGhlIGZ1bGwtc2NyZWVuIGNvbnRyb2xsZXIKKyAgICAgICAg
ICAgIGEgZGVsZWdhdGUgaW5zdGVhZCBvZiBhIG1lZGlhIGVsZW1lbnQgZGlyZWN0bHkuCisKKzIw
MTEtMDYtMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgQWRkIHR3byBuZXcgdXRpbGl0eSBj
bGFzZXNzOiBXZWJFdmVudExpc3RlbmVyIGFuZCBXZWJNZWRpYURlbGVnYXRlCiAKICAgICAgICAg
UmVtb3ZlIGRlcGVuZGVuY3kgb24gUVRLaXQgZnJvbSB3ZWtpdEV4aXRGdWxsc2NyZWVuKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBhM2E4NTRlLi40ZWM0M2JhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC03Niw2ICs3Niw3IEBACiAjaW1wb3J0
ICJXZWJLaXRTeXN0ZW1CaXRzLmgiCiAjaW1wb3J0ICJXZWJLaXRWZXJzaW9uQ2hlY2tzLmgiCiAj
aW1wb3J0ICJXZWJMb2NhbGl6YWJsZVN0cmluZ3MuaCIKKyNpbXBvcnQgIldlYk1lZGlhRGVsZWdh
dGUuaCIKICNpbXBvcnQgIldlYk5TRGF0YUV4dHJhcy5oIgogI2ltcG9ydCAiV2ViTlNEYXRhRXh0
cmFzUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViTlNEaWN0aW9uYXJ5RXh0cmFzLmgiCkBAIC02MjAy
LDI2ICs2MjAzLDI2IEBAIHN0YXRpYyB2b2lkIGxheWVyU3luY1J1bkxvb3BPYnNlcnZlckNhbGxC
YWNrKENGUnVuTG9vcE9ic2VydmVyUmVmLCBDRlJ1bkxvb3BBY3RpCiAgICAgSFRNTE1lZGlhRWxl
bWVudCogdmlkZW9FbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG5vZGUp
OwogCiAgICAgaWYgKF9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlcikgewotICAgICAgICBp
ZiAoW19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBtZWRpYUVsZW1lbnRdID09IHZpZGVv
RWxlbWVudCkgeworICAgICAgICBpZiAoW1tfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIg
ZGVsZWdhdGVdIG1lZGlhRWxlbWVudF0gPT0gdmlkZW9FbGVtZW50KSB7CiAgICAgICAgICAgICAv
LyBUaGUgYmFja2VuZCBtYXkganVzdCB3YXJuIHVzIHRoYXQgdGhlIHVuZGVybGF5aW5nIHBsYWZ0
b3JtTW92aWUoKQogICAgICAgICAgICAgLy8gaGFzIGNoYW5nZWQuIEp1c3QgZm9yY2UgYW4gdXBk
YXRlLgotICAgICAgICAgICAgW19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBzZXRNZWRp
YUVsZW1lbnQ6dmlkZW9FbGVtZW50XTsKKyAgICAgICAgICAgIFtfcHJpdmF0ZS0+ZnVsbHNjcmVl
bkNvbnRyb2xsZXIgc2V0dXBWaWRlb092ZXJsYXk6W1tfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRy
b2xsZXIgZGVsZWdhdGVdIHN0ZWFsTWVkaWFFbGVtZW50TGF5ZXJdXTsKICAgICAgICAgICAgIHJl
dHVybjsgLy8gTm8gbW9yZSB0byBkby4KICAgICAgICAgfQogCiAgICAgICAgIC8vIEZpcnN0IGV4
aXQgRnVsbHNjcmVlbiBmb3IgdGhlIG9sZCBtZWRpYUVsZW1lbnQuCi0gICAgICAgIFtfcHJpdmF0
ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIgbWVkaWFFbGVtZW50XS0+ZXhpdEZ1bGxzY3JlZW4oKTsK
KyAgICAgICAgW1tfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIgZGVsZWdhdGVdIHJlcXVl
c3RFeGl0RnVsbHNjcmVlbl07CiAgICAgICAgIC8vIFRoaXMgcHJldmlvdXMgY2FsbCBoYXMgdG8g
dHJpZ2dlciBfZXhpdEZ1bGxzY3JlZW4sCiAgICAgICAgIC8vIHdoaWNoIGhhcyB0byBjbGVhciBf
cHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIuCiAgICAgICAgIEFTU0VSVCghX3ByaXZhdGUt
PmZ1bGxzY3JlZW5Db250cm9sbGVyKTsKICAgICB9Ci0gICAgaWYgKCFfcHJpdmF0ZS0+ZnVsbHNj
cmVlbkNvbnRyb2xsZXIpIHsKKyAgICBpZiAoIV9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxl
cikgCiAgICAgICAgIF9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciA9IFtbV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlciBhbGxvY10gaW5pdF07Ci0gICAgICAgIFtfcHJpdmF0ZS0+ZnVs
bHNjcmVlbkNvbnRyb2xsZXIgc2V0TWVkaWFFbGVtZW50OnZpZGVvRWxlbWVudF07Ci0gICAgICAg
IFtfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIgZW50ZXJGdWxsc2NyZWVuOltbc2VsZiB3
aW5kb3ddIHNjcmVlbl1dOyAgICAgICAgCi0gICAgfQotICAgIGVsc2UKLSAgICAgICAgW19wcml2
YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBzZXRNZWRpYUVsZW1lbnQ6dmlkZW9FbGVtZW50XTsK
KyAgICAgICAgCisgICAgV2ViTWVkaWFEZWxlZ2F0ZSogZGVsZWdhdGUgPSBbW1dlYk1lZGlhRGVs
ZWdhdGUgYWxsb2NdIGluaXRXaXRoTWVkaWFFbGVtZW50OnZpZGVvRWxlbWVudF07CisgICAgW19w
cml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBzZXREZWxlZ2F0ZTpkZWxlZ2F0ZV07CisgICAg
W19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBlbnRlckZ1bGxzY3JlZW46W1tzZWxmIHdp
bmRvd10gc2NyZWVuXV07ICAgICAKKyAgICBbZGVsZWdhdGUgcmVsZWFzZV07CiB9CiAKIC0gKHZv
aWQpX2V4aXRGdWxsc2NyZWVuCi0tIAoxLjcuNC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95651</attachid>
            <date>2011-06-01 13:32:41 -0700</date>
            <delta_ts>2011-09-16 11:22:50 -0700</delta_ts>
            <desc>[PATCH 4/5] Disable calling into new full-screen API from video  full-creen API.  Enable video full-screen mode for  AVFoundation.</desc>
            <filename>0004-Disable-calling-into-new-full-screen-API-from-video-.patch</filename>
            <type>text/plain</type>
            <size>7870</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">RnJvbSAxZTMzMjQ2MTcyNDNmZTU1YzBjMWRlOWY5MjMwODliYzJjMzk2NGZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXIgTm9ibGUgPGplci5ub2JsZUBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgMSBKdW4gMjAxMSAxMjo1NzozNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSBEaXNh
YmxlIGNhbGxpbmcgaW50byBuZXcgZnVsbC1zY3JlZW4gQVBJIGZyb20gdmlkZW8KIGZ1bGwtY3Jl
ZW4gQVBJLiAgRW5hYmxlIHZpZGVvIGZ1bGwtc2NyZWVuIG1vZGUgZm9yCiBBVkZvdW5kYXRpb24u
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClJlbW92ZSBkZXBlbmRlbmN5IG9uIFFUS2l0
IGZyb20gd2VraXRFeGl0RnVsbHNjcmVlbigpCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MTg0MwoKU291cmNlL1dlYkNvcmU6CgpObyBuZXcgdGVzdHM7IHRoZSBleGlz
dGluZyBtZWRpYSBmdWxsIHNjcmVlbiB0ZXN0cyBhcmUgc3VmZmljaWVudC4KCiogaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNj
cmVlbik6IERvIG5vdCBwYXNzIGZ1bGwtc2NyZWVuIHJlcXVlc3QKICAgIHRocm91Z2ggdG8gZWxl
bWVudCBmdWxsLXNjcmVlbiBBUEkuCihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpleGl0RnVs
bHNjcmVlbik6IERpdHRvLgoqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6CihXZWJDb3JlOjpI
VE1MVmlkZW9FbGVtZW50OjpzdXBwb3J0c0Z1bGxzY3JlZW4pOiBEaXR0by4KKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcDoK
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c3VwcG9ydHNGdWxsc2Ny
ZWVuKTogUmV0dXJuIHRydWUsIG5vdwogICAgdGhhdCB0aGUgUVRLaXQgcmVxdWlyZW1lbnQgZm9y
IHZpZGVvIGZ1bGwtc2NyZWVuIGlzIGdvbmUuCgpTb3VyY2UvV2ViS2l0L21hYzoKCiogV2ViVmll
dy9XZWJWaWV3Lmg6CiogV2ViVmlldy9XZWJWaWV3Lm1tOgooLVtXZWJWaWV3IF9wcmVmZXJlbmNl
c0NoYW5nZWQ6XSk6IExlYXZlIEFWRm91bmRhdGlvbiBlbmFibGVkIGlmIGVsZW1lbnQgZnVsbC1z
Y3JlZW4KICAgIG1vZGUgaXMgZGlzYWJsZWQuCi0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxICsrKysrKysrKysrKysrKysrKysrCiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwICAgICAgICAgICB8ICAgMTMg
LS0tLS0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwICAg
ICAgICAgICB8ICAgIDUgLS0tLQogLi4uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5j
cHAgICAgICAgICAgICAgfCAgICA1IC0tLS0KIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcuaCAgICAgICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tICAgICAgICAgICAgICAgfCAgICA2ICstLS0tCiA3
IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAyODU5ZDVmLi45M2JhN2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjcgQEAKIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBEaXNhYmxlIGNh
bGxpbmcgaW50byBuZXcgZnVsbC1zY3JlZW4gQVBJIGZyb20gdmlkZW8gZnVsbC1jcmVlbiBBUEku
ICBFbmFibGUgdmlkZW8gZnVsbC1zY3JlZW4gbW9kZSBmb3IgQVZGb3VuZGF0aW9uLgorCisgICAg
ICAgIFJlbW92ZSBkZXBlbmRlbmN5IG9uIFFUS2l0IGZyb20gd2VraXRFeGl0RnVsbHNjcmVlbigp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTg0Mwor
CisgICAgICAgIE5vIG5ldyB0ZXN0czsgdGhlIGV4aXN0aW5nIG1lZGlhIGZ1bGwgc2NyZWVuIHRl
c3RzIGFyZSBzdWZmaWNpZW50LgorCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbik6
IERvIG5vdCBwYXNzIGZ1bGwtc2NyZWVuIHJlcXVlc3QKKyAgICAgICAgICAgIHRocm91Z2ggdG8g
ZWxlbWVudCBmdWxsLXNjcmVlbiBBUEkuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpleGl0RnVsbHNjcmVlbik6IERpdHRvLgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50OjpzdXBwb3J0c0Z1
bGxzY3JlZW4pOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c3VwcG9ydHNGdWxsc2NyZWVuKTogUmV0
dXJuIHRydWUsIG5vdworICAgICAgICAgICAgdGhhdCB0aGUgUVRLaXQgcmVxdWlyZW1lbnQgZm9y
IHZpZGVvIGZ1bGwtc2NyZWVuIGlzIGdvbmUuCisKKzIwMTEtMDYtMDEgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKICAgICAgICAgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBhbmQgV2ViVmlkZW9GdWxs
c2NyZWVuSFVEQ29udHJvbGxlciBub3cgdXNlIGEgZGVsZWdhdGUgaW5zdGVhZCBvZiB0aGUgSFRN
TE1lZGlhRWxlbWVudCBkaXJlY3RseS4KIAogICAgICAgICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBR
VEtpdCBmcm9tIHdla2l0RXhpdEZ1bGxzY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKaW5kZXggMmNiODE3MS4uY2FiYzQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0yNTA2LDEyICsyNTA2LDYgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxN
ZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbiIpOwogCi0jaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQotICAgIGlmIChkb2N1bWVudCgpICYmIGRvY3VtZW50KCktPnNldHRpbmdzKCkgJiYgZG9j
dW1lbnQoKS0+c2V0dGluZ3MoKS0+ZnVsbFNjcmVlbkVuYWJsZWQoKSkgewotICAgICAgICBkb2N1
bWVudCgpLT5yZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQodGhpcywgMCwgRG9jdW1lbnQ6OkV4
ZW1wdElGcmFtZUFsbG93RnVsU2NyZWVuUmVxdWlyZW1lbnQpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotI2VuZGlmCiAgICAgQVNTRVJUKCFtX2lzRnVsbHNjcmVlbik7CiAgICAgbV9pc0Z1bGxz
Y3JlZW4gPSB0cnVlOwogICAgIGlmIChoYXNNZWRpYUNvbnRyb2xzKCkpCkBAIC0yNTI2LDEzICsy
NTIwLDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpleGl0RnVsbHNjcmVlbigpCiB7CiAgICAg
TE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6ZXhpdEZ1bGxzY3JlZW4iKTsKIAotI2lmIEVO
QUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBpZiAoZG9jdW1lbnQoKSAmJiBkb2N1bWVudCgpLT5z
ZXR0aW5ncygpICYmIGRvY3VtZW50KCktPnNldHRpbmdzKCktPmZ1bGxTY3JlZW5FbmFibGVkKCkp
IHsKLSAgICAgICAgaWYgKGRvY3VtZW50KCktPndlYmtpdElzRnVsbFNjcmVlbigpICYmIGRvY3Vt
ZW50KCktPndlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCgpID09IHRoaXMpCi0gICAgICAg
ICAgICBkb2N1bWVudCgpLT53ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0jZW5kaWYKICAgICBBU1NFUlQobV9pc0Z1bGxzY3JlZW4pOwogICAgIG1faXNG
dWxsc2NyZWVuID0gZmFsc2U7CiAgICAgaWYgKGhhc01lZGlhQ29udHJvbHMoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmluZGV4IDU5MDI3YTQuLjZlNjU0MjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcApAQCAtMTI5LDExICsxMjks
NiBAQCBib29sIEhUTUxWaWRlb0VsZW1lbnQ6OnN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIENoZWNrIHdpdGggdGhlIHBsYXRmb3JtIGNs
aWVudC4KLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgaWYgKHBhZ2UtPmNocm9tZSgp
LT5jbGllbnQoKS0+c3VwcG9ydHNGdWxsU2NyZWVuRm9yRWxlbWVudCh0aGlzLCBmYWxzZSkpCi0g
ICAgICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi0KICAgICByZXR1cm4gcGFnZS0+Y2hyb21lKCkt
PmNsaWVudCgpLT5zdXBwb3J0c0Z1bGxzY3JlZW5Gb3JOb2RlKHRoaXMpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCmlu
ZGV4IDAzMzYwNzcuLjVmNTJkZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0zOTcsMTIgKzM5Nyw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpwcmVwYXJlRm9yUmVuZGVyaW5nKCkKIAog
Ym9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnN1cHBvcnRzRnVsbHNjcmVlbigp
IGNvbnN0CiB7Ci0jaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIHJldHVybiB0cnVlOwot
I2Vsc2UKLSAgICAvLyBGSVhNRTogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBhc3N1bWVz
IGEgUVRLaXQvUXVpY2tUaW1lIG1lZGlhIGVuZ2luZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRp
ZgogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6dXBkYXRlU3RhdGVz
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCA2NzFmZjUzLi5mNGI5OWE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CkBAIC0yLDYgKzIsMjAgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
IAorICAgICAgICBEaXNhYmxlIGNhbGxpbmcgaW50byBuZXcgZnVsbC1zY3JlZW4gQVBJIGZyb20g
dmlkZW8gZnVsbC1jcmVlbiBBUEkuICBFbmFibGUgdmlkZW8gZnVsbC1zY3JlZW4gbW9kZSBmb3Ig
QVZGb3VuZGF0aW9uLgorCisgICAgICAgIFJlbW92ZSBkZXBlbmRlbmN5IG9uIFFUS2l0IGZyb20g
d2VraXRFeGl0RnVsbHNjcmVlbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MTg0MworCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lmg6CisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNl
c0NoYW5nZWQ6XSk6IExlYXZlIEFWRm91bmRhdGlvbiBlbmFibGVkIGlmIGVsZW1lbnQgZnVsbC1z
Y3JlZW4KKyAgICAgICAgICAgIG1vZGUgaXMgZGlzYWJsZWQuCisKKzIwMTEtMDYtMDEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKICAgICAgICAgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBhbmQgV2Vi
VmlkZW9GdWxsc2NyZWVuSFVEQ29udHJvbGxlciBub3cgdXNlIGEgZGVsZWdhdGUgaW5zdGVhZCBv
ZiB0aGUgSFRNTE1lZGlhRWxlbWVudCBkaXJlY3RseS4KIAogICAgICAgICBSZW1vdmUgZGVwZW5k
ZW5jeSBvbiBRVEtpdCBmcm9tIHdla2l0RXhpdEZ1bGxzY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcuaAppbmRleCAxN2VmYjVlLi5iZWZkYTllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcuaApAQCAtNDYsNiArNDYsNyBAQAogQGNsYXNzIFdlYkZyYW1lOwogQGNsYXNz
IFdlYkZyYW1lVmlldzsKIEBjbGFzcyBXZWJIaXN0b3J5SXRlbTsKK0BjbGFzcyBXZWJNZWRpYURl
bGVnYXRlOwogQGNsYXNzIFdlYlByZWZlcmVuY2VzOwogQGNsYXNzIFdlYlNjcmlwdE9iamVjdDsK
IEBjbGFzcyBXZWJWaWV3UHJpdmF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpp
bmRleCA0ZWM0M2JhLi41NTRlOWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CkBAIC0xNTc3LDExICsxNTc3LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVM
b2FkaW5nUXVpcmsoKQogICAgIHNldHRpbmdzLT5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9u
RW5hYmxlZChbc2VsZiBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZF0pOwogICAgIHNl
dHRpbmdzLT5zZXRWYWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlvbihbc2VsZiB2YWxp
ZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlvbl0pOwogI2lmIFVTRShBVkZPVU5EQVRJT04p
Ci0jaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHNldHRpbmdzLT5zZXRBVkZvdW5kYXRp
b25FbmFibGVkKFtwcmVmZXJlbmNlcyBpc0FWRm91bmRhdGlvbkVuYWJsZWRdICYmIFtwcmVmZXJl
bmNlcyBmdWxsU2NyZWVuRW5hYmxlZF0pOwotI2Vsc2UKLSAgICBzZXR0aW5ncy0+c2V0QVZGb3Vu
ZGF0aW9uRW5hYmxlZChmYWxzZSk7Ci0jZW5kaWYKKyAgICBzZXR0aW5ncy0+c2V0QVZGb3VuZGF0
aW9uRW5hYmxlZChbcHJlZmVyZW5jZXMgaXNBVkZvdW5kYXRpb25FbmFibGVkXSk7CiAjZW5kaWYK
IAogICAgIC8vIEFwcGxpY2F0aW9uIENhY2hlIFByZWZlcmVuY2VzIGFyZSBzdG9yZWQgb24gdGhl
IGdsb2JhbCBjYWNoZSBzdG9yYWdlIG1hbmFnZXIsIG5vdCBpbiBTZXR0aW5ncy4KLS0gCjEuNy40
LjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>