<?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>70370</bug_id>
          
          <creation_ts>2011-10-18 14:58:23 -0700</creation_ts>
          <short_desc>Implement CSS Device Adaptation</short_desc>
          <delta_ts>2012-09-06 03:23:20 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>95959</dup_id>
          
          <bug_file_loc>http://dev.w3.org/csswg/css-device-adapt/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Storey">dstorey</reporter>
          <assigned_to name="Thiago Marcos P. Santos">tmpsantos</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>fsamuel</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>hausmann</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>joepeck</cc>
    
    <cc>johnme</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mike</cc>
    
    <cc>mjs</cc>
    
    <cc>peter</cc>
    
    <cc>phiw2</cc>
    
    <cc>rakuco</cc>
    
    <cc>rbyers</cc>
    
    <cc>rob</cc>
    
    <cc>sam</cc>
    
    <cc>shanestephens</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>siraj</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yael</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>486328</commentid>
    <comment_count>0</comment_count>
    <who name="David Storey">dstorey</who>
    <bug_when>2011-10-18 14:58:23 -0700</bug_when>
    <thetext>There is a proposal for doing the viewport meta element via  a CSS @viewport -at-rule instead. It would be nice to have this in WebKit.

Joe Lambert wrote a post which included some rational for wanting something like this in CSS [0]

&quot;Current meta tag support is useful but it does pose some problems, especially if you wish to treat different devices differently. Suppose you’re using media queries to render your site differently for iPhone &amp; iPad, you may wish to prevent scaling on iPhone but not on iPad. This (as far as I have found) isn’t possible without conditionally adding the metatags server side.

&quot;If these viewport controls were controlled via CSS then we could use the same media queries to deliver different settings to different devices!&quot;

[0] http://blog.joelambert.co.uk/2011/10/13/ios5-for-web-developers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487266</commentid>
    <comment_count>1</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-10-19 20:28:42 -0700</bug_when>
    <thetext>Relevant ED specification: http://dev.w3.org/csswg/css-device-adapt/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528965</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-01-03 12:38:15 -0800</bug_when>
    <thetext>Assigning to Thiago, as he is working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540245</commentid>
    <comment_count>3</comment_count>
      <attachid>123473</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-01-22 08:33:17 -0800</bug_when>
    <thetext>Created attachment 123473
Work in progress of the CSS Device Adaptation

Update on the current status of my implementation: parsing is almost done. I had a problem of properties like zoom, height and width (which is a shorthand in viewport) having a different semantics from other specs. First I though about prefixing like -webkit-viewport-zoom, but that would completely break compatibility with other implementations. I had to create a state whenever the parser is inside a viewport block and go to a different path for property validation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540246</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-22 08:37:03 -0800</bug_when>
    <thetext>Attachment 123473 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/WebCore/css/CSSParser.cpp:683:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/css/CSSParser.cpp:696:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/css/CSSParser.cpp:704:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/css/CSSParser.cpp:708:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 4 in 14 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>540252</commentid>
    <comment_count>5</comment_count>
      <attachid>123473</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-01-22 09:02:39 -0800</bug_when>
    <thetext>Comment on attachment 123473
Work in progress of the CSS Device Adaptation

Attachment 123473 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11284535</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540257</commentid>
    <comment_count>6</comment_count>
      <attachid>123473</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-22 09:07:56 -0800</bug_when>
    <thetext>Comment on attachment 123473
Work in progress of the CSS Device Adaptation

Attachment 123473 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11114059</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540280</commentid>
    <comment_count>7</comment_count>
      <attachid>123473</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2012-01-22 10:55:50 -0800</bug_when>
    <thetext>Comment on attachment 123473
Work in progress of the CSS Device Adaptation

Attachment 123473 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11114084</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540322</commentid>
    <comment_count>8</comment_count>
      <attachid>123473</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-01-22 15:30:23 -0800</bug_when>
    <thetext>Comment on attachment 123473
Work in progress of the CSS Device Adaptation

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

I am just looking the patch through to get a sense of it, so just some minor comments

&gt; Source/WebCore/ChangeLog:7
&gt; +        Current WIP of CSS Device Adaptation implementation
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=70370
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

To ease the pre-review it would be good if you could start by writing a great changelog

&gt; Source/WebCore/css/CSSParser.cpp:662
&gt; +    // Some properties needs remapping because their names clashes with
&gt; +    // other existing properties names but the semantics are different

a nit, in webkit we end our comments with a punctuation mark

&gt; Source/WebCore/css/CSSParser.cpp:678
&gt; +    switch (static_cast&lt;CSSPropertyID&gt;(propId)) {
&gt; +    case CSSPropertyMinWidth:
&gt; +        propId = CSSPropertyWebkitViewportMinWidth;
&gt; +        break;
&gt; +    case CSSPropertyMaxWidth:
&gt; +        propId = CSSPropertyWebkitViewportMaxWidth;
&gt; +        break;
&gt; +    case CSSPropertyMinHeight:
&gt; +        propId = CSSPropertyWebkitViewportMinHeight;
&gt; +        break;
&gt; +    case CSSPropertyMaxHeight:
&gt; +        propId = CSSPropertyWebkitViewportMaxHeight;
&gt; +        break;
&gt; +    case CSSPropertyZoom:
&gt; +        propId = CSSPropertyWebkitViewportZoom;
&gt; +    }

What if it is none of these (new ones could be added in the future)?

&gt; Source/WebCore/css/CSSParser.cpp:703
&gt; +    case CSSPropertyMaxZoom:
&gt; +    case CSSPropertyWebkitViewportZoom:
&gt; +        if (id == CSSValueAuto)
&gt; +            validPrimitive = true;
&gt; +        else
&gt; +            validPrimitive = (!id &amp;&amp; validUnit(value, FNumber | FPercent | FNonNeg, m_strict));
&gt; +        break;

Maybe add some comment that MinZoom, MaxZoom and ViewportZoom are handled alike

&gt; Source/WebCore/css/CSSParser.cpp:8114
&gt; +{
&gt; +    ASSERT(!m_inViewportRule);
&gt; +    m_inViewportRule = true;

cant this happen in illegal css code? (just wondering, im no css guru :-)

&gt; Source/WebCore/css/WebKitCSSViewportRule.cpp:51
&gt; +    String result = &quot;@-webkit-viewport { &quot;;
&gt; +    result += m_style-&gt;cssText();
&gt; +    result += &quot;}&quot;;

There should be a string building in webkit which might be more effective</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659497</commentid>
    <comment_count>9</comment_count>
      <attachid>149954</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-06-28 07:31:54 -0700</bug_when>
    <thetext>Created attachment 149954
Work in progress of the CSS Device Adaptation v2

The current TODO list for this patch is:

- Add a feature flag, like CSS_DEVICE_ADAPTATION.
- Add js bindings.
- Add layout tests.
- Add the new files to xcode build system.
- Currently viewport tags inside media queries affected by viewport size are ignore (to avoid circular dependencies).
- em units are not supported.
- The resolution property is not implemented is the only property not implemented.

The current status is pretty functional on the Qt port and it passes on the IE10 test suite.
http://samples.msdn.microsoft.com/ietestcenter/default.htm#css3deviceadaptation

The patch is a squash of my personal git branch, which is more readable IMO.
http://www.tmpsantos.com.br/cgi-bin/gitweb.cgi?p=webkit.git;a=shortlog;h=refs/heads/css_device_adaptation

Should I make this bug a [meta] and split this task?

Comments are welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659504</commentid>
    <comment_count>10</comment_count>
      <attachid>149954</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-28 07:50:22 -0700</bug_when>
    <thetext>Comment on attachment 149954
Work in progress of the CSS Device Adaptation v2

Attachment 149954 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13111077</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659514</commentid>
    <comment_count>11</comment_count>
      <attachid>149954</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-28 08:28:45 -0700</bug_when>
    <thetext>Comment on attachment 149954
Work in progress of the CSS Device Adaptation v2

Attachment 149954 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13119030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659538</commentid>
    <comment_count>12</comment_count>
      <attachid>149954</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-28 09:02:48 -0700</bug_when>
    <thetext>Comment on attachment 149954
Work in progress of the CSS Device Adaptation v2

Attachment 149954 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13119036</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660434</commentid>
    <comment_count>13</comment_count>
      <attachid>150167</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-06-29 06:47:03 -0700</bug_when>
    <thetext>Created attachment 150167
Work in progress of the CSS Device Adaptation v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660514</commentid>
    <comment_count>14</comment_count>
      <attachid>150182</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-06-29 08:25:46 -0700</bug_when>
    <thetext>Created attachment 150182
Work in progress of the CSS Device Adaptation v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660565</commentid>
    <comment_count>15</comment_count>
      <attachid>150182</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 09:32:13 -0700</bug_when>
    <thetext>Comment on attachment 150182
Work in progress of the CSS Device Adaptation v4

Attachment 150182 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13119364</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660627</commentid>
    <comment_count>16</comment_count>
      <attachid>150182</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-29 10:46:58 -0700</bug_when>
    <thetext>Comment on attachment 150182
Work in progress of the CSS Device Adaptation v4

Attachment 150182 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13113409</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660752</commentid>
    <comment_count>17</comment_count>
      <attachid>150250</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-06-29 13:34:56 -0700</bug_when>
    <thetext>Created attachment 150250
Work in progress of the CSS Device Adaptation v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660771</commentid>
    <comment_count>18</comment_count>
      <attachid>150250</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-29 14:05:23 -0700</bug_when>
    <thetext>Comment on attachment 150250
Work in progress of the CSS Device Adaptation v5

Attachment 150250 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13106542</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660870</commentid>
    <comment_count>19</comment_count>
      <attachid>150250</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 17:01:09 -0700</bug_when>
    <thetext>Comment on attachment 150250
Work in progress of the CSS Device Adaptation v5

Attachment 150250 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13119525

New failing tests:
dom/xhtml/level3/core/nodeisequalnode22.xhtml
dom/xhtml/level1/core/hc_nodeinsertbeforenewchilddiffdocument.xhtml
dom/xhtml/level3/core/nodeinsertbefore13.xhtml
dom/xhtml/level3/core/nodereplacechild37.xhtml
dom/xhtml/level1/core/hc_attrappendchild5.xhtml
dom/xhtml/level3/core/nodeisequalnode21.xhtml
dom/xhtml/level3/core/nodeinsertbefore08.xhtml
dom/xhtml/level3/core/nodeisequalnode11.xhtml
dom/html/level1/core/hc_elementwrongdocumenterr.html
dom/xhtml/level3/core/nodeisequalnode07.xhtml
dom/html/level1/core/hc_attrinsertbefore6.html
dom/html/level1/core/hc_attrappendchild5.html
dom/html/level1/core/hc_nodeappendchildnewchilddiffdocument.html
dom/html/level1/core/hc_namednodemapwrongdocumenterr.html
dom/xhtml/level3/core/documentadoptnode32.xhtml
dom/xhtml/level1/core/hc_nodeappendchildnewchilddiffdocument.xhtml
dom/xhtml/level3/core/documentadoptnode14.xhtml
dom/xhtml/level1/core/hc_namednodemapwrongdocumenterr.xhtml
dom/html/level1/core/hc_nodeinsertbeforenewchilddiffdocument.html
dom/xhtml/level3/core/nodeissamenode01.xhtml
dom/xhtml/level1/core/hc_attrinsertbefore6.xhtml
dom/xhtml/level1/core/hc_nodereplacechildnewchilddiffdocument.xhtml
dom/xhtml/level3/core/nodeinsertbefore07.xhtml
dom/xhtml/level1/core/hc_elementwrongdocumenterr.xhtml
dom/xhtml/level3/core/nodeinsertbefore23.xhtml
dom/xhtml/level3/core/nodeisequalnode01.xhtml
dom/html/level1/core/hc_nodereplacechildnewchilddiffdocument.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660871</commentid>
    <comment_count>20</comment_count>
      <attachid>150275</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 17:01:17 -0700</bug_when>
    <thetext>Created attachment 150275
Archive of layout-test-results from ec2-cr-linux-01

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-01  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713122</commentid>
    <comment_count>21</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-09-06 03:23:20 -0700</bug_when>
    <thetext>Moving to a [Meta].

*** This bug has been marked as a duplicate of bug 95959 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123473</attachid>
            <date>2012-01-22 08:33:17 -0800</date>
            <delta_ts>2012-06-28 07:31:54 -0700</delta_ts>
            <desc>Work in progress of the CSS Device Adaptation</desc>
            <filename>css_device_adaptation.patch</filename>
            <type>text/plain</type>
            <size>23175</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5OWVjMzA4Li5mZTI2N2MxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEg
QEAKKzIwMTItMDEtMjIgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dG1wc2FudG9zQGdtYWls
LmNvbT4KKworICAgICAgICBDdXJyZW50IFdJUCBvZiBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaW1w
bGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcwMzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBjc3Mv
Q1NTR3JhbW1hci55OgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpDU1NQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
OjpwYXJzZVZpZXdwb3J0UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZVZpZXdwb3J0U2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFy
c2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmxleCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnJlY2hlY2tBdEtleXdvcmQpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpjcmVhdGVWaWV3cG9ydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjptYXJrVmlld3BvcnRTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1h
cmtWaWV3cG9ydEVuZCk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNz
cy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eTo6aXNJbmhl
cml0ZWRQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAg
ICAgICogY3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6Y3NzVGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlOjpkZXN0cm95KToKKyAgICAgICAgKiBjc3Mv
Q1NTUnVsZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6aXNWaWV3cG9ydFJ1bGUpOgor
ICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9XZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1Zp
ZXdwb3J0UnVsZTo6V2ViS2l0Q1NTVmlld3BvcnRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YktpdENTU1ZpZXdwb3J0UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpzZXREZWNsYXJhdGlvbik6CisgICAgICAgICogY3Nz
L1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvdG9rZW5pemVy
LmZsZXg6CisKIDIwMTItMDEtMjAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJp
bS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjk4ODUyKTogYXBwbGUuY29tIG5hdmlnYXRp
b24gYmFyIGlzIGJyb2tlbiB1bmRlciBmdWxsLXBhZ2Ugem9vbQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMWNh
MDllNi4uMWE3NWJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC00NjYsNiArNDY2LDcgQEAgU09VUkNFUyAr
PSBcCiAgICAgY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwK
KyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBcCiAgICAgZG9tL0FjdGl2ZURPTU9i
amVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAgZG9tL0F0dHJpYnV0ZS5jcHAgXApA
QCAtMTU3OSw2ICsxNTgwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1JlZ2lv
blJ1bGUuaCBcCiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogICAgIGNzcy9XZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgg
XAogICAgIGRvbS9BY3RpdmVET01PYmplY3QuaCBcCiAgICAgZG9tL0F0dHIuaCBcCiAgICAgZG9t
L0F0dHJpYnV0ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiYmNjOTQ4Li41Njg3NzU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yNTA4LDYgKzI1MDgsOCBAQAogICAgICAgICAgICAgJ2Nzcy9XZWJL
aXRDU1NTaGFkZXJWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NTaGFkZXJW
YWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwJywK
KyAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVmlld3BvcnQuaCcsCisgICAgICAgICAgICAnY3Nz
L1dlYktpdENTU1ZpZXdwb3J0LmNwcCcsCiAgICAgICAgICAgICAnZWRpdGluZy9BcHBlbmROb2Rl
Q29tbWFuZC5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvQXBwZW5kTm9kZUNvbW1hbmQuaCcs
CiAgICAgICAgICAgICAnZWRpdGluZy9BcHBseUJsb2NrRWxlbWVudENvbW1hbmQuY3BwJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JhbW1hci55CmluZGV4IDcwNWMzNmIuLmVjNDFiZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyYW1tYXIueQpAQCAtNSw2ICs1LDcgQEAKICAqICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292IChhcEBueXBv
cC5jb20pCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5v
cmc+CisgKiAgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTQyLDYgKzE0Myw3IEBAIHN0YXRp
YyBpbnQgY3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAldG9rZW4gV0VC
S0lUX01FRElBUVVFUllfU1lNCiAldG9rZW4gV0VCS0lUX1NFTEVDVE9SX1NZTQogJXRva2VuIFdF
QktJVF9SRUdJT05fUlVMRV9TWU0KKyV0b2tlbiBXRUJLSVRfVklFV1BPUlRfU1lNCiAldG9rZW4g
PG1hcmdpbkJveD4gVE9QTEVGVENPUk5FUl9TWU0KICV0b2tlbiA8bWFyZ2luQm94PiBUT1BMRUZU
X1NZTQogJXRva2VuIDxtYXJnaW5Cb3g+IFRPUENFTlRFUl9TWU0KQEAgLTIyMSw2ICsyMjMsNyBA
QCBzdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwgdm9pZCogcGFyc2VyKQogJXR5
cGUgPHJ1bGU+IGJsb2NrX3J1bGUKICV0eXBlIDxydWxlPiBibG9ja192YWxpZF9ydWxlCiAldHlw
ZSA8cnVsZT4gcmVnaW9uCisldHlwZSA8cnVsZT4gdmlld3BvcnQKIAogJXR5cGUgPHN0cmluZz4g
bWF5YmVfbnNfcHJlZml4CiAKQEAgLTQxMyw2ICs0MTYsNyBAQCB2YWxpZF9ydWxlOgogICB8IG5h
bWVzcGFjZQogICB8IGltcG9ydAogICB8IHJlZ2lvbgorICB8IHZpZXdwb3J0CiAgIDsKIAogcnVs
ZToKQEAgLTQ0MSw2ICs0NDUsNyBAQCBibG9ja192YWxpZF9ydWxlOgogICB8IHBhZ2UKICAgfCBm
b250X2ZhY2UKICAgfCBrZXlmcmFtZXMKKyAgfCB2aWV3cG9ydAogICA7CiAKIGJsb2NrX3J1bGU6
CkBAIC04MDQsNiArODA5LDMyIEBAIHJlZ2lvbjoKICAgICB9CiA7CiAKK3ZpZXdwb3J0OgorICAg
IHZpZXdwb3J0X2F0IG1heWJlX3NwYWNlCisgICAgJ3snIG1heWJlX3NwYWNlIGRlY2xhcmF0aW9u
X2xpc3QgY2xvc2luZ19icmFjZSB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0
PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3cG9ydEVuZCgpOworICAg
ICAgICAkJCA9IHAtPmNyZWF0ZVZpZXdwb3J0UnVsZSgpOworICAgIH0KKyAgICB8IFdFQktJVF9W
SUVXUE9SVF9TWU0gZXJyb3IgaW52YWxpZF9ibG9jayB7CisgICAgICAgIENTU1BhcnNlciogcCA9
IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3cG9y
dEVuZCgpOworICAgICAgICAkJCA9IDA7CisgICAgfQorICAgIHwgV0VCS0lUX1ZJRVdQT1JUX1NZ
TSBlcnJvciAnOycgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJz
ZXIqPihwYXJzZXIpOworICAgICAgICBwLT5tYXJrVmlld3BvcnRFbmQoKTsKKyAgICAgICAgJCQg
PSAwOworICAgIH0KKzsKKwordmlld3BvcnRfYXQ6CisgICAgV0VCS0lUX1ZJRVdQT1JUX1NZTSB7
CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7
CisgICAgICAgIHAtPm1hcmtWaWV3cG9ydFN0YXJ0KCk7CisgICAgfQorOworCiBjb21iaW5hdG9y
OgogICAgICcrJyBtYXliZV9zcGFjZSB7ICQkID0gQ1NTU2VsZWN0b3I6OkRpcmVjdEFkamFjZW50
OyB9CiAgIHwgJ34nIG1heWJlX3NwYWNlIHsgJCQgPSBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGph
Y2VudDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA3N2I4ZmZiLi4yY2ZlZmFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNSw2ICs1LDcgQEAKICAqIENvcHlyaWdodCAo
QykgMjAwNyBOaWNob2xhcyBTaGFua3MgPHdlYmtpdEBuaWNrc2hhbmtzLmNvbT4KICAqIENvcHly
aWdodCAoQykgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0
IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8v
d3d3LnRvcmNobW9iaWxlLmNvbS8pCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9y
YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTg1LDYg
Kzg2LDcgQEAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAjaW5jbHVkZSAiV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUuaCIKICNlbmRpZgorI2luY2x1ZGUgIldlYktpdENTU1ZpZXdwb3J0UnVsZS5oIgog
I2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KICNpbmNsdWRl
IDx3dGYvZHRvYS5oPgpAQCAtMTk0LDYgKzE5Niw3IEBAIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGJv
b2wgc3RyaWN0UGFyc2luZykKICAgICAsIG1faW1wbGljaXRTaG9ydGhhbmQoZmFsc2UpCiAgICAg
LCBtX2hhc0ZvbnRGYWNlT25seVZhbHVlcyhmYWxzZSkKICAgICAsIG1faGFkU3ludGFjdGljYWxs
eVZhbGlkQ1NTUnVsZShmYWxzZSkKKyAgICAsIG1faW5WaWV3cG9ydFJ1bGUoZmFsc2UpCiAgICAg
LCBtX2RlZmF1bHROYW1lc3BhY2Uoc3RhckF0b20pCiAgICAgLCBtX2luU3R5bGVSdWxlT3JEZWNs
YXJhdGlvbihmYWxzZSkKICAgICAsIG1fc2VsZWN0b3JMaXN0UmFuZ2UoMCwgMCkKQEAgLTY0Nyw2
ICs2NTAsMTAxIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZU1lZGlhUXVlcnkoTWVkaWFMaXN0KiBx
dWVyaWVzLCBjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICByZXR1cm4gb2s7CiB9CiAKK2Jvb2wg
Q1NTUGFyc2VyOjpwYXJzZVZpZXdwb3J0UHJvcGVydHkoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCit7CisgICAgYm9vbCB2YWxpZFByaW1pdGl2ZSA9IGZhbHNlOworICAgIENTU1BhcnNlclZh
bHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CisKKyAgICBpZiAoIXZhbHVlKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBTb21lIHByb3BlcnRpZXMgbmVlZHMgcmVt
YXBwaW5nIGJlY2F1c2UgdGhlaXIgbmFtZXMgY2xhc2hlcyB3aXRoCisgICAgLy8gb3RoZXIgZXhp
c3RpbmcgcHJvcGVydGllcyBuYW1lcyBidXQgdGhlIHNlbWFudGljcyBhcmUgZGlmZmVyZW50Cisg
ICAgc3dpdGNoIChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9wSWQpKSB7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU1pbldpZHRoOgorICAgICAgICBwcm9wSWQgPSBDU1NQcm9wZXJ0eVdlYmtp
dFZpZXdwb3J0TWluV2lkdGg7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlN
YXhXaWR0aDoKKyAgICAgICAgcHJvcElkID0gQ1NTUHJvcGVydHlXZWJraXRWaWV3cG9ydE1heFdp
ZHRoOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5TWluSGVpZ2h0OgorICAg
ICAgICBwcm9wSWQgPSBDU1NQcm9wZXJ0eVdlYmtpdFZpZXdwb3J0TWluSGVpZ2h0OworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5TWF4SGVpZ2h0OgorICAgICAgICBwcm9wSWQg
PSBDU1NQcm9wZXJ0eVdlYmtpdFZpZXdwb3J0TWF4SGVpZ2h0OworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIENTU1Byb3BlcnR5Wm9vbToKKyAgICAgICAgcHJvcElkID0gQ1NTUHJvcGVydHlXZWJr
aXRWaWV3cG9ydFpvb207CisgICAgfQorCisgICAgaW50IGlkID0gdmFsdWUtPmlkOworCisgICAg
c3dpdGNoIChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9wSWQpKSB7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdFZpZXdwb3J0TWluV2lkdGg6ICAvLyBhdXRvIHwgZGV2aWNlLXdpZHRo
IHwgZGV2aWNlLWhlaWdodCB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+CisgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdFZpZXdwb3J0TWF4V2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRWaWV3cG9ydE1h
eEhlaWdodDoKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1
ZURldmljZVdpZHRoIHx8IGlkID09IENTU1ZhbHVlRGV2aWNlSGVpZ2h0KQorICAgICAgICAgICAg
dmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB2YWxpZFBy
aW1pdGl2ZSA9ICghaWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwgRlBlcmNlbnQgfCBG
Tm9uTmVnLCBtX3N0cmljdCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2lkdGg6CisgICAgICAgIHJldHVybiBwYXJzZVZpZXdwb3J0U2hvcnRoYW5kKHByb3BJZCwgQ1NT
UHJvcGVydHlNaW5XaWR0aCwgQ1NTUHJvcGVydHlNYXhXaWR0aCwgaW1wb3J0YW50KTsKKyAgICBj
YXNlIENTU1Byb3BlcnR5SGVpZ2h0OgorICAgICAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFNob3J0
aGFuZChwcm9wSWQsIENTU1Byb3BlcnR5TWluSGVpZ2h0LCBDU1NQcm9wZXJ0eU1heEhlaWdodCwg
aW1wb3J0YW50KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5TWluWm9vbTogICAgICAgICAgICAgICAg
IC8vIGF1dG8gfCA8bnVtYmVyPiB8IDxwZXJjZW50YWdlPgorICAgIGNhc2UgQ1NTUHJvcGVydHlN
YXhab29tOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRWaWV3cG9ydFpvb206CisgICAgICAg
IGlmIChpZCA9PSBDU1NWYWx1ZUF1dG8pCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRy
dWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gKCFpZCAmJiB2
YWxpZFVuaXQodmFsdWUsIEZOdW1iZXIgfCBGUGVyY2VudCB8IEZOb25OZWcsIG1fc3RyaWN0KSk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlVc2VyWm9vbTogICAgICAgICAg
ICAgICAgLy8gem9vbSB8IGZpeGVkCisgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVpvb20gfHwg
aWQgPT0gQ1NTVmFsdWVGaXhlZCkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU9yaWVudGF0aW9uOiAgICAgICAg
ICAgICAvLyBhdXRvIHwgcG9ydHJhaXQgfCBsYW5kc2NhcGUKKyAgICAgICAgaWYgKGlkID09IENT
U1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZVBvcnRyYWl0IHx8IGlkID09IENTU1ZhbHVlTGFu
ZHNjYXBlKQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgIH0KKworICAg
IFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWU7CisgICAgaWYgKHZhbGlkUHJpbWl0aXZlKSB7
CisgICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VWYWxpZFByaW1pdGl2ZShpZCwgdmFsdWUpOwor
ICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOworICAgIH0KKyAgICBpZiAocGFyc2VkVmFsdWUp
IHsKKyAgICAgICAgaWYgKCFtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8IGluU2hvcnRoYW5kKCkp
IHsKKyAgICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcGFyc2VkVmFsdWUucmVsZWFzZSgp
LCBpbXBvcnRhbnQpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZVZpZXdwb3J0
U2hvcnRoYW5kKGludCBwcm9wSWQsIGNvbnN0IGludCBmaXJzdCwgY29uc3QgaW50IHNlY29uZCwg
Ym9vbCBpbXBvcnRhbnQpCit7CisgICAgdW5zaWduZWQgaW50IG51bVZhbHVlcyA9IG1fdmFsdWVM
aXN0LT5zaXplKCk7CisKKyAgICBpZiAobnVtVmFsdWVzID4gMikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgU2hvcnRoYW5kU2NvcGUgc2NvcGUodGhpcywgcHJvcElkKTsKKworICAgIGlm
ICghcGFyc2VWaWV3cG9ydFByb3BlcnR5KGZpcnN0LCBpbXBvcnRhbnQpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAvLyBJZiBqdXN0IG9uZSB2YWx1ZSBpcyBzdXBwbGllZCwgdGhlIHNl
Y29uZCB2YWx1ZQorICAgIC8vIGlzIGltcGxpY2l0bHkgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgZmly
c3QgdmFsdWUKKyAgICBpZiAobnVtVmFsdWVzID09IDEpCisgICAgICAgIG1fdmFsdWVMaXN0LT5w
cmV2aW91cygpOworCisgICAgcmV0dXJuIHBhcnNlVmlld3BvcnRQcm9wZXJ0eShzZWNvbmQsIGlt
cG9ydGFudCk7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjphZGRQcm9wZXJ0eShpbnQgcHJvcElkLCBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQp
CiB7CiAgICAgT3duUHRyPENTU1Byb3BlcnR5PiBwcm9wKGFkb3B0UHRyKG5ldyBDU1NQcm9wZXJ0
eShwcm9wSWQsIHZhbHVlLCBpbXBvcnRhbnQsIG1fY3VycmVudFNob3J0aGFuZCwgbV9pbXBsaWNp
dFNob3J0aGFuZCB8fCBpbXBsaWNpdCkpKTsKQEAgLTg3NSw2ICs5NzMsOSBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogCisgICAgaWYgKG1faW5WaWV3cG9ydFJ1bGUpCisgICAgICAgIHJl
dHVybiBwYXJzZVZpZXdwb3J0UHJvcGVydHkocHJvcElkLCBpbXBvcnRhbnQpOworCiAgICAgYm9v
bCB2YWxpZFByaW1pdGl2ZSA9IGZhbHNlOwogICAgIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFs
dWU7CiAKQEAgLTczMzQsNiArNzQzNSw3IEBAIGludCBDU1NQYXJzZXI6OmxleCh2b2lkKiB5eWx2
YWxXaXRob3V0VHlwZSkKICAgICBjYXNlIENIQVJTRVRfU1lNOgogICAgIGNhc2UgTkFNRVNQQUNF
X1NZTToKICAgICBjYXNlIFdFQktJVF9LRVlGUkFNRVNfU1lNOgorICAgIGNhc2UgV0VCS0lUX1ZJ
RVdQT1JUX1NZTToKIAogICAgIGNhc2UgSU1QT1JUQU5UX1NZTToKICAgICAgICAgYnJlYWs7CkBA
IC03MzkzLDYgKzc0OTUsOCBAQCB2b2lkIENTU1BhcnNlcjo6cmVjaGVja0F0S2V5d29yZChjb25z
dCBVQ2hhciogc3RyLCBpbnQgbGVuKQogICAgICAgICB5eVRvayA9IFdFQktJVF9LRVlGUkFNRVNf
U1lNOwogICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHJ1bGVOYW1lLCAiQC13ZWJraXQt
bWVkaWFxdWVyeSIpKQogICAgICAgICB5eVRvayA9IFdFQktJVF9NRURJQVFVRVJZX1NZTTsKKyAg
ICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShydWxlTmFtZSwgIkAtd2Via2l0LXZpZXdwb3J0
IikpCisgICAgICAgIHl5VG9rID0gV0VCS0lUX1ZJRVdQT1JUX1NZTTsKIH0KIAogVUNoYXIqIENT
U1BhcnNlcjo6dGV4dChpbnQgKmxlbmd0aCkKQEAgLTc4NTAsNiArNzk1NCwxOSBAQCBDU1NSdWxl
KiBDU1NQYXJzZXI6OmNyZWF0ZU1hcmdpbkF0UnVsZShDU1NTZWxlY3Rvcjo6TWFyZ2luQm94VHlw
ZSAvKiBtYXJnaW5Cb3ggKgogICAgIHJldHVybiAwOyAvLyB1bnRpbCB0aGlzIG1ldGhvZCBpcyBp
bXBsZW1lbnRlZC4KIH0KIAorQ1NTUnVsZSogQ1NTUGFyc2VyOjpjcmVhdGVWaWV3cG9ydFJ1bGUo
KQoreworICAgIG1fYWxsb3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlv
bnMgPSBmYWxzZTsKKworICAgIFJlZlB0cjxXZWJLaXRDU1NWaWV3cG9ydFJ1bGU+IHJ1bGUgPSBX
ZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OmNyZWF0ZShtX3N0eWxlU2hlZXQpOworICAgIHJ1bGUtPnNl
dERlY2xhcmF0aW9uKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUocnVsZS5nZXQo
KSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCBtX251bVBhcnNlZFByb3BlcnRpZXMpKTsKKyAgICBjbGVh
clByb3BlcnRpZXMoKTsKKyAgICBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUqIHJlc3VsdCA9IHJ1bGUu
Z2V0KCk7CisgICAgbV9wYXJzZWRSdWxlcy5hcHBlbmQocnVsZS5yZWxlYXNlKCkpOworCisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBDU1NQYXJzZXI6OnN0YXJ0RGVjbGFyYXRpb25zRm9y
TWFyZ2luQm94KCkKIHsKICAgICBtX251bVBhcnNlZFByb3BlcnRpZXNCZWZvcmVNYXJnaW5Cb3gg
PSBtX251bVBhcnNlZFByb3BlcnRpZXM7CkBAIC03OTkxLDYgKzgxMDgsMTggQEAgdm9pZCBDU1NQ
YXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91bmQsIGJvb2wgaXNQcm9w
ZXJ0eVBhcnNlZCkKICAgICByZXNldFByb3BlcnR5TWFya3MoKTsKIH0KIAordm9pZCBDU1NQYXJz
ZXI6Om1hcmtWaWV3cG9ydFN0YXJ0KCkKK3sKKyAgICBBU1NFUlQoIW1faW5WaWV3cG9ydFJ1bGUp
OworICAgIG1faW5WaWV3cG9ydFJ1bGUgPSB0cnVlOworfQorCit2b2lkIENTU1BhcnNlcjo6bWFy
a1ZpZXdwb3J0RW5kKCkKK3sKKyAgICBBU1NFUlQobV9pblZpZXdwb3J0UnVsZSk7CisgICAgbV9p
blZpZXdwb3J0UnVsZSA9IGZhbHNlOworfQorCiBzdGF0aWMgaW50IGNzc1Byb3BlcnR5SUQoY29u
c3QgVUNoYXIqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIGlmICghbGVu
Z3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGEwZGY2OTYuLmY1NDA2NTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKQEAgLTI0OCw2ICsyNDgsNyBAQCBwdWJsaWM6CiAgICAgQ1NTUnVsZSog
Y3JlYXRlUGFnZVJ1bGUoUGFzc093blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gcGFnZVNlbGVjdG9y
KTsKICAgICBDU1NSdWxlKiBjcmVhdGVSZWdpb25SdWxlKFZlY3RvcjxPd25QdHI8Q1NTUGFyc2Vy
U2VsZWN0b3I+ID4qIHJlZ2lvblNlbGVjdG9yLCBDU1NSdWxlTGlzdCogcnVsZXMpOwogICAgIENT
U1J1bGUqIGNyZWF0ZU1hcmdpbkF0UnVsZShDU1NTZWxlY3Rvcjo6TWFyZ2luQm94VHlwZSBtYXJn
aW5Cb3gpOworICAgIENTU1J1bGUqIGNyZWF0ZVZpZXdwb3J0UnVsZSgpOwogICAgIHZvaWQgc3Rh
cnREZWNsYXJhdGlvbnNGb3JNYXJnaW5Cb3goKTsKICAgICB2b2lkIGVuZERlY2xhcmF0aW9uc0Zv
ck1hcmdpbkJveCgpOwogCkBAIC0yOTgsNiArMjk5LDggQEAgcHVibGljOgogICAgIGJvb2wgbV9o
YXNGb250RmFjZU9ubHlWYWx1ZXM7CiAgICAgYm9vbCBtX2hhZFN5bnRhY3RpY2FsbHlWYWxpZENT
U1J1bGU7CiAKKyAgICBib29sIG1faW5WaWV3cG9ydFJ1bGU7CisKICAgICBBdG9taWNTdHJpbmcg
bV9kZWZhdWx0TmFtZXNwYWNlOwogCiAgICAgLy8gdG9rZW5pemVyIG1ldGhvZHMgYW5kIGRhdGEK
QEAgLTMxMyw2ICszMTYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrUnVsZUJvZHlFbmQoKTsK
ICAgICB2b2lkIG1hcmtQcm9wZXJ0eVN0YXJ0KCk7CiAgICAgdm9pZCBtYXJrUHJvcGVydHlFbmQo
Ym9vbCBpc0ltcG9ydGFudEZvdW5kLCBib29sIGlzUHJvcGVydHlQYXJzZWQpOworICAgIHZvaWQg
bWFya1ZpZXdwb3J0U3RhcnQoKTsKKyAgICB2b2lkIG1hcmtWaWV3cG9ydEVuZCgpOwogICAgIHZv
aWQgcmVzZXRTZWxlY3Rvckxpc3RNYXJrcygpIHsgbV9zZWxlY3Rvckxpc3RSYW5nZS5zdGFydCA9
IG1fc2VsZWN0b3JMaXN0UmFuZ2UuZW5kID0gMDsgfQogICAgIHZvaWQgcmVzZXRSdWxlQm9keU1h
cmtzKCkgeyBtX3J1bGVCb2R5UmFuZ2Uuc3RhcnQgPSBtX3J1bGVCb2R5UmFuZ2UuZW5kID0gMDsg
fQogICAgIHZvaWQgcmVzZXRQcm9wZXJ0eU1hcmtzKCkgeyBtX3Byb3BlcnR5UmFuZ2Uuc3RhcnQg
PSBtX3Byb3BlcnR5UmFuZ2UuZW5kID0gVUlOVF9NQVg7IH0KQEAgLTM1OCw2ICszNjMsOSBAQCBw
cml2YXRlOgogCiAgICAgYm9vbCBwYXJzZUNvbG9yKGNvbnN0IFN0cmluZyYpOwogCisgICAgYm9v
bCBwYXJzZVZpZXdwb3J0UHJvcGVydHkoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworICAg
IGJvb2wgcGFyc2VWaWV3cG9ydFNob3J0aGFuZChpbnQgcHJvcElkLCBjb25zdCBpbnQgZmlyc3Qs
IGNvbnN0IGludCBzZWNvbmQsIGJvb2wgaW1wb3J0YW50KTsKKwogICAgIE93bkFycmF5UHRyPFVD
aGFyPiBtX2RhdGE7CiAgICAgVUNoYXIqIHl5dGV4dDsKICAgICBVQ2hhciogeXlfY19idWZfcDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IDEwNzFiYmUuLjlmOTgwOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApAQCAtNjY1LDYgKzY2NSwxNSBAQCBib29sIENTU1By
b3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KHVuc2lnbmVkIHByb3BlcnR5SUQpCiAjaWYgRU5B
QkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXREYXNoYm9h
cmRSZWdpb246CiAjZW5kaWYKKyAgICBjYXNlIENTU1Byb3BlcnR5TWF4Wm9vbToKKyAgICBjYXNl
IENTU1Byb3BlcnR5TWluWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5T3JpZW50YXRpb246Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVVzZXJab29tOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRW
aWV3cG9ydE1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRWaWV3cG9ydE1heFdp
ZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRWaWV3cG9ydE1pbkhlaWdodDoKKyAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0Vmlld3BvcnRNYXhIZWlnaHQ6CisgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdFZpZXdwb3J0Wm9vbToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2Ug
Q1NTUHJvcGVydHlJbnZhbGlkOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggY2ViMjc5OC4uNzYzZDg2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTExNywxMiArMTE3LDE1IEBA
IG1hcmdpbi1yaWdodAogbWFyZ2luLXRvcAogbWF4LWhlaWdodAogbWF4LXdpZHRoCittYXgtem9v
bQogbWluLWhlaWdodAogbWluLXdpZHRoCittaW4tem9vbQogb3BhY2l0eQogLy8gSG9ub3IgLXdl
YmtpdC1vcGFjaXR5IGFzIGEgc3lub255bSBmb3Igb3BhY2l0eS4gVGhpcyB3YXMgdGhlIG9ubHkg
c3ludGF4IHRoYXQgd29ya2VkIGluIFNhZmFyaSAxLjEsCiAvLyBhbmQgbWF5IGJlIGluIHVzZSBv
biBzb21lIHdlYnNpdGVzIGFuZCB3aWRnZXRzLgogLXdlYmtpdC1vcGFjaXR5ID0gb3BhY2l0eQor
b3JpZW50YXRpb24KIG9ycGhhbnMKIG91dGxpbmUKIG91dGxpbmUtY29sb3IKQEAgLTE3NSw2ICsx
NzgsNyBAQCB0ZXh0LXVuZGVybGluZS13aWR0aAogdG9wCiB1bmljb2RlLWJpZGkKIHVuaWNvZGUt
cmFuZ2UKK3VzZXItem9vbQogdmVydGljYWwtYWxpZ24KIHZpc2liaWxpdHkKIHdoaXRlLXNwYWNl
CkBAIC0zNjksNiArMzczLDExIEBAIHotaW5kZXgKIC13ZWJraXQtd3JhcC1mbG93CiAtd2Via2l0
LXdyYXAtdGhyb3VnaAogLXdlYmtpdC13cmFwCistd2Via2l0LXZpZXdwb3J0LW1pbi13aWR0aAor
LXdlYmtpdC12aWV3cG9ydC1tYXgtd2lkdGgKKy13ZWJraXQtdmlld3BvcnQtbWluLWhlaWdodAor
LXdlYmtpdC12aWV3cG9ydC1tYXgtaGVpZ2h0Cistd2Via2l0LXZpZXdwb3J0LXpvb20KICNpZiBk
ZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMKIC13ZWJr
aXQtdGFwLWhpZ2hsaWdodC1jb2xvcgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXgg
NTM5OTg0OC4uNTg4MWY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENT
U0tleWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NSZWdpb25SdWxlLmgiCisjaW5j
bHVkZSAiV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzAsNiArNzEsOCBAQCBTdHJpbmcgQ1NTUnVs
ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJL
aXRDU1NLZXlmcmFtZVJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOwogICAgIGNhc2UgV0VCS0lUX1JF
R0lPTl9SVUxFOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTUmVn
aW9uUnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CisgICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVM
RToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1ZpZXdwb3J0UnVs
ZSo+KHRoaXMpLT5jc3NUZXh0KCk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTEwOCw2ICsxMTEsOSBAQCB2b2lkIENTU1J1bGU6OmRl
c3Ryb3koKQogICAgIGNhc2UgV0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICBkZWxldGUgc3Rh
dGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47Cisg
ICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0
PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggNGYzY2Ez
Yi4uMTc3ZTE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC01Miw3ICs1Miw4IEBAIHB1YmxpYzoK
ICAgICAgICAgLy8gNyB1c2VkIHRvIGJlIFZBUklBQkxFU19SVUxFCiAgICAgICAgIFdFQktJVF9L
RVlGUkFNRVNfUlVMRSA9IDgsCiAgICAgICAgIFdFQktJVF9LRVlGUkFNRV9SVUxFLAotICAgICAg
ICBXRUJLSVRfUkVHSU9OX1JVTEUKKyAgICAgICAgV0VCS0lUX1JFR0lPTl9SVUxFLAorICAgICAg
ICBXRUJLSVRfVklFV1BPUlRfUlVMRSA9IDE1CiAgICAgfTsKIAogICAgIFR5cGUgdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFR5cGU+KG1fdHlwZSk7IH0KQEAgLTY2LDYgKzY3LDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNTdHlsZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gU1RZTEVfUlVMRTsgfQogICAgIGJvb2wgaXNSZWdpb25SdWxlKCkgY29uc3QgeyByZXR1cm4g
dHlwZSgpID09IFdFQktJVF9SRUdJT05fUlVMRTsgfQogICAgIGJvb2wgaXNJbXBvcnRSdWxlKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IElNUE9SVF9SVUxFOyB9CisgICAgYm9vbCBpc1ZpZXdw
b3J0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBXRUJLSVRfVklFV1BPUlRfUlVMRTsg
fQogCiAgICAgYm9vbCB1c2VTdHJpY3RQYXJzaW5nKCkgY29uc3QKICAgICB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDkzMWU1N2UuLmU4OWNiOTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC03MzksNiArNzM5LDIyIEBAIGRvY3Vt
ZW50CiByZXNldAogCiAvLworLy8gQ1NTX1BST1BfVVNFUl9aT09NCisvLworLy8gZml4ZWQKK3pv
b20KKworLy8KKy8vIENTU19QUk9QX19XRUJLSVRfVklFV1BPUlRfTUlOX1dJRFRICisvLyBDU1Nf
UFJPUF9fV0VCS0lUX1ZJRVdQT1JUX01BWF9XSURUSAorLy8gQ1NTX1BST1BfX1dFQktJVF9WSUVX
UE9SVF9NSU5fSEVJR0hUCisvLyBDU1NfUFJPUF9fV0VCS0lUX1ZJRVdQT1JUX01BWF9IRUlHSFQK
Ky8vCisvLyBhdXRvCitkZXZpY2Utd2lkdGgKK2RldmljZS1oZWlnaHQKKworLy8KIC8vIENTU19Q
Uk9QX1BPSU5URVJfRVZFTlRTCiAvLwogdmlzaWJsZVBhaW50ZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNmZhMDlhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcK
KyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIldlYktpdENTU1ZpZXdw
b3J0UnVsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dlYktpdENTU1ZpZXdwb3J0UnVs
ZTo6V2ViS2l0Q1NTVmlld3BvcnRSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENT
U1J1bGUocGFyZW50LCBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVMRSkKK3sKK30KKworV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlOjp+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCkKK3sKKyAgICBpZiAo
bV9zdHlsZSkKKyAgICAgICAgbV9zdHlsZS0+Y2xlYXJQYXJlbnRSdWxlKCk7Cit9CisKK1N0cmlu
ZyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZyBy
ZXN1bHQgPSAiQC13ZWJraXQtdmlld3BvcnQgeyAiOworICAgIHJlc3VsdCArPSBtX3N0eWxlLT5j
c3NUZXh0KCk7CisgICAgcmVzdWx0ICs9ICJ9IjsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K3ZvaWQgV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpzZXREZWNsYXJhdGlvbihQYXNzUmVmUHRyPENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBzdHlsZSkKK3sKKyAgICBBU1NFUlQoc3R5bGUtPnBh
cmVudFJ1bGUoKSA9PSB0aGlzKTsKKyAgICBtX3N0eWxlID0gc3R5bGU7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NW
aWV3cG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmQ2YWU5Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCkBAIC0w
LDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJ
U+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICog
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
CisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViS2l0Q1NTVmll
d3BvcnRSdWxlX2gKKyNkZWZpbmUgV2ViS2l0Q1NTVmlld3BvcnRSdWxlX2gKKworI2luY2x1ZGUg
IkNTU1N0eWxlUnVsZS5oIgorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUnVsZUxp
c3Q7CisKK2NsYXNzIFdlYktpdENTU1ZpZXdwb3J0UnVsZTogcHVibGljIENTU1J1bGUgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdENTU1ZpZXdwb3J0UnVsZT4gY3JlYXRl
KENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgV2ViS2l0Q1NTVmlld3BvcnRSdWxlKHBhcmVudCkpOworICAgIH0KKworICAgIH5XZWJLaXRD
U1NWaWV3cG9ydFJ1bGUoKTsKKworICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisKKyAgICB2
b2lkIHNldERlY2xhcmF0aW9uKFBhc3NSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+
KTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+IG1f
c3R5bGU7CisKKyAgICBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUoQ1NTU3R5bGVTaGVldCogcGFyZW50
KTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdG9r
ZW5pemVyLmZsZXggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKaW5kZXggYzI4
ZGJjYS4uMTRlNmM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3Rva2VuaXplci5m
bGV4CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90b2tlbml6ZXIuZmxleApAQCAtODEsNiArODEs
NyBAQCBudGhmdW5jICAgICAgICAgIm50aC0iKCJjaGlsZCJ8Im9mLXR5cGUifCJsYXN0LWNoaWxk
InwibGFzdC1vZi10eXBlIikKICJALXdlYmtpdC1rZXlmcmFtZXMiICAgIHt5eVRvayA9IFdFQktJ
VF9LRVlGUkFNRVNfU1lNOyByZXR1cm4geXlUb2s7IH0KICJALXdlYmtpdC1rZXlmcmFtZS1ydWxl
IiB7eXlUb2sgPSBXRUJLSVRfS0VZRlJBTUVfUlVMRV9TWU07IHJldHVybiB5eVRvazsgfQogIkAt
d2Via2l0LXJlZ2lvbiIgICAgICAge3l5VG9rID0gV0VCS0lUX1JFR0lPTl9SVUxFX1NZTTsgcmV0
dXJuIHl5VG9rO30KKyJALXdlYmtpdC12aWV3cG9ydCIgICAgIHt5eVRvayA9IFdFQktJVF9WSUVX
UE9SVF9TWU07IHJldHVybiB5eVRvazt9CiAKICJAIntpZGVudH0gICAgICAgICAgICAgIHt5eVRv
ayA9IEFUS0VZV09SRDsgcmV0dXJuIHl5VG9rOyB9CiAK
</data>
<flag name="commit-queue"
          id="124549"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149954</attachid>
            <date>2012-06-28 07:31:54 -0700</date>
            <delta_ts>2012-06-29 06:47:03 -0700</delta_ts>
            <desc>Work in progress of the CSS Device Adaptation v2</desc>
            <filename>viewport.patch</filename>
            <type>text/plain</type>
            <size>48742</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNmQzZGE3Zi4uYjY1MmIyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTUzNCwxMiArNTM0LDE0IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3Mv
U3R5bGVTaGVldC5jcHAKICAgICBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAogICAgIGNzcy9T
dHlsZVNoZWV0TGlzdC5jcHAKKyAgICBjc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcAogICAg
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlLmNwcAogICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcAogICAgIGNzcy9XZWJL
aXRDU1NNYXRyaXguY3BwCiAgICAgY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCiAgICAgY3Nz
L1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAorICAgIGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1
bGUuY3BwCiAKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcAogICAgIGRvbS9BdHRyLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzVlYzJlYy4uNjE3MzdkNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xNzYyLDYgKzE3NjIsOCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9jc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL1Zp
ZXdwb3J0U3R5bGVSZXNvbHZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmls
dGVyVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
aCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXApAQCAt
MTc3Niw2ICsxNzc4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5z
Zm9ybVZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vQWN0aXZlRE9NT2JqZWN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCA3Yjk2Yjc2Li42ZWViZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTQ5Nyw2ICs0
OTcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvU3R5bGVTaGVldC5jcHAgXAogICAgIGNzcy9T
dHlsZVNoZWV0Q29udGVudHMuY3BwIFwKICAgICBjc3MvU3R5bGVTaGVldExpc3QuY3BwIFwKKyAg
ICBjc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCiAgICAgY3NzL1dlYktpdENTU0ZpbHRl
clZhbHVlLmNwcCBcCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXAogICAgIGNz
cy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCBcCkBAIC01MDQsNiArNTA1LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwIFwKICAgICBjc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3Bw
IFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBcCiAgICAgZG9tL0FjdGl2ZURP
TU9iamVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAgZG9tL0JlZm9yZVRleHRJbnNl
cnRlZEV2ZW50LmNwcCBcCkBAIC0xNjgxLDYgKzE2ODMsNyBAQCBIRUFERVJTICs9IFwKICAgICBj
c3MvU3R5bGVTaGVldC5oIFwKICAgICBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmggXAogICAgIGNz
cy9TdHlsZVNoZWV0TGlzdC5oIFwKKyAgICBjc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmggXAog
ICAgIGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJh
bWVSdWxlLmggXAogICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggXApAQCAtMTY4OCw2
ICsxNjkxLDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaCBc
CiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5oIFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogICAgIGRv
bS9BY3RpdmVET01PYmplY3QuaCBcCiAgICAgZG9tL0F0dHIuaCBcCiAgICAgZG9tL0F0dHJpYnV0
ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAxMDU0ZTA3Li4yODJiODk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC0yNTcxLDYgKzI1NzEsOCBAQAogICAgICAgICAgICAgJ2Nzcy9TdHlsZVNoZWV0Q29u
dGVudHMuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmNwcCcsCiAgICAgICAg
ICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmgnLAorICAgICAgICAgICAgJ2Nzcy9WaWV3cG9ydFN0
eWxlUmVzb2x2ZXIuY3BwJywKKyAgICAgICAgICAgICdjc3MvVmlld3BvcnRTdHlsZVJlc29sdmVy
LmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAnLAogICAgICAg
ICAgICAgJ2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3Mv
V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgnLApAQCAtMjU4Myw2ICsyNTg1LDggQEAKICAgICAgICAg
ICAgICdjc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvV2Vi
S2l0Q1NTU2hhZGVyVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL1dlYktpdENTU1ZpZXdwb3J0LmgnLAorICAg
ICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3cG9ydC5jcHAnLAogICAgICAgICAgICAgJ2VkaXRp
bmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oJywKICAgICAgICAgICAgICdlZGl0aW5nL0FwcGVu
ZE5vZGVDb21tYW5kLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCmluZGV4IGQxMmRiNTYuLmRmOGE4NWEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zNzUzNSw2ICszNzUzNSwxNCBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcVmlld3Bv
cnRTdHlsZVJlc29sdmVyLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cY3NzXFZpZXdwb3J0U3R5bGVSZXNvbHZlci5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NTRmlsdGVy
VmFsdWUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3Bw
CmluZGV4IDJjZTFlMzYuLjRhMmIxMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcApA
QCAtNzAsMyArNzAsNCBAQAogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuY3BwIgogI2luY2x1
ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIu
Y3BwIgorI2luY2x1ZGUgIlZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDg3MGRl
ZTQuLmMzNGZiMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yNTExLDYgKzI1MTEsMTggQEAgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENT
U1Byb3BlcnQKICNlbmRpZgogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eU1heFpvb206CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlNaW5ab29tOgorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5T3JpZW50YXRpb246CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlS
ZXNvbHV0aW9uOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5VXNlclpvb206CisgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhlaWdodDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbkhl
aWdodDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluV2lkdGg6CisgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CisgICAgICAgICAgICBicmVhazsKKwogI2lm
IEVOQUJMRShTVkcpCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlDbGlwUGF0aDoKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUNsaXBSdWxlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYW1tYXIueSBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKaW5kZXggMmJh
MDIzOS4uMDU1NzNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIu
eQorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CkBAIC01LDYgKzUsNyBAQAog
ICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2
IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNvbSkKICAqICBDb3B5cmlnaHQgKEMpIDIw
MDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMTIg
SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCkBAIC0xNDQsNiArMTQ1LDcgQEAgc3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2
YWwsIHZvaWQqIHBhcnNlcikKICV0b2tlbiBXRUJLSVRfTUVESUFRVUVSWV9TWU0KICV0b2tlbiBX
RUJLSVRfU0VMRUNUT1JfU1lNCiAldG9rZW4gV0VCS0lUX1JFR0lPTl9SVUxFX1NZTQorJXRva2Vu
IFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZTQogJXRva2VuIDxtYXJnaW5Cb3g+IFRPUExFRlRDT1JO
RVJfU1lNCiAldG9rZW4gPG1hcmdpbkJveD4gVE9QTEVGVF9TWU0KICV0b2tlbiA8bWFyZ2luQm94
PiBUT1BDRU5URVJfU1lNCkBAIC0yMzAsNiArMjMyLDcgQEAgc3RhdGljIGludCBjc3N5eWxleChZ
WVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0eXBlIDxydWxlPiBibG9ja19ydWxlCiAl
dHlwZSA8cnVsZT4gYmxvY2tfdmFsaWRfcnVsZQogJXR5cGUgPHJ1bGU+IHJlZ2lvbgorJXR5cGUg
PHJ1bGU+IHZpZXdwb3J0CiAKICV0eXBlIDxzdHJpbmc+IG1heWJlX25zX3ByZWZpeAogCkBAIC00
MjMsNiArNDI2LDcgQEAgdmFsaWRfcnVsZToKICAgfCBuYW1lc3BhY2UKICAgfCBpbXBvcnQKICAg
fCByZWdpb24KKyAgfCB2aWV3cG9ydAogICA7CiAKIHJ1bGU6CkBAIC00NTEsNiArNDU1LDcgQEAg
YmxvY2tfdmFsaWRfcnVsZToKICAgfCBwYWdlCiAgIHwgZm9udF9mYWNlCiAgIHwga2V5ZnJhbWVz
CisgIHwgdmlld3BvcnQKICAgOwogCiBibG9ja19ydWxlOgpAQCAtODIwLDYgKzgyNSwzMiBAQCBy
ZWdpb246CiAgICAgfQogOwogCit2aWV3cG9ydDoKKyAgICB2aWV3cG9ydF9hdCBtYXliZV9zcGFj
ZQorICAgICd7JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlvbl9saXN0IGNsb3NpbmdfYnJhY2Ugewor
ICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwor
ICAgICAgICBwLT5tYXJrVmlld3BvcnRFbmQoKTsKKyAgICAgICAgJCQgPSBwLT5jcmVhdGVWaWV3
cG9ydFJ1bGUoKTsKKyAgICB9CisgICAgfCBXRUJLSVRfVklFV1BPUlRfUlVMRV9TWU0gZXJyb3Ig
aW52YWxpZF9ibG9jayB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1Bh
cnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3cG9ydEVuZCgpOworICAgICAgICAk
JCA9IDA7CisgICAgfQorICAgIHwgV0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNIGVycm9yICc7JyB7
CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7
CisgICAgICAgIHAtPm1hcmtWaWV3cG9ydEVuZCgpOworICAgICAgICAkJCA9IDA7CisgICAgfQor
OworCit2aWV3cG9ydF9hdDoKKyAgICBXRUJLSVRfVklFV1BPUlRfUlVMRV9TWU0geworICAgICAg
ICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAg
ICBwLT5tYXJrVmlld3BvcnRTdGFydCgpOworICAgIH0KKzsKKwogY29tYmluYXRvcjoKICAgICAn
KycgbWF5YmVfc3BhY2UgeyAkJCA9IENTU1NlbGVjdG9yOjpEaXJlY3RBZGphY2VudDsgfQogICB8
ICd+JyBtYXliZV9zcGFjZSB7ICQkID0gQ1NTU2VsZWN0b3I6OkluZGlyZWN0QWRqYWNlbnQ7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggY2M5NmEyZC4uMmEyZTg0ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTYsNiArNiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgg
RXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwOSBUb3Jj
aCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmls
ZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBv
cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNjEs
NiArMjYyLDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYg
Y29udGV4dCkKICAgICAsIG1fbGFzdFNlbGVjdG9yTGluZU51bWJlcigwKQogICAgICwgbV9hbGxv
d0ltcG9ydFJ1bGVzKHRydWUpCiAgICAgLCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zKHRy
dWUpCisgICAgLCBtX2luVmlld3BvcnRSdWxlKGZhbHNlKQogewogI2lmIFlZREVCVUcgPiAwCiAg
ICAgY3NzeXlkZWJ1ZyA9IDE7CkBAIC0xMzMxLDYgKzEzMzMsMTExIEBAIFBhc3NSZWZQdHI8U3R5
bGVQcm9wZXJ0eVNldD4gQ1NTUGFyc2VyOjpjcmVhdGVTdHlsZVByb3BlcnR5U2V0KCkKICAgICBy
ZXR1cm4gU3R5bGVQcm9wZXJ0eVNldDo6Y3JlYXRlSW1tdXRhYmxlKHJlc3VsdHMuZGF0YSgpLCBy
ZXN1bHRzLnNpemUoKSwgbV9jb250ZXh0Lm1vZGUpOwogfQogCitib29sIENTU1BhcnNlcjo6cGFy
c2VWaWV3cG9ydFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkK
K3sKKyAgICBib29sIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7CisgICAgQ1NTUGFyc2VyVmFsdWUq
IHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKKworICAgIGlmICghdmFsdWUpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNvbWUgcHJvcGVydGllcyBuZWVkcyByZW1hcHBp
bmcgYmVjYXVzZSB0aGVpciBuYW1lcyBjbGFzaGVzIHdpdGgKKyAgICAvLyBvdGhlciBleGlzdGlu
ZyBwcm9wZXJ0aWVzIG5hbWVzIGJ1dCB0aGUgc2VtYW50aWNzIGFyZSBkaWZmZXJlbnQuCisgICAg
c3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5TWluV2lkdGg6CisgICAgICAg
IHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNaW5XaWR0aDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eU1heFdpZHRoOgorICAgICAgICBwcm9wSWQgPSBDU1NQcm9wZXJ0
eVZpZXdwb3J0TWF4V2lkdGg7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlN
aW5IZWlnaHQ6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNaW5IZWlnaHQ7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlNYXhIZWlnaHQ6CisgICAgICAg
IHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWlnaHQ7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlab29tOgorICAgICAgICBwcm9wSWQgPSBDU1NQcm9wZXJ0eVZp
ZXdwb3J0Wm9vbTsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBp
bnQgaWQgPSB2YWx1ZS0+aWQ7CisKKyAgICBzd2l0Y2ggKHByb3BJZCkgeworICAgIGNhc2UgQ1NT
UHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOiAvLyBhdXRvIHwgZGV2aWNlLXdpZHRoIHwgZGV2aWNl
LWhlaWdodCB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZp
ZXdwb3J0TWF4V2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0Ogor
ICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhlaWdodDoKKyAgICAgICAgaWYgKGlkID09
IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZURldmljZVdpZHRoIHx8IGlkID09IENTU1Zh
bHVlRGV2aWNlSGVpZ2h0KQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9ICghaWQgJiYgdmFsaWRVbml0
KHZhbHVlLCBGTGVuZ3RoIHwgRlBlcmNlbnQgfCBGTm9uTmVnKSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogLy8gc2hvcnRoYW5kCisgICAgICAgIHJldHVybiBw
YXJzZVZpZXdwb3J0U2hvcnRoYW5kKHByb3BJZCwgQ1NTUHJvcGVydHlNaW5XaWR0aCwgQ1NTUHJv
cGVydHlNYXhXaWR0aCwgaW1wb3J0YW50KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0Ogor
ICAgICAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFNob3J0aGFuZChwcm9wSWQsIENTU1Byb3BlcnR5
TWluSGVpZ2h0LCBDU1NQcm9wZXJ0eU1heEhlaWdodCwgaW1wb3J0YW50KTsKKyAgICBjYXNlIENT
U1Byb3BlcnR5TWluWm9vbTogLy8gYXV0byB8IDxudW1iZXI+IHwgPHBlcmNlbnRhZ2U+CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9v
bToKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0bykKKyAgICAgICAgICAgIHZhbGlkUHJp
bWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUg
PSAoIWlkICYmIHZhbGlkVW5pdCh2YWx1ZSwgRk51bWJlciB8IEZQZXJjZW50IHwgRk5vbk5lZykp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5VXNlclpvb206IC8vIHpvb20g
fCBmaXhlZAorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVab29tIHx8IGlkID09IENTU1ZhbHVl
Rml4ZWQpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ1NTUHJvcGVydHlPcmllbnRhdGlvbjogLy8gYXV0byB8IHBvcnRyYWl0IHwg
bGFuZHNjYXBlCisgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFs
dWVQb3J0cmFpdCB8fCBpZCA9PSBDU1NWYWx1ZUxhbmRzY2FwZSkKKyAgICAgICAgICAgIHZhbGlk
UHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVJl
c29sdXRpb246IC8vIGF1dG8gfCBkZXZpY2UgfCA8cmVzb2x1dGlvbj4KKyAgICAgICAgaWYgKGlk
ID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZURldmljZSkKKyAgICAgICAgICAgIHZh
bGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsaWRQcmlt
aXRpdmUgPSAoIWlkICYmICB2YWxpZFVuaXQodmFsdWUsIEZMZW5ndGggfCBGTm9uTmVnKSk7IC8v
IEZJWE1FOiBBZGQgRlJlc29sdXRpb24KKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAg
ICB9CisKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlZFZhbHVlOworICAgIGlmICh2YWxpZFBy
aW1pdGl2ZSkgeworICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlVmFsaWRQcmltaXRpdmUoaWQs
IHZhbHVlKTsKKyAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKKyAgICB9CisgICAgaWYgKHBh
cnNlZFZhbHVlKSB7CisgICAgICAgIGlmICghbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSB8fCBpblNo
b3J0aGFuZCgpKSB7CisgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIHBhcnNlZFZhbHVl
LnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIENTU1BhcnNlcjo6cGFy
c2VWaWV3cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHByb3BJZCwgQ1NTUHJvcGVydHlJRCBm
aXJzdCwgQ1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wgaW1wb3J0YW50KQoreworICAgIHVuc2ln
bmVkIGludCBudW1WYWx1ZXMgPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOworCisgICAgaWYgKG51bVZh
bHVlcyA+IDIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFNob3J0aGFuZFNjb3BlIHNj
b3BlKHRoaXMsIHByb3BJZCk7CisKKyAgICBpZiAoIXBhcnNlVmlld3BvcnRQcm9wZXJ0eShmaXJz
dCwgaW1wb3J0YW50KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gSWYganVzdCBv
bmUgdmFsdWUgaXMgc3VwcGxpZWQsIHRoZSBzZWNvbmQgdmFsdWUKKyAgICAvLyBpcyBpbXBsaWNp
dGx5IGluaXRpYWxpemVkIHdpdGggdGhlIGZpcnN0IHZhbHVlLgorICAgIGlmIChudW1WYWx1ZXMg
PT0gMSkKKyAgICAgICAgbV92YWx1ZUxpc3QtPnByZXZpb3VzKCk7CisKKyAgICByZXR1cm4gcGFy
c2VWaWV3cG9ydFByb3BlcnR5KHNlY29uZCwgaW1wb3J0YW50KTsKK30KKwogdm9pZCBDU1NQYXJz
ZXI6OmFkZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcElkLCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQpCiB7CiAgICAgbV9wYXJzZWRQ
cm9wZXJ0aWVzLmFwcGVuZChDU1NQcm9wZXJ0eShwcm9wSWQsIHZhbHVlLCBpbXBvcnRhbnQsIG1f
Y3VycmVudFNob3J0aGFuZCwgbV9pbXBsaWNpdFNob3J0aGFuZCB8fCBpbXBsaWNpdCkpOwpAQCAt
MTY4Myw2ICsxNzkwLDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJ
RCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
KyAgICBpZiAobV9pblZpZXdwb3J0UnVsZSkKKyAgICAgICAgcmV0dXJuIHBhcnNlVmlld3BvcnRQ
cm9wZXJ0eShwcm9wSWQsIGltcG9ydGFudCk7CisKICAgICBib29sIHZhbGlkUHJpbWl0aXZlID0g
ZmFsc2U7CiAgICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZTsKIApAQCAtMjgwNCw2ICsy
OTE0LDIxIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElk
LCBib29sIGltcG9ydGFudCkKICAgICAgICAgLy8gVGhlc2UgcHJvcGVydGllcyBzaG91bGQgYmUg
aGFuZGxlZCBiZWZvcmUgaW4gaXNWYWxpZEtleXdvcmRQcm9wZXJ0eUFuZFZhbHVlKCkuCiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8g
UHJvcGVydGllcyBiZWxsb3cgYXJlIHZhbGlkYXRlZCBpbnNpZGUgcGFyc2VWaWV3cG9ydFByb3Bl
cnR5LCBiZWNhdXNlIHdlCisgICAgLy8gY2hlY2sgZm9yIHBhcnNlciBzdGF0ZSBtX2luVmlld3Bv
cnRSdWxlLiBXZSBuZWVkIHRvIGludmFsaWRhdGUgaWYgc29tZW9uZQorICAgIC8vIGFkZHMgdGhl
bSBvdXRzaWRlIGEgQHZpZXdwb3J0IHJ1bGUuCisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206
CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU9yaWVu
dGF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0aW9uOgorICAgIGNhc2UgQ1NTUHJv
cGVydHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWlnaHQ6Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRo
OgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CisgICAgICAgIHZhbGlkUHJpbWl0
aXZlID0gZmFsc2U7CisgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVs
dDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZHVmFsdWUocHJvcElkLCBpbXBvcnRhbnQpOwpAQCAt
ODgwMSw4ICs4OTI2LDEzIEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0QXRUb2tlbihp
bnQgbGVuZ3RoLCBib29sIGhhc0VzY2FwZSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBjYXNlIDE3OgotICAgICAgICAgICAgaWYgKCFoYXNFc2NhcGUgJiYgaXNFcXVhbFRvQ1NTSWRl
bnRpZmllcihuYW1lICsgMiwgIndlYmtpdC1zZWxlY3RvciIpKQorICAgICAgICAgICAgaWYgKGhh
c0VzY2FwZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGlmIChpc0FT
Q0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMTZdLCAncicpICYmIGlzRXF1YWxUb0NTU0lkZW50
aWZpZXIobmFtZSArIDIsICJ3ZWJraXQtc2VsZWN0byIpKQogICAgICAgICAgICAgICAgIG1fdG9r
ZW4gPSBXRUJLSVRfU0VMRUNUT1JfU1lNOworICAgICAgICAgICAgZWxzZSBpZiAoaXNBU0NJSUFs
cGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3QnKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVy
KG5hbWUgKyAyLCAid2Via2l0LXZpZXdwb3IiKSkKKyAgICAgICAgICAgICAgICBtX3Rva2VuID0g
V0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNOwogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IGNhc2UgMTg6CkBAIC05NzgwLDYgKzk5MTAsMjEgQEAgdm9pZCBDU1NQYXJzZXI6Om1hcmtQcm9w
ZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91bmQsIGJvb2wgaXNQcm9wZXJ0eVBhcnNlZCkKICAg
ICByZXNldFByb3BlcnR5UmFuZ2UoKTsKIH0KIAorU3R5bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpj
cmVhdGVWaWV3cG9ydFJ1bGUoKQoreworICAgIG1fYWxsb3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dO
YW1lc3BhY2VEZWNsYXJhdGlvbnMgPSBmYWxzZTsKKworICAgIFJlZlB0cjxTdHlsZVJ1bGVWaWV3
cG9ydD4gcnVsZSA9IFN0eWxlUnVsZVZpZXdwb3J0OjpjcmVhdGUoKTsKKyAgICBydWxlLT5zZXRQ
cm9wZXJ0aWVzKGNyZWF0ZVN0eWxlUHJvcGVydHlTZXQoKSk7CisKKyAgICBjbGVhclByb3BlcnRp
ZXMoKTsKKworICAgIFN0eWxlUnVsZVZpZXdwb3J0KiByZXN1bHQgPSBydWxlLmdldCgpOworICAg
IG1fcGFyc2VkUnVsZXMuYXBwZW5kKHJ1bGUucmVsZWFzZSgpKTsKKworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SUQoY29uc3QgVUNoYXIq
IHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIGlmICghbGVuZ3RoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oCmluZGV4IDYyNWUxZTAuLjUwZTU4ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTM0Nyw2ICszNDcsMTAgQEAgcHVibGljOgogICAgIGludCBsZXgodm9pZCogeXls
dmFsKTsKICAgICBpbnQgdG9rZW4oKSB7IHJldHVybiBtX3Rva2VuOyB9CiAKKyAgICB2b2lkIG1h
cmtWaWV3cG9ydFN0YXJ0KCkgeyBtX2luVmlld3BvcnRSdWxlID0gdHJ1ZTsgfQorICAgIHZvaWQg
bWFya1ZpZXdwb3J0RW5kKCkgeyBtX2luVmlld3BvcnRSdWxlID0gZmFsc2U7IH0KKyAgICBTdHls
ZVJ1bGVCYXNlKiBjcmVhdGVWaWV3cG9ydFJ1bGUoKTsKKwogICAgIFBhc3NSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSop
OwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmlu
Z1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAKQEAgLTM4Miw2ICszODYsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgc2V0dXBQYXJzZXIoY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBTdHJpbmcmLCBj
b25zdCBjaGFyKiBzdWZmaXgpOwogCiAgICAgYm9vbCBpblNob3J0aGFuZCgpIGNvbnN0IHsgcmV0
dXJuIG1faW5QYXJzZVNob3J0aGFuZDsgfQorICAgIGJvb2wgaW5WaWV3cG9ydFJ1bGUoKSBjb25z
dCB7IHJldHVybiBtX2luVmlld3BvcnRSdWxlOyB9CiAKICAgICB2b2lkIGNoZWNrRm9yT3JwaGFu
ZWRVbml0cygpOwogCkBAIC00MDcsNiArNDEyLDkgQEAgcHJpdmF0ZToKICAgICBib29sIHBhcnNl
Rm9udEZhY2VTcmNVUkkoQ1NTVmFsdWVMaXN0Kik7CiAgICAgYm9vbCBwYXJzZUZvbnRGYWNlU3Jj
TG9jYWwoQ1NTVmFsdWVMaXN0Kik7CiAKKyAgICBib29sIHBhcnNlVmlld3BvcnRQcm9wZXJ0eShD
U1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworICAgIGJvb2wgcGFyc2VWaWV3
cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHByb3BJZCwgQ1NTUHJvcGVydHlJRCBmaXJzdCwg
Q1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wgaW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VD
b2xvcihjb25zdCBTdHJpbmcmKTsKIAogICAgIGVudW0gUGFyc2luZ01vZGUgewpAQCAtNDI2LDYg
KzQzNCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2FsbG93SW1wb3J0UnVsZXM7CiAgICAgYm9v
bCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwogCisgICAgYm9vbCBtX2luVmlld3BvcnRS
dWxlOworCiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+IG1fcGFyc2VkUnVsZXM7
CiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZUtleWZyYW1lPiA+IG1fcGFyc2VkS2V5ZnJhbWVzOwog
ICAgIFZlY3RvcjxSZWZQdHI8TWVkaWFRdWVyeVNldD4gPiBtX3BhcnNlZE1lZGlhUXVlcnlTZXRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggN2EzZDcxNS4uMjJjY2ZiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC02NjEsNiArNjYxLDE2IEBAIGJvb2wgQ1NT
UHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQog
I2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
RGFzaGJvYXJkUmVnaW9uOgogI2VuZGlmCisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU9yaWVudGF0
aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWlnaHQ6CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZp
ZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOgor
ICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBjYXNlIENTU1Byb3BlcnR5SW52YWxpZDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGNhYWFmMGUuLjVk
YmYyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zODksNiAr
Mzg5LDE2IEBAIHotaW5kZXgKIC13ZWJraXQtd3JhcC10aHJvdWdoCiAtd2Via2l0LXdyYXAKICNl
bmRpZgorbWF4LXpvb20KK21pbi16b29tCitvcmllbnRhdGlvbgorcmVzb2x1dGlvbgordXNlci16
b29tCit2aWV3cG9ydC1tYXgtaGVpZ2h0Cit2aWV3cG9ydC1tYXgtd2lkdGgKK3ZpZXdwb3J0LW1p
bi1oZWlnaHQKK3ZpZXdwb3J0LW1pbi13aWR0aAordmlld3BvcnQtem9vbQogI2lmIGRlZmluZWQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RPVUNIX0VWRU5UUwogLXdlYmtpdC10YXAt
aGlnaGxpZ2h0LWNvbG9yCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcAppbmRleCBjMzEwNWEw
Li5jYjcwOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBAIC0zMCwxMiArMzAsMTMgQEAKICNp
bmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNoZWV0LmgiCiAjaW5j
bHVkZSAiQ1NTVW5rbm93blJ1bGUuaCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
aCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCi0jaW5jbHVkZSAiV2ViS2l0
Q1NTUmVnaW9uUnVsZS5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAi
U3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCisjaW5jbHVkZSAi
V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZS5oIgorI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIKKyNpbmNsdWRlICJXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04MCw2ICs4MSw4
IEBAIFN0cmluZyBDU1NSdWxlOjpjc3NUZXh0KCkgY29uc3QKICAgICBjYXNlIFdFQktJVF9SRUdJ
T05fUlVMRToKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1JlZ2lv
blJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOwogI2VuZGlmCisgICAgY2FzZSBXRUJLSVRfVklFV1BP
UlRfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1ZpZXdw
b3J0UnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTEyMCw2ICsxMjMsOSBAQCB2b2lkIENTU1J1
bGU6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9u
UnVsZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47CiAjZW5kaWYKKyAgICBjYXNlIFdFQktJVF9W
SUVXUE9SVF9SVUxFOgorICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTVmlld3Bv
cnRSdWxlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiB9CkBAIC0xNjAsNiArMTY2LDkgQEAgdm9pZCBDU1NSdWxlOjpyZWF0dGFjaChT
dHlsZVJ1bGVCYXNlKiBydWxlKQogICAgICAgICBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25S
dWxlKj4odGhpcyktPnJlYXR0YWNoKHN0YXRpY19jYXN0PFN0eWxlUnVsZVJlZ2lvbio+KHJ1bGUp
KTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCisgICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVM
RToKKyAgICAgICAgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcyktPnJl
YXR0YWNoKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4ocnVsZSkpOworICAgICAgICBy
ZXR1cm47CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmgKaW5kZXggZTM4ZTE2MS4uYWY1MDEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC01Nyw2ICs1
Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIFdFQktJVF9LRVlGUkFNRVNfUlVMRSwKICAgICAg
ICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUsCisgICAgICAgIFdFQktJVF9WSUVXUE9SVF9SVUxFID0g
MTUsCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICAgICBXRUJLSVRfUkVHSU9OX1JVTEUg
PSAxNgogI2VuZGlmCkBAIC03Miw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUGFnZVJ1
bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUEFHRV9SVUxFOyB9CiAgICAgYm9vbCBpc1N0
eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTVFlMRV9SVUxFOyB9CiAgICAgYm9v
bCBpc0ltcG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSU1QT1JUX1JVTEU7IH0K
KyAgICBib29sIGlzVmlld3BvcnRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFdFQktJ
VF9WSUVXUE9SVF9SVUxFOyB9CiAKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgYm9vbCBp
c1JlZ2lvblJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gV0VCS0lUX1JFR0lPTl9SVUxF
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDhkYzI3YzguLjI1
Y2JkNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC03NzIsNiAr
NzcyLDI3IEBAIGRvY3VtZW50CiByZXNldAogCiAvLworLy8gQ1NTX1BST1BfVVNFUl9aT09NCisv
LworLy8gZml4ZWQKK3pvb20KKworLy8KKy8vIENTU19QUk9QX1ZJRVdQT1JUX01JTl9XSURUSAor
Ly8gQ1NTX1BST1BfVklFV1BPUlRfTUFYX1dJRFRICisvLyBDU1NfUFJPUF9WSUVXUE9SVF9NSU5f
SEVJR0hUCisvLyBDU1NfUFJPUF9WSUVXUE9SVF9NQVhfSEVJR0hUCisvLworLy8gYXV0bworZGV2
aWNlLXdpZHRoCitkZXZpY2UtaGVpZ2h0CisKKy8vIENTU19QUk9QX1JFU09MVVRJT04KKy8vCisv
LyBhdXRvCitkZXZpY2UKKworLy8KIC8vIENTU19QUk9QX1BPSU5URVJfRVZFTlRTCiAvLwogdmlz
aWJsZVBhaW50ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA3ZTg1N2Fk
Li40YjJjMTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMTcsNiAr
MTE3LDcgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgIlRy
YW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hl
ZXRzLmgiCisjaW5jbHVkZSAiVmlld3BvcnRTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5o
IgogI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIKQEAgLTM2NSw2ICszNjYsNyBAQCBT
dHlsZVJlc29sdmVyOjpTdHlsZVJlc29sdmVyKERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBtYXRj
aEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX21hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyht
YXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX3NhbWVPcmlnaW5Pbmx5KGZhbHNlKQog
ICAgICwgbV9mb250U2VsZWN0b3IoQ1NTRm9udFNlbGVjdG9yOjpjcmVhdGUoZG9jdW1lbnQpKQor
ICAgICwgbV92aWV3cG9ydFN0eWxlUmVzb2x2ZXIoVmlld3BvcnRTdHlsZVJlc29sdmVyOjpjcmVh
dGUoZG9jdW1lbnQpKQogICAgICwgbV9hcHBseVByb3BlcnR5VG9SZWd1bGFyU3R5bGUodHJ1ZSkK
ICAgICAsIG1fYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHlsZShmYWxzZSkKICAgICAsIG1f
c3R5bGVCdWlsZGVyKFN0eWxlQnVpbGRlcjo6c2hhcmVkU3R5bGVCdWlsZGVyKCkpCkBAIC02NjQs
NiArNjY2LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphZGRLZXlmcmFtZVN0eWxlKFBhc3NSZWZQ
dHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBydWxlKQogU3R5bGVSZXNvbHZlcjo6flN0eWxlUmVzb2x2
ZXIoKQogewogICAgIG1fZm9udFNlbGVjdG9yLT5jbGVhckRvY3VtZW50KCk7CisgICAgbV92aWV3
cG9ydFN0eWxlUmVzb2x2ZXItPmNsZWFyRG9jdW1lbnQoKTsKIH0KIAogdm9pZCBTdHlsZVJlc29s
dmVyOjpzd2VlcE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoKQpAQCAtMjY5OSw2ICsyNzAyLDEwIEBA
IHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENvbnRlbnRzKiBzaGVl
dCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Nv
cGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHlsZVNlbGVjdG9yLT5hZGRLZXlmcmFtZVN0eWxlKHN0YXRpY19jYXN0PFN0
eWxlUnVsZUtleWZyYW1lcyo+KGNoaWxkUnVsZSkpOworICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKGNoaWxkUnVsZS0+aXNWaWV3cG9ydFJ1bGUoKSAmJiAhc3R5bGVTZWxlY3Rvci0+YWZm
ZWN0ZWRCeVZpZXdwb3J0Q2hhbmdlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChz
Y29wZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN0eWxlU2VsZWN0b3ItPnZpZXdwb3J0U3R5bGVSZXNvbHZlcigpLT5hZGRW
aWV3cG9ydFJ1bGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmlld3BvcnQqPihjaGlsZFJ1bGUpKTsK
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gLy8gZm9yIHJ1bGVzCiAg
ICAgICAgICAgICB9IC8vIGlmIHJ1bGVzCkBAIC0yNzE1LDE1ICsyNzIyLDE4IEBAIHZvaWQgUnVs
ZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENvbnRlbnRzKiBzaGVldCwgY29uc3Qg
TWVkaWFRdWVyeUV2YWx1CiAgICAgICAgICAgICBpZiAoc2NvcGUpCiAgICAgICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgICAgICBzdHlsZVNlbGVjdG9yLT5hZGRLZXlmcmFtZVN0eWxlKHN0
YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHJ1bGUpKTsKLSAgICAgICAgfQogI2lmIEVO
QUJMRShDU1NfUkVHSU9OUykKLSAgICAgICAgZWxzZSBpZiAocnVsZS0+aXNSZWdpb25SdWxlKCkg
JiYgc3R5bGVTZWxlY3RvcikgeworICAgICAgICB9IGVsc2UgaWYgKHJ1bGUtPmlzUmVnaW9uUnVs
ZSgpICYmIHN0eWxlU2VsZWN0b3IpIHsKICAgICAgICAgICAgIC8vIEZJWE1FIChCVUcgNzI0NzIp
OiBXZSBkb24ndCBhZGQgQC13ZWJraXQtcmVnaW9uIHJ1bGVzIG9mIHNjb3BlZCBzdHlsZSBzaGVl
dHMgZm9yIHRoZSBtb21lbnQuCiAgICAgICAgICAgICBpZiAoc2NvcGUpCiAgICAgICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgICAgICBhZGRSZWdpb25SdWxlKHN0YXRpY19jYXN0PFN0eWxl
UnVsZVJlZ2lvbio+KHJ1bGUpLCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luKTsKLSAgICAgICAg
fQogI2VuZGlmCisgICAgICAgIH0gZWxzZSBpZiAocnVsZS0+aXNWaWV3cG9ydFJ1bGUoKSkgewor
ICAgICAgICAgICAgaWYgKHNjb3BlKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgc3R5bGVTZWxlY3Rvci0+dmlld3BvcnRTdHlsZVJlc29sdmVyKCktPmFkZFZpZXdwb3J0
UnVsZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVWaWV3cG9ydCo+KHJ1bGUpKTsKKyAgICAgICAgfQog
ICAgIH0KICAgICBpZiAobV9hdXRvU2hyaW5rVG9GaXRFbmFibGVkKQogICAgICAgICBzaHJpbmtU
b0ZpdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKaW5kZXggNDg0M2ViNS4uODY4NDdk
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC04NSw2ICs4NSw3IEBAIGNsYXNz
IFN0eWxlU2hlZXQ7CiBjbGFzcyBTdHlsZVNoZWV0Q29udGVudHM7CiBjbGFzcyBTdHlsZVNoZWV0
TGlzdDsKIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CitjbGFzcyBWaWV3cG9ydFN0eWxlUmVzb2x2ZXI7
CiBjbGFzcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTsKIGNsYXNzIFdlYktpdENTU1NoYWRlclZhbHVl
OwogCkBAIC0yMjcsNiArMjI4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JB
dHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAKICAgICBDU1NGb250U2VsZWN0
b3IqIGZvbnRTZWxlY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9udFNlbGVjdG9yLmdldCgpOyB9
CisgICAgVmlld3BvcnRTdHlsZVJlc29sdmVyKiB2aWV3cG9ydFN0eWxlUmVzb2x2ZXIoKSBjb25z
dCB7IHJldHVybiBtX3ZpZXdwb3J0U3R5bGVSZXNvbHZlci5nZXQoKTsgfQogCiAgICAgdm9pZCBh
ZGRWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4cCos
IGJvb2wgcmVzdWx0KTsKIApAQCAtNDgyLDYgKzQ4NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X3NhbWVPcmlnaW5Pbmx5OwogCiAgICAgUmVmUHRyPENTU0ZvbnRTZWxlY3Rvcj4gbV9mb250U2Vs
ZWN0b3I7CisgICAgUmVmUHRyPFZpZXdwb3J0U3R5bGVSZXNvbHZlcj4gbV92aWV3cG9ydFN0eWxl
UmVzb2x2ZXI7CiAgICAgVmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5UmVzdWx0PiA+IG1fdmlld3Bv
cnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0czsKIAogICAgIGJvb2wgbV9hcHBseVByb3BlcnR5
VG9SZWd1bGFyU3R5bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDIwYjI5MDUuLmIz
YjNiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5j
bHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIKKyNpbmNsdWRlICJX
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03Nyw2
ICs3OCw5IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBLZXlmcmFt
ZXM6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlz
KTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgVmlld3BvcnQ6CisgICAgICAgIGRlbGV0ZSBz
dGF0aWNfY2FzdDxTdHlsZVJ1bGVWaWV3cG9ydCo+KHRoaXMpOworICAgICAgICByZXR1cm47CiAg
ICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hhcnNldDoKICAgICBjYXNlIEtleWZyYW1lOgpA
QCAtMTEwLDYgKzExNCw4IEBAIFBhc3NSZWZQdHI8U3R5bGVSdWxlQmFzZT4gU3R5bGVSdWxlQmFz
ZTo6Y29weSgpIGNvbnN0CiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgS2V5ZnJhbWVzOgog
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhp
cyktPmNvcHkoKTsKKyAgICBjYXNlIFZpZXdwb3J0OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Y29uc3QgU3R5bGVSdWxlVmlld3BvcnQqPih0aGlzKS0+Y29weSgpOwogICAgIGNhc2UgVW5r
bm93bjoKICAgICBjYXNlIENoYXJzZXQ6CiAgICAgY2FzZSBLZXlmcmFtZToKQEAgLTE1MSw2ICsx
NTcsOSBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3Jh
cHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogICAgIGNhc2UgS2V5ZnJhbWVzOgogICAg
ICAgICBydWxlID0gV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0
eWxlUnVsZUtleWZyYW1lcyo+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgVmlld3BvcnQ6CisgICAgICAgIHJ1bGUgPSBXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6
OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVWaWV3cG9ydCo+KHNlbGYpLCBwYXJlbnRTaGVl
dCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgVW5rbm93bjoKICAgICBjYXNlIENoYXJzZXQ6
CiAgICAgY2FzZSBLZXlmcmFtZToKQEAgLTMwMSw0ICszMTAsMzEgQEAgU3R5bGVSdWxlUmVnaW9u
OjpTdHlsZVJ1bGVSZWdpb24oY29uc3QgU3R5bGVSdWxlUmVnaW9uJiBvKQogewogfQogCitTdHls
ZVJ1bGVWaWV3cG9ydDo6U3R5bGVSdWxlVmlld3BvcnQoKQorICAgIDogU3R5bGVSdWxlQmFzZShW
aWV3cG9ydCwgMCkKK3sKK30KKworU3R5bGVSdWxlVmlld3BvcnQ6OlN0eWxlUnVsZVZpZXdwb3J0
KGNvbnN0IFN0eWxlUnVsZVZpZXdwb3J0JiBvKQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAg
ICwgbV9wcm9wZXJ0aWVzKG8ubV9wcm9wZXJ0aWVzLT5jb3B5KCkpCit7Cit9CisKK1N0eWxlUnVs
ZVZpZXdwb3J0Ojp+U3R5bGVSdWxlVmlld3BvcnQoKQoreworfQorCitTdHlsZVByb3BlcnR5U2V0
KiBTdHlsZVJ1bGVWaWV3cG9ydDo6bXV0YWJsZVByb3BlcnRpZXMoKQoreworICAgIGlmICghbV9w
cm9wZXJ0aWVzLT5pc011dGFibGUoKSkKKyAgICAgICAgbV9wcm9wZXJ0aWVzID0gbV9wcm9wZXJ0
aWVzLT5jb3B5KCk7CisgICAgcmV0dXJuIG1fcHJvcGVydGllcy5nZXQoKTsKK30KKwordm9pZCBT
dHlsZVJ1bGVWaWV3cG9ydDo6c2V0UHJvcGVydGllcyhQYXNzUmVmUHRyPFN0eWxlUHJvcGVydHlT
ZXQ+IHByb3BlcnRpZXMpCit7CisgICAgbV9wcm9wZXJ0aWVzID0gcHJvcGVydGllczsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4IDdmYzIwYTMu
LmU4ZDQ0YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGlj
OgogICAgICAgICBQYWdlLAogICAgICAgICBLZXlmcmFtZXMsCiAgICAgICAgIEtleWZyYW1lLCAv
LyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVLZXlmcmFtZSBv
YmplY3RzLgorICAgICAgICBWaWV3cG9ydCA9IDE1LAogICAgICAgICBSZWdpb24gPSAxNgogICAg
IH07CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90
eXBlKTsgfQpAQCAtNTYsNiArNTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1BhZ2VSdWxlKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IFBhZ2U7IH0KICAgICBib29sIGlzU3R5bGVSdWxlKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlOyB9CiAgICAgYm9vbCBpc1JlZ2lvblJ1bGUo
KSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUmVnaW9uOyB9CisgICAgYm9vbCBpc1ZpZXdwb3J0
UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBWaWV3cG9ydDsgfQogICAgIGJvb2wgaXNJ
bXBvcnRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEltcG9ydDsgfQogCiAgICAgUGFz
c1JlZlB0cjxTdHlsZVJ1bGVCYXNlPiBjb3B5KCkgY29uc3Q7CkBAIC0yMDgsNiArMjEwLDI2IEBA
IHByaXZhdGU6CiAgICAgQ1NTU2VsZWN0b3JMaXN0IG1fc2VsZWN0b3JMaXN0OwogfTsKIAorY2xh
c3MgU3R5bGVSdWxlVmlld3BvcnQgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNyZWF0ZSgpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTdHlsZVJ1bGVWaWV3cG9ydCk7IH0KKworICAgIH5TdHlsZVJ1bGVWaWV3
cG9ydCgpOworCisgICAgY29uc3QgU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVydGllcygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvcGVydGllcy5nZXQoKTsgfQorICAgIFN0eWxlUHJvcGVydHlTZXQqIG11
dGFibGVQcm9wZXJ0aWVzKCk7CisKKyAgICB2b2lkIHNldFByb3BlcnRpZXMoUGFzc1JlZlB0cjxT
dHlsZVByb3BlcnR5U2V0Pik7CisKKyAgICBQYXNzUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0PiBj
b3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlUnVsZVZpZXdwb3J0KCp0aGlz
KSk7IH0KKworcHJpdmF0ZToKKyAgICBTdHlsZVJ1bGVWaWV3cG9ydCgpOworICAgIFN0eWxlUnVs
ZVZpZXdwb3J0KGNvbnN0IFN0eWxlUnVsZVZpZXdwb3J0Jik7CisKKyAgICBSZWZQdHI8U3R5bGVQ
cm9wZXJ0eVNldD4gbV9wcm9wZXJ0aWVzOworfTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gU3R5bGVSdWxlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9W
aWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5
bGVSZXNvbHZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk2ZDkx
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9WaWV3cG9ydFN0eWxlUmVz
b2x2ZXIuY3BwCkBAIC0wLDAgKzEsMTU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElu
dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVmlld3BvcnRTdHlsZVJlc29sdmVyLmgiCisKKyNp
bmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNs
dWRlICJSZW5kZXJWaWV3LmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgorI2luY2x1
ZGUgIlN0eWxlUnVsZS5oIgorI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworVmlld3BvcnRTdHlsZVJlc29sdmVyOjpWaWV3cG9ydFN0eWxlUmVz
b2x2ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKK3sK
KyAgICBBU1NFUlQobV9kb2N1bWVudCk7CisKKyAgICBtX2luaXRpYWxWaWV3cG9ydFdpZHRoID0g
bV9kb2N1bWVudC0+cmVuZGVyVmlldygpLT52aWV3cG9ydFNpemUoKS53aWR0aCgpOworICAgIG1f
aW5pdGlhbFZpZXdwb3J0SGVpZ2h0ID0gbV9kb2N1bWVudC0+cmVuZGVyVmlldygpLT52aWV3cG9y
dFNpemUoKS5oZWlnaHQoKTsKK30KKworVmlld3BvcnRTdHlsZVJlc29sdmVyOjp+Vmlld3BvcnRT
dHlsZVJlc29sdmVyKCkKK3sKK30KKwordm9pZCBWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6OmFkZFZp
ZXdwb3J0UnVsZShTdHlsZVJ1bGVWaWV3cG9ydCogdmlld3BvcnRSdWxlKQoreworICAgIFN0eWxl
UHJvcGVydHlTZXQqIHByb3BlcnR5U2V0ID0gdmlld3BvcnRSdWxlLT5tdXRhYmxlUHJvcGVydGll
cygpOworICAgIGlmICghcHJvcGVydHlTZXQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bV9wcm9wZXJ0eVNldCkgeworICAgICAgICBtX3Byb3BlcnR5U2V0ID0gcHJvcGVydHlTZXQtPmNv
cHkoKTsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
Zm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBwcm9wZXJ0eVNldC0+cHJvcGVydHlDb3VudCgp
OyBpKyspCisgICAgICAgIG1fcHJvcGVydHlTZXQtPmFkZFBhcnNlZFByb3BlcnR5KHByb3BlcnR5
U2V0LT5wcm9wZXJ0eUF0KGkpKTsKKworICAgIHJlc29sdmUoKTsKK30KKwordm9pZCBWaWV3cG9y
dFN0eWxlUmVzb2x2ZXI6OmNsZWFyRG9jdW1lbnQoKQoreworICAgIG1fZG9jdW1lbnQgPSAwOwor
fQorCit2b2lkIFZpZXdwb3J0U3R5bGVSZXNvbHZlcjo6cmVzb2x2ZSgpCit7CisgICAgaWYgKCFt
X2RvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBWaWV3cG9ydEFyZ3VtZW50cyBhcmd1
bWVudHMoVmlld3BvcnRBcmd1bWVudHM6OkNTU0RldmljZUFkYXB0YXRpb24pOworCisgICAgYXJn
dW1lbnRzLnVzZXJTY2FsYWJsZSA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShDU1NQcm9wZXJ0
eVVzZXJab29tKTsKKyAgICBhcmd1bWVudHMuaW5pdGlhbFNjYWxlID0gZ2V0Vmlld3BvcnRBcmd1
bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRab29tKTsKKyAgICBhcmd1bWVudHMubWluaW11
bVNjYWxlID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5TWluWm9vbSk7Cisg
ICAgYXJndW1lbnRzLm1heGltdW1TY2FsZSA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShDU1NQ
cm9wZXJ0eU1heFpvb20pOworICAgIGFyZ3VtZW50cy5taW5XaWR0aCA9IGdldFZpZXdwb3J0QXJn
dW1lbnRWYWx1ZShDU1NQcm9wZXJ0eVZpZXdwb3J0TWluV2lkdGgpOworICAgIGFyZ3VtZW50cy5t
YXhXaWR0aCA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4
V2lkdGgpOworICAgIGFyZ3VtZW50cy5taW5IZWlnaHQgPSBnZXRWaWV3cG9ydEFyZ3VtZW50VmFs
dWUoQ1NTUHJvcGVydHlWaWV3cG9ydE1pbkhlaWdodCk7CisgICAgYXJndW1lbnRzLm1heEhlaWdo
dCA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4SGVpZ2h0
KTsKKyAgICBhcmd1bWVudHMub3JpZW50YXRpb24gPSBnZXRWaWV3cG9ydEFyZ3VtZW50VmFsdWUo
Q1NTUHJvcGVydHlPcmllbnRhdGlvbik7CisKKyAgICBtX2RvY3VtZW50LT5zZXRWaWV3cG9ydEFy
Z3VtZW50cyhhcmd1bWVudHMpOworICAgIG1fZG9jdW1lbnQtPnVwZGF0ZVZpZXdwb3J0QXJndW1l
bnRzKCk7Cit9CisKK2Zsb2F0IFZpZXdwb3J0U3R5bGVSZXNvbHZlcjo6Z2V0Vmlld3BvcnRBcmd1
bWVudFZhbHVlKENTU1Byb3BlcnR5SUQgaWQpIGNvbnN0Cit7CisgICAgZmxvYXQgZGVmYXVsdFZh
bHVlID0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0bzsKKworICAgIC8vIFVzZXJab29tIGRl
ZmF1bHQgdmFsdWUgaXMgQ1NTVmFsdWVab29tLCB3aGljaCBtYXBzIHRvIHRydWUsIG1lYW5pbmcg
dGhhdAorICAgIC8vIHllcywgaXQgaXMgdXNlciBzY2FsYWJsZS4gV2hlbiB0aGUgdmFsdWUgaXMg
c2V0IHRvIENTU1ZhbHVlRml4ZWQsIHdlCisgICAgLy8gcmV0dXJuIGZhbHNlLgorICAgIGlmIChp
ZCA9PSBDU1NQcm9wZXJ0eVVzZXJab29tKQorICAgICAgICBkZWZhdWx0VmFsdWUgPSAxOworCisg
ICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9ICBtX3Byb3BlcnR5U2V0LT5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKGlkKTsKKyAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgp
KQorICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOworCisgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZS5n
ZXQoKSk7CisKKyAgICBpZiAocHJpbWl0aXZlVmFsdWUtPmlzTnVtYmVyKCkgfHwgcHJpbWl0aXZl
VmFsdWUtPmlzUHgoKSkKKyAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlLT5nZXRGbG9hdFZh
bHVlKCk7CisKKyAgICBpZiAocHJpbWl0aXZlVmFsdWUtPmlzUGVyY2VudGFnZSgpKSB7CisgICAg
ICAgIGZsb2F0IHBlcmNlbnRWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLT5nZXRGbG9hdFZhbHVlKCkg
LyAxMDAuMGY7CisgICAgICAgIHN3aXRjaCAoaWQpIHsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVZpZXdwb3J0TWF4SGVpZ2h0OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5Vmlld3BvcnRNaW5I
ZWlnaHQ6CisgICAgICAgICAgICByZXR1cm4gcGVyY2VudFZhbHVlICogbV9pbml0aWFsVmlld3Bv
cnRIZWlnaHQ7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heFdpZHRoOgorICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5Vmlld3BvcnRNaW5XaWR0aDoKKyAgICAgICAgICAgIHJldHVy
biBwZXJjZW50VmFsdWUgKiBtX2luaXRpYWxWaWV3cG9ydFdpZHRoOworICAgICAgICBjYXNlIENT
U1Byb3BlcnR5TWF4Wm9vbToKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CisgICAgICAgICAgICByZXR1cm4gcGVy
Y2VudFZhbHVlOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIHN3aXRj
aCAocHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkpIHsKKyAgICBjYXNlIENTU1ZhbHVlQXV0bzoK
KyAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTsKKyAgICBjYXNlIENTU1ZhbHVlRGV2aWNlSGVp
Z2h0OgorICAgICAgICByZXR1cm4gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlSGVpZ2h0
OworICAgIGNhc2UgQ1NTVmFsdWVEZXZpY2VXaWR0aDoKKyAgICAgICAgcmV0dXJuIFZpZXdwb3J0
QXJndW1lbnRzOjpWYWx1ZURldmljZVdpZHRoOworICAgIGNhc2UgQ1NTVmFsdWVMYW5kc2NhcGU6
CisgICAgICAgICByZXR1cm4gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlTGFuZHNjYXBlOworICAg
IGNhc2UgQ1NTVmFsdWVQb3J0cmFpdDoKKyAgICAgICAgcmV0dXJuIFZpZXdwb3J0QXJndW1lbnRz
OjpWYWx1ZVBvcnRyYWl0OworICAgIGNhc2UgQ1NTVmFsdWVab29tOgorICAgICAgICByZXR1cm4g
ZGVmYXVsdFZhbHVlOworICAgIGNhc2UgQ1NTVmFsdWVGaXhlZDoKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTsKKyAgICB9Cit9CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9WaWV3cG9ydFN0eWxlUmVzb2x2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9WaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDQwZTA1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5oCkBAIC0wLDAgKzEsNzIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisg
KiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICog
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YK
KyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVmlld3BvcnRTdHlsZVJlc29sdmVyX2gK
KyNkZWZpbmUgVmlld3BvcnRTdHlsZVJlc29sdmVyX2gKKworI2luY2x1ZGUgIkNTU1Byb3BlcnR5
TmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NQcmltaXRpdmVWYWx1ZTsK
K2NsYXNzIERvY3VtZW50OworY2xhc3MgU3R5bGVSdWxlVmlld3BvcnQ7CitjbGFzcyBTdHlsZVBy
b3BlcnR5U2V0OworCitjbGFzcyBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxWaWV3cG9ydFN0eWxlUmVzb2x2ZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxWaWV3cG9ydFN0eWxlUmVzb2x2ZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFZpZXdwb3J0U3R5bGVSZXNvbHZlcihk
b2N1bWVudCkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5WaWV3cG9ydFN0eWxlUmVzb2x2ZXIoKTsK
KworICAgIHZvaWQgYWRkVmlld3BvcnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0Kik7CisKKyAgICB2
b2lkIGNsZWFyRG9jdW1lbnQoKTsKKworcHJpdmF0ZToKKyAgICBWaWV3cG9ydFN0eWxlUmVzb2x2
ZXIoRG9jdW1lbnQqKTsKKworICAgIGZsb2F0IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShDU1NQ
cm9wZXJ0eUlEKSBjb25zdDsKKworICAgIHZvaWQgcmVzb2x2ZSgpOworCisgICAgRG9jdW1lbnQq
IG1fZG9jdW1lbnQ7CisgICAgUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IG1fcHJvcGVydHlTZXQ7
CisKKyAgICB1bnNpZ25lZCBpbnQgbV9pbml0aWFsVmlld3BvcnRXaWR0aDsKKyAgICB1bnNpZ25l
ZCBpbnQgbV9pbml0aWFsVmlld3BvcnRIZWlnaHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBWaWV3cG9ydFN0eWxlUmVzb2x2ZXJfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jYTM2NzlmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYktpdENTU1ZpZXdw
b3J0UnVsZS5oIgorCisjaW5jbHVkZSAiUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmgi
CisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgorI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dlYktpdENTU1ZpZXdwb3J0UnVsZTo6V2ViS2l0Q1NT
Vmlld3BvcnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1bGUsIENTU1N0eWxlU2hl
ZXQqIHNoZWV0KQorICAgIDogQ1NTUnVsZShzaGVldCwgQ1NTUnVsZTo6V0VCS0lUX1ZJRVdQT1JU
X1JVTEUpCisgICAgLCBtX3ZpZXdwb3J0UnVsZSh2aWV3cG9ydFJ1bGUpCit7Cit9CisKK1dlYktp
dENTU1ZpZXdwb3J0UnVsZTo6fldlYktpdENTU1ZpZXdwb3J0UnVsZSgpCit7CisgICAgaWYgKG1f
cHJvcGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVy
LT5jbGVhclBhcmVudFJ1bGUoKTsKK30KKworQ1NTU3R5bGVEZWNsYXJhdGlvbiogV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlOjpzdHlsZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3Byb3BlcnRpZXNDU1NP
TVdyYXBwZXIpCisgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlciA9IFN0eWxlUnVsZUNT
U1N0eWxlRGVjbGFyYXRpb246OmNyZWF0ZShtX3ZpZXdwb3J0UnVsZS0+bXV0YWJsZVByb3BlcnRp
ZXMoKSwgY29uc3RfY2FzdDxXZWJLaXRDU1NWaWV3cG9ydFJ1bGUqPih0aGlzKSk7CisKKyAgICBy
ZXR1cm4gbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLmdldCgpOworfQorCitTdHJpbmcgV2ViS2l0
Q1NTVmlld3BvcnRSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmcgcmVzdWx0ID0g
IkAtd2Via2l0LXZpZXdwb3J0IHsgIjsKKyAgICByZXN1bHQgKz0gbV92aWV3cG9ydFJ1bGUtPnBy
b3BlcnRpZXMoKS0+YXNUZXh0KCk7CisgICAgcmVzdWx0ICs9ICJ9IjsKKworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKK3ZvaWQgV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpyZWF0dGFjaChTdHlsZVJ1
bGVWaWV3cG9ydCogcnVsZSkKK3sKKyAgICBBU1NFUlQocnVsZSk7CisgICAgbV92aWV3cG9ydFJ1
bGUgPSBydWxlOworCisgICAgaWYgKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAg
bV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5yZWF0dGFjaChtX3ZpZXdwb3J0UnVsZS0+bXV0YWJs
ZVByb3BlcnRpZXMoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5kNWVkZDMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcK
KyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgV2ViS2l0Q1NTVmlld3BvcnRSdWxlX2gKKyNkZWZpbmUgV2ViS2l0
Q1NTVmlld3BvcnRSdWxlX2gKKworI2luY2x1ZGUgIkNTU1J1bGUuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgU3R5bGVSdWxlVmlld3Bv
cnQ7CitjbGFzcyBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOworCitjbGFzcyBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGU6IHB1YmxpYyBDU1NSdWxlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxXZWJLaXRDU1NWaWV3cG9ydFJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGVWaWV3cG9ydCog
dmlld3BvcnRSdWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgV2ViS2l0Q1NTVmlld3BvcnRSdWxlKHZpZXdwb3J0UnVsZSwgc2hlZXQp
KTsKKyAgICB9CisgICAgfldlYktpdENTU1ZpZXdwb3J0UnVsZSgpOworCisgICAgQ1NTU3R5bGVE
ZWNsYXJhdGlvbiogc3R5bGUoKSBjb25zdDsKKworICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7
CisKKyAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZVZpZXdwb3J0Kik7CisKK3ByaXZhdGU6Cisg
ICAgV2ViS2l0Q1NTVmlld3BvcnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiwgQ1NTU3R5bGVTaGVl
dCopOworCisgICAgUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0PiBtX3ZpZXdwb3J0UnVsZTsKKwor
ICAgIG11dGFibGUgUmVmUHRyPFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb24+IG1fcHJvcGVy
dGllc0NTU09NV3JhcHBlcjsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmlu
ZGV4IGVjY2Y4YTcuLjJkMmIyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0yOTUsNiArMjk1
LDcgQEAgcHVibGljOgogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
dmlzaWJpbGl0eWNoYW5nZSk7CiAjZW5kaWYKIAorICAgIHZvaWQgc2V0Vmlld3BvcnRBcmd1bWVu
dHMoY29uc3QgVmlld3BvcnRBcmd1bWVudHMgJnZpZXdwb3J0QXJndW1lbnRzKSB7IG1fdmlld3Bv
cnRBcmd1bWVudHMgPSB2aWV3cG9ydEFyZ3VtZW50czsgfQogICAgIFZpZXdwb3J0QXJndW1lbnRz
IHZpZXdwb3J0QXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydEFyZ3VtZW50czsg
fQogI2lmbmRlZiBOREVCVUcKICAgICBib29sIGRpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVz
Q2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXND
aGFuZ2VkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBh
OTNlMTRlLi40NzliYTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5j
cHAKQEAgLTYsNiArNiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDcsIDIwMDgsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKQEAgLTQ1LDYgKzQ2LDMyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFNlZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgxMTQKIHN0YXRpYyBmbG9hdCB0
YXJnZXREUEkgPSAxNjA7CiAKK3N0YXRpYyBmbG9hdCBtYXhJZ25vcmVBdXRvKGNvbnN0IGZsb2F0
IHZhbHVlMSwgY29uc3QgZmxvYXQgdmFsdWUyKQoreworICAgIEFTU0VSVCh2YWx1ZTEgIT0gVmll
d3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0byB8fCB2YWx1ZTIgIT0gVmlld3BvcnRBcmd1bWVudHM6
OlZhbHVlQXV0byk7CisKKyAgICBpZiAodmFsdWUxID09IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1
ZUF1dG8pCisgICAgICAgIHJldHVybiB2YWx1ZTI7CisKKyAgICBpZiAodmFsdWUyID09IFZpZXdw
b3J0QXJndW1lbnRzOjpWYWx1ZUF1dG8pCisgICAgICAgIHJldHVybiB2YWx1ZTE7CisKKyAgICBy
ZXR1cm4gbWF4KHZhbHVlMSwgdmFsdWUyKTsKK30KKworc3RhdGljIGZsb2F0IG1pbklnbm9yZUF1
dG8oY29uc3QgZmxvYXQgdmFsdWUxLCBjb25zdCBmbG9hdCB2YWx1ZTIpCit7CisgICAgQVNTRVJU
KHZhbHVlMSAhPSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvIHx8IHZhbHVlMiAhPSBWaWV3
cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvKTsKKworICAgIGlmICh2YWx1ZTEgPT0gVmlld3BvcnRB
cmd1bWVudHM6OlZhbHVlQXV0bykKKyAgICAgICAgcmV0dXJuIHZhbHVlMjsKKworICAgIGlmICh2
YWx1ZTIgPT0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0bykKKyAgICAgICAgcmV0dXJuIHZh
bHVlMTsKKworICAgIHJldHVybiBtaW4odmFsdWUxLCB2YWx1ZTIpOworfQorCiBWaWV3cG9ydEF0
dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdz
LCBpbnQgZGVza3RvcFdpZHRoLCBpbnQgZGV2aWNlV2lkdGgsIGludCBkZXZpY2VIZWlnaHQsIGlu
dCBkZXZpY2VEUEksIEludFNpemUgdmlzaWJsZVZpZXdwb3J0KQogewogICAgIFZpZXdwb3J0QXR0
cmlidXRlcyByZXN1bHQ7CkBAIC04OCw2ICsxMTUsNDcgQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNv
bXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0
b3AKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgaWYgKGFyZ3MudHlwZSA9PSBWaWV3cG9y
dEFyZ3VtZW50czo6Q1NTRGV2aWNlQWRhcHRhdGlvbikgeworICAgICAgICBzd2l0Y2ggKGludChh
cmdzLm1pbldpZHRoKSkgeworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURl
dmljZVdpZHRoOgorICAgICAgICAgICAgYXJncy5taW5XaWR0aCA9IGRldmljZVdpZHRoOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2
aWNlSGVpZ2h0OgorICAgICAgICAgICAgYXJncy5taW5XaWR0aCA9IGRldmljZUhlaWdodDsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgc3dpdGNoIChpbnQoYXJncy5t
YXhXaWR0aCkpIHsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VX
aWR0aDoKKyAgICAgICAgICAgIGFyZ3MubWF4V2lkdGggPSBkZXZpY2VXaWR0aDsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURldmljZUhl
aWdodDoKKyAgICAgICAgICAgIGFyZ3MubWF4V2lkdGggPSBkZXZpY2VIZWlnaHQ7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAoaW50KGFyZ3MubWluSGVp
Z2h0KSkgeworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURldmljZVdpZHRo
OgorICAgICAgICAgICAgYXJncy5taW5IZWlnaHQgPSBkZXZpY2VXaWR0aDsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURldmljZUhlaWdo
dDoKKyAgICAgICAgICAgIGFyZ3MubWluSGVpZ2h0ID0gZGV2aWNlSGVpZ2h0OworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKGludChhcmdzLm1heEhlaWdo
dCkpIHsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VXaWR0aDoK
KyAgICAgICAgICAgIGFyZ3MubWF4SGVpZ2h0ID0gZGV2aWNlV2lkdGg7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VIZWlnaHQ6
CisgICAgICAgICAgICBhcmdzLm1heEhlaWdodCA9IGRldmljZUhlaWdodDsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgYXJncy53aWR0aCA9IG1heElnbm9yZUF1dG8o
YXJncy5taW5XaWR0aCwgbWluSWdub3JlQXV0byhhcmdzLm1heFdpZHRoLCBkZXZpY2VXaWR0aCkp
OworICAgICAgICBhcmdzLmhlaWdodCA9IG1heElnbm9yZUF1dG8oYXJncy5taW5IZWlnaHQsIG1p
bklnbm9yZUF1dG8oYXJncy5tYXhIZWlnaHQsIGRldmljZUhlaWdodCkpOworICAgIH0KKwogICAg
IC8vIENsYW1wIHZhbHVlcyB0byByYW5nZSBkZWZpbmVkIGJ5IHNwZWMgYW5kIHJlc29sdmUgbWlu
aW11bS1zY2FsZSBhbmQgbWF4aW11bS1zY2FsZSB2YWx1ZXMKICAgICBpZiAoYXJncy53aWR0aCAh
PSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvKQogICAgICAgICBhcmdzLndpZHRoID0gbWlu
KGZsb2F0KDEwMDAwKSwgbWF4KGFyZ3Mud2lkdGgsIGZsb2F0KDEpKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDcwNzYzMDUuLjAwN2QyMDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCkBAIC02LDYgKzYsNyBAQAogICogQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0
IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC02NCw3ICs2NSw4IEBAIHN0cnVjdCBWaWV3cG9y
dEFyZ3VtZW50cyB7CiAgICAgICAgIEhhbmRoZWxkRnJpZW5kbHlNZXRhLAogICAgICAgICBNb2Jp
bGVPcHRpbWl6ZWRNZXRhLAogI2VuZGlmCi0gICAgICAgIFZpZXdwb3J0TWV0YQorICAgICAgICBW
aWV3cG9ydE1ldGEsCisgICAgICAgIENTU0RldmljZUFkYXB0YXRpb24KICAgICB9IHR5cGU7CiAK
ICAgICBlbnVtIHsKQEAgLTc1LDcgKzc3LDkgQEAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzIHsK
ICAgICAgICAgVmFsdWVEZXZpY2VEUEkgPSAtNSwKICAgICAgICAgVmFsdWVMb3dEUEkgPSAtNiwK
ICAgICAgICAgVmFsdWVNZWRpdW1EUEkgPSAtNywKLSAgICAgICAgVmFsdWVIaWdoRFBJID0gLTgK
KyAgICAgICAgVmFsdWVIaWdoRFBJID0gLTgsCisgICAgICAgIFZhbHVlUG9ydHJhaXQgPSAtOSwK
KyAgICAgICAgVmFsdWVMYW5kc2NhcGUgPSAtMTAKICAgICB9OwogCiAgICAgVmlld3BvcnRBcmd1
bWVudHMoVHlwZSB0eXBlID0gSW1wbGljaXQpCkBAIC04NSw3ICs4OSwxMiBAQCBzdHJ1Y3QgVmll
d3BvcnRBcmd1bWVudHMgewogICAgICAgICAsIG1heGltdW1TY2FsZShWYWx1ZUF1dG8pCiAgICAg
ICAgICwgd2lkdGgoVmFsdWVBdXRvKQogICAgICAgICAsIGhlaWdodChWYWx1ZUF1dG8pCisgICAg
ICAgICwgbWluV2lkdGgoVmFsdWVBdXRvKQorICAgICAgICAsIG1heFdpZHRoKFZhbHVlQXV0bykK
KyAgICAgICAgLCBtaW5IZWlnaHQoVmFsdWVBdXRvKQorICAgICAgICAsIG1heEhlaWdodChWYWx1
ZUF1dG8pCiAgICAgICAgICwgdXNlclNjYWxhYmxlKFZhbHVlQXV0bykKKyAgICAgICAgLCBvcmll
bnRhdGlvbihWYWx1ZUF1dG8pCiAgICAgewogICAgIH0KIApAQCAtOTQsNyArMTAzLDEyIEBAIHN0
cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgZmxvYXQgbWF4aW11bVNjYWxlOwogICAgIGZs
b2F0IHdpZHRoOwogICAgIGZsb2F0IGhlaWdodDsKKyAgICBmbG9hdCBtaW5XaWR0aDsKKyAgICBm
bG9hdCBtYXhXaWR0aDsKKyAgICBmbG9hdCBtaW5IZWlnaHQ7CisgICAgZmxvYXQgbWF4SGVpZ2h0
OwogICAgIGZsb2F0IHVzZXJTY2FsYWJsZTsKKyAgICBmbG9hdCBvcmllbnRhdGlvbjsKIAogICAg
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgb3RoZXIpIGNvbnN0CiAg
ICAgewpAQCAtMTA1LDcgKzExOSwxMiBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAg
ICAgICAgICAgJiYgbWF4aW11bVNjYWxlID09IG90aGVyLm1heGltdW1TY2FsZQogICAgICAgICAg
ICAgJiYgd2lkdGggPT0gb3RoZXIud2lkdGgKICAgICAgICAgICAgICYmIGhlaWdodCA9PSBvdGhl
ci5oZWlnaHQKLSAgICAgICAgICAgICYmIHVzZXJTY2FsYWJsZSA9PSBvdGhlci51c2VyU2NhbGFi
bGU7CisgICAgICAgICAgICAmJiBtaW5XaWR0aCA9PSBvdGhlci5taW5XaWR0aAorICAgICAgICAg
ICAgJiYgbWF4V2lkdGggPT0gb3RoZXIubWF4V2lkdGgKKyAgICAgICAgICAgICYmIG1pbkhlaWdo
dCA9PSBvdGhlci5taW5IZWlnaHQKKyAgICAgICAgICAgICYmIG1heEhlaWdodCA9PSBvdGhlci5t
YXhIZWlnaHQKKyAgICAgICAgICAgICYmIHVzZXJTY2FsYWJsZSA9PSBvdGhlci51c2VyU2NhbGFi
bGUKKyAgICAgICAgICAgICYmIG9yaWVudGF0aW9uID09IG90aGVyLm9yaWVudGF0aW9uOwogICAg
IH0KIAogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgb3RoZXIp
IGNvbnN0Cg==
</data>
<flag name="commit-queue"
          id="158096"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150167</attachid>
            <date>2012-06-29 06:47:03 -0700</date>
            <delta_ts>2012-06-29 08:25:46 -0700</delta_ts>
            <desc>Work in progress of the CSS Device Adaptation v3</desc>
            <filename>viewport.patch</filename>
            <type>text/plain</type>
            <size>55692</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNWM1NjQ5NS4uNDQ0YmY1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTUzNCw2ICs1MzQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1N0
eWxlU2hlZXQuY3BwCiAgICAgY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKICAgICBjc3MvU3R5
bGVTaGVldExpc3QuY3BwCisgICAgY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAKICAgICBj
c3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVs
ZS5jcHAKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKQEAgLTU0MSw2ICs1NDIs
NyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3Bw
CiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmNwcAorICAgIGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCiAK
ICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcAogICAgIGRvbS9BdHRyLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZmNhY2NhYy4uOGM0NmU1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC0xNzYyLDYgKzE3NjIsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvVmll
d3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5
bGVSZXNvbHZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXApAQCAtMTc3OCw2ICsx
NzgwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVl
LmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZl
RE9NT2JqZWN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCBlNTQxNDM1Li41MTczZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTQ5Nyw2ICs0OTcsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBjc3MvU3R5bGVTaGVldC5jcHAgXAogICAgIGNzcy9TdHlsZVNoZWV0
Q29udGVudHMuY3BwIFwKICAgICBjc3MvU3R5bGVTaGVldExpc3QuY3BwIFwKKyAgICBjc3MvVmll
d3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCiAgICAgY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNw
cCBcCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXAogICAgIGNzcy9XZWJLaXRD
U1NLZXlmcmFtZXNSdWxlLmNwcCBcCkBAIC01MDUsNiArNTA2LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwK
KyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBcCiAgICAgZG9tL0FjdGl2ZURPTU9i
amVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAgZG9tL0JlZm9yZVRleHRJbnNlcnRl
ZEV2ZW50LmNwcCBcCkBAIC0xNjgzLDYgKzE2ODUsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3Mv
U3R5bGVTaGVldC5oIFwKICAgICBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmggXAogICAgIGNzcy9T
dHlsZVNoZWV0TGlzdC5oIFwKKyAgICBjc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmggXAogICAg
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlLmggXAogICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggXApAQCAtMTY5MSw2ICsx
Njk0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUu
aCBcCiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZS5oIFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogICAg
IGRvbS9BY3RpdmVET01PYmplY3QuaCBcCiAgICAgZG9tL0F0dHIuaCBcCiAgICAgZG9tL0F0dHJp
YnV0ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAzYmUwZjdlLi5hMGExNjZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yNTczLDYgKzI1NzMsOCBAQAogICAgICAgICAgICAgJ2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmNwcCcsCiAgICAg
ICAgICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmgnLAorICAgICAgICAgICAgJ2Nzcy9WaWV3cG9y
dFN0eWxlUmVzb2x2ZXIuY3BwJywKKyAgICAgICAgICAgICdjc3MvVmlld3BvcnRTdHlsZVJlc29s
dmVyLmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAnLAogICAg
ICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdj
c3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgnLApAQCAtMjU4Nyw2ICsyNTg5LDggQEAKICAgICAg
ICAgICAgICdjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3
cG9ydC5oJywKKyAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVmlld3BvcnQuY3BwJywKICAgICAg
ICAgICAgICdlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwJywKICAgICAgICAg
ICAgICdlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAn
ZWRpdGluZy9BcHBlbmROb2RlQ29tbWFuZC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3Mjk2NjYzLi4yYzViN2U5IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc1NDcsNiArMzc1
NDcsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cY3NzXFZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFdl
YktpdENTU0ZpbHRlclZhbHVlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0zNzYxMCw2ICsz
NzYxOCwxNCBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmgiCiAJCQkJPgogCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGNzc1xXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgogCQk8L0ZpbHRlcj4KIAkJPEZpbHRlcgogCQkJTmFtZT0icmVuZGVy
aW5nIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDg4MmNjNmIuLmM0YmJhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMDksNiArMTAwOSwxMCBAQAogCQkz
QUIwMkQyQjEyRDRGOTE2MDBGQkI2OTQgLyogU3RvcmFnZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0FCMDJEMjkxMkQ0RjkxNjAwRkJC
Njk0IC8qIFN0b3JhZ2VUcmFja2VyLmNwcCAqLzsgfTsKIAkJM0FDMzY4MDAxMkVGN0EwOTAwNkEz
RDZGIC8qIFN0b3JhZ2VUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzQUMzNjdGRTEyRUY3QTA5MDA2QTNENkYgLyogU3RvcmFnZVRy
YWNrZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkzQUM2NDhCMjEyOUUxNDY1MDBDM0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQUM2NDhCMTEyOUUx
NDY1MDBDM0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJM0ZGRkY5QTgxNTlEOUE1NTAwMjBCQkQ1IC8qIFdl
YktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzRkZGRjlBNjE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmNwcCAqLzsgfTsKKwkJM0ZGRkY5QTkxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENT
U1ZpZXdwb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5o
ICovOyB9OworCQkzRkZGRjlBRDE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29s
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNG
RkZGOUFCMTU5RDlCMDYwMDIwQkJENSAvKiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwICovOyB9
OworCQkzRkZGRjlBRTE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRkZGRjlBQzE1
OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmggKi87IH07CiAJCTQxMDAy
Q0NEMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDAyQ0NCMEY2NkVERUYwMDlFNjYw
RCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCAqLzsgfTsKIAkJNDEwMDJDQ0UwRjY2RURFRjAwOUU2
NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTAwMkNDQzBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVu
Y3Rpb25DYWxsLmNwcCAqLzsgfTsKIAkJNDEwQjdFNzIxMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVz
c2FnZUV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAgKi87IH07CkBAIC04MDMyLDYgKzgwMzYsMTAgQEAKIAkJM0FCMDJEMjkxMkQ0RjkxNjAw
RkJCNjk0IC8qIFN0b3JhZ2VUcmFja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFN0b3JhZ2VUcmFja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJM0FDMzY3RkUxMkVGN0EwOTAwNkEzRDZGIC8qIFN0b3JhZ2VUcmFja2VyQ2xpZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VUcmFja2VyQ2xpZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNBQzY0OEIxMTI5RTE0NjUwMEMzRUIyNSAvKiBF
ZGl0aW5nQm91bmRhcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdGlu
Z0JvdW5kYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTNGRkZGOUE2MTU5RDlB
NTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENT
U1ZpZXdwb3J0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJM0ZGRkY5QUIx
NTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzRkZGRjlBQzE1OUQ5QjA2MDAyMEJCRDUgLyogVmll
d3BvcnRTdHlsZVJlc29sdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZp
ZXdwb3J0U3R5bGVSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTAw
MkNDQjBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEZ1bmN0aW9uQ2FsbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTAwMkNDQzBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rp
b25DYWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEZ1
bmN0aW9uQ2FsbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEI3RTcxMTA0
NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk5NCw2ICsyMTAwMiw4IEBACiAJCQkJQjIyMjdCMDMw
RDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU1N0eWxlU2VsZWN0b3IuY3BwICovLAogCQkJCUIyMjI3
QjA0MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NWYWx1ZUtleXdvcmRzLmluICovLAogCQkJCUJD
NUVDMTc2MEE1MDdFM0UwMDYwMDdGNSAvKiB2aWV3LXNvdXJjZS5jc3MgKi8sCisJCQkJM0ZGRkY5
QUIxNTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAgKi8sCisJCQkJ
M0ZGRkY5QUMxNTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5oICovLAog
CQkJCTMxMDYwMzZDMTQzMjdEMkUwMEFCRjRCQSAvKiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAg
Ki8sCiAJCQkJMzEwNjAzNkQxNDMyN0QyRTAwQUJGNEJBIC8qIFdlYktpdENTU0ZpbHRlclZhbHVl
LmggKi8sCiAJCQkJMzEwNjAzNkUxNDMyN0QyRTAwQUJGNEJBIC8qIFdlYktpdENTU0ZpbHRlclZh
bHVlLmlkbCAqLywKQEAgLTIxMDE2LDYgKzIxMDI2LDggQEAKIAkJCQlCQzlBREQ3RjBDQzQwOTIy
MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwICovLAogCQkJCUJDOUFERDIy
MENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oICovLAogCQkJCTMx
NjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwgKi8s
CisJCQkJM0ZGRkY5QTYxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5j
cHAgKi8sCisJCQkJM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0
UnVsZS5oICovLAogCQkJCUE4ODJEQTFGMTU5Mzg0NkEwMDAxMTVFRCAvKiBDU1NUb1N0eWxlTWFw
LmNwcCAqLywKIAkJCQlBODgyREEyMjE1OTM4NDhEMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5o
ICovLAogCQkJKTsKQEAgLTI1MTczLDYgKzI1MTg1LDggQEAKIAkJCQk1MDk4N0MyNzE1N0Q2NzZE
MDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNEYzMkJCMUIxNEZBODVFODAwRjZDMUEzIC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTg4MkRBMjMxNTkzODQ4RDAwMDExNUVEIC8qIENTU1RvU3R5bGVN
YXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTNGRkZGOUE5MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJL
aXRDU1NWaWV3cG9ydFJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTNGRkZGOUFFMTU5RDlCMDYw
MDIwQkJENSAvKiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjgy
MjgsNiArMjgyNDIsOCBAQAogCQkJCUNFN0IyREI2MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0
ZXJuYXRpdmVXaXRoUmFuZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MDk4N0MyNjE1N0Q2NzZE
MDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBODgyREEyMDE1OTM4NDZBMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkzRkZGRjlBODE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTNGRkZGOUFEMTU5RDlCMDYwMDIwQkJENSAv
KiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCmluZGV4
IDcyMDdhM2QuLjE1MTAwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCkBAIC02OSw2ICs2OSw4IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KENTU1J1bGUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPihp
bXBsKSwgaXNvbGF0ZSk7CiAgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfS0VZRlJBTUVTX1JVTEU6
CiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFdlYktpdENTU0tleWZyYW1lc1J1bGUq
PihpbXBsKSwgaXNvbGF0ZSk7CisgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVM
RToKKyAgICAgICAgYnJlYWs7IC8vIFRPRE86IEltcGxlbWVudCBiaW5kaW5ncwogICAgIGNhc2Ug
Q1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNf
Y2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oaW1wbCksIGlzb2xhdGUpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDJjZTFlMzYuLjRhMmIxMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0FsbEluT25lLmNwcApAQCAtNzAsMyArNzAsNCBAQAogI2luY2x1ZGUgIlN0eWxlUHJv
cGVydHlTZXQuY3BwIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIgogI2lu
Y2x1ZGUgIlN0eWxlUmVzb2x2ZXIuY3BwIgorI2luY2x1ZGUgIlZpZXdwb3J0U3R5bGVSZXNvbHZl
ci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IGNiODViZWIuLjYwNzhmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yNTAyLDYgKzI1MDIs
MTggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpn
ZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICNlbmRpZgogICAgICAgICAgICAgYnJlYWs7
CiAKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlNaW5ab29tOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3JpZW50YXRpb246CisgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0aW9uOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5
VXNlclpvb206CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhlaWdodDoKKyAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlWaWV3cG9ydE1pbkhlaWdodDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdw
b3J0TWluV2lkdGg6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CisgICAg
ICAgICAgICBicmVhazsKKwogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlDbGlwUGF0aDoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNsaXBSdWxlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueSBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmFtbWFyLnkKaW5kZXggODI3YWJlZC4uNmFhNmQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyYW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55CkBAIC01LDYgKzUsNyBAQAogICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwg
MjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiAgQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNvbSkK
ICAqICBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAq
ICBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0xNDQsNiArMTQ1LDcgQEAgc3RhdGljIGludCBj
c3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0b2tlbiBXRUJLSVRfTUVE
SUFRVUVSWV9TWU0KICV0b2tlbiBXRUJLSVRfU0VMRUNUT1JfU1lNCiAldG9rZW4gV0VCS0lUX1JF
R0lPTl9SVUxFX1NZTQorJXRva2VuIFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZTQogJXRva2VuIDxt
YXJnaW5Cb3g+IFRPUExFRlRDT1JORVJfU1lNCiAldG9rZW4gPG1hcmdpbkJveD4gVE9QTEVGVF9T
WU0KICV0b2tlbiA8bWFyZ2luQm94PiBUT1BDRU5URVJfU1lNCkBAIC0yMzAsNiArMjMyLDcgQEAg
c3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0eXBl
IDxydWxlPiBibG9ja19ydWxlCiAldHlwZSA8cnVsZT4gYmxvY2tfdmFsaWRfcnVsZQogJXR5cGUg
PHJ1bGU+IHJlZ2lvbgorJXR5cGUgPHJ1bGU+IHZpZXdwb3J0CiAKICV0eXBlIDxzdHJpbmc+IG1h
eWJlX25zX3ByZWZpeAogCkBAIC00MjUsNiArNDI4LDcgQEAgdmFsaWRfcnVsZToKICAgfCBuYW1l
c3BhY2UKICAgfCBpbXBvcnQKICAgfCByZWdpb24KKyAgfCB2aWV3cG9ydAogICA7CiAKIHJ1bGU6
CkBAIC00NTMsNiArNDU3LDcgQEAgYmxvY2tfdmFsaWRfcnVsZToKICAgfCBwYWdlCiAgIHwgZm9u
dF9mYWNlCiAgIHwga2V5ZnJhbWVzCisgIHwgdmlld3BvcnQKICAgOwogCiBibG9ja19ydWxlOgpA
QCAtODc5LDYgKzg4NCwzMiBAQCByZWdpb246CiAgICAgfQogOwogCit2aWV3cG9ydDoKKyAgICB2
aWV3cG9ydF9hdCBtYXliZV9zcGFjZQorICAgICd7JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlvbl9s
aXN0IGNsb3NpbmdfYnJhY2UgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICBwLT5tYXJrVmlld3BvcnRFbmQoKTsKKyAgICAg
ICAgJCQgPSBwLT5jcmVhdGVWaWV3cG9ydFJ1bGUoKTsKKyAgICB9CisgICAgfCBXRUJLSVRfVklF
V1BPUlRfUlVMRV9TWU0gZXJyb3IgaW52YWxpZF9ibG9jayB7CisgICAgICAgIENTU1BhcnNlciog
cCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3
cG9ydEVuZCgpOworICAgICAgICAkJCA9IDA7CisgICAgfQorICAgIHwgV0VCS0lUX1ZJRVdQT1JU
X1JVTEVfU1lNIGVycm9yICc7JyB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0
PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3cG9ydEVuZCgpOworICAg
ICAgICAkJCA9IDA7CisgICAgfQorOworCit2aWV3cG9ydF9hdDoKKyAgICBXRUJLSVRfVklFV1BP
UlRfUlVMRV9TWU0geworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJz
ZXIqPihwYXJzZXIpOworICAgICAgICBwLT5tYXJrVmlld3BvcnRTdGFydCgpOworICAgIH0KKzsK
KwogY29tYmluYXRvcjoKICAgICAnKycgbWF5YmVfc3BhY2UgeyAkJCA9IENTU1NlbGVjdG9yOjpE
aXJlY3RBZGphY2VudDsgfQogICB8ICd+JyBtYXliZV9zcGFjZSB7ICQkID0gQ1NTU2VsZWN0b3I6
OkluZGlyZWN0QWRqYWNlbnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggYmExYzY1
OC4uMWZhMWEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTYsNiArNiw3IEBACiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAqIENv
cHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAo
aHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2Jl
IFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCkBAIC0yNjEsNiArMjYyLDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29u
c3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKICAgICAsIG1fbGFzdFNlbGVjdG9yTGluZU51
bWJlcigwKQogICAgICwgbV9hbGxvd0ltcG9ydFJ1bGVzKHRydWUpCiAgICAgLCBtX2FsbG93TmFt
ZXNwYWNlRGVjbGFyYXRpb25zKHRydWUpCisgICAgLCBtX2luVmlld3BvcnRSdWxlKGZhbHNlKQog
ewogI2lmIFlZREVCVUcgPiAwCiAgICAgY3NzeXlkZWJ1ZyA9IDE7CkBAIC0xMzI1LDYgKzEzMjcs
MTExIEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gQ1NTUGFyc2VyOjpjcmVhdGVTdHls
ZVByb3BlcnR5U2V0KCkKICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eVNldDo6Y3JlYXRlSW1tdXRh
YmxlKHJlc3VsdHMuZGF0YSgpLCByZXN1bHRzLnNpemUoKSwgbV9jb250ZXh0Lm1vZGUpOwogfQog
Citib29sIENTU1BhcnNlcjo6cGFyc2VWaWV3cG9ydFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJv
cElkLCBib29sIGltcG9ydGFudCkKK3sKKyAgICBib29sIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7
CisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKKwor
ICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNvbWUgcHJv
cGVydGllcyBuZWVkcyByZW1hcHBpbmcgYmVjYXVzZSB0aGVpciBuYW1lcyBjbGFzaGVzIHdpdGgK
KyAgICAvLyBvdGhlciBleGlzdGluZyBwcm9wZXJ0aWVzIG5hbWVzIGJ1dCB0aGUgc2VtYW50aWNz
IGFyZSBkaWZmZXJlbnQuCisgICAgc3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1Byb3Bl
cnR5TWluV2lkdGg6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNaW5XaWR0
aDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFdpZHRoOgorICAgICAg
ICBwcm9wSWQgPSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlNaW5IZWlnaHQ6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3Bl
cnR5Vmlld3BvcnRNaW5IZWlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVy
dHlNYXhIZWlnaHQ6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWln
aHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlab29tOgorICAgICAgICBw
cm9wSWQgPSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbTsKKyAgICBkZWZhdWx0OgorICAgICAgICBi
cmVhazsKKyAgICB9CisKKyAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7CisKKyAgICBzd2l0Y2ggKHBy
b3BJZCkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOiAvLyBhdXRvIHwg
ZGV2aWNlLXdpZHRoIHwgZGV2aWNlLWhlaWdodCB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhlaWdo
dDoKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZURldmlj
ZVdpZHRoIHx8IGlkID09IENTU1ZhbHVlRGV2aWNlSGVpZ2h0KQorICAgICAgICAgICAgdmFsaWRQ
cmltaXRpdmUgPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2
ZSA9ICghaWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwgRlBlcmNlbnQgfCBGTm9uTmVn
KSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogLy8gc2hvcnRo
YW5kCisgICAgICAgIHJldHVybiBwYXJzZVZpZXdwb3J0U2hvcnRoYW5kKHByb3BJZCwgQ1NTUHJv
cGVydHlNaW5XaWR0aCwgQ1NTUHJvcGVydHlNYXhXaWR0aCwgaW1wb3J0YW50KTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5SGVpZ2h0OgorICAgICAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFNob3J0aGFu
ZChwcm9wSWQsIENTU1Byb3BlcnR5TWluSGVpZ2h0LCBDU1NQcm9wZXJ0eU1heEhlaWdodCwgaW1w
b3J0YW50KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5TWluWm9vbTogLy8gYXV0byB8IDxudW1iZXI+
IHwgPHBlcmNlbnRhZ2U+CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBD
U1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbToKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0bykK
KyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmIHZhbGlkVW5pdCh2YWx1ZSwgRk51bWJlciB8
IEZQZXJjZW50IHwgRk5vbk5lZykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3Bl
cnR5VXNlclpvb206IC8vIHpvb20gfCBmaXhlZAorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVa
b29tIHx8IGlkID09IENTU1ZhbHVlRml4ZWQpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9
IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlPcmllbnRhdGlvbjog
Ly8gYXV0byB8IHBvcnRyYWl0IHwgbGFuZHNjYXBlCisgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1
ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVQb3J0cmFpdCB8fCBpZCA9PSBDU1NWYWx1ZUxhbmRzY2Fw
ZSkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVJlc29sdXRpb246IC8vIGF1dG8gfCBkZXZpY2UgfCA8cmVzb2x1
dGlvbj4KKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZURl
dmljZSkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmICB2YWxpZFVuaXQodmFsdWUsIEZM
ZW5ndGggfCBGTm9uTmVnKSk7IC8vIEZJWE1FOiBBZGQgRlJlc29sdXRpb24KKyAgICBkZWZhdWx0
OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlZFZh
bHVlOworICAgIGlmICh2YWxpZFByaW1pdGl2ZSkgeworICAgICAgICBwYXJzZWRWYWx1ZSA9IHBh
cnNlVmFsaWRQcmltaXRpdmUoaWQsIHZhbHVlKTsKKyAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQo
KTsKKyAgICB9CisgICAgaWYgKHBhcnNlZFZhbHVlKSB7CisgICAgICAgIGlmICghbV92YWx1ZUxp
c3QtPmN1cnJlbnQoKSB8fCBpblNob3J0aGFuZCgpKSB7CisgICAgICAgICAgICBhZGRQcm9wZXJ0
eShwcm9wSWQsIHBhcnNlZFZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQor
Citib29sIENTU1BhcnNlcjo6cGFyc2VWaWV3cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgQ1NTUHJvcGVydHlJRCBmaXJzdCwgQ1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wgaW1w
b3J0YW50KQoreworICAgIHVuc2lnbmVkIGludCBudW1WYWx1ZXMgPSBtX3ZhbHVlTGlzdC0+c2l6
ZSgpOworCisgICAgaWYgKG51bVZhbHVlcyA+IDIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIFNob3J0aGFuZFNjb3BlIHNjb3BlKHRoaXMsIHByb3BJZCk7CisKKyAgICBpZiAoIXBhcnNl
Vmlld3BvcnRQcm9wZXJ0eShmaXJzdCwgaW1wb3J0YW50KSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgLy8gSWYganVzdCBvbmUgdmFsdWUgaXMgc3VwcGxpZWQsIHRoZSBzZWNvbmQgdmFs
dWUKKyAgICAvLyBpcyBpbXBsaWNpdGx5IGluaXRpYWxpemVkIHdpdGggdGhlIGZpcnN0IHZhbHVl
LgorICAgIGlmIChudW1WYWx1ZXMgPT0gMSkKKyAgICAgICAgbV92YWx1ZUxpc3QtPnByZXZpb3Vz
KCk7CisKKyAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFByb3BlcnR5KHNlY29uZCwgaW1wb3J0YW50
KTsKK30KKwogdm9pZCBDU1NQYXJzZXI6OmFkZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcElk
LCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1wbGlj
aXQpCiB7CiAgICAgbV9wYXJzZWRQcm9wZXJ0aWVzLmFwcGVuZChDU1NQcm9wZXJ0eShwcm9wSWQs
IHZhbHVlLCBpbXBvcnRhbnQsIG1fY3VycmVudFNob3J0aGFuZCwgbV9pbXBsaWNpdFNob3J0aGFu
ZCB8fCBpbXBsaWNpdCkpOwpAQCAtMTY3Nyw2ICsxNzg0LDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBh
cnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAgICBpZiAobV9pblZpZXdwb3J0UnVsZSkKKyAgICAgICAg
cmV0dXJuIHBhcnNlVmlld3BvcnRQcm9wZXJ0eShwcm9wSWQsIGltcG9ydGFudCk7CisKICAgICBi
b29sIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7CiAgICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRW
YWx1ZTsKIApAQCAtMjgxMyw2ICsyOTIzLDIxIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVl
KENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgLy8gVGhlc2Ug
cHJvcGVydGllcyBzaG91bGQgYmUgaGFuZGxlZCBiZWZvcmUgaW4gaXNWYWxpZEtleXdvcmRQcm9w
ZXJ0eUFuZFZhbHVlKCkuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgLy8gUHJvcGVydGllcyBiZWxsb3cgYXJlIHZhbGlkYXRlZCBpbnNp
ZGUgcGFyc2VWaWV3cG9ydFByb3BlcnR5LCBiZWNhdXNlIHdlCisgICAgLy8gY2hlY2sgZm9yIHBh
cnNlciBzdGF0ZSBtX2luVmlld3BvcnRSdWxlLiBXZSBuZWVkIHRvIGludmFsaWRhdGUgaWYgc29t
ZW9uZQorICAgIC8vIGFkZHMgdGhlbSBvdXRzaWRlIGEgQHZpZXdwb3J0IHJ1bGUuCisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eU9yaWVudGF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0
aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5
Vmlld3BvcnRNYXhIZWlnaHQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJv
cGVydHlWaWV3cG9ydE1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206
CisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7CisgICAgICAgIGJyZWFrOwogI2lmIEVO
QUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZHVmFsdWUocHJv
cElkLCBpbXBvcnRhbnQpOwpAQCAtODgxMSw4ICs4OTM2LDEzIEBAIGlubGluZSB2b2lkIENTU1Bh
cnNlcjo6ZGV0ZWN0QXRUb2tlbihpbnQgbGVuZ3RoLCBib29sIGhhc0VzY2FwZSkKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICBjYXNlIDE3OgotICAgICAgICAgICAgaWYgKCFoYXNFc2Nh
cGUgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lICsgMiwgIndlYmtpdC1zZWxlY3RvciIp
KQorICAgICAgICAgICAgaWYgKGhhc0VzY2FwZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMTZdLCAncicp
ICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDIsICJ3ZWJraXQtc2VsZWN0byIpKQog
ICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBXRUJLSVRfU0VMRUNUT1JfU1lNOworICAgICAgICAg
ICAgZWxzZSBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3QnKSAmJiBp
c0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXZpZXdwb3IiKSkKKyAgICAg
ICAgICAgICAgICBtX3Rva2VuID0gV0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNOwogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIGNhc2UgMTg6CkBAIC05ODIyLDYgKzk5NTIsMjEgQEAgdm9p
ZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91bmQsIGJvb2wg
aXNQcm9wZXJ0eVBhcnNlZCkKICAgICByZXNldFByb3BlcnR5UmFuZ2UoKTsKIH0KIAorU3R5bGVS
dWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVWaWV3cG9ydFJ1bGUoKQoreworICAgIG1fYWxsb3dJ
bXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnMgPSBmYWxzZTsKKworICAg
IFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gcnVsZSA9IFN0eWxlUnVsZVZpZXdwb3J0OjpjcmVh
dGUoKTsKKyAgICBydWxlLT5zZXRQcm9wZXJ0aWVzKGNyZWF0ZVN0eWxlUHJvcGVydHlTZXQoKSk7
CisKKyAgICBjbGVhclByb3BlcnRpZXMoKTsKKworICAgIFN0eWxlUnVsZVZpZXdwb3J0KiByZXN1
bHQgPSBydWxlLmdldCgpOworICAgIG1fcGFyc2VkUnVsZXMuYXBwZW5kKHJ1bGUucmVsZWFzZSgp
KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1By
b3BlcnR5SUQoY29uc3QgVUNoYXIqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQogewog
ICAgIGlmICghbGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDE0YTk4ZTEuLjRiYTNj
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTM0Myw2ICszNDMsMTAgQEAgcHVibGljOgog
ICAgIGludCBsZXgodm9pZCogeXlsdmFsKTsKICAgICBpbnQgdG9rZW4oKSB7IHJldHVybiBtX3Rv
a2VuOyB9CiAKKyAgICB2b2lkIG1hcmtWaWV3cG9ydFN0YXJ0KCkgeyBtX2luVmlld3BvcnRSdWxl
ID0gdHJ1ZTsgfQorICAgIHZvaWQgbWFya1ZpZXdwb3J0RW5kKCkgeyBtX2luVmlld3BvcnRSdWxl
ID0gZmFsc2U7IH0KKyAgICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVWaWV3cG9ydFJ1bGUoKTsKKwog
ICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNW
YWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAKQEAgLTM3OCw2
ICszODIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0dXBQYXJzZXIoY29uc3QgY2hhciogcHJl
Zml4LCBjb25zdCBTdHJpbmcmLCBjb25zdCBjaGFyKiBzdWZmaXgpOwogCiAgICAgYm9vbCBpblNo
b3J0aGFuZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5QYXJzZVNob3J0aGFuZDsgfQorICAgIGJvb2wg
aW5WaWV3cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX2luVmlld3BvcnRSdWxlOyB9CiAKICAg
ICB2b2lkIGNoZWNrRm9yT3JwaGFuZWRVbml0cygpOwogCkBAIC00MDMsNiArNDA4LDkgQEAgcHJp
dmF0ZToKICAgICBib29sIHBhcnNlRm9udEZhY2VTcmNVUkkoQ1NTVmFsdWVMaXN0Kik7CiAgICAg
Ym9vbCBwYXJzZUZvbnRGYWNlU3JjTG9jYWwoQ1NTVmFsdWVMaXN0Kik7CiAKKyAgICBib29sIHBh
cnNlVmlld3BvcnRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQp
OworICAgIGJvb2wgcGFyc2VWaWV3cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHByb3BJZCwg
Q1NTUHJvcGVydHlJRCBmaXJzdCwgQ1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wgaW1wb3J0YW50
KTsKKwogICAgIGJvb2wgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmKTsKIAogICAgIGVudW0gUGFy
c2luZ01vZGUgewpAQCAtNDIyLDYgKzQzMCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2FsbG93
SW1wb3J0UnVsZXM7CiAgICAgYm9vbCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwogCisg
ICAgYm9vbCBtX2luVmlld3BvcnRSdWxlOworCiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPiA+IG1fcGFyc2VkUnVsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZUtleWZyYW1lPiA+
IG1fcGFyc2VkS2V5ZnJhbWVzOwogICAgIFZlY3RvcjxSZWZQdHI8TWVkaWFRdWVyeVNldD4gPiBt
X3BhcnNlZE1lZGlhUXVlcnlTZXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXgg
MDE1MTlmMy4uYzQwNjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC02NjQs
NiArNjY0LDE2IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoQ1NTUHJv
cGVydHlJRCBwcm9wZXJ0eUlEKQogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0RGFzaGJvYXJkUmVnaW9uOgogI2VuZGlmCisgICAgY2FzZSBD
U1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU9yaWVudGF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0aW9u
OgorICAgIGNhc2UgQ1NTUHJvcGVydHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5Vmll
d3BvcnRNYXhIZWlnaHQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlWaWV3cG9ydE1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIENTU1Byb3BlcnR5SW52YWxpZDoKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCmluZGV4IDFhZjM5MjUuLjMxNjY3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCkBAIC0zOTIsNiArMzkyLDE2IEBAIHotaW5kZXgKIC13ZWJraXQtd3JhcC10aHJv
dWdoCiAtd2Via2l0LXdyYXAKICNlbmRpZgorbWF4LXpvb20KK21pbi16b29tCitvcmllbnRhdGlv
bgorcmVzb2x1dGlvbgordXNlci16b29tCit2aWV3cG9ydC1tYXgtaGVpZ2h0Cit2aWV3cG9ydC1t
YXgtd2lkdGgKK3ZpZXdwb3J0LW1pbi1oZWlnaHQKK3ZpZXdwb3J0LW1pbi13aWR0aAordmlld3Bv
cnQtem9vbQogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RPVUNI
X0VWRU5UUwogLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmNwcAppbmRleCBjMzEwNWEwLi5jYjcwOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBA
IC0zMCwxMiArMzAsMTMgQEAKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJD
U1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVW5rbm93blJ1bGUuaCIKLSNpbmNsdWRlICJX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
LmgiCi0jaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgogI2luY2x1ZGUgIk5vdEltcGxl
bWVudGVkLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENv
bnRlbnRzLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCisjaW5jbHVkZSAi
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgorI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUu
aCIKKyNpbmNsdWRlICJXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC04MCw2ICs4MSw4IEBAIFN0cmluZyBDU1NSdWxlOjpjc3NUZXh0KCkgY29uc3QK
ICAgICBjYXNlIFdFQktJVF9SRUdJT05fUlVMRToKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOwogI2VuZGlmCisg
ICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CiAgICAgfQog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTEyMCw2
ICsxMjMsOSBAQCB2b2lkIENTU1J1bGU6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47CiAjZW5k
aWYKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9SVF9SVUxFOgorICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC0xNjAsNiArMTY2LDkgQEAgdm9p
ZCBDU1NSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKQogICAgICAgICBzdGF0aWNf
Y2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4odGhpcyktPnJlYXR0YWNoKHN0YXRpY19jYXN0PFN0
eWxlUnVsZVJlZ2lvbio+KHJ1bGUpKTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCisgICAgY2Fz
ZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTVmll
d3BvcnRSdWxlKj4odGhpcyktPnJlYXR0YWNoKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0
Kj4ocnVsZSkpOworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggZTM4ZTE2MS4uYWY1MDEwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIFdFQktJVF9L
RVlGUkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUsCisgICAgICAgIFdF
QktJVF9WSUVXUE9SVF9SVUxFID0gMTUsCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICAg
ICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNgogI2VuZGlmCkBAIC03Miw2ICs3Myw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGlzUGFnZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUEFHRV9S
VUxFOyB9CiAgICAgYm9vbCBpc1N0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
VFlMRV9SVUxFOyB9CiAgICAgYm9vbCBpc0ltcG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gSU1QT1JUX1JVTEU7IH0KKyAgICBib29sIGlzVmlld3BvcnRSdWxlKCkgY29uc3QgeyBy
ZXR1cm4gdHlwZSgpID09IFdFQktJVF9WSUVXUE9SVF9SVUxFOyB9CiAKICNpZiBFTkFCTEUoQ1NT
X1JFR0lPTlMpCiAgICAgYm9vbCBpc1JlZ2lvblJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gV0VCS0lUX1JFR0lPTl9SVUxFOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCmluZGV4IDhkYzI3YzguLjI1Y2JkNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCkBAIC03NzIsNiArNzcyLDI3IEBAIGRvY3VtZW50CiByZXNldAogCiAvLworLy8g
Q1NTX1BST1BfVVNFUl9aT09NCisvLworLy8gZml4ZWQKK3pvb20KKworLy8KKy8vIENTU19QUk9Q
X1ZJRVdQT1JUX01JTl9XSURUSAorLy8gQ1NTX1BST1BfVklFV1BPUlRfTUFYX1dJRFRICisvLyBD
U1NfUFJPUF9WSUVXUE9SVF9NSU5fSEVJR0hUCisvLyBDU1NfUFJPUF9WSUVXUE9SVF9NQVhfSEVJ
R0hUCisvLworLy8gYXV0bworZGV2aWNlLXdpZHRoCitkZXZpY2UtaGVpZ2h0CisKKy8vIENTU19Q
Uk9QX1JFU09MVVRJT04KKy8vCisvLyBhdXRvCitkZXZpY2UKKworLy8KIC8vIENTU19QUk9QX1BP
SU5URVJfRVZFTlRTCiAvLwogdmlzaWJsZVBhaW50ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCA1NjMxM2ZlLi45MjQzODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCkBAIC0xMTcsNiArMTE3LDcgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oIgogI2luY2x1ZGUgIlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCisjaW5jbHVkZSAiVmlld3BvcnRTdHlsZVJlc29s
dmVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIK
QEAgLTM2OSw2ICszNzAsNyBAQCBTdHlsZVJlc29sdmVyOjpTdHlsZVJlc29sdmVyKERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX21hdGNo
QXV0aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX3Nh
bWVPcmlnaW5Pbmx5KGZhbHNlKQogICAgICwgbV9mb250U2VsZWN0b3IoQ1NTRm9udFNlbGVjdG9y
OjpjcmVhdGUoZG9jdW1lbnQpKQorICAgICwgbV92aWV3cG9ydFN0eWxlUmVzb2x2ZXIoVmlld3Bv
cnRTdHlsZVJlc29sdmVyOjpjcmVhdGUoZG9jdW1lbnQpKQogICAgICwgbV9hcHBseVByb3BlcnR5
VG9SZWd1bGFyU3R5bGUodHJ1ZSkKICAgICAsIG1fYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtT
dHlsZShmYWxzZSkKICAgICAsIG1fc3R5bGVCdWlsZGVyKFN0eWxlQnVpbGRlcjo6c2hhcmVkU3R5
bGVCdWlsZGVyKCkpCkBAIC02NjgsNiArNjcwLDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphZGRL
ZXlmcmFtZVN0eWxlKFBhc3NSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBydWxlKQogU3R5bGVS
ZXNvbHZlcjo6flN0eWxlUmVzb2x2ZXIoKQogewogICAgIG1fZm9udFNlbGVjdG9yLT5jbGVhckRv
Y3VtZW50KCk7CisgICAgbV92aWV3cG9ydFN0eWxlUmVzb2x2ZXItPmNsZWFyRG9jdW1lbnQoKTsK
IH0KIAogdm9pZCBTdHlsZVJlc29sdmVyOjpzd2VlcE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoKQpA
QCAtMjY4OCw2ICsyNjkxLDEwIEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5
bGVTaGVldENvbnRlbnRzKiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoc2NvcGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZVNlbGVjdG9yLT5hZGRLZXlmcmFt
ZVN0eWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KGNoaWxkUnVsZSkpOworICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkUnVsZS0+aXNWaWV3cG9ydFJ1bGUoKSAm
JiAhc3R5bGVTZWxlY3Rvci0+YWZmZWN0ZWRCeVZpZXdwb3J0Q2hhbmdlKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChzY29wZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlU2VsZWN0b3ItPnZpZXdwb3J0
U3R5bGVSZXNvbHZlcigpLT5hZGRWaWV3cG9ydFJ1bGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmll
d3BvcnQqPihjaGlsZFJ1bGUpKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0gLy8gZm9yIHJ1bGVzCiAgICAgICAgICAgICB9IC8vIGlmIHJ1bGVzCkBAIC0yNzA0LDE1
ICsyNzExLDE4IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENv
bnRlbnRzKiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiAgICAgICAgICAgICBpZiAoc2Nv
cGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBzdHlsZVNlbGVjdG9y
LT5hZGRLZXlmcmFtZVN0eWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHJ1bGUp
KTsKLSAgICAgICAgfQogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLSAgICAgICAgZWxzZSBpZiAo
cnVsZS0+aXNSZWdpb25SdWxlKCkgJiYgc3R5bGVTZWxlY3RvcikgeworICAgICAgICB9IGVsc2Ug
aWYgKHJ1bGUtPmlzUmVnaW9uUnVsZSgpICYmIHN0eWxlU2VsZWN0b3IpIHsKICAgICAgICAgICAg
IC8vIEZJWE1FIChCVUcgNzI0NzIpOiBXZSBkb24ndCBhZGQgQC13ZWJraXQtcmVnaW9uIHJ1bGVz
IG9mIHNjb3BlZCBzdHlsZSBzaGVldHMgZm9yIHRoZSBtb21lbnQuCiAgICAgICAgICAgICBpZiAo
c2NvcGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBhZGRSZWdpb25S
dWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVJlZ2lvbio+KHJ1bGUpLCBoYXNEb2N1bWVudFNlY3Vy
aXR5T3JpZ2luKTsKLSAgICAgICAgfQogI2VuZGlmCisgICAgICAgIH0gZWxzZSBpZiAocnVsZS0+
aXNWaWV3cG9ydFJ1bGUoKSkgeworICAgICAgICAgICAgaWYgKHNjb3BlKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgc3R5bGVTZWxlY3Rvci0+dmlld3BvcnRTdHlsZVJl
c29sdmVyKCktPmFkZFZpZXdwb3J0UnVsZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVWaWV3cG9ydCo+
KHJ1bGUpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAobV9hdXRvU2hyaW5rVG9GaXRFbmFi
bGVkKQogICAgICAgICBzaHJpbmtUb0ZpdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgK
aW5kZXggYjY1M2U4NC4uYWUzOWZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBA
IC04NSw2ICs4NSw3IEBAIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBTdHlsZVNoZWV0Q29udGVu
dHM7CiBjbGFzcyBTdHlsZVNoZWV0TGlzdDsKIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CitjbGFzcyBW
aWV3cG9ydFN0eWxlUmVzb2x2ZXI7CiBjbGFzcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTsKIGNsYXNz
IFdlYktpdENTU1NoYWRlclZhbHVlOwogY2xhc3MgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTsK
QEAgLTIyOCw2ICsyMjksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNTZWxlY3RvckZvckF0dHJp
YnV0ZShjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKIAogICAgIENTU0ZvbnRTZWxlY3Rvciog
Zm9udFNlbGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9mb250U2VsZWN0b3IuZ2V0KCk7IH0KKyAg
ICBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIqIHZpZXdwb3J0U3R5bGVSZXNvbHZlcigpIGNvbnN0IHsg
cmV0dXJuIG1fdmlld3BvcnRTdHlsZVJlc29sdmVyLmdldCgpOyB9CiAKICAgICB2b2lkIGFkZFZp
ZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwKiwgYm9v
bCByZXN1bHQpOwogCkBAIC00ODgsNiArNDkwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2Ft
ZU9yaWdpbk9ubHk7CiAKICAgICBSZWZQdHI8Q1NTRm9udFNlbGVjdG9yPiBtX2ZvbnRTZWxlY3Rv
cjsKKyAgICBSZWZQdHI8Vmlld3BvcnRTdHlsZVJlc29sdmVyPiBtX3ZpZXdwb3J0U3R5bGVSZXNv
bHZlcjsKICAgICBWZWN0b3I8T3duUHRyPE1lZGlhUXVlcnlSZXN1bHQ+ID4gbV92aWV3cG9ydERl
cGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwogCiAgICAgYm9vbCBtX2FwcGx5UHJvcGVydHlUb1Jl
Z3VsYXJTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggMjBiMjkwNS4uYjNiM2I4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNS
dWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgorI2luY2x1ZGUgIldlYktp
dENTU1ZpZXdwb3J0UnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc3LDYgKzc4
LDkgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICBjYXNlIEtleWZyYW1lczoK
ICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHRoaXMpOwog
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgZGVsZXRlIHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBj
YXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNhc2UgS2V5ZnJhbWU6CkBAIC0x
MTAsNiArMTE0LDggQEAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNlOjpj
b3B5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlzKS0+
Y29weSgpOworICAgIGNhc2UgVmlld3BvcnQ6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxj
b25zdCBTdHlsZVJ1bGVWaWV3cG9ydCo+KHRoaXMpLT5jb3B5KCk7CiAgICAgY2FzZSBVbmtub3du
OgogICAgIGNhc2UgQ2hhcnNldDoKICAgICBjYXNlIEtleWZyYW1lOgpAQCAtMTUxLDYgKzE1Nyw5
IEBAIFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVy
KENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAgICAg
IHJ1bGUgPSBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVS
dWxlS2V5ZnJhbWVzKj4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBWaWV3cG9ydDoKKyAgICAgICAgcnVsZSA9IFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6Y3Jl
YXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4oc2VsZiksIHBhcmVudFNoZWV0KTsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hhcnNldDoKICAg
ICBjYXNlIEtleWZyYW1lOgpAQCAtMzAxLDQgKzMxMCwzMSBAQCBTdHlsZVJ1bGVSZWdpb246OlN0
eWxlUnVsZVJlZ2lvbihjb25zdCBTdHlsZVJ1bGVSZWdpb24mIG8pCiB7CiB9CiAKK1N0eWxlUnVs
ZVZpZXdwb3J0OjpTdHlsZVJ1bGVWaWV3cG9ydCgpCisgICAgOiBTdHlsZVJ1bGVCYXNlKFZpZXdw
b3J0LCAwKQoreworfQorCitTdHlsZVJ1bGVWaWV3cG9ydDo6U3R5bGVSdWxlVmlld3BvcnQoY29u
c3QgU3R5bGVSdWxlVmlld3BvcnQmIG8pCisgICAgOiBTdHlsZVJ1bGVCYXNlKG8pCisgICAgLCBt
X3Byb3BlcnRpZXMoby5tX3Byb3BlcnRpZXMtPmNvcHkoKSkKK3sKK30KKworU3R5bGVSdWxlVmll
d3BvcnQ6On5TdHlsZVJ1bGVWaWV3cG9ydCgpCit7Cit9CisKK1N0eWxlUHJvcGVydHlTZXQqIFN0
eWxlUnVsZVZpZXdwb3J0OjptdXRhYmxlUHJvcGVydGllcygpCit7CisgICAgaWYgKCFtX3Byb3Bl
cnRpZXMtPmlzTXV0YWJsZSgpKQorICAgICAgICBtX3Byb3BlcnRpZXMgPSBtX3Byb3BlcnRpZXMt
PmNvcHkoKTsKKyAgICByZXR1cm4gbV9wcm9wZXJ0aWVzLmdldCgpOworfQorCit2b2lkIFN0eWxl
UnVsZVZpZXdwb3J0OjpzZXRQcm9wZXJ0aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4g
cHJvcGVydGllcykKK3sKKyAgICBtX3Byb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
dWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggN2ZjMjBhMy4uZThk
NDRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFBhZ2UsCiAgICAgICAgIEtleWZyYW1lcywKICAgICAgICAgS2V5ZnJhbWUsIC8vIE5v
dCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHlsZUtleWZyYW1lIG9iamVj
dHMuCisgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAgICAgICAgIFJlZ2lvbiA9IDE2CiAgICAgfTsK
ICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUp
OyB9CkBAIC01Niw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUGFnZVJ1bGUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gUGFnZTsgfQogICAgIGJvb2wgaXNTdHlsZVJ1bGUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGU7IH0KICAgICBib29sIGlzUmVnaW9uUnVsZSgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBSZWdpb247IH0KKyAgICBib29sIGlzVmlld3BvcnRSdWxl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFZpZXdwb3J0OyB9CiAgICAgYm9vbCBpc0ltcG9y
dFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAKICAgICBQYXNzUmVm
UHRyPFN0eWxlUnVsZUJhc2U+IGNvcHkoKSBjb25zdDsKQEAgLTIwOCw2ICsyMTAsMjYgQEAgcHJp
dmF0ZToKICAgICBDU1NTZWxlY3Rvckxpc3QgbV9zZWxlY3Rvckxpc3Q7CiB9OwogCitjbGFzcyBT
dHlsZVJ1bGVWaWV3cG9ydCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gY3JlYXRlKCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFN0eWxlUnVsZVZpZXdwb3J0KTsgfQorCisgICAgflN0eWxlUnVsZVZpZXdwb3J0
KCk7CisKKyAgICBjb25zdCBTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0aWVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm9wZXJ0aWVzLmdldCgpOyB9CisgICAgU3R5bGVQcm9wZXJ0eVNldCogbXV0YWJs
ZVByb3BlcnRpZXMoKTsKKworICAgIHZvaWQgc2V0UHJvcGVydGllcyhQYXNzUmVmUHRyPFN0eWxl
UHJvcGVydHlTZXQ+KTsKKworICAgIFBhc3NSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNvcHko
KSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVSdWxlVmlld3BvcnQoKnRoaXMpKTsg
fQorCitwcml2YXRlOgorICAgIFN0eWxlUnVsZVZpZXdwb3J0KCk7CisgICAgU3R5bGVSdWxlVmll
d3BvcnQoY29uc3QgU3R5bGVSdWxlVmlld3BvcnQmKTsKKworICAgIFJlZlB0cjxTdHlsZVByb3Bl
cnR5U2V0PiBtX3Byb3BlcnRpZXM7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBTdHlsZVJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdw
b3J0U3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvVmlld3BvcnRTdHlsZVJl
c29sdmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTZkOTEzCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZl
ci5jcHAKQEAgLTAsMCArMSwxNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwg
Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhP
TERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgor
ICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCIKKworI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVkZSAi
U3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6OlZpZXdwb3J0U3R5bGVSZXNvbHZl
cihEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQoreworICAg
IEFTU0VSVChtX2RvY3VtZW50KTsKKworICAgIG1faW5pdGlhbFZpZXdwb3J0V2lkdGggPSBtX2Rv
Y3VtZW50LT5yZW5kZXJWaWV3KCktPnZpZXdwb3J0U2l6ZSgpLndpZHRoKCk7CisgICAgbV9pbml0
aWFsVmlld3BvcnRIZWlnaHQgPSBtX2RvY3VtZW50LT5yZW5kZXJWaWV3KCktPnZpZXdwb3J0U2l6
ZSgpLmhlaWdodCgpOworfQorCitWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6On5WaWV3cG9ydFN0eWxl
UmVzb2x2ZXIoKQoreworfQorCit2b2lkIFZpZXdwb3J0U3R5bGVSZXNvbHZlcjo6YWRkVmlld3Bv
cnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1bGUpCit7CisgICAgU3R5bGVQcm9w
ZXJ0eVNldCogcHJvcGVydHlTZXQgPSB2aWV3cG9ydFJ1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCk7
CisgICAgaWYgKCFwcm9wZXJ0eVNldCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3By
b3BlcnR5U2V0KSB7CisgICAgICAgIG1fcHJvcGVydHlTZXQgPSBwcm9wZXJ0eVNldC0+Y29weSgp
OworICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3Ig
KHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHByb3BlcnR5U2V0LT5wcm9wZXJ0eUNvdW50KCk7IGkr
KykKKyAgICAgICAgbV9wcm9wZXJ0eVNldC0+YWRkUGFyc2VkUHJvcGVydHkocHJvcGVydHlTZXQt
PnByb3BlcnR5QXQoaSkpOworCisgICAgcmVzb2x2ZSgpOworfQorCit2b2lkIFZpZXdwb3J0U3R5
bGVSZXNvbHZlcjo6Y2xlYXJEb2N1bWVudCgpCit7CisgICAgbV9kb2N1bWVudCA9IDA7Cit9CisK
K3ZvaWQgVmlld3BvcnRTdHlsZVJlc29sdmVyOjpyZXNvbHZlKCkKK3sKKyAgICBpZiAoIW1fZG9j
dW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFZpZXdwb3J0QXJndW1lbnRzIGFyZ3VtZW50
cyhWaWV3cG9ydEFyZ3VtZW50czo6Q1NTRGV2aWNlQWRhcHRhdGlvbik7CisKKyAgICBhcmd1bWVu
dHMudXNlclNjYWxhYmxlID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5VXNl
clpvb20pOworICAgIGFyZ3VtZW50cy5pbml0aWFsU2NhbGUgPSBnZXRWaWV3cG9ydEFyZ3VtZW50
VmFsdWUoQ1NTUHJvcGVydHlWaWV3cG9ydFpvb20pOworICAgIGFyZ3VtZW50cy5taW5pbXVtU2Nh
bGUgPSBnZXRWaWV3cG9ydEFyZ3VtZW50VmFsdWUoQ1NTUHJvcGVydHlNaW5ab29tKTsKKyAgICBh
cmd1bWVudHMubWF4aW11bVNjYWxlID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3Bl
cnR5TWF4Wm9vbSk7CisgICAgYXJndW1lbnRzLm1pbldpZHRoID0gZ2V0Vmlld3BvcnRBcmd1bWVu
dFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNaW5XaWR0aCk7CisgICAgYXJndW1lbnRzLm1heFdp
ZHRoID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNYXhXaWR0
aCk7CisgICAgYXJndW1lbnRzLm1pbkhlaWdodCA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShD
U1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0KTsKKyAgICBhcmd1bWVudHMubWF4SGVpZ2h0ID0g
Z2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWlnaHQpOwor
ICAgIGFyZ3VtZW50cy5vcmllbnRhdGlvbiA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShDU1NQ
cm9wZXJ0eU9yaWVudGF0aW9uKTsKKworICAgIG1fZG9jdW1lbnQtPnNldFZpZXdwb3J0QXJndW1l
bnRzKGFyZ3VtZW50cyk7CisgICAgbV9kb2N1bWVudC0+dXBkYXRlVmlld3BvcnRBcmd1bWVudHMo
KTsKK30KKworZmxvYXQgVmlld3BvcnRTdHlsZVJlc29sdmVyOjpnZXRWaWV3cG9ydEFyZ3VtZW50
VmFsdWUoQ1NTUHJvcGVydHlJRCBpZCkgY29uc3QKK3sKKyAgICBmbG9hdCBkZWZhdWx0VmFsdWUg
PSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvOworCisgICAgLy8gVXNlclpvb20gZGVmYXVs
dCB2YWx1ZSBpcyBDU1NWYWx1ZVpvb20sIHdoaWNoIG1hcHMgdG8gdHJ1ZSwgbWVhbmluZyB0aGF0
CisgICAgLy8geWVzLCBpdCBpcyB1c2VyIHNjYWxhYmxlLiBXaGVuIHRoZSB2YWx1ZSBpcyBzZXQg
dG8gQ1NTVmFsdWVGaXhlZCwgd2UKKyAgICAvLyByZXR1cm4gZmFsc2UuCisgICAgaWYgKGlkID09
IENTU1Byb3BlcnR5VXNlclpvb20pCisgICAgICAgIGRlZmF1bHRWYWx1ZSA9IDE7CisKKyAgICBS
ZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gIG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5Q1NTVmFs
dWUoaWQpOworICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisg
ICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CisKKyAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJp
bWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgp
KTsKKworICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNOdW1iZXIoKSB8fCBwcmltaXRpdmVWYWx1
ZS0+aXNQeCgpKQorICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUo
KTsKKworICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNQZXJjZW50YWdlKCkpIHsKKyAgICAgICAg
ZmxvYXQgcGVyY2VudFZhbHVlID0gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUoKSAvIDEw
MC4wZjsKKyAgICAgICAgc3dpdGNoIChpZCkgeworICAgICAgICBjYXNlIENTU1Byb3BlcnR5Vmll
d3BvcnRNYXhIZWlnaHQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbkhlaWdo
dDoKKyAgICAgICAgICAgIHJldHVybiBwZXJjZW50VmFsdWUgKiBtX2luaXRpYWxWaWV3cG9ydEhl
aWdodDsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOgorICAgICAgICAgICAgcmV0dXJuIHBl
cmNlbnRWYWx1ZSAqIG1faW5pdGlhbFZpZXdwb3J0V2lkdGg7CisgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlNYXhab29tOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWluWm9vbToKKyAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbToKKyAgICAgICAgICAgIHJldHVybiBwZXJjZW50
VmFsdWU7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgc3dpdGNoIChw
cmltaXRpdmVWYWx1ZS0+Z2V0SWRlbnQoKSkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAg
ICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOworICAgIGNhc2UgQ1NTVmFsdWVEZXZpY2VIZWlnaHQ6
CisgICAgICAgIHJldHVybiBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VIZWlnaHQ7Cisg
ICAgY2FzZSBDU1NWYWx1ZURldmljZVdpZHRoOgorICAgICAgICByZXR1cm4gVmlld3BvcnRBcmd1
bWVudHM6OlZhbHVlRGV2aWNlV2lkdGg7CisgICAgY2FzZSBDU1NWYWx1ZUxhbmRzY2FwZToKKyAg
ICAgICAgIHJldHVybiBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVMYW5kc2NhcGU7CisgICAgY2Fz
ZSBDU1NWYWx1ZVBvcnRyYWl0OgorICAgICAgICByZXR1cm4gVmlld3BvcnRBcmd1bWVudHM6OlZh
bHVlUG9ydHJhaXQ7CisgICAgY2FzZSBDU1NWYWx1ZVpvb206CisgICAgICAgIHJldHVybiBkZWZh
dWx0VmFsdWU7CisgICAgY2FzZSBDU1NWYWx1ZUZpeGVkOgorICAgICAgICByZXR1cm4gMDsKKyAg
ICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOworICAgIH0KK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNDBlMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmgKQEAgLTAsMCArMSw3MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAg
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICog
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXJfaAorI2Rl
ZmluZSBWaWV3cG9ydFN0eWxlUmVzb2x2ZXJfaAorCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1l
cy5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1ByaW1pdGl2ZVZhbHVlOworY2xh
c3MgRG9jdW1lbnQ7CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9ydDsKK2NsYXNzIFN0eWxlUHJvcGVy
dHlTZXQ7CisKK2NsYXNzIFZpZXdwb3J0U3R5bGVSZXNvbHZlciA6IHB1YmxpYyBSZWZDb3VudGVk
PFZpZXdwb3J0U3R5bGVSZXNvbHZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFZpZXdwb3J0U3R5bGVSZXNvbHZlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlld3BvcnRTdHlsZVJlc29sdmVyKGRvY3Vt
ZW50KSk7CisgICAgfQorICAgIHZpcnR1YWwgflZpZXdwb3J0U3R5bGVSZXNvbHZlcigpOworCisg
ICAgdm9pZCBhZGRWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqKTsKKworICAgIHZvaWQg
Y2xlYXJEb2N1bWVudCgpOworCitwcml2YXRlOgorICAgIFZpZXdwb3J0U3R5bGVSZXNvbHZlcihE
b2N1bWVudCopOworCisgICAgZmxvYXQgZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3Bl
cnR5SUQpIGNvbnN0OworCisgICAgdm9pZCByZXNvbHZlKCk7CisKKyAgICBEb2N1bWVudCogbV9k
b2N1bWVudDsKKyAgICBSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gbV9wcm9wZXJ0eVNldDsKKwor
ICAgIHVuc2lnbmVkIGludCBtX2luaXRpYWxWaWV3cG9ydFdpZHRoOworICAgIHVuc2lnbmVkIGlu
dCBtX2luaXRpYWxWaWV3cG9ydEhlaWdodDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIFZpZXdwb3J0U3R5bGVSZXNvbHZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmNhMzY3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmNwcApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTVmlld3BvcnRS
dWxlLmgiCisKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKKyNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpXZWJLaXRDU1NWaWV3
cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqIHZpZXdwb3J0UnVsZSwgQ1NTU3R5bGVTaGVldCog
c2hlZXQpCisgICAgOiBDU1NSdWxlKHNoZWV0LCBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVM
RSkKKyAgICAsIG1fdmlld3BvcnRSdWxlKHZpZXdwb3J0UnVsZSkKK3sKK30KKworV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlOjp+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCkKK3sKKyAgICBpZiAobV9wcm9w
ZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPmNs
ZWFyUGFyZW50UnVsZSgpOworfQorCitDU1NTdHlsZURlY2xhcmF0aW9uKiBXZWJLaXRDU1NWaWV3
cG9ydFJ1bGU6OnN0eWxlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcHJvcGVydGllc0NTU09NV3Jh
cHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyID0gU3R5bGVSdWxlQ1NTU3R5
bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fdmlld3BvcnRSdWxlLT5tdXRhYmxlUHJvcGVydGllcygp
LCBjb25zdF9jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpKTsKKworICAgIHJldHVy
biBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIuZ2V0KCk7Cit9CisKK1N0cmluZyBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZyByZXN1bHQgPSAiQC13
ZWJraXQtdmlld3BvcnQgeyAiOworICAgIHJlc3VsdCArPSBtX3ZpZXdwb3J0UnVsZS0+cHJvcGVy
dGllcygpLT5hc1RleHQoKTsKKyAgICByZXN1bHQgKz0gIn0iOworCisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwordm9pZCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZVZp
ZXdwb3J0KiBydWxlKQoreworICAgIEFTU0VSVChydWxlKTsKKyAgICBtX3ZpZXdwb3J0UnVsZSA9
IHJ1bGU7CisKKyAgICBpZiAobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBtX3By
b3BlcnRpZXNDU1NPTVdyYXBwZXItPnJlYXR0YWNoKG1fdmlld3BvcnRSdWxlLT5tdXRhYmxlUHJv
cGVydGllcygpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmQ1ZWRkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGVfaAorI2RlZmluZSBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGVfaAorCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9ydDsK
K2NsYXNzIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CisKK2NsYXNzIFdlYktpdENTU1Zp
ZXdwb3J0UnVsZTogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFdlYktpdENTU1ZpZXdwb3J0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3
cG9ydFJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUodmlld3BvcnRSdWxlLCBzaGVldCkpOwor
ICAgIH0KKyAgICB+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCk7CisKKyAgICBDU1NTdHlsZURlY2xh
cmF0aW9uKiBzdHlsZSgpIGNvbnN0OworCisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKwor
ICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlVmlld3BvcnQqKTsKKworcHJpdmF0ZToKKyAgICBX
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqLCBDU1NTdHlsZVNoZWV0Kik7
CisKKyAgICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IG1fdmlld3BvcnRSdWxlOworCisgICAg
bXV0YWJsZSBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0aWVz
Q1NTT01XcmFwcGVyOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
ZWNjZjhhNy4uMmQyYjJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTI5NSw2ICsyOTUsNyBA
QCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR2aXNp
YmlsaXR5Y2hhbmdlKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhj
b25zdCBWaWV3cG9ydEFyZ3VtZW50cyAmdmlld3BvcnRBcmd1bWVudHMpIHsgbV92aWV3cG9ydEFy
Z3VtZW50cyA9IHZpZXdwb3J0QXJndW1lbnRzOyB9CiAgICAgVmlld3BvcnRBcmd1bWVudHMgdmll
d3BvcnRBcmd1bWVudHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QXJndW1lbnRzOyB9CiAj
aWZuZGVmIE5ERUJVRwogICAgIGJvb2wgZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNDaGFu
Z2VkKCkgY29uc3QgeyByZXR1cm4gbV9kaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0NoYW5n
ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IGE5M2Ux
NGUuLjQ3OWJhNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApA
QCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywg
MjAwOCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93
d3cudG9yY2htb2JpbGUuY29tLykKICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJ
bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtNDUsNiArNDYsMzIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODExNAogc3RhdGljIGZsb2F0IHRhcmdl
dERQSSA9IDE2MDsKIAorc3RhdGljIGZsb2F0IG1heElnbm9yZUF1dG8oY29uc3QgZmxvYXQgdmFs
dWUxLCBjb25zdCBmbG9hdCB2YWx1ZTIpCit7CisgICAgQVNTRVJUKHZhbHVlMSAhPSBWaWV3cG9y
dEFyZ3VtZW50czo6VmFsdWVBdXRvIHx8IHZhbHVlMiAhPSBWaWV3cG9ydEFyZ3VtZW50czo6VmFs
dWVBdXRvKTsKKworICAgIGlmICh2YWx1ZTEgPT0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0
bykKKyAgICAgICAgcmV0dXJuIHZhbHVlMjsKKworICAgIGlmICh2YWx1ZTIgPT0gVmlld3BvcnRB
cmd1bWVudHM6OlZhbHVlQXV0bykKKyAgICAgICAgcmV0dXJuIHZhbHVlMTsKKworICAgIHJldHVy
biBtYXgodmFsdWUxLCB2YWx1ZTIpOworfQorCitzdGF0aWMgZmxvYXQgbWluSWdub3JlQXV0byhj
b25zdCBmbG9hdCB2YWx1ZTEsIGNvbnN0IGZsb2F0IHZhbHVlMikKK3sKKyAgICBBU1NFUlQodmFs
dWUxICE9IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZUF1dG8gfHwgdmFsdWUyICE9IFZpZXdwb3J0
QXJndW1lbnRzOjpWYWx1ZUF1dG8pOworCisgICAgaWYgKHZhbHVlMSA9PSBWaWV3cG9ydEFyZ3Vt
ZW50czo6VmFsdWVBdXRvKQorICAgICAgICByZXR1cm4gdmFsdWUyOworCisgICAgaWYgKHZhbHVl
MiA9PSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvKQorICAgICAgICByZXR1cm4gdmFsdWUx
OworCisgICAgcmV0dXJuIG1pbih2YWx1ZTEsIHZhbHVlMik7Cit9CisKIFZpZXdwb3J0QXR0cmli
dXRlcyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGlu
dCBkZXNrdG9wV2lkdGgsIGludCBkZXZpY2VXaWR0aCwgaW50IGRldmljZUhlaWdodCwgaW50IGRl
dmljZURQSSwgSW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpCiB7CiAgICAgVmlld3BvcnRBdHRyaWJ1
dGVzIHJlc3VsdDsKQEAgLTg4LDYgKzExNSw0NyBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0
ZVZpZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAog
ICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBpZiAoYXJncy50eXBlID09IFZpZXdwb3J0QXJn
dW1lbnRzOjpDU1NEZXZpY2VBZGFwdGF0aW9uKSB7CisgICAgICAgIHN3aXRjaCAoaW50KGFyZ3Mu
bWluV2lkdGgpKSB7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNl
V2lkdGg6CisgICAgICAgICAgICBhcmdzLm1pbldpZHRoID0gZGV2aWNlV2lkdGg7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VI
ZWlnaHQ6CisgICAgICAgICAgICBhcmdzLm1pbldpZHRoID0gZGV2aWNlSGVpZ2h0OworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKGludChhcmdzLm1heFdp
ZHRoKSkgeworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURldmljZVdpZHRo
OgorICAgICAgICAgICAgYXJncy5tYXhXaWR0aCA9IGRldmljZVdpZHRoOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlSGVpZ2h0
OgorICAgICAgICAgICAgYXJncy5tYXhXaWR0aCA9IGRldmljZUhlaWdodDsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgc3dpdGNoIChpbnQoYXJncy5taW5IZWlnaHQp
KSB7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlV2lkdGg6Cisg
ICAgICAgICAgICBhcmdzLm1pbkhlaWdodCA9IGRldmljZVdpZHRoOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlSGVpZ2h0Ogor
ICAgICAgICAgICAgYXJncy5taW5IZWlnaHQgPSBkZXZpY2VIZWlnaHQ7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAoaW50KGFyZ3MubWF4SGVpZ2h0KSkg
eworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURldmljZVdpZHRoOgorICAg
ICAgICAgICAgYXJncy5tYXhIZWlnaHQgPSBkZXZpY2VXaWR0aDsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURldmljZUhlaWdodDoKKyAg
ICAgICAgICAgIGFyZ3MubWF4SGVpZ2h0ID0gZGV2aWNlSGVpZ2h0OworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKworICAgICAgICBhcmdzLndpZHRoID0gbWF4SWdub3JlQXV0byhhcmdz
Lm1pbldpZHRoLCBtaW5JZ25vcmVBdXRvKGFyZ3MubWF4V2lkdGgsIGRldmljZVdpZHRoKSk7Cisg
ICAgICAgIGFyZ3MuaGVpZ2h0ID0gbWF4SWdub3JlQXV0byhhcmdzLm1pbkhlaWdodCwgbWluSWdu
b3JlQXV0byhhcmdzLm1heEhlaWdodCwgZGV2aWNlSGVpZ2h0KSk7CisgICAgfQorCiAgICAgLy8g
Q2xhbXAgdmFsdWVzIHRvIHJhbmdlIGRlZmluZWQgYnkgc3BlYyBhbmQgcmVzb2x2ZSBtaW5pbXVt
LXNjYWxlIGFuZCBtYXhpbXVtLXNjYWxlIHZhbHVlcwogICAgIGlmIChhcmdzLndpZHRoICE9IFZp
ZXdwb3J0QXJndW1lbnRzOjpWYWx1ZUF1dG8pCiAgICAgICAgIGFyZ3Mud2lkdGggPSBtaW4oZmxv
YXQoMTAwMDApLCBtYXgoYXJncy53aWR0aCwgZmxvYXQoMSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Zp
ZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNzA3NjMwNS4uMDA3ZDIwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKQEAgLTYsNiArNiw3IEBACiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTY0LDcgKzY1LDggQEAgc3RydWN0IFZpZXdwb3J0QXJn
dW1lbnRzIHsKICAgICAgICAgSGFuZGhlbGRGcmllbmRseU1ldGEsCiAgICAgICAgIE1vYmlsZU9w
dGltaXplZE1ldGEsCiAjZW5kaWYKLSAgICAgICAgVmlld3BvcnRNZXRhCisgICAgICAgIFZpZXdw
b3J0TWV0YSwKKyAgICAgICAgQ1NTRGV2aWNlQWRhcHRhdGlvbgogICAgIH0gdHlwZTsKIAogICAg
IGVudW0gewpAQCAtNzUsNyArNzcsOSBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAg
ICAgICBWYWx1ZURldmljZURQSSA9IC01LAogICAgICAgICBWYWx1ZUxvd0RQSSA9IC02LAogICAg
ICAgICBWYWx1ZU1lZGl1bURQSSA9IC03LAotICAgICAgICBWYWx1ZUhpZ2hEUEkgPSAtOAorICAg
ICAgICBWYWx1ZUhpZ2hEUEkgPSAtOCwKKyAgICAgICAgVmFsdWVQb3J0cmFpdCA9IC05LAorICAg
ICAgICBWYWx1ZUxhbmRzY2FwZSA9IC0xMAogICAgIH07CiAKICAgICBWaWV3cG9ydEFyZ3VtZW50
cyhUeXBlIHR5cGUgPSBJbXBsaWNpdCkKQEAgLTg1LDcgKzg5LDEyIEBAIHN0cnVjdCBWaWV3cG9y
dEFyZ3VtZW50cyB7CiAgICAgICAgICwgbWF4aW11bVNjYWxlKFZhbHVlQXV0bykKICAgICAgICAg
LCB3aWR0aChWYWx1ZUF1dG8pCiAgICAgICAgICwgaGVpZ2h0KFZhbHVlQXV0bykKKyAgICAgICAg
LCBtaW5XaWR0aChWYWx1ZUF1dG8pCisgICAgICAgICwgbWF4V2lkdGgoVmFsdWVBdXRvKQorICAg
ICAgICAsIG1pbkhlaWdodChWYWx1ZUF1dG8pCisgICAgICAgICwgbWF4SGVpZ2h0KFZhbHVlQXV0
bykKICAgICAgICAgLCB1c2VyU2NhbGFibGUoVmFsdWVBdXRvKQorICAgICAgICAsIG9yaWVudGF0
aW9uKFZhbHVlQXV0bykKICAgICB7CiAgICAgfQogCkBAIC05NCw3ICsxMDMsMTIgQEAgc3RydWN0
IFZpZXdwb3J0QXJndW1lbnRzIHsKICAgICBmbG9hdCBtYXhpbXVtU2NhbGU7CiAgICAgZmxvYXQg
d2lkdGg7CiAgICAgZmxvYXQgaGVpZ2h0OworICAgIGZsb2F0IG1pbldpZHRoOworICAgIGZsb2F0
IG1heFdpZHRoOworICAgIGZsb2F0IG1pbkhlaWdodDsKKyAgICBmbG9hdCBtYXhIZWlnaHQ7CiAg
ICAgZmxvYXQgdXNlclNjYWxhYmxlOworICAgIGZsb2F0IG9yaWVudGF0aW9uOwogCiAgICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBvdGhlcikgY29uc3QKICAgICB7
CkBAIC0xMDUsNyArMTE5LDEyIEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgICAg
ICAgICAmJiBtYXhpbXVtU2NhbGUgPT0gb3RoZXIubWF4aW11bVNjYWxlCiAgICAgICAgICAgICAm
JiB3aWR0aCA9PSBvdGhlci53aWR0aAogICAgICAgICAgICAgJiYgaGVpZ2h0ID09IG90aGVyLmhl
aWdodAotICAgICAgICAgICAgJiYgdXNlclNjYWxhYmxlID09IG90aGVyLnVzZXJTY2FsYWJsZTsK
KyAgICAgICAgICAgICYmIG1pbldpZHRoID09IG90aGVyLm1pbldpZHRoCisgICAgICAgICAgICAm
JiBtYXhXaWR0aCA9PSBvdGhlci5tYXhXaWR0aAorICAgICAgICAgICAgJiYgbWluSGVpZ2h0ID09
IG90aGVyLm1pbkhlaWdodAorICAgICAgICAgICAgJiYgbWF4SGVpZ2h0ID09IG90aGVyLm1heEhl
aWdodAorICAgICAgICAgICAgJiYgdXNlclNjYWxhYmxlID09IG90aGVyLnVzZXJTY2FsYWJsZQor
ICAgICAgICAgICAgJiYgb3JpZW50YXRpb24gPT0gb3RoZXIub3JpZW50YXRpb247CiAgICAgfQog
CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBvdGhlcikgY29u
c3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150182</attachid>
            <date>2012-06-29 08:25:46 -0700</date>
            <delta_ts>2012-06-29 13:34:56 -0700</delta_ts>
            <desc>Work in progress of the CSS Device Adaptation v4</desc>
            <filename>viewport.patch</filename>
            <type>text/plain</type>
            <size>55594</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNWM1NjQ5NS4uNDQ0YmY1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTUzNCw2ICs1MzQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1N0
eWxlU2hlZXQuY3BwCiAgICAgY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKICAgICBjc3MvU3R5
bGVTaGVldExpc3QuY3BwCisgICAgY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAKICAgICBj
c3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVs
ZS5jcHAKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKQEAgLTU0MSw2ICs1NDIs
NyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3Bw
CiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmNwcAorICAgIGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCiAK
ICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcAogICAgIGRvbS9BdHRyLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZmNhY2NhYy4uOGM0NmU1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC0xNzYyLDYgKzE3NjIsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvVmll
d3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5
bGVSZXNvbHZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXApAQCAtMTc3OCw2ICsx
NzgwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVl
LmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZl
RE9NT2JqZWN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCBlNTQxNDM1Li41MTczZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTQ5Nyw2ICs0OTcsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBjc3MvU3R5bGVTaGVldC5jcHAgXAogICAgIGNzcy9TdHlsZVNoZWV0
Q29udGVudHMuY3BwIFwKICAgICBjc3MvU3R5bGVTaGVldExpc3QuY3BwIFwKKyAgICBjc3MvVmll
d3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCiAgICAgY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNw
cCBcCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXAogICAgIGNzcy9XZWJLaXRD
U1NLZXlmcmFtZXNSdWxlLmNwcCBcCkBAIC01MDUsNiArNTA2LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwK
KyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBcCiAgICAgZG9tL0FjdGl2ZURPTU9i
amVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAgZG9tL0JlZm9yZVRleHRJbnNlcnRl
ZEV2ZW50LmNwcCBcCkBAIC0xNjgzLDYgKzE2ODUsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3Mv
U3R5bGVTaGVldC5oIFwKICAgICBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmggXAogICAgIGNzcy9T
dHlsZVNoZWV0TGlzdC5oIFwKKyAgICBjc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmggXAogICAg
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlLmggXAogICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggXApAQCAtMTY5MSw2ICsx
Njk0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUu
aCBcCiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZS5oIFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogICAg
IGRvbS9BY3RpdmVET01PYmplY3QuaCBcCiAgICAgZG9tL0F0dHIuaCBcCiAgICAgZG9tL0F0dHJp
YnV0ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAzYmUwZjdlLi5hMGExNjZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yNTczLDYgKzI1NzMsOCBAQAogICAgICAgICAgICAgJ2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmNwcCcsCiAgICAg
ICAgICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmgnLAorICAgICAgICAgICAgJ2Nzcy9WaWV3cG9y
dFN0eWxlUmVzb2x2ZXIuY3BwJywKKyAgICAgICAgICAgICdjc3MvVmlld3BvcnRTdHlsZVJlc29s
dmVyLmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAnLAogICAg
ICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdj
c3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgnLApAQCAtMjU4Nyw2ICsyNTg5LDggQEAKICAgICAg
ICAgICAgICdjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3
cG9ydC5oJywKKyAgICAgICAgICAgICdjc3MvV2ViS2l0Q1NTVmlld3BvcnQuY3BwJywKICAgICAg
ICAgICAgICdlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwJywKICAgICAgICAg
ICAgICdlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAn
ZWRpdGluZy9BcHBlbmROb2RlQ29tbWFuZC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3Mjk2NjYzLi4yYzViN2U5IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc1NDcsNiArMzc1
NDcsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cY3NzXFZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFdl
YktpdENTU0ZpbHRlclZhbHVlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0zNzYxMCw2ICsz
NzYxOCwxNCBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFdlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmgiCiAJCQkJPgogCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGNzc1xXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgogCQk8L0ZpbHRlcj4KIAkJPEZpbHRlcgogCQkJTmFtZT0icmVuZGVy
aW5nIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDg4MmNjNmIuLmM0YmJhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMDksNiArMTAwOSwxMCBAQAogCQkz
QUIwMkQyQjEyRDRGOTE2MDBGQkI2OTQgLyogU3RvcmFnZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0FCMDJEMjkxMkQ0RjkxNjAwRkJC
Njk0IC8qIFN0b3JhZ2VUcmFja2VyLmNwcCAqLzsgfTsKIAkJM0FDMzY4MDAxMkVGN0EwOTAwNkEz
RDZGIC8qIFN0b3JhZ2VUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzQUMzNjdGRTEyRUY3QTA5MDA2QTNENkYgLyogU3RvcmFnZVRy
YWNrZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkzQUM2NDhCMjEyOUUxNDY1MDBDM0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQUM2NDhCMTEyOUUx
NDY1MDBDM0VCMjUgLyogRWRpdGluZ0JvdW5kYXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJM0ZGRkY5QTgxNTlEOUE1NTAwMjBCQkQ1IC8qIFdl
YktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzRkZGRjlBNjE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmNwcCAqLzsgfTsKKwkJM0ZGRkY5QTkxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENT
U1ZpZXdwb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5o
ICovOyB9OworCQkzRkZGRjlBRDE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29s
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNG
RkZGOUFCMTU5RDlCMDYwMDIwQkJENSAvKiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwICovOyB9
OworCQkzRkZGRjlBRTE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRkZGRjlBQzE1
OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmggKi87IH07CiAJCTQxMDAy
Q0NEMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDAyQ0NCMEY2NkVERUYwMDlFNjYw
RCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCAqLzsgfTsKIAkJNDEwMDJDQ0UwRjY2RURFRjAwOUU2
NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTAwMkNDQzBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVu
Y3Rpb25DYWxsLmNwcCAqLzsgfTsKIAkJNDEwQjdFNzIxMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVz
c2FnZUV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAgKi87IH07CkBAIC04MDMyLDYgKzgwMzYsMTAgQEAKIAkJM0FCMDJEMjkxMkQ0RjkxNjAw
RkJCNjk0IC8qIFN0b3JhZ2VUcmFja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFN0b3JhZ2VUcmFja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJM0FDMzY3RkUxMkVGN0EwOTAwNkEzRDZGIC8qIFN0b3JhZ2VUcmFja2VyQ2xpZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VUcmFja2VyQ2xpZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNBQzY0OEIxMTI5RTE0NjUwMEMzRUIyNSAvKiBF
ZGl0aW5nQm91bmRhcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdGlu
Z0JvdW5kYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTNGRkZGOUE2MTU5RDlB
NTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENT
U1ZpZXdwb3J0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJM0ZGRkY5QUIx
NTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzRkZGRjlBQzE1OUQ5QjA2MDAyMEJCRDUgLyogVmll
d3BvcnRTdHlsZVJlc29sdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZp
ZXdwb3J0U3R5bGVSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTAw
MkNDQjBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEZ1bmN0aW9uQ2FsbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTAwMkNDQzBGNjZFREVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rp
b25DYWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEZ1
bmN0aW9uQ2FsbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMEI3RTcxMTA0
NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDk5NCw2ICsyMTAwMiw4IEBACiAJCQkJQjIyMjdCMDMw
RDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU1N0eWxlU2VsZWN0b3IuY3BwICovLAogCQkJCUIyMjI3
QjA0MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NWYWx1ZUtleXdvcmRzLmluICovLAogCQkJCUJD
NUVDMTc2MEE1MDdFM0UwMDYwMDdGNSAvKiB2aWV3LXNvdXJjZS5jc3MgKi8sCisJCQkJM0ZGRkY5
QUIxNTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAgKi8sCisJCQkJ
M0ZGRkY5QUMxNTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5oICovLAog
CQkJCTMxMDYwMzZDMTQzMjdEMkUwMEFCRjRCQSAvKiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAg
Ki8sCiAJCQkJMzEwNjAzNkQxNDMyN0QyRTAwQUJGNEJBIC8qIFdlYktpdENTU0ZpbHRlclZhbHVl
LmggKi8sCiAJCQkJMzEwNjAzNkUxNDMyN0QyRTAwQUJGNEJBIC8qIFdlYktpdENTU0ZpbHRlclZh
bHVlLmlkbCAqLywKQEAgLTIxMDE2LDYgKzIxMDI2LDggQEAKIAkJCQlCQzlBREQ3RjBDQzQwOTIy
MDAwOThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwICovLAogCQkJCUJDOUFERDIy
MENDNDAzMjYwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oICovLAogCQkJCTMx
NjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwgKi8s
CisJCQkJM0ZGRkY5QTYxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5j
cHAgKi8sCisJCQkJM0ZGRkY5QTcxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0
UnVsZS5oICovLAogCQkJCUE4ODJEQTFGMTU5Mzg0NkEwMDAxMTVFRCAvKiBDU1NUb1N0eWxlTWFw
LmNwcCAqLywKIAkJCQlBODgyREEyMjE1OTM4NDhEMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5o
ICovLAogCQkJKTsKQEAgLTI1MTczLDYgKzI1MTg1LDggQEAKIAkJCQk1MDk4N0MyNzE1N0Q2NzZE
MDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNEYzMkJCMUIxNEZBODVFODAwRjZDMUEzIC8qIE1lbW9yeUluc3RydW1lbnRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTg4MkRBMjMxNTkzODQ4RDAwMDExNUVEIC8qIENTU1RvU3R5bGVN
YXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTNGRkZGOUE5MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJL
aXRDU1NWaWV3cG9ydFJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTNGRkZGOUFFMTU5RDlCMDYw
MDIwQkJENSAvKiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjgy
MjgsNiArMjgyNDIsOCBAQAogCQkJCUNFN0IyREI2MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0
ZXJuYXRpdmVXaXRoUmFuZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MDk4N0MyNjE1N0Q2NzZE
MDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBODgyREEyMDE1OTM4NDZBMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkzRkZGRjlBODE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTNGRkZGOUFEMTU5RDlCMDYwMDIwQkJENSAv
KiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCmluZGV4
IDcyMDdhM2QuLjE1MTAwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCkBAIC02OSw2ICs2OSw4IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KENTU1J1bGUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPihp
bXBsKSwgaXNvbGF0ZSk7CiAgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfS0VZRlJBTUVTX1JVTEU6
CiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFdlYktpdENTU0tleWZyYW1lc1J1bGUq
PihpbXBsKSwgaXNvbGF0ZSk7CisgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVM
RToKKyAgICAgICAgYnJlYWs7IC8vIFRPRE86IEltcGxlbWVudCBiaW5kaW5ncwogICAgIGNhc2Ug
Q1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNf
Y2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oaW1wbCksIGlzb2xhdGUpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDJjZTFlMzYuLjRhMmIxMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0FsbEluT25lLmNwcApAQCAtNzAsMyArNzAsNCBAQAogI2luY2x1ZGUgIlN0eWxlUHJv
cGVydHlTZXQuY3BwIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIgogI2lu
Y2x1ZGUgIlN0eWxlUmVzb2x2ZXIuY3BwIgorI2luY2x1ZGUgIlZpZXdwb3J0U3R5bGVSZXNvbHZl
ci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IGNiODViZWIuLjYwNzhmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yNTAyLDYgKzI1MDIs
MTggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpn
ZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICNlbmRpZgogICAgICAgICAgICAgYnJlYWs7
CiAKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlNaW5ab29tOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3JpZW50YXRpb246CisgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0aW9uOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5
VXNlclpvb206CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhlaWdodDoKKyAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlWaWV3cG9ydE1pbkhlaWdodDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdw
b3J0TWluV2lkdGg6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CisgICAg
ICAgICAgICBicmVhazsKKwogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlDbGlwUGF0aDoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNsaXBSdWxlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueSBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmFtbWFyLnkKaW5kZXggODI3YWJlZC4uNmFhNmQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyYW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55CkBAIC01LDYgKzUsNyBAQAogICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwg
MjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiAgQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNvbSkK
ICAqICBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAq
ICBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0xNDQsNiArMTQ1LDcgQEAgc3RhdGljIGludCBj
c3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0b2tlbiBXRUJLSVRfTUVE
SUFRVUVSWV9TWU0KICV0b2tlbiBXRUJLSVRfU0VMRUNUT1JfU1lNCiAldG9rZW4gV0VCS0lUX1JF
R0lPTl9SVUxFX1NZTQorJXRva2VuIFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZTQogJXRva2VuIDxt
YXJnaW5Cb3g+IFRPUExFRlRDT1JORVJfU1lNCiAldG9rZW4gPG1hcmdpbkJveD4gVE9QTEVGVF9T
WU0KICV0b2tlbiA8bWFyZ2luQm94PiBUT1BDRU5URVJfU1lNCkBAIC0yMzAsNiArMjMyLDcgQEAg
c3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0eXBl
IDxydWxlPiBibG9ja19ydWxlCiAldHlwZSA8cnVsZT4gYmxvY2tfdmFsaWRfcnVsZQogJXR5cGUg
PHJ1bGU+IHJlZ2lvbgorJXR5cGUgPHJ1bGU+IHZpZXdwb3J0CiAKICV0eXBlIDxzdHJpbmc+IG1h
eWJlX25zX3ByZWZpeAogCkBAIC00MjUsNiArNDI4LDcgQEAgdmFsaWRfcnVsZToKICAgfCBuYW1l
c3BhY2UKICAgfCBpbXBvcnQKICAgfCByZWdpb24KKyAgfCB2aWV3cG9ydAogICA7CiAKIHJ1bGU6
CkBAIC00NTMsNiArNDU3LDcgQEAgYmxvY2tfdmFsaWRfcnVsZToKICAgfCBwYWdlCiAgIHwgZm9u
dF9mYWNlCiAgIHwga2V5ZnJhbWVzCisgIHwgdmlld3BvcnQKICAgOwogCiBibG9ja19ydWxlOgpA
QCAtODc5LDYgKzg4NCwzMiBAQCByZWdpb246CiAgICAgfQogOwogCit2aWV3cG9ydDoKKyAgICB2
aWV3cG9ydF9hdCBtYXliZV9zcGFjZQorICAgICd7JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlvbl9s
aXN0IGNsb3NpbmdfYnJhY2UgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICBwLT5tYXJrVmlld3BvcnRFbmQoKTsKKyAgICAg
ICAgJCQgPSBwLT5jcmVhdGVWaWV3cG9ydFJ1bGUoKTsKKyAgICB9CisgICAgfCBXRUJLSVRfVklF
V1BPUlRfUlVMRV9TWU0gZXJyb3IgaW52YWxpZF9ibG9jayB7CisgICAgICAgIENTU1BhcnNlciog
cCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3
cG9ydEVuZCgpOworICAgICAgICAkJCA9IDA7CisgICAgfQorICAgIHwgV0VCS0lUX1ZJRVdQT1JU
X1JVTEVfU1lNIGVycm9yICc7JyB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0
PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3cG9ydEVuZCgpOworICAg
ICAgICAkJCA9IDA7CisgICAgfQorOworCit2aWV3cG9ydF9hdDoKKyAgICBXRUJLSVRfVklFV1BP
UlRfUlVMRV9TWU0geworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJz
ZXIqPihwYXJzZXIpOworICAgICAgICBwLT5tYXJrVmlld3BvcnRTdGFydCgpOworICAgIH0KKzsK
KwogY29tYmluYXRvcjoKICAgICAnKycgbWF5YmVfc3BhY2UgeyAkJCA9IENTU1NlbGVjdG9yOjpE
aXJlY3RBZGphY2VudDsgfQogICB8ICd+JyBtYXliZV9zcGFjZSB7ICQkID0gQ1NTU2VsZWN0b3I6
OkluZGlyZWN0QWRqYWNlbnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggYmExYzY1
OC4uMWZhMWEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTYsNiArNiw3IEBACiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAqIENv
cHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAo
aHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2Jl
IFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCkBAIC0yNjEsNiArMjYyLDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29u
c3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKICAgICAsIG1fbGFzdFNlbGVjdG9yTGluZU51
bWJlcigwKQogICAgICwgbV9hbGxvd0ltcG9ydFJ1bGVzKHRydWUpCiAgICAgLCBtX2FsbG93TmFt
ZXNwYWNlRGVjbGFyYXRpb25zKHRydWUpCisgICAgLCBtX2luVmlld3BvcnRSdWxlKGZhbHNlKQog
ewogI2lmIFlZREVCVUcgPiAwCiAgICAgY3NzeXlkZWJ1ZyA9IDE7CkBAIC0xMzI1LDYgKzEzMjcs
MTExIEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gQ1NTUGFyc2VyOjpjcmVhdGVTdHls
ZVByb3BlcnR5U2V0KCkKICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eVNldDo6Y3JlYXRlSW1tdXRh
YmxlKHJlc3VsdHMuZGF0YSgpLCByZXN1bHRzLnNpemUoKSwgbV9jb250ZXh0Lm1vZGUpOwogfQog
Citib29sIENTU1BhcnNlcjo6cGFyc2VWaWV3cG9ydFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJv
cElkLCBib29sIGltcG9ydGFudCkKK3sKKyAgICBib29sIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7
CisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKKwor
ICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNvbWUgcHJv
cGVydGllcyBuZWVkcyByZW1hcHBpbmcgYmVjYXVzZSB0aGVpciBuYW1lcyBjbGFzaGVzIHdpdGgK
KyAgICAvLyBvdGhlciBleGlzdGluZyBwcm9wZXJ0aWVzIG5hbWVzIGJ1dCB0aGUgc2VtYW50aWNz
IGFyZSBkaWZmZXJlbnQuCisgICAgc3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1Byb3Bl
cnR5TWluV2lkdGg6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNaW5XaWR0
aDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFdpZHRoOgorICAgICAg
ICBwcm9wSWQgPSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlNaW5IZWlnaHQ6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3Bl
cnR5Vmlld3BvcnRNaW5IZWlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVy
dHlNYXhIZWlnaHQ6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWln
aHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlab29tOgorICAgICAgICBw
cm9wSWQgPSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbTsKKyAgICBkZWZhdWx0OgorICAgICAgICBi
cmVhazsKKyAgICB9CisKKyAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7CisKKyAgICBzd2l0Y2ggKHBy
b3BJZCkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOiAvLyBhdXRvIHwg
ZGV2aWNlLXdpZHRoIHwgZGV2aWNlLWhlaWdodCB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhlaWdo
dDoKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZURldmlj
ZVdpZHRoIHx8IGlkID09IENTU1ZhbHVlRGV2aWNlSGVpZ2h0KQorICAgICAgICAgICAgdmFsaWRQ
cmltaXRpdmUgPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2
ZSA9ICghaWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwgRlBlcmNlbnQgfCBGTm9uTmVn
KSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogLy8gc2hvcnRo
YW5kCisgICAgICAgIHJldHVybiBwYXJzZVZpZXdwb3J0U2hvcnRoYW5kKHByb3BJZCwgQ1NTUHJv
cGVydHlNaW5XaWR0aCwgQ1NTUHJvcGVydHlNYXhXaWR0aCwgaW1wb3J0YW50KTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5SGVpZ2h0OgorICAgICAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFNob3J0aGFu
ZChwcm9wSWQsIENTU1Byb3BlcnR5TWluSGVpZ2h0LCBDU1NQcm9wZXJ0eU1heEhlaWdodCwgaW1w
b3J0YW50KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5TWluWm9vbTogLy8gYXV0byB8IDxudW1iZXI+
IHwgPHBlcmNlbnRhZ2U+CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBD
U1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbToKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0bykK
KyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmIHZhbGlkVW5pdCh2YWx1ZSwgRk51bWJlciB8
IEZQZXJjZW50IHwgRk5vbk5lZykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3Bl
cnR5VXNlclpvb206IC8vIHpvb20gfCBmaXhlZAorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVa
b29tIHx8IGlkID09IENTU1ZhbHVlRml4ZWQpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9
IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlPcmllbnRhdGlvbjog
Ly8gYXV0byB8IHBvcnRyYWl0IHwgbGFuZHNjYXBlCisgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1
ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVQb3J0cmFpdCB8fCBpZCA9PSBDU1NWYWx1ZUxhbmRzY2Fw
ZSkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVJlc29sdXRpb246IC8vIGF1dG8gfCBkZXZpY2UgfCA8cmVzb2x1
dGlvbj4KKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZURl
dmljZSkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmICB2YWxpZFVuaXQodmFsdWUsIEZM
ZW5ndGggfCBGTm9uTmVnKSk7IC8vIEZJWE1FOiBBZGQgRlJlc29sdXRpb24KKyAgICBkZWZhdWx0
OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlZFZh
bHVlOworICAgIGlmICh2YWxpZFByaW1pdGl2ZSkgeworICAgICAgICBwYXJzZWRWYWx1ZSA9IHBh
cnNlVmFsaWRQcmltaXRpdmUoaWQsIHZhbHVlKTsKKyAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQo
KTsKKyAgICB9CisgICAgaWYgKHBhcnNlZFZhbHVlKSB7CisgICAgICAgIGlmICghbV92YWx1ZUxp
c3QtPmN1cnJlbnQoKSB8fCBpblNob3J0aGFuZCgpKSB7CisgICAgICAgICAgICBhZGRQcm9wZXJ0
eShwcm9wSWQsIHBhcnNlZFZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQor
Citib29sIENTU1BhcnNlcjo6cGFyc2VWaWV3cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgQ1NTUHJvcGVydHlJRCBmaXJzdCwgQ1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wgaW1w
b3J0YW50KQoreworICAgIHVuc2lnbmVkIGludCBudW1WYWx1ZXMgPSBtX3ZhbHVlTGlzdC0+c2l6
ZSgpOworCisgICAgaWYgKG51bVZhbHVlcyA+IDIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIFNob3J0aGFuZFNjb3BlIHNjb3BlKHRoaXMsIHByb3BJZCk7CisKKyAgICBpZiAoIXBhcnNl
Vmlld3BvcnRQcm9wZXJ0eShmaXJzdCwgaW1wb3J0YW50KSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgLy8gSWYganVzdCBvbmUgdmFsdWUgaXMgc3VwcGxpZWQsIHRoZSBzZWNvbmQgdmFs
dWUKKyAgICAvLyBpcyBpbXBsaWNpdGx5IGluaXRpYWxpemVkIHdpdGggdGhlIGZpcnN0IHZhbHVl
LgorICAgIGlmIChudW1WYWx1ZXMgPT0gMSkKKyAgICAgICAgbV92YWx1ZUxpc3QtPnByZXZpb3Vz
KCk7CisKKyAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFByb3BlcnR5KHNlY29uZCwgaW1wb3J0YW50
KTsKK30KKwogdm9pZCBDU1NQYXJzZXI6OmFkZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcElk
LCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1wbGlj
aXQpCiB7CiAgICAgbV9wYXJzZWRQcm9wZXJ0aWVzLmFwcGVuZChDU1NQcm9wZXJ0eShwcm9wSWQs
IHZhbHVlLCBpbXBvcnRhbnQsIG1fY3VycmVudFNob3J0aGFuZCwgbV9pbXBsaWNpdFNob3J0aGFu
ZCB8fCBpbXBsaWNpdCkpOwpAQCAtMTY3Nyw2ICsxNzg0LDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBh
cnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAgICBpZiAobV9pblZpZXdwb3J0UnVsZSkKKyAgICAgICAg
cmV0dXJuIHBhcnNlVmlld3BvcnRQcm9wZXJ0eShwcm9wSWQsIGltcG9ydGFudCk7CisKICAgICBi
b29sIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7CiAgICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRW
YWx1ZTsKIApAQCAtMjgxMyw2ICsyOTIzLDIxIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVl
KENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgLy8gVGhlc2Ug
cHJvcGVydGllcyBzaG91bGQgYmUgaGFuZGxlZCBiZWZvcmUgaW4gaXNWYWxpZEtleXdvcmRQcm9w
ZXJ0eUFuZFZhbHVlKCkuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgLy8gUHJvcGVydGllcyBiZWxsb3cgYXJlIHZhbGlkYXRlZCBpbnNp
ZGUgcGFyc2VWaWV3cG9ydFByb3BlcnR5LCBiZWNhdXNlIHdlCisgICAgLy8gY2hlY2sgZm9yIHBh
cnNlciBzdGF0ZSBtX2luVmlld3BvcnRSdWxlLiBXZSBuZWVkIHRvIGludmFsaWRhdGUgaWYgc29t
ZW9uZQorICAgIC8vIGFkZHMgdGhlbSBvdXRzaWRlIGEgQHZpZXdwb3J0IHJ1bGUuCisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eU9yaWVudGF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0
aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5
Vmlld3BvcnRNYXhIZWlnaHQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJv
cGVydHlWaWV3cG9ydE1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206
CisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7CisgICAgICAgIGJyZWFrOwogI2lmIEVO
QUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZHVmFsdWUocHJv
cElkLCBpbXBvcnRhbnQpOwpAQCAtODgxMSw4ICs4OTM2LDEzIEBAIGlubGluZSB2b2lkIENTU1Bh
cnNlcjo6ZGV0ZWN0QXRUb2tlbihpbnQgbGVuZ3RoLCBib29sIGhhc0VzY2FwZSkKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICBjYXNlIDE3OgotICAgICAgICAgICAgaWYgKCFoYXNFc2Nh
cGUgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lICsgMiwgIndlYmtpdC1zZWxlY3RvciIp
KQorICAgICAgICAgICAgaWYgKGhhc0VzY2FwZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMTZdLCAncicp
ICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDIsICJ3ZWJraXQtc2VsZWN0byIpKQog
ICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBXRUJLSVRfU0VMRUNUT1JfU1lNOworICAgICAgICAg
ICAgZWxzZSBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3QnKSAmJiBp
c0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXZpZXdwb3IiKSkKKyAgICAg
ICAgICAgICAgICBtX3Rva2VuID0gV0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNOwogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIGNhc2UgMTg6CkBAIC05ODIyLDYgKzk5NTIsMjEgQEAgdm9p
ZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91bmQsIGJvb2wg
aXNQcm9wZXJ0eVBhcnNlZCkKICAgICByZXNldFByb3BlcnR5UmFuZ2UoKTsKIH0KIAorU3R5bGVS
dWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVWaWV3cG9ydFJ1bGUoKQoreworICAgIG1fYWxsb3dJ
bXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnMgPSBmYWxzZTsKKworICAg
IFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gcnVsZSA9IFN0eWxlUnVsZVZpZXdwb3J0OjpjcmVh
dGUoKTsKKyAgICBydWxlLT5zZXRQcm9wZXJ0aWVzKGNyZWF0ZVN0eWxlUHJvcGVydHlTZXQoKSk7
CisKKyAgICBjbGVhclByb3BlcnRpZXMoKTsKKworICAgIFN0eWxlUnVsZVZpZXdwb3J0KiByZXN1
bHQgPSBydWxlLmdldCgpOworICAgIG1fcGFyc2VkUnVsZXMuYXBwZW5kKHJ1bGUucmVsZWFzZSgp
KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNzc1By
b3BlcnR5SUQoY29uc3QgVUNoYXIqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQogewog
ICAgIGlmICghbGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDE0YTk4ZTEuLjRiYTNj
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTM0Myw2ICszNDMsMTAgQEAgcHVibGljOgog
ICAgIGludCBsZXgodm9pZCogeXlsdmFsKTsKICAgICBpbnQgdG9rZW4oKSB7IHJldHVybiBtX3Rv
a2VuOyB9CiAKKyAgICB2b2lkIG1hcmtWaWV3cG9ydFN0YXJ0KCkgeyBtX2luVmlld3BvcnRSdWxl
ID0gdHJ1ZTsgfQorICAgIHZvaWQgbWFya1ZpZXdwb3J0RW5kKCkgeyBtX2luVmlld3BvcnRSdWxl
ID0gZmFsc2U7IH0KKyAgICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVWaWV3cG9ydFJ1bGUoKTsKKwog
ICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNW
YWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAKQEAgLTM3OCw2
ICszODIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0dXBQYXJzZXIoY29uc3QgY2hhciogcHJl
Zml4LCBjb25zdCBTdHJpbmcmLCBjb25zdCBjaGFyKiBzdWZmaXgpOwogCiAgICAgYm9vbCBpblNo
b3J0aGFuZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5QYXJzZVNob3J0aGFuZDsgfQorICAgIGJvb2wg
aW5WaWV3cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX2luVmlld3BvcnRSdWxlOyB9CiAKICAg
ICB2b2lkIGNoZWNrRm9yT3JwaGFuZWRVbml0cygpOwogCkBAIC00MDMsNiArNDA4LDkgQEAgcHJp
dmF0ZToKICAgICBib29sIHBhcnNlRm9udEZhY2VTcmNVUkkoQ1NTVmFsdWVMaXN0Kik7CiAgICAg
Ym9vbCBwYXJzZUZvbnRGYWNlU3JjTG9jYWwoQ1NTVmFsdWVMaXN0Kik7CiAKKyAgICBib29sIHBh
cnNlVmlld3BvcnRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQp
OworICAgIGJvb2wgcGFyc2VWaWV3cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHByb3BJZCwg
Q1NTUHJvcGVydHlJRCBmaXJzdCwgQ1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wgaW1wb3J0YW50
KTsKKwogICAgIGJvb2wgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmKTsKIAogICAgIGVudW0gUGFy
c2luZ01vZGUgewpAQCAtNDIyLDYgKzQzMCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2FsbG93
SW1wb3J0UnVsZXM7CiAgICAgYm9vbCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwogCisg
ICAgYm9vbCBtX2luVmlld3BvcnRSdWxlOworCiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPiA+IG1fcGFyc2VkUnVsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZUtleWZyYW1lPiA+
IG1fcGFyc2VkS2V5ZnJhbWVzOwogICAgIFZlY3RvcjxSZWZQdHI8TWVkaWFRdWVyeVNldD4gPiBt
X3BhcnNlZE1lZGlhUXVlcnlTZXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXgg
MDE1MTlmMy4uYzQwNjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC02NjQs
NiArNjY0LDE2IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoQ1NTUHJv
cGVydHlJRCBwcm9wZXJ0eUlEKQogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0RGFzaGJvYXJkUmVnaW9uOgogI2VuZGlmCisgICAgY2FzZSBD
U1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU9yaWVudGF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0aW9u
OgorICAgIGNhc2UgQ1NTUHJvcGVydHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5Vmll
d3BvcnRNYXhIZWlnaHQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlWaWV3cG9ydE1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIENTU1Byb3BlcnR5SW52YWxpZDoKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCmluZGV4IDFhZjM5MjUuLjMxNjY3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCkBAIC0zOTIsNiArMzkyLDE2IEBAIHotaW5kZXgKIC13ZWJraXQtd3JhcC10aHJv
dWdoCiAtd2Via2l0LXdyYXAKICNlbmRpZgorbWF4LXpvb20KK21pbi16b29tCitvcmllbnRhdGlv
bgorcmVzb2x1dGlvbgordXNlci16b29tCit2aWV3cG9ydC1tYXgtaGVpZ2h0Cit2aWV3cG9ydC1t
YXgtd2lkdGgKK3ZpZXdwb3J0LW1pbi1oZWlnaHQKK3ZpZXdwb3J0LW1pbi13aWR0aAordmlld3Bv
cnQtem9vbQogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RPVUNI
X0VWRU5UUwogLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmNwcAppbmRleCBjMzEwNWEwLi5jYjcwOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBA
IC0zMCwxMiArMzAsMTMgQEAKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJD
U1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVW5rbm93blJ1bGUuaCIKLSNpbmNsdWRlICJX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
LmgiCi0jaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgogI2luY2x1ZGUgIk5vdEltcGxl
bWVudGVkLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldENv
bnRlbnRzLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCisjaW5jbHVkZSAi
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgorI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUu
aCIKKyNpbmNsdWRlICJXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC04MCw2ICs4MSw4IEBAIFN0cmluZyBDU1NSdWxlOjpjc3NUZXh0KCkgY29uc3QK
ICAgICBjYXNlIFdFQktJVF9SRUdJT05fUlVMRToKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOwogI2VuZGlmCisg
ICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CiAgICAgfQog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTEyMCw2
ICsxMjMsOSBAQCB2b2lkIENTU1J1bGU6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47CiAjZW5k
aWYKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9SVF9SVUxFOgorICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC0xNjAsNiArMTY2LDkgQEAgdm9p
ZCBDU1NSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKQogICAgICAgICBzdGF0aWNf
Y2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4odGhpcyktPnJlYXR0YWNoKHN0YXRpY19jYXN0PFN0
eWxlUnVsZVJlZ2lvbio+KHJ1bGUpKTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCisgICAgY2Fz
ZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTVmll
d3BvcnRSdWxlKj4odGhpcyktPnJlYXR0YWNoKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0
Kj4ocnVsZSkpOworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggZTM4ZTE2MS4uYWY1MDEwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIFdFQktJVF9L
RVlGUkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUsCisgICAgICAgIFdF
QktJVF9WSUVXUE9SVF9SVUxFID0gMTUsCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICAg
ICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNgogI2VuZGlmCkBAIC03Miw2ICs3Myw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGlzUGFnZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUEFHRV9S
VUxFOyB9CiAgICAgYm9vbCBpc1N0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
VFlMRV9SVUxFOyB9CiAgICAgYm9vbCBpc0ltcG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gSU1QT1JUX1JVTEU7IH0KKyAgICBib29sIGlzVmlld3BvcnRSdWxlKCkgY29uc3QgeyBy
ZXR1cm4gdHlwZSgpID09IFdFQktJVF9WSUVXUE9SVF9SVUxFOyB9CiAKICNpZiBFTkFCTEUoQ1NT
X1JFR0lPTlMpCiAgICAgYm9vbCBpc1JlZ2lvblJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gV0VCS0lUX1JFR0lPTl9SVUxFOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCmluZGV4IDhkYzI3YzguLjI1Y2JkNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCkBAIC03NzIsNiArNzcyLDI3IEBAIGRvY3VtZW50CiByZXNldAogCiAvLworLy8g
Q1NTX1BST1BfVVNFUl9aT09NCisvLworLy8gZml4ZWQKK3pvb20KKworLy8KKy8vIENTU19QUk9Q
X1ZJRVdQT1JUX01JTl9XSURUSAorLy8gQ1NTX1BST1BfVklFV1BPUlRfTUFYX1dJRFRICisvLyBD
U1NfUFJPUF9WSUVXUE9SVF9NSU5fSEVJR0hUCisvLyBDU1NfUFJPUF9WSUVXUE9SVF9NQVhfSEVJ
R0hUCisvLworLy8gYXV0bworZGV2aWNlLXdpZHRoCitkZXZpY2UtaGVpZ2h0CisKKy8vIENTU19Q
Uk9QX1JFU09MVVRJT04KKy8vCisvLyBhdXRvCitkZXZpY2UKKworLy8KIC8vIENTU19QUk9QX1BP
SU5URVJfRVZFTlRTCiAvLwogdmlzaWJsZVBhaW50ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCA1NjMxM2ZlLi45MjQzODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCkBAIC0xMTcsNiArMTE3LDcgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oIgogI2luY2x1ZGUgIlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCisjaW5jbHVkZSAiVmlld3BvcnRTdHlsZVJlc29s
dmVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUuaCIK
QEAgLTM2OSw2ICszNzAsNyBAQCBTdHlsZVJlc29sdmVyOjpTdHlsZVJlc29sdmVyKERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX21hdGNo
QXV0aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX3Nh
bWVPcmlnaW5Pbmx5KGZhbHNlKQogICAgICwgbV9mb250U2VsZWN0b3IoQ1NTRm9udFNlbGVjdG9y
OjpjcmVhdGUoZG9jdW1lbnQpKQorICAgICwgbV92aWV3cG9ydFN0eWxlUmVzb2x2ZXIoVmlld3Bv
cnRTdHlsZVJlc29sdmVyOjpjcmVhdGUoZG9jdW1lbnQpKQogICAgICwgbV9hcHBseVByb3BlcnR5
VG9SZWd1bGFyU3R5bGUodHJ1ZSkKICAgICAsIG1fYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtT
dHlsZShmYWxzZSkKICAgICAsIG1fc3R5bGVCdWlsZGVyKFN0eWxlQnVpbGRlcjo6c2hhcmVkU3R5
bGVCdWlsZGVyKCkpCkBAIC02NjgsNiArNjcwLDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphZGRL
ZXlmcmFtZVN0eWxlKFBhc3NSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBydWxlKQogU3R5bGVS
ZXNvbHZlcjo6flN0eWxlUmVzb2x2ZXIoKQogewogICAgIG1fZm9udFNlbGVjdG9yLT5jbGVhckRv
Y3VtZW50KCk7CisgICAgbV92aWV3cG9ydFN0eWxlUmVzb2x2ZXItPmNsZWFyRG9jdW1lbnQoKTsK
IH0KIAogdm9pZCBTdHlsZVJlc29sdmVyOjpzd2VlcE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoKQpA
QCAtMjY4OCw2ICsyNjkxLDEwIEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5
bGVTaGVldENvbnRlbnRzKiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoc2NvcGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZVNlbGVjdG9yLT5hZGRLZXlmcmFt
ZVN0eWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KGNoaWxkUnVsZSkpOworICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkUnVsZS0+aXNWaWV3cG9ydFJ1bGUoKSAm
JiAhc3R5bGVTZWxlY3Rvci0+YWZmZWN0ZWRCeVZpZXdwb3J0Q2hhbmdlKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChzY29wZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlU2VsZWN0b3ItPnZpZXdwb3J0
U3R5bGVSZXNvbHZlcigpLT5hZGRWaWV3cG9ydFJ1bGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmll
d3BvcnQqPihjaGlsZFJ1bGUpKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0gLy8gZm9yIHJ1bGVzCiAgICAgICAgICAgICB9IC8vIGlmIHJ1bGVzCkBAIC0yNzA0LDE1
ICsyNzExLDE4IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENv
bnRlbnRzKiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiAgICAgICAgICAgICBpZiAoc2Nv
cGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBzdHlsZVNlbGVjdG9y
LT5hZGRLZXlmcmFtZVN0eWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHJ1bGUp
KTsKLSAgICAgICAgfQogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLSAgICAgICAgZWxzZSBpZiAo
cnVsZS0+aXNSZWdpb25SdWxlKCkgJiYgc3R5bGVTZWxlY3RvcikgeworICAgICAgICB9IGVsc2Ug
aWYgKHJ1bGUtPmlzUmVnaW9uUnVsZSgpICYmIHN0eWxlU2VsZWN0b3IpIHsKICAgICAgICAgICAg
IC8vIEZJWE1FIChCVUcgNzI0NzIpOiBXZSBkb24ndCBhZGQgQC13ZWJraXQtcmVnaW9uIHJ1bGVz
IG9mIHNjb3BlZCBzdHlsZSBzaGVldHMgZm9yIHRoZSBtb21lbnQuCiAgICAgICAgICAgICBpZiAo
c2NvcGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBhZGRSZWdpb25S
dWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVJlZ2lvbio+KHJ1bGUpLCBoYXNEb2N1bWVudFNlY3Vy
aXR5T3JpZ2luKTsKLSAgICAgICAgfQogI2VuZGlmCisgICAgICAgIH0gZWxzZSBpZiAocnVsZS0+
aXNWaWV3cG9ydFJ1bGUoKSkgeworICAgICAgICAgICAgaWYgKHNjb3BlKQorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgc3R5bGVTZWxlY3Rvci0+dmlld3BvcnRTdHlsZVJl
c29sdmVyKCktPmFkZFZpZXdwb3J0UnVsZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVWaWV3cG9ydCo+
KHJ1bGUpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAobV9hdXRvU2hyaW5rVG9GaXRFbmFi
bGVkKQogICAgICAgICBzaHJpbmtUb0ZpdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgK
aW5kZXggYjY1M2U4NC4uYWUzOWZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBA
IC04NSw2ICs4NSw3IEBAIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBTdHlsZVNoZWV0Q29udGVu
dHM7CiBjbGFzcyBTdHlsZVNoZWV0TGlzdDsKIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CitjbGFzcyBW
aWV3cG9ydFN0eWxlUmVzb2x2ZXI7CiBjbGFzcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTsKIGNsYXNz
IFdlYktpdENTU1NoYWRlclZhbHVlOwogY2xhc3MgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTsK
QEAgLTIyOCw2ICsyMjksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNTZWxlY3RvckZvckF0dHJp
YnV0ZShjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKIAogICAgIENTU0ZvbnRTZWxlY3Rvciog
Zm9udFNlbGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9mb250U2VsZWN0b3IuZ2V0KCk7IH0KKyAg
ICBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIqIHZpZXdwb3J0U3R5bGVSZXNvbHZlcigpIGNvbnN0IHsg
cmV0dXJuIG1fdmlld3BvcnRTdHlsZVJlc29sdmVyLmdldCgpOyB9CiAKICAgICB2b2lkIGFkZFZp
ZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwKiwgYm9v
bCByZXN1bHQpOwogCkBAIC00ODgsNiArNDkwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2Ft
ZU9yaWdpbk9ubHk7CiAKICAgICBSZWZQdHI8Q1NTRm9udFNlbGVjdG9yPiBtX2ZvbnRTZWxlY3Rv
cjsKKyAgICBSZWZQdHI8Vmlld3BvcnRTdHlsZVJlc29sdmVyPiBtX3ZpZXdwb3J0U3R5bGVSZXNv
bHZlcjsKICAgICBWZWN0b3I8T3duUHRyPE1lZGlhUXVlcnlSZXN1bHQ+ID4gbV92aWV3cG9ydERl
cGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwogCiAgICAgYm9vbCBtX2FwcGx5UHJvcGVydHlUb1Jl
Z3VsYXJTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggMjBiMjkwNS4uYjNiM2I4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNS
dWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgorI2luY2x1ZGUgIldlYktp
dENTU1ZpZXdwb3J0UnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc3LDYgKzc4
LDkgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICBjYXNlIEtleWZyYW1lczoK
ICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHRoaXMpOwog
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgZGVsZXRlIHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBj
YXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNhc2UgS2V5ZnJhbWU6CkBAIC0x
MTAsNiArMTE0LDggQEAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNlOjpj
b3B5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlzKS0+
Y29weSgpOworICAgIGNhc2UgVmlld3BvcnQ6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxj
b25zdCBTdHlsZVJ1bGVWaWV3cG9ydCo+KHRoaXMpLT5jb3B5KCk7CiAgICAgY2FzZSBVbmtub3du
OgogICAgIGNhc2UgQ2hhcnNldDoKICAgICBjYXNlIEtleWZyYW1lOgpAQCAtMTUxLDYgKzE1Nyw5
IEBAIFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVy
KENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAgICAg
IHJ1bGUgPSBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVS
dWxlS2V5ZnJhbWVzKj4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBWaWV3cG9ydDoKKyAgICAgICAgcnVsZSA9IFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6Y3Jl
YXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4oc2VsZiksIHBhcmVudFNoZWV0KTsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hhcnNldDoKICAg
ICBjYXNlIEtleWZyYW1lOgpAQCAtMzAxLDQgKzMxMCwzMSBAQCBTdHlsZVJ1bGVSZWdpb246OlN0
eWxlUnVsZVJlZ2lvbihjb25zdCBTdHlsZVJ1bGVSZWdpb24mIG8pCiB7CiB9CiAKK1N0eWxlUnVs
ZVZpZXdwb3J0OjpTdHlsZVJ1bGVWaWV3cG9ydCgpCisgICAgOiBTdHlsZVJ1bGVCYXNlKFZpZXdw
b3J0LCAwKQoreworfQorCitTdHlsZVJ1bGVWaWV3cG9ydDo6U3R5bGVSdWxlVmlld3BvcnQoY29u
c3QgU3R5bGVSdWxlVmlld3BvcnQmIG8pCisgICAgOiBTdHlsZVJ1bGVCYXNlKG8pCisgICAgLCBt
X3Byb3BlcnRpZXMoby5tX3Byb3BlcnRpZXMtPmNvcHkoKSkKK3sKK30KKworU3R5bGVSdWxlVmll
d3BvcnQ6On5TdHlsZVJ1bGVWaWV3cG9ydCgpCit7Cit9CisKK1N0eWxlUHJvcGVydHlTZXQqIFN0
eWxlUnVsZVZpZXdwb3J0OjptdXRhYmxlUHJvcGVydGllcygpCit7CisgICAgaWYgKCFtX3Byb3Bl
cnRpZXMtPmlzTXV0YWJsZSgpKQorICAgICAgICBtX3Byb3BlcnRpZXMgPSBtX3Byb3BlcnRpZXMt
PmNvcHkoKTsKKyAgICByZXR1cm4gbV9wcm9wZXJ0aWVzLmdldCgpOworfQorCit2b2lkIFN0eWxl
UnVsZVZpZXdwb3J0OjpzZXRQcm9wZXJ0aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4g
cHJvcGVydGllcykKK3sKKyAgICBtX3Byb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
dWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggN2ZjMjBhMy4uZThk
NDRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFBhZ2UsCiAgICAgICAgIEtleWZyYW1lcywKICAgICAgICAgS2V5ZnJhbWUsIC8vIE5v
dCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHlsZUtleWZyYW1lIG9iamVj
dHMuCisgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAgICAgICAgIFJlZ2lvbiA9IDE2CiAgICAgfTsK
ICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUp
OyB9CkBAIC01Niw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUGFnZVJ1bGUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gUGFnZTsgfQogICAgIGJvb2wgaXNTdHlsZVJ1bGUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGU7IH0KICAgICBib29sIGlzUmVnaW9uUnVsZSgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBSZWdpb247IH0KKyAgICBib29sIGlzVmlld3BvcnRSdWxl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFZpZXdwb3J0OyB9CiAgICAgYm9vbCBpc0ltcG9y
dFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAKICAgICBQYXNzUmVm
UHRyPFN0eWxlUnVsZUJhc2U+IGNvcHkoKSBjb25zdDsKQEAgLTIwOCw2ICsyMTAsMjYgQEAgcHJp
dmF0ZToKICAgICBDU1NTZWxlY3Rvckxpc3QgbV9zZWxlY3Rvckxpc3Q7CiB9OwogCitjbGFzcyBT
dHlsZVJ1bGVWaWV3cG9ydCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gY3JlYXRlKCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFN0eWxlUnVsZVZpZXdwb3J0KTsgfQorCisgICAgflN0eWxlUnVsZVZpZXdwb3J0
KCk7CisKKyAgICBjb25zdCBTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0aWVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm9wZXJ0aWVzLmdldCgpOyB9CisgICAgU3R5bGVQcm9wZXJ0eVNldCogbXV0YWJs
ZVByb3BlcnRpZXMoKTsKKworICAgIHZvaWQgc2V0UHJvcGVydGllcyhQYXNzUmVmUHRyPFN0eWxl
UHJvcGVydHlTZXQ+KTsKKworICAgIFBhc3NSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNvcHko
KSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVSdWxlVmlld3BvcnQoKnRoaXMpKTsg
fQorCitwcml2YXRlOgorICAgIFN0eWxlUnVsZVZpZXdwb3J0KCk7CisgICAgU3R5bGVSdWxlVmll
d3BvcnQoY29uc3QgU3R5bGVSdWxlVmlld3BvcnQmKTsKKworICAgIFJlZlB0cjxTdHlsZVByb3Bl
cnR5U2V0PiBtX3Byb3BlcnRpZXM7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBTdHlsZVJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdw
b3J0U3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvVmlld3BvcnRTdHlsZVJl
c29sdmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTZkOTEzCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZl
ci5jcHAKQEAgLTAsMCArMSwxNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwg
Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhP
TERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgor
ICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCIKKworI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVkZSAi
U3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6OlZpZXdwb3J0U3R5bGVSZXNvbHZl
cihEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQoreworICAg
IEFTU0VSVChtX2RvY3VtZW50KTsKKworICAgIG1faW5pdGlhbFZpZXdwb3J0V2lkdGggPSBtX2Rv
Y3VtZW50LT5yZW5kZXJWaWV3KCktPnZpZXdwb3J0U2l6ZSgpLndpZHRoKCk7CisgICAgbV9pbml0
aWFsVmlld3BvcnRIZWlnaHQgPSBtX2RvY3VtZW50LT5yZW5kZXJWaWV3KCktPnZpZXdwb3J0U2l6
ZSgpLmhlaWdodCgpOworfQorCitWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6On5WaWV3cG9ydFN0eWxl
UmVzb2x2ZXIoKQoreworfQorCit2b2lkIFZpZXdwb3J0U3R5bGVSZXNvbHZlcjo6YWRkVmlld3Bv
cnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1bGUpCit7CisgICAgU3R5bGVQcm9w
ZXJ0eVNldCogcHJvcGVydHlTZXQgPSB2aWV3cG9ydFJ1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCk7
CisgICAgaWYgKCFwcm9wZXJ0eVNldCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3By
b3BlcnR5U2V0KSB7CisgICAgICAgIG1fcHJvcGVydHlTZXQgPSBwcm9wZXJ0eVNldC0+Y29weSgp
OworICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3Ig
KHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHByb3BlcnR5U2V0LT5wcm9wZXJ0eUNvdW50KCk7IGkr
KykKKyAgICAgICAgbV9wcm9wZXJ0eVNldC0+YWRkUGFyc2VkUHJvcGVydHkocHJvcGVydHlTZXQt
PnByb3BlcnR5QXQoaSkpOworCisgICAgcmVzb2x2ZSgpOworfQorCit2b2lkIFZpZXdwb3J0U3R5
bGVSZXNvbHZlcjo6Y2xlYXJEb2N1bWVudCgpCit7CisgICAgbV9kb2N1bWVudCA9IDA7Cit9CisK
K3ZvaWQgVmlld3BvcnRTdHlsZVJlc29sdmVyOjpyZXNvbHZlKCkKK3sKKyAgICBpZiAoIW1fZG9j
dW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFZpZXdwb3J0QXJndW1lbnRzIGFyZ3VtZW50
cyhWaWV3cG9ydEFyZ3VtZW50czo6Q1NTRGV2aWNlQWRhcHRhdGlvbik7CisKKyAgICBhcmd1bWVu
dHMudXNlclNjYWxhYmxlID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5VXNl
clpvb20pOworICAgIGFyZ3VtZW50cy5pbml0aWFsU2NhbGUgPSBnZXRWaWV3cG9ydEFyZ3VtZW50
VmFsdWUoQ1NTUHJvcGVydHlWaWV3cG9ydFpvb20pOworICAgIGFyZ3VtZW50cy5taW5pbXVtU2Nh
bGUgPSBnZXRWaWV3cG9ydEFyZ3VtZW50VmFsdWUoQ1NTUHJvcGVydHlNaW5ab29tKTsKKyAgICBh
cmd1bWVudHMubWF4aW11bVNjYWxlID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3Bl
cnR5TWF4Wm9vbSk7CisgICAgYXJndW1lbnRzLm1pbldpZHRoID0gZ2V0Vmlld3BvcnRBcmd1bWVu
dFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNaW5XaWR0aCk7CisgICAgYXJndW1lbnRzLm1heFdp
ZHRoID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNYXhXaWR0
aCk7CisgICAgYXJndW1lbnRzLm1pbkhlaWdodCA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShD
U1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0KTsKKyAgICBhcmd1bWVudHMubWF4SGVpZ2h0ID0g
Z2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWlnaHQpOwor
ICAgIGFyZ3VtZW50cy5vcmllbnRhdGlvbiA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShDU1NQ
cm9wZXJ0eU9yaWVudGF0aW9uKTsKKworICAgIG1fZG9jdW1lbnQtPnNldFZpZXdwb3J0QXJndW1l
bnRzKGFyZ3VtZW50cyk7CisgICAgbV9kb2N1bWVudC0+dXBkYXRlVmlld3BvcnRBcmd1bWVudHMo
KTsKK30KKworZmxvYXQgVmlld3BvcnRTdHlsZVJlc29sdmVyOjpnZXRWaWV3cG9ydEFyZ3VtZW50
VmFsdWUoQ1NTUHJvcGVydHlJRCBpZCkgY29uc3QKK3sKKyAgICBmbG9hdCBkZWZhdWx0VmFsdWUg
PSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvOworCisgICAgLy8gVXNlclpvb20gZGVmYXVs
dCB2YWx1ZSBpcyBDU1NWYWx1ZVpvb20sIHdoaWNoIG1hcHMgdG8gdHJ1ZSwgbWVhbmluZyB0aGF0
CisgICAgLy8geWVzLCBpdCBpcyB1c2VyIHNjYWxhYmxlLiBXaGVuIHRoZSB2YWx1ZSBpcyBzZXQg
dG8gQ1NTVmFsdWVGaXhlZCwgd2UKKyAgICAvLyByZXR1cm4gZmFsc2UuCisgICAgaWYgKGlkID09
IENTU1Byb3BlcnR5VXNlclpvb20pCisgICAgICAgIGRlZmF1bHRWYWx1ZSA9IDE7CisKKyAgICBS
ZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gIG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5Q1NTVmFs
dWUoaWQpOworICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisg
ICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CisKKyAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJp
bWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgp
KTsKKworICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNOdW1iZXIoKSB8fCBwcmltaXRpdmVWYWx1
ZS0+aXNQeCgpKQorICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUo
KTsKKworICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNQZXJjZW50YWdlKCkpIHsKKyAgICAgICAg
ZmxvYXQgcGVyY2VudFZhbHVlID0gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUoKSAvIDEw
MC4wZjsKKyAgICAgICAgc3dpdGNoIChpZCkgeworICAgICAgICBjYXNlIENTU1Byb3BlcnR5Vmll
d3BvcnRNYXhIZWlnaHQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbkhlaWdo
dDoKKyAgICAgICAgICAgIHJldHVybiBwZXJjZW50VmFsdWUgKiBtX2luaXRpYWxWaWV3cG9ydEhl
aWdodDsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOgorICAgICAgICAgICAgcmV0dXJuIHBl
cmNlbnRWYWx1ZSAqIG1faW5pdGlhbFZpZXdwb3J0V2lkdGg7CisgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlNYXhab29tOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWluWm9vbToKKyAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbToKKyAgICAgICAgICAgIHJldHVybiBwZXJjZW50
VmFsdWU7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgc3dpdGNoIChw
cmltaXRpdmVWYWx1ZS0+Z2V0SWRlbnQoKSkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAg
ICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOworICAgIGNhc2UgQ1NTVmFsdWVEZXZpY2VIZWlnaHQ6
CisgICAgICAgIHJldHVybiBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VIZWlnaHQ7Cisg
ICAgY2FzZSBDU1NWYWx1ZURldmljZVdpZHRoOgorICAgICAgICByZXR1cm4gVmlld3BvcnRBcmd1
bWVudHM6OlZhbHVlRGV2aWNlV2lkdGg7CisgICAgY2FzZSBDU1NWYWx1ZUxhbmRzY2FwZToKKyAg
ICAgICAgIHJldHVybiBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVMYW5kc2NhcGU7CisgICAgY2Fz
ZSBDU1NWYWx1ZVBvcnRyYWl0OgorICAgICAgICByZXR1cm4gVmlld3BvcnRBcmd1bWVudHM6OlZh
bHVlUG9ydHJhaXQ7CisgICAgY2FzZSBDU1NWYWx1ZVpvb206CisgICAgICAgIHJldHVybiBkZWZh
dWx0VmFsdWU7CisgICAgY2FzZSBDU1NWYWx1ZUZpeGVkOgorICAgICAgICByZXR1cm4gMDsKKyAg
ICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOworICAgIH0KK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNDBlMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmgKQEAgLTAsMCArMSw3MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAg
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICog
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXJfaAorI2Rl
ZmluZSBWaWV3cG9ydFN0eWxlUmVzb2x2ZXJfaAorCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1l
cy5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1ByaW1pdGl2ZVZhbHVlOworY2xh
c3MgRG9jdW1lbnQ7CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9ydDsKK2NsYXNzIFN0eWxlUHJvcGVy
dHlTZXQ7CisKK2NsYXNzIFZpZXdwb3J0U3R5bGVSZXNvbHZlciA6IHB1YmxpYyBSZWZDb3VudGVk
PFZpZXdwb3J0U3R5bGVSZXNvbHZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFZpZXdwb3J0U3R5bGVSZXNvbHZlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlld3BvcnRTdHlsZVJlc29sdmVyKGRvY3Vt
ZW50KSk7CisgICAgfQorICAgIHZpcnR1YWwgflZpZXdwb3J0U3R5bGVSZXNvbHZlcigpOworCisg
ICAgdm9pZCBhZGRWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqKTsKKworICAgIHZvaWQg
Y2xlYXJEb2N1bWVudCgpOworCitwcml2YXRlOgorICAgIFZpZXdwb3J0U3R5bGVSZXNvbHZlcihE
b2N1bWVudCopOworCisgICAgZmxvYXQgZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3Bl
cnR5SUQpIGNvbnN0OworCisgICAgdm9pZCByZXNvbHZlKCk7CisKKyAgICBEb2N1bWVudCogbV9k
b2N1bWVudDsKKyAgICBSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gbV9wcm9wZXJ0eVNldDsKKwor
ICAgIHVuc2lnbmVkIGludCBtX2luaXRpYWxWaWV3cG9ydFdpZHRoOworICAgIHVuc2lnbmVkIGlu
dCBtX2luaXRpYWxWaWV3cG9ydEhlaWdodDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIFZpZXdwb3J0U3R5bGVSZXNvbHZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmNhMzY3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmNwcApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTVmlld3BvcnRS
dWxlLmgiCisKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKKyNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpXZWJLaXRDU1NWaWV3
cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqIHZpZXdwb3J0UnVsZSwgQ1NTU3R5bGVTaGVldCog
c2hlZXQpCisgICAgOiBDU1NSdWxlKHNoZWV0LCBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVM
RSkKKyAgICAsIG1fdmlld3BvcnRSdWxlKHZpZXdwb3J0UnVsZSkKK3sKK30KKworV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlOjp+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCkKK3sKKyAgICBpZiAobV9wcm9w
ZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPmNs
ZWFyUGFyZW50UnVsZSgpOworfQorCitDU1NTdHlsZURlY2xhcmF0aW9uKiBXZWJLaXRDU1NWaWV3
cG9ydFJ1bGU6OnN0eWxlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcHJvcGVydGllc0NTU09NV3Jh
cHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyID0gU3R5bGVSdWxlQ1NTU3R5
bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fdmlld3BvcnRSdWxlLT5tdXRhYmxlUHJvcGVydGllcygp
LCBjb25zdF9jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpKTsKKworICAgIHJldHVy
biBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIuZ2V0KCk7Cit9CisKK1N0cmluZyBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZyByZXN1bHQgPSAiQC13
ZWJraXQtdmlld3BvcnQgeyAiOworICAgIHJlc3VsdCArPSBtX3ZpZXdwb3J0UnVsZS0+cHJvcGVy
dGllcygpLT5hc1RleHQoKTsKKyAgICByZXN1bHQgKz0gIn0iOworCisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwordm9pZCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZVZp
ZXdwb3J0KiBydWxlKQoreworICAgIEFTU0VSVChydWxlKTsKKyAgICBtX3ZpZXdwb3J0UnVsZSA9
IHJ1bGU7CisKKyAgICBpZiAobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBtX3By
b3BlcnRpZXNDU1NPTVdyYXBwZXItPnJlYXR0YWNoKG1fdmlld3BvcnRSdWxlLT5tdXRhYmxlUHJv
cGVydGllcygpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmQ1ZWRkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGVfaAorI2RlZmluZSBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGVfaAorCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9ydDsK
K2NsYXNzIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CisKK2NsYXNzIFdlYktpdENTU1Zp
ZXdwb3J0UnVsZTogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFdlYktpdENTU1ZpZXdwb3J0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3
cG9ydFJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUodmlld3BvcnRSdWxlLCBzaGVldCkpOwor
ICAgIH0KKyAgICB+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCk7CisKKyAgICBDU1NTdHlsZURlY2xh
cmF0aW9uKiBzdHlsZSgpIGNvbnN0OworCisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKwor
ICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlVmlld3BvcnQqKTsKKworcHJpdmF0ZToKKyAgICBX
ZWJLaXRDU1NWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqLCBDU1NTdHlsZVNoZWV0Kik7
CisKKyAgICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IG1fdmlld3BvcnRSdWxlOworCisgICAg
bXV0YWJsZSBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0aWVz
Q1NTT01XcmFwcGVyOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
ZWNjZjhhNy4uMmQyYjJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTI5NSw2ICsyOTUsNyBA
QCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR2aXNp
YmlsaXR5Y2hhbmdlKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhj
b25zdCBWaWV3cG9ydEFyZ3VtZW50cyAmdmlld3BvcnRBcmd1bWVudHMpIHsgbV92aWV3cG9ydEFy
Z3VtZW50cyA9IHZpZXdwb3J0QXJndW1lbnRzOyB9CiAgICAgVmlld3BvcnRBcmd1bWVudHMgdmll
d3BvcnRBcmd1bWVudHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QXJndW1lbnRzOyB9CiAj
aWZuZGVmIE5ERUJVRwogICAgIGJvb2wgZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNDaGFu
Z2VkKCkgY29uc3QgeyByZXR1cm4gbV9kaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0NoYW5n
ZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IDc2YzRh
ZWYuLmM1YWIwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApA
QCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywg
MjAwOCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93
d3cudG9yY2htb2JpbGUuY29tLykKICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJ
bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtNDEsNiArNDIsMzIgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitzdGF0aWMgZmxvYXQgbWF4SWdub3JlQXV0byhjb25zdCBmbG9hdCB2YWx1ZTEs
IGNvbnN0IGZsb2F0IHZhbHVlMikKK3sKKyAgICBBU1NFUlQodmFsdWUxICE9IFZpZXdwb3J0QXJn
dW1lbnRzOjpWYWx1ZUF1dG8gfHwgdmFsdWUyICE9IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZUF1
dG8pOworCisgICAgaWYgKHZhbHVlMSA9PSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvKQor
ICAgICAgICByZXR1cm4gdmFsdWUyOworCisgICAgaWYgKHZhbHVlMiA9PSBWaWV3cG9ydEFyZ3Vt
ZW50czo6VmFsdWVBdXRvKQorICAgICAgICByZXR1cm4gdmFsdWUxOworCisgICAgcmV0dXJuIG1h
eCh2YWx1ZTEsIHZhbHVlMik7Cit9CisKK3N0YXRpYyBmbG9hdCBtaW5JZ25vcmVBdXRvKGNvbnN0
IGZsb2F0IHZhbHVlMSwgY29uc3QgZmxvYXQgdmFsdWUyKQoreworICAgIEFTU0VSVCh2YWx1ZTEg
IT0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0byB8fCB2YWx1ZTIgIT0gVmlld3BvcnRBcmd1
bWVudHM6OlZhbHVlQXV0byk7CisKKyAgICBpZiAodmFsdWUxID09IFZpZXdwb3J0QXJndW1lbnRz
OjpWYWx1ZUF1dG8pCisgICAgICAgIHJldHVybiB2YWx1ZTI7CisKKyAgICBpZiAodmFsdWUyID09
IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZUF1dG8pCisgICAgICAgIHJldHVybiB2YWx1ZTE7CisK
KyAgICByZXR1cm4gbWluKHZhbHVlMSwgdmFsdWUyKTsKK30KKwogVmlld3BvcnRBdHRyaWJ1dGVz
IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRl
c2t0b3BXaWR0aCwgaW50IGRldmljZVdpZHRoLCBpbnQgZGV2aWNlSGVpZ2h0LCBmbG9hdCBkZXZp
Y2VQaXhlbFJhdGlvLCBJbnRTaXplIHZpc2libGVWaWV3cG9ydCkKIHsKICAgICBWaWV3cG9ydEF0
dHJpYnV0ZXMgcmVzdWx0OwpAQCAtODQsNiArMTExLDQ3IEBAIFZpZXdwb3J0QXR0cmlidXRlcyBj
b21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBkZXNr
dG9wCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGlmIChhcmdzLnR5cGUgPT0gVmlld3Bv
cnRBcmd1bWVudHM6OkNTU0RldmljZUFkYXB0YXRpb24pIHsKKyAgICAgICAgc3dpdGNoIChpbnQo
YXJncy5taW5XaWR0aCkpIHsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVE
ZXZpY2VXaWR0aDoKKyAgICAgICAgICAgIGFyZ3MubWluV2lkdGggPSBkZXZpY2VXaWR0aDsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURl
dmljZUhlaWdodDoKKyAgICAgICAgICAgIGFyZ3MubWluV2lkdGggPSBkZXZpY2VIZWlnaHQ7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAoaW50KGFyZ3Mu
bWF4V2lkdGgpKSB7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNl
V2lkdGg6CisgICAgICAgICAgICBhcmdzLm1heFdpZHRoID0gZGV2aWNlV2lkdGg7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VI
ZWlnaHQ6CisgICAgICAgICAgICBhcmdzLm1heFdpZHRoID0gZGV2aWNlSGVpZ2h0OworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKGludChhcmdzLm1pbkhl
aWdodCkpIHsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VXaWR0
aDoKKyAgICAgICAgICAgIGFyZ3MubWluSGVpZ2h0ID0gZGV2aWNlV2lkdGg7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VIZWln
aHQ6CisgICAgICAgICAgICBhcmdzLm1pbkhlaWdodCA9IGRldmljZUhlaWdodDsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgc3dpdGNoIChpbnQoYXJncy5tYXhIZWln
aHQpKSB7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlV2lkdGg6
CisgICAgICAgICAgICBhcmdzLm1heEhlaWdodCA9IGRldmljZVdpZHRoOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlSGVpZ2h0
OgorICAgICAgICAgICAgYXJncy5tYXhIZWlnaHQgPSBkZXZpY2VIZWlnaHQ7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGFyZ3Mud2lkdGggPSBtYXhJZ25vcmVBdXRv
KGFyZ3MubWluV2lkdGgsIG1pbklnbm9yZUF1dG8oYXJncy5tYXhXaWR0aCwgZGV2aWNlV2lkdGgp
KTsKKyAgICAgICAgYXJncy5oZWlnaHQgPSBtYXhJZ25vcmVBdXRvKGFyZ3MubWluSGVpZ2h0LCBt
aW5JZ25vcmVBdXRvKGFyZ3MubWF4SGVpZ2h0LCBkZXZpY2VIZWlnaHQpKTsKKyAgICB9CisKICAg
ICAvLyBDbGFtcCB2YWx1ZXMgdG8gcmFuZ2UgZGVmaW5lZCBieSBzcGVjIGFuZCByZXNvbHZlIG1p
bmltdW0tc2NhbGUgYW5kIG1heGltdW0tc2NhbGUgdmFsdWVzCiAgICAgaWYgKGFyZ3Mud2lkdGgg
IT0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0bykKICAgICAgICAgYXJncy53aWR0aCA9IG1p
bihmbG9hdCgxMDAwMCksIG1heChhcmdzLndpZHRoLCBmbG9hdCgxKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlld3BvcnRBcmd1bWVudHMuaAppbmRleCBiNjI5M2VmLi43NWNmNTExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdo
dCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKICAqIENvcHlyaWdo
dCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNjQsNyArNjUsOCBAQCBzdHJ1Y3QgVmlld3Bv
cnRBcmd1bWVudHMgewogICAgICAgICBIYW5kaGVsZEZyaWVuZGx5TWV0YSwKICAgICAgICAgTW9i
aWxlT3B0aW1pemVkTWV0YSwKICNlbmRpZgotICAgICAgICBWaWV3cG9ydE1ldGEKKyAgICAgICAg
Vmlld3BvcnRNZXRhLAorICAgICAgICBDU1NEZXZpY2VBZGFwdGF0aW9uCiAgICAgfSB0eXBlOwog
CiAgICAgZW51bSB7CkBAIC03Miw2ICs3NCw4IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7
CiAgICAgICAgIFZhbHVlRGVza3RvcFdpZHRoID0gLTIsCiAgICAgICAgIFZhbHVlRGV2aWNlV2lk
dGggPSAtMywKICAgICAgICAgVmFsdWVEZXZpY2VIZWlnaHQgPSAtNCwKKyAgICAgICAgVmFsdWVQ
b3J0cmFpdCA9IC01LAorICAgICAgICBWYWx1ZUxhbmRzY2FwZSA9IC02CiAgICAgfTsKIAogICAg
IFZpZXdwb3J0QXJndW1lbnRzKFR5cGUgdHlwZSA9IEltcGxpY2l0KQpAQCAtODEsNyArODUsMTIg
QEAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzIHsKICAgICAgICAgLCBtYXhpbXVtU2NhbGUoVmFs
dWVBdXRvKQogICAgICAgICAsIHdpZHRoKFZhbHVlQXV0bykKICAgICAgICAgLCBoZWlnaHQoVmFs
dWVBdXRvKQorICAgICAgICAsIG1pbldpZHRoKFZhbHVlQXV0bykKKyAgICAgICAgLCBtYXhXaWR0
aChWYWx1ZUF1dG8pCisgICAgICAgICwgbWluSGVpZ2h0KFZhbHVlQXV0bykKKyAgICAgICAgLCBt
YXhIZWlnaHQoVmFsdWVBdXRvKQogICAgICAgICAsIHVzZXJTY2FsYWJsZShWYWx1ZUF1dG8pCisg
ICAgICAgICwgb3JpZW50YXRpb24oVmFsdWVBdXRvKQogICAgIHsKICAgICB9CiAKQEAgLTkwLDcg
Kzk5LDEyIEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgZmxvYXQgbWF4aW11bVNj
YWxlOwogICAgIGZsb2F0IHdpZHRoOwogICAgIGZsb2F0IGhlaWdodDsKKyAgICBmbG9hdCBtaW5X
aWR0aDsKKyAgICBmbG9hdCBtYXhXaWR0aDsKKyAgICBmbG9hdCBtaW5IZWlnaHQ7CisgICAgZmxv
YXQgbWF4SGVpZ2h0OwogICAgIGZsb2F0IHVzZXJTY2FsYWJsZTsKKyAgICBmbG9hdCBvcmllbnRh
dGlvbjsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgb3Ro
ZXIpIGNvbnN0CiAgICAgewpAQCAtMTAxLDcgKzExNSwxMiBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1
bWVudHMgewogICAgICAgICAgICAgJiYgbWF4aW11bVNjYWxlID09IG90aGVyLm1heGltdW1TY2Fs
ZQogICAgICAgICAgICAgJiYgd2lkdGggPT0gb3RoZXIud2lkdGgKICAgICAgICAgICAgICYmIGhl
aWdodCA9PSBvdGhlci5oZWlnaHQKLSAgICAgICAgICAgICYmIHVzZXJTY2FsYWJsZSA9PSBvdGhl
ci51c2VyU2NhbGFibGU7CisgICAgICAgICAgICAmJiBtaW5XaWR0aCA9PSBvdGhlci5taW5XaWR0
aAorICAgICAgICAgICAgJiYgbWF4V2lkdGggPT0gb3RoZXIubWF4V2lkdGgKKyAgICAgICAgICAg
ICYmIG1pbkhlaWdodCA9PSBvdGhlci5taW5IZWlnaHQKKyAgICAgICAgICAgICYmIG1heEhlaWdo
dCA9PSBvdGhlci5tYXhIZWlnaHQKKyAgICAgICAgICAgICYmIHVzZXJTY2FsYWJsZSA9PSBvdGhl
ci51c2VyU2NhbGFibGUKKyAgICAgICAgICAgICYmIG9yaWVudGF0aW9uID09IG90aGVyLm9yaWVu
dGF0aW9uOwogICAgIH0KIAogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBWaWV3cG9ydEFyZ3Vt
ZW50cyYgb3RoZXIpIGNvbnN0Cg==
</data>
<flag name="commit-queue"
          id="158399"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150250</attachid>
            <date>2012-06-29 13:34:56 -0700</date>
            <delta_ts>2012-06-29 17:01:09 -0700</delta_ts>
            <desc>Work in progress of the CSS Device Adaptation v5</desc>
            <filename>viewport.patch</filename>
            <type>text/plain</type>
            <size>56224</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNWM1NjQ5NS4uNDQ0YmY1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTUzNCw2ICs1MzQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1N0
eWxlU2hlZXQuY3BwCiAgICAgY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKICAgICBjc3MvU3R5
bGVTaGVldExpc3QuY3BwCisgICAgY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAKICAgICBj
c3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVs
ZS5jcHAKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKQEAgLTU0MSw2ICs1NDIs
NyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3Bw
CiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCiAgICAgY3NzL1dlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmNwcAorICAgIGNzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCiAK
ICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcAogICAgIGRvbS9BdHRyLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZmNhY2NhYy4uOGM0NmU1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC0xNzYyLDYgKzE3NjIsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvVmll
d3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5
bGVSZXNvbHZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXApAQCAtMTc3OCw2ICsx
NzgwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVl
LmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZl
RE9NT2JqZWN0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmNwcCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCBlNTQxNDM1Li41MTczZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTQ5Nyw2ICs0OTcsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBjc3MvU3R5bGVTaGVldC5jcHAgXAogICAgIGNzcy9TdHlsZVNoZWV0
Q29udGVudHMuY3BwIFwKICAgICBjc3MvU3R5bGVTaGVldExpc3QuY3BwIFwKKyAgICBjc3MvVmll
d3BvcnRTdHlsZVJlc29sdmVyLmNwcCBcCiAgICAgY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmNw
cCBcCiAgICAgY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgXAogICAgIGNzcy9XZWJLaXRD
U1NLZXlmcmFtZXNSdWxlLmNwcCBcCkBAIC01MDUsNiArNTA2LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIFwK
KyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBcCiAgICAgZG9tL0FjdGl2ZURPTU9i
amVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCiAgICAgZG9tL0JlZm9yZVRleHRJbnNlcnRl
ZEV2ZW50LmNwcCBcCkBAIC0xNjgzLDYgKzE2ODUsNyBAQCBIRUFERVJTICs9IFwKICAgICBjc3Mv
U3R5bGVTaGVldC5oIFwKICAgICBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmggXAogICAgIGNzcy9T
dHlsZVNoZWV0TGlzdC5oIFwKKyAgICBjc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmggXAogICAg
IGNzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIFwKICAgICBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlLmggXAogICAgIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggXApAQCAtMTY5MSw2ICsx
Njk0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUu
aCBcCiAgICAgY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmggXAogICAgIGNzcy9XZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZS5oIFwKKyAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggXAogICAg
IGRvbS9BY3RpdmVET01PYmplY3QuaCBcCiAgICAgZG9tL0F0dHIuaCBcCiAgICAgZG9tL0F0dHJp
YnV0ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkOWQyZDNhLi5mZTdiYjlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yNTczLDYgKzI1NzMsOCBAQAogICAgICAgICAgICAgJ2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmNwcCcsCiAgICAg
ICAgICAgICAnY3NzL1N0eWxlU2hlZXRMaXN0LmgnLAorICAgICAgICAgICAgJ2Nzcy9WaWV3cG9y
dFN0eWxlUmVzb2x2ZXIuY3BwJywKKyAgICAgICAgICAgICdjc3MvVmlld3BvcnRTdHlsZVJlc29s
dmVyLmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAnLAogICAg
ICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwJywKICAgICAgICAgICAgICdj
c3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgnLApAQCAtMjU4Nyw2ICsyNTg5LDggQEAKICAgICAg
ICAgICAgICdjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9XZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3
cG9ydFJ1bGUuaCcsCisgICAgICAgICAgICAnY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAn
LAogICAgICAgICAgICAgJ2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAnLAog
ICAgICAgICAgICAgJ2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oJywKICAgICAg
ICAgICAgICdlZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5kLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDcyOTY2NjMuLjJjNWI3ZTkgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zNzU0
Nyw2ICszNzU0NywxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxjc3NcVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFZpZXdwb3J0U3R5bGVSZXNv
bHZlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTM3
NjEwLDYgKzM3NjE4LDE0IEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cY3NzXFdlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xXZWJLaXRDU1NWaWV3cG9ydFJ1
bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CiAJCTwvRmlsdGVyPgogCQk8RmlsdGVyCiAJCQlOYW1l
PSJyZW5kZXJpbmciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggODgyY2M2Yi4uYzRiYmE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTAwOSw2ICsxMDA5LDEw
IEBACiAJCTNBQjAyRDJCMTJENEY5MTYwMEZCQjY5NCAvKiBTdG9yYWdlVHJhY2tlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQUIwMkQyOTEyRDRG
OTE2MDBGQkI2OTQgLyogU3RvcmFnZVRyYWNrZXIuY3BwICovOyB9OwogCQkzQUMzNjgwMDEyRUY3
QTA5MDA2QTNENkYgLyogU3RvcmFnZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBQzM2N0ZFMTJFRjdBMDkwMDZBM0Q2RiAvKiBT
dG9yYWdlVHJhY2tlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTNBQzY0OEIyMTI5RTE0NjUwMEMzRUIyNSAvKiBFZGl0aW5nQm91bmRh
cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBQzY0
OEIxMTI5RTE0NjUwMEMzRUIyNSAvKiBFZGl0aW5nQm91bmRhcnkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzRkZGRjlBODE1OUQ5QTU1MDAyMEJC
RDUgLyogV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGRkZGOUE2MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuY3BwICovOyB9OworCQkzRkZGRjlBOTE1OUQ5QTU1MDAyMEJCRDUgLyog
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzRkZGRjlBNzE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmggKi87IH07CisJCTNGRkZGOUFEMTU5RDlCMDYwMDIwQkJENSAvKiBWaWV3cG9ydFN0
eWxlUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gM0ZGRkY5QUIxNTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5j
cHAgKi87IH07CisJCTNGRkZGOUFFMTU5RDlCMDYwMDIwQkJENSAvKiBWaWV3cG9ydFN0eWxlUmVz
b2x2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNG
RkZGOUFDMTU5RDlCMDYwMDIwQkJENSAvKiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCAqLzsgfTsK
IAkJNDEwMDJDQ0QwRjY2RURFRjAwOUU2NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwMDJDQ0IwRjY2RURF
RjAwOUU2NjBEIC8qIFNjcmlwdEZ1bmN0aW9uQ2FsbC5oICovOyB9OwogCQk0MTAwMkNDRTBGNjZF
REVGMDA5RTY2MEQgLyogU2NyaXB0RnVuY3Rpb25DYWxsLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDAyQ0NDMEY2NkVERUYwMDlFNjYwRCAvKiBT
Y3JpcHRGdW5jdGlvbkNhbGwuY3BwICovOyB9OwogCQk0MTBCN0U3MjEwNDVGQUIwMDBEODIyNEYg
LyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2
ZW50Q3VzdG9tLmNwcCAqLzsgfTsKQEAgLTgwMzIsNiArODAzNiwxMCBAQAogCQkzQUIwMkQyOTEy
RDRGOTE2MDBGQkI2OTQgLyogU3RvcmFnZVRyYWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU3RvcmFnZVRyYWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzQUMzNjdGRTEyRUY3QTA5MDA2QTNENkYgLyogU3RvcmFnZVRyYWNrZXJDbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZVRyYWNrZXJDbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0FDNjQ4QjExMjlFMTQ2NTAwQzNF
QjI1IC8qIEVkaXRpbmdCb3VuZGFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBFZGl0aW5nQm91bmRhcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJM0ZGRkY5
QTYxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzRkZGRjlBNzE1OUQ5QTU1MDAyMEJCRDUgLyog
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
RkZGRjlBQjE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZpZXdwb3J0U3R5bGVSZXNvbHZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTNGRkZGOUFDMTU5RDlCMDYwMDIwQkJE
NSAvKiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gVmlld3BvcnRTdHlsZVJlc29sdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxMDAyQ0NCMEY2NkVERUYwMDlFNjYwRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RnVuY3Rpb25DYWxsLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMDAyQ0NDMEY2NkVERUYwMDlFNjYwRCAvKiBTY3Jp
cHRGdW5jdGlvbkNhbGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2NyaXB0RnVuY3Rpb25DYWxsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEw
QjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwOTk0LDYgKzIxMDAyLDggQEAKIAkJCQlC
MjIyN0IwMzBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAgKi8sCiAJ
CQkJQjIyMjdCMDQwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU1ZhbHVlS2V5d29yZHMuaW4gKi8s
CiAJCQkJQkM1RUMxNzYwQTUwN0UzRTAwNjAwN0Y1IC8qIHZpZXctc291cmNlLmNzcyAqLywKKwkJ
CQkzRkZGRjlBQjE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVyLmNwcCAq
LywKKwkJCQkzRkZGRjlBQzE1OUQ5QjA2MDAyMEJCRDUgLyogVmlld3BvcnRTdHlsZVJlc29sdmVy
LmggKi8sCiAJCQkJMzEwNjAzNkMxNDMyN0QyRTAwQUJGNEJBIC8qIFdlYktpdENTU0ZpbHRlclZh
bHVlLmNwcCAqLywKIAkJCQkzMTA2MDM2RDE0MzI3RDJFMDBBQkY0QkEgLyogV2ViS2l0Q1NTRmls
dGVyVmFsdWUuaCAqLywKIAkJCQkzMTA2MDM2RTE0MzI3RDJFMDBBQkY0QkEgLyogV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuaWRsICovLApAQCAtMjEwMTYsNiArMjEwMjYsOCBAQAogCQkJCUJDOUFERDdG
MENDNDA5MjIwMDA5OEM0QyAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8sCiAJCQkJ
QkM5QUREMjIwQ0M0MDMyNjAwMDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi8s
CiAJCQkJMzE2MTFFNTQwRTFDNEQ0QTAwRjZBNTc5IC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVl
LmlkbCAqLywKKwkJCQkzRkZGRjlBNjE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmNwcCAqLywKKwkJCQkzRkZGRjlBNzE1OUQ5QTU1MDAyMEJCRDUgLyogV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlLmggKi8sCiAJCQkJQTg4MkRBMUYxNTkzODQ2QTAwMDExNUVEIC8qIENTU1Rv
U3R5bGVNYXAuY3BwICovLAogCQkJCUE4ODJEQTIyMTU5Mzg0OEQwMDAxMTVFRCAvKiBDU1NUb1N0
eWxlTWFwLmggKi8sCiAJCQkpOwpAQCAtMjUxNzMsNiArMjUxODUsOCBAQAogCQkJCTUwOTg3QzI3
MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0RjMyQkIxQjE0RkE4NUU4MDBGNkMxQTMgLyogTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODgyREEyMzE1OTM4NDhEMDAwMTE1RUQgLyogQ1NT
VG9TdHlsZU1hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJM0ZGRkY5QTkxNTlEOUE1NTAwMjBCQkQ1
IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJM0ZGRkY5QUUx
NTlEOUIwNjAwMjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0yODIyOCw2ICsyODI0Miw4IEBACiAJCQkJQ0U3QjJEQjYxNTg2QUJBRDAwOThCM0ZBIC8q
IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUwOTg3QzI2
MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4ODJEQTIwMTU5Mzg0NkEwMDAxMTVFRCAvKiBDU1NUb1N0eWxlTWFwLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTNGRkZGOUE4MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJM0ZGRkY5QUQxNTlEOUIwNjAw
MjBCQkQ1IC8qIFZpZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KaW5kZXggMWFkYWJmZi4uODdjMWIwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KQEAgLTk1LDYgKzk1LDggQEAgQ2xh
c3Mga2l0Q2xhc3MoV2ViQ29yZTo6Q1NTUnVsZSogaW1wbCkKICAgICAgICAgICAgIHJldHVybiBb
RE9NV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSBjbGFzc107CiAgICAgICAgIGNhc2UgRE9NX1dFQktJ
VF9LRVlGUkFNRV9SVUxFOgogICAgICAgICAgICAgcmV0dXJuIFtET01XZWJLaXRDU1NLZXlmcmFt
ZVJ1bGUgY2xhc3NdOworICAgICAgICBjYXNlIERPTV9XRUJLSVRfVklFV1BPUlRfUlVMRToKKyAg
ICAgICAgICAgIGJyZWFrOyAvLyBUT0RPOiBJbXBsZW1lbnQgYmluZGluZ3MKICNpZiBFTkFCTEUo
Q1NTX1JFR0lPTlMpCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9SRUdJT05fUlVMRToKICAgICAg
ICAgICAgIHJldHVybiBbRE9NV2ViS2l0Q1NTUmVnaW9uUnVsZSBjbGFzc107CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCmlu
ZGV4IDcyMDdhM2QuLjE1MTAwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCkBAIC02OSw2ICs2OSw4IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1J1bGUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRl
KQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZVJ1bGUq
PihpbXBsKSwgaXNvbGF0ZSk7CiAgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfS0VZRlJBTUVTX1JV
TEU6CiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFdlYktpdENTU0tleWZyYW1lc1J1
bGUqPihpbXBsKSwgaXNvbGF0ZSk7CisgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRf
UlVMRToKKyAgICAgICAgYnJlYWs7IC8vIFRPRE86IEltcGxlbWVudCBiaW5kaW5ncwogICAgIGNh
c2UgQ1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICByZXR1cm4gdG9WOChzdGF0
aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oaW1wbCksIGlzb2xhdGUpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDJjZTFlMzYuLjRhMmIxMGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0FsbEluT25lLmNwcApAQCAtNzAsMyArNzAsNCBAQAogI2luY2x1ZGUgIlN0eWxl
UHJvcGVydHlTZXQuY3BwIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIgog
I2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuY3BwIgorI2luY2x1ZGUgIlZpZXdwb3J0U3R5bGVSZXNv
bHZlci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCmluZGV4IGNiODViZWIuLjYwNzhmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yNTAyLDYgKzI1
MDIsMTggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
OjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICNlbmRpZgogICAgICAgICAgICAgYnJl
YWs7CiAKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlNaW5ab29tOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3JpZW50YXRpb246Cisg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0aW9uOgorICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5VXNlclpvb206CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhlaWdodDoK
KyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlWaWV3cG9ydE1pbkhlaWdodDoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZp
ZXdwb3J0TWluV2lkdGg6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206Cisg
ICAgICAgICAgICBicmVhazsKKwogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlDbGlwUGF0aDoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNsaXBSdWxlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueSBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkKaW5kZXggODI3YWJlZC4uNmFhNmQ5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
bW1hci55CkBAIC01LDYgKzUsNyBAQAogICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNv
bSkKICAqICBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4K
KyAqICBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0xNDQsNiArMTQ1LDcgQEAgc3RhdGljIGlu
dCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0b2tlbiBXRUJLSVRf
TUVESUFRVUVSWV9TWU0KICV0b2tlbiBXRUJLSVRfU0VMRUNUT1JfU1lNCiAldG9rZW4gV0VCS0lU
X1JFR0lPTl9SVUxFX1NZTQorJXRva2VuIFdFQktJVF9WSUVXUE9SVF9SVUxFX1NZTQogJXRva2Vu
IDxtYXJnaW5Cb3g+IFRPUExFRlRDT1JORVJfU1lNCiAldG9rZW4gPG1hcmdpbkJveD4gVE9QTEVG
VF9TWU0KICV0b2tlbiA8bWFyZ2luQm94PiBUT1BDRU5URVJfU1lNCkBAIC0yMzAsNiArMjMyLDcg
QEAgc3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0
eXBlIDxydWxlPiBibG9ja19ydWxlCiAldHlwZSA8cnVsZT4gYmxvY2tfdmFsaWRfcnVsZQogJXR5
cGUgPHJ1bGU+IHJlZ2lvbgorJXR5cGUgPHJ1bGU+IHZpZXdwb3J0CiAKICV0eXBlIDxzdHJpbmc+
IG1heWJlX25zX3ByZWZpeAogCkBAIC00MjUsNiArNDI4LDcgQEAgdmFsaWRfcnVsZToKICAgfCBu
YW1lc3BhY2UKICAgfCBpbXBvcnQKICAgfCByZWdpb24KKyAgfCB2aWV3cG9ydAogICA7CiAKIHJ1
bGU6CkBAIC00NTMsNiArNDU3LDcgQEAgYmxvY2tfdmFsaWRfcnVsZToKICAgfCBwYWdlCiAgIHwg
Zm9udF9mYWNlCiAgIHwga2V5ZnJhbWVzCisgIHwgdmlld3BvcnQKICAgOwogCiBibG9ja19ydWxl
OgpAQCAtODc5LDYgKzg4NCwzMiBAQCByZWdpb246CiAgICAgfQogOwogCit2aWV3cG9ydDoKKyAg
ICB2aWV3cG9ydF9hdCBtYXliZV9zcGFjZQorICAgICd7JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlv
bl9saXN0IGNsb3NpbmdfYnJhY2UgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2Fz
dDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICBwLT5tYXJrVmlld3BvcnRFbmQoKTsKKyAg
ICAgICAgJCQgPSBwLT5jcmVhdGVWaWV3cG9ydFJ1bGUoKTsKKyAgICB9CisgICAgfCBXRUJLSVRf
VklFV1BPUlRfUlVMRV9TWU0gZXJyb3IgaW52YWxpZF9ibG9jayB7CisgICAgICAgIENTU1BhcnNl
ciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtW
aWV3cG9ydEVuZCgpOworICAgICAgICAkJCA9IDA7CisgICAgfQorICAgIHwgV0VCS0lUX1ZJRVdQ
T1JUX1JVTEVfU1lNIGVycm9yICc7JyB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19j
YXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIHAtPm1hcmtWaWV3cG9ydEVuZCgpOwor
ICAgICAgICAkJCA9IDA7CisgICAgfQorOworCit2aWV3cG9ydF9hdDoKKyAgICBXRUJLSVRfVklF
V1BPUlRfUlVMRV9TWU0geworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQ
YXJzZXIqPihwYXJzZXIpOworICAgICAgICBwLT5tYXJrVmlld3BvcnRTdGFydCgpOworICAgIH0K
KzsKKwogY29tYmluYXRvcjoKICAgICAnKycgbWF5YmVfc3BhY2UgeyAkJCA9IENTU1NlbGVjdG9y
OjpEaXJlY3RBZGphY2VudDsgfQogICB8ICd+JyBtYXliZV9zcGFjZSB7ICQkID0gQ1NTU2VsZWN0
b3I6OkluZGlyZWN0QWRqYWNlbnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggYmEx
YzY1OC4uMWZhMWEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTYsNiArNiw3IEBA
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAq
IENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDEyIEFk
b2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCkBAIC0yNjEsNiArMjYyLDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIo
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKICAgICAsIG1fbGFzdFNlbGVjdG9yTGlu
ZU51bWJlcigwKQogICAgICwgbV9hbGxvd0ltcG9ydFJ1bGVzKHRydWUpCiAgICAgLCBtX2FsbG93
TmFtZXNwYWNlRGVjbGFyYXRpb25zKHRydWUpCisgICAgLCBtX2luVmlld3BvcnRSdWxlKGZhbHNl
KQogewogI2lmIFlZREVCVUcgPiAwCiAgICAgY3NzeXlkZWJ1ZyA9IDE7CkBAIC0xMzI1LDYgKzEz
MjcsMTExIEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gQ1NTUGFyc2VyOjpjcmVhdGVT
dHlsZVByb3BlcnR5U2V0KCkKICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eVNldDo6Y3JlYXRlSW1t
dXRhYmxlKHJlc3VsdHMuZGF0YSgpLCByZXN1bHRzLnNpemUoKSwgbV9jb250ZXh0Lm1vZGUpOwog
fQogCitib29sIENTU1BhcnNlcjo6cGFyc2VWaWV3cG9ydFByb3BlcnR5KENTU1Byb3BlcnR5SUQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKK3sKKyAgICBib29sIHZhbGlkUHJpbWl0aXZlID0gZmFs
c2U7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsK
KworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFNvbWUg
cHJvcGVydGllcyBuZWVkcyByZW1hcHBpbmcgYmVjYXVzZSB0aGVpciBuYW1lcyBjbGFzaGVzIHdp
dGgKKyAgICAvLyBvdGhlciBleGlzdGluZyBwcm9wZXJ0aWVzIG5hbWVzIGJ1dCB0aGUgc2VtYW50
aWNzIGFyZSBkaWZmZXJlbnQuCisgICAgc3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1By
b3BlcnR5TWluV2lkdGg6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNaW5X
aWR0aDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFdpZHRoOgorICAg
ICAgICBwcm9wSWQgPSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ1NTUHJvcGVydHlNaW5IZWlnaHQ6CisgICAgICAgIHByb3BJZCA9IENTU1By
b3BlcnR5Vmlld3BvcnRNaW5IZWlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJv
cGVydHlNYXhIZWlnaHQ6CisgICAgICAgIHByb3BJZCA9IENTU1Byb3BlcnR5Vmlld3BvcnRNYXhI
ZWlnaHQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlab29tOgorICAgICAg
ICBwcm9wSWQgPSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbTsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7CisKKyAgICBzd2l0Y2gg
KHByb3BJZCkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOiAvLyBhdXRv
IHwgZGV2aWNlLXdpZHRoIHwgZGV2aWNlLWhlaWdodCB8IDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAgY2FzZSBDU1NQcm9w
ZXJ0eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1heEhl
aWdodDoKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZURl
dmljZVdpZHRoIHx8IGlkID09IENTU1ZhbHVlRGV2aWNlSGVpZ2h0KQorICAgICAgICAgICAgdmFs
aWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB2YWxpZFByaW1p
dGl2ZSA9ICghaWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwgRlBlcmNlbnQgfCBGTm9u
TmVnKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogLy8gc2hv
cnRoYW5kCisgICAgICAgIHJldHVybiBwYXJzZVZpZXdwb3J0U2hvcnRoYW5kKHByb3BJZCwgQ1NT
UHJvcGVydHlNaW5XaWR0aCwgQ1NTUHJvcGVydHlNYXhXaWR0aCwgaW1wb3J0YW50KTsKKyAgICBj
YXNlIENTU1Byb3BlcnR5SGVpZ2h0OgorICAgICAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFNob3J0
aGFuZChwcm9wSWQsIENTU1Byb3BlcnR5TWluSGVpZ2h0LCBDU1NQcm9wZXJ0eU1heEhlaWdodCwg
aW1wb3J0YW50KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5TWluWm9vbTogLy8gYXV0byB8IDxudW1i
ZXI+IHwgPHBlcmNlbnRhZ2U+CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbToKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0
bykKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmIHZhbGlkVW5pdCh2YWx1ZSwgRk51bWJl
ciB8IEZQZXJjZW50IHwgRk5vbk5lZykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1By
b3BlcnR5VXNlclpvb206IC8vIHpvb20gfCBmaXhlZAorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFs
dWVab29tIHx8IGlkID09IENTU1ZhbHVlRml4ZWQpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2
ZSA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlPcmllbnRhdGlv
bjogLy8gYXV0byB8IHBvcnRyYWl0IHwgbGFuZHNjYXBlCisgICAgICAgIGlmIChpZCA9PSBDU1NW
YWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVQb3J0cmFpdCB8fCBpZCA9PSBDU1NWYWx1ZUxhbmRz
Y2FwZSkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVJlc29sdXRpb246IC8vIGF1dG8gfCBkZXZpY2UgfCA8cmVz
b2x1dGlvbj4KKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1
ZURldmljZSkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmICB2YWxpZFVuaXQodmFsdWUs
IEZMZW5ndGggfCBGTm9uTmVnKSk7IC8vIEZJWE1FOiBBZGQgRlJlc29sdXRpb24KKyAgICBkZWZh
dWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNl
ZFZhbHVlOworICAgIGlmICh2YWxpZFByaW1pdGl2ZSkgeworICAgICAgICBwYXJzZWRWYWx1ZSA9
IHBhcnNlVmFsaWRQcmltaXRpdmUoaWQsIHZhbHVlKTsKKyAgICAgICAgbV92YWx1ZUxpc3QtPm5l
eHQoKTsKKyAgICB9CisgICAgaWYgKHBhcnNlZFZhbHVlKSB7CisgICAgICAgIGlmICghbV92YWx1
ZUxpc3QtPmN1cnJlbnQoKSB8fCBpblNob3J0aGFuZCgpKSB7CisgICAgICAgICAgICBhZGRQcm9w
ZXJ0eShwcm9wSWQsIHBhcnNlZFZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitib29sIENTU1BhcnNlcjo6cGFyc2VWaWV3cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlE
IHByb3BJZCwgQ1NTUHJvcGVydHlJRCBmaXJzdCwgQ1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wg
aW1wb3J0YW50KQoreworICAgIHVuc2lnbmVkIGludCBudW1WYWx1ZXMgPSBtX3ZhbHVlTGlzdC0+
c2l6ZSgpOworCisgICAgaWYgKG51bVZhbHVlcyA+IDIpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIFNob3J0aGFuZFNjb3BlIHNjb3BlKHRoaXMsIHByb3BJZCk7CisKKyAgICBpZiAoIXBh
cnNlVmlld3BvcnRQcm9wZXJ0eShmaXJzdCwgaW1wb3J0YW50KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgLy8gSWYganVzdCBvbmUgdmFsdWUgaXMgc3VwcGxpZWQsIHRoZSBzZWNvbmQg
dmFsdWUKKyAgICAvLyBpcyBpbXBsaWNpdGx5IGluaXRpYWxpemVkIHdpdGggdGhlIGZpcnN0IHZh
bHVlLgorICAgIGlmIChudW1WYWx1ZXMgPT0gMSkKKyAgICAgICAgbV92YWx1ZUxpc3QtPnByZXZp
b3VzKCk7CisKKyAgICByZXR1cm4gcGFyc2VWaWV3cG9ydFByb3BlcnR5KHNlY29uZCwgaW1wb3J0
YW50KTsKK30KKwogdm9pZCBDU1NQYXJzZXI6OmFkZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJv
cElkLCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1w
bGljaXQpCiB7CiAgICAgbV9wYXJzZWRQcm9wZXJ0aWVzLmFwcGVuZChDU1NQcm9wZXJ0eShwcm9w
SWQsIHZhbHVlLCBpbXBvcnRhbnQsIG1fY3VycmVudFNob3J0aGFuZCwgbV9pbXBsaWNpdFNob3J0
aGFuZCB8fCBpbXBsaWNpdCkpOwpAQCAtMTY3Nyw2ICsxNzg0LDkgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKKyAgICBpZiAobV9pblZpZXdwb3J0UnVsZSkKKyAgICAg
ICAgcmV0dXJuIHBhcnNlVmlld3BvcnRQcm9wZXJ0eShwcm9wSWQsIGltcG9ydGFudCk7CisKICAg
ICBib29sIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7CiAgICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJz
ZWRWYWx1ZTsKIApAQCAtMjgxMyw2ICsyOTIzLDIxIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZh
bHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgLy8gVGhl
c2UgcHJvcGVydGllcyBzaG91bGQgYmUgaGFuZGxlZCBiZWZvcmUgaW4gaXNWYWxpZEtleXdvcmRQ
cm9wZXJ0eUFuZFZhbHVlKCkuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgLy8gUHJvcGVydGllcyBiZWxsb3cgYXJlIHZhbGlkYXRlZCBp
bnNpZGUgcGFyc2VWaWV3cG9ydFByb3BlcnR5LCBiZWNhdXNlIHdlCisgICAgLy8gY2hlY2sgZm9y
IHBhcnNlciBzdGF0ZSBtX2luVmlld3BvcnRSdWxlLiBXZSBuZWVkIHRvIGludmFsaWRhdGUgaWYg
c29tZW9uZQorICAgIC8vIGFkZHMgdGhlbSBvdXRzaWRlIGEgQHZpZXdwb3J0IHJ1bGUuCisgICAg
Y2FzZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eU9yaWVudGF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNv
bHV0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3Bl
cnR5Vmlld3BvcnRNYXhIZWlnaHQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lk
dGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NT
UHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpv
b206CisgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gZmFsc2U7CisgICAgICAgIGJyZWFrOwogI2lm
IEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZHVmFsdWUo
cHJvcElkLCBpbXBvcnRhbnQpOwpAQCAtODgxMSw4ICs4OTM2LDEzIEBAIGlubGluZSB2b2lkIENT
U1BhcnNlcjo6ZGV0ZWN0QXRUb2tlbihpbnQgbGVuZ3RoLCBib29sIGhhc0VzY2FwZSkKICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICBjYXNlIDE3OgotICAgICAgICAgICAgaWYgKCFoYXNF
c2NhcGUgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1lICsgMiwgIndlYmtpdC1zZWxlY3Rv
ciIpKQorICAgICAgICAgICAgaWYgKGhhc0VzY2FwZSkKKyAgICAgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMTZdLCAn
cicpICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDIsICJ3ZWJraXQtc2VsZWN0byIp
KQogICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBXRUJLSVRfU0VMRUNUT1JfU1lNOworICAgICAg
ICAgICAgZWxzZSBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzE2XSwgJ3QnKSAm
JiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAyLCAid2Via2l0LXZpZXdwb3IiKSkKKyAg
ICAgICAgICAgICAgICBtX3Rva2VuID0gV0VCS0lUX1ZJRVdQT1JUX1JVTEVfU1lNOwogICAgICAg
ICAgICAgcmV0dXJuOwogCiAgICAgICAgIGNhc2UgMTg6CkBAIC05ODIyLDYgKzk5NTIsMjEgQEAg
dm9pZCBDU1NQYXJzZXI6Om1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0YW50Rm91bmQsIGJv
b2wgaXNQcm9wZXJ0eVBhcnNlZCkKICAgICByZXNldFByb3BlcnR5UmFuZ2UoKTsKIH0KIAorU3R5
bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVWaWV3cG9ydFJ1bGUoKQoreworICAgIG1fYWxs
b3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnMgPSBmYWxzZTsKKwor
ICAgIFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gcnVsZSA9IFN0eWxlUnVsZVZpZXdwb3J0Ojpj
cmVhdGUoKTsKKyAgICBydWxlLT5zZXRQcm9wZXJ0aWVzKGNyZWF0ZVN0eWxlUHJvcGVydHlTZXQo
KSk7CisKKyAgICBjbGVhclByb3BlcnRpZXMoKTsKKworICAgIFN0eWxlUnVsZVZpZXdwb3J0KiBy
ZXN1bHQgPSBydWxlLmdldCgpOworICAgIG1fcGFyc2VkUnVsZXMuYXBwZW5kKHJ1bGUucmVsZWFz
ZSgpKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHN0YXRpYyBDU1NQcm9wZXJ0eUlEIGNz
c1Byb3BlcnR5SUQoY29uc3QgVUNoYXIqIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgbGVuZ3RoKQog
ewogICAgIGlmICghbGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDE0YTk4ZTEuLjRi
YTNjNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTM0Myw2ICszNDMsMTAgQEAgcHVibGlj
OgogICAgIGludCBsZXgodm9pZCogeXlsdmFsKTsKICAgICBpbnQgdG9rZW4oKSB7IHJldHVybiBt
X3Rva2VuOyB9CiAKKyAgICB2b2lkIG1hcmtWaWV3cG9ydFN0YXJ0KCkgeyBtX2luVmlld3BvcnRS
dWxlID0gdHJ1ZTsgfQorICAgIHZvaWQgbWFya1ZpZXdwb3J0RW5kKCkgeyBtX2luVmlld3BvcnRS
dWxlID0gZmFsc2U7IH0KKyAgICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVWaWV3cG9ydFJ1bGUoKTsK
KwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVy
aWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAKQEAgLTM3
OCw2ICszODIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0dXBQYXJzZXIoY29uc3QgY2hhciog
cHJlZml4LCBjb25zdCBTdHJpbmcmLCBjb25zdCBjaGFyKiBzdWZmaXgpOwogCiAgICAgYm9vbCBp
blNob3J0aGFuZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5QYXJzZVNob3J0aGFuZDsgfQorICAgIGJv
b2wgaW5WaWV3cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX2luVmlld3BvcnRSdWxlOyB9CiAK
ICAgICB2b2lkIGNoZWNrRm9yT3JwaGFuZWRVbml0cygpOwogCkBAIC00MDMsNiArNDA4LDkgQEAg
cHJpdmF0ZToKICAgICBib29sIHBhcnNlRm9udEZhY2VTcmNVUkkoQ1NTVmFsdWVMaXN0Kik7CiAg
ICAgYm9vbCBwYXJzZUZvbnRGYWNlU3JjTG9jYWwoQ1NTVmFsdWVMaXN0Kik7CiAKKyAgICBib29s
IHBhcnNlVmlld3BvcnRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpOworICAgIGJvb2wgcGFyc2VWaWV3cG9ydFNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHByb3BJ
ZCwgQ1NTUHJvcGVydHlJRCBmaXJzdCwgQ1NTUHJvcGVydHlJRCBzZWNvbmQsIGJvb2wgaW1wb3J0
YW50KTsKKwogICAgIGJvb2wgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmKTsKIAogICAgIGVudW0g
UGFyc2luZ01vZGUgewpAQCAtNDIyLDYgKzQzMCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Fs
bG93SW1wb3J0UnVsZXM7CiAgICAgYm9vbCBtX2FsbG93TmFtZXNwYWNlRGVjbGFyYXRpb25zOwog
CisgICAgYm9vbCBtX2luVmlld3BvcnRSdWxlOworCiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1
bGVCYXNlPiA+IG1fcGFyc2VkUnVsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHlsZUtleWZyYW1l
PiA+IG1fcGFyc2VkS2V5ZnJhbWVzOwogICAgIFZlY3RvcjxSZWZQdHI8TWVkaWFRdWVyeVNldD4g
PiBtX3BhcnNlZE1lZGlhUXVlcnlTZXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5k
ZXggMDE1MTlmMy4uYzQwNjVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC02
NjQsNiArNjY0LDE2IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0RGFzaGJvYXJkUmVnaW9uOgogI2VuZGlmCisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eU1heFpvb206CisgICAgY2FzZSBDU1NQcm9wZXJ0eU1pblpvb206CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eU9yaWVudGF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlSZXNvbHV0
aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlVc2VyWm9vbToKKyAgICBjYXNlIENTU1Byb3BlcnR5
Vmlld3BvcnRNYXhIZWlnaHQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0OgorICAgIGNhc2UgQ1NTUHJv
cGVydHlWaWV3cG9ydE1pbldpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydFpvb206
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIENTU1Byb3BlcnR5SW52YWxpZDoKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCmluZGV4IDFhZjM5MjUuLjMxNjY3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluCkBAIC0zOTIsNiArMzkyLDE2IEBAIHotaW5kZXgKIC13ZWJraXQtd3JhcC10
aHJvdWdoCiAtd2Via2l0LXdyYXAKICNlbmRpZgorbWF4LXpvb20KK21pbi16b29tCitvcmllbnRh
dGlvbgorcmVzb2x1dGlvbgordXNlci16b29tCit2aWV3cG9ydC1tYXgtaGVpZ2h0Cit2aWV3cG9y
dC1tYXgtd2lkdGgKK3ZpZXdwb3J0LW1pbi1oZWlnaHQKK3ZpZXdwb3J0LW1pbi13aWR0aAordmll
d3BvcnQtem9vbQogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RP
VUNIX0VWRU5UUwogLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmNwcAppbmRleCBjMzEwNWEwLi5jYjcwOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3Bw
CkBAIC0zMCwxMiArMzAsMTMgQEAKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRl
ICJDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVW5rbm93blJ1bGUuaCIKLSNpbmNsdWRl
ICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKLSNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNS
dWxlLmgiCi0jaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgogI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVl
dENvbnRlbnRzLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCisjaW5jbHVk
ZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgorI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1
bGUuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC04MCw2ICs4MSw4IEBAIFN0cmluZyBDU1NSdWxlOjpjc3NUZXh0KCkgY29u
c3QKICAgICBjYXNlIFdFQktJVF9SRUdJT05fUlVMRToKICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlzKS0+Y3NzVGV4dCgpOwogI2VuZGlm
CisgICAgY2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpLT5jc3NUZXh0KCk7CiAgICAg
fQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTEy
MCw2ICsxMjMsOSBAQCB2b2lkIENTU1J1bGU6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3Rh
dGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpOwogICAgICAgICByZXR1cm47CiAj
ZW5kaWYKKyAgICBjYXNlIFdFQktJVF9WSUVXUE9SVF9SVUxFOgorICAgICAgICBkZWxldGUgc3Rh
dGljX2Nhc3Q8V2ViS2l0Q1NTVmlld3BvcnRSdWxlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC0xNjAsNiArMTY2LDkgQEAg
dm9pZCBDU1NSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKQogICAgICAgICBzdGF0
aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4odGhpcyktPnJlYXR0YWNoKHN0YXRpY19jYXN0
PFN0eWxlUnVsZVJlZ2lvbio+KHJ1bGUpKTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCisgICAg
Y2FzZSBXRUJLSVRfVklFV1BPUlRfUlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NT
Vmlld3BvcnRSdWxlKj4odGhpcyktPnJlYXR0YWNoKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdw
b3J0Kj4ocnVsZSkpOworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggZTM4ZTE2MS4uYWY1MDEwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gPGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIFdFQktJ
VF9LRVlGUkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUsCisgICAgICAg
IFdFQktJVF9WSUVXUE9SVF9SVUxFID0gMTUsCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAg
ICAgICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNgogI2VuZGlmCkBAIC03Miw2ICs3Myw3IEBAIHB1
YmxpYzoKICAgICBib29sIGlzUGFnZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUEFH
RV9SVUxFOyB9CiAgICAgYm9vbCBpc1N0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBTVFlMRV9SVUxFOyB9CiAgICAgYm9vbCBpc0ltcG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gSU1QT1JUX1JVTEU7IH0KKyAgICBib29sIGlzVmlld3BvcnRSdWxlKCkgY29uc3Qg
eyByZXR1cm4gdHlwZSgpID09IFdFQktJVF9WSUVXUE9SVF9SVUxFOyB9CiAKICNpZiBFTkFCTEUo
Q1NTX1JFR0lPTlMpCiAgICAgYm9vbCBpc1JlZ2lvblJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gV0VCS0lUX1JFR0lPTl9SVUxFOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdv
cmRzLmluCmluZGV4IDhkYzI3YzguLjI1Y2JkNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCkBAIC03NzIsNiArNzcyLDI3IEBAIGRvY3VtZW50CiByZXNldAogCiAvLwor
Ly8gQ1NTX1BST1BfVVNFUl9aT09NCisvLworLy8gZml4ZWQKK3pvb20KKworLy8KKy8vIENTU19Q
Uk9QX1ZJRVdQT1JUX01JTl9XSURUSAorLy8gQ1NTX1BST1BfVklFV1BPUlRfTUFYX1dJRFRICisv
LyBDU1NfUFJPUF9WSUVXUE9SVF9NSU5fSEVJR0hUCisvLyBDU1NfUFJPUF9WSUVXUE9SVF9NQVhf
SEVJR0hUCisvLworLy8gYXV0bworZGV2aWNlLXdpZHRoCitkZXZpY2UtaGVpZ2h0CisKKy8vIENT
U19QUk9QX1JFU09MVVRJT04KKy8vCisvLyBhdXRvCitkZXZpY2UKKworLy8KIC8vIENTU19QUk9Q
X1BPSU5URVJfRVZFTlRTCiAvLwogdmlzaWJsZVBhaW50ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmNwcAppbmRleCA1NjMxM2ZlLi45MjQzODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCkBAIC0xMTcsNiArMTE3LDcgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oIgogI2luY2x1ZGUgIlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2lu
Y2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCisjaW5jbHVkZSAiVmlld3BvcnRTdHlsZVJl
c29sdmVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAi
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1JlZ2lvblJ1bGUu
aCIKQEAgLTM2OSw2ICszNzAsNyBAQCBTdHlsZVJlc29sdmVyOjpTdHlsZVJlc29sdmVyKERvY3Vt
ZW50KiBkb2N1bWVudCwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX21h
dGNoQXV0aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBt
X3NhbWVPcmlnaW5Pbmx5KGZhbHNlKQogICAgICwgbV9mb250U2VsZWN0b3IoQ1NTRm9udFNlbGVj
dG9yOjpjcmVhdGUoZG9jdW1lbnQpKQorICAgICwgbV92aWV3cG9ydFN0eWxlUmVzb2x2ZXIoVmll
d3BvcnRTdHlsZVJlc29sdmVyOjpjcmVhdGUoZG9jdW1lbnQpKQogICAgICwgbV9hcHBseVByb3Bl
cnR5VG9SZWd1bGFyU3R5bGUodHJ1ZSkKICAgICAsIG1fYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExp
bmtTdHlsZShmYWxzZSkKICAgICAsIG1fc3R5bGVCdWlsZGVyKFN0eWxlQnVpbGRlcjo6c2hhcmVk
U3R5bGVCdWlsZGVyKCkpCkBAIC02NjgsNiArNjcwLDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjph
ZGRLZXlmcmFtZVN0eWxlKFBhc3NSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBydWxlKQogU3R5
bGVSZXNvbHZlcjo6flN0eWxlUmVzb2x2ZXIoKQogewogICAgIG1fZm9udFNlbGVjdG9yLT5jbGVh
ckRvY3VtZW50KCk7CisgICAgbV92aWV3cG9ydFN0eWxlUmVzb2x2ZXItPmNsZWFyRG9jdW1lbnQo
KTsKIH0KIAogdm9pZCBTdHlsZVJlc29sdmVyOjpzd2VlcE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUo
KQpAQCAtMjY4OCw2ICsyNjkxLDEwIEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQo
U3R5bGVTaGVldENvbnRlbnRzKiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoc2NvcGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZVNlbGVjdG9yLT5hZGRLZXlm
cmFtZVN0eWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KGNoaWxkUnVsZSkpOwor
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkUnVsZS0+aXNWaWV3cG9ydFJ1bGUo
KSAmJiAhc3R5bGVTZWxlY3Rvci0+YWZmZWN0ZWRCeVZpZXdwb3J0Q2hhbmdlKCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzY29wZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlU2VsZWN0b3ItPnZpZXdw
b3J0U3R5bGVSZXNvbHZlcigpLT5hZGRWaWV3cG9ydFJ1bGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
Vmlld3BvcnQqPihjaGlsZFJ1bGUpKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0gLy8gZm9yIHJ1bGVzCiAgICAgICAgICAgICB9IC8vIGlmIHJ1bGVzCkBAIC0yNzA0
LDE1ICsyNzExLDE4IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVl
dENvbnRlbnRzKiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiAgICAgICAgICAgICBpZiAo
c2NvcGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBzdHlsZVNlbGVj
dG9yLT5hZGRLZXlmcmFtZVN0eWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHJ1
bGUpKTsKLSAgICAgICAgfQogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLSAgICAgICAgZWxzZSBp
ZiAocnVsZS0+aXNSZWdpb25SdWxlKCkgJiYgc3R5bGVTZWxlY3RvcikgeworICAgICAgICB9IGVs
c2UgaWYgKHJ1bGUtPmlzUmVnaW9uUnVsZSgpICYmIHN0eWxlU2VsZWN0b3IpIHsKICAgICAgICAg
ICAgIC8vIEZJWE1FIChCVUcgNzI0NzIpOiBXZSBkb24ndCBhZGQgQC13ZWJraXQtcmVnaW9uIHJ1
bGVzIG9mIHNjb3BlZCBzdHlsZSBzaGVldHMgZm9yIHRoZSBtb21lbnQuCiAgICAgICAgICAgICBp
ZiAoc2NvcGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBhZGRSZWdp
b25SdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVJlZ2lvbio+KHJ1bGUpLCBoYXNEb2N1bWVudFNl
Y3VyaXR5T3JpZ2luKTsKLSAgICAgICAgfQogI2VuZGlmCisgICAgICAgIH0gZWxzZSBpZiAocnVs
ZS0+aXNWaWV3cG9ydFJ1bGUoKSkgeworICAgICAgICAgICAgaWYgKHNjb3BlKQorICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgc3R5bGVTZWxlY3Rvci0+dmlld3BvcnRTdHls
ZVJlc29sdmVyKCktPmFkZFZpZXdwb3J0UnVsZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVWaWV3cG9y
dCo+KHJ1bGUpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAobV9hdXRvU2hyaW5rVG9GaXRF
bmFibGVkKQogICAgICAgICBzaHJpbmtUb0ZpdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKaW5kZXggYjY1M2U4NC4uYWUzOWZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5o
CkBAIC04NSw2ICs4NSw3IEBAIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBTdHlsZVNoZWV0Q29u
dGVudHM7CiBjbGFzcyBTdHlsZVNoZWV0TGlzdDsKIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CitjbGFz
cyBWaWV3cG9ydFN0eWxlUmVzb2x2ZXI7CiBjbGFzcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZTsKIGNs
YXNzIFdlYktpdENTU1NoYWRlclZhbHVlOwogY2xhc3MgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1
ZTsKQEAgLTIyOCw2ICsyMjksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNTZWxlY3RvckZvckF0
dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKIAogICAgIENTU0ZvbnRTZWxlY3Rv
ciogZm9udFNlbGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9mb250U2VsZWN0b3IuZ2V0KCk7IH0K
KyAgICBWaWV3cG9ydFN0eWxlUmVzb2x2ZXIqIHZpZXdwb3J0U3R5bGVSZXNvbHZlcigpIGNvbnN0
IHsgcmV0dXJuIG1fdmlld3BvcnRTdHlsZVJlc29sdmVyLmdldCgpOyB9CiAKICAgICB2b2lkIGFk
ZFZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwKiwg
Ym9vbCByZXN1bHQpOwogCkBAIC00ODgsNiArNDkwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
c2FtZU9yaWdpbk9ubHk7CiAKICAgICBSZWZQdHI8Q1NTRm9udFNlbGVjdG9yPiBtX2ZvbnRTZWxl
Y3RvcjsKKyAgICBSZWZQdHI8Vmlld3BvcnRTdHlsZVJlc29sdmVyPiBtX3ZpZXdwb3J0U3R5bGVS
ZXNvbHZlcjsKICAgICBWZWN0b3I8T3duUHRyPE1lZGlhUXVlcnlSZXN1bHQ+ID4gbV92aWV3cG9y
dERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwogCiAgICAgYm9vbCBtX2FwcGx5UHJvcGVydHlU
b1JlZ3VsYXJTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggMjBiMjkwNS4uYjNi
M2I4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgorI2luY2x1ZGUgIldl
YktpdENTU1ZpZXdwb3J0UnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc3LDYg
Kzc4LDkgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICBjYXNlIEtleWZyYW1l
czoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHRoaXMp
OwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgZGVsZXRlIHN0
YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAg
ICBjYXNlIFVua25vd246CiAgICAgY2FzZSBDaGFyc2V0OgogICAgIGNhc2UgS2V5ZnJhbWU6CkBA
IC0xMTAsNiArMTE0LDggQEAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNl
Ojpjb3B5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlz
KS0+Y29weSgpOworICAgIGNhc2UgVmlld3BvcnQ6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBTdHlsZVJ1bGVWaWV3cG9ydCo+KHRoaXMpLT5jb3B5KCk7CiAgICAgY2FzZSBVbmtu
b3duOgogICAgIGNhc2UgQ2hhcnNldDoKICAgICBjYXNlIEtleWZyYW1lOgpAQCAtMTUxLDYgKzE1
Nyw5IEBAIFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFw
cGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAg
ICAgIHJ1bGUgPSBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8U3R5
bGVSdWxlS2V5ZnJhbWVzKj4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBWaWV3cG9ydDoKKyAgICAgICAgcnVsZSA9IFdlYktpdENTU1ZpZXdwb3J0UnVsZTo6
Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4oc2VsZiksIHBhcmVudFNoZWV0
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVbmtub3duOgogICAgIGNhc2UgQ2hhcnNldDoK
ICAgICBjYXNlIEtleWZyYW1lOgpAQCAtMzAxLDQgKzMxMCwzMSBAQCBTdHlsZVJ1bGVSZWdpb246
OlN0eWxlUnVsZVJlZ2lvbihjb25zdCBTdHlsZVJ1bGVSZWdpb24mIG8pCiB7CiB9CiAKK1N0eWxl
UnVsZVZpZXdwb3J0OjpTdHlsZVJ1bGVWaWV3cG9ydCgpCisgICAgOiBTdHlsZVJ1bGVCYXNlKFZp
ZXdwb3J0LCAwKQoreworfQorCitTdHlsZVJ1bGVWaWV3cG9ydDo6U3R5bGVSdWxlVmlld3BvcnQo
Y29uc3QgU3R5bGVSdWxlVmlld3BvcnQmIG8pCisgICAgOiBTdHlsZVJ1bGVCYXNlKG8pCisgICAg
LCBtX3Byb3BlcnRpZXMoby5tX3Byb3BlcnRpZXMtPmNvcHkoKSkKK3sKK30KKworU3R5bGVSdWxl
Vmlld3BvcnQ6On5TdHlsZVJ1bGVWaWV3cG9ydCgpCit7Cit9CisKK1N0eWxlUHJvcGVydHlTZXQq
IFN0eWxlUnVsZVZpZXdwb3J0OjptdXRhYmxlUHJvcGVydGllcygpCit7CisgICAgaWYgKCFtX3By
b3BlcnRpZXMtPmlzTXV0YWJsZSgpKQorICAgICAgICBtX3Byb3BlcnRpZXMgPSBtX3Byb3BlcnRp
ZXMtPmNvcHkoKTsKKyAgICByZXR1cm4gbV9wcm9wZXJ0aWVzLmdldCgpOworfQorCit2b2lkIFN0
eWxlUnVsZVZpZXdwb3J0OjpzZXRQcm9wZXJ0aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNl
dD4gcHJvcGVydGllcykKK3sKKyAgICBtX3Byb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggN2ZjMjBhMy4u
ZThkNDRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6
CiAgICAgICAgIFBhZ2UsCiAgICAgICAgIEtleWZyYW1lcywKICAgICAgICAgS2V5ZnJhbWUsIC8v
IE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHlsZUtleWZyYW1lIG9i
amVjdHMuCisgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAgICAgICAgIFJlZ2lvbiA9IDE2CiAgICAg
fTsKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5
cGUpOyB9CkBAIC01Niw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUGFnZVJ1bGUoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gUGFnZTsgfQogICAgIGJvb2wgaXNTdHlsZVJ1bGUoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGU7IH0KICAgICBib29sIGlzUmVnaW9uUnVsZSgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBSZWdpb247IH0KKyAgICBib29sIGlzVmlld3BvcnRS
dWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFZpZXdwb3J0OyB9CiAgICAgYm9vbCBpc0lt
cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAKICAgICBQYXNz
UmVmUHRyPFN0eWxlUnVsZUJhc2U+IGNvcHkoKSBjb25zdDsKQEAgLTIwOCw2ICsyMTAsMjYgQEAg
cHJpdmF0ZToKICAgICBDU1NTZWxlY3Rvckxpc3QgbV9zZWxlY3Rvckxpc3Q7CiB9OwogCitjbGFz
cyBTdHlsZVJ1bGVWaWV3cG9ydCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IFN0eWxlUnVsZVZpZXdwb3J0KTsgfQorCisgICAgflN0eWxlUnVsZVZpZXdw
b3J0KCk7CisKKyAgICBjb25zdCBTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0aWVzKCkgY29uc3Qg
eyByZXR1cm4gbV9wcm9wZXJ0aWVzLmdldCgpOyB9CisgICAgU3R5bGVQcm9wZXJ0eVNldCogbXV0
YWJsZVByb3BlcnRpZXMoKTsKKworICAgIHZvaWQgc2V0UHJvcGVydGllcyhQYXNzUmVmUHRyPFN0
eWxlUHJvcGVydHlTZXQ+KTsKKworICAgIFBhc3NSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNv
cHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVSdWxlVmlld3BvcnQoKnRoaXMp
KTsgfQorCitwcml2YXRlOgorICAgIFN0eWxlUnVsZVZpZXdwb3J0KCk7CisgICAgU3R5bGVSdWxl
Vmlld3BvcnQoY29uc3QgU3R5bGVSdWxlVmlld3BvcnQmKTsKKworICAgIFJlZlB0cjxTdHlsZVBy
b3BlcnR5U2V0PiBtX3Byb3BlcnRpZXM7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBTdHlsZVJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Zp
ZXdwb3J0U3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvVmlld3BvcnRTdHls
ZVJlc29sdmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTZkOTEz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNv
bHZlci5jcHAKQEAgLTAsMCArMSwxNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50
ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWaWV3cG9ydFN0eWxlUmVzb2x2ZXIuaCIKKworI2lu
Y2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVk
ZSAiU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6OlZpZXdwb3J0U3R5bGVSZXNv
bHZlcihEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50KQorewor
ICAgIEFTU0VSVChtX2RvY3VtZW50KTsKKworICAgIG1faW5pdGlhbFZpZXdwb3J0V2lkdGggPSBt
X2RvY3VtZW50LT5yZW5kZXJWaWV3KCktPnZpZXdwb3J0U2l6ZSgpLndpZHRoKCk7CisgICAgbV9p
bml0aWFsVmlld3BvcnRIZWlnaHQgPSBtX2RvY3VtZW50LT5yZW5kZXJWaWV3KCktPnZpZXdwb3J0
U2l6ZSgpLmhlaWdodCgpOworfQorCitWaWV3cG9ydFN0eWxlUmVzb2x2ZXI6On5WaWV3cG9ydFN0
eWxlUmVzb2x2ZXIoKQoreworfQorCit2b2lkIFZpZXdwb3J0U3R5bGVSZXNvbHZlcjo6YWRkVmll
d3BvcnRSdWxlKFN0eWxlUnVsZVZpZXdwb3J0KiB2aWV3cG9ydFJ1bGUpCit7CisgICAgU3R5bGVQ
cm9wZXJ0eVNldCogcHJvcGVydHlTZXQgPSB2aWV3cG9ydFJ1bGUtPm11dGFibGVQcm9wZXJ0aWVz
KCk7CisgICAgaWYgKCFwcm9wZXJ0eVNldCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFt
X3Byb3BlcnR5U2V0KSB7CisgICAgICAgIG1fcHJvcGVydHlTZXQgPSBwcm9wZXJ0eVNldC0+Y29w
eSgpOworICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBm
b3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHByb3BlcnR5U2V0LT5wcm9wZXJ0eUNvdW50KCk7
IGkrKykKKyAgICAgICAgbV9wcm9wZXJ0eVNldC0+YWRkUGFyc2VkUHJvcGVydHkocHJvcGVydHlT
ZXQtPnByb3BlcnR5QXQoaSkpOworCisgICAgcmVzb2x2ZSgpOworfQorCit2b2lkIFZpZXdwb3J0
U3R5bGVSZXNvbHZlcjo6Y2xlYXJEb2N1bWVudCgpCit7CisgICAgbV9kb2N1bWVudCA9IDA7Cit9
CisKK3ZvaWQgVmlld3BvcnRTdHlsZVJlc29sdmVyOjpyZXNvbHZlKCkKK3sKKyAgICBpZiAoIW1f
ZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFZpZXdwb3J0QXJndW1lbnRzIGFyZ3Vt
ZW50cyhWaWV3cG9ydEFyZ3VtZW50czo6Q1NTRGV2aWNlQWRhcHRhdGlvbik7CisKKyAgICBhcmd1
bWVudHMudXNlclNjYWxhYmxlID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5
VXNlclpvb20pOworICAgIGFyZ3VtZW50cy5pbml0aWFsU2NhbGUgPSBnZXRWaWV3cG9ydEFyZ3Vt
ZW50VmFsdWUoQ1NTUHJvcGVydHlWaWV3cG9ydFpvb20pOworICAgIGFyZ3VtZW50cy5taW5pbXVt
U2NhbGUgPSBnZXRWaWV3cG9ydEFyZ3VtZW50VmFsdWUoQ1NTUHJvcGVydHlNaW5ab29tKTsKKyAg
ICBhcmd1bWVudHMubWF4aW11bVNjYWxlID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1By
b3BlcnR5TWF4Wm9vbSk7CisgICAgYXJndW1lbnRzLm1pbldpZHRoID0gZ2V0Vmlld3BvcnRBcmd1
bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNaW5XaWR0aCk7CisgICAgYXJndW1lbnRzLm1h
eFdpZHRoID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNYXhX
aWR0aCk7CisgICAgYXJndW1lbnRzLm1pbkhlaWdodCA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1
ZShDU1NQcm9wZXJ0eVZpZXdwb3J0TWluSGVpZ2h0KTsKKyAgICBhcmd1bWVudHMubWF4SGVpZ2h0
ID0gZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1Byb3BlcnR5Vmlld3BvcnRNYXhIZWlnaHQp
OworICAgIGFyZ3VtZW50cy5vcmllbnRhdGlvbiA9IGdldFZpZXdwb3J0QXJndW1lbnRWYWx1ZShD
U1NQcm9wZXJ0eU9yaWVudGF0aW9uKTsKKworICAgIG1fZG9jdW1lbnQtPnNldFZpZXdwb3J0QXJn
dW1lbnRzKGFyZ3VtZW50cyk7CisgICAgbV9kb2N1bWVudC0+dXBkYXRlVmlld3BvcnRBcmd1bWVu
dHMoKTsKK30KKworZmxvYXQgVmlld3BvcnRTdHlsZVJlc29sdmVyOjpnZXRWaWV3cG9ydEFyZ3Vt
ZW50VmFsdWUoQ1NTUHJvcGVydHlJRCBpZCkgY29uc3QKK3sKKyAgICBmbG9hdCBkZWZhdWx0VmFs
dWUgPSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvOworCisgICAgLy8gVXNlclpvb20gZGVm
YXVsdCB2YWx1ZSBpcyBDU1NWYWx1ZVpvb20sIHdoaWNoIG1hcHMgdG8gdHJ1ZSwgbWVhbmluZyB0
aGF0CisgICAgLy8geWVzLCBpdCBpcyB1c2VyIHNjYWxhYmxlLiBXaGVuIHRoZSB2YWx1ZSBpcyBz
ZXQgdG8gQ1NTVmFsdWVGaXhlZCwgd2UKKyAgICAvLyByZXR1cm4gZmFsc2UuCisgICAgaWYgKGlk
ID09IENTU1Byb3BlcnR5VXNlclpvb20pCisgICAgICAgIGRlZmF1bHRWYWx1ZSA9IDE7CisKKyAg
ICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gIG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5Q1NT
VmFsdWUoaWQpOworICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkp
CisgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CisKKyAgICBDU1NQcmltaXRpdmVWYWx1ZSog
cHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdl
dCgpKTsKKworICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNOdW1iZXIoKSB8fCBwcmltaXRpdmVW
YWx1ZS0+aXNQeCgpKQorICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFs
dWUoKTsKKworICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNQZXJjZW50YWdlKCkpIHsKKyAgICAg
ICAgZmxvYXQgcGVyY2VudFZhbHVlID0gcHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUoKSAv
IDEwMC4wZjsKKyAgICAgICAgc3dpdGNoIChpZCkgeworICAgICAgICBjYXNlIENTU1Byb3BlcnR5
Vmlld3BvcnRNYXhIZWlnaHQ6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbkhl
aWdodDoKKyAgICAgICAgICAgIHJldHVybiBwZXJjZW50VmFsdWUgKiBtX2luaXRpYWxWaWV3cG9y
dEhlaWdodDsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0TWF4V2lkdGg6CisgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlWaWV3cG9ydE1pbldpZHRoOgorICAgICAgICAgICAgcmV0dXJu
IHBlcmNlbnRWYWx1ZSAqIG1faW5pdGlhbFZpZXdwb3J0V2lkdGg7CisgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlNYXhab29tOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5TWluWm9vbToKKyAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVZpZXdwb3J0Wm9vbToKKyAgICAgICAgICAgIHJldHVybiBwZXJj
ZW50VmFsdWU7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgc3dpdGNo
IChwcmltaXRpdmVWYWx1ZS0+Z2V0SWRlbnQoKSkgeworICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgor
ICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOworICAgIGNhc2UgQ1NTVmFsdWVEZXZpY2VIZWln
aHQ6CisgICAgICAgIHJldHVybiBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VIZWlnaHQ7
CisgICAgY2FzZSBDU1NWYWx1ZURldmljZVdpZHRoOgorICAgICAgICByZXR1cm4gVmlld3BvcnRB
cmd1bWVudHM6OlZhbHVlRGV2aWNlV2lkdGg7CisgICAgY2FzZSBDU1NWYWx1ZUxhbmRzY2FwZToK
KyAgICAgICAgIHJldHVybiBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVMYW5kc2NhcGU7CisgICAg
Y2FzZSBDU1NWYWx1ZVBvcnRyYWl0OgorICAgICAgICByZXR1cm4gVmlld3BvcnRBcmd1bWVudHM6
OlZhbHVlUG9ydHJhaXQ7CisgICAgY2FzZSBDU1NWYWx1ZVpvb206CisgICAgICAgIHJldHVybiBk
ZWZhdWx0VmFsdWU7CisgICAgY2FzZSBDU1NWYWx1ZUZpeGVkOgorICAgICAgICByZXR1cm4gMDsK
KyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOworICAgIH0KK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL1ZpZXdwb3J0U3R5bGVSZXNvbHZlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNDBlMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvVmlld3BvcnRTdHlsZVJlc29sdmVyLmgKQEAgLTAsMCArMSw3MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAq
ICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgor
ICogU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWaWV3cG9ydFN0eWxlUmVzb2x2ZXJfaAor
I2RlZmluZSBWaWV3cG9ydFN0eWxlUmVzb2x2ZXJfaAorCisjaW5jbHVkZSAiQ1NTUHJvcGVydHlO
YW1lcy5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1ByaW1pdGl2ZVZhbHVlOwor
Y2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9ydDsKK2NsYXNzIFN0eWxlUHJv
cGVydHlTZXQ7CisKK2NsYXNzIFZpZXdwb3J0U3R5bGVSZXNvbHZlciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFZpZXdwb3J0U3R5bGVSZXNvbHZlcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFZpZXdwb3J0U3R5bGVSZXNvbHZlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlld3BvcnRTdHlsZVJlc29sdmVyKGRv
Y3VtZW50KSk7CisgICAgfQorICAgIHZpcnR1YWwgflZpZXdwb3J0U3R5bGVSZXNvbHZlcigpOwor
CisgICAgdm9pZCBhZGRWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqKTsKKworICAgIHZv
aWQgY2xlYXJEb2N1bWVudCgpOworCitwcml2YXRlOgorICAgIFZpZXdwb3J0U3R5bGVSZXNvbHZl
cihEb2N1bWVudCopOworCisgICAgZmxvYXQgZ2V0Vmlld3BvcnRBcmd1bWVudFZhbHVlKENTU1By
b3BlcnR5SUQpIGNvbnN0OworCisgICAgdm9pZCByZXNvbHZlKCk7CisKKyAgICBEb2N1bWVudCog
bV9kb2N1bWVudDsKKyAgICBSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gbV9wcm9wZXJ0eVNldDsK
KworICAgIHVuc2lnbmVkIGludCBtX2luaXRpYWxWaWV3cG9ydFdpZHRoOworICAgIHVuc2lnbmVk
IGludCBtX2luaXRpYWxWaWV3cG9ydEhlaWdodDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIFZpZXdwb3J0U3R5bGVSZXNvbHZlcl9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmNhMzY3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmgiCisKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIK
KyNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworV2ViS2l0Q1NTVmlld3BvcnRSdWxlOjpXZWJLaXRDU1NW
aWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqIHZpZXdwb3J0UnVsZSwgQ1NTU3R5bGVTaGVl
dCogc2hlZXQpCisgICAgOiBDU1NSdWxlKHNoZWV0LCBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRf
UlVMRSkKKyAgICAsIG1fdmlld3BvcnRSdWxlKHZpZXdwb3J0UnVsZSkKK3sKK30KKworV2ViS2l0
Q1NTVmlld3BvcnRSdWxlOjp+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCkKK3sKKyAgICBpZiAobV9w
cm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIt
PmNsZWFyUGFyZW50UnVsZSgpOworfQorCitDU1NTdHlsZURlY2xhcmF0aW9uKiBXZWJLaXRDU1NW
aWV3cG9ydFJ1bGU6OnN0eWxlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcHJvcGVydGllc0NTU09N
V3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyID0gU3R5bGVSdWxlQ1NT
U3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fdmlld3BvcnRSdWxlLT5tdXRhYmxlUHJvcGVydGll
cygpLCBjb25zdF9jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KHRoaXMpKTsKKworICAgIHJl
dHVybiBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIuZ2V0KCk7Cit9CisKK1N0cmluZyBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZyByZXN1bHQgPSAi
QC13ZWJraXQtdmlld3BvcnQgeyAiOworICAgIHJlc3VsdCArPSBtX3ZpZXdwb3J0UnVsZS0+cHJv
cGVydGllcygpLT5hc1RleHQoKTsKKyAgICByZXN1bHQgKz0gIn0iOworCisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKwordm9pZCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVs
ZVZpZXdwb3J0KiBydWxlKQoreworICAgIEFTU0VSVChydWxlKTsKKyAgICBtX3ZpZXdwb3J0UnVs
ZSA9IHJ1bGU7CisKKyAgICBpZiAobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBt
X3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPnJlYXR0YWNoKG1fdmlld3BvcnRSdWxlLT5tdXRhYmxl
UHJvcGVydGllcygpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmQ1ZWRkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVmlld3BvcnRSdWxlLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwor
ICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGVfaAorI2RlZmluZSBXZWJLaXRD
U1NWaWV3cG9ydFJ1bGVfaAorCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247CitjbGFzcyBTdHlsZVJ1bGVWaWV3cG9y
dDsKK2NsYXNzIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CisKK2NsYXNzIFdlYktpdENT
U1ZpZXdwb3J0UnVsZTogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYktpdENTU1ZpZXdwb3J0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZVZpZXdwb3J0KiB2
aWV3cG9ydFJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUodmlld3BvcnRSdWxlLCBzaGVldCkp
OworICAgIH0KKyAgICB+V2ViS2l0Q1NTVmlld3BvcnRSdWxlKCk7CisKKyAgICBDU1NTdHlsZURl
Y2xhcmF0aW9uKiBzdHlsZSgpIGNvbnN0OworCisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
KworICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlVmlld3BvcnQqKTsKKworcHJpdmF0ZToKKyAg
ICBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUoU3R5bGVSdWxlVmlld3BvcnQqLCBDU1NTdHlsZVNoZWV0
Kik7CisKKyAgICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IG1fdmlld3BvcnRSdWxlOworCisg
ICAgbXV0YWJsZSBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0
aWVzQ1NTT01XcmFwcGVyOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggZWNjZjhhNy4uMmQyYjJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTI5NSw2ICsyOTUs
NyBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR2
aXNpYmlsaXR5Y2hhbmdlKTsKICNlbmRpZgogCisgICAgdm9pZCBzZXRWaWV3cG9ydEFyZ3VtZW50
cyhjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyAmdmlld3BvcnRBcmd1bWVudHMpIHsgbV92aWV3cG9y
dEFyZ3VtZW50cyA9IHZpZXdwb3J0QXJndW1lbnRzOyB9CiAgICAgVmlld3BvcnRBcmd1bWVudHMg
dmlld3BvcnRBcmd1bWVudHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QXJndW1lbnRzOyB9
CiAjaWZuZGVmIE5ERUJVRwogICAgIGJvb2wgZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXND
aGFuZ2VkKCkgY29uc3QgeyByZXR1cm4gbV9kaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0No
YW5nZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IDc2
YzRhZWYuLmM1YWIwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFy
Z3VtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNw
cApAQCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
NywgMjAwOCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLykKICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtNDEsNiArNDIsMzIgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitzdGF0aWMgZmxvYXQgbWF4SWdub3JlQXV0byhjb25zdCBmbG9hdCB2YWx1
ZTEsIGNvbnN0IGZsb2F0IHZhbHVlMikKK3sKKyAgICBBU1NFUlQodmFsdWUxICE9IFZpZXdwb3J0
QXJndW1lbnRzOjpWYWx1ZUF1dG8gfHwgdmFsdWUyICE9IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1
ZUF1dG8pOworCisgICAgaWYgKHZhbHVlMSA9PSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRv
KQorICAgICAgICByZXR1cm4gdmFsdWUyOworCisgICAgaWYgKHZhbHVlMiA9PSBWaWV3cG9ydEFy
Z3VtZW50czo6VmFsdWVBdXRvKQorICAgICAgICByZXR1cm4gdmFsdWUxOworCisgICAgcmV0dXJu
IG1heCh2YWx1ZTEsIHZhbHVlMik7Cit9CisKK3N0YXRpYyBmbG9hdCBtaW5JZ25vcmVBdXRvKGNv
bnN0IGZsb2F0IHZhbHVlMSwgY29uc3QgZmxvYXQgdmFsdWUyKQoreworICAgIEFTU0VSVCh2YWx1
ZTEgIT0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0byB8fCB2YWx1ZTIgIT0gVmlld3BvcnRB
cmd1bWVudHM6OlZhbHVlQXV0byk7CisKKyAgICBpZiAodmFsdWUxID09IFZpZXdwb3J0QXJndW1l
bnRzOjpWYWx1ZUF1dG8pCisgICAgICAgIHJldHVybiB2YWx1ZTI7CisKKyAgICBpZiAodmFsdWUy
ID09IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZUF1dG8pCisgICAgICAgIHJldHVybiB2YWx1ZTE7
CisKKyAgICByZXR1cm4gbWluKHZhbHVlMSwgdmFsdWUyKTsKK30KKwogVmlld3BvcnRBdHRyaWJ1
dGVzIGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50
IGRlc2t0b3BXaWR0aCwgaW50IGRldmljZVdpZHRoLCBpbnQgZGV2aWNlSGVpZ2h0LCBmbG9hdCBk
ZXZpY2VQaXhlbFJhdGlvLCBJbnRTaXplIHZpc2libGVWaWV3cG9ydCkKIHsKICAgICBWaWV3cG9y
dEF0dHJpYnV0ZXMgcmVzdWx0OwpAQCAtODQsNiArMTExLDQ3IEBAIFZpZXdwb3J0QXR0cmlidXRl
cyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBk
ZXNrdG9wCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGlmIChhcmdzLnR5cGUgPT0gVmll
d3BvcnRBcmd1bWVudHM6OkNTU0RldmljZUFkYXB0YXRpb24pIHsKKyAgICAgICAgc3dpdGNoIChp
bnQoYXJncy5taW5XaWR0aCkpIHsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFs
dWVEZXZpY2VXaWR0aDoKKyAgICAgICAgICAgIGFyZ3MubWluV2lkdGggPSBkZXZpY2VXaWR0aDsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1
ZURldmljZUhlaWdodDoKKyAgICAgICAgICAgIGFyZ3MubWluV2lkdGggPSBkZXZpY2VIZWlnaHQ7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAoaW50KGFy
Z3MubWF4V2lkdGgpKSB7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2
aWNlV2lkdGg6CisgICAgICAgICAgICBhcmdzLm1heFdpZHRoID0gZGV2aWNlV2lkdGg7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZp
Y2VIZWlnaHQ6CisgICAgICAgICAgICBhcmdzLm1heFdpZHRoID0gZGV2aWNlSGVpZ2h0OworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKGludChhcmdzLm1p
bkhlaWdodCkpIHsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VX
aWR0aDoKKyAgICAgICAgICAgIGFyZ3MubWluSGVpZ2h0ID0gZGV2aWNlV2lkdGg7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VI
ZWlnaHQ6CisgICAgICAgICAgICBhcmdzLm1pbkhlaWdodCA9IGRldmljZUhlaWdodDsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgc3dpdGNoIChpbnQoYXJncy5tYXhI
ZWlnaHQpKSB7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlV2lk
dGg6CisgICAgICAgICAgICBhcmdzLm1heEhlaWdodCA9IGRldmljZVdpZHRoOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlRGV2aWNlSGVp
Z2h0OgorICAgICAgICAgICAgYXJncy5tYXhIZWlnaHQgPSBkZXZpY2VIZWlnaHQ7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGFyZ3Mud2lkdGggPSBtYXhJZ25vcmVB
dXRvKGFyZ3MubWluV2lkdGgsIG1pbklnbm9yZUF1dG8oYXJncy5tYXhXaWR0aCwgZGV2aWNlV2lk
dGgpKTsKKyAgICAgICAgYXJncy5oZWlnaHQgPSBtYXhJZ25vcmVBdXRvKGFyZ3MubWluSGVpZ2h0
LCBtaW5JZ25vcmVBdXRvKGFyZ3MubWF4SGVpZ2h0LCBkZXZpY2VIZWlnaHQpKTsKKyAgICB9CisK
ICAgICAvLyBDbGFtcCB2YWx1ZXMgdG8gcmFuZ2UgZGVmaW5lZCBieSBzcGVjIGFuZCByZXNvbHZl
IG1pbmltdW0tc2NhbGUgYW5kIG1heGltdW0tc2NhbGUgdmFsdWVzCiAgICAgaWYgKGFyZ3Mud2lk
dGggIT0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0bykKICAgICAgICAgYXJncy53aWR0aCA9
IG1pbihmbG9hdCgxMDAwMCksIG1heChhcmdzLndpZHRoLCBmbG9hdCgxKSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAppbmRleCBiNjI5M2VmLi43NWNmNTExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtNiw2ICs2LDcgQEAKICAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKICAqIENvcHly
aWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNjQsNyArNjUsOCBAQCBzdHJ1Y3QgVmll
d3BvcnRBcmd1bWVudHMgewogICAgICAgICBIYW5kaGVsZEZyaWVuZGx5TWV0YSwKICAgICAgICAg
TW9iaWxlT3B0aW1pemVkTWV0YSwKICNlbmRpZgotICAgICAgICBWaWV3cG9ydE1ldGEKKyAgICAg
ICAgVmlld3BvcnRNZXRhLAorICAgICAgICBDU1NEZXZpY2VBZGFwdGF0aW9uCiAgICAgfSB0eXBl
OwogCiAgICAgZW51bSB7CkBAIC03Miw2ICs3NCw4IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50
cyB7CiAgICAgICAgIFZhbHVlRGVza3RvcFdpZHRoID0gLTIsCiAgICAgICAgIFZhbHVlRGV2aWNl
V2lkdGggPSAtMywKICAgICAgICAgVmFsdWVEZXZpY2VIZWlnaHQgPSAtNCwKKyAgICAgICAgVmFs
dWVQb3J0cmFpdCA9IC01LAorICAgICAgICBWYWx1ZUxhbmRzY2FwZSA9IC02CiAgICAgfTsKIAog
ICAgIFZpZXdwb3J0QXJndW1lbnRzKFR5cGUgdHlwZSA9IEltcGxpY2l0KQpAQCAtODEsNyArODUs
MTIgQEAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzIHsKICAgICAgICAgLCBtYXhpbXVtU2NhbGUo
VmFsdWVBdXRvKQogICAgICAgICAsIHdpZHRoKFZhbHVlQXV0bykKICAgICAgICAgLCBoZWlnaHQo
VmFsdWVBdXRvKQorICAgICAgICAsIG1pbldpZHRoKFZhbHVlQXV0bykKKyAgICAgICAgLCBtYXhX
aWR0aChWYWx1ZUF1dG8pCisgICAgICAgICwgbWluSGVpZ2h0KFZhbHVlQXV0bykKKyAgICAgICAg
LCBtYXhIZWlnaHQoVmFsdWVBdXRvKQogICAgICAgICAsIHVzZXJTY2FsYWJsZShWYWx1ZUF1dG8p
CisgICAgICAgICwgb3JpZW50YXRpb24oVmFsdWVBdXRvKQogICAgIHsKICAgICB9CiAKQEAgLTkw
LDcgKzk5LDEyIEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgZmxvYXQgbWF4aW11
bVNjYWxlOwogICAgIGZsb2F0IHdpZHRoOwogICAgIGZsb2F0IGhlaWdodDsKKyAgICBmbG9hdCBt
aW5XaWR0aDsKKyAgICBmbG9hdCBtYXhXaWR0aDsKKyAgICBmbG9hdCBtaW5IZWlnaHQ7CisgICAg
ZmxvYXQgbWF4SGVpZ2h0OwogICAgIGZsb2F0IHVzZXJTY2FsYWJsZTsKKyAgICBmbG9hdCBvcmll
bnRhdGlvbjsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYg
b3RoZXIpIGNvbnN0CiAgICAgewpAQCAtMTAxLDcgKzExNSwxMiBAQCBzdHJ1Y3QgVmlld3BvcnRB
cmd1bWVudHMgewogICAgICAgICAgICAgJiYgbWF4aW11bVNjYWxlID09IG90aGVyLm1heGltdW1T
Y2FsZQogICAgICAgICAgICAgJiYgd2lkdGggPT0gb3RoZXIud2lkdGgKICAgICAgICAgICAgICYm
IGhlaWdodCA9PSBvdGhlci5oZWlnaHQKLSAgICAgICAgICAgICYmIHVzZXJTY2FsYWJsZSA9PSBv
dGhlci51c2VyU2NhbGFibGU7CisgICAgICAgICAgICAmJiBtaW5XaWR0aCA9PSBvdGhlci5taW5X
aWR0aAorICAgICAgICAgICAgJiYgbWF4V2lkdGggPT0gb3RoZXIubWF4V2lkdGgKKyAgICAgICAg
ICAgICYmIG1pbkhlaWdodCA9PSBvdGhlci5taW5IZWlnaHQKKyAgICAgICAgICAgICYmIG1heEhl
aWdodCA9PSBvdGhlci5tYXhIZWlnaHQKKyAgICAgICAgICAgICYmIHVzZXJTY2FsYWJsZSA9PSBv
dGhlci51c2VyU2NhbGFibGUKKyAgICAgICAgICAgICYmIG9yaWVudGF0aW9uID09IG90aGVyLm9y
aWVudGF0aW9uOwogICAgIH0KIAogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBWaWV3cG9ydEFy
Z3VtZW50cyYgb3RoZXIpIGNvbnN0Cg==
</data>
<flag name="commit-queue"
          id="158476"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>150275</attachid>
            <date>2012-06-29 17:01:17 -0700</date>
            <delta_ts>2012-06-29 17:01:17 -0700</delta_ts>
            <desc>Archive of layout-test-results from ec2-cr-linux-01</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>161488</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">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
Omynlp1GyOZYjuN9wxc4K150RzSnv4WK05RDnDOqCwQ8GXQRm6/N1w/gvBJ2n/xGfV/GOxU7JH7R
u7/YYcM7kdMPGVmR64M3jaiafJWQFU1P063kWBZV4eh65q+lPGaXJNbsC+vU+JDuSn0V9bDV9jrI
2XnLOJnVc+BZI3CSzaOdxzMyTnQuUv9qZjd7DpcbDASpuCzOWxjTRPPRInfF8lwP02advzVM6ANF
PtBMB5l4O4ctxY4zduuRInbpqzGc/XWRO+VN5ZsR9Wyn4+94WZuaAo5vM12+y5mNPM27IWoMVTqZ
Una69rjMiGa7sjjMOvdsh7wqQHEZz+qXD09I8+dUpdtMum19Vvb66OzpcsKToNTT+ZQFTo0D2if6
rmZc2o02V+MzKZ4lFZ9NdW7SgpPoZY/JEL1Jac5LEEmwI0UzbT0TbOvSPZ8xKLaPmc3EzvT8rDBv
Y20avRXl5FVMaE90q7qQWZ0gzgty+md9d5zO4Q2510wS63uU20pnL40qyyoz/5uJrSoyPYi2NyJz
bqtp7FAmHWXc0nFFbQ/i6n3AoRv/c3sL9Wj/GAoTTiFtlEEOkztVpb6zdnZXBoTjChvn9laou66e
D+rRu8lxad45lzgit5t8s8tvZnkx674WcgzTvzhlopxd87fYi9zus/r/Z2b/Ym/f/D2LO6dYR9S6
Kt0J1qiq+S6M2T9JtWP0/SBPpplmyWuwvn/N7C79Q7vbOvtLGzI5r8coFTzYmZgZwtXz0Ns/5JVO
b5100/+bHl/rKdajkqYORXlbgDFRZ4By+UOaP8kyrUR+Hi2bv+kJVCwS2f73sXvKoPv3VDey1HC3
VnEmlEp3aWw3ER+SVOmx+Nu4INPzh8fuSsCk5rH75Pi0sh3MQeLOpGJAaNdFHrsLI1ZkAu5RJ/fH
SxQ+XH7ElY+iqkT8dOVeF9SNd0R/YzmHfsh+DqR3VGgUuK14bjeddQw+6B9eRGkadzhq22+NH/X9
ux+65ljO4+UbNw+dZxjG/vy4E4c0e3OpOkPncc1VrA6KnkWZCnetXmTnZKFRHZU8JYWejpSq0rPv
qtften+8JOLOn9pN38f634/NGEXdKq8Ej2k+mD5MaunWuq6T7Qp9n9wIdf0en66bd62y/xadc/Kj
okTPu3sPi4wqTW7NnRe93lodErbfRHXW8EUnyBubhO+Ch/B9ELyPwujhPOjQN5dZszyRzGr7zN6/
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
m1MGwKvWyiRNeSmqwOhmHB1+cA9xBBIIFAehmjTl6JSLWnW4d5OgwaARMP51uqhqdAB8hAMuc3Ov
g1ZnkyFcXy6jsnoL2LR25/56CTdlQnKYFDC5KKL1wCSLXbQ0E5U32d5ToZG2Vr7gNFnzvTC+GZ76
XX5CoAcy05y3qq129ecwhdRK+TLwbdLo3WvsF4tFN4ZcqfbXsz+l93hZHQ5S21zmdG4XYVPxb4d/
BCK5R6vGxr57qX5Rymg4X8QbZfRbJO7bwC6Mi7I0SrcUk1M6DGjWL4H2LJnSDCm0G76aI8Xksvqd
HizFWkvQzoXDfY+CYnVi/ePKSsMv+Gy4xoz8eidGoU2iwvBhGmbSfdOaH7ozydtCfbGKa2NokwRN
sndn6ovw5Oh9oWlmpuOmQEvjU2NmGO3ZTiAWc+XUH7e0/Xf5blO216S1I4PfHYup/qKvjR0t+tlb
/9aMwPqCT7sJoJ0K/qDOZ3si2p+yevD2e3Uxo4QuzsWCE6cOxDGOYQLDYgR7PjcHTtxB+0Xr4cem
c7fWzNcR7hM8X3V9IKl22PTxUZ8XGT2cxPd7rZzGe+jHvvcclJX9HSRf9ibWOzsZ6E6mqaXb4R0n
raPzYDtXNEebSeGwp7U/VXUZ6WstibS9bWA/DjNnUJ3tbOxs3F25hYi9Y6DNK1tqlne7TtG7SRMX
d4nI+Wi40uB7iHLfwWgSqE2BFzNrem/msGl51JoofImRkWtbN32W+5NJ2+Z/NgFyHBU42pP/D1BL
AwQKAAAAAAC9u91AAAAAAAAAAAAAAAAAHAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS9V
VAkAA3U67k+WOu5PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAALm73UAAAAAAAAAAAAAAAAAhABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvVVQJAANuOu5PljruT3V4CwABBOgDAAAE
6AMAAFBLAwQKAAAAAAC5u91AAAAAAAAAAAAAAAAAKAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2RvbS9odG1sL2xldmVsMS9VVAkAA2467k+WOu5PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAL27
3UAAAAAAAAAAAAAAAAAtABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwx
L2NvcmUvVVQJAAN1Ou5PljruT3V4CwABBOgDAAAE6AMAAFBLAwQUAAIACAC6u91Ap/uAQJIBAACI
AwAATwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2F0
dHJpbnNlcnRiZWZvcmU2LWNyYXNoLWxvZy50eHRVVAkAA2867k9vOu5PdXgLAAEE6AMAAAToAwAA
jZLRbtsgFIav16fgMrnDdm2nqJrUOZ06ae2kxG0vpmk6wHGChgFh3CVvPyynSda50u4A6ft+DvzC
Q7cl2m5IYz1Z9q1boZHoa49IZk5JkhTZVTZnF+t6+e2xZuQaWxf2H4f97WrFyAcOHTImkfcbxtYB
xK/ag8Dz9WxOvtNdUV6WFH+8JWdgrNm3tu+IgRY7F4H5gR4utFYbA/oOjNToD6aCNvnVmYnuyiYt
i4xCKlJ6On9GXlkfQ54U/nbWh3XYa1xhZ/UL+neOxwzJS1icZxxdbxyTbCKbxRS7tKJv0QTGhEcI
OAHnHDnSKfhW48h2A/XZ+vGvjiAmOU6m3tX3X2sVNB4NAXfhWYXtUnkUQVkzKkBIWmT/pxBbpaVH
U23BbFCeBFxOCXon47xDr26agP6L6dCfgnNOC15McZU1AZRB/2Bl3IJzcehqyH4lkwRxinwPaEoh
xRTwtPgHqUBrHot4+Nckhfz8eV4WjCkTx4kNZexTr3RQ5ufY1RunBnokS55xnv7V2Aw5lHAZ37tI
L/4AUEsDBBQAAgAIAL273UAdUkZ7kQEAAIgDAABiABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfbm9kZXJlcGxhY2VjaGlsZG5ld2NoaWxkZGlmZmRvY3Vt
ZW50LWNyYXNoLWxvZy50eHRVVAkAA3U67k91Ou5PdXgLAAEE6AMAAAToAwAAjZJda9swGIWv11/h
y+TOduqPijLonI4O1g4St70YY+jjOBGTJSHLXfLvZ+M0yToVdicJnufolQ53tNtGymyixrho2bd2
BS3gagdEMytFlOSXWTonF+t6+e2xJtE1Wuv3H8f97WpFog+MdiBEgPUbQtae8l+1oxzn69k8+h7v
8uKyiPHjLTmj2uh9a/ou0rRFZwdgfqDHC63lRlN1R7VQcAdTHjfZ1Zkp3hUNL6+ABedpfDp/BquM
G0KeJH5b4/za7xVW6Ix6gXvneMoQrKDlecbR9cYRZBPRlCF2aXjfQntCuAP1CMAZA0Mcgm8VJrYb
qc/GTX91BJFkCKbe1fdfa+kVjgaPnX+WfruUDtxLoycF5SLOF/+n4FuphIOutlRvIE4CJkKC3oph
3rFXN42H+6I7uFNwxuKc5SGuMtpTqeEejBi21Nph6GrMfiWTBAiR7wFNwQUPAU/lP0hFlWJDEQ//
mqQ0O3+el5IQqYdxhoYS8qmXykv9c+rqjZUjPZEFWzCW/tXYtEhKkY3vnacXfwBQSwMEFAACAAgA
u7vdQJKFatleAQAA1gIAAF4AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20vaHRtbC9sZXZl
bDEvY29yZS9oY19ub2RlYXBwZW5kY2hpbGRuZXdjaGlsZGRpZmZkb2N1bWVudC1zdGRlcnIudHh0
VVQJAANyOu5PcjruT3V4CwABBOgDAAAE6AMAAH3SS1ODMBQF4HX7K7qsO6Dl0eyU6uiMurCMXTiO
k8ehzRgSJgRt/71BasXnDpjznXDhjhhtQIgAazeErBzlz4WlHMPr6cnkIdgl6TwN8Dge9WJKtdH7
yrTNRNMKTe2DJwe1bKt6JTeaqkuqhYI9NCRBGS98Q7BLS0DwRRzzKBiP1mC5sb70XuK1Ntat3F7h
Do1RL7B/PO47BUtp1nUeO77ZX00oymxoloa3FbQjhFtQh19QzMAQDNG5Qm+aLn1h7B20gD0ChDG+
nHJZ3FwX0ikcpcPOraXbLqUFd9LonlIugmT2P+VbqYSFzrdUbyA+IRND2NbCz1NY4LR0sFe6gf08
KGZBwpJhPjfaUalhb43wt7Su/VB5d9aHCENgKP4KlikXfBi8z35Ec6oU8wtz+C9hRONu7JeMEKn9
6/oNIuSslcpJ/dTv0mktO9WLlM0Yi943KkoWszSZ+++WROM3UEsDBBQAAgAIALq73UANi9lpXgEA
ANYCAABMABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNf
YXR0cmluc2VydGJlZm9yZTYtc3RkZXJyLnR4dFVUCQADbzruT2867k91eAsAAQToAwAABOgDAAB9
0s1SgzAUBeB1+xQudReoQM1OqY7OqAvb0YXjODfJoc2YJkwIWt/eILXi7w6Y851w4Y4ENeBcQbRL
zueB5NPCk8Twev9g755t8uKwYHgYj3qxT9bZ17Vrmz1LazR1DB5s1axd13O9tGTOySoDv23IWZUd
xQa2Kaq0yCeMUpmy8egOonQ+lt5qvNTOh3l4NbhB48wz/B+P+04lCpp2nbuOb/ZXk6hqOjQzJ9s1
bOBcelDALygTEGBDdGrQm6ZLnzl/A6vgdwBJhi+nnC+uLhc6GOxkwCbc6bCaaQ8ZtLM9JalYPvmf
ypU2ysOWK7JLqE8o1BC2tYrzLDxwXAX4C9vAfx6UCZaLfJgvnQ2kLfy1U/GW6joOVXZnfYgkAYbi
r2BVSCWHwdvpj2hJxoi4MNv/kqSUdWM/TznXNr5u3CDOT1ptgraP/S4d17pTvSjERIj0faMmEFTQ
YfxueTp+A1BLAwQUAAIACAC7u91AE/3mmmIBAADWAgAAUgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2VsZW1lbnR3cm9uZ2RvY3VtZW50ZXJyLXN0ZGVy
ci50eHRVVAkAA3E67k9xOu5PdXgLAAEE6AMAAAToAwAAfdJBT9swGAbgc/srONKbk5Kk9a1LQSBt
HNoKDghNn+03rYVrR44D5d/PWUrJtrJbEr3P63zJNxLUgHMF0W45XweSLxtPEsPry8nFEzvkxVXB
8Dwe9eKSrLPve9c2F5b2aOoYnBzVst3Xa721ZG7JKgN/bMhZlc1jAzsUlSDF5vOpTNl49AhROh9L
HzTeaufDOrwbrNA48wr/xeO+U4mCZl3nqeMve9YkqpoNzdLJdg8bOJceFHAGZQICbIiuDXrTdOkb
51ewCv4EkGT445TbzY/vGx0MTjLgEB512C21hwza2Z6SVCyf/p/KnTbKw5Y7sluoTyjUELa1ivNs
PLCoAvydbeA/D8oEy0U+zJfOBtIW/t6peEt1HYcqu7M+RJIAQ/FVsCqkksPgw+yfaEnGiLgwx/+S
pJR1Y7/OONc2vm7cIM6/tdoEbX/2u7Sodad6UYipEOnvjZqKFHTVfbc8Hf8CUEsDBBQAAgAIALm7
3UDoXMyKXwEAANYCAABLABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwx
L2NvcmUvaGNfYXR0cmFwcGVuZGNoaWxkNS1zdGRlcnIudHh0VVQJAANuOu5PbjruT3V4CwABBOgD
AAAE6AMAAH3SS0+DQBQF4HX7K7qsO8Dy6OyUamqiLlqiC2PMPA7txOkMGYba/nsHqRW1ugNyvjNc
uANGaxAiwJoVIUtH+WthKUf/enw2egp2STpJAzwPB50YU230fmOaeqTpBnXlg2cHNWs21VKuNFVz
qoWCPTQkQRlPfUOwS0sW8QmSmEfBcPAIlhvrSx8k3ipj3dLtFRaojdrC/vG46xQspVnbeez4YU+a
UJRZ38wMbzbQjhBuQR1OoJiBIeijK4XO1G362tgFtIA9AoQxvp0yL+5uC+kUjtJh5x6lW8+kBXfS
6I5SLoLk/H/K11IJC52vqV5BfEEm+rCphJ+nsMBF6WBvdA37dVDMgoQl/XxutKNSw94b4W9pVfmh
8vasTxGGQF/8FSxTLng/+JD9iuZUKeYX5vBfwojG7djbjBCp/ev6DSLkspHKSf3S7dJFJVvViZSd
MxZ9bFQ4nZbgU//dkmj4DlBLAwQUAAIACAC5u91AwPgzpJEBAACIAwAATgAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2F0dHJhcHBlbmRjaGlsZDUtY3Jh
c2gtbG9nLnR4dFVUCQADbjruT2467k91eAsAAQToAwAABOgDAACNkl1r2zAYha/XX+HL5M52azsR
Y9A5HR3sAxKvvRhj6OM4EZMlIctd8u8n4zTJOhV2Jwme5+iVDne03yXKbJPWuGQ1dHYNLeAaByQz
K0WSlVlRzcnVpll9/daQ5C066w/vxv3dek2SN4z2IESADVtCNp7yX42jHJfr2Tz5nu7L6qZK8eMl
OaPa6ENnhj7RtENvAzA/0uOFNnKrqbqnWii4o6lM22J5YUr3VctyfoOy4Hl6Pn8Eq40LIQ8Sv61x
fuMPCmv0Rj3BvXI8ZQhW0cVlxsn1whFlM9EuYuzK8KGD9oRwB+oRgQsGhjQG3ylMbD9SH4yb/uoE
IisQTb1vPn9qpFc4GTz2/lH63Uo6cC+NnhSUi7S8/j8F30klHHS9o3oLcRYwERMMVoR5x17dth7u
o+7hzsEFS0tWxrjaaE+lhvtiRNhSa8PQ9Zj9TGYZECNfA9qKCx4DHhb/IDVVioUiHv81y2lx+TxP
C0KkDuOEhhLyfpDKS/1z6uqtlSM9kRW7Ziz/q7HZctmCL8N7l/nVH1BLAwQUAAIACAC8u91Awz+0
nZEBAACIAwAAYgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS9odG1sL2xldmVsMS9jb3Jl
L2hjX25vZGVpbnNlcnRiZWZvcmVuZXdjaGlsZGRpZmZkb2N1bWVudC1jcmFzaC1sb2cudHh0VVQJ
AAN0Ou5PdDruT3V4CwABBOgDAAAE6AMAAI2SW2vbMBiGr9df4cvkzofaTsQodE5HBztA4rUXYwwd
XiVismRkuUv+/WycJlmnQu8kwfO8+qSXO9rtIm23kbQuWvVNu4YRcLUDolmrRJQU19lyTq429erb
95pE79G0/nAz7u/WaxK9Y7QDIQKs3xKy8ZT/rh3luFzP5tGPeF+U12WMny/JGTXWHBrbd5GhDbp2
AOZHerzQRm0N1ffUCA13NBWxzJcXpnhfSsEkl4LyND6fP4JV1g0hDwp/Wuv8xh801uisfoJ75XjK
EKyki8uMk+uFI8gmQi5C7MryvoHxhHAH6hGAcwaGOATfaUxsN1IfrZv+6gQiyRFMva+/fK6V1zgZ
PPb+UfndSjlwr6yZFJSLuMjepuA7pYWDqXbUbCHOAiZCgr4Vw7xjr26lh/tkOrhzcM7ighUhrrLG
U2XgvloxbGnbDkNXY/YzmSRAiHwNkCUXPAQ8LP5DKqo1G4p4/Nckpfnl8zwtCFFmGGdoKCEfeqW9
Mr+mrt62aqQnsmQZY+k/jU0lMiyHubMivfoLUEsDBBQAAgAIALu73UCIUbb1kQEAAIgDAABVABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfZWxlbWVudHdy
b25nZG9jdW1lbnRlcnItY3Jhc2gtbG9nLnR4dFVUCQADcTruT3E67k91eAsAAQToAwAABOgDAACN
kl1v2yAUhq/XX8Flcoft2E7QNKlzOnXSPqTEay+maTrAcYKGAWHcJf9+tpwmWUel3QHS87wceIWH
bk+03ZHGerLuW7dBI9HXHpHMnJIkKRY0m7Obbb3++q1m5C22Lhzfjfu7zYaRNxw6ZEwi73eMbQOI
X7UHgdfr2Zx8p4eiXJQUf7wkZ2CsOba274iBFjs3APMTPV5oq3YG9D0YqdGfTAVt8tWViR7KhoOk
q1UmUno5f0ReWT+EPCj87awP23DUuMHO6if0rxxPGZKXsLzOOLteOKJsIptljF1b0bdoAmPCIwSM
wDlHjjQG32mc2G6kPlg//dUZxCTHaOp9/flTrYLGsyHgITyqsF8rjyIoayYFCEmL7P8UYq+09Giq
PZgdyouAy5igd3KYd+zVbRPQfzQd+ktwzmnBixhXWRNAGfRfrBy24NwwdDVmP5NJghgjXwOaUkgR
Ax6W/yAVaM2HIp7+NUkhv36epyVjygzjDA1l7H2vdFDm59TVW6dGeiJLnnGe/tXYjKcIi/G9i/Tm
D1BLAwQUAAIACAC7u91A/uyiXV8BAADVAgAAVwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Rv
bS9odG1sL2xldmVsMS9jb3JlL2hjX25hbWVkbm9kZW1hcHdyb25nZG9jdW1lbnRlcnItc3RkZXJy
LnR4dFVUCQADcjruT3I67k91eAsAAQToAwAABOgDAAB90slOwzAUBdB1+xVdwi4DGfAOUhBIwKKt
2gVCyMNNa+HYkeNA+/c4pLRh3CXRPdd5yRsx2oAQAdauCZk7yl8WlnIMr09OJ4/BNs3OsgBP41Ev
Tqg2eleZtploWqGpffB0r6ZtVc/lWlN1Q7VQsPuGNCiTc98QbLMyLJOzOKQ8CsajFVhhrC9dSrzV
xrq52ynM0Bj1CvvH475TsIzmXeeh45v91YSizIdmanhbQTtCuAV1+AUlDAzBEF0p9Kbp0tfGzqAF
7AEgTPDllJvF/d1COoWDdNi6lXSbqbTgThrdU8pFkMb/U76RSljoYkP1GuIImRjCthZ+noUFLkoH
e6sb2ONBCQtSlg7zhdGOSg37YIS/pXXthyq6sz5FGAJD8VewzLjgw+Ay/xEtqFLML8z+v4QRTbqx
X3NCpPav6zeIkMtWKif1c79LF7XsVC8yFjMWfWzUeRlHeew/WxqN3wFQSwMEFAACAAgAu7vdQFQp
IiiSAQAAhwMAAFoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20vaHRtbC9sZXZlbDEvY29y
ZS9oY19uYW1lZG5vZGVtYXB3cm9uZ2RvY3VtZW50ZXJyLWNyYXNoLWxvZy50eHRVVAkAA3I67k9y
Ou5PdXgLAAEE6AMAAAToAwAAjZJbb9sgGIav11/BZXJn7PhQVFXqnE6dtIOUuO3FVFUcPidoGBDG
XfLvh+U0yToq9Q6Qnuflg5c72m+RMhvUGoeWQ2dXoAW4xgGgmZUC4WKB0zm5WDfLn/cNQVfQWb+/
Hve3qxVBnxjtgRABbNgQsvaU/24c5XC+ns3Rr2RXlIsygae35Ixqo/edGXqkaQe9DcD8QI8XWsuN
puqOaqHAHUxF0uaXZ6ZkV7a4zRcZpjxNTuePwGrjQsiDhD/WOL/2ewUr6I16AffO8ZQhWEmr84yj
640jymLRVjF2afjQgfaEcAfUQwTOGTBIYvCtgontR+qLcdNfHUHAOURT75rv3xrpFRwNHnb+Ufrt
UjrgXho9KSgXSZF9TMG3UgkHut5SvQFxEjAREwxWhHnHXt20HtxX3YM7BecsKVgR42qjPZUa3A8j
wpZaG4aux+xXEmOAGPke0JZc8BjwUP2H1FQpFop4+Fec0vz8eV4qQqQO44SGEvJ5kMpL/Tx19cbK
kZ7IkmWMpf809rLN0ioLz12kF38BUEsDBBQAAgAIALy73UCvadcqXQEAANYCAABfABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfbm9kZWluc2VydGJlZm9y
ZW5ld2NoaWxkZGlmZmRvY3VtZW50LXN0ZGVyci50eHRVVAkAA3Q67k90Ou5PdXgLAAEE6AMAAATo
AwAAfdLJTsMwFAXQdfsVXcIuAxnqHaQgkIAFrdoFQsjDTWvh2JHjQPv3OKS0Ydwl0T3XfsobMdqA
EAHWrgmZO8pfFpZyDJ9PTiePwTbNzrIAT+NRL06oNnpXmbaZaFqhqX3wdK9mbVXP5VpTdU21ULD7
hjQok6lvCLZZKVjJS0F5FIxHK7DCWF+6lHirjXVzt1N4QGPUK+wfn/tOwTKad52Hjm/2VxOKMh+a
meFtBe0I4RbU4ReUMDAEQ3Sp0JumS18Z+wAtYA8AYYIvp1wv7m4X0ikcpMPWraTbzKQFd9LonlIu
gjT+n/KNVMJCFxuq1xBHyMQQtrXw8ywscF462BvdwB4PSliQsnSYL4x2VGrYeyP8K61rP1TRnfUp
whAYir+CZcYFHwaX+Y9oQZVifmH2/yWMaNKN/ZoTIrW/rt8gQi5aqZzUz/0undeyU73IWMxY9LFR
UYkYUz9PnEbjd1BLAwQUAAIACAC9u91AbB+gM10BAADWAgAAXwAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX25vZGVyZXBsYWNlY2hpbGRuZXdjaGlsZGRp
ZmZkb2N1bWVudC1zdGRlcnIudHh0VVQJAAN1Ou5PdTruT3V4CwABBOgDAAAE6AMAAH3SS1ODMBQF
4HX7K7q0O6DyMLtKdXRGXVjGLhzHyePQZgwJE4K2/94gtcXnDpjznXDhjhhtQIgAa9eELB3lL4Wl
HMPrk+nkMdgm6Wka4Gk86sUJ1UbvKtM2E00rNLUPTvdq0Vb1Uq41VVdUCwW7b0iCMj7zDcE2LXl2
Bsw4j4LxaAWWG+tLHyTeamPd0u0U7tEY9Qr7x+O+U7CUZl3noeOb/dWEosyGZmF4W0E7QrgFdfgF
xQwMwRBdKPSm6dKXxt5DC9gDQBjjyylXxe1NIZ3CQTps3Uq6zUJacCeN7inlIkhm/1O+kUpY6HxD
9RriCJkYwrYWfp7CAvPSwV7rBvZ4UMyChCXDfG60o1LD3hnhb2ld+6Hy7qxPEYbAUPwVLFMu+DD4
kP2I5lQp5hdm/1/CiMbd2K8ZIVL71/UbRMh5K5WT+rnfpXktO9WLlM0Yiz42KkrDTMTdd0ui8TtQ
SwMEFAACAAgAu7vdQMy0iKySAQAAiAMAAGEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20v
aHRtbC9sZXZlbDEvY29yZS9oY19ub2RlYXBwZW5kY2hpbGRuZXdjaGlsZGRpZmZkb2N1bWVudC1j
cmFzaC1sb2cudHh0VVQJAANyOu5PcjruT3V4CwABBOgDAAAE6AMAAI2SXWvbMBiFr9df4cvkznZi
ORFl0DkdHawdJG57McbQx3EiJktClrvk38/GaZJ1LuxOEjzP0Ssd4Vmzi7TdRpX10aqt3RpGwpce
iCZOySgh85RM6dWmXH17LGl0jdqFw8d+f7te0+gDZw0oleDtltJNYOJX6ZnA5Xoyjb7He5LP8xg/
3pITZqw51LZtIsNqNK4Dpke6v9BGbQ3Td8xIDX80kbjKlhemeJ9XgBTLLBNpfD5/Bi+s70KeFH47
68MmHDTWaKx+gX/neMiQPGeLy4yT641jlE1ktRhjV1a0NUygVHiwgBE44+CIx+BbjYFteuqz9cNf
nUAkGUZT78r7r6UKGidDwD48q7BbKQ8RlDWDggkZk9n/KcROaelhih0zW8izgMsxQetkN2/fq5sq
wH8xDfw5OOMx4WSMK6wJTBn4Byu7LXOuG7ros1/JJAHGyPeAKhdSjAFPi3+QgmnNuyIe/zVJWXb5
PC8LSpXpxukaSumnVumgzM+hqzdO9fRA5nzGefpXY1OynOVk3r03Sa/+AFBLAwQKAAAAAADDu91A
AAAAAAAAAAAAAAAAIgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9VVAkAA306
7k+WOu5PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAMO73UAAAAAAAAAAAAAAAAApABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9VVAkAA3067k+WOu5PdXgLAAEE6AMA
AAToAwAAUEsDBAoAAAAAAMm73UAAAAAAAAAAAAAAAAAuABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL1VUCQADiTruT5Y67k91eAsAAQToAwAABOgDAABQSwME
FAACAAgAx7vdQFwU7N9eAQAA1gIAAEoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvbm9kZWlzZXF1YWxub2RlMDctc3RkZXJyLnR4dFVUCQADhTruT4U67k91
eAsAAQToAwAABOgDAAB90ktTgzAUBeB1+ytc1l2gEjA7pTo6oy5sxy4cx8nj0GZMEyYErf/eILXi
cwfM+U64cEeCN2BMQbQrxuaBy6eF5xLD68nhwT3Z0vwoJ3gYj3ox4dbZ141rmwPLN2jqGDzcqVm7
qed6Zbm54FYZ+F0DJVV2HBvINq9IUhRHlMqUjEdLiNL5WHqn8VI7H+bh1eAWjTPP8H887juVyHnR
de47vtlfTaKqYmhmTrYb2MCY9OABv6BMQIAM0ZlBb5oufe78LayC3wMkGb6ccrG4vlroYLCXAduw
1GE90x4yaGd7yqUidPo/lWttlIct19yuoD6hUEPY1irOs/DASRXgL20D/3lQJggVdJgvnQ1cW/gb
p+Itr+s4VNmd9SGSBBiKv4JVLpUcBu+KH9GSGyPiwuz+S5LyrBv7uWBM2/i6cYMYO221Cdo+9rt0
UutO9SIXUyHS941K8+yYIovfjabjN1BLAwQUAAIACADHu91ALjqDCZEBAACHAwAATQAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNlcXVhbG5vZGUy
MS1jcmFzaC1sb2cudHh0VVQJAAOGOu5PhjruT3V4CwABBOgDAAAE6AMAAI2SzU7jMBRG1/AUXra7
JBAnWAiJSUEgzQxSG8pihJB/blprHNtyHGjfHkcpbYcxEjvb0jmfr/1xR7s1UmaFGuPQrG/tHLQA
VzsANLFSoBTj83xKThf17OGxJugSWuu3V8P+Zj4n6ITRDggRwPoVIQtP+d/aUQ7H68kU/Uk2uDgv
Enj+TE6oNnrbmr5DmrbQ2QBMd/RwoYVcaaruqBYK3M6Ekya/ODIlm6IpcJnijPMsOZw/AauMCyFL
CW/WOL/wWwVz6Ix6BffF8ZghWEHL44y965MjyqaiKWPszPC+Be0J4Q6ohwicM2CQxOAbBSPbDdSt
ceNf7UFIc4im3tW/ftbSK9gbPGz8k/TrmXTAvTR6VFAuEnz2PQVfSyUc6GpN9QrEQcBETNBbEeYd
enXdeHD3ugN3CM5ZghmOcZXRnkoN7rcRYUutDUNXQ/YHmaYAMfIroCm44DFgWf6HVFQpFoq4+9c0
o/nx87yWhEgdxgkNJeRHL5WX+mXs6rWVAz2SBTtjLPunsc1FWTZpeG6cnb4DUEsDBBQAAgAIAMW7
3UADSWGZkgEAAIgDAABOABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVs
My9jb3JlL25vZGVpbnNlcnRiZWZvcmUwOC1jcmFzaC1sb2cudHh0VVQJAAOCOu5PgjruT3V4CwAB
BOgDAAAE6AMAAI2SzU7jMBRG1/AUXra7ODRJayEkJgWBNDNIbSiLEUL+uWmtcWzLcaB9exyltB3G
SOxsS+d8vvbHHW03SJk1qo1D866xC9ACXOUA0MhKgXCezdIxOV9W84fHiqBLaKzfXfX7m8WCoDNG
WyBEAOvWhCw95X8rRzmcrkdj9CfZ5sWkSOD5Mzmi2uhdY7oWadpAawMw3tP9hZZyram6o1oocHtT
ntTZ7MSUbIu6mNCsnqU8TY7nT8BK40LISsKbNc4v/U7BAlqjXsF9cTxkCFbQ6WnGwfXJEWWxqKcx
dm5414D2hHAH1EMEzhgwSGLwjYKBbXvq1rjhrw4g4AyiqXfVr5+V9AoOBg9b/yT9Zi4dcC+NHhSU
iyS/+J6Cb6QSDnS5oXoN4ihgIiborAjz9r26rj24e92COwZnLMlZHuNKoz2VGtxvI8KWWhuGLvvs
DxJjgBj5FVAXXPAYsJr+h5RUKRaKuP9XnNLs9Hlep4RIHcYJDSXkRyeVl/pl6Oq1lT09kAW7YCz9
p7EYMzHBdXjvPD1/B1BLAwQUAAIACADFu91AW62+MF8BAADWAgAASwAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaW5zZXJ0YmVmb3JlMDgtc3RkZXJy
LnR4dFVUCQADgjruT4I67k91eAsAAQToAwAABOgDAAB90k9TgkAYBvCzfgqPeQMSsL0V1thMdVBH
D03T7J8H3WnZZZbF9Nu3hCmVdQPm+T3LC2+P0QqECLB6TcjcUf62sJSje30xHDwHuyQdpQFe+r1W
XFBt9L4wdTXQtEBV+uDwoCZ1Uc7lWlM1pVoo2ENDEuTxlW8IdmmejmicX0U8Cvq9FVhmrC9dSryX
xrq52yvMUBm1hf3jcdspWErHTeex44c9a0KRj7tmYnhdQDtCuAV1OINiBoagi24VWlM16TtjZ9AC
9ggQxvh2ynTx+LCQTuEoHXZuJd1mIi24k0a3lHIRJJf/U76RSljobEP1GuIEmejCuhR+noUFrnMH
e68r2NNBMQsSlnTzmdGOSg37ZIS/pWXph8qas75EGAJd8VcwT7ng3eBy/CuaUaWYX5jDfwkjGjdj
b8eESO1f128QITe1VE7q13aXrkvZqFak7JKx6HOjwpCJUZj775ZE/Q9QSwMEFAACAAgAx7vdQOxt
hXeSAQAAiAMAAE0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2Nv
cmUvbm9kZWlzZXF1YWxub2RlMTEtY3Jhc2gtbG9nLnR4dFVUCQADhTruT4U67k91eAsAAQToAwAA
BOgDAACNkl1r2zAUhq/XX6HL5M4fsZ2JMuicjg7WDRKvvRhjHEnHiZgsCVnukn8/GWdJ2qqwO+vA
87w+0ssd9DuizJa0xpHV0Nk1aoGucYhkZqUgaVnm1ZxebZrVt+8NJdfYWX/4MJ5v12tK3jHokVKB
bNhSuvHAfzcOOF5+z+bkR7Ivq0WV4M+X5Ay00YfODD3R0GFvAzA/0uMPbeRWg7oDLRS6o6lM2uL9
hSnZV2HQQp7nPEvO80dktXEh5EHiH2uc3/iDwjX2Rj2he2M8ZQhWwfIy4+R64YiyqWiXMXZl+NCh
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
5/HHRpVjjCckfLY0Hr4DUEsDBBQAAgAIAMO73UC3dQz+kAEAAIcDAABPABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL2RvY3VtZW50YWRvcHRub2RlMzItY3Jh
c2gtbG9nLnR4dFVUCQADfjruT3467k91eAsAAQToAwAABOgDAACNkl1v2yAUhq/XX8Flcgfu/FE0
TeqcVq20rVLiphfTNPFxnKBhQBi3yb8fltMk66i0O0B6npcDr/Cs3yJtN6i1Hi2Gzi3BSPCNB0Az
pyQiRV7iOb1YNYuHx4aiT9C5sP887m+WS4o+cNYDpRL4sKF0FZj43Xgm4Hw9m6MfeFeUH0sMP9+S
M2as2Xd26JFhHfQuAvMDPV5opTaG6TtmpAZ/MBW4za/OTHhXtgUhV7hkIsOn8yfgtfUxZK3gxVkf
VmGvYQm91c/g3zmeMiQvWXWecXS9cSRZItsqxS6sGDowgVLhgQVIwDkHDjgF32iY2H6kbq2f/uoI
AskhmXrXfPvaqKDhaAiwC08qbBfKgwjKmknBhMTF5f8pxFZp6cHUW2Y2IE8CLlOCwck479ir6zaA
vzc9+FNwznHBixRXWxOYMuC/Wxm3zLk4dD1mv5KEAKTI94C2FFKkgHX1D1IzrXks4uFfScby8+d5
rihVJo4TG0rpl0HpoMyvqavXTo30RJb8kvPs78biimQ4PneRXfwBUEsDBBQAAgAIAMe73UDjb1oW
XwEAANYCAABKABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVpc2VxdWFsbm9kZTExLXN0ZGVyci50eHRVVAkAA4U67k+FOu5PdXgLAAEE6AMAAAToAwAA
fdLLTsMwEAXQdfsVLGGXR5MU7yAFgQQsaEUXCKGxfdNauHbkOFD+HoeUEp47J7pnxpPMiFMDxiR4
u2Js7kk8LRwJDM+HRwf30TYvJkWEh/GoF4dkrHnd2LY5MLRBU4fg0U7N2k09VytD+oKM1HC7CnlU
ZcehQrQtwqGiNE1FEo1HS/DSulD0TuGlts7P/avGLRqrn+H+eN3XlLygaVdzX+Ob/dXEspoOzcyK
dgPjGRMO5PELyjg4oiE60+hN06XPrbuFkXB7gDjDly4Xi+urhfIae+mx9Uvl1zPlILyypqckZJSn
/1OxVlo6mHJNZgX5CbkcwraWYZ6FA04qD3dpGrjPRhmPcp4P86U1npSBu7EyPFJdh6HKrteHiGNg
KP4KVoWQYhi8m/6IlqQ1Dwuz+y9xQlk39vOUMWXCdcMGMXbaKu2Veex36aRWnepFwVPOk/eNShKa
ZJMkfLc8Gb8BUEsDBBQAAgAIAMW73UBTuTyHkAEAAIgDAABOABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpbnNlcnRiZWZvcmUwNy1jcmFzaC1sb2cu
dHh0VVQJAAOCOu5PgjruT3V4CwABBOgDAAAE6AMAAI2SW2/TMBiGr9mvyGV752TkgIWQRjo0JA5S
G7YLhJAPb1oLx7YcZ7T/nkTp2jI8iTvb0vO8/uxXeNbvEm23SWt9sho6t4aR8I0HkoVTMkmLvCJL
erVpVl+/NTR5i86Fw7tpf7te0+QVZz0oleDDltJNYOJX45nA5XqxTL6TfVG+Lgl+PCcXzFhz6OzQ
J4Z16N0ILI/0dKGN2hqm75iRGv5oKkibv7kwkX3ZlhCkRSsycj5/AK+tH0PuFX4768MmHDTW6K1+
hH/heM6QvGTVZcbJ9cwRZVPZVjF2ZcXQwQRKhQcLiMA5BweJwbcaM9tP1Afr5786gUhzRFPvms+f
GhU0ToaAfXhQYbdSHiIoa2YFE5IU1/+nEDulpYepd8xsIc8CLmOCwclx3qlXN22A/2h6+HNwzknB
ixhXWxOYMvBfrBy3zLlx6HrKfiLTFIiRLwFtKaSIAffVP0jNtOZjEY//mmYsv3yex4pSZcZxxoZS
+n5QOijzc+7qjVMTPZMlv+Y8+6uxWS5IztrxvYvs6g9QSwMEFAACAAgAx7vdQKBgcUuRAQAAiAMA
AE0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWlz
ZXF1YWxub2RlMjItY3Jhc2gtbG9nLnR4dFVUCQADhjruT4Y67k91eAsAAQToAwAABOgDAACNkl1r
2zAUhq/XX6HL5E52ZtkTpdA5HR3sAxK3vRil6OM4EZMlIctd8u8n4zTJOhV6YyzB87w60is867dI
2w1qrUfLoXMrMBJ84wHQzCmJMkKKxZxerJvlz7uGokvoXNhfjeub1YqiD5z1QKkEPmwoXQcmfjee
CTj/n83RL7wj5ccSw+NrcsaMNfvODj0yrIPeRWB+oMcDrdXGMH3LjNTgDyaC2+LTmQnvyrYSOW4x
xO9p/wF4bX0MuVfwx1kf1mGvYQW91c/g39ieMiQvWXWecXS9ciTZTLZVil1aMXRgAqXCAwuQgAsO
HHAKvtEwsf1IfbF+eqsjCFkBydTb5vu3RgUNR0OAXXhQYbtUHkRQ1kwKJiQmi/cpxFZp6cHUW2Y2
IE8CLlOCwck479ir6zaA/2p68KfggmPCSYqrrQlMGfA/rIxL5lwcuh6zX8gsA0iRbwFtKaRIAffV
f0jNtOaxiId3zXJWnF/Pc0WpMnGc2FBKPw9KB2Wepq5eOzXSE1nyBef5P43NM1mQooz3TfKLv1BL
AwQUAAIACADGu91AhgdQcV4BAADWAgAASwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94
aHRtbC9sZXZlbDMvY29yZS9ub2RlaW5zZXJ0YmVmb3JlMTMtc3RkZXJyLnR4dFVUCQADgzruT4M6
7k91eAsAAQToAwAABOgDAAB90k9PwjAYBvAzfAqOcNuAbdgbDg0m6gEIHIwx/fMMGku7dB3Ct7dz
CFPB27Y8v6d7t7fFaAFCBFi5JmTuKH9fWMrRvO72Oi/BPk6GSYDXdqsWXaqNPmxNWXQ03aLIfbB3
VJNym8/lWlM1pVoo2GNDHGTRjW8I9kkWDUPQJOP9oN1agaXG+tKlxEdurJu7g8IMhVE72CuP607B
EjqqOk8dv+xFE4ps1DQTw8sttCOEW1CHCyhiYAia6E6hNkWVvjd2Bi1gTwBhhB+nTBdPjwvpFE7S
Ye9W0m0m0oI7aXRNKRdBPPif8o1UwkKnG6rXEGfIRBOWufDzLCwwzhzsgy5gzwdFLIhZ3MynRjsq
NeyzEf6W5rkfKq3O+hZhCDTFtWCWcMGbweXoTzSlSjG/MMf/EvZpVI29GxEitX9dv0GE3JZSOanf
6l0a57JStUjYgLH+10aFmYiHGPrvFvfbn1BLAwQUAAIACADJu91Ap0qHyZEBAACHAwAATgAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlcmVwbGFjZWNo
aWxkMzctY3Jhc2gtbG9nLnR4dFVUCQADiTruT4k67k91eAsAAQToAwAABOgDAACNkl1P2zAUhq/h
V/iyvXMCcVprmsRSEEhsSG0GF9M0+eOktebYluNA++9xlNJ2YKTd2Zae5/WxX+FZt0HarlFjPVr0
rVuCkeBrD4AmTkmUEULmU3q+qhcPP2uKvkDrwu7rsL9eLik646wDSiXwfk3pKjDxt/ZMwOl6MkW/
8JaUlyWG3+/JCTPW7Frbd8iwFjoXgemeHi60UmvD9C0zUoPfmwhuivmJCW/LJt4T53kpcnw8fwJe
WR9DHhW8OOvDKuw0LKGz+hn8J8djhuQlm51mHFzvHEk2k80sxS6s6FswgVLhgQVIwAUHDjgFX2sY
2W6gbqwf/+oAQlZAMvW2/n5fq6DhYAiwDU8qbBbKgwjKmlHBhMTk4v8UYqO09GCqDTNrkEcBlylB
72Scd+jVVRPA35kO/DG44JhwkuIqawJTBvwPK+OWOReHrobsNzLLAFLkZ0BTCilSwOPsA1IxrXks
4v5fs5wVp8/zPKNUmThObCil33qlgzJ/xq5eOTXQI1nyC87zfxor+fySzeNzk/z8FVBLAwQUAAIA
CADHu91ABLnh6l8BAADWAgAASgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9s
ZXZlbDMvY29yZS9ub2RlaXNlcXVhbG5vZGUyMi1zdGRlcnIudHh0VVQJAAOGOu5PhjruT3V4CwAB
BOgDAAAE6AMAAH3Sy07DMBAF0HX7FSzLzknJA+8gBYEELNqKLhBCfty0Fq4dOQ60f49DShseZRMl
0T0znmQGnNWgVII3S0pnnonXuWMC/fvR6ckT2aTZWUbwPBx0YsSMNdu1beoTw9aoqxA83alJs65m
ammYvmFGarhdhZSUyXmoQDZZmYuYlAThOhwswAvrQtFHhffKOj/zW40paqvf4I687mpKnrG8rbmv
8cP+aSJZ5n0zsaJZw3hKhQPz+AMlHBykj640OlO36WvrpjASbg8QJfjW5WZ+fzdXXmMvPTZ+ofxq
ohyEV9Z0lAlJ0vH/VKyUlg6mWDGzhDxALvuwqWSYZ+6Ai9LD3Zoa7tAo4STlaT9fWOOZMnAPVoZH
VlVhqKLt9SWiCOiLY8EyE1L0g4/5r2jBtOZhYXb/JYpZ0o79llOqTDhu2CBKLxulvTIv3S5dVKpV
ncj4mPP4c6PiSCZpkoXvlsbDD1BLAwQUAAIACADGu91AMfISCV0BAADWAgAASgAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNlcXVhbG5vZGUwMS1z
dGRlcnIudHh0VVQJAAOEOu5PhDruT3V4CwABBOgDAAAE6AMAAH3SS1ODMBQF4HX7K7qsO6DyMLtK
dXRGXbSMXTiOk8ehzRgSJoRa/71BasXnDpjznXDhjhhtQIgAazeErBzlz4WlHMPr6cnkIdgn6Wka
4HE86sWUaqNfK9M2E00rNLUPnhzUoq3qldxoqq6oFgr20JAEZXzmG4J9WsanCcsyxqNgPFqD5cb6
0nuJl9pYt3KvCks0Ru1g/3jcdwqW0qzrPHZ8s7+aUJTZ0CwMbytoRwi3oA6/oJiBIRiiC4XeNF36
0tgltIA9AoQxvpxyVdzeFNIpHKXD3q2l2y6kBXfS6J5SLoJk9j/lW6mEhc63VG8gPiETQ9jWws9T
WGBeOthr3cB+HhSzIGHJMJ8b7ajUsHdG+Fta136ovDvrQ4QhMBR/BcuUCz4M3mc/ojlVivmFOfyX
MKJxN/YuI0Rq/7p+gwg5b6VyUj/1uzSvZad6kbIZY9H7RkXU2yz13y2Jxm9QSwMEFAACAAgAxbvd
QB3U715dAQAA1gIAAEsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWluc2VydGJlZm9yZTA3LXN0ZGVyci50eHRVVAkAA4I67k+COu5PdXgLAAEE6AMA
AAToAwAAfdJLU4MwFAXgdfsrXLa7QOVhdkp16oy6sB27cBwnj0ObMSRMCFr/vUFqxecOmPOdcOGO
OGtAqQRvN5QuPRNPK8cEhteT6dE92aXZcUbwMB71YsKMNa+VbZsjwyo0dQhO92reVvVSbQzTC2ak
hts3pKRMTkID2WVlBkFKlCIm49EavLAulN4pvNTW+aV/1bhFY/Uz3B+P+07JM5Z3nYeOb/ZXE8ky
H5q5FW0F4ykVDszjF5RwcJAhOtfoTdOlL6y7hZFwB4AowZdTFqvrq5XyGgfpsfNr5bdz5SC8sqan
TEiSzv6nYqu0dDDFlpkN5CfkcgjbWoZ5Vg44LT3cpWngPg9KOEl5OswX1nimDNyNleGW1XUYqujO
+hBRBAzFX8EyE1IMg3f5j2jBtOZhYfb/JYpZ0o39nFOqTHjdsEGUnrVKe2Ue+106rVWnepHxGefx
+0bFiSAJK8N3S+PxG1BLAwQUAAIACADGu91AiNEool0BAADVAgAASwAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaW5zZXJ0YmVmb3JlMjMtc3RkZXJy
LnR4dFVUCQADgzruT4M67k91eAsAAQToAwAABOgDAAB90ktTwjAUBeA1/AqWukvRPsxOi47OqAtg
YOE4Th6nkDEknTRF+PemFqEquGs75zvpbW+PswqUSvB6QenEM/E+dUyge312PnghmyS9TAle+71W
nDFjzXZl62pg2ApVGYLnOzWqV+VELQzT98xIDbdrSEgRX4UGskkLlhFkKRFD0u/NwXPrQulM4aO0
zk/8VmOMyuo13InHbafkKcuazn3HL3vURLLIumZkRb2C8ZQKB+ZxBMUcHKSLbjVaUzXpO+vGMBJu
DxDF+HHK/fTpcaq8xl56bPxc+eVIOQivrGkpE5IkF/9TsVRaOph8ycwC8gC57MK6lGGeqQOuCw/3
YCq4w0ExJwlPuvncGs+UgXu2MtyysgxD5c1Z3yKKgK44FSxSIUU3OMv+RHOmNQ8Ls/sv0ZDFzdjr
jFJlwuuGDaL0plbaK/PW7tJ1qRrVipRfcD782qgsklGRhc+WDPufUEsDBBQAAgAIAMO73UCtXb2g
XQEAANUCAABMABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L2RvY3VtZW50YWRvcHRub2RlMzItc3RkZXJyLnR4dFVUCQADfjruT3467k91eAsAAQToAwAABOgD
AAB90jtPwzAUBeC5/RUd280J5IG3koKKBAy0KgNCyI+T1sKxI8eB8u9xlFLCc0ui8x3nJnfEWQNK
JXi7pXTlmXheOyYwvJ7OJg9kn2anGcHjeNSLKTPWvFW2bSaGVWjqEJwd1KKt6pXaGqaXzEgNd2hI
SZmchQayz8o0is5IxkRMxqN78MK6ULpReK2t8yv/pnGHxuoXuD8e952SZyzvOo8d3+yvJpJlPjQL
K9oKxlMqHJjHLyjh4CBDdKHRm6ZLX1p3ByPhjgBRgi+nLNc312vlNY7SY+/vld8tlIPwypqeMiFJ
evI/FTulpYMpdsxsIT8hl0PY1jLMs3bAvPRwV6aB+zwo4STl6TBfWOOZMnC3VoZbVtdhqKI760NE
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
9nEeRwrTfCav2HCwhkgt+dIXjY/Kklu5Q4Elalu8g3457jqViPm07Tx1/LAXTaDyad/MrWxKGJck
ksAdLqBQQID10V2BztRt+t7SEkaBTgBBiG9TFtnTY6ZdgZN02Lu1dru5Jkinrekol4pF139TudOF
Iph0x80W6gyF6sOmUv4+GQG3uQM9mBp0HhQKFomon0+tcVwb0LNVfsuryl8qbWd9iSAALr+dLttP
auExK2c54v9nue/9BFBLAwQUAAIACADGu91ARFuJ5ZEBAACIAwAATQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNlcXVhbG5vZGUwMS1jcmFzaC1s
b2cudHh0VVQJAAOEOu5PhDruT3V4CwABBOgDAAAE6AMAAI2SzU7jMBRG1/AUXra7JBAnWAiJSUEg
zQxSG8pihJB/blprHNtyHGjfHkcpbYcxEjvb0jmfr/1xR7s1UmaFGuPQrG/tHLQAVzsANLFSoBTj
9GJKThf17OGxJugSWuu3V8P+Zj4n6ITRDggRwPoVIQtP+d/aUQ7H68kU/Uk2uDgvEnj+TE6oNnrb
mr5DmrbQ2QBMd/RwoYVcaaruqBYK3M6Ekya/ODIlm6LJzzErS8az5HD+BKwyLoQsJbxZ4/zCbxXM
oTPqFdwXx2OGYAUtjzP2rk+OKJuKpoyxM8P7FrQnhDugHiJwzoBBEoNvFIxsN1C3xo1/tQchzSGa
elf/+llLr2Bv8LDxT9KvZ9IB99LoUUG5SPDZ9xR8LZVwoKs11SsQBwETMUFvRZh36NV148Hd6w7c
IThnCWY4xlVGeyo1uN9GhC21NgxdDdkfZJoCxMivgKbggseAZfkfUlGlWCji7l/TjObHz/NaEiJ1
GCc0lJAfvVRe6pexq9dWDvRIFuyMseyfxmY0uMoivDfOTt8BUEsDBAoAAAAAAL273UAAAAAAAAAA
AAAAAAApABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9VVAkAA3U6
7k+WOu5PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAMK73UAAAAAAAAAAAAAAAAAuABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL1VUCQADfDruT5Y67k91eAsA
AQToAwAABOgDAABQSwMEFAACAAgAvbvdQDtP91qSAQAAiAMAAFAAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfYXR0cmluc2VydGJlZm9yZTYtY3Jhc2gt
bG9nLnR4dFVUCQADdjruT3Y67k91eAsAAQToAwAABOgDAACNkl1v2yAUhq/XX8FlcuePGDuomtQ5
nTpp7aTEbS+maeLjOEHDgDDukn8/LKdJ1lFpd4D0PC8HXu5ov0PKbFFrHFoNnV2DFuAaB4BmVgqU
4gVezsnVpll9e2wIuobO+sPHcX+7XhP0gdEeCBHAhi0hG0/5r8ZRDpfr2Rx9T/a4XJQJ/HhLzqg2
+tCZoUeadtDbAMyP9Hihjdxqqu6oFgrc0YSTtlhemJJ92aYVLLNswbPkfP4MrDYuhDxJ+G2N8xt/
ULCG3qgXcO8cTxmClbS6zDi53jiibCraKsauDB860J4Q7oB6iMAFAwZJDL5VMLH9SH02bvqrEwhp
AdHUu+b+ayO9gpPBw94/S79bSQfcS6MnBeUiwfn/KfhOKuFA1zuqtyDOAiZigsGKMO/Yq5vWg/ui
e3Dn4IIlmOEYVxvtqdTgHowIW2ptGLoes1/JNAWIke8BbckFjwFP1T9ITZVioYjHf00zWlw+z0tF
iNRhnNBQQj4NUnmpf05dvbFypCeyZDlj2V+NzfJ8wUOTcY6zqz9QSwMEFAACAAgAwrvdQLzTdDGS
AQAAiAMAAGMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUv
aGNfbm9kZXJlcGxhY2VjaGlsZG5ld2NoaWxkZGlmZmRvY3VtZW50LWNyYXNoLWxvZy50eHRVVAkA
A3w67k98Ou5PdXgLAAEE6AMAAAToAwAAjZJda9swGIWv11+hy+TOduqPijLonI4O1g4St70YY+jj
OBGTJSHLXfLvZ+M0yToXdicJnufolY7wrN0SbTektp4su8atYCR85QEyc0qSOEsvszm9WFfLb48V
JddoXNh/HPa3qxUlHzhrQakE7zaUrgMTvyrPBM7Xszn5Hu2y/DKP8OMtOWPGmn1ju5YY1qB1PTA/
0MOF1mpjmL5jRmr4gymL6vTqzBTt8rou6qssXogkOp0/g5fW9yFPCr+d9WEd9hortFa/wL9zPGZI
nrPiPOPoeuOYZGNZF1Ps0oqugQmUCg8WMAGnHBzRFHyrMbLtQH22fvyrI4g4xWTqXXX/tVJB42gI
2IVnFbZL5SGCsmZUMCGjbPF/CrFVWnqYcsvMBvIk4HJK0DnZzzv06qYO8F9MC38KTnmU8WyKK60J
TBn4Byv7LXOuH7ocsl/JOAamyPeAOhdSTAFPxT9IybTmfREP/xonLD1/npeCUmX6cfqGUvqpUzoo
83Ps6o1TAz2SOV9wnvzV2AU4SxL0750lF38AUEsDBBQAAgAIAMG73UA/dBS6XwEAANYCAABfABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX25vZGVhcHBl
bmRjaGlsZG5ld2NoaWxkZGlmZmRvY3VtZW50LXN0ZGVyci50eHRVVAkAA3o67k96Ou5PdXgLAAEE
6AMAAAToAwAAfdJLT4NAFAXgdfsrXLY7aMvD2VWqqYm6sEQXxph5HNqJwwwZhlr/vYPUitq6A3K+
M1y4A0ZrECLAmjUhK0f5a24pR/96ND57CnZxMksCPA8HnRhRbfR7aZr6TNMSdeWD471aNGW1kmtN
1ZJqoWD3DXFQROe+IdglxXk8m4JHfBIMB49gmbG+9EHirTLWrdy7wj1qo7awJx53nYIlNG07Dx2/
7FETiiLtm4XhTQntCOEW1OEIihgYgj66VOhM3aavjL2HFrAHgDDCj1OW+e1NLp3CQTrs3KN0m4W0
4E4a3VHKRRBP/6d8I5Ww0NmG6jXEN2SiD5tK+HlyC8wLB3uta9jvgyIWxCzu5zOjHZUa9s4If0ur
yg+VtWd9iTAE+uJUsEi44P3gQ/onmlGlmF+Y/X8JJzRqx96mhEjtX9dvECEXjVRO6pdul+aVbFUn
EjZlbPK5UWEah2lY+O8WT4YfUEsDBBQAAgAIAL273UAbpeceXwEAANYCAABNABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2F0dHJpbnNlcnRiZWZvcmU2
LXN0ZGVyci50eHRVVAkAA3Y67k92Ou5PdXgLAAEE6AMAAAToAwAAfdJLU8IwFAXgNfwKlrjrgz7M
DouOzqgLYGThOE4ep5AxJJ00Vfz3phahPnDXds53kju9A0ZrECLAmjUhC0f5y9JSjv7z+Gz0GOzS
bJIFeBoOOjGm2uj3rWnqkaZb1JUPnu3VrNlWC7nWVF1TLRTsviENyuTcNwS7rAxznEfRhEfBcLAC
K4z1pQ8Sb5WxbuHeFeaojXqFPfG56xQso3nbeej4Yf80oSjzvpkZ3myhHSHcgjr8gRIGhqCPLhU6
U7fpK2Pn0AL2ABAm+HbK9fLudimdwkE67NxKus1MWnAnje4o5SJI4/8p30glLHSxoXoNcYRM9GFT
CT/P0gLT0sHe6Br2eFDCgpSl/XxhtKNSw94b4V9pVfmhivasLxGGQF+cCpYZF7wffMh/RQuqFPML
s/8vYUSTduzXnBCp/XX9BhFy0UjlpH7udmlayVZ1ImMxY9HnRkVxPOF+w9I4jYYfUEsDBBQAAgAI
AMC73UAV/PI0XwEAANYCAABTABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xl
dmVsMS9jb3JlL2hjX2VsZW1lbnR3cm9uZ2RvY3VtZW50ZXJyLXN0ZGVyci50eHRVVAkAA3g67k94
Ou5PdXgLAAEE6AMAAAToAwAAfdLLUsIwFAbgNTwFS9ylYC9kh0VHZ9QFMLJwHCeXv5AxJJ00VXx7
U4tQL7hrO/93Tk5zepxVoFSC12tKF56Jl6VjAt3n4dngkeyS9DwleOr3WjFkxpr3ra2rgWFbVGUI
nu3VrN6WC7U2TF8zIzXcvkJCingSKpBdWkikJOETMSL93go8ty4UfVB4K63zC/+uMUdl9Svcic9t
TclTljU1DzV+2D9NJIusa2ZW1FsYT6lwYB5/oJiDg3TRpUZrqiZ9Zd0cRsIdAKIY37pcL+9ul8pr
HKTHzq+U38yUg/DKmpYyIUky/p+KjdLSweQbZtaQR8hlF9alDPMsHTAtPNyNqeCOjWIe7iDp5nNr
PFMG7t7K8MrKMgyVN72+RBQBXXEqWKRCim7wIfsVzZnWPCzM/l6iEYubsV8zSpUJxw0bROlFrbRX
5rndpWmpGtWKlI85H31u1HiSpJxk4b8lo/4HUEsDBBQAAgAIAL273UAJreIPXgEAANYCAABMABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2F0dHJhcHBl
bmRjaGlsZDUtc3RkZXJyLnR4dFVUCQADdTruT3U67k91eAsAAQToAwAABOgDAAB90k9PwjAYBvAz
fAqOeuuG27A3HBpM1IMQOBhj+ucZNJZ26TqFb2/nEKait215fk/3bm+PswqUSvB6RenMM/E6d0yg
e312Pngi2zS7yAie+71WnDFjzW5j62pg2AZVGYLnezWpN+VMrQzTU2akhts3pKRILkMD2WbFsBgy
iFjEpN9bgufWhdKFwntpnZ/5ncYjKqvf4P543HZKnrFR03no+GFPmkgWo66ZWFFvYDylwoF5nEAJ
BwfpomuN1lRN+sa6RxgJdwCIEnw7ZTq/v5srr3GQHlu/VH49UQ7CK2tayoQk6fB/KtZKSweTr5lZ
QR4hl11YlzLMM3fAuPBwt6aCOx6UcJLytJvPrfFMGbgHK8MtK8swVN6c9SWiCOiKv4JFJqToBhej
X9Gcac3Dwuz/SxSzpBn7bUSpMuF1wwZRelUr7ZV5aXdpXKpGtSLjQ87jz42KCWKeXITvlsb9D1BL
AwQUAAIACAC9u91At5oIsJEBAACIAwAATwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94
aHRtbC9sZXZlbDEvY29yZS9oY19hdHRyYXBwZW5kY2hpbGQ1LWNyYXNoLWxvZy50eHRVVAkAA3U6
7k91Ou5PdXgLAAEE6AMAAAToAwAAjZJda9swGIWv11+hy+ROdmo7E6PQOR0d7AMSr70oY+jjOBGT
JSPLXfLvZ+MsyToVdicJnufolY70vNsR47akdp6s+qZdwyr4ygNk1mpFkjzJ6JxdbarV128VI+/Q
tOFwM+7v1mtG3gjegTEF0W8Z2wQuf1aeS1yuZ3PyRPd5cV1QfH9Jzrh19tC4viOWN+jaAZgf6fFC
G7213Nxzqwz80ZTTOnt7YaL7ol7UCw6ZypSezx8hSueHkAeNX63zYRMOBmt0zjzDv3I8ZShR8OVl
xsn1whFlE1UvY+zKyb6BDYxJDx4QgTMBARqD7wwmthupD85Pf3UCkWSIpt5Xnz9VOhicDAH78KjD
bqU9ZNDOTgouFc0X/6eQO22Uhy133G6hzgKhYoK+VcO8Y69u6wD/0Xbw5+BM0FzkMa50NnBt4b84
NWx52w5Dl2P2HzJJgBj5GlAXUskY8LD8Bym5MWIo4vFfk5Rnl8/zvGRM22GcoaGMve+1Cdr+mLp6
2+qRnshCLIRI/2psSpGK7Hp47zy9+g1QSwMEFAACAAgAwrvdQLaAaemSAQAAiAMAAGMAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfbm9kZWluc2VydGJl
Zm9yZW5ld2NoaWxkZGlmZmRvY3VtZW50LWNyYXNoLWxvZy50eHRVVAkAA3s67k97Ou5PdXgLAAEE
6AMAAAToAwAAjZJdb9sgFIav11/BZXJnO/XHUFWpc1p10j6kxGsvqmk6wHGCigFh3CX/fljOkrSj
0u4A6XleDrzcQb8lymxIaxxZDp1doRboGodIZlYKkhb5opzTi3Wz/P6joeQKO+v31+P+drWi5AOD
HikVyIYNpWsP/LlxwPF8PZuTp2RXlJdlgj/fkjPQRu87M/REQ4e9DcD8QI8XWsuNBnUPWih0B1OR
tPnHM1OyK9uyukyrNuVZcjp/RFYbF0IeJP62xvm13ytcYW/UC7p3jqcMwUqozjOOrjeOKJuKtoqx
S8OHDrWnlDsEjxE4Z8gwicG3Cie2H6k746a/OoKY5hhNvW++fmmkV3g0eNz5R+m3S+mQe2n0pAAu
kmLxfwq+lUo41PUW9AbFScBETDBYEeYde3XTenSfdY/uFJyzpGBFjKuN9iA1um9GhC1YG4aux+y/
ZJoixsj3gLbkgseAh+ofpAalWCji4V/TDPLz53mpKJU6jBMaSumnQSov9a+pqzdWjvRElmzBWPaq
sRlUKIpFeO8iu/gDUEsDBBQAAgAIAMC73UCF0im8kgEAAIgDAABWABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2VsZW1lbnR3cm9uZ2RvY3VtZW50ZXJy
LWNyYXNoLWxvZy50eHRVVAkAA3g67k94Ou5PdXgLAAEE6AMAAAToAwAAjZLNTuMwFIXXw1N42e6c
tvmphUaCFATSAFIbYDFCyD83rYVjW44D7duPo5S2wxhpdrGl7zu5voc72m6QMmtUG4cWXWOXoAW4
ygGgkZUCJdlsPhuTs1W1eHisCDqHxvrdz/58tVwS9IPRFggRwLo1IStP+VvlKIfT79EY/cbbLJ/l
GF6+kiOqjd41pmuRpg20NgDjPd3/0EquNVU3VAsFbm/KcJ3OT0x4m9cCcpyxOZ/g4/0zsNK4EPIk
4cMa51d+p2AJrVHv4L65HjIEy2lxmnFwfXFE2UTURYxdGN41oD0h3AH1EIFTBgxwDL5SMLBtT10b
N+zqAEKSQjT1prr7VUmv4GDwsPXP0m8W0gH30uhBQbnA2fT/FHwjlXCgyw3VaxBHARMxQWdFmLfv
1UXtwd3qFtwxOGVhd1mMK432VGpw90aEI7U2DF322Z9kkgDEyO+AOueCx4Cn4h+kpEqxUMT9XpMJ
TU+f570gROowTmgoIZedVF7q16GrF1b29EDmbMrY5K/GTudZznAR3jubnP0BUEsDBBQAAgAIAMG7
3UAhyBwCXwEAANYCAABYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVs
MS9jb3JlL2hjX25hbWVkbm9kZW1hcHdyb25nZG9jdW1lbnRlcnItc3RkZXJyLnR4dFVUCQADeTru
T3k67k91eAsAAQToAwAABOgDAAB90slOwzAUBdB1+xUsyy5DM+BdSUEgAQtatQuEkIeb1sKxI8eB
9u9xSClh3CXRPdd5yRsx2oAQAdZuCFk4yp+XlnIMryenJw/BLs2mWYDH8agXE6qN3lembU40rdDU
Pnh6UPO2qhdyo6m6oloo2ENDGpTJmW8Idlk5ZWkchoxHwXi0BiuM9aUridfaWLdwe4V7NEa9wP7x
uO8ULKN513ns+GZ/NaEo86GZG95W0I4QbkEdfkEJA0MwRBcKvWm69KWx99AC9ggQJvhyytXy9mYp
ncJROuzcWrrtXFpwJ43uKeUiSOP/Kd9KJSx0saV6A/EJmRjCthZ+nqUFZqWDvdYN7OdBCQtSlg7z
hdGOSg17Z4S/pXXthyq6sz5EGAJD8VewzLjgw+Aq/xEtqFLML8zhv4QRTbqxX3JCpPav6zeIkPNW
Kif1U79Ls1p2qhcZixmL3jcqPounCKn/bmk0fgNQSwMEFAACAAgAwbvdQKW/3jOSAQAAiAMAAFsA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfbmFtZWRu
b2RlbWFwd3Jvbmdkb2N1bWVudGVyci1jcmFzaC1sb2cudHh0VVQJAAN5Ou5PeTruT3V4CwABBOgD
AAAE6AMAAI2SXW/bIBSGr9dfwWVyB3FsJ6ia1DmdOmntpMRtL6Zp4uM4QcOAMO6Sfz8sp0nWUWl3
gPQ8Lwde4Vm3Q9puUWM9WvWtW4OR4GsPgCZOSUSKHC+n9GpTr7491hRdQ+vC4eOwv12vKfrAWQeU
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
qkwcJzaU0k+D0kGZn1NXb5wa6Yks+YLz/K/G4orgCrfxvUl+8QdQSwMECgAAAAAAmrvdQAAAAAAA
AAAAAAAAAB0AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL1VUCQADNDruT5Y67k91eAsA
AQToAwAABOgDAABQSwMECgAAAAAAmrvdQAAAAAAAAAAAAAAAACMAHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9odHRwL3Rlc3RzL1VUCQADNDruT5Y67k91eAsAAQToAwAABOgDAABQSwMECgAAAAAA
m7vdQAAAAAAAAAAAAAAAACkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2Nh
Y2hlL1VUCQADNTruT5Y67k91eAsAAQToAwAABOgDAABQSwMEFAACAAgAm7vdQI2lfIqPAQAA6AIA
AFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1j
YWNoZWQtc3VicmVzb3VyY2VzLXdkaWZmLmh0bWxVVAkAAzU67k81Ou5PdXgLAAEE6AMAAAToAwAA
jZJfT9swFMXf+RRX5YEhVYlbaBN1oRPdkNi0qROtQHuaHPumMfXsyNehySq++5yVgkCqxJPte3/n
+PhPViKX04x8q3EaSdSwhZyL9crZ2sgJHBecf4RHiLiUb1u86FpZvBNn8c6qcmFOFTcgNCe6CJ7T
n5eLReBC8VUreE41b9EB9/CB9dkpkPqLkDLWjBk7ArhBI9HdKtwcQN4jn2kr1rC9Xv74/ngQfYat
bGE7m3/5tWPTfvrEJul5M0rP/7N7eomNh+2xD8Nb6yQZN4NkjwN0DLjavGAbJX3ZcRPoffUnBJUl
UrlGKGw4E1AtBBIVtQaHD1wryb2yBrwFwWtCwAc0nrp1oRwCtUaUzhpbk24juAuV0tZamhMPwnEq
QRVgDYItwJf2xYC8rYJNib1DaQej0T7v2ZiFvNpyGcECEUrvK5rEcV6vKNpgvlY+sm4Vh703v0Mx
Eiv1ScmLZJiMhxH03nt/rGGv0Ks/OUqJcp7fowii+ezb1eflThUy9Yd74Vl408GIPf23oyzufuQ/
UEsDBBQAAgAIAJu73UD+waUdQAEAAFoCAABRABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1hY3R1YWwudHh0VVQJ
AAM1Ou5PNTruT3V4CwABBOgDAAAE6AMAAI3RXUvDMBQG4Pv9isO8mMLoso9+MBBhOlBRBjoUryRN
Tte4mIwkXVuH/93MWYfCYFchh+c9OUkkrdEAdXBKuuQMrPhASAipIkJaAA+oOJongeUBIo+IT6Rm
S9hcz+/vPg/SX6x5DZvJ7OplZ5Nu8mPjZFSFyejbNnqOlYPNifPL/9ZxHFX9uOEAWwOmUHtWCu7y
rRtD+8Z1LKy0tSKVCJn2dwJbMIbWZoUEg2sqBadOaAVOA6OFRcA1Kme3+0wYBFsrlhutdGFlHcCz
r+S6kFx1HDBDbQ4iA60QdAYu1/sG1umVb5Nj+9C0/TBs5h1GxM8rNeUBPCJC7tzKjnu9tFjYoMR0
KVygzaLnzy5ffTFgC3Eh+Hk8iKNBAO1j349U5A+dvqfIOfJZ+obMh2aT2+nlfJfyM3UHTXDo/7Qf
ktYXUEsDBAoAAgAAAJq73UCc6ad1BgAAAAYAAABHABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1leHBlY3RlZC50eHRVVAkAAzQ67k80
Ou5PdXgLAAEE6AMAAAToAwAAUEFTUwoKUEsDBBQAAgAIAJq73UBXNUJbmQEAABcDAABDABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1k
aWZmLnR4dFVUCQADNDruTzU67k91eAsAAQToAwAABOgDAAClklFv0zAQx9/zKU7lYaDEidOtTTQJ
UQqTADEV0QrEE3LsS2PmxVV8XlOqfXccSjeBVGkST7bPv/v7f+djjEFGt5vMiJ31xAgdsQ6dN+Sy
hmiTDRGXSSEbzDb2963SHUpiaySG/SZsUaXUE0RxHP+XmpDkhTlozWbA8mQMcZ7kHGaziH16vVxG
LIqDOHYgCJ7zhL8Ap38ilJz3U86jGOAztgq7Lxq3p5gnCcyNlTewf7e6/nh/mn2grdrBfr54++0A
l0n5By7Ki35SXhzgI77CUOL+GYXlX/GimPZ58cADDBB0vn3ktlpRM4CXMHpPZw5CJ52uDEJtQ13g
vJToXO0NdHgnjFaCtG2BLEjhHQLeYUtuONeh+eB2rWw621rvzC6FryHSWG9Ue0YgO+Ea0DXYFsHW
QI19FHBkN0GmwdFJu/lkcjR8PuXBsLFCpbBEhGEg3GWWVX7t0i1WN5pS262z8Pj2ewimcq1fafWy
GBfTcQqjJ7eQ9/xv9uq2QqVQLaofYdRgv5h/uHqzOqQFV8n4mHkefjaf8OgXUEsDBBQAAgAIAJq7
3UCNpXyKjwEAAOgCAABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNo
ZS9wb3N0LXJlZGlyZWN0LWdldC13ZGlmZi5odG1sVVQJAAM0Ou5PNDruT3V4CwABBOgDAAAE6AMA
AI2SX0/bMBTF3/kUV+WBIVWJW2gTdaET3ZDYtKkTrUB7mhz7pjH17MjXockqvvuclYJAqsST7Xt/
5/j4T1Yil9OMfKtxGknUsIWci/XK2drICRwXnH+ER4i4lG9bvOhaWbwTZ/HOqnJhThU3IDQnugie
05+Xi0XgQvFVK3hONW/RAffwgfXZKZD6i5Ay1owZOwK4QSPR3SrcHEDeI59pK9awvV7++P54EH2G
rWxhO5t/+bVj0376xCbpeTNKz/+ze3qJjYftsQ/DW+skGTeDZI8DdAy42rxgGyV92XET6H31JwSV
JVK5RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5NuI7gLldLWWpoTD8Jx
KkEVYA2CLcCX9sWAvK2CTYm9Q2kHo9E+79mYhbzachnBAhFK7yuaxHFeryjaYL5WPrJuFYe9N79D
MRIr9UnJi2SYjIcR9N57f6xhr9CrPzlKiXKe36MIovns29Xn5U4VMvWHe+FZeNPBiD39t6Ms7n7k
P1BLAwQUAAIACACbu91AucePJtsfAACoKwAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnBuZ1VUCQADNTruTzU67k91
eAsAAQToAwAABOgDAADtemlUk1e7dqy1tqLQVsUKIm0FURCwMgkIsUXlDQgUGYIgREXEMMqUgCFg
VUoLKhoFZAg4MAgxRIYQwhQnQEBBEyJDGGQIyJAwB0hIcu6073nX+db6fpzfZzULFivJfp699z1c
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
oQEAAC8DAABPABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1kaWZmLnR4dFVUCQADNTruTzU67k91eAsAAQToAwAA
BOgDAACtklFv0zAQx9/zKU7lYaDEidOtTTQJUQqTADEV0QrEE0rsS2OWxZF9XlKqfXccSjeBVGkP
PFl3/t3//nc2YwwSuu2SpthpR4zQEjNoXUM2qYm6ZMzYRBSixqTT/rZXVLPfsWTWlR7Wzgi0DIcO
BaGMaSAIwjD8b8qFIFc0B93FAlgaTSFMo5TDYhGwT6/X64AFoW+EBgqC5zziL8Cqnwg558Oc8yAE
+IytRPNFYX+KeZLAstHiBvbvNtcf70+zD7SWO9gvV2+/HeA8yv/AWX4xzPKLA3zEN+hH3D8jf/wr
nmXzIc0eeIARAuPaR65XkuoRvITJezqz4LdqVdkgVNrPBdYJv01buQYM3hWNkgUp3QJpEIWzCHiH
LdkxrpRBsLtW1Ea32tlmF8NXn6m1a2R7RiBMYWtQFegWQVdAtX4UsKQ7L1Pj5KTddDY7Gj6fc2+4
0YWMYY0I4+ewl0lSuq2NeyxvFMXabBPfvP/uk7HYqldKvsym2Xwaw+TJK+QD/5u9ui1RSpSr8of/
ubBfLT9cvdkcyryraHqsPPcvm8548AtQSwMEFAACAAgAmrvdQP7BpR1AAQAAWgIAAEUAHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWFj
dHVhbC50eHRVVAkAAzQ67k80Ou5PdXgLAAEE6AMAAAToAwAAjdFdS8MwFAbg+/2Kw7yYwuiyj34w
EGE6UFEGOhSvJE1O17iYjCRdW4f/3cxZh8JgVyGH5z05SSSt0QB1cEq65Ays+EBICKkiQloAD6g4
mieB5QEij4hPpGZL2FzP7+8+D9JfrHkNm8ns6mVnk27yY+NkVIXJ6Ns2eo6Vg82J88v/1nEcVf24
4QBbA6ZQe1YK7vKtG0P7xnUsrLS1IpUImfZ3AlswhtZmhQSDayoFp05oBU4Do4VFwDUqZ7f7TBgE
WyuWG610YWUdwLOv5LqQXHUcMENtDiIDrRB0Bi7X+wbW6ZVvk2P70LT9MGzmHUbEzys15QE8IkLu
3MqOe720WNigxHQpXKDNoufPLl99MWALcSH4eTyIo0EA7WPfj1TkD52+p8g58ln6hsyHZpPb6eV8
l/IzdQdNcOj/tB+S1hdQSwMECgACAAAAm7vdQJzpp3UGAAAABgAAAFMAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2Vz
LWV4cGVjdGVkLnR4dFVUCQADNTruTzU67k91eAsAAQToAwAABOgDAABQQVNTCgpQSwMEFAACAAgA
ybvdQL+4t2wUCgAApREBACUAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9lcnJvcl9sb2cudHh0
VVQJAAOKOu5PLTruT3V4CwABBOgDAAAE6AMAAO2d/W/iOB6Hf9+/wr/tnbTmJbSdgrQ6jTr0htMM
rVr2tKuZCrmJSTxN7JztlLJ//TkBWuhAy0tjcPlqNKK0YPx5/JInxoRv55Kh/2QceU3kNVreaevo
GHm1uneDvg2J5Deow5luoWuqFBMcnRE/oogpxIVGvuADFmaSBuhbxHj+sOsvk0cWD7z55dsL5Zsi
mE9v0Mc0f2zVq3iV+gn6xx+3GdfZP1Eigr5S8fT3FynlpvhqrdKsnAp0+fmyelxpVBq4nhVPaFaO
0ZDpCF1nkVCM40ui/Wi2jhgjSVWWMB6a6suExEikVBJtqqsW1fR0WlMqpZDm1o8Z5RrVvQ+VmvlX
v0HnLKYoEHQMhD4wZShUE66rIdPVIb29Yxr7kRQJyxJMh6r6hYxEpntUaVWNtE6ruviRpKlfYDBV
FJn0qarmxWJTLC6Kxd8fgtr3h+bA3Na/P5zWxvdv6eTWm9weP/s7mdzWfjPpB1RS2UL567aq1ccc
rdNarfZUBX8kWRwzH2eSVSKdxHsIp/e5c90/73xp9z9dtK/73Ytev/1n57pXSQhnA/Msl+r8Q63e
ODP9I3+G6diY3psQCgc0ppriYWQiYEmYGQQh1iyhEteXNmPTwWZsHmozevvVjO403ps02SoNBQ0E
DQQNtGIDbdMWxv9QtxDIFkJ/cFMy48bxmPnpoWWsLzEE87tvNekPCIux4DhLA2L6lFdJoxQZIY7N
y6J6E1JAiq1SQAbIcEAZnqrOqR4KeYcVS7KYaCHna398uvrhZUDi+Jb4d/t6sjN/Qg+5IBeMPkgN
qSE1pIbUkBpSQ2pIDakhNaSG1JAaUkNqSA2pIfUuV0EHQlIWcvxYz+l708/WR4v6rxH7ebEQf1H8
49p77PMJYRxPS8YRUdF7yL+o+vX32HxiMMifhIlvCl66jcOl7O+96V4p618p0dHvi6a/+abGA0kS
Cg0O1YfqQ/Wh+harX6rjTiSUm8ldpcQoGRe8eIl87/n0cWv4AS+OGdNicUxGVL6w+XYP849bEYDs
CxDP/U13kAEyQAbIABkOI8M9lfknoWmAp0uGczm801JyfO71Lvud8/7Xi0+d8077U/+60z1rv2Gs
jBe/Ibf5h6omv50L1iw1V/ei2+5//dg7++x+pvfS5yAH5IActubk55mUHsVURZTqRu1oLs7Jqydk
kws+EO7TGAeZHJ/N3ZOYBcV1MbDKfJ/SgAblnZmp7DZhejsaqVDaVDxgkvoah3S+WetHpVTc3GEq
KrPiR/WfKt5s1WoWFwdM17gnqppGLGZplSUkND0uP2UPpch4UEl5uEInmy1jXK6ivultelQJJBl2
8mIr44ct7mcm9dZLfKaWZtBE2y/xTZtrrqkar2NQKv+PWZIKqdVTq/sjP6bl5fZFQEsKXa/vMPXb
9XE1G1TFYohjQYJ8Liym1TwyZhwXVVkpsIFzh/PUAVO5VAbYTKkZxfkFivDPL/BYeHmdoDgEffl4
3eu3/9vu9vqdT5t2ifFn9wtYM9SowlQM5ievV1HNFjXzc1HSMhLevpMwnVtwvv70sAzGY3nT4zMn
9yzMP/juy6UbJwyoxsGCKg+J0kRnCm8zoy5mMVOwmjfStXDMwv1fZl5vvDfJPADPja8X5xqgBJQs
Unqzw/jiyucl903J/dU+xP0yAW7OiNan4H2wSIFxlZo5UMjZHjGuZELSyg8leH9BHRu1ndRxDuhD
9LpdPT3VTPZKzKzXjdtg6fnDjgImTBWXnTIyuEa2p6ZbkhKzF3Zi7UdrKl+yVK9yfaj3lXumhjaT
13c8x5jBizfZEf3zgM5LikUYLt0OcHBp92wBcqbjj3eFzB4pCQ9EMh3869nHU7n0wQylfKHWdPuQ
C2nOdfLVMgC0KaDG9otn42UbuvFq/GTFY8GSEk6ojkSQrw2pLF73dHAhlOkuvMdVq9LAjG3bLhRv
36GcXXR7+ZJB76/Ltl009dq+s4GRBCMJRpJhc7Itm4Dy0faH6FnzNpqtiXz+Ltw6I2eaPjXPiFkY
aSzS4gsGAANgAAyrYrD5TQ3moUr4d1RP7kejW/Zs2XBBFY8aOzkFXbCn5XH1IX9zaGBecsPalroX
58UEr+3KaUAiSLQXibb/OPqQbL7X6cV1hUXbVjeYpB8n6wJX8PgCk70LJKE4k/HSmXt7QIq+RXuv
COjIRUDsb2oN0LGDgMK/WWoN0ImDgH6ogMZkZI3RBycZ+YLnb+hYo3TqICU/yvgdtTdfN11kVLyu
NUQr7MncP0ZgRWBFYEVgRWBFYEVgRWBF78KKtv7Qhh6l9o5p3jaAxpMCljSNiU+TyW7O8si444u2
ybgjirbJuCNAtsk4ZT724TilPLbxOOU6tuGMN3vak5yaUz3HJQO0DQfUD9QP1A/UD9QP1A/UD9QP
1A/UD9QP1A/UD9QP1A/UD9QP1A/UD9QP1A/UD9QP1A/UD9QP1A/UD9RvN+p3cFegeg5scqXr8V5J
nNBEyFF5tJwR5Xkspgep8qA448g2oTijx1ahuPJhGZtQnDldsAnFpTMFu1xcOkmwScal8wObXCwK
3kIbdqX/gNqB2oHagdqB2oHagdqB2oGygLKAsoCygLKAsoCygLKAssBq1MqcGgemdvklwA0U/w5z
MXkTFseU3JUHyDHNsw/IMeXbASC39M8+IMdU0D4g97RwF4zcU0T7lNzTRfuMXNrjuLN+5NBWxw0Z
HR2MWo+/eRfnX6OGTd/H5mBDNS0PjDNKbRuMMyptHYwrCm0bjDPqbBuMS8psn41LqmybjkuKbJuN
S2psvd84pMS22YAKgwqDCoMKgwqDCoMKgwqDCoMKu6nCJwejwooF9JZIPGSBjsrj4YwBW+LhjPja
4uGK71ri4YzmWuLhkt1aQ+KS1FqC4pLLWkLiksLa6iUOmetqSD4cjLA+RBITNeJ+eSyckVULLJwR
VRssXJFUCyycEVQLLFySUys4XBJTC0BcklILOFwSUhu9wyEZfR3H6UGJaLkonPLQclE4paElo3DJ
QstF4ZSElovCNQctm4ZrClouD9cMtFwargloyX3DMf9cSqNRa9VW2NQwvmI8+nW7tNNsWEtKl2T+
FXGh0UBkxl2ERBnPr/eAtEBKE70GhcWvVdzLP+a29NIRBkh9ha87OGemVoGgqqgufWBKtzbqC/nu
CsbDGRo0SfWo8kO9Gnb61FTSYo8GS0KcF7o019EOcnHBcVEM4RrX186kYjHEk1/m3WNRrONdx/J2
FeuVKZsGTJrRsPlE9XPnnJaJE6ojEShs/pTFes2zohXKHQiZLO3IW6PJJ5NM2cXi7T+Ws4tur93t
9Xt/XbbtwlnheL9zOjCeYDzBeILxBOMJxhOMJ5vj6eRNrnl41T5vX7WvNoWjqJ9JpkczKVQkhlfj
6J2EhM/eJ1mU5HHlgRd1vUE+ycJIo+vOv3vtq6+/IRVlWhtW5mxlyH/5P1BLAwQUAAIACADPu91A
lisvAowjAAD6lwAAJAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3VsdHMuaHRtbFVUCQAD
lTruT5U67k91eAsAAQToAwAABOgDAADNPWt3G7mt3/0rJt62kmo97Gx379aSleMmzsZtXif2trvX
m+szlihp4pFGnRlZdrf+7xcA348ZSUl6z93TJhGHBEEQBEAQBAdPXrx7fvnL+7NoVs7T4d6gKB9S
Nty7ycYP0W97Efw3j/NpsjiO/rS871PBJFuUnUk8T9KH4+gVS+9YmYzidlTEi6JTsDyZGPWK5F/s
ODo6Wpb9vcc9DncYLY8nSV6UnWzSKR+WzOqpU2bL4+iQqs+OxCcT1p8Qllv/qPsdm1ObpQ3tJivL
bA4Au9+KCmV+vMjKZjdnxSoti06erVtRORbN1rOkZJ1iGY+gr0W2zuNlXavgQBwY+TxOOYwxwbDb
tESjkt2XnTIHIk6gxXGUZmuWj+KCiaai2jIej5PFFEa8vOdzgl9nx2y+LB/aiBH9y619KOqJ8s6a
3dwmZWcF8wVzlrJRiZguGKdsZ579K/QNQHRhBHKcoyzN8uNomscP3pQXMOiU5byNQTTR9CYe3U7z
bLUYdwQUIppfPZnk8Zy1I7twPpWkTsYw+OiHw0PJnjOWTGeA8fe8yIF3NY7LuMPul/FizMYn+5M4
Ldj+RwFtnBTLNH4whvtNmWXpTZxLemZFUiYZLIdJcs/GfZvIaokQSz6Vv3KOkPpNMx2nyRTA0Ld+
BUny6U3cfPrdd+1I/3HY/eG7lmiQ5WOWc04osjQZR0UCqzE3v3byeJysimPFKl0+9s7NCtbFYtNs
GCSGNexQ+EiNyMdE84SiabJIkwXr3KTZ6LZviZbD6FtoeIhMahM5Z2lcJncCkdEqLxC3MZvEMJ98
OFCYs0Vpc2SOU2N+DY+aU8htY1Xt4GR5kx/fwChXkkA02x0hYLAgZZOSiMEBlgxWO4z9tjtJ4+mU
jY/jSclyhfKiBBSPo0b069Pv/3zU4I0KgLpk406+WiyAuTosztOHzpwVRTxl1gCOiXqc7N+MDw+N
pbgWM3WTpeONs6HY+Ft73XQQwxgq5+4q8WHUMYKlSILgnbVuflELXvYghgnsjtonlesJqMbXbbbE
qSq2EDeyKhB3sXJ6UeMIaBzJ/IpuT6VE5hDuO8UsHmdr/kH+/5sffvihb8lgkvmCsTLQGQlI7+7T
wpcVyFb9Wk4UkkYjsfWw0/iGpe78ionFuZol4zFbmCRaZgkwbt5hd8C9hak9xCCk0umasAWxOnyJ
fGvZFD63uvqkalRS7mFvSxDMaedfWTb3GDcovaW5oRfuoSX3/vz9723+PTr0Zl4XKdrJ2QU+cL+g
clXF1WSsHmZAvD893EYWm0wJ4jb6DuqQkjkExcL/1/0vVC+VhBxGf3RMCIQ5Sdk99GgYD16pj9ZN
GruKQDFuBuOcpIgmZ7zN7BxGt1uAbAApmsxBatbwg61owr1LPXh4+HtbD/5JWxoV3Q0NAVarRUJ8
yIGBGgP6EbdJyuMCnsPioI7yuOAa8RuhZDqodgrXDvyOYzroCUOfG/xRAqbQagGaD4w9aEqF+0NV
C6qN8mRZDvfuwBSaXhdljGhPVosRDiWaptlNnF5gabO1x7tMJlHziagqbVz8TxRFJ0YZ6UEYwewS
cT6Orj62rW8wpNuHim+zuHhVlkvxlew5r8I5kvBlnKQr0CxVlS5B1NbWmSdFAUT8wK1JH5Ncfvjt
0f5QzLJVOr7MptOUESpQp8xXDnhY+S9xnIgDdFMxXJrVfyTl7KIEfsgDFZI5y1ZlRXM9ye/jolCV
VJ3HPf1nzspVvtDTDcylZvz0xYvrD2cXP72+vGgmi+WqlNNusYK0vGGyqZJgPcFLkquiIh+BJb5K
02tRv/upyBbEf07VocagKKHg7B5spwJ+NpEuEgdk0gSWyz30i+WggYryHAveTZqNbkPYz2J8VKNY
3SDAxRRFIbVt2QOex+VoxooL2g9leXORjcFSKcRPk+nxS5cv0Td2o9aeZhXqurpqU0Hu79mQQbpu
BdavZ8I0h7aM0UZ+N7mE3WjFuEDOgpSgj0BTgs9bvYV/mqsb0dxAqpazaBTKfZ/3FquUb50NdHM2
BwFNUCV6DkJdXuU5ID3m9ewBwwb7LB7N6NPrpCjbsPwXY9itSninOajM7jLPygy36F3RoAvSPQ20
sqFzHj4nW7YJrC2B9nrRy/Of35wdR7CzjuLVOMmiMp4WiE50+tOL83d8cT9TPAzmglzJ54KdAV43
kZz8Wn+XPI3NFtBxXzGNB+TJSdQ5MucM26D8y+OR2wOolZFg0G6WTxst3rpvtV3mDOwpaCqBPIvc
hr1ut9trRLDJaei2iCe0Es0PqGe9Dj28DyJzwL1GN2WLaTkTA3+MGAhsZ1S47l+AWjGpZ8mCDnRe
lg+SeppmVjsimMW1mwGbIMVA3fGZIA6iIzmQPTWRwB1vedOm10F3ucDp4LghxfnmiWgMxkbDEBsS
DEwdfdJDAajRAZQ+Q5dTXJ6U92XDko2NwTi5i0bQc3HibsqGxjcy8YcNGAaNFaZq0IOvwwEWyf6h
lIv6Bp9sLEAh79QZ8qYNe1WVqD2BbqQ/m5xn5MraEdl9viEhuwqV/r7ocYBGGq8SL+ArKEnqLSKf
Ee+SkFf0U6xL44DmNbizM1K8MW26miAMYS9laSzud3idLG5hwsV3vYz11y6hqGbUd1cYE2zD1CD+
uWL5gxLQjW4IiMFBRkv89py7LJD5Ggdeb/Y4VUvB3rhKVQOw4tN4WbDqJiYZN9UWtKxCFnHtG9QG
Ea6tuQ/ZGkWRqQk1nDbIM/RcN1oe4QzXolzxnGAudE2l1RL4CQdBLkhuKfn129wCdUgQaptj5aSQ
hWpRZOtuwcrTEsQNzCtrNizXZ8NqwzHn0InnL8VyuwRrMm86WMTLJexGXl2+eS10Ox4eeCZQsihY
Xp6OP8UjICrW1jSoqNBs3DAQRexsgfgR1ADXiMawqrENCjCsaaNYz4rGqss3TXxuqlZe75KOMU6I
xNrq2Iq3qOk2XKSBLVBLIPv+unp6ePSt4OFKLuf1a1nR0JLbMiNuVwyNxiWuabBp64Ot+YDH2WiF
Mqw7yhn2wSVa06Aor2rIMxikSYq+CfQ5S9M6qGMDKtbtgri4gGGJebJIfgpmHLUQNkRf61zeP9K1
qGwp/ZPo0zW5A+0fU00hBFrF0puVR03am0D5YR/+GpjdSVyi5ODANc9SLsGN2lfJR9sK498cOyYk
sUnvgcHo7L9DyOOs9wN7XPxk6WPqaOpLG64gGy2DdR7txWwBtUxngjkDAFIT4X+m6OHz3BatWn3F
hsKEEuzFm4jNAG/Tkv47vSSdWrhMRLehJcJrqGWxk/SsrmeIJZiNvydFcpOyU8sUMRZAjRBxT7kQ
zf2PUdcya0x99aSiP5NJRimL83N0Vt7FadPe51vcIOsYk75FbdxXrqSL15cxhk9pi54NtEvD7dLc
GSXQoGrIJqR29PTw8FCZ7JZ2LB4Woyb+bEdxPi3ktAKoS+6bacq6TUA0wh/IfulDEwkgGvWjxzb6
Gh3mueOTdKakf2E53LJF+nAxy9Y/KTeP9Gg1W56bIMxJXDbimuAH3hJQK6qwEj39vBl8BSRfgUNt
S4eH7WUUVSHChMRuOwIxaxnDhuAFgQz/5hJYixyaT9+gaEdXBhCQxx8r7NX/P4MIWdAbh8G9lz8V
DPf2NsuJmX4SdPp1+Q7+mpwa1+Mkj/797+hJmo2oX1hxF3wj3NLuhkmSsuNej+9rD51NFIDB3j1P
301csPdxaZg8IYxdjZozJHaGVAxjLytoiSE7QjNlVpZLwNT1jwQqH5zovp5FzUYPqJ3lJe165YcW
7tp7NyC5wSKuANKAzlaL257lAzF9HyE8t5wY2MD23I1/LLbC6vQ6Ql3MN+8aL5oWvgFuGL8Gvdjb
BIv5Q981Z/C/0Oq35lP1XqDlxhGwj+6zxShNRreg0/xNdTlLihbsxKsak6AZHgx6WGEo/pJoa94K
ufPU1/dk0bSjYjWhv8XxfeGMAGoxMC5GzGuo/41eEBeK23cVFPXlGtfMgo7NK1DRU2mYrcZk+qBo
Pj2vh425mHDZp5z0yJn1pBAK6EyokabUJ6DnRuUqTi2nfSGrWcYnrmlemTweF387f99w17MES65b
Lhrpd7dYpgnsDyLTIYcNOEBZnf8KVg6Z7UbjKrPd7ufvcbpiqh9qaFnwhqdFD0MJRgOGcPlFf/iD
1Rb/q2jceHl6/lq6CkEGe+0iEz5R+PzN6Y9nDegjcr9cnv18GfxATQ7oc8tx8dPYzJk19kQVZ066
unNUkWcjVhQ/arH2EmxfZMx3N5+gvslMJIv4ARD/2LUd48YHsH6vCzpPa1XZh/axW3e5KmZmv2IP
YDcyjyY9YWx9BM1Ix1BqzlC/aD24ZzOTPSpe1redBsYy0jVVKXTXeH96cdHQ1AhrilXBimtmyFiS
EZpIBnBrhrdY9oZ7UY4K2OjN+cXF+dsfreWtD07m8S0DmZmzqJzFJW7wMD5KBdIQKYtlAn+CfotA
CXTEui7vywgxx8VswuVN1jCvkehZnuJ2KxjBPgQO8MGG7YtASE10JM9UrDNyq0t9+v253RFpacJx
6So2eCJL3RM8q4YQBsAzYR6hwAthTID6APt17MpBu2HgDLpmYI87DPH5h9OLV/4YeXE1gXXowRcR
+PL8zdm7ny79/uWHagzMQ/utcVAr3oYViiMIwPQPKOQe2VTI0hNUt5kLehVUazxh2QRBVWzUbnc4
NuGdjmMOJMJbwpt4zjKK6jwxELRqcO1wX3quMyXhxFAdNvfbRI1Tzh+8gaPvsayLB2ECkzoPGhpY
Uprh0Z/rUNsCFQf7L0VGWVgOOgGXCCLyQfsuneM78neV89RycIo6bbMjPJ5s04kX/UY89mwfotNS
S39sx39tbjVOJhPZBv9tHYWFZSAaEPwo+XqJ0Q9aQ9LADipGxpvwDrEi9sjLoh06XmPdLXtcW32t
rV6E7eUfppQo1D9ka9vQsgwOfozSGPBzsi+0KhAY7njleS1uNJphU+OZwQ4UXkC8ud8ImnlJcQ3q
m8JTroEifOPpdSqriBonuA+Rm2NRZzgo86E8YpeFg3JsbSaDG13DEm3xPRO2Miw8rHStIioCQU4m
hL6PgHN6VGMwbmks9itNF27sb7JenMg671RBYO+KCIMOLU/hhbChCJoQOqIDZx9/HZAv6/jOlC88
RsfcCm4EJZASgATxLTA1pqC2fb0xGFNkRtAE+RvN02vq04m02hF5ClDitd34mHCfOIWf16UQtnZn
j87ywpUyMFZLiITcVt2GJ62QUMWU9aO0JYejcZ0WUMuRah5RXN+OoksADFFnomQTCWlzVjwn/M7c
35GwlXbY2OG204sGgqF/N5guPukrKL4T1b+U8qHxVxJ9N7Fj0jvUzaNHHpub/fDiEKU24oO2QKGQ
kafEDiqhCdtttIIZtBHX3x3YJr4yxIdp9eMIbSVHo7zG8usly0cq4monokk8CHwTTQD6F2j337ca
Ld8y/j9RADSy1pcsV/gr2iyRGxtN1LC1h/6Eal+IZ5VJ40qo1IMv7L26A0Votwtj1PkQ/kBDd2gf
mkCVYKAxbsGbIli4HWXL8rrMGeP/8rdC+A2mWVardryQy8WITZJGowZLjj45ALWnvmUPUbKgftxt
84Kt30swAsSzqKnDHOnUCtrjgRX8ZTOiXIgS+BXU+BhyiWuOJcUrava9ew6GqYvRARK3vhO3QnSt
cB758jk4JwqJtu4meLgPloM+W6c+3eMWKusW2ZypY36+RvGsXx6YcmevdnJHj63QaRmgSODa0YzF
Y0IUt2LnKshPdpaXzZaxiRC76cZgdkRMzVtTAG5TblGkHwVLW8eDHlQdEHS6DMRjcqkvd0P1JEQD
f/vZ0CdwXNCLS1Pys1pY2r0bj8dROWN6DU64fYYn6as5LacoTlOqQ979NEH3LSC1y9o34qL5+NCz
swRUWdGhokZgMIMSaQgUmg2xZ1j/M/rhoso/9Hhtb+UZJ0jmFAQ9WPYiwdoBL1b1CYeDPW3L7eX6
efIyNMWfv0G3OQJ31cYm1vxYM1nQhX1+C93UHzaHKOTuLkJMwo+IPCapcLqELiihluVQ5J6H/zLN
BLKwtuRPs+vKvXslUPJ782OTLx0UB5VmUzkuKoigYOPQhO/bxsPRGlpGYIQTKJhRuhozeddNWAU9
MrvklbMZ2PjY15qJz9AOz4boaEhWwpUpgfAVWUFa2zkRokLwyKKK0QI2xOOeWw8p4VgYAd9cRqe9
6laSo43cm0xFmoyYfY/J1Tx5Mm/yOyoOLF4IkmKZxiPW7P3P1a/Fr/fx4ceDf6t//a43beMiJ5gw
a39dgYiK6VYI5UMhio/wGtk8XoCFSicCdKv0Eod7AZoMFNVJ9NsjrEOjqHsNDddxjmfbwtVY3E0j
up96ss+v5tItbHEpF/+9Pxwss/RhiufGeMsaBNVh+zA6wj++ax8d7svmIOHS429GoxFdObybkhCw
Osebx1+j9yPq/gj736V7VPBs/FzGWpxEKoBQ2gUxIubMF5WR0idtjvPKq5sHAy1VgarTvFl983DV
V9TwuYzUtnAAi4l/Nq1YRJmX1sWs6lpmNKoudQ8mTahkEfrVdCzJaZrD14cP7I7lBW2ddHMedI7s
3xV3hIombMB5TXcriT174HwXQxC6uK1YCTvoPwhCAusoDCa4KTdA2MdA4Q/9va1H4s/ZZxPg0QnX
Do/Z7tDlT3t0iilJtlKMNjceXStdfK64F3DFG320SfQYWJYAI7wYMEZLcoodlFIQEHNZTFkpLjL8
5eGcZpmHcgtlaNwwINDkrxRyXwMMDWWmQu/lmnzOTekTCUrtvvViMm9D8NFt1xm/ItXS+2WxM1G0
idvRjRPY8Q7V+YLB6iyzqFgtMTQyStl9MsqmebycJSPCmtTGAqbLDuG65Me4VfyAHeoxO/FfN5sa
31Q0tuJSuFLiOLJ/omviDkOiiujmgZvnqPm6ngwTs4BxVByNE45PMIAMt6riekzdSA+d1SgGubnt
jd+WvFO67YkGFPBn8xV12A/d69ZABgYyzzASTaUGcbx12HceFLIaJpBsIGbwWYSgzDvJgfslwXYm
Do+tmr0asbK5VbPin8SCMC+QYAPYrfnSylqBal1wYfN2Nb+xdahakjvIigopcGX2IbaRniyzZICD
OXeVPMfYWxN1VoUv65ZxDrhqra7lO8aAp+oCK6IXjHDZCT+qUGuVbGHVWB3Y59vaiAjpqWobQspd
aTkqQM+iGgvzOKq0ffuOstQXIU+iGqPRVEwKH3OUQc0WVGdEexzXe4z8+u8sm2uT3SjCc4n1u8UL
llKELT9gM79fY7KelzHyKXz/vs+B3vKN1j/QqIbiHzChmVH+iixsrI8f+BeCN7bbWWD+GFX02/cB
qA7sDmtA+IOiU5jnKv2PwZWr3Ap4Hhl1qm42jpM7yUyqun1nkpIeOTmHrJiCpCR7Azrv0mles/dr
p3n1P792Pv6x9Sv6+3utq6OPDsvzW/Jb4UVVbZyoqGF+NgWkAxMFMl6hbRKmLW+0ZlMC5i7PxCX4
FkjbbWzsw3mcGqFeuUTgMVVNE7QIpgKiW4W45+uuJZf6rAvbseV9w28yU3wZ4NaqRjzrFo7IybvV
CNLApDM/QKqbCbuxOSVC4apmJDGsVcKnJbhELJVSiqvW9gVtoVv0vfy+E4hUhq5Z21e5CfsXyWRS
f9c3vsJAoN+d7OMy2f/oXc/+Ois4lLzM5Tbp1HfLrauLItWDNxZjIMZBrx4POeVcQK5LWp0weTXr
ggX7RrqHEBttkJ7G6ZN9iNz6mpCNo8+WH28UMgpt/gmbh5+Hlg0Z7Eh+C1paqIrLvHvLI2ctWh2N
83iNHN3yFyN+Mlegs7DdeGAZIarlhsNqlGSm7y+Rv2DqvsJvDsxDn4CjwMCEoX0AQI4sJXGGefEw
G44DUYjTXvQ06tiDFof6P4P69kVtq1Jsltky1I0QwdX9/OL2w8Wz7ihE+VPKa6CvBO/JlNc8SVVd
3PQuOQ8brbbPED4zcDv/TbYq2LtVGZTLdEOgSykT2fiSJDGFvNtFXTPt0PnLD6dvzgJ2vjwBPJ+4
7aOkiPh96DVr3LFojiiNyXufTegIUFGmXhi7PsegrDXEoF5FBrbkwzLXVzXZ3kBVm26Rpps1A3NZ
XdwLb9l37eVt8fo2RgRElZKsGHLFbHwVQjr5NExFrzAzVaDK/GGCip7pPb1oAzujylH6AIxDaxcP
vIvslAXFmOuBDnBHBYfUXBzhyb0Q79fiOrSxY64Xh2HxRlQdUeWfQTbZsElstkBsOcUkNauh/mJC
/cWHCkIyAJTLSIMpn2iaOKSs2Cu6PrBa9ucpGkJ5FTw/VZ392WRu9Fgb07q2Qj6toNNqa+AVV3hq
VLVaf/F4fIZZgtHjwBBug6iBjNewZbsjjXQuqU2wgIjVoEAfaEj8zI4cenfJNOZ7eH5qZxbiomSW
GpFTY1cTidqxUObUky49u6LIbivvVGKPj26fHOe/sQcaoiWL74yka6THsKA7Z2UM1VEo8IJilkxK
q2RU5ikUVMjMYp1gkGyTpzToTvJs/nwW589xTyvai5+WQMHnHaJG0ji22MwezHUxyrM0vcxe4qsR
FLbksOUNsNtt3wH6aTugb2HnvTXM2+1gvse0BsAwW8NNt4P7Ot5h/KweJs8L8Fxz3VZAR/VAZXqN
XcGW9WD57bxdgU52BPqSL6wa2I/+SvOZM2TK4kJz27HSHNChYYxU9OCMvxoVySYhTGQurfpkK5vx
TY09H2jGo6+IvlyR2xHSl5t2/Oy2skRF5tSPe0PnB1+VEqYc+Y9SwxUsX4cYX4ctDLDCt/OZTC18
clTxqh71jyFEPIkZQiWQdrF+PM1WeNS+JA11F8wI+lkdeuIw1F0g5czX6UzI3qrJLfXkW5ufTZ3X
5C1VWX1MR02pD4tll/x4Cf3zffv6naoQOgQTRpq9ewq0kLEhqr7WPWPAtWQ1xt+VxPZjRQLoQH8U
ThLobJtegChH1ibObsQPFF8aTYPr2a9WNekGFkj+m+y+7hTYevTB2vj6cFy3rlFjxyMU8TaD17qb
0EUVEynPr13d1jjQbAxmT4dydRC5Bj0oGSxzHqZuDXtfZiM6Gyc8eHLQg4pmOHG17zSEipl48itM
h7H5d3YxImz3lj3wJFYWC8qUCEaRivhXJ8wMBIPYhFUiBVu4zoKt8c0mwAl2JGx0yyO0f11QbHbU
8LoSY7UmxcLkU5Ysmqp7gdJWdDEdNcLvKt7IcfsQdhYgSmjiEzmNoOFg6WcrGkyqtt0NQdU0GkSH
MlEPLxieRKYh6CVYFHmOtFcNkDszM3JvqYyV78lqr7uzlIJdSWQwDshc0Y+6/b9xP67GLRp8yWh2
wpiktouujOOjqIJqG3KDRjcccXwMm1SqIVh1uxpHap6tP4grHKp6vYOv11ONkgKvUnEHHMi2LB8X
UTPpsq56rwij5u4StsawuRYGdmC4+yeMuV7H0Aa+4p0aTIiERxrwE/3m8lE8TiP1IFFXvHK0GGPm
cEG/pvX757b9/RdMH8eRpTOTTvT0MKT1qtOSPp/FixrLx7d+K73R4af+rCyl3B1pg6w9kshWFgrR
DRuhecRfhaLEw6w0SarYvLtVRlY8NfFWgoGbYb+FrCx9hfYz93tWJCZMYjZfrjybyx2al5e6XoRu
JVq4FJWRqO4MaUCC+YAERYbHgdm02dgAHNZQo70Bg5Z2b9Q4SEE7gzVRFB44291ouEj1pYo6LrAD
k6u1t36eS4T8aR3ed+4oIj66K5GrjC811d87ev7vH3lCcYnxnQpeUfmuHTwrXiIIj2abYZDOb7Sc
+PTaBaMPhBo6m91vzrut0aN8aSag2DaKoqaObzNJJL3bFtmu8SotHl05Seg64m3FhtsA6Vwl6+SL
lbWpssTTJfiYlrlzw4ALgWF1+izRwVb5s3hd3ci6e4i9XfEPYOl/VLU0O+rTDYr1vAD06XSdlecl
mzc9Irajv168e9vlN4ySyUMTuxCbZ6sy5cmuoiC+GobSxOxyWtWlqROwof8qAhCct7KEWcVxnpgB
GgbI9II1Cag7H2PU6DQ4N2EZTmmN9Z6MnRws4tU1K2obi5Rdf8LnCSbInI/Q0Px1bX7fPh7BflJU
MGnbiCshlGG9ckSzxUiIJP/+M5dhPKfFTwV7K7Ytm6XXlrvyYEc8ecZuctJ+MyFMTbeOeU3KyN1R
t3fjLqOOzMphr7RN6UDwkNQodDw55ieTK7eYcNplU5r4b0TeCR6G3op0AvkrJ5/Wx1bkxdRR7mJ8
yvcyk7R6Ja71K+YRiRKcg12Vbrkij1tdQpPHlp3l9z802mQ+vSry0XbDtSLrWlVvm22BbFW4n9H3
22zhdq/puCNt3CSQ9d3oxAjyDVQ7rXbtLIvnQeyWKpd2aH4fd3ugA9beBzsyxHpsUCDDHzlST7RR
otQf6TZ64D3FUHBKdCxePbTfDNiGMV6K6g5K+u6D8yojSppVjmFm1VjTBwxZ5mhRzKGtcXT4uB2J
+btGKxgMU0XH0IVwE7aOxfyd7UE2Hzh0feGCzlv4u6uvPVYh3M2Az6T3KzgR7o1wys7Xqk+KuXkd
fs40qxhdmsStwnK3GraNUXObxE6UW76iVV0Gp8dAblphjbwBw8LSn2Rp1OhN0yKR8PHfVvh10y3B
Bx70g+e0PLjr0SwN2REUJ/MiWzvRkk+qYta+sfHjYZQiDCzhyYNlDc68vie7fsR2mLmH/qZ4INht
Lxptd3DGFlenOjKyDdNVIpm5hq50tMHytQhipj/x/KYN8/LKgq6sZRN/w0ax2IYbjycpfWWHyW+X
e8U4NTLBYOoHM/epuNRnCsUnstxIemJLw+oBHBx424iZvD9Hj1nukHVHZPgJ5t3Zc2oMZV4gfjFI
pQWqIbVOEmS+f9lwMgYlY/EWpsyWk7vVjfQ57heCgrJZ+jc6HOX9ofhd3Uo+kW4348HqVuMvThdm
UBEHI9KRWcl/qrICmZ0nPPUJZXavSMDi9CQg2eMw64iUIirxkJU2ROZ/srlbZxkxny01DSGQBECf
97GxHzLzZwWfYwgmosLXV2GmyixLb2KXK4ynWcGGZvtD2PGRWzVpR5/a0W0E4idKMeEY+rFB/dP2
DoQKPnqCJdzlS9VkSECbfk3wK54liQFa3cbiEZRP8V3Mnxc/vsuScbO1r1+ZqXiGan8ou0xT/uzJ
zpArX4faH8pPu0MHEpv6wn0tx9Ki+0NRlR7r8SbEAEVKlk+QoUGsNrwdfwZ4wH0ZuDB9p+V+hHlo
Tmj/ioeo0lshnQEn+xvcl/tDyhmgIesVrl4h3oSWtZveFqOQj2B/KLbuHNQGFLi8PdlH9pYHsVGy
AI0bj/FSA2XIIRYXB6pMnoNylbVvkdY4zd1tCJY/hS82CWjQow4cduCvI0sRsUGCJvhcXr5aWnpQ
pjXaHywFIzWKMlsukS9WiwVupVmcpw/AWEWBG8ghyhcoxrdUcY7pa3fQWw73qxAwXnFw7QozRRZl
1atqCSYZP5On90WonJ7KDaXKkjJYwPYNoM3PMrQ1kXm3a8paJbNTjUFNgECMeAZel991xuTPRcl+
y8RDhmgwixEHr3NMCgmgbih7x7qFuFg+kZ1x0Y+cGHgQwcQjLU2EwHiCwAkeZ0XAOSTkpxmmmEI3
B6MTQPGcKL2fVeYPhFxA01ZysvUYx46sZLa1mQm/0PUlRCeY86waIefxoV1xspu3vfnlOegQt+XK
SEq3Ea8NGV5hM7P54ZcdxxIAocajeBR1PjBLBLveiBLn0RK2U+hVDsp8l8ncXOvMbMshvs4Eun+E
xg/muDuOlFLmhdciE97+0P6NqhaFmK8gJFCgO+xYbJhUpkFaPxVEaythxzmZwTs8g5wa+7ZpRUxK
bJ2KxN9UkjWCB6jhzCJ6Y6mOjoPJU5qH7i7s85NZWlvznU5f2zLLgR++JGOUanB03kWwkao+B/D3
R94JamNjx1bye9fDVtl3aJdV2/n25HWON3ag7GN1SCaFZ8jTGv8Ukbt9Bz1uQg/3Bk86nejV6fO/
HaMaXtBp4rUYLT1v1f1U8JAcSj45bsMqjTGGJ8KQPRgobjZXi0Klpy26e+f8GmuG4TvLhIsm/Mxf
4ORhcFKjcvELeiwnp+VDN+p0ACuOXlTko5N9qJqtchAoPbXUOF6UOVCOg1ImZAvE7mTf3sNhPUo6
ufe/UEsDBBQAAgAIAMm73UDgIjBvTSQAAAlOAQAmABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
dGVzdHNfcnVuMi50eHRVVAkAA4k67k8vOu5PdXgLAAEE6AMAAAToAwAArZ1d06M4krbP96+8wZQl
8Xm43TP9TkX07Ox2zx53YJBttjB4AT8f/es3JbCNbZDudFXMRPfT1pVC0p1KpQQ2eVMd86Fqm/5L
XpbVUL3pYOjypt+13THIr6V/OQzH+t/yGX35MyC7QL/pZuiDqgkOeVPWunPw27YrdRe0b7rb1e27
gyzaZujamqoLym4I8lPlgvs+6M41Nf/zpF3tLatOF2PL60F3TT7ooKMOdL2GrCY22FV1HRzbUlOf
u/I97140Z1ldLhW0p7yohs+XjFlGTdu8ZjhUx6rZB7tzYz/vf0wtHGOEdTGjzwXHcz1UJ/Ksb/pz
1+VHt3d5HVU303wJSt2Tf39ScxuaEc5JczPqDy1doiLP9c7MaVYWnSYfd3CHaggGastt5gOwA7k2
jt9P+ldXfQSN3uc2FvVFTgN/bsbPHYbmsk1dNZq6m/cHB2kH0IQpG4K6qiT/gvBOH8miRFgXM+Sk
H3tg3nVdtEcakHyXd8/uta32QdcO+aJLb9vyc2x9Xq8MT0Gt3s88PGjon15qDWhJBvPpWvlthemH
T9K3PHdmkl/BZ7v2uG1nZrar+v9Z7/DC9q/ayZ/Ogy7HxjwXdy0tLbucAv02L77tu/ZMzkDFezc7
LnOWC/r23BVOvK5o/o2j4a36XW+/0Sw85v03uswHz2AZLs+nuipyMwoeHyg/6eOqGNvaH7QegrrN
FyeRPp6GT4e33FZQ0olWhtKF3IJKQQIMdl2qmkHvF6bNzepY9b1dP7qWHKGFGgPE+xu8FhTmxPJi
dCPWw+56kmBLzk1Pw3/q2pPuhmqhnXvd6I7Emrr/VF4dT2Y1WY4JY+HTx5dReVqaJY46urxqs0rS
Ctcej3nQ61PeGRd2kFWzqxpyJdcCOqMZPnezas9D0O4CO/8dmElW14ufSszadtDV/jA44mTdNnu7
Vj0M3hM4rbOLQfpxzly16n3oavlV1Juv0rw4UV6yFDdcVt6OrduusrQsnqnqXdVRDL4Y+ug6d8KX
GHL7zN/0Z5t1Zt1RrrlTqev8eYMwbRyWdnlP7Ck/92sJ1YkqN8kMzSWLlS6iP/cn3biQp6K+Mn3N
G92e+ylpqvVuQLj14DK2Jh9u+fQzMjaV3LM/H2daTNk0zK+CyMB7Y5+tpBp3sVTnrZUCRyWOqif0
3Iz/sZo2vVflcAjOdsroS+gwqVZrrtDsv3R6V497sLu9AzXALpqXQrehych2eUF726osdYPb6TGb
pjWOJtOF0iVcwezzYMpqmU0vtT7Vn7TV6e+v6xmqMam6fRK8VzTOJrVz25kkLXijBrbmmAZtpKn3
rnWBXQwvw+U2fuoaeVRBW6Tg1FaXmcexHf2Na2ez3lEirqn5/90xFcN0fj6Dm/XVn/rFxl7jii7l
d9gyTd347BIV7jeveRt38Oe8SdWumQhgMJa3DSHyFSOfjdlT2INVfKCtCYq74p4n/tyWr7V41/fi
iwHywRj/YbYv9Zcib97y3kXQLLPp4B+61sfbUrsMj5nwH+3uD5MXu9G2q/5smyGv/7iVuQzGcySo
GZTD1rT6lBD8ZtLQYq0ZZ9qWmGWlbrs/7N9PZbVu9sNhpZBy3IIaQHv7FcAeWyxd8tzVz/SfumvN
sUx+XWLMrua+ZvkX8WXYZEERRTIugrLqbTq32QT6gQk3MigSEezeS0oWO5sTELZDMIFhEsMUhoWL
WP9JA/yx1qRLqXSWKmep+7qRszR+Ko3IohCxOWYk3yhz2sEuiLNECYiSCxS5g4iCquzNpXJXsVi0
riif1LVjqBcgGWwfIbEJChkFp16fyzbQ9XHse/HECeLEyNnsxI5QUDk5Cg/fFkdygRIQJSFKPVGx
cV6hKBRTqm3OkAlcatmMo4WOdkuUMa9gExJsS8rTKGXcEviEKapNBNPpEVX0OP4p9bsIhQwOf9oT
SoM8eUNqqomijamo21MSMmH7Ve4OW6HkVFvnqW3GCZCT2GUVhoXgVSOQi93cbVAKBBMG81LyaUY9
M2qVUVPjt25FVYBQ4VRZ7dF9xgmQkyCnsOaFYHURyMVu7jYqBYK5hL9R68LfmHXho6nxZolYb1MU
XKCtH6I4u9rsCyMdDRoJtTxGoYXioKKA6AhAT5jAMOnEkGsmU2XrQe+JEyAnQU5hzQvd1d16USDY
srM+Us8Z2TOjVpl0avzWLcEMo6QFwSRWm2tgswmrPbrPOAFyEuTA5oVmTNarA3tx1wkvta77jSHd
g5XrUQ45Nt/ZKqIY0HKYumeWmh1ZgrrdUVo2vC/nXE+QGaa9H5NIXcoBVbNm5SuUHKvqnG2fQa62
zzCJ1KUcUDVr1lrb1VjV1tn2GeRq+wyTSF3KAVWzZq21PRyrqp1tn0Guts8widSlHFA1a9Za26Ox
KpBxtfxGrTc8mtrkGKd4rKZwNSieqnFCyVhRv7QpvTHVDVqrKJ1mKMY870ZvTOWvKJumFMasX+zG
SAdTeS8mN9M8wZjVBhFT+SuagmGNMesXuzHSwVT+i00Rbt1fr4RjalyZ9cbI28R4bEpmkJCm8662
nlM6y0VQPjXjnnhO0e/Llac8dJfvKn8rLeNt6XuXn5aOUBag1bpoaCPDbevCnieVz/nDAieWm3+B
inotfb7H2vFEzNO0w/tYmROqmrpBrnnZznm5c420bbzD7G/exAmQkyCnvNzkItsVKMbkih06iA11
K9/25t5SUNgQt/UQ0ksoLxF6ichLxF4i8RKpl8gWCGmHVQVX/9kuDOsDJBBILkIUkkIVdKc62G4/
lqf5HVW5Kbpg6G569AK03L+UGhUGdXM5w11s0z0kEEgikFqCpBlz8yyeXlr37ouFu1i6i5W7OHQX
R+7i2F2cuItTd3HmLBbuYRHuYRHuYRHuYRHuYRFPt7Dmxb1H8N6jeO+RvPdo3ntE7z2q9x7Ze4/u
vUf43qN875G+92jfe8TvPer3Hvl7o3/hLE8eU5+H8nTBf8xB+amudLnsPrNisXD1WbFcuHh4e1j8
eSP3UL5c/fgtgRXjqVAsXrlr2+Ex/aQCE9hjMX6fwN6SX+63xdSImW/MoZRYo8KRqo775SVnwqIR
M+vz+hXjy9ch6vF2bL73cwvpnQjNp5Gif5jHKhb2L8Le/Q/JL/fB+ITKUqsie5eAtkE7kzTv8mNV
fy5zZn2mfMBy45c5FjHTeFp7LfaWd8tQbKBohN6HZSYxTDxd70+MWTg7XaAkRKnnk25hDq+JSkZq
sUl3gPAB0gcoHxD6gMgHxD4g8QGpD8g8gHiOEbH17zAJqqbUzfI9omfoOZzYxwMo/TRPEI3RaCH1
slAUxsHwMQR5XU235p4oMwdCEbxT8Ar601qbHimxTsmg1oNpl6e2O265PjPxaLZTD+xjbMuH9sSZ
uRfL4P1gvipyvezjDk1sQvK93n7hYrsWyO+olSmxwAiAkQDzfARLQZEsv+lPM/ZL8e6JEIsEuUve
6zX7S+nTqjeV6r7IT7pfN78Cwgc8LcyPgPLVEPqAyNeL2FdD4gPSFaC6zOzCVSzcxdJdrNzFobs4
chfH7uLEXZy6izNnsXCPmnCPmnCPmlgetSjIBzN11jz7Vi485XK13P7OgaP+sVx4yn31K095uFK+
/ljYfblwl4tle/MEYWK/8We/3L7BqKVrKTMtKFXWH7RwNMt392/U6fDZX7lVqtP1rLL9AkdeQyvL
9Liug6NJRzn1uavGp2SWEJpZlJxfc9uVimLnc6uKJuCt/Ok5yo00oYVmgvna82l6bveZss/R0Pav
qPO+H6P6wgONBpIiyIuhegvGI+PFRy0nbtcW5x7gDuY7Gh6ubI8TZzcKVeuj5DJlh8Nk+Pa7gvb3
BpYGZNyXmhR/5CjdcHFxcOrNc6rm2xVLoT7e2J2MkmZRLeyXrZeqi8eHmdXlycx8OdmIbZJwebiU
NOuXR+6Bq8pljLQfn/YUwdtwe2Tr6TTb7Fkvz4hP35gas7T2CR13ZdIehZpnUFfvjYwXdt19uiPE
0ln8HSGXbzrcMWrhZtoDMzpj6YeE/3p1s5TiLEBqDbrckLg8YLP3YN3aobGNXuax3m3dFt/eV4+E
1dKhN4CJRWx8mHj0hsN0YyhfpqIwNN/PXXu0cAEbj6IrL6dALnRzKa0OZv56epEaQce+FgC19EzX
AiYxTK2czj9g4fL5vIlUfdGunSjNihcPxG7F0l2s3MXh0pmZMaJdkR6/yr92ZmcGYIpTbuqt6qtt
VZtvUy8w4bh2RhS1t3vXAdQT9XwicqUo9uzHnxRx1TWjlm7sXDnK4PadXtkFP1ECoE798t3MJU6A
nAQ5BXIhyEVOzp4Z7qqPcjlYXjnaGe4vp52O6q6Ye5RpG7nffayOcmK/wmG+ukF+vquLYXx2qkQw
gWESwxSGhRgWYViMYQmGpRiWQZjAVBCYCgJTQWAqCEwFgakgMBUEpoLAVBCYChJTQWIqSEwFiakg
MRUkpoLEVJCYChJTQWIqKEwFhamgMBUUpoLCVFCYCgpTQWEqKEwFhakQYiqEmAohpkKIqRBiKoSY
CiGmQoipEGIqhJgKEaZChKkQYSpEmAoRpkKEqRBhKkSYChGmQoSpEGMqxJgKMaZCjKkQYyrEmAox
pkKMqRBjKsSYCgmmQoKpkGAqJJgKCaZCgqmQYCokmAoJpkKCqZBiKqSYCimmQoqpkGIqpJgKKaZC
iqmQYiqkmAoZpkKGqZBhKmSYChmmQoapkGEqZJgKGaZCNldBfem1+QmbtqM/zYdfzIfmdzfNr0wI
kJMgp3IQDEEuArkY5BKU24JgCnIZqsgGBVHthELBEAa3MFnAJOyzoUbJCAbhDqGOJlBPEykM5jAJ
dyeF9YEdOEMvLlFXl3CYEvC1BdpxicY+ic4zic4zifqvTGAwh0l4KFMYhKvMYBCtUqHOplBnU/Ci
iDqGQh1DoY6h0HClUA9SqNoqg8EcJmG1M3R6hwIG4dxGwiBcpYJBdIjCEAbxKuFRh1f7MIJBuJkR
3MwYBtGLR3Dmi3Y8QhsZoTMyRmNljE6eGJ0SMeroMTqOMbyFiGEQFTtGo2qMRtUY1TBBNUwkDKLd
ThQMwlWGMAhXGcEgXCW8DYVdKIF3rHDClqQwCFeJumWKumUqYBDeqksYhKtEPT1FPSNNYBBuZAqD
cJWo3tkGBvEzBfycAt5bhxlOwg2N4LOcCD7MiSRMwsMU4eckUY6j+DjBCRmh8DERnBcRiTc1xpsK
nwBFsJvCKZyAczgBJ3ECzpCIhP0EzpGIxCtNcRKvFB98eEsr4DyNSEalWxwtcBSeewkeJ/DsilC8
rfg5Le5VeIol4BxLwKkTkfgBMO4rcKIl4GRHpCF+efxeQorfTEjxuwkpfjshDXcz9K3S7/bLXLfX
EwTjawz60cwBBHs9/H57tdD31/d2MD8N1Nbn4QdW+cNqOlbNj28eVfrD6nr/8c17B2taKpterFn9
qb+jkssrOcbvs48Vle1x9Otav+lafCnaTn8p2+JsvkpIPkl/mp/CaNpyKAGLqnmjysvikHd5MehO
fxT6ZN6qMb6Wl4hO78SPquj76zlV4kdU4qjjUPyRm+/fn8zr0IpDVZeCRUsWrVh0yKIjFh37acuR
Z+lecGBgRIq6bYzPaqRiq+FF6l2X74/XN+X57Qb9MZgLSa6Bn9e7nXnT0Ju272D08/bbl3aY/CzN
bFurwFGgh4e8v8nkx6ump4i01Tv6TPBwycMVDw95eMTDYx6e+HHzdk5Q+Ntbjp0UOWlfbeuq2Tfn
ugYMzEue6uvy5EJPeUfzy7gIVvWp029Ve+5Z7RnfEIaG2xktEdq+Bguv/IYDtff4zOzxmdmfdFHt
Kl2CseSeH7/A7PGu6+pY5kM+LgTmr5eMTOLBsy0pTacoTn9t9b66vXWOaXx9bSvXjjICXfZj9vVS
DdTl0Tpnj9utkmNVlrVmmPIH+tpOho35LaYPk7zqrrs11v6S3eX9vd9dW7vb0XzY2zW2+0G1fWfj
xij+oxr3WNt3Nu7yMr8fJMSsuh/R2afqvrN5/Xnbm2V1/yP6eq3sUs/YxO+t7fVxuziGDX3M2Hez
5sW+mx076MzEfSFYz6x5LZ4bzsN1u8u7/Q+phxlKZxWxx9BMCUqhgOX83uzibFPLX7ZHDMffI6IF
Y/rLjV92YOM2yWbB2+vxC2b0wnV4+7572+k1qC+YmF+L67V9+/gbq4fY7vH5/AbmL6923X7SUm82
C8hi77If2iGvv7cSwNtm5vZ1v+bv2evmATPzE7P42HrOhK7+K35sdT+ktml8xY+szFfX8V6VHZme
aSNofn+qB1RaMfduBtcsP44ew6lbeVk2+h0c/otN37dFldtMkmM3brOuNoDTXwytEOx2ks9fDfyO
v2Lkl+BmOP2lj6fL68phm1sseNkwLwrd96bN5neUX66maY85SfWyvd1a5zWuLlXC6XrVnPubE1GC
CVqtTHLxfeaQ9fX0SPJwkB52rX1dMDYS42EQbyY92OQ7GoJxUr5iDs/FKYG8Gpo3l/e63nGM9QdN
BkrouB1eNt4zolZHS25FJZQeXO17niWZ8a/HmUz9q9HuvWub/WUF9bsezaCh0v3oCKZ1ZUVhUmBW
Zi8AmljOdOSYn65H9Z1ZdnC7/exyuBUzLM1N4Rl8Z3Q+bnXX7oB7EXOzBwU4hpRWNONZeKm5dvbe
zSsXNEf/r9j5HXlu078k+dxqvCowWdcqGA4UTU246V+zN7GRMiRmC3jT2BjNboGyYPsPqIP3dtQ4
bO/6YLcfDxD8kfDBblrpzaf+jeWDLY3/2OZqt7sMKq8C858NpXFDi0gxj9zg+vZkBw7Q3AQcl7kJ
4paEoXdX71mWS97MgDTdGph77bcFvGhPlS5Bs11e99R/svk0JxugFbnudBPRH8QuNuYPezUGP3Rn
FDcooxfjOdWdF/QsM8wrZwaYT84MQI98PD/DG7dkibVyyZLZXGZEmJvxesfvFaM31x0Oz49mZlhn
ZgZYX2YGYFdoTqPPrzzhWBgwNy5zzgWuNFz/7LEJLg9fo31vdIcvno8W8HUeHrt4xQa7FuOhoScc
jOjzx2l4NCu7mhuy06S58Wt50lINaEJ5Z8tKsh4tsYgyt+r0blK0sc1ld/ZaAeRvtT2yoJHR/3vO
6z9pj8iwAZ9+WLZpdzal8p8+3pnT7hdvJG83eWcE7iQnm6HLzcm9xjpze+aLw2J6zh7eYsGsDdDM
DuvFzKCtS75/z58a49HsyDM3fi3yLNWARp47W1bkebRElbxZvaTM5RYsI328mGAtvNCYehcazLMs
thEoKFFQoWCIghEKxiiYoGDqA8dbiczj2qsZ47zWqDt/WIjzxNGj7WjTnod2tzXHqb3fnGJxT0vt
0JowT8vXdCjuN+xPdTWYP3btuWPgNBEZ9HDoNIt/b/20PShsj3n37Xy60R83XI74eH/n3y9R4D9+
J0f88PJ/nYIq+RgO/4siAU0cl8H6TYSmF6jl3DEBs/vjfbvqmJjlt1vcw0/39L7PWvqtl+cu0t2l
+euzI3bmImKzBtM/aWJ9uSj+N/OfP1NGthEeC0v+Kzdf04D40bOsFYuVDFYx2JDBRh7WvMjG3JvH
endPSxatWHTIonm9jFl0wqJTFp1xaO9MuKdZWgqWlsKnZdVUA+ZRN1LCJH71ECYjmFz1Hvv33//1
j1//vSkObfe3ceVfH4EVXjJ5xeRDJh8xee74JEw+ZfIZj1+fZSs8U1/B1Fcw9RWAvqdTrQeGf97x
kskrJs9tf8TkYyafMPmUyWc8HvHPOx7Ql/IFhjfMaMmiFYsOWXTEomMWnbBov/4//YaP9k95r1+j
JUT/0jYDr/65Bf8afh/4qS0/GS2a0ZJF81oSsuiIRccsOmHRKYvOODQQieY0S0tglfzpPAxtw/CU
O55bv2LyIZOPmHzM5BMm7/ebn9va/MwP7e6BwZ/BkgMrDhxy4IgDxxw44cCscc4YMDA7ZzBHQWBu
/rXq7C9AMQL5X6s3BmwOVxn45QSRgUocVTga4miEowmOpjiawSjga1cUl0DgEghcAoFLIHAJRAyj
Eu+WxLsl8W5JvFuS0S2/E+ITFl+l8fUZX5nxNRlfjfF1GF+B8awNz9jwbA3P1PCTDPwM40LCGglY
IwFrJGCNBKyRhDWSsEYS1kjCGklYIwlrJGGN8GgjYY0krJGCNVKwRgrWSMEaKVgjBWukYI0UrJGC
NVKwRiGsUQhrFMIahbBGIaxRCGsUwhqFsEYhrFEIaxTBGkWwRhGsUQRrFMEaRbBGEaxRBGsUwRpF
sEYxrFEMaxTDGsWwRjGsUQxrFMMaxbBGMaxRDGuUwBolsEYJrFECa5TAGiWwRgmsUQJrlMAaJbBG
KaxRCmuUwhqlsEYprFEKa5TCGqWwRimsUQprlMEaZbBGGaxRBmuUwRplsEYZrFEGa5TBGmWMPSy+
icVPGgR+1CDwswaBHzYI/LRB4McNAj9vEPiBg2CcOHCOHHC1GIcOjFMHxrED49yBcfDAOHlgHD3g
Zw8CP3wQknFChKuFnz8I/ABC4CcQAj+CEPgZhMAPIQR+CiHwYwiBn0MIxTjQw9XCjyIEfhYh8MMI
gZ9GCPw4QuDnEQI/kBD4iYTAjyREyDh/xdUCTiV+qXRd/s554uzRwt9J3nMsvGdYeM+v/NJ2R05L
brRk0byWhCw6YtExi05YdMqiMw4NpCa/dPmR8fjVHS55uOLhIQ+PeHjMwxMenmI4L2I8WPhH/++M
p/BuLKdexWD9ev5d5yWjxURXzf5lA8k1UFyDkGsQcQ38Xvx3+gMfoq/McPCVGQ++MgPCV2ZE+MoM
CV+ZMeErMyh8ZUaFez7j8UC0v+cBfc0bxhjuMMclD1c8POThEQ+PeXjCw1MenrFwxAvmOE9V4Fji
a3M6M5a1O5xZu+LhIQ+PeHjMwxMenvLwjIUjPjPHeaoyfUbwVBU8VQVPVcFTVfBUFTxVBU9VyVNV
8lQFjry+9l/NLw0wYsG9AfsKfs/59Svemhvrb8iv+VYz8qw7nFm74uH+6fGr3uuGkXjf85LJKyYP
tL9qvjFaP6Mli1YsmtfuiEXHLDph0SmL9kekf+QnXJwZ7NfmH7o5M6rWQ/4aLVm0YtF+L/lHy5ia
M1hyYMWB/W3+56+sLy/c4ZKH+1v+z+3/6ILTmjteMnlue0ImHzH5mMknTD5l8hmPBzLTe56pr2Dq
K5j6Cqa+gqmvYOormPoKpr6CqS+Qo/7zNPz/rj0zVpFHC4lYVJxvWt7z3PoVkw+ZfMTkYyafMPmU
yWcg37O+oPlsI1+wUS/YhC/YRC/YxC/Y+LX8z7zL911+OuDTw5gcX8QlD1c83C/Ff3aMA8//OrfD
q7i/o78XXXViZC73PLd+xeRDJh8x+ZjJ+z35d12zMsF7XjJ5xeRDJh8x+ZjJc8czZfIZjwcywXue
qa9g6iuY+gqmvoKpr2DqK5j6Cqa+gqkvkAn+PnzWjGh7h0se7hf3X/m21j/nzMRxtNJ1/R0mkm+i
+CYh3yTim8R8k4RvkvJNMrYJEKCeTPjqC776gq++4Ksv+OoLvvqCr77gqy/46ku++pKvvuSrL/nq
S776kq++5Ksv+epLvvqSr75C1W/Zgb9lx/2WHfZbdtRv2UG/Zcf8lh3yW3bEb9kBv2XH+5Yd7ltu
tGc6FdOjmO7E9CWmIzG9iOlCTP9hOg/Tc5hu85rPCJ6qgqeq4KkqeKoKnqqCp6rgqSp5qkqeqpKn
quSpKnmqSp6qkqeq5KkqeapKnqqKp6riqap4qiqeqoqnquKpqniqKp6qiqeq4qkagqr+1r4zl9aZ
hWRbKLZFyLaI2BYx2yJhW6Rsi4xrIdiaC7bmgq25YGsu2JoLtuaCrblgay7Ymgu25pKtObos/z7e
P2NGhwcr+ZKVeskqfMkqeskqfskqeckqfckqe8UKjSAPVi/5hnjJN8RLviFe8g3xkm+Il3xDvOQb
4iXfEC/5hnzJN16LNvIl35Av+YZ8yTfkS74hX/IN+ZJvyJd8Q77kG+ol30C2Evpj4L3a4tFCsi0U
2yJkW0Rsi5htkbAtUrZFxrVAVpgHC7bmgq25YGsu2Jojq0k1cE46/5v3EPJ/4w8h5/ZtRJ46Jwiq
SSFQiEARArknS06i+PpmEOlHlB9x92qb93rXevXbtuWnD7HvfsAgiUAKgUIEihAoRqAEgVIEckeu
0rycwDOWZVt4iEPe/6Lz4dxpHJQoqFAwRMEIBd1StfbxZ0+PJ0gikEKgEIEiBEoQKEWgDIA8C+IE
IYMpkMEUyGAKZDA969lg8j2PE4yMBBgFMCHAxACTAEwKMJmf8Yg/MsD4IFoIoF8C6JcA+iWBfknA
NyTQdwn4hgR8QwJjKAH/kcA4S2CcJTDOChhnBYyzAsZZAeOsgHFWwDgrYJwVMM4KGGcFjHMIjHMI
jHMIjHMIjHMIjHMIjHMIjHMIjHMIjHMIjHMEjHMEjHMEjPP1p+PNG82rZv/F/DvfVnU1fH7Rx9Pw
GVzetx6UutaD/guK/8+5H6rdZ9BV+8MAW/Xm8dz3ajgUfb9uVO2bttNlUNCmgawewA9d/Nwej3lT
fhFSkpusF0cqFY7ieEOCrRdnmzRxFzutQ1rRXcVR5CqOIxUIHyDXARnJKHYVK1rAVotVlGSOq4dC
ppt0EwCIo4lhlG6i1NnNC+KqJQ5F6mnLhLhqSeh/0cYFpHG4CZ2XmRDXZTIRSxW5gXDjqSEKhQdI
lRNINpGzDXITpqkbSELpHIsJcfaEJq+7JzKN3YOVxOnGIVpEEzxOhAsgOZLYBaQbpZw+ekEcXY2E
yJyRKhJyE7lmXCRUnCQbJ5A6RzMSodwIp2gXRPoR5URCoTL3heIwyVzDTtE1ky6A3EvFmQsQm41y
9SRUUkbOCX1BnLVEqQxdDQ3jLI1TF5CKSConIDceQEXOwaKOhIlb+gmRfsTVkijOEqcTRolKk8wJ
RGIj3E0dEelHXE2lxV8JJxClmWfmT4j0I84LpaYxzgslm00oIMTVliRWm9QJJJtUuS+TqSx1pUUU
sCNaBx2ACfqhY0LkNeV/QdUE/SlvHNjppJsyaNpSB+em1N01y3Ta1J9jEkrJpf0sKLq8P2Amg/4w
eXLRdrm5xQeZbuu2+KbHOxLBW9VXlJaf2r4yFezarjK/fOWtqNvbjvWm0duqsVfv1/ltXnwr2rrt
fBVvW/Pz1dO3yB1Yp/NvNNJNMGbpNBS2W/9rvgntM2vPQ9DugnEjYI6cg2rQR4eVPbteLy8OebPX
gbmh4IDq6rRt864M8qLQvWOsaI/xprtpZxJMQvXB0Fr3cxqePgOzlTEd7P2DaKUI7JhQ0WwAbSV2
ZHzGxlkaU4aM42hSV40eLxrku4EmCbW2dM6R0c5o3Rie5uG0DfvbRXtfU3U+jFCw69pj0Fm9oBG6
WdoxOXQ+2PyK1TpT6l1+rofgdPnxA2qF+XtoO8zoSDvirnexZs8cVOa3Nc1IjbfmvLwVxcSequmN
79m4QubGp81nVYlNsKm6hny16Nq69pKjfnZsx/k4SevronE528hO92ZyfJ7MJ3bKrFtOn10D7fuh
MjOMiPNY4VgLGIcvtTWmxdQSG/dHm491I9tJM5Gp5cf2LXcMkW5ocMwVTGOu3upaT5ct1vkdzd9p
Fnb6VOeFdrO/D52pXUKUgqiyyouOiCKve8TAwbTdMR9GN7240XV12FH1GrTlxYg70yPN0+pE17tO
8N5Mo1OnX68AtLT9RFloutyZ2Cm67chFeo7F0OWV9chtxzAzC5i5+e6bgnNDJ/VuFl48OB3MqZ+2
Ccs6VJlVa2yhNsvzyQaAqrdxyWFml8yps+Qb7rVrosvq7RKGIX4MM13boug4SwrtGpXJwK4tvSsI
3IMKBL0YkGJMZEOLgi5nK1aPmtBAo2jVmFWzd+1Nlg0kamA6zKh/xJm1Kx4e8vCIh8c8PPHjZkra
zJkmtPnDE1AmMyT43tChymtf+L3QHTiBDchpRee/tr0vMq32WGt7CoGUINySVQpXSBZ4NfcunhNp
l4qxZdPCDQplDe0yJhmsC6VMg0IMpUPFuevtlro9ns6D/o268kvb/UbpetU49bO59Lh5G7s0Xt+7
zZlS7zF1pwvTimK2qWXVjaNonMyzsswqGHs7KmDSLO9JxGQ9254BC+WzUdvUbV4CFhTLbZY6VENx
wPjp1p07RN9w8lbKzfV8k2h8GRuF/hpr7Ei23Yl2+RrsmDWpOPC8od6bjHPrj2Pt2G7MyP6SQORN
OxzILX1xyFq2Xam7KeD6YPO4KyWwA3QUdTPxMm1X/UlDkte/nd1z19D2rRIOiKqpiupP/dPnzweK
awVN0HV6uqW8DowCUmy0+fQ48zwdP+pu/3xwNybLUFp+bEtqE8Ui84MObQd1hHaas81MYI7jxknb
DfULVj1txYqBb7hu0fS0kT+19tR0jJcY642qEzA/3aJ0cBBsC8m2mFKr/wNQSwMEFAACAAgAy7vd
QN71Rc1eAgAAJwwAACkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNv
blVUCQADjTruT5U67k91eAsAAQToAwAABOgDAAC9VlFv2jAQ/i9+2iQCBNqRsie0Vh1SO01N9xyZ
5JJYxIlnXwqo4r/v7ECbado6CdOnOPb5u+8+n323uL5OHm7iH3eP8YdnhmDQsPkzSxupGiNQ1IX9
1ZBXkKJoavP7b9AongrcDUuUlV2CraIVyNicfV/EMRswnmLLaY0t7xe3NzQhJC8gyUSeJwp0CjWy
+Xi/3w9YiagsyCsNnpZgB0QGg43AMnBTWWDalQbTtLTfDFWp3vB9v4zj5bdb690kUhhDgSWOCJuj
boGcOxcaMqEJJCgAfcC6sLJGWpztUaMKnqAKO5m1C69Mk7rJQIOqeAppKaqsho37Wp2yJm0l6TTc
/ofMXx4W8VeaKLlJDBKofgnRuuESMutLcrXRTV0cscnOAzxH1FwpqDNH/tIHYyIragMaV5CTXmcS
BiqwSGfQxAbQ0+RM/K3yfZk+nYZp89bl6bSfp0e+PGsU2rjCi1Opu+M18JMM7XAy8QHYv0jTmReK
PWknU89Bj0PPgKEnQEOvhUeCPQ3HkW8NZ74z0X/M3jMxPDkT/7jR08mpD4cr5P+odH97ad/loT1v
AfUSwptdgP8q/T5F+gw17sRMtblq1oKkoJ3hLJpd0R1rZaKhoO7SdP3uJKL2zp1vq5wLu7uzO7R8
ZEPVku+aFhPXu1J3S17YSNY4KgSONrBaCwzSUjdStDKAjRndOftH1+oO2BNo647Npx2y4sYAOb+8
ighbiS1UB2io+ap6pWHDUhoQd7QH0/I4n4uttaOwoii66EDziq931GwPWEvgSScad219kosK+pgb
e3QHpT5+/gVQSwMEFAACAAgAl7vdQJHsZoEaJAAAb2EAACIAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwZC5jb25mVVQJAAMtOu5PLTruT3V4CwABBOgDAAAE6AMAAK1ce3PbyJH/359iji6X
JBcJWrK9cZQ9X8l67CqWJZ8kx5fs7ulAYEhiBQI4DChKvst99utfdw9epL3aSpzUigRnenp6+t09
ePr0ydOnZl5VRRxEeTY1o5E5KMJobs2P19cfjbPlnS0NfkpmyzKskjwz0yS1NO3JE5ps3oXOxmZZ
0POKZp0fXh18fZYzeZnMkixM0wczeTCX+cR8iA7zPA0Y2PU8cYb+D0iLMMk8Ll8FGBhzWuF5RaN5
HkHpDouT0kZVcmfxc1iZGX3kBRRoUtGSmavKZYTxjjAxV9aa7z9dnu2DMvvjsRAoZGSCvJyN4zxy
47dmmpcmtrR2SjRIMvq6kEXDSb6sCBDWaRCQTR7l5vzi2rhkURAVShvGPKyNA30xc1tas0qqOUEy
yyy2pavCLE6yGcFYYSc068HEOdHgmj5t0XCek2cENnRmnmQVCE5LLBKeD2pNzUO+NCGNW2ZuWSq9
3DJleJicZIQz7S8wf6WR85DINbE2M6uwzGxMMHgXB9OKiFfhwHAQOLWizCPriB2GbfqukjQ1aZ7f
MrVoB34cARkXZXIXVnZsq2gs5N0bu3IhvIixBCjbPCyMAIRHEqRlRtzleG+McU5Ll0kcW2ZLJ5Q0
l9blyzKyh8whWGCcl9gMw9KnLYYBPT1n2q/zFag5K/NlwVxQ5bRkSRw0CV0SERnkTPcJitkNzFGP
H8G8ZZ4K9Qur0PMpP+jyvxIOhxsCGv1bzXMi/jbGbs3SfBKmxmZ3SZlnC5tVWzvgZrO3vmpspzhn
zCvCMlxYOk3nV92C7G2BdbZoXEi8saUoDOtlk2hOjOVI7mMCmdPn/15aVyl4oki2VdFRZDFEg0Q9
NIRVtST85rmrAoVzzWfTJmXqcuzzLomt0cXNXZgSbOYfYayqIjFwCoOQJn3SAc9CbF4GJMgylOd2
Rgx1DzQ1X5nPdtLaQU4MT6tkJBK5LhIn0ykxAz06/WjCOC7B6CxdgJYRAR3zKzMfIblo713UEv45
Grj5UIXNDjssBoBpPmP54iX2Ib8gAR7JouB4V9gomT7wJhdh9kCA9CRljS1Xc5lo4YklJSwiMRgP
zDbNG8QkY3afvgHK5yR7ubczVMzbkrx0Vo7Y3hdpEiUV8U81F83SxSzOzfMsr57LalBaup6oBz5U
4HnF0C/zvBIlYgtL2iqGKSJeGBAB3Hia5wF9GHgorTnEDTixwXjpynGaR2GqKmIgCE+gWom7CXDV
Pg7dFMnS+tRxZ1EcDdk7mAUWZbO7b34QWTtuZK1WEy1uTjLRkKoDTEhMFKmipcXBth2RF86AkLkl
eFMsYbZcTAhT+p1OMVqWzIY1t9IJRGGm7AaGXLEVSGB+8APJecxGboM5lp2xwfP03Oc9VHnhWUi2
k5dENyg1tkQqO20O69vdoSEFnJdDz8TKeVCVt7aohN3JDh7/S22UcExQ+aQA0jCyQjoWA3N+csVc
mtOS5SohHsxstcrL2x2CssiXGY6WV3hwFQkfm40iteScNBb2LI9uTyBLZN2WODJGlABsh3dkwsMJ
/USM3Tb8q9Vqzewv8ngc5WQY5tUifUpsc4uF3+78iSBhG8x1DnqAvpXOpqSfiAIVE5SsBC2D3bdY
mBlw8KTmoAZRz0rgcqfamtifTYw1fm0IZYxz9w4TwUlw4IuCPRMWGZuAdubT1fHNyeH59dnN1fHl
6cHZ6d+Oj24ODg+PP14btoU84Ozi8P36gEActBZW5Jykscng97BLRzjZKal/MB94rqPBA94c+3V0
Jg5MSEcaEeeSfpiBkeH9TXVrrN8b5qOfwAR61kNyn7LIdqnw4dPVtXl3bK6uLy6Pj8zFuTkwtJGD
Mzhdp1fvZf2Pp0eetRmVnm2ldcJllcOPi3hPYaH6iG1BW8UF8ITqsxqMq0UxJkPyPqnUYQRmeqwf
kxijRLrEYcrWpMjTk/aclyK0ja9EBjGrkilhxfKrSoEPnShHvmHJZu+JrrQJnyKJFZ0rMPC7PCwV
q5Oai4i1HBFclSZ56msEatxcWNlz4l/osbCM5klFh0U+pWPtREfHIky24R25sMlU5IGkjwZs0+ct
mnabkfWd2CikxZm83p/0uttExCuVZ2/IV7n0bL4jco6HzxdLR6bGsk/LBoqgZSQmq5wwvsuFaq5R
skTrsNRAAEbZgSITUEQCC0hoh0ibCNpM8tKbLCz563LMjd4m/c9+0sROQVo6XyveDqk78jPgQdFE
QzOxrgIxL1+8EKjvrS0OUphn83luWYxJcMi24rTEgSEr4hJSfRk7lJn6nGZ7kQs5oObyzHqzgfGt
gTvsKbEZvZhOB/gQ2xAyTqQHSjUG5iITnD6E9/XDS7VF+yrg98liuWhtv+1ZMbqQ7GUJoQ83Y17j
86LZIpkB8vKTRQJuCFkRgAE/Mz3zxQK2A6xAWv9OjYeiME9m86F6R4IbLcpcTDoE29u0GbO7Rv76
dM/XTpawXIUkh95Hzex9baPNtMwX3usAr0Vpgu1qyCyPmq23ye1ZYfd1206PCoqYSQN+wdZny1SE
0ZjLkHkDx007vQV9QZDZEnI7JxKqc9iVaHUiMwu1qsIRP5CC8wowDgs5O9G2YSzOhbM0c0ReGruD
CXnUtP+qTCyPhW5FUE4imS9n8/U1WZ2q1wLA3rHBAkOy3UsSDzO1K/JuIagyn0H7SWWYuYQ9L8HK
FcktVIsNZsHQLMjuJOQCINCmj2FGhHQNK/KZhDAjM2QzzDkZ2CgsKGor8xUttiMeymkl+orZiXxH
Ypwkj5UyRKmIqexpW2MJjMEPEq1z4OuXrl1lGoJhtEV/Zh+S7AqblVMWgor6gwEI6YiUGn0YtZRD
LLsgXL6wau9wZvgNFhzPppI56IdZAEjHNCF/6MFcvBe5oSCHaFWJy9jD0+w+6S1rlF3bclIfH5sq
UspEHaYiWEgNH+n7UH0D9sbIxU4J7C1oCM9S1DLmN0vzQmdQCyxQeUUmK1tbl4xGRodBJA0sMUda
j6/1tARNIpoOcTV7z23mwYmLmDLO7KkQVwgs+mDvGArhT4xBPFzDUlMGpwp+yadrHAtbbdk20kHw
W46vzfXFBY37HAjrwR9ip5g0HgRKEjsh8Wh4CyedXGlbgGTLLFyFnv1U37ACUJdF3WJ2BGndkMMG
khcKQWCQV1kQqB48VKR3X7+oFb1XiR9teThP0ni/F5bUQoWdk1TQkJY/BdaFAhfnwj9XU8iSzxOI
J50ypDxgstl7IApVEYr5uMsTBk7ssSBScBaKvqZ5NkMeEpmexg8mzz4D5R4mVgUgTYh2rKMILo12
O7AXt2ZhF/AyfYiB1AZnioDSRab8z0R0Qz52drGR46DjBhdDfeLQJ6StRW9t+xjuKk9pSVopziU/
QJab2RsrMyDhwxq3wJyIGaHdUChUwVRBlMUkQqIJA1I7Kek7mCkyVE+Busv/BJUmOQ8czAvaFynJ
xm42Yde++PIShbOKgz9BTnW6jC3zVcj2vj7bUBN+1ouupjTMV3wK2YS9DxekhIeQlrDHGqLHXQ2H
xE1B1yBxfLsvKBqeODwh8zBA9MioDWrchmKQ5N+KRYqToBF8BJzAbg2wylfkrbmW5Crf93lc6PrC
qxc4KPvmAHws5hJJIkTWymg4F87CJFE3Q1TnGIu8ZEwzAkXGykfXonsDTjlz8gtPv/+LpKp+JLZ7
W4dBtOdulggxr7oWksNHyLfggBvJPU7ksLtq0vABbkRlNTf2kZAxb169egkVQ45wPIpyKBlRDPCc
mJ1rdwbFgKteBoEYE+LPDstToRBc1hdP9PPu3h+CF/S/3f03L95sekrLi/+Wyk8gKUkf0e/uFZ88
ffgOqeNiNAmj24aoImXJjOJOywq3cS/fEAJCFPIOYvpDMl5yFkETBj69D3o5ivAny5kLVnZyS5yA
EJ9U8uqGHgbRLPm3JP7Xl3/YffGK5pyc/scHLzSTEoLLhPnh+v3oyNJ4RvhwTisny8XoLMmW99iN
lBNgsSCSS1LWwi/TMEmdGCBmxEwz1CS+D+Q33Uv2hAMsi3MxUO/sliPG8lHygmBhqlsWzF4mKYhi
Pm/OLn+KEoG6LwmXD0TdIPMcOjCUHsxP+/u7v+y/YWXSe/Rm7RGOTooZ4iiaK0RTsbmY/Ar0to+u
LnbMlWAlgRHnVFnr0S4kiUhUWGasK0ieqwdO5JKmjZcI/zg0XhE/TpZJWonZI6iQPfYb72yTKKIo
TFPR2N5/nZEz+IHBbDFlneFiCeiscaAROWtLlvNVJM7hs5GEcxVBDGF26wzRjViuGym/cCHFsWI1
H3v5Jo5jv1lBil3OWST1sZibpZ7kpITEcLDthUWeJHELPl2EwP8lEj9Kt2ophRxJOhw4wNNn4o1o
P9uuqjMaRJNb8BSzCdzslJjLNVvc0UPg/CVidlEuAJdkYfmgRiSvNJ2Rl0gJ1vkMPxmkgV8OghKo
BXghzOD/HuUwnJz4seqgCIyJRaDni172niwKnUN8l0Sq+Y7FnKCW0pwy7T+/Ub4hG2rvbYQk3Q3y
t3AdWiPvkK2/IXYLnZ8hyd9kUheWFH8G0RrfB2WzOw/C//smKBrfB5HmsxvRqTWkb4JoxvchLShO
vFmEsyR6HKRmPCCtAeps6zcB9UBkdpaTEYecPYrGrfH9bYFpl66DzzdByfg+FGSsfs+eML63J/WL
WlB+AwIP7yOCxCIqsfcNnG+Cqcf3AZHW+l28R+N7GyLr9rsg0PgehNAl7vdQFeP7VCUOtIuweDRZ
dXwfE0l2PZ5NdMIatxWWVOOsDefb3Cbj+2DgcfQO6JtgdHx/U20d9Zg9eR3VglHaVUle/6Mx0fF9
TJbV/MsNK8JH6ZZm/Ab+n/8ulsF4rqKvQcpIuXTB/TYkTFqTpMmiB+cRgGjSukTObItAj5BIjO9D
ocjo/uGRh07PeHgfRmRL0rvkRDySNPX4NQN3X5Bz5B7NPTq+xz1z8kTIA380FB2/SaiqkqKAR+6q
Hr/J5sJ/y1xjK3/T6PoJa1hlCYUeN0n8WKz8+DXVQ259dpdMH8uGfvwaG4aPd0roGQ3vHZdz6e+y
CzR+jYltmT5WysHENLyHRDEvXv8eCDS8j8R86m7CglzFR55MPb4PaJJnv5IL/Gj+1fEA0+kZ2Ns3
Wx+4rWZTM9tjmgeQ/qEAsu6dcFKwk4YG7dmpk/vDDS06SFD/ZpsOQehkH6RTKNEKg/Tr+ETxhl4d
7rRBto7W6sLx4VUp+ZMFxbPahCSJBE2C+eLbUyRbNEvSbRHCTBRlQ8xxWPtrCw0ltyaUQLTrgWnC
2zcS1RnaVteYxlQEod02RIMQYgrica994hyFnLCTIsKZhTITFWNFhQ81I2DIatAonygW0nHE5ZsT
pxSJbrlW+xFn+aVTT9u3ynxWhgvNe81owW3JcUtFdbBarQb9rBMQ2nKcumS8dtohHbr+ojBDOvDX
pUNO8A4L15vQRqe8sBICc1ZFCp7YInbOYSyfLZcoUJuV3D5xThKbo/MrGQsiS4AJb8H3gcQcHjYt
j1oXHpLLeSvDNZdDoeGCeNORoq8kWSIQBB5nNYW976SuMEMOA2kKj8CQorhKe0CbrJ1v+2NKMGv4
dIP0HCI5QKKCSX6G1pw02N/dexm8eh1894fgzR/HOyINFGIPNeROlOEWSOITOsLaKNfypohjkcQl
1ka6gebJ4dSJM98ge334cUxIc9/SepZsSGeNhA22GcsgIfJfQR90zWjuSKN/FOKxM+5XYZ2S1Nur
TwZ5G18+r8okqlJpOuMKHNBAgpHLurTR2N5ROF+g0WZYizwgNDvRBidldu6pqDtjWJrqoZpt0sad
plGpaRBBxoDYWySs6cMBLOYJ8KROpw29e/BaYMjtC02aG0UJOpjMp1brhhdahBOP0LEPi0meJhGn
UkQe2P9W7TRpeikKCuA4ay9lBZ+Acv+kRG6bIGYwPuMKwgOaFISIYz/AaYPCMSo0rZauXAmmpzpH
no2ZfMjlr0nT9er7iGBRaDaE0k8GkZNIFcPUhtIDwvkzLfxIFpwWdkgwxT4F2enw4VoNhMotJ/5p
Yt0Ot9l8f1SPG79tesXZFsAMEaKDc1KJg6EZkOGgP9xsjBrAAlkr32E3OEU8bd0AtoG+cJzuMOsk
B65XD4sznCmeHN/b6PCHU4E1+IB68l8Su3KDRluKGW3/Vis7Ebznvk0yfXjOVcPBRSGyDiyZJ0VJ
cVt6wqxCJ4wV4Gr4wYq16SJpmnWNImv8lp40RNLeT6enlStMMFswr1SnSXtekpkW6cECSCKLVbSB
OSSWqMn9TTIr4kxYgnyaTXP6DJofUAQlfD8QhTjg4u1Ad8wllgtdEd+eeEnxe5DCLAydq5bTaUtO
RY/UtOOUInPgkCz6QwNei/8E+/txzVdvZSFpBQfOUED7jV3Lm/5WHFLd0Y4Wh45Q+YK/0NU33nbb
pp50l2nOoWkCnPJRS5kPOeyitGyH+0fGexG35I44gd04LqtMvF9BftsVd8v1p4qFUH+Jo3M69i++
K7KF8bC2fI5lWKUa2yTvdFkiey9leyx2yM04ev3BWcU/r3vAyKbRPoDgXeISIpm0BVitBueoeOPm
Avr6eyg3NxgkeyxN8l1aNu2J4YRYF4KOdm7uC8vF6Mo67aKBgGt3/B8Qn6NpKEWlR/tSYb3EBfK1
XcKvCJ1bCTH4Y17G3K+QWm6/aBl8ctUq6f/NHRJoZmVTvvny/Qmfx/+ZwX/+HGz/9OP8l5+uq1/+
96ej+JefrtwvN/jPzuDt19n6iD40XI0nV3RwbvrAEvT9mOF7Di8KSXZJtbLVNav4aWffE4/WoHRl
9M9YvaXEsdfg+c/BzwHrSSLe7T+yQl+KD2HNzjWxbGOygm6/Y/PrHnzERoOPZThbhPsmy0eRbx1H
yyx9brkNouxRk8pqyL6HBFkqpy3aYF9tlSWP1UlWp47MnG/ci6RwPG/6kQPzKZNONnaiqjUt4A2o
862SE0uuaeLbrLEQ1LYPZ1ptF+uLiQuygVBCwU/OHiJhhpqRaEKzjf4jsPlu8HLHmM8gkepd6Tgg
u58xSYbchKH9MEpqVJRZ0HHdiG86sZubTkel5dgmAohPl2fkCPAfpjb/5jhSEo+j5S/io4iws9rv
DBBgkx2Y0vq+Qjs843CCy98EDAqOsBhEfqcDcUI3bS6fTmu2AWRcOtIypr8Csl8wXL2b5dv8UJyl
T7EQhTxCx549R9PaHUNaQq4GOHN1fPmX48ub84MPx3ym+v3jxeU1TA1MvIvKpJDz659S3Z55/VDY
+kKTxYwJGIPDMa4co25TYZBYNDTXo2eXAjTCeUfaduQizDSnUOyf5K8+efr96dSXmnz5KHorzRtt
nDde+WqQJjhjD0hF/khEG0B8hOTj/A+nREzMW7uXhhOU7jwvFjB8U71UAUFtbhyg9F4usD/yM4e1
BWBC+JZwY+8rRG56j9CHo03KR+4pop2IQqcKTaK0+o/XH84auSSXCT+Mi5TGDrSByszyPPZt9IDL
HUm5wlelY6TIHyJQ8eghqaU94066hLiK4pqQjK2xGrdBa/g4jypbjUhWbbhoUgjct8l9Z9opqSSo
ygfWATmUFOH+oKj4ix84Eu4E9XVzMBjtE1zRPrtm73KuP6pwnZHDtSxIjZ/lohrFELd69mhvnLCg
H5Oy04VDYCRA797nIK7PdjBt78Wr4Lu9YHfvj8Huyz16PJ3yzbl2dySr96nvVUdaJvYpo5DVbYVM
QtP/y95OYfOC20vnTDmOstFx+sC6UtvdJWBitSm3Giy6H/VKhDRwabAk/XWiVnxHE/MxbZNxzMzB
tTk7Pri65vxQyjRrNT9pSotJVzvLPQqbi+lUg0X0oBC5xQuumyfUE+YOlfpqT8Pu6DeB5PhbaeSs
e0At3wwGljMd/V6nOn2nN4iIAs6BY2kb6HQWHmMl28nMqdHjVMQMvYDsytX+4vM4f+6TUoRRjTxr
P1EB38CEl9OsGU9tjKyups24Wcx7b9zIf1hl1rST+wfy6wi/juTU3ZgxuuH7cdKuls/OkHzZ92FT
r1+zpqjHPW8OFGCkQ0zMlE/2akl7n2g4WaKPlqKDIfZKgf+Q7wbXN77I2FRDtmu2JFfLLmwJkE88
Wjx6U6DTSvLqSXH3soQhhozcrcg8iLXUO72sHA9J7PNFl8G2EVBwQ8mOLn4icAbP5uZZap4tzbPK
/Dx4Vv48MM/eOvNsgm//c8neSPn3hB7jO5nYcnQwI5HDo4FGujZ+FEQevqBwqj24WcKM3ppnnwbi
5ZCz1BnFC4ey8MDwh4ZotTByykXmqFxqvOR5e/uQMQBT8HdZYGddXmvheOiBcI8SVskFd4VCRZC5
MCwTmNGhDwIhkE2euKC9dtP4PRyG0u8f+kxpX9pZ/hKhh1w79fWTpqLwD8tiw2dfF0bBm6XRH77c
JJBtF3zW9c2D+pik+09Tb3zY4tMra7SjcdxYPFQu7B+rxMa4KuNb7NalSxz/378VYXvejKR39HoI
2hOZcMoNPnZRrwcxj+fUtsZWOySxP19roV3jMiztqmD1tC1auuUZnVx/bGUM0e+G+s2QL4H69h9e
yPfxIO1QoJesigJpGwWrw4tuFqvh70hzqFyEOv4QJulArh+hW187o0M04qdVvs+5X686JcI4QDmi
BQMmOJ/ucwf5/8Ks0n8ZbJ3kvkpmmVh/77gfSB553xzEIj/wnPhuic8wh819HbPNbJPl0sq8E6hC
ZXVArO/hmSky2iA2Sj74gKRDxxOX/hFyxduONbkAWSwdhbx2IDheas2iV+yqLMmkd8akfbEmreYe
fVrc3idcWeqWu8i4soInB83KYalqou2jO9IH1eur6os/6ssbtuwm6SRUZKXZOnAclcjNfrOnPI1H
ny5PcdmG/p75Et9RnQRA/BGs0c9HMpyckATkU5zhWZjNlsTN/cKgOkfctumHcANskwzQQpzC4quO
kGrv7Lf65gCRE8ihd8pxB0FvmYb1AgpJb4w3BTa806ONNme2d8Xrc8vpNLlvbgj4UtikdXdSyzj1
PhTMrX1AMkzviOX+JRwNTxByH3MS4jnxMf+ecbxBGOEapkKpoaJDnd8QkO5I3IKJPm5pU7pITVDk
LLoKQ26NsHEkLTZbIl+5kgjfqpL2G+U0ni3TJspeo8yeUEavNqCEyMlyaV4lu7TkgqTWBmiPFFZX
nvbs0EQsx1gb11OjeViSWaMz2/Jb2CLxmZT2Tk83YdL70+N7wFxsyzfBOMSlh/JhS+jFGWq+/M9P
hwrkmKIhs3UUZouwvB3Ht1uspUl34hnRdRyHWxt2/nLfnEq+i6vpxK9bafVly6zITUzyVDZtzeXJ
IUqISyc3POVtKEDRn4cmHyn84KvB4jvTLrd8AZSL2mR7tjhLQ8ci5chMCtyNRBifO0LrSxXydstp
tPuH774jbUChE7+bqLsT2aHZjsMdMzJHy4r00naW4ssxmWT+zWb8lUxklpCobFu7o7NPsBqNmJYY
8YPFJVKCZfkb7fN2RErBlpiT+jmnuLCCYaSiadh7UmX4dssgzvNyZWf8c5Z3H5w/ZBRp3NIPmQeF
zNVyhqz6dsHAzpb3dkG6tpzZPHHPzTYdiB98VehWcc1pZK5WpOPw1d3h6yERLMWyERPi8IuN5tuR
a1YSUhRMmXdl+CXhTQgGS0VhNOFN/JmC6owf/Rp6AJdLiiAAv1zutA6gLalxaIL4du1xRgKcpWuP
Sf8FNlt/XNFju/Z4WppgWq4vaWnJ9dEUlQR2fUkukdWjD4mF0dFxenUxevPm9R9Hb0yQuFw+rs0l
NRsk1drjX2nPv4abQO692Nsb/fkj/Zy4tWm3tJ3b8qvT3l8yKqPb9R1nRLZsnWzkNARZvvZYlOdX
d7wnyxTrpCpou0W14TGxCH6hP2s/Eq+aIF2uPY+IRlG4fkiODmmdNO7OBO5uHQiNjgh+tD6jXJqg
XF/2y3x0/dkE9Kda9SnwLpm9rlviAv8tIGvyuj/08+n50cXnq9Hu3utdWr7gD/1Bhx/fkI7y8KKC
vn2V6FiKyd7g7Me8vzh9M7r0YG7z5M1ojUk+HV7Rufkxy8jtbRrxqj3i1dqI6xPi9npENX2jno7x
1PtYJjkXAruODrslBd54ELOa1guMtVl33qxltU0hi5FY/4KADd5OV53/GSk/vvnS9kGklG1xe5qt
kNwvIeBFbTECXD2DO6OA+BI1kkL8iq20mIcTWyVfJLZcaCz7Vw7h9HK0z5zWtcik4y50HcT2BiIp
deHfGvlIy5FaJBVo8eIA6CvSTaRLSG/c4qUPkFCSNZErYmTIEMkLapJ3Rvm2kxzvOaScZO250Cu+
AtuUBPwNnPr6ExmOShKSXPGvck8zVFMjW3IBWXIF4hv6Z+otd9S/YNBKNN+PKvINgmr2ZQ3b44zc
GHYjOhizF+rXqPPQS1TPCvgNNVM1r+TTQt00fQi00c2/uqSer9fo2gdpjigcSdSv4QjKUaSF+7zV
w7AXYBO6zztvj9O7vrir612WHCFN7XqehFn0wL0dzOockmsBvvNSNNSxe0SsCXM/8ps2wd82/Dr7
khQmmH0R+rbJq2/sag/vL8pNPFqStPGIeGJYv3NFodTSoJfZ6zfLwaFvyiHYOu4fIgIzC+KnUHhj
v43SZubo7+8rw7ob7TPSj9zjWvb4aBEWHfbtITyQztgS7UIaSWj+aZlxNlqiWczEZgLtj9XOKX3j
klxg1PcC+qyIgkPeOY59a5U0M/Dp+4RUK4vZP7u6k0JjIP8OIfTNaLbCsbQi20Enhx+8Y8ixjaQa
4nbHz1BkSKvda00oXc17Leu2SpL7XR71NI9myUhGGFyrJW8gfbIJkqaBCpicWKpirFM2qA+uEvHV
ycDhT3/JLigd01nz0zc2yikKeQWFVHy3uGM3HnGVn9+Myi9BFUhawNm8d5024mYA8us2nmIrku0i
7m88+XYS9PR25cWvQyOLEbMwfVijrm6Ga6D0u6/+JbN51eahr8DGtBGwuAvLJ5sTRHEvPaK9VHJR
HO8u40SzqIaW9GtLhbzpwUbLCikMZZVWCwGSblXE7zzwLxvFVVa8jZQzQhbprwzvSdHimzYn4V2C
LKScyOF3pzUVhHxajTgfBQZmsPpiAoq52pkh3QVjPWYKjhuGHvtE/PoE1R0jthqbp+gbNmwVHiXl
fh0Wu8barL2Er+5n11YE/4o/pEAJTsfkacuUKCWxznWzVxwnksIVdtZrN1L097lO7lcAA/uMblMk
f/JUsTa4PN/s44qzKP2t1G+wbGdZ6h+6aeMNGwn8egLdBBigjT7eZoK9JV1ct4Rs163KD6lFG7b2
o0XwP7k6gLzENA3vcuxcmhB2dwwXn1nDaPWtzv29fvHCDK6b1PYi5IzwJMebC3J+6WgWTAIjil4T
/ERZbG17gLRVeev0BSyAz2/4qVNrSG1Iutojs7ejfdW+S9z1MXr14pUZLxKHxfgqOW8zrydIFhQg
0FLTG7kBFNh0kmR+4I0yMTQ2AT4P3gX1BYHOGrXUdpopNAWkOg0GaOQtU+D3+HKHjS6/au4b29zz
zfWIHgLuyhhpCZvOc4w3hDACuHXMF3g9MQTnD8ig+8J189JOaLSEO6roSFweSU9XbYz926oBp1Nv
9y82bb0XAIEN91woJVQHfkTzl9YH2q+C/qb90bdjea0915uBSsj99T4auQnoG2l4zfo9ZlxZ4Kig
ab/j8fvP39ZvTdG2OzTcDf0r2vRft/euftzqpA2Qwx/FOa4g4TR0uU5XXtsgHfO+xtrMJmU48Jm+
tQYKabwb7JrBX5Jwf+B1k/fItwcnyzQdQIW5DXWmP5nBO37xIt57ncs7hVPI1SwHfID0EOs8Wbdc
I4UartlgJfrDAHULDYUJFBP3K7aWlTP0jzZ6DjmK4iTmN52sfb/PTNv28IuPyLhfD93+O2106qdm
UDdOEWePy2U25qMetMZd4b1xr1sPfohOcQvmjgTwVevxh/D+mK90mr3247PQVcR5UO7xSYjjNbif
0QzQZh6dq7+c54dCixab4BYvy7E+svHS/ErKMJiFJbk9Ixemltmp2+1V+xwiE+3Xqz/pFWX4ZqAG
2+xt0QNuDms1KiKHXOCOHbml9CuOBx98w/E3glYuHY8wCRMeN3ASVo8ZOJK3TwkmPtMiTdzc+CVv
tWFVxO6bvCUAK+BSBpLoK++dSndh55WmyqH1pA3ZClxIb2UpaknmYFVnsvvdA9JPPNAPN2RhZ3zv
Vjtn8qz7EwWOZXWTFza7qegr/dwB00XM31FX5C7l6zFeIctF1NbDw5zO8tn/XB7/+6fjq+ubD8fX
P14c/d385/XlweFxe+AlgAfPzcj8dPJLb/FWT4J5zi++kYU3XlLiH67OGmy+H3caJv4fUEsDBAoA
AAAAAK+73UAAAAAAAAAAAAAAAAAkABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY29tcG9zaXRp
bmcvVVQJAANZOu5PljruT3V4CwABBOgDAAAE6AMAAFBLAwQKAAAAAACvu91AAAAAAAAAAAAAAAAA
MAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NvbXBvc2l0aW5nL3JlZmxlY3Rpb25zL1VUCQAD
WTruT5Y67k91eAsAAQToAwAABOgDAABQSwMEFAACAAgAr7vdQFBupc0zAgAAoQUAAE0AHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9jb21wb3NpdGluZy9yZWZsZWN0aW9ucy9yZWZsZWN0aW9uLW9w
YWNpdHktZGlmZnMuaHRtbFVUCQADWTruT1k67k91eAsAAQToAwAABOgDAACdVE2P2jAQvedXuFwS
BCRoj0uItGKRuhJVK5XLHk08CZaMk9oTPrTiv3ec8GEWpK7qQ2xl5r15Hs9M+u3152z5/mvOvi9/
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
KLw3H0dMP9De/DLeYFLeJsZgrHfX4ESxRRRjO5d/D/MgN1k6OmGvkkOyS9J1BwwOIVJfz45Pw9h+
ubRnle6FXqoXFyB766esbludcTs0yHmgaTVw7r6ijkYufYw/Xb7LhKLpGD1AkiBMi0VXPX90ZNoO
xBgWIinDD8WI34ujNK+8DTSgwvKFuXkv2ysXjCdQkBGE/VUrVkOU5a/OmUH5xqEGkwwXMKa562mS
Xt+3/7OqSdvSY3W9Kujs6S9PL+HZgu3fuX795dGqdavXvDj3S/j1L56q+XrzDr9DOX98WWV/53pV
98Yj8y/efHvm6Or6LfdursD+gfWSwyodaFNv8vYcKnzSq5FBXSxGFXZu+NfZ8xrpV9/zXbU+g55/
88vRILfdrhpfPLPuzoKuYPVn7tbVa349W/n1mX+juAN6dPWfRfa2nydG3+16sOrm6ftH/439N+/X
/3L0U2z52s+BDlK39VDFD798BiepwVhN6efecfT2VY2f93hq7P4XfMf4waquvod6n1v+x/euV58/
PvPgM/jTms075o8MfPW5DYfUbcj2+Pavz2CqGgxOSfx8FG/HqaOrf7i377fPs7sX2q4rzllxzopz
Vpyz4pwV56w4Z8U5K875/+ecK5nUjYferPvri6L08mqHo48Ye+M/s33U7Oqkm5mfjW5UG22Fubb3
szd2q73xMuvyZzefULt5BbOCWcGsYFYwK5gVzApmBbOCWcGsYFYw/89hIteodFat2gBZPguw4qcV
zApmBbOCWcGsYFYwK5gVzApmBfN/iVnSwh07XPGg8eTvq9R/p086n8Afv3Dt/wBQSwMECgAAAAAA
l7vdQAAAAAAAAAAAAAAAAEMAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9weXdlYnNvY2tldC53
cy5sb2ctMjlKdW4yMDEyLTIzMjg0Ni1lcnIudHh0VVQJAAMuOu5PLjruT3V4CwABBOgDAAAE6AMA
AFBLAwQUAAIACADJu91ARxoF+4cgAAAhewEAJgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Fj
Y2Vzc19sb2cudHh0VVQJAAOJOu5PLTruT3V4CwABBOgDAAAE6AMAAOxdbW/bupL+vr+iuED6ZZeN
SOq1QFCc09Pe24u7t8U2u1hgsSgUibbVypKOJCfx/volJTmRraFNS5TiJD4FcvwGPfNGcjgzHGLi
vDP4P/wG8X//Q7zLv6+SS2Jg8p7Q98R9b7pv/tXg//3vm7/89dP1m0s/ywI/WLBLPwhYUaDbyEc5
C6OcBeW7bJG9+dv19bdL/A7/5Q01nDfoX3BvhJwV6SrnKCDWolzGLTBiGG8wtuloeEs/iWasKHcx
rSkRqWEOEmmQ+8UC3S1YghL/Npr7ZZTMkX/nr1EpPrzxg1+QZB3H1MJmX3xzSnyJpi3nSUkYqvqn
pyDgls2SMvJjtMpj0MxsooVDtszK9cgjVooxWEzrPIrjKOBCiiAhEUo1DYY2kERY1NRj9VFSMv4i
Ky+rb0J08Ydx4X2++ANfuIZ4/fun6i+p/lqtz3+r/ho7dLmWdhGgWZovIYG7hjEi2IfoaqgsNNH3
qKOZH8diFhispXGMhwymy55kAOmbsh8lkLDyLs2P1wz69tv37zti8PDLJy5MWYGStETsPirKIYZj
cm1Sjz4zy5FPOp85o+TiIxeGc/HRql7/fvERTzD5nRjHiDxTnkM2Yzl3qhC75X5VgUIWs5Jxzy6K
Gcr9qBB+XRktWQ4ta5anx9lSpwJh0LcnetyZ6799+f7j85d/fPrxx9dP33/88+v1j0///eX7NST5
eixb4+L+LHYRXW9qiRPQg8Qq9u09kcS9ySXuDRhfYBzCUBpaMtijxepaY6B1hel4Z672mwi4qaVn
Y+iKrSjzdM3lNsv9JQMHkUWGIZT1RjOSIphkiGLCaMZVz5WO0jyaRwnaKARkxnT0YBX8LcyNg00t
k2sHa0gYRQ+cqp8kF1/h38QslMSMhzASpsFqKai/yyO+NAgAxFeJ6iNw7TUtT4/c5MBja+w45MHK
2wMHyNdWijnIwKqg3t6RbCrFDrzxw4cyiJkfxShN0CoLfS4v0Aixo5QoOcxFB2w7A1TNS+Y4SKDf
5TxrrgTOhyBdcqsIr2pncwcWTcGfqdUCQUURl44kP418KKmJ/4iVGrW0X3h0RJZ2wwPkmeNMP5K0
j6M6Cg8uQ9jVNQM1IDKngejBKaJlFrN35X0HgI7OR89R8/jwTVybM7GK/TLNt+wrSJOEBRomgUOA
mV8uriDmRXyb70CqjwERa1rst0Ppnf2grVWPQ4tKzuyMyc4TjDK+iTvpgSY0SemZljMtZ1rOtJxp
OdNypuVMy5mWMy1nWuDwRpqzaJ6gfWEObNqawhy7YJJwh6YKhV24vUxSbzIWNcYPd9B29p+7fIpN
qKkrPD81dJQULC+3k3t3Ubl4SBTB6QhHJdVnGX1BwVJllZS2FDJOAz9GfJddSpJrmKrkEKXPf1Th
NpIs9EidacAUR8UpQC19Ph1v8NDCLxawnlRm5l2Q0eOdxwJKl6WuFOR1JK6tx2SlmAOy7a9GID3N
forY4PPiVD+bD2uYmLU4o6J2NCoLFs/AomHL1iRSKars+B1+AuDh03WDlvm5tFrUsgy9rG3AZDMT
Jlrw6hKWbroJTcaNNvVssjOSuhKMqV6eWni98kHqHEn4wePwMxY3leNbF2fNohhc1izD08vTLqZk
NBFrctihZr976rcuaK++Q35ZCnCx68/ydM4JBIuaTU/POnAsKbJjqirjE0uoSWezOEo4XnUGH65X
Ulr28NRrOtbkPm5LYI/rqFL0PRJVUtUT++lo2iqLr0otsHOm5qSsaFDh0Wuy5Slp0rJxm04OqrHu
l7ICaLWFx3U2qSAeYuKxv2a5ZFNE+QMHQLUYk4FKg46WFtwNYMInwSLzgxYJmx9Bc5JhTs61qjfZ
h+ckTaqYvPDvNr/rhOaNscDrIfD4QYcUOOVEpqJHRTp9VvATpaYxSu7ilyyOJAflXMfSOQIewaQ7
Bz0CDtKVaINRT+vVycPd/elkbOkb0G2mVsmIbD0p0P39/TPF2myL0QYKHFFYz5rSAZONKHsyuOGW
Hqc+eCzUtfSsSjXCnkPIlkNGAJKoxrSnwVLVCzkFqGV620ScQEfUNagWTnQcFeoFM/SoWi/R0REZ
6nGA7IRw2lKTx0gIJuSZi2/w+btTHlTPf+zK7VGWBFMqZ3ptA/pQ6tBQ2s+oqKmLJ3PAvNEQ+6X3
lGUokSAdhx+p/JyR8PRKrwlsQyKzTVMLCw2ELPNpjwwy1Iko06yZ0bCkCwHWw8HqpoIpOM6QarDB
SPq8rg2QRHLOENU3bSekLjfBtp4ReMvyIkoTFj7WzHZXAWy4WsCaHb5oNPQYXwTg9IzMVmyhRzzh
xEQHgz34PkXJpkV+OgvRN4DPBvL82BxbZ5Ma4ASSu41CloJBG5PqWdlrBOma3gNkyZ1BH7Xqvqr3
VaVXp3wDO64GhOY0wmUpVLDMzF0Qj7h93MW9MOn8tiMsx+2zMdmFqTSCKpCOvByPGOOqfejweMjb
oLsoDgM/D+Eedno8awBtXFdeDXCwEPM0maMimid+ucql4QpTjy100WTTgauPJ5gj6o7BkZSfIU74
/SJHm3N6+7LthDp6HGIQUHaUwB0Nck8/WwNPy6m+pRxklIy81VUHHZnRR41+mFKlWnltbhbyk4DF
KFyJUiAk4qNiQquug4Iv3SJ6kHJ268cR3/RzfxAVqyBgLIS78bqO0xeyFbso1zErFoyVXFqA04mm
5GqQwtR4GgSRpe3jKHMGeemOZZ+iyCgEWJRplvFNRxsKtDSlxZROXc9J95sBB8j8Qhx2b8JnP7N5
J2FtY3s4EiRHMTetYjBKr7aMD+NumF2sbh5mVnafRXnNERzetAnVIMEWIrxfoabpDccRz5a7HSbW
oJcqN/ho6sE8+rBKoj9X7Et4Zdqu45qG93bXs/NeKrBt2DYhBn37SdgRK64+59G/XRCDePwPBxIv
OZT4Hwfz3huUv/zrv19PTafjWgZ1KVaj031vnuncS6fHJyCHmkfr/e3H6qkiQJKn8dVyVa24zbTK
pubCcj2XI5CBXGzm6DP5R5FPKLYtz8DDyecLdP7SyFdxycwhxuNgjB3HO5r8b7k/X/qDrOY10s1n
dcciNt6dAf175M/ZFTamJshxsIUN25EQ9OrpsSxsOY5LZArrQ4/1gughHiYWIXKDFqNyyGh7fsRJ
NlbwxYOG6Y4sBNekxDXsg0Lovf7YL5U42zFtCxNXyXyuLgj5zkr0MU1/RYy/6WNPQ6j1LOLZFt1L
rAZPexCJpsXXP/PtbxVBhtZF8CXSZXJiPIztmrDTIcvg+32+8ZMSpMPLetkEWibxqGnKvBwxVrM8
uuVjFBi21UfNT23jTPsRy41tG9z9lhmGfQTxxtSrEaHUMrnolYNCNhxsebJpg9rYIaanHi3az8Dk
Chib/rHlT2zTtbHrvP2Hz616mYbRLGLhHi5IDdk/tugOmWYcjzuHpjKxzVXh/Yn1XguxruVZnmF5
x1DLrdl71dS2N3WiTiC9ZTkq003TCLg8yTGOgvv29fuBrBmEzKW1m0UzLA24LFikaLP1AlDMk8OQ
qUv4eqJZeBTyv8J8cngrTozj4VQT4EXp5yVqnYDi1s3tOU7nPXLiPWngYB0K3lYNkG7mPzLRXDBP
gPz5iBTNmZJMsDUeCUHM/FyLYvisYxyyRU5BGWUxQ1HCLSLh5MEdKqhxPNrPosqqt0qDN59kOVRL
bePD1yAehZJCKX1CaV/BKa4QWJuDdfKEiLK4mzRcw12THQ0MVk/vUSG29WR4spc8mpIh0rj18zVa
MD+U9Hpx+owkqBqxBYQ2ZwHBuh/b1g/Iv8nSpICOzxE8LZzxTLj7P5anKGbJvFwgDghfCnH4yuDD
3PRu+g09Orn1i8tsEcVRVpUxcfePBas84ghh7t99WfL55F39M9jcPVMLLHCUxPY8PY8Oiu5SRPHQ
Z0dCNMXlmsVxevcuS+ZH32OkiCCaxs3zdJWEOyj1tbLuaGqv8GF3wdSNuvEGG1ObRXH8XRTcwo6z
R8eFL/hy+ovtIcAcmYAyWsruKvBsMhZ2zoAL7+sj04Y3Gmgq6fjtGWMxWhv2XhvjJu6Min7AxLDr
Ys34VQMb2JEj/eeqO3Yzjy/TPJqLW+r43iYR7ugszZditwFeykX6TI3VvU6tVdC/YcCkiwkxe1jN
dilv5+yk/QYb1DH7+FlVclZcDb4SR37/XKUlC7kvEq9Yfc1AwZYRF1gsKZHHuD9mu6q7+qTeNVXn
GMA10dWOBe4DbY+Y+pHAvSC2LB1IfNzUWfYCCBkhHQjz0RGqsMMoGHw7LsIqfhJyaxbX5ZUZSpN4
jeof9D0aehqKGU9sD5GZ5gN4qsRn+z3z8DrmkZeCUXfT2gzruiJPctbyFJYnpUuCCr7H3ddT6Wy8
50HeZ3A0EWtw7cPnte9stidjtsl8Z/8G79fO+43xdFHwp4poEZr5oUicyjrHW8Tp9/SRogtKhCsd
rT6e7AGP1UYyHodkfCb5iUjmBPNlPM3L4rFvRbAOJJFMD2uH6UavlBJr0qu62v2BP6zy+Ordu+NI
oAbpK81ZmpRc/wFDRR4gYQGSyD8xCB5qB3fspsJrqk4qfpdpyERhzGf+xVvRBk9cSHTV/PI/6h9+
FH0Re+Yc90hdxIvEDaN19z1BzPj46gJpYx8rmJ6aiqPkFxJWF0aFaBK5HSsWm7DGQFDViUZczMry
PAWzzTY2h0qnNzlAJNYdTE0XsCmsitP8ap4zluyWRuBxIB/43E3Guu4kage1bdijyjfvXAelVFWk
07yeuVUVC58LET32kULLVVkf1cz4wpImRZmv4A78pj1cuVL0rlhNy9OEB6zUxNYuP1hkzvEw7JYl
Zc1B+zW68UO0jJYMlesM3vgp5ar3oLWq1raw/CLq9izSx1jTMrbCQgEXsCRFTKiLdTG4qb6Cweux
V31xzT+/Ktl9WT+Iaz5n/vKC/n5BjObnF/SP/7z+jNw+JX5PQexdlITpXYEwsfBzoXlVzp6PgC8I
qQyiex76ZEhGszS98XNOuWYK2wObpTO4AtHxdIlB5DY4CtAq3Rkfwh0fwtOojeo18mcly1EQpwW8
UyaGSlacKLHVMjiwnyQdhtTmLhOGj7YQwSVEKTh6ctxVrpnoJblpoZn4t9G8uj5F2rbVtXVx+oAO
sGlOgoK12eSdH/G5csESlKRlNFujME2gZKJtnSQiPdJeJDEcOgxKo2nQSUxDUWwFd+VX4qrZsH4N
F8QQ0yK6OGshFtWq3frgSoDtLp0TAW9fD6EWpdWBa23hWpPhbjtqZCJcauCt+C3WiFvnuLcWKWAf
N5FB0S0BU60CPjFG6Raj9OUy6hx7ieHzZNTcmgvN4XNhe8FZ5THyyzKPblbwoQdL3yKqxV/dx9d9
VFQ7UWBFrQLVzfXdcpdV4RJ0dY+hPtEMEiXNVlDijmxTO+aERl9orqytGWkCQHOryc5gwCRNkA7T
snWblpQwqXkRU5t5hSkrfvD9xI+Kgs55PG8YjugcwPJi2zeW3jNrY0sPXGcJqL8AjtcrJaGferER
2Vo/iy7rI23oJk5vqgl/lqdLFPqlL97BdwSZPeGKNTfH5eWmwxt6/EyKZTvmaFgf6mqSToPWwaBC
f/GtWD8jcB7Hwx/f3B7eHO1ZlVEMpP68Ppv2FlAR5FFWovqQXJup7oEly+4xeSwi0WRmXR3f3YSO
0kToBHGnYz5nIpl1s0bie9gSbdoftZ1P6uCL8LQfJZIOBpY3EuwyCkPJNDZUvlXG+KHvTrDwkzkU
5/FcFd4sJd4gSFT6+VySn1cqg5JA10VizSHLnGWxKBdqvkTpzU9JtMlxsQ52IfRiB77xAsBoqDVA
6BuUJugapUlRnTLL2Yyv9bAF20pr/WG2F4yreS+QMQAoS7MqzsUnb45Zm1PGkrC+panyc+Bz0ZQO
0mpTxcYfJXjj0AtkcJHyOSHkvmTXb7J1yPIBVj5A1ObzY9giI7Glf8ZxDnBFDdy/9YurrJwFizNx
+XH8oRsdU2q54B7kg0zNx27wSxMfdGo+dmNbmvhwpuZjN3SlhY+fBQrTYFUNRdEooCqqepzVwPup
8Vi4ZD+ugnuMjT64N0xcYIlkpyKIykykgix6O4iOVMuo3C9jU2WrKEfct3Z86LN4HMsc2c+ciiLJ
cYgHVEhtTw+m4hhRKUg5Cm7/0KAqOjSPgPMLccXyISbdcVDJ4OkH28ejHpwEbM24BwENzYAL7t4d
UqkzBuYBharw6R6LeVC6lmbUzebygIC9kWAPyFhhPiJGD9iDYnY0AC9Z6QNbLjAXYuvGI8PxpBN9
HRCo9rLVXcZlWjWEAV19y8JHQdWdPSGnoIXKlXfn52EdSgPSayrHMuTs9YN09EsUHhOOfnkGqzzn
riXEl0e0i3IfGj4eLUqCnAnP2I8v68zUjLvKxaExbmJ7GFZ1jmRVzlwkKn67IQcsrp1SgKAqEAHc
M89SsoY9CDvHYh6wMqBWVaXRLTFVuBGcQDEajqEAYY2vE3sPRBZHYod7j0Sv91Kcds+ArRemKiXL
XaAi41N5ml828eUm11rkAZwyIHgIyMMryW3Z2DKUDEwKwOJKbIXs+TZR6UQof/6j+TaCqvN90WzG
xBTDN81LP0qqBCC4zivNAc5poour26NYNIuuE1tLP8skJ4k9T6WdpxwqZDcrkcCSqdFwVDo8qghy
08XezzhMmnQOfROdMLjLiqtyikwdgQDCws4oovrRpzCBuIet6wFGWBeqTAE+zKCSSJcDtvs8VtAh
oJ1hPOk1Mz2iU2zLIEfbN4cPfviegT/42YcUrhFg4HDfo+mkSEV3K5FiF7UtVb4SLv1QCbEfRoIn
YEJUKvPVVAFxtCfZ66hM/N5hAcLujWMMeTrIlpwVqoeVdvK88QvidD6XtffGKnWQSjx2gUGFKczS
1DjE5eP9w6IAr5BojwyB2qr5u190ei+oxMblT+/axg5Le0SoNNrk0MuoEO3Fdo7K1zyZ2iRWe4Xb
c0XtF1jaMGAR1SiODjMTF3k0gwf5xTqBd0FKJWh7WGqub5I4t1Ql8UPxYUMTzFSig0864SEogMDg
Wi+X6GNGFMaKg3Y1V6AZqKQfJpddHRODYOrgW5127Paww+Ypy+5puGL3fCYoKiehvmynkGwOsCYU
iQdkqPhXdCecB0rrAQuJ3btkFI2D1WGL2rgHFIgkLkLcaAg62WkNwWnpJ5onIuxa1SnDwlNaPcmB
2bodXPaTMF1uFjzgbKw3AWuKuxU5joZ9nBITIzz9OJXoZGZsY9MUIO2pmP4T25DhYhmaGNr4VQ/N
FqE9l+F4muFgOSoVJVOqgS1V+6ZjzgR0kMB0omh7etOyDSoUW7JykYaiZWexisv2Ableh6GHIW++
Y+FVma/Ybgm5feZ8oEWtCpb7c5FBBhtuGHhsHFUDNscc4eaoY888y6ff01W2rBrk87MaZpvU34xL
qg78wZsvlQO5KizJcZE0WIZVwqonCt68QvvSu5JDpSpOlCWNEKahaF5UR3SbLHK+go/SUVMlgCzH
qttryiG7DT1VjiPJ8TZeR5azWRzNFyVKM2nahC9bRMdxpKoupL6HcXczorYu2gphlkBEjZswi1gO
o/DKeBuyZH21Zh139CjMr9+uv3z953dlWPw0sORt6JfsClMT8+dZjo2pN4iAo2T9tOj0aURuPg2s
1ZG15U4na+3okjUHLfxcnJ2+ZXkh6TqMPZVD24ehZNt/ilU6Mw9mRdUjscf02HoJ6fiHjxonV1PE
nkg5oSrXYNGD9UGiSSf3WUppQF4pfeocL7UPf65Yvv4m0PFV9fq/RI93/Pbxc3LVR7RSlu/YDSrS
4Bcra0dQ3hQGE5XCd7pTJ8GfXz++uWB5sb6JDjWFcY+HkTMEe7ZKLqYMA7GkasD/WLYgrm9CXIur
umAzbbzq1kF8sJrA00IFUKmxQw88PboqjbR0wO8pBrDsSfSQs2V6y+DqTksnBXE639TOq1iAWqFz
Hx0IQmoKGnL2E2J6dGw66n7OB+ShckMF9RS0IUosvjeXuX9L4yhYi75Gwa+qIcYX/nV+68N9hrBK
X+nhNFxHS5au4CvmDU8hL2Iah0gQtdM3fsH4JpHJttpEC9DmePUdZxW+8sHWBLREYnvK96JSpjyV
HIyJD0HtRkzCqAj8HD7xZqicoZRCPl4hu3mxiZks/SSayVqbEE9lsByDCi8TjkUVJmmTHMRpeT1C
f1VPkA2H9VVSzZsvQCMulRT7UTSoIlvWC2T+rIC9zJMnY568BuZftQKezOwnBn5YVTZQtcYfSmBF
VWp1kSG41VQp3zOpVpuDyetsth3NhA0jR6Wj6cuQ0z7EuuLT04L4YLfFnZ/B9bIqpwCO4q0SaRNd
5B5nW/KdidDVjK0Ea7kviOPXJ20Y9UOQLvn78Koo2ROR8JLNbAKOWw166+Ih0fyzzBmc68YW1QTW
6qAM7xltrBJPMk0FLNEcpYWXp2kpOQqmE1G0g5EdPedIKoubpQCVMz9ED6qTgLlDwKIkZPfs/8u7
lh5JbSD8b/ZGFgOGJtJqb5FyipRTbis3eLpJeAnomZ38+mBsN92NDQXYPRvtZTWzu+LzZ5ftqnI9
0vQ4eoN0vEIfZOgDoK4/6TzPCJKbGIQrSLFu05omSJDWu8FhBRZvPXtpNEXmIQk1ELzx5a4mJVU6
KwOYpzBeATacmdWFtace/s1Jj+rgksMeYBlZPeSlDYlXLJV8vm0s8iHPxdiFR3MzTNVdcDABI2N1
hnshHReT92tm7r1Lk6vfFw+QNMM1ROVPw7XP5vfLEM/ziYezT509EF36x8e/roDoPCoKKRUiJ1Z9
WsQApypGG6m32b+qbmmgVpb7QNG0RZt9UM9FE6bof8v0Kk7vTZbnWaKTIRRCSqitISkRlS8rkUlu
ore86JRR0EKjlngIkm2Nn5v1tAy3huZuUANhPYuMLH76R14bEyJoKD1tyxLBU+Pxk1M5ty5TfxSq
te8Im2Z5e+BL/eETV7ImigTEJrQCbmMTPp/4/Vozxytv81FWYl86OSXqfjwBJMIK+9voT2x/E1CS
LC3q7l1/t0NSLtfwGuBUUI5JUtdaOiR1etFxUprTThOSBSlViYPnrdyPBHWdT2a+OIEbaJpCBWZ5
MaB7SuzJA+LYwBhMqcy6jLD7cEjVEQFc6s0NqfxlGhl6pGKb+hi2p49huDioyhPxUmYml6Vu6GtG
3wbPjPKk8CBPxXA82a+SwQ5lPYTdro5cg1RVxyEUu81SeiSN85al3VntfIJEWy0DmjurIig35l3T
13/CkJ4Dy2AfxEv60XqCDk+7k+gqUzkwj79vWg/Pm9ZFKF39W+QHeNX3H7MdjANo54qfH2PyRq/m
JFWqgQ1Bes6iB1uEh5J2qJrtiKR/Zbg/MgL4eA1IaIVgQJ6OlgG/iwBukWrqsKQ55Toutw7w3V/d
B7dtKwKkP//1G0P5g4PcpoKr4KcZRv4GbEXmD3s9HX+TIiU9yG/nLKdza4zwYm+lLeNgv+lq3ASx
BcRWpDYL3SxXZTJ/+IRDNKvZQezVCEEMW5sfh8mJJbgFIbFKUtQZ5X2b1UZKjD8EHEob2ZRKZFMq
0XOlchMcb6KuThJdTDrbgNp+Ti9F8T7b2dcWV5Fflar3QbiY47OJrmYIMxOAFmvcs4F4q88grgWJ
xDJV5XsUW8HlZ9+Iu/GK9LYvucRWBxHYQG9nxyHdjDzlUC0DyKIMyHvouRIgUB3vSRIAW4Mh3fJp
25CPJCtfSZ6lYxgPa4c068bxFj2lO1bmTGnHrbI6Z8WGNhhIDN3fMhVsCnSBTHEUm4eVLwl1eXq8
8ELXFsuy0r78HSLILRtsFX2FO3w5A2ADouRZOpcy620T5mxSOyQP2CZf1Tjm7lrXtzEaeefdT4fi
2PNtrYRe4T8s9gYysAAcflbJgVxw2Bx1qBaNbZob2Ka5gZ9rbuAPMYKxSZXnSVQnGs9u3JaSJjnf
SA3/C6cgXf/nEJGsbkcJ8jwuwQqwbHh5SnpdqiRjAQD1Zncjc7iaWHnXMzmjEuyWodI7HkEUs3Al
rOKqQBE2ADQu3V2e4NxrEHIj3wZFZakGK0hTXzBI04PP5ez0hRFE9qPVYK1mp3lG0WY2dQw6TA5w
qI506thddPD2QfHyo+JUHitI6zreHgIIXLwAN7kOHoDXFwk1gapQQsP1sLJmt+9GomCR7/riJ1ar
TXn7RN4qIP4+Oq0OLptXM8SxZuPdVPpbpnKKNCAwoEgHFJkCinhP7urS1ZdOjSaiYbfjHQm7pM+U
9fq9HPXFxny0E4M2r6wz5RxGvAuj1ZwTeIco83jGuUHDtCfN51/6TcgfRLjPXcRP9gb5zBkbgLSL
RfFiIEM6Fcc8Vunjy3AA1Eih5KSzubq+UOqcPBghSxQn6EYpD/bt3+SVyOiC4ewrSPmudfVg7Jqg
+i9tKien5ak7/9J971aGw66GmGhPuyYtGWraOWfSnqWTIHlP1PGTGEfbocreSqDpt/48+lYdWYky
VUcq33dNI3zlP5ubs6ocZum1NyeLor/Lme+6oS/9Yp2nTeED1w92HBl1+sJashYZD9BxEpLnR5L8
o+u3tgNJLD6pa1qya4mo/M5eFAB8lchdkmeJxk3H+jS5VSN3PcxD5XeZT5J/TWlO3ll+nbteChCa
n6+sOHEWSlMD4/UIN6VjrkGexSVnccZ31S/6/0e7sYFpUl3Kzhy/R/f8tKVoGNvjlpVJQ1nK+j29
TzXpzl+syVOwbbCnyTJsHuf6QV4PP+k+IP3tiiZrhbd/WY552FQyoklxNPgHyBxjwPC9TcPHuuFX
p34BWuclK7P2TMdDVKkHh+F2qMc2SepgQzfeg6BtyfRSNYUa0FuFp7PyZnpA3VlgCHTq4A9sOWWW
r/eT8fV/Mr7RSr4b8BYII+QaOJNE+TvnqvInTa/zK8/AAza6whpkoxupv5nrfN6NgvCOaRwuv5o0
rIf7LEoIUffRgyu7yNrkZub672jKa6//9JVAx+wUbgs5Mna9v3ITWs8Ued8AONIgx7bKLx1/8m+7
XhtnYdG96lOThE7NWOytB7sG4acNOTkV83KxkvkdvToaZl68cRjsQLzlSRXRK8jzAs/I99tz9fYn
Zf3Hmt83drOCAfV6Ei097H7HroJQDHnwmopfr23x3cNCqmrCPN6THIh+Z/4HUEsDBAoAAAAAAJe7
3UAAAAAAAAAAAAAAAABDABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJzb2NrZXQud3Mu
bG9nLTI5SnVuMjAxMi0yMzI4NDYtb3V0LnR4dFVUCQADLjruTy467k91eAsAAQToAwAABOgDAABQ
SwECHgMKAAAAAADPu91AAAAAAAAAAAAAAAAAGAAYAAAAAAAAABAA7UEAAAAAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvVVQFAAOVOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAkbvdQGlVX2/J
MQAA52ICADQAGAAAAAAAAQAAAKSBUgAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3dlYmtpdF91
bml0X3Rlc3RzX291dHB1dC54bWxVVAUAAyE67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADJ
u91ACLkw03cJAADtMQAAJgAYAAAAAAABAAAApIGJMgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
dGVzdHNfcnVuMC50eHRVVAUAA4k67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADJu91Aj8Nz
CLEpAAAyqgEAJgAYAAAAAAABAAAApIFgPAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNf
cnVuMS50eHRVVAUAA4k67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADJu91A19s9MTcfAADg
GQEAJgAYAAAAAAABAAAApIFxZgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMy50
eHRVVAUAA4k67k91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAC9u91AAAAAAAAAAAAAAAAAHAAY
AAAAAAAAABAA7UEIhgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL1VUBQADdTruT3V4CwAB
BOgDAAAE6AMAAFBLAQIeAwoAAAAAALm73UAAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQV6GAAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20vaHRtbC9VVAUAA2467k91eAsAAQToAwAABOgDAABQ
SwECHgMKAAAAAAC5u91AAAAAAAAAAAAAAAAAKAAYAAAAAAAAABAA7UG5hgAAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL1VUBQADbjruT3V4CwABBOgDAAAE6AMAAFBLAQIe
AwoAAAAAAL273UAAAAAAAAAAAAAAAAAtABgAAAAAAAAAEADtQRuHAAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9VVAUAA3U67k91eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAC6u91Ap/uAQJIBAACIAwAATwAYAAAAAAABAAAApIGChwAAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfYXR0cmluc2VydGJlZm9yZTYtY3Jhc2gt
bG9nLnR4dFVUBQADbzruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAL273UAdUkZ7kQEAAIgD
AABiABgAAAAAAAEAAACkgZ2JAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20vaHRtbC9sZXZl
bDEvY29yZS9oY19ub2RlcmVwbGFjZWNoaWxkbmV3Y2hpbGRkaWZmZG9jdW1lbnQtY3Jhc2gtbG9n
LnR4dFVUBQADdTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALu73UCShWrZXgEAANYCAABe
ABgAAAAAAAEAAACkgcqLAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20vaHRtbC9sZXZlbDEv
Y29yZS9oY19ub2RlYXBwZW5kY2hpbGRuZXdjaGlsZGRpZmZkb2N1bWVudC1zdGRlcnIudHh0VVQF
AANyOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAurvdQA2L2WleAQAA1gIAAEwAGAAAAAAA
AQAAAKSBwI0AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hj
X2F0dHJpbnNlcnRiZWZvcmU2LXN0ZGVyci50eHRVVAUAA2867k91eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAC7u91AE/3mmmIBAADWAgAAUgAYAAAAAAABAAAApIGkjwAAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfZWxlbWVudHdyb25nZG9jdW1lbnRlcnIt
c3RkZXJyLnR4dFVUBQADcTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALm73UDoXMyKXwEA
ANYCAABLABgAAAAAAAEAAACkgZKRAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20vaHRtbC9s
ZXZlbDEvY29yZS9oY19hdHRyYXBwZW5kY2hpbGQ1LXN0ZGVyci50eHRVVAUAA2467k91eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAC5u91AwPgzpJEBAACIAwAATgAYAAAAAAABAAAApIF2kwAAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfYXR0cmFwcGVuZGNo
aWxkNS1jcmFzaC1sb2cudHh0VVQFAANuOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAvLvd
QMM/tJ2RAQAAiAMAAGIAGAAAAAAAAQAAAKSBj5UAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Rv
bS9odG1sL2xldmVsMS9jb3JlL2hjX25vZGVpbnNlcnRiZWZvcmVuZXdjaGlsZGRpZmZkb2N1bWVu
dC1jcmFzaC1sb2cudHh0VVQFAAN0Ou5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAu7vdQIhR
tvWRAQAAiAMAAFUAGAAAAAAAAQAAAKSBvJcAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS9o
dG1sL2xldmVsMS9jb3JlL2hjX2VsZW1lbnR3cm9uZ2RvY3VtZW50ZXJyLWNyYXNoLWxvZy50eHRV
VAUAA3E67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACAC7u91A/uyiXV8BAADVAgAAVwAYAAAA
AAABAAAApIHcmQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUv
aGNfbmFtZWRub2RlbWFwd3Jvbmdkb2N1bWVudGVyci1zdGRlcnIudHh0VVQFAANyOu5PdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAu7vdQFQpIiiSAQAAhwMAAFoAGAAAAAAAAQAAAKSBzJsAAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX25hbWVkbm9kZW1h
cHdyb25nZG9jdW1lbnRlcnItY3Jhc2gtbG9nLnR4dFVUBQADcjruT3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIALy73UCvadcqXQEAANYCAABfABgAAAAAAAEAAACkgfKdAAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9oY19ub2RlaW5zZXJ0YmVmb3JlbmV3Y2hp
bGRkaWZmZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADdDruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAL273UBsH6AzXQEAANYCAABfABgAAAAAAAEAAACkgeifAAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9oY19ub2RlcmVwbGFjZWNoaWxkbmV3Y2hpbGRkaWZm
ZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADdTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALu7
3UDMtIiskgEAAIgDAABhABgAAAAAAAEAAACkgd6hAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9k
b20vaHRtbC9sZXZlbDEvY29yZS9oY19ub2RlYXBwZW5kY2hpbGRuZXdjaGlsZGRpZmZkb2N1bWVu
dC1jcmFzaC1sb2cudHh0VVQFAANyOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAw7vdQAAA
AAAAAAAAAAAAACIAGAAAAAAAAAAQAO1BC6QAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94
aHRtbC9VVAUAA3067k91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADDu91AAAAAAAAAAAAAAAAA
KQAYAAAAAAAAABAA7UFnpAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVs
My9VVAUAA3067k91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADJu91AAAAAAAAAAAAAAAAALgAY
AAAAAAAAABAA7UHKpAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9j
b3JlL1VUBQADiTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMe73UBcFOzfXgEAANYCAABK
ABgAAAAAAAEAAACkgTKlAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWlzZXF1YWxub2RlMDctc3RkZXJyLnR4dFVUBQADhTruT3V4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAMe73UAuOoMJkQEAAIcDAABNABgAAAAAAAEAAACkgRSnAAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWlzZXF1YWxub2RlMjEtY3Jh
c2gtbG9nLnR4dFVUBQADhjruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMW73UADSWGZkgEA
AIgDAABOABgAAAAAAAEAAACkgSypAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWluc2VydGJlZm9yZTA4LWNyYXNoLWxvZy50eHRVVAUAA4I67k91eAsA
AQToAwAABOgDAABQSwECHgMUAAIACADFu91AW62+MF8BAADWAgAASwAYAAAAAAABAAAApIFGqwAA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpbnNlcnRi
ZWZvcmUwOC1zdGRlcnIudHh0VVQFAAOCOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAx7vd
QOxthXeSAQAAiAMAAE0AGAAAAAAAAQAAAKSBKq0AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Rv
bS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNlcXVhbG5vZGUxMS1jcmFzaC1sb2cudHh0VVQFAAOF
Ou5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAxrvdQFRMtESRAQAAiAMAAE4AGAAAAAAAAQAA
AKSBQ68AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2Rl
aW5zZXJ0YmVmb3JlMTMtY3Jhc2gtbG9nLnR4dFVUBQADgzruT3V4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAMe73UD5TalTXgEAANUCAABKABgAAAAAAAEAAACkgVyxAAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWlzZXF1YWxub2RlMjEtc3RkZXJyLnR4
dFVUBQADhjruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMi73UA8QVRCkQEAAIcDAABMABgA
AAAAAAEAAACkgT6zAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2Nv
cmUvbm9kZWlzc2FtZW5vZGUwMS1jcmFzaC1sb2cudHh0VVQFAAOHOu5PdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAx7vdQF69Vr6SAQAAiAMAAE0AGAAAAAAAAQAAAKSBVbUAAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNlcXVhbG5vZGUwNy1jcmFz
aC1sb2cudHh0VVQFAAOFOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAyLvdQKS/c79eAQAA
1QIAAEkAGAAAAAAAAQAAAKSBbrcAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9s
ZXZlbDMvY29yZS9ub2RlaXNzYW1lbm9kZTAxLXN0ZGVyci50eHRVVAUAA4c67k91eAsAAQToAwAA
BOgDAABQSwECHgMUAAIACADDu91At3UM/pABAACHAwAATwAYAAAAAAABAAAApIFPuQAAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL2RvY3VtZW50YWRvcHRub2Rl
MzItY3Jhc2gtbG9nLnR4dFVUBQADfjruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMe73UDj
b1oWXwEAANYCAABKABgAAAAAAAEAAACkgWi7AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20v
eGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWlzZXF1YWxub2RlMTEtc3RkZXJyLnR4dFVUBQADhTruT3V4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMW73UBTuTyHkAEAAIgDAABOABgAAAAAAAEAAACkgUu9
AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWluc2Vy
dGJlZm9yZTA3LWNyYXNoLWxvZy50eHRVVAUAA4I67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CADHu91AoGBxS5EBAACIAwAATQAYAAAAAAABAAAApIFjvwAAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpc2VxdWFsbm9kZTIyLWNyYXNoLWxvZy50eHRV
VAUAA4Y67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADGu91AhgdQcV4BAADWAgAASwAYAAAA
AAABAAAApIF7wQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVpbnNlcnRiZWZvcmUxMy1zdGRlcnIudHh0VVQFAAODOu5PdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAybvdQKdKh8mRAQAAhwMAAE4AGAAAAAAAAQAAAKSBXsMAAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlcmVwbGFjZWNoaWxkMzctY3Jhc2gt
bG9nLnR4dFVUBQADiTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMe73UAEueHqXwEAANYC
AABKABgAAAAAAAEAAACkgXfFAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWlzZXF1YWxub2RlMjItc3RkZXJyLnR4dFVUBQADhjruT3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAMa73UAx8hIJXQEAANYCAABKABgAAAAAAAEAAACkgVrHAAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWlzZXF1YWxub2RlMDEt
c3RkZXJyLnR4dFVUBQADhDruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMW73UAd1O9eXQEA
ANYCAABLABgAAAAAAAEAAACkgTvJAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZWluc2VydGJlZm9yZTA3LXN0ZGVyci50eHRVVAUAA4I67k91eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACADGu91AiNEool0BAADVAgAASwAYAAAAAAABAAAApIEdywAAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpbnNlcnRiZWZv
cmUyMy1zdGRlcnIudHh0VVQFAAODOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAw7vdQK1d
vaBdAQAA1QIAAEwAGAAAAAAAAQAAAKSB/8wAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94
aHRtbC9sZXZlbDMvY29yZS9kb2N1bWVudGFkb3B0bm9kZTMyLXN0ZGVyci50eHRVVAUAA3467k91
eAsAAQToAwAABOgDAABQSwECHgMUAAIACADGu91Ac+G3yZABAACHAwAATgAYAAAAAAABAAAApIHi
zgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpbnNl
cnRiZWZvcmUyMy1jcmFzaC1sb2cudHh0VVQFAAODOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAybvdQLyMd4deAQAA1QIAAEsAGAAAAAAAAQAAAKSB+tAAAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlcmVwbGFjZWNoaWxkMzctc3RkZXJyLnR4dFVU
BQADiTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMO73UARZcUAXgEAADIDAABPABgAAAAA
AAEAAACkgd3SAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUv
ZG9jdW1lbnRhZG9wdG5vZGUxNC1jcmFzaC1sb2cudHh0VVQFAAN9Ou5PdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAw7vdQGSDuLwuAQAAkAIAAEwAGAAAAAAAAQAAAKSBxNQAAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9kb2N1bWVudGFkb3B0bm9kZTE0LXN0
ZGVyci50eHRVVAUAA3067k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADGu91ARFuJ5ZEBAACI
AwAATQAYAAAAAAABAAAApIF41gAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVpc2VxdWFsbm9kZTAxLWNyYXNoLWxvZy50eHRVVAUAA4Q67k91eAsAAQTo
AwAABOgDAABQSwECHgMKAAAAAAC9u91AAAAAAAAAAAAAAAAAKQAYAAAAAAAAABAA7UGQ2AAAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9VVAUAA3U67k91eAsAAQToAwAA
BOgDAABQSwECHgMKAAAAAADCu91AAAAAAAAAAAAAAAAALgAYAAAAAAAAABAA7UHz2AAAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL1VUBQADfDruT3V4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAL273UA7T/dakgEAAIgDAABQABgAAAAAAAEAAACkgVvZAAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfYXR0cmluc2VydGJl
Zm9yZTYtY3Jhc2gtbG9nLnR4dFVUBQADdjruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMK7
3UC803QxkgEAAIgDAABjABgAAAAAAAEAAACkgXfbAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9k
b20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfbm9kZXJlcGxhY2VjaGlsZG5ld2NoaWxkZGlmZmRvY3Vt
ZW50LWNyYXNoLWxvZy50eHRVVAUAA3w67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADBu91A
P3QUul8BAADWAgAAXwAYAAAAAAABAAAApIGm3QAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9t
L3hodG1sL2xldmVsMS9jb3JlL2hjX25vZGVhcHBlbmRjaGlsZG5ld2NoaWxkZGlmZmRvY3VtZW50
LXN0ZGVyci50eHRVVAUAA3o67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACAC9u91AG6XnHl8B
AADWAgAATQAYAAAAAAABAAAApIGe3wAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1s
L2xldmVsMS9jb3JlL2hjX2F0dHJpbnNlcnRiZWZvcmU2LXN0ZGVyci50eHRVVAUAA3Y67k91eAsA
AQToAwAABOgDAABQSwECHgMUAAIACADAu91AFfzyNF8BAADWAgAAUwAYAAAAAAABAAAApIGE4QAA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2VsZW1lbnR3
cm9uZ2RvY3VtZW50ZXJyLXN0ZGVyci50eHRVVAUAA3g67k91eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAC9u91ACa3iD14BAADWAgAATAAYAAAAAAABAAAApIFw4wAAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2F0dHJhcHBlbmRjaGlsZDUtc3RkZXJyLnR4
dFVUBQADdTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAL273UC3mgiwkQEAAIgDAABPABgA
AAAAAAEAAACkgVTlAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2Nv
cmUvaGNfYXR0cmFwcGVuZGNoaWxkNS1jcmFzaC1sb2cudHh0VVQFAAN1Ou5PdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAwrvdQLaAaemSAQAAiAMAAGMAGAAAAAAAAQAAAKSBbucAAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9oY19ub2RlaW5zZXJ0YmVmb3Jl
bmV3Y2hpbGRkaWZmZG9jdW1lbnQtY3Jhc2gtbG9nLnR4dFVUBQADezruT3V4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAMC73UCF0im8kgEAAIgDAABWABgAAAAAAAEAAACkgZ3pAAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfZWxlbWVudHdyb25nZG9jdW1l
bnRlcnItY3Jhc2gtbG9nLnR4dFVUBQADeDruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMG7
3UAhyBwCXwEAANYCAABYABgAAAAAAAEAAACkgb/rAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9k
b20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfbmFtZWRub2RlbWFwd3Jvbmdkb2N1bWVudGVyci1zdGRl
cnIudHh0VVQFAAN5Ou5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAwbvdQKW/3jOSAQAAiAMA
AFsAGAAAAAAAAQAAAKSBsO0AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZl
bDEvY29yZS9oY19uYW1lZG5vZGVtYXB3cm9uZ2RvY3VtZW50ZXJyLWNyYXNoLWxvZy50eHRVVAUA
A3k67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADCu91AV7qKIl8BAADWAgAAYAAYAAAAAAAB
AAAApIHX7wAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hj
X25vZGVpbnNlcnRiZWZvcmVuZXdjaGlsZGRpZmZkb2N1bWVudC1zdGRlcnIudHh0VVQFAAN7Ou5P
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAwrvdQNBjHaFeAQAA1gIAAGAAGAAAAAAAAQAAAKSB
0PEAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9oY19ub2Rl
cmVwbGFjZWNoaWxkbmV3Y2hpbGRkaWZmZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADfDruT3V4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIAMG73UCUaJC6kgEAAIgDAABiABgAAAAAAAEAAACkgcjzAAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfbm9kZWFwcGVu
ZGNoaWxkbmV3Y2hpbGRkaWZmZG9jdW1lbnQtY3Jhc2gtbG9nLnR4dFVUBQADejruT3V4CwABBOgD
AAAE6AMAAFBLAQIeAwoAAAAAAJq73UAAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQfb1AAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL1VUBQADNDruT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoA
AAAAAJq73UAAAAAAAAAAAAAAAAAjABgAAAAAAAAAEADtQU32AAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL1VUBQADNDruT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAJu73UAA
AAAAAAAAAAAAAAApABgAAAAAAAAAEADtQar2AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL2NhY2hlL1VUBQADNTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAJu73UCNpXyK
jwEAAOgCAABRABgAAAAAAAEAAACkgQ33AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLXdkaWZmLmh0bWxVVAUAAzU6
7k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACACbu91A/sGlHUABAABaAgAAUQAYAAAAAAABAAAA
pIEn+QAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgt
Y2FjaGVkLXN1YnJlc291cmNlcy1hY3R1YWwudHh0VVQFAAM1Ou5PdXgLAAEE6AMAAAToAwAAUEsB
Ah4DCgACAAAAmrvdQJzpp3UGAAAABgAAAEcAGAAAAAAAAQAAAKSB8voAAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtZXhwZWN0ZWQudHh0
VVQFAAM0Ou5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAmrvdQFc1QluZAQAAFwMAAEMAGAAA
AAAAAQAAAKSBefsAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9z
dC1yZWRpcmVjdC1nZXQtZGlmZi50eHRVVAUAAzQ67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CACau91AjaV8io8BAADoAgAARQAYAAAAAAABAAAApIGP/QAAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC13ZGlmZi5odG1sVVQFAAM0Ou5P
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAm7vdQLnHjybbHwAAqCsAAEUAGAAAAAAAAAAAAKSB
nf8AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVj
dC1nZXQtYWN0dWFsLnBuZ1VUBQADNTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAJu73UCp
6IPjcggAAOQeAABLABgAAAAAAAEAAACkgfcfAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LXByZXR0eS1kaWZmLmh0bWxVVAUAAzU67k91
eAsAAQToAwAABOgDAABQSwECHgMUAAIACACbu91AucePJtsfAACoKwAAUQAYAAAAAAAAAAAApIHu
KAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2Fj
aGVkLXN1YnJlc291cmNlcy1hY3R1YWwucG5nVVQFAAM1Ou5PdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAm7vdQN3E6T95CAAA8B4AAFcAGAAAAAAAAQAAAKSBVEkBAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtcHJl
dHR5LWRpZmYuaHRtbFVUBQADNTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAJu73UDbKJQD
oQEAAC8DAABPABgAAAAAAAEAAACkgV5SAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rl
c3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWRpZmYudHh0VVQFAAM1Ou5P
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAmrvdQP7BpR1AAQAAWgIAAEUAGAAAAAAAAQAAAKSB
iFQBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVj
dC1nZXQtYWN0dWFsLnR4dFVUBQADNDruT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAAJu73UCc
6ad1BgAAAAYAAABTABgAAAAAAAEAAACkgUdWAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWV4cGVjdGVkLnR4dFVU
BQADNTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMm73UC/uLdsFAoAAKURAQAlABgAAAAA
AAEAAACkgdpWAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9lcnJvcl9sb2cudHh0VVQFAAOKOu5P
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAz7vdQJYrLwKMIwAA+pcAACQAGAAAAAAAAQAAAKSB
TWEBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3VsdHMuaHRtbFVUBQADlTruT3V4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAMm73UDgIjBvTSQAAAlOAQAmABgAAAAAAAEAAACkgTeFAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4yLnR4dFVUBQADiTruT3V4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIAMu73UDe9UXNXgIAACcMAAApABgAAAAAAAEAAACkgeSpAQB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvblVUBQADjTruT3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAJe73UCR7GaBGiQAAG9hAAAiABgAAAAAAAEAAACkgaWsAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwZC5jb25mVVQFAAMtOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA
r7vdQAAAAAAAAAAAAAAAACQAGAAAAAAAAAAQAO1BG9EBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2NvbXBvc2l0aW5nL1VUBQADWTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAK+73UAAAAAA
AAAAAAAAAAAwABgAAAAAAAAAEADtQXnRAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jb21wb3Np
dGluZy9yZWZsZWN0aW9ucy9VVAUAA1k67k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACACvu91A
UG6lzTMCAAChBQAATQAYAAAAAAABAAAApIHj0QEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY29t
cG9zaXRpbmcvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vcGFjaXR5LWRpZmZzLmh0bWxVVAUAA1k6
7k91eAsAAQToAwAABOgDAABQSwECHgMUAAIACACvu91AaRLTz3oWAACqIQAATQAYAAAAAAAAAAAA
pIGd1AEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY29tcG9zaXRpbmcvcmVmbGVjdGlvbnMvcmVm
bGVjdGlvbi1vcGFjaXR5LWFjdHVhbC5wbmdVVAUAA1k67k91eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACvu91AgswvnfsMAABhGAAASwAYAAAAAAAAAAAApIGe6wEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvY29tcG9zaXRpbmcvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1vcGFjaXR5LWRpZmYucG5n
VVQFAANZOu5PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAr7vdQP70YjhCJgAA40wAAE8AGAAA
AAAAAAAAAKSBHvkBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NvbXBvc2l0aW5nL3JlZmxlY3Rp
b25zL3JlZmxlY3Rpb24tb3BhY2l0eS1leHBlY3RlZC5wbmdVVAUAA1k67k91eAsAAQToAwAABOgD
AABQSwECHgMKAAAAAACXu91AAAAAAAAAAAAAAAAAQwAYAAAAAAAAAAAApIHpHwIAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvcHl3ZWJzb2NrZXQud3MubG9nLTI5SnVuMjAxMi0yMzI4NDYtZXJyLnR4
dFVUBQADLjruT3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAMm73UBHGgX7hyAAACF7AQAmABgA
AAAAAAEAAACkgWYgAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NfbG9nLnR4dFVUBQAD
iTruT3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAJe73UAAAAAAAAAAAAAAAABDABgAAAAAAAAA
AACkgU1BAgB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9weXdlYnNvY2tldC53cy5sb2ctMjlKdW4y
MDEyLTIzMjg0Ni1vdXQudHh0VVQFAAMuOu5PdXgLAAEE6AMAAAToAwAAUEsFBgAAAABhAGEA8DQA
AMpBAgAAAA==
</data>

          </attachment>
      

    </bug>

</bugzilla>