<?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>35310</bug_id>
          
          <creation_ts>2010-02-23 11:57:47 -0800</creation_ts>
          <short_desc>Move database enable bit fully out of settings</short_desc>
          <delta_ts>2010-03-03 21:19:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>34990</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric U.">ericu</reporter>
          <assigned_to name="Eric U.">ericu</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dimich</cc>
    
    <cc>dumi</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>193053</commentid>
    <comment_count>0</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-23 11:57:47 -0800</bug_when>
    <thetext>My patch for bug 22725 began the move of the database enable bit out of the settings and into the Database class.  I need to finish the job in order to get the database working in workers.  They can&apos;t access the settings directly, and this method of getting them the enable bit matches what was done for WebSockets.

See bug 34990 for the larger context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193054</commentid>
    <comment_count>1</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-23 11:58:22 -0800</bug_when>
    <thetext>Sorry--bad title first time around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193168</commentid>
    <comment_count>2</comment_count>
      <attachid>49336</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-23 16:10:00 -0800</bug_when>
    <thetext>Created attachment 49336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193189</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-23 17:15:51 -0800</bug_when>
    <thetext>Attachment 49336 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/303130</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193193</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-23 17:18:35 -0800</bug_when>
    <thetext>Attachment 49336 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/303134</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193202</commentid>
    <comment_count>5</comment_count>
      <attachid>49349</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-23 17:47:25 -0800</bug_when>
    <thetext>Created attachment 49349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193214</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-23 18:43:17 -0800</bug_when>
    <thetext>Attachment 49349 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/304011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193398</commentid>
    <comment_count>7</comment_count>
      <attachid>49405</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-24 10:06:03 -0800</bug_when>
    <thetext>Created attachment 49405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193403</commentid>
    <comment_count>8</comment_count>
      <attachid>49405</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-02-24 10:26:17 -0800</bug_when>
    <thetext>Comment on attachment 49405
Patch

&gt; Index: WebCore/ChangeLog
&gt; +2010-02-23  Eric Uhrhane  &lt;ericu@chromium.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Move database enable bit fully out of settings
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=35310
&gt; +
&gt; +        It now goes from preferences straight into Database::isAvailable, as
&gt; +        with WebSockets.
&gt; +
&gt; +        No new tests.

This should explain why there are no new test.
Is it because it is fixing a test or is it because no new functionality is exposed.

&gt; +
&gt; +        * WebCore.base.exp:
&gt; +        * WebCore.xcodeproj/project.pbxproj:

It would be good to comment about why a change was done in a particular file in this part of the ChangeLog.

For example, the project.pbxproj had a lot of header files get &quot;settings = {ATTRIBUTES = (Private, ); };&quot;  (I think I know why but) it would be good to comment about why this was done.

&gt; +        * page/DOMWindow.cpp:
&gt; +        (WebCore::DOMWindow::openDatabase):
&gt; +        * page/Settings.cpp:
&gt; +        (WebCore::Settings::Settings):
&gt; +        * page/Settings.h:
&gt; +


&gt; Index: WebKit/chromium/public/WebSettings.h
&gt; -    virtual void setDatabasesEnabled(bool) = 0;

Darin Fisher should give this part a glance because I don&apos;t know the rules regarding changing the public interface (but I thought that we tried not to do this).

Actually, I don&apos;t understand why this is being removed (a changelog comment may have helped about this file), but it seems that this method could have just called Database::setIsAvailable() now and remained around.


&gt; Index: WebKit/gtk/webkit/webkitwebview.cpp
&gt; +    Database::setIsAvailable(enableHTML5Database);


Shouldn&apos;t this have &quot;#if ENABLE(DATABASE)&quot; around it?

&gt;      else if (name == g_intern_string(&quot;enable-html5-database&quot;))
&gt; +        Database::setIsAvailable(g_value_get_boolean(&amp;value));

Shouldn&apos;t this have &quot;#if ENABLE(DATABASE)&quot; around it?



&gt; Index: WebKit/mac/ChangeLog
&gt; +2010-02-23  Eric Uhrhane  &lt;ericu@chromium.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Move database enable bit fully out of settings
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=35310
&gt; +
&gt; +        It now goes from preferences straight into Database::isAvailable, as
&gt; +        with WebSockets.
&gt; +
&gt; +        * WebView/WebView.mm:
&gt; +        (-[WebView _preferencesChangedNotification:]):
&gt; +
&gt; +2010-02-23  Eric Uhrhane  &lt;ericu@chromium.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Move database enable bit fully out of settings
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=35310
&gt; +
&gt; +        It now goes from preferences straight into Database::isAvailable, as
&gt; +        with WebSockets.
&gt; +
&gt; +        * WebView/WebView.mm:
&gt; +        (-[WebView _preferencesChangedNotification:]):
&gt; +

Echo :)


&gt; Index: WebKit/qt/Api/qwebsettings.cpp
&gt; +        WebCore::Database::setIsAvailable(value);

Shouldn&apos;t this have &quot;#if ENABLE(DATABASE)&quot; around it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193429</commentid>
    <comment_count>9</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-24 11:20:04 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 49405 [details])
&gt; &gt; Index: WebCore/ChangeLog
&gt; &gt; +2010-02-23  Eric Uhrhane  &lt;ericu@chromium.org&gt;
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        Move database enable bit fully out of settings
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=35310
&gt; &gt; +
&gt; &gt; +        It now goes from preferences straight into Database::isAvailable, as
&gt; &gt; +        with WebSockets.
&gt; &gt; +
&gt; &gt; +        No new tests.
&gt; 
&gt; This should explain why there are no new test.
&gt; Is it because it is fixing a test or is it because no new functionality is
&gt; exposed.
&gt; 
&gt; &gt; +
&gt; &gt; +        * WebCore.base.exp:
&gt; &gt; +        * WebCore.xcodeproj/project.pbxproj:
&gt; 
&gt; It would be good to comment about why a change was done in a particular file in
&gt; this part of the ChangeLog.
&gt; 
&gt; For example, the project.pbxproj had a lot of header files get &quot;settings =
&gt; {ATTRIBUTES = (Private, ); };&quot;  (I think I know why but) it would be good to
&gt; comment about why this was done.
&gt; 
&gt; &gt; +        * page/DOMWindow.cpp:
&gt; &gt; +        (WebCore::DOMWindow::openDatabase):
&gt; &gt; +        * page/Settings.cpp:
&gt; &gt; +        (WebCore::Settings::Settings):
&gt; &gt; +        * page/Settings.h:
&gt; &gt; +
&gt; 
&gt; 
&gt; &gt; Index: WebKit/chromium/public/WebSettings.h
&gt; &gt; -    virtual void setDatabasesEnabled(bool) = 0;
&gt; 
&gt; Darin Fisher should give this part a glance because I don&apos;t know the rules
&gt; regarding changing the public interface (but I thought that we tried not to do
&gt; this).
&gt; 
&gt; Actually, I don&apos;t understand why this is being removed (a changelog comment may
&gt; have helped about this file), but it seems that this method could have just
&gt; called Database::setIsAvailable() now and remained around.

I could do it that way.  It just seemed like we didn&apos;t need to have two ways of setting/getting that value, since there was only one underlying source of truth, and it wasn&apos;t going to be the Settings object any more.  I could make Settings call out to Database, but we&apos;d still need to set the bit through the Database interface in Worker context, where you don&apos;t have access to the Settings.  I think the fewer ways you have to remember to set the bit, the better.  It&apos;s complicated enough tracking enables through WebRuntimeFeatures [in Chrome], WebPreferences, WebSettings [and its implementation], and WebCore::Settings.

However, if this is an interface that we really don&apos;t want to change, I can easily do it the other way.  Darin, can you comment?

&gt; &gt; Index: WebKit/gtk/webkit/webkitwebview.cpp
&gt; &gt; +    Database::setIsAvailable(enableHTML5Database);
&gt; 
&gt; 
&gt; Shouldn&apos;t this have &quot;#if ENABLE(DATABASE)&quot; around it?
&gt; 
&gt; &gt;      else if (name == g_intern_string(&quot;enable-html5-database&quot;))
&gt; &gt; +        Database::setIsAvailable(g_value_get_boolean(&amp;value));
&gt; 
&gt; Shouldn&apos;t this have &quot;#if ENABLE(DATABASE)&quot; around it?
&gt; 
&gt; 
&gt; 
&gt; &gt; Index: WebKit/mac/ChangeLog
&gt; &gt; +2010-02-23  Eric Uhrhane  &lt;ericu@chromium.org&gt;
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        Move database enable bit fully out of settings
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=35310
&gt; &gt; +
&gt; &gt; +        It now goes from preferences straight into Database::isAvailable, as
&gt; &gt; +        with WebSockets.
&gt; &gt; +
&gt; &gt; +        * WebView/WebView.mm:
&gt; &gt; +        (-[WebView _preferencesChangedNotification:]):
&gt; &gt; +
&gt; &gt; +2010-02-23  Eric Uhrhane  &lt;ericu@chromium.org&gt;
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        Move database enable bit fully out of settings
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=35310
&gt; &gt; +
&gt; &gt; +        It now goes from preferences straight into Database::isAvailable, as
&gt; &gt; +        with WebSockets.
&gt; &gt; +
&gt; &gt; +        * WebView/WebView.mm:
&gt; &gt; +        (-[WebView _preferencesChangedNotification:]):
&gt; &gt; +
&gt; 
&gt; Echo :)
&gt; 
&gt; 
&gt; &gt; Index: WebKit/qt/Api/qwebsettings.cpp
&gt; &gt; +        WebCore::Database::setIsAvailable(value);
&gt; 
&gt; Shouldn&apos;t this have &quot;#if ENABLE(DATABASE)&quot; around it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194345</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-02-26 15:51:02 -0800</bug_when>
    <thetext>It is OK to remove Chromium WebKit APIs, but please ensure that all Chromium references have been removed first.  Usually, the process for doing that involves 3 patches: 1) introduce a new API to WebKit, 2) switch Chromium over to the new API, and 3) remove the old API from WebKit.  In this case, I guess there is no step #1 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194346</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-02-26 15:52:02 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; It is OK to remove Chromium WebKit APIs, but please ensure that all Chromium
&gt; references have been removed first.  Usually, the process for doing that
&gt; involves 3 patches: 1) introduce a new API to WebKit, 2) switch Chromium over
&gt; to the new API, and 3) remove the old API from WebKit.  In this case, I guess
&gt; there is no step #1 :)

Also, it is common to mark a WebKit API &quot;DEPRECATED&quot; in step #1 by just adding a comment to that effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194359</commentid>
    <comment_count>12</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-26 16:42:24 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; It is OK to remove Chromium WebKit APIs, but please ensure that all Chromium
&gt; &gt; references have been removed first.  Usually, the process for doing that
&gt; &gt; involves 3 patches: 1) introduce a new API to WebKit, 2) switch Chromium over
&gt; &gt; to the new API, and 3) remove the old API from WebKit.  In this case, I guess
&gt; &gt; there is no step #1 :)
&gt; 
&gt; Also, it is common to mark a WebKit API &quot;DEPRECATED&quot; in step #1 by just adding
&gt; a comment to that effect.

#1 is already done.
#2 is a one-liner; I&apos;ll send the review shortly, then upload the new version of this patch, addressing David&apos;s other points.  I actually thought I&apos;d already removed all calls to the old API, but I just checked and found a file I&apos;ve modified locally but not yet checked in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194390</commentid>
    <comment_count>13</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-02-26 18:40:22 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; It is OK to remove Chromium WebKit APIs, but please ensure that all Chromium
&gt; &gt; &gt; references have been removed first.  Usually, the process for doing that
&gt; &gt; &gt; involves 3 patches: 1) introduce a new API to WebKit, 2) switch Chromium over
&gt; &gt; &gt; to the new API, and 3) remove the old API from WebKit.  In this case, I guess
&gt; &gt; &gt; there is no step #1 :)
&gt; &gt; 
&gt; &gt; Also, it is common to mark a WebKit API &quot;DEPRECATED&quot; in step #1 by just adding
&gt; &gt; a comment to that effect.
&gt; 
&gt; #1 is already done.
&gt; #2 is a one-liner; I&apos;ll send the review shortly, then upload the new version of
&gt; this patch, addressing David&apos;s other points.  I actually thought I&apos;d already
&gt; removed all calls to the old API, but I just checked and found a file I&apos;ve
&gt; modified locally but not yet checked in.

Arg.  It&apos;s a little more complicated than that--I do actually have to do all 3 steps, because DOMWindow.cpp is still checking the old location in the Settings, which Chrome won&apos;t be setting after the one-liner I was going to use.

I&apos;ll make a patch for that [step 1] and attach it to this bug for review, then do the Chromium change, then upload the polished version of the patch David&apos;s already reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195205</commentid>
    <comment_count>14</comment_count>
      <attachid>49840</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-03-02 13:44:49 -0800</bug_when>
    <thetext>Created attachment 49840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195406</commentid>
    <comment_count>15</comment_count>
      <attachid>49840</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-02 23:43:19 -0800</bug_when>
    <thetext>Comment on attachment 49840
Patch

Clearing flags on attachment: 49840

Committed r55452: &lt;http://trac.webkit.org/changeset/55452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195407</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-02 23:43:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195410</commentid>
    <comment_count>17</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-03-03 00:31:39 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; All reviewed patches have been landed.  Closing bug.

This broke GTK+ builds. If EWS does not run it would be nice to at least stick around to check if the code builds in the normal bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195704</commentid>
    <comment_count>18</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-03-03 12:12:27 -0800</bug_when>
    <thetext>This also broke certain QtWebKit builds (e.g. when DATABASE support disabled build time , or the &quot;minimal build&quot;). 

As David Levin noted during the review few thing should be still guarded with &quot;if ENABLE(DATABASE)&quot;. Patch will follow soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195705</commentid>
    <comment_count>19</comment_count>
      <attachid>49931</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-03-03 12:15:51 -0800</bug_when>
    <thetext>Created attachment 49931
buildfix

Not sure where to put the guard, so I put it up for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195720</commentid>
    <comment_count>20</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-03-03 12:55:30 -0800</bug_when>
    <thetext>Very sorry about the breakage--yes Laszlo, that&apos;s the right place.  I&apos;ll have a GTK fix up shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195733</commentid>
    <comment_count>21</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-03-03 13:22:35 -0800</bug_when>
    <thetext>Nevermind--philn cleaned up my GTK mess already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195883</commentid>
    <comment_count>22</comment_count>
      <attachid>49931</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-03 21:19:34 -0800</bug_when>
    <thetext>Comment on attachment 49931
buildfix

Clearing flags on attachment: 49931

Committed r55504: &lt;http://trac.webkit.org/changeset/55504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195884</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-03 21:19:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49336</attachid>
            <date>2010-02-23 16:10:00 -0800</date>
            <delta_ts>2010-02-23 17:47:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35310-20100223160958.patch</filename>
            <type>text/plain</type>
            <size>21713</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTE3NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
b3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAorCisgICAgICAgIEl0
IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRhYmFzZTo6aXNBdmFp
bGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAgICBObyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9wZW5EYXRhYmFzZSk6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKwogMjAxMC0wMi0yMyAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhhdGNoZXIgYW5k
IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYkNv
cmUvV2ViQ29yZS5iYXNlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtNjEwLDYgKzYxMCw3IEBAIF9f
Wk43V2ViQ29yZTdJbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlN0ludFNp
emVDMUVSSzdfTlNTaXplCiBfX1pON1dlYkNvcmU3Y29va2llc0VQS05TXzhEb2N1bWVudEVSS05T
XzRLVVJMRQogX19aTjdXZWJDb3JlN25zQ29sb3JFUktOU181Q29sb3JFCitfX1pON1dlYkNvcmU4
RGF0YWJhc2UxNHNldElzQXZhaWxhYmxlRWIKIF9fWk43V2ViQ29yZThEb2N1bWVudDExY3JlYXRl
UmFuZ2VFdgogX19aTjdXZWJDb3JlOERvY3VtZW50MTNyZW1vdmVNYXJrZXJzRU5TXzE0RG9jdW1l
bnRNYXJrZXIxME1hcmtlclR5cGVFCiBfX1pON1dlYkNvcmU4RG9jdW1lbnQxM3N2Z0V4dGVuc2lv
bnNFdgpAQCAtNjM0LDcgKzYzNSw2IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0RGVmYXVs
dEZvbnRTaXoKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTlNf
MTJBdG9taWNTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250U2l6
ZUVpCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS05TXzEyQXRv
bWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXREYXRhYmFzZXNFbmFibGVkRWIK
IF9fWk43V2ViQ29yZThTZXR0aW5nczE5c2V0U2hvd0RlYnVnQm9yZGVyc0ViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyMHNldEN1cnNpdmVGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTlNfMTJBdG9taWNT
dHJpbmdFCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gNTUxNjgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjc2LDcgKzI3Niw3IEBACiAJCTFBMjI0NjRCMENDOThE
REIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDUwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0
ZVN0YXRlbWVudC5jcHAgKi87IH07CiAJCTFBMjI0NjRDMENDOThEREIwMEMwNTI0MCAvKiBTUUxp
dGVTdGF0ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMjI0NjQ2MENDOThEREIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuaCAqLzsgfTsK
IAkJMUEyMjQ2NEQwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjI0NjQ3MENDOThE
REIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5jcHAgKi87IH07Ci0JCTFBMjI0NjRFMEND
OThEREIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNR
TGl0ZVRyYW5zYWN0aW9uLmggKi87IH07CisJCTFBMjI0NjRFMENDOThEREIwMEMwNTI0MCAvKiBT
UUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyQTY4
MjMwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBNjgyMTBCNUJFREU3MDAwMkE0ODAg
LyogUHJvZ3Jlc3NUcmFja2VyLmNwcCAqLzsgfTsKIAkJMUEyQTY4MjQwQjVCRURFNzAwMDJBNDgw
IC8qIFByb2dyZXNzVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEyQTY4MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkFB
QzU4MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBQUM1NjBEQzJBM0Ix
MDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwICovOyB9OwpAQCAtMjg1LDcg
KzI4NSw3IEBACiAJCTFBMkQ3NTNEMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDc1M0IwREU0
N0ZBQjAwRjBBNjQ4IC8qIEljb25GZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyRDc1M0UwREU0N0ZBQjAwRjBBNjQ4IC8qIEljb25G
ZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMkQ3NTNDMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5jcHAgKi87IH07CiAJCTFB
MkU2RTU5MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJFNkU1NzBDQzU1MjEzMDA0QTIwNjIgLyog
U1FMVmFsdWUuY3BwICovOyB9OwotCQkxQTJFNkU1QTBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2
RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovOyB9OworCQkxQTJFNkU1QTBDQzU1
MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkU2RTdB
MENDNTU2RDUwMDRBMjA2MiAvKiBTUUxpdGVBdXRob3JpemVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTc4MENDNTU2RDUwMDRBMjA2MiAv
KiBTUUxpdGVBdXRob3JpemVyLmNwcCAqLzsgfTsKIAkJMUEzMTc4OTMwQjIwQTgxNjAwMzE2OTg3
IC8qIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMxNzg5MjBCMjBBODE2MDAzMTY5ODcgLyogU3VicmVzb3Vy
Y2VMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQTM0MTdDOTBDRUNGRjI1MDA0OUNCREUgLyogSlNDdXN0b21Wb2lkQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzQx
N0M3MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1c3RvbVZvaWRDYWxsYmFjay5oICovOyB9OwpAQCAt
MzU5LDExICszNTksMTEgQEAKIAkJMUE3NjJDNzgwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhO
U1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTc2MkM3MDBBMDc0RjI2MDA5ODlGNUIgLyogSlNYUGF0aE5TUmVzb2x2ZXIuaCAqLzsgfTsK
IAkJMUE3NjJDNzkwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3NjJDNzEwQTA3NEYyNjAw
OTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwICovOyB9OwogCQkxQTc2MkM3QTBBMDc0RjI2MDA5
ODlGNUIgLyogSlNYUGF0aFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE3NjJDNzIwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQu
aCAqLzsgfTsKLQkJMUE3Q0NCMTkwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxi
YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdD
Q0IxNTBDRDk0NjlBMDBCN0I2NEUgLyogU1FMU3RhdGVtZW50Q2FsbGJhY2suaCAqLzsgfTsKLQkJ
MUE3Q0NCMUEwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENE
OTQ2OUEwMEI3QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFB
N0NDQjFCMENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxNzBDRDk0NjlB
MDBCN0I2NEUgLyogU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5oICovOyB9OwotCQkxQTdDQ0IxQzBD
RDk0NjlBMDBCN0I2NEUgLyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxODBDRDk0NjlBMDBC
N0I2NEUgLyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFBN0NDQjI0
MENEOTQ2RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRFIC8qIFNR
TFRyYW5zYWN0aW9uLmggKi87IH07CisJCTFBN0NDQjE5MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxT
dGF0ZW1lbnRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE3Q0NCMTUwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxiYWNr
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3
Q0NCMUEwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENEOTQ2
OUEwMEI3QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3Q0NCMUIwQ0Q5NDY5QTAwQjdC
NjRFIC8qIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE3MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFu
c2FjdGlvbkNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMUE3Q0NCMUMwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE3Q0NCMTgwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFB
N0NDQjI0MENEOTQ2RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRF
IC8qIFNRTFRyYW5zYWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMUE3RkE2MTkwRERBM0IzQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTdGQTYxODBEREEzQjNBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXIuaCAqLzsgfTsK
IAkJMUE3RkE2MUIwRERBM0JCRTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0ZBNjFBMERE
QTNCQkUwMDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgKi87IH07CiAJCTFBN0ZB
NjQ5MEREQTNDQkEwMDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdGQTY0NzBEREEzQ0JB
MDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwICovOyB9OwpAQCAtNDk0LDcg
KzQ5NCw3IEBACiAJCTFBRTgyRkVEMENBQjA3RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFODJGRUIw
Q0FCMDdFRTAwMjIzN0FFIC8qIEpTU1FMUmVzdWx0U2V0LmggKi87IH07CiAJCTFBRjMyNjc5MEQ3
OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JD
bGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkxQUZFMTE3RDBDQkZGQjM2MDAzMDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QjBDQkZG
QjM2MDAzMDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgKi87IH07Ci0JCTFBRkUxMTdF
MENCRkZCMzYwMDMwMTdGQSAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QzBDQkZGQjM2MDAzMDE3RkEg
LyogU1FMUmVzdWx0U2V0Um93TGlzdC5oICovOyB9OworCQkxQUZFMTE3RTBDQkZGQjM2MDAzMDE3
RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFGRTExN0MwQ0JGRkIzNjAwMzAxN0ZBIC8qIFNRTFJlc3VsdFNl
dFJvd0xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQUZFMTE5OTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkUxMTk3
MENCRkZDQzQwMDMwMTdGQSAvKiBKU1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwICovOyB9OwogCQkx
QUZFMTE5QTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE5ODBDQkZGQ0M0
MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggKi87IH07CiAJCTFDMTFDQ0I1MEFB
NjA5MzcwMERBREIyMCAvKiBET01Ob3RhdGlvbi5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDQTk2RTgwQTk2MjRFOTAwNjkw
Q0NGIC8qIERPTU5vdGF0aW9uLmggKi87IH07CkBAIC0xMDMwLDcgKzEwMzAsNyBAQAogCQk1MTRD
NzY3RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjgwQ0U5MjNBMTAwN0VG
M0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTE0Qzc2NjkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNl
LmNwcCAqLzsgfTsKIAkJNTE0Qzc2N0YwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9u
c2VCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTRDNzY2QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTVCMDM5OTBDRDE2
NDJBMDBCN0VBOUMgLyogU1FMU3RhdGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCMDM5NzBDRDE2NDJBMDBCN0VBOUMgLyogU1FMU3RhdGVt
ZW50LmggKi87IH07CisJCTUxNUIwMzk5MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUIwMzk3
MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTVCMDM5QTBDRDE2NDJBMDBCN0VBOUMgLyog
U1FMU3RhdGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxNUIwMzk4MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuY3BwICovOyB9
OwogCQk1MTYwMzAwQjBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3RlbVBPU0lYLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDBBMENDNDI1
MTIwMEM4QUMyNSAvKiBGaWxlU3lzdGVtUE9TSVguY3BwICovOyB9OwogCQk1MTYwMzA2QzBDQzQz
NjIzMDBDOEFDMjUgLyogRmlsZVN5c3RlbUNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDZCMENDNDM2MjMwMEM4QUMyNSAvKiBGaWxlU3lz
dGVtQ0YuY3BwICovOyB9OwpAQCAtMTA1MSwxMCArMTA1MSwxMCBAQAogCQk1MThBMzRDODEwMjZD
OEM5MDAxQjY4OTYgLyogSlNXZWJTb2NrZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4QTM0QzUxMDI2QzhDOTAwMUI2ODk2IC8q
IEpTV2ViU29ja2V0Q29uc3RydWN0b3IuaCAqLzsgfTsKIAkJNTE4QTM0QzkxMDI2QzhDOTAwMUI2
ODk2IC8qIEpTV2ViU29ja2V0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxOEEzNEM2MTAyNkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tl
dEN1c3RvbS5jcHAgKi87IH07CiAJCTUxOTYxMTZBMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFz
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2
MTE1RTBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuY3BwICovOyB9OwotCQk1MTk2MTE2QjBD
QUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZS5o
ICovOyB9OworCQk1MTk2MTE2QjBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcw
MDEwQTgwQyAvKiBEYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUxOTYxMTZEMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVh
ZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2
MTE2MTBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQuY3BwICovOyB9OwogCQk1MTk2
MTE3MzBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY3MENBQzU2NTcwMDEwQTgwQyAv
KiBTUUxSZXN1bHRTZXQuY3BwICovOyB9OwotCQk1MTk2MTE3NDBDQUM1NjU3MDAxMEE4MEMgLyog
U1FMUmVzdWx0U2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTk2MTE2ODBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmggKi87IH07CisJ
CTUxOTYxMTc0MENBQzU2NTcwMDEwQTgwQyAvKiBTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY4MENBQzU2NTcwMDEwQTgw
QyAvKiBTUUxSZXN1bHRTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1MTk2MTE3ODBDQUM1NkE4MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTYy
MENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVhZC5oICovOyB9OwogCQk1MTk2MTFFQTBD
QUM3NDlDMDAxMEE4MEMgLyogRGF0YWJhc2VUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2MTFFODBDQUM3NDlDMDAxMEE4MEMgLyogRGF0YWJh
c2VUYXNrLmggKi87IH07CiAJCTUxOTYxMUVCMENBQzc0OUMwMDEwQTgwQyAvKiBEYXRhYmFzZVRh
c2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE5
NjExRTkwQ0FDNzQ5QzAwMTBBODBDIC8qIERhdGFiYXNlVGFzay5jcHAgKi87IH07CkBAIC0xMTAx
LDcgKzExMDEsNyBAQAogCQk1MUUzRjlENjBEQTA1RTFEMDAyNTA5MTEgLyogSlNTdG9yYWdlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTNGOUQ0
MERBMDVFMUQwMDI1MDkxMSAvKiBKU1N0b3JhZ2UuY3BwICovOyB9OwogCQk1MUU0QURCNjBDNDJC
NENGMDA0MkJDNTUgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFNEFEQjIwQzQyQjRDRjAwNDJCQzU1IC8q
IEZUUERpcmVjdG9yeURvY3VtZW50LmNwcCAqLzsgfTsKIAkJNTFFNEFEQjcwQzQyQjRDRjAwNDJC
QzU1IC8qIEZUUERpcmVjdG9yeURvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUU0QURCMzBDNDJCNENGMDA0MkJDNTUgLyogRlRQRGlyZWN0
b3J5RG9jdW1lbnQuaCAqLzsgfTsKLQkJNTFFQzkyNTkwQ0U5MERCNDAwRjkwMzA4IC8qIFNRTEVy
cm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVD
OTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAqLzsgfTsKKwkJNTFFQzkyNTkwQ0U5
MERCNDAwRjkwMzA4IC8qIFNRTEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUVDOTI2
MzBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1QjBDRTkw
REQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgKi87IH07CiAJ
CTUxRUM5MjY0MENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudENhbGxiYWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1
QzBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5oICovOyB9
OwogCQk1MUVDOTI2NTBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJv
ckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRUM5MjVEMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9y
Q2FsbGJhY2suY3BwICovOyB9OwpAQCAtNDc3OCw3ICs0Nzc4LDcgQEAKIAkJRTQ0NjEzQUQwQ0Q2
MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9y
LmggKi87IH07CiAJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlEMENE
NjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCAqLzsgfTsKIAkJRTQ0NjEzQjAwQ0Q2MzMx
MDAwRkFEQTc1IC8qIFRpbWVSYW5nZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlFMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmgg
Ki87IH07Ci0JCUU0NDYxM0I2MENENjM0NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxM0I0MENENjM0
NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCAqLzsgfTsKKwkJRTQ0NjEzQjYwQ0Q2MzQ0RTAw
RkFEQTc1IC8qIFZvaWRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ0NjEzQjQwQ0Q2MzQ0RTAwRkFEQTc1IC8qIFZvaWRDYWxsYmFjay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYx
M0UzMENENjgxOUYwMEZBREE3NSAvKiBNZWRpYVBsYXllci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEI0MUUwQzBDQkY5MEJEMDBBRjJFQ0UgLyog
TWVkaWFQbGF5ZXIuY3BwICovOyB9OwogCQlFNDQ2MTNFNDBDRDY4MUEyMDBGQURBNzUgLyogTWVk
aWFQbGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0QjQxRTBEMENCRjkwQkQwMEFGMkVDRSAvKiBNZWRpYVBsYXllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYxM0U1MENENjgxQTYwMEZB
REE3NSAvKiBNZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQxRTExMENCRjkwRUYwMEFGMkVDRSAvKiBNZWRp
YVBsYXllclByaXZhdGVRVEtpdC5tbSAqLzsgfTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCShyZXZpc2lv
biA1NTE2OCkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTMwLDEyICsxMTMwLDExIEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERPTVdpbmRvdzo6b3Bl
bkRhdGEKICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50LT5z
ZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NEYXRhYmFzZSgpKQorICAgIGlmICghRGF0YWJhc2U6
OmlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgU2V0dGluZ3MqIHNldHRp
bmdzID0gbV9mcmFtZS0+c2V0dGluZ3MoKTsKLSAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5n
cy0+ZGF0YWJhc2VzRW5hYmxlZCgpKQorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUt
PmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNj
ZXNzRGF0YWJhc2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gRGF0YWJhc2U6
Om9wZW5EYXRhYmFzZShkb2N1bWVudCwgbmFtZSwgdmVyc2lvbiwgZGlzcGxheU5hbWUsIGVzdGlt
YXRlZFNpemUsIGVjKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gNTUxNjgpCisrKyBXZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw2IEBAIFNl
dHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9jYXJldEJyb3dzaW5nRW5hYmxl
ZChmYWxzZSkKICAgICAsIG1fYXJlSW1hZ2VzRW5hYmxlZCh0cnVlKQogICAgICwgbV9hcmVQbHVn
aW5zRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fZGF0YWJhc2VzRW5hYmxlZChmYWxzZSkKICAgICAs
IG1fbG9jYWxTdG9yYWdlRW5hYmxlZChmYWxzZSkKICAgICAsIG1faXNKYXZhU2NyaXB0RW5hYmxl
ZChmYWxzZSkKICAgICAsIG1faXNXZWJTZWN1cml0eUVuYWJsZWQodHJ1ZSkKQEAgLTI2MCwxMSAr
MjU5LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0UGx1Z2luc0VuYWJsZWQoYm9vbCBhcgogICAgIG1f
YXJlUGx1Z2luc0VuYWJsZWQgPSBhcmVQbHVnaW5zRW5hYmxlZDsKIH0KIAotdm9pZCBTZXR0aW5n
czo6c2V0RGF0YWJhc2VzRW5hYmxlZChib29sIGRhdGFiYXNlc0VuYWJsZWQpCi17Ci0gICAgbV9k
YXRhYmFzZXNFbmFibGVkID0gZGF0YWJhc2VzRW5hYmxlZDsKLX0KLQogdm9pZCBTZXR0aW5nczo6
c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChib29sIGxvY2FsU3RvcmFnZUVuYWJsZWQpCiB7CiAgICAg
bV9sb2NhbFN0b3JhZ2VFbmFibGVkID0gbG9jYWxTdG9yYWdlRW5hYmxlZDsKSW5kZXg6IFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjcsOSArMTI3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IHNldFBsdWdpbnNFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGFyZVBsdWdpbnNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9hcmVQbHVnaW5zRW5hYmxlZDsgfQogCi0gICAgICAgIHZvaWQg
c2V0RGF0YWJhc2VzRW5hYmxlZChib29sKTsKLSAgICAgICAgYm9vbCBkYXRhYmFzZXNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZXNFbmFibGVkOyB9Ci0KICAgICAgICAgdm9pZCBz
ZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGxvY2FsU3RvcmFnZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xvY2FsU3RvcmFnZUVuYWJsZWQ7IH0KIApAQCAtMzE1
LDcgKzMxMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2NhcmV0QnJv
d3NpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FyZUltYWdlc0VuYWJsZWQgOiAxOwog
ICAgICAgICBib29sIG1fYXJlUGx1Z2luc0VuYWJsZWQgOiAxOwotICAgICAgICBib29sIG1fZGF0
YWJhc2VzRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9sb2NhbFN0b3JhZ2VFbmFibGVkIDog
MTsKICAgICAgICAgYm9vbCBtX2lzSmF2YVNjcmlwdEVuYWJsZWQgOiAxOwogICAgICAgICBib29s
IG1faXNXZWJTZWN1cml0eUVuYWJsZWQgOiAxOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTE3NCkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNyBAQAorMjAxMC0wMi0yMyAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
ZGF0YWJhc2UgZW5hYmxlIGJpdCBmdWxseSBvdXQgb2Ygc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEwCisKKyAgICAgICAgSXQgbm93
IGdvZXMgZnJvbSBwcmVmZXJlbmNlcyBzdHJhaWdodCBpbnRvIERhdGFiYXNlOjppc0F2YWlsYWJs
ZSwgYXMKKyAgICAgICAgd2l0aCBXZWJTb2NrZXRzLgorCisgICAgICAgICogcHVibGljL1dlYlNl
dHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgICog
c3JjL1dlYlNldHRpbmdzSW1wbC5oOgorCiAyMDEwLTAyLTIzICBKYW1lcyBIYXdraW5zICA8amhh
d2tpbnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4K
SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJldmlzaW9uIDU1MTY4KQor
KysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBA
IC03Niw3ICs3Niw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RWRpdGFibGVMaW5r
QmVoYXZpb3JOZXZlckxpdmUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEZvbnRSZW5kZXJp
bmdNb2RlTm9ybWFsKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQYWludEN1c3Rv
bVNjcm9sbGJhcnMoYm9vbCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhYmFzZXNFbmFi
bGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0ZpbGVBY2Nl
c3NGcm9tRmlsZVVSTHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0
aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yTmV2ZXJJbmNsdWRlZCgpID0gMDsKSW5kZXg6IFdl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9uIDU1MTY4KQorKysg
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMjYsMTEgKzIyNiw2IEBAIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRTaG91bGRQYWludEN1
c3QKICAgICBtX3NldHRpbmdzLT5zZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoZW5hYmxl
ZCk7CiB9CiAKLXZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXREYXRhYmFzZXNFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKLXsKLSAgICBtX3NldHRpbmdzLT5zZXREYXRhYmFzZXNFbmFibGVkKGVuYWJsZWQp
OwotfQotCiB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYm9vbCBhbGxvdykKIHsKICAgICBtX3NldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMcyhhbGxvdyk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNldHRpbmdzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmgJKHJldmlzaW9uIDU1MTY4KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNldEVkaXRhYmxlTGlua0JlaGF2aW9yTmV2ZXJMaXZlKCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldEZvbnRSZW5kZXJpbmdNb2RlTm9ybWFsKCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldFNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycyhib29sKTsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0RGF0YWJhc2VzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFs
bG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4
dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvck5ldmVySW5jbHVkZWQoKTsKSW5kZXg6
IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTE3NCkKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAorCisgICAgICAg
IEl0IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRhYmFzZTo6aXNB
dmFpbGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkTm90
aWZpY2F0aW9uOl0pOgorCiAyMDEwLTAyLTIzICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW0gSGF0Y2hlciBhbmQgUGF2ZWwgRmVsZG1h
bi4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiArMTA2LDcgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvQ2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvQ3Vyc29yLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50
TG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RyYWdDb250cm9sbGVyLmg+CkBAIC0xMzA0LDcg
KzEzMDUsOSBAQCBzdGF0aWMgYm9vbCBmYXN0RG9jdW1lbnRUZWFyZG93bkVuYWJsZWQoCiAgICAg
c2V0dGluZ3MtPnNldE1pbmltdW1Gb250U2l6ZShbcHJlZmVyZW5jZXMgbWluaW11bUZvbnRTaXpl
XSk7CiAgICAgc2V0dGluZ3MtPnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoW3ByZWZlcmVuY2Vz
IG1pbmltdW1Mb2dpY2FsRm9udFNpemVdKTsKICAgICBzZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJs
ZWQoW3ByZWZlcmVuY2VzIGFyZVBsdWdJbnNFbmFibGVkXSk7Ci0gICAgc2V0dGluZ3MtPnNldERh
dGFiYXNlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGRhdGFiYXNlc0VuYWJsZWRdKTsKKyNpZiBFTkFC
TEUoREFUQUJBU0UpCisgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKFtwcmVmZXJlbmNlcyBk
YXRhYmFzZXNFbmFibGVkXSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9jYWxTdG9yYWdl
RW5hYmxlZChbcHJlZmVyZW5jZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwogICAgIHNldHRpbmdz
LT5zZXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChbcHJlZmVyZW5jZXMgZXhwZXJp
bWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49349</attachid>
            <date>2010-02-23 17:47:25 -0800</date>
            <delta_ts>2010-02-24 10:05:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35310-20100223174724.patch</filename>
            <type>text/plain</type>
            <size>26037</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTE3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
b3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAorCisgICAgICAgIEl0
IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRhYmFzZTo6aXNBdmFp
bGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAgICBObyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9wZW5EYXRhYmFzZSk6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKwogMjAxMC0wMi0yMyAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhhdGNoZXIgYW5k
IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYkNv
cmUvV2ViQ29yZS5iYXNlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtNjEwLDYgKzYxMCw3IEBAIF9f
Wk43V2ViQ29yZTdJbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlN0ludFNp
emVDMUVSSzdfTlNTaXplCiBfX1pON1dlYkNvcmU3Y29va2llc0VQS05TXzhEb2N1bWVudEVSS05T
XzRLVVJMRQogX19aTjdXZWJDb3JlN25zQ29sb3JFUktOU181Q29sb3JFCitfX1pON1dlYkNvcmU4
RGF0YWJhc2UxNHNldElzQXZhaWxhYmxlRWIKIF9fWk43V2ViQ29yZThEb2N1bWVudDExY3JlYXRl
UmFuZ2VFdgogX19aTjdXZWJDb3JlOERvY3VtZW50MTNyZW1vdmVNYXJrZXJzRU5TXzE0RG9jdW1l
bnRNYXJrZXIxME1hcmtlclR5cGVFCiBfX1pON1dlYkNvcmU4RG9jdW1lbnQxM3N2Z0V4dGVuc2lv
bnNFdgpAQCAtNjM0LDcgKzYzNSw2IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0RGVmYXVs
dEZvbnRTaXoKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTlNf
MTJBdG9taWNTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250U2l6
ZUVpCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS05TXzEyQXRv
bWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXREYXRhYmFzZXNFbmFibGVkRWIK
IF9fWk43V2ViQ29yZThTZXR0aW5nczE5c2V0U2hvd0RlYnVnQm9yZGVyc0ViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyMHNldEN1cnNpdmVGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTlNfMTJBdG9taWNT
dHJpbmdFCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gNTUxNjgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjc2LDcgKzI3Niw3IEBACiAJCTFBMjI0NjRCMENDOThE
REIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDUwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0
ZVN0YXRlbWVudC5jcHAgKi87IH07CiAJCTFBMjI0NjRDMENDOThEREIwMEMwNTI0MCAvKiBTUUxp
dGVTdGF0ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMjI0NjQ2MENDOThEREIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuaCAqLzsgfTsK
IAkJMUEyMjQ2NEQwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjI0NjQ3MENDOThE
REIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5jcHAgKi87IH07Ci0JCTFBMjI0NjRFMEND
OThEREIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNR
TGl0ZVRyYW5zYWN0aW9uLmggKi87IH07CisJCTFBMjI0NjRFMENDOThEREIwMEMwNTI0MCAvKiBT
UUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyQTY4
MjMwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBNjgyMTBCNUJFREU3MDAwMkE0ODAg
LyogUHJvZ3Jlc3NUcmFja2VyLmNwcCAqLzsgfTsKIAkJMUEyQTY4MjQwQjVCRURFNzAwMDJBNDgw
IC8qIFByb2dyZXNzVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEyQTY4MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkFB
QzU4MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBQUM1NjBEQzJBM0Ix
MDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwICovOyB9OwpAQCAtMjg1LDcg
KzI4NSw3IEBACiAJCTFBMkQ3NTNEMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDc1M0IwREU0
N0ZBQjAwRjBBNjQ4IC8qIEljb25GZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyRDc1M0UwREU0N0ZBQjAwRjBBNjQ4IC8qIEljb25G
ZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMkQ3NTNDMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5jcHAgKi87IH07CiAJCTFB
MkU2RTU5MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJFNkU1NzBDQzU1MjEzMDA0QTIwNjIgLyog
U1FMVmFsdWUuY3BwICovOyB9OwotCQkxQTJFNkU1QTBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2
RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovOyB9OworCQkxQTJFNkU1QTBDQzU1
MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkU2RTdB
MENDNTU2RDUwMDRBMjA2MiAvKiBTUUxpdGVBdXRob3JpemVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTc4MENDNTU2RDUwMDRBMjA2MiAv
KiBTUUxpdGVBdXRob3JpemVyLmNwcCAqLzsgfTsKIAkJMUEzMTc4OTMwQjIwQTgxNjAwMzE2OTg3
IC8qIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMxNzg5MjBCMjBBODE2MDAzMTY5ODcgLyogU3VicmVzb3Vy
Y2VMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQTM0MTdDOTBDRUNGRjI1MDA0OUNCREUgLyogSlNDdXN0b21Wb2lkQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzQx
N0M3MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1c3RvbVZvaWRDYWxsYmFjay5oICovOyB9OwpAQCAt
MzU5LDExICszNTksMTEgQEAKIAkJMUE3NjJDNzgwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhO
U1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTc2MkM3MDBBMDc0RjI2MDA5ODlGNUIgLyogSlNYUGF0aE5TUmVzb2x2ZXIuaCAqLzsgfTsK
IAkJMUE3NjJDNzkwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3NjJDNzEwQTA3NEYyNjAw
OTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwICovOyB9OwogCQkxQTc2MkM3QTBBMDc0RjI2MDA5
ODlGNUIgLyogSlNYUGF0aFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE3NjJDNzIwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQu
aCAqLzsgfTsKLQkJMUE3Q0NCMTkwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxi
YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdD
Q0IxNTBDRDk0NjlBMDBCN0I2NEUgLyogU1FMU3RhdGVtZW50Q2FsbGJhY2suaCAqLzsgfTsKLQkJ
MUE3Q0NCMUEwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENE
OTQ2OUEwMEI3QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFB
N0NDQjFCMENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxNzBDRDk0NjlB
MDBCN0I2NEUgLyogU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5oICovOyB9OwotCQkxQTdDQ0IxQzBD
RDk0NjlBMDBCN0I2NEUgLyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxODBDRDk0NjlBMDBC
N0I2NEUgLyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFBN0NDQjI0
MENEOTQ2RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRFIC8qIFNR
TFRyYW5zYWN0aW9uLmggKi87IH07CisJCTFBN0NDQjE5MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxT
dGF0ZW1lbnRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE3Q0NCMTUwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxiYWNr
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3
Q0NCMUEwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENEOTQ2
OUEwMEI3QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3Q0NCMUIwQ0Q5NDY5QTAwQjdC
NjRFIC8qIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE3MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFu
c2FjdGlvbkNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMUE3Q0NCMUMwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE3Q0NCMTgwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFB
N0NDQjI0MENEOTQ2RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRF
IC8qIFNRTFRyYW5zYWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMUE3RkE2MTkwRERBM0IzQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTdGQTYxODBEREEzQjNBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXIuaCAqLzsgfTsK
IAkJMUE3RkE2MUIwRERBM0JCRTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0ZBNjFBMERE
QTNCQkUwMDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgKi87IH07CiAJCTFBN0ZB
NjQ5MEREQTNDQkEwMDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdGQTY0NzBEREEzQ0JB
MDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwICovOyB9OwpAQCAtNDk0LDcg
KzQ5NCw3IEBACiAJCTFBRTgyRkVEMENBQjA3RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFODJGRUIw
Q0FCMDdFRTAwMjIzN0FFIC8qIEpTU1FMUmVzdWx0U2V0LmggKi87IH07CiAJCTFBRjMyNjc5MEQ3
OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JD
bGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkxQUZFMTE3RDBDQkZGQjM2MDAzMDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QjBDQkZG
QjM2MDAzMDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgKi87IH07Ci0JCTFBRkUxMTdF
MENCRkZCMzYwMDMwMTdGQSAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QzBDQkZGQjM2MDAzMDE3RkEg
LyogU1FMUmVzdWx0U2V0Um93TGlzdC5oICovOyB9OworCQkxQUZFMTE3RTBDQkZGQjM2MDAzMDE3
RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFGRTExN0MwQ0JGRkIzNjAwMzAxN0ZBIC8qIFNRTFJlc3VsdFNl
dFJvd0xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQUZFMTE5OTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkUxMTk3
MENCRkZDQzQwMDMwMTdGQSAvKiBKU1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwICovOyB9OwogCQkx
QUZFMTE5QTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE5ODBDQkZGQ0M0
MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggKi87IH07CiAJCTFDMTFDQ0I1MEFB
NjA5MzcwMERBREIyMCAvKiBET01Ob3RhdGlvbi5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDQTk2RTgwQTk2MjRFOTAwNjkw
Q0NGIC8qIERPTU5vdGF0aW9uLmggKi87IH07CkBAIC0xMDMwLDcgKzEwMzAsNyBAQAogCQk1MTRD
NzY3RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjgwQ0U5MjNBMTAwN0VG
M0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTE0Qzc2NjkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNl
LmNwcCAqLzsgfTsKIAkJNTE0Qzc2N0YwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9u
c2VCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTRDNzY2QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTVCMDM5OTBDRDE2
NDJBMDBCN0VBOUMgLyogU1FMU3RhdGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCMDM5NzBDRDE2NDJBMDBCN0VBOUMgLyogU1FMU3RhdGVt
ZW50LmggKi87IH07CisJCTUxNUIwMzk5MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUIwMzk3
MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTVCMDM5QTBDRDE2NDJBMDBCN0VBOUMgLyog
U1FMU3RhdGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxNUIwMzk4MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuY3BwICovOyB9
OwogCQk1MTYwMzAwQjBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3RlbVBPU0lYLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDBBMENDNDI1
MTIwMEM4QUMyNSAvKiBGaWxlU3lzdGVtUE9TSVguY3BwICovOyB9OwogCQk1MTYwMzA2QzBDQzQz
NjIzMDBDOEFDMjUgLyogRmlsZVN5c3RlbUNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDZCMENDNDM2MjMwMEM4QUMyNSAvKiBGaWxlU3lz
dGVtQ0YuY3BwICovOyB9OwpAQCAtMTA1MSwxMCArMTA1MSwxMCBAQAogCQk1MThBMzRDODEwMjZD
OEM5MDAxQjY4OTYgLyogSlNXZWJTb2NrZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4QTM0QzUxMDI2QzhDOTAwMUI2ODk2IC8q
IEpTV2ViU29ja2V0Q29uc3RydWN0b3IuaCAqLzsgfTsKIAkJNTE4QTM0QzkxMDI2QzhDOTAwMUI2
ODk2IC8qIEpTV2ViU29ja2V0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxOEEzNEM2MTAyNkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tl
dEN1c3RvbS5jcHAgKi87IH07CiAJCTUxOTYxMTZBMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFz
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2
MTE1RTBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuY3BwICovOyB9OwotCQk1MTk2MTE2QjBD
QUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZS5o
ICovOyB9OworCQk1MTk2MTE2QjBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcw
MDEwQTgwQyAvKiBEYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUxOTYxMTZEMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVh
ZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2
MTE2MTBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQuY3BwICovOyB9OwogCQk1MTk2
MTE3MzBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY3MENBQzU2NTcwMDEwQTgwQyAv
KiBTUUxSZXN1bHRTZXQuY3BwICovOyB9OwotCQk1MTk2MTE3NDBDQUM1NjU3MDAxMEE4MEMgLyog
U1FMUmVzdWx0U2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTk2MTE2ODBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmggKi87IH07CisJ
CTUxOTYxMTc0MENBQzU2NTcwMDEwQTgwQyAvKiBTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY4MENBQzU2NTcwMDEwQTgw
QyAvKiBTUUxSZXN1bHRTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1MTk2MTE3ODBDQUM1NkE4MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTYy
MENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVhZC5oICovOyB9OwogCQk1MTk2MTFFQTBD
QUM3NDlDMDAxMEE4MEMgLyogRGF0YWJhc2VUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2MTFFODBDQUM3NDlDMDAxMEE4MEMgLyogRGF0YWJh
c2VUYXNrLmggKi87IH07CiAJCTUxOTYxMUVCMENBQzc0OUMwMDEwQTgwQyAvKiBEYXRhYmFzZVRh
c2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE5
NjExRTkwQ0FDNzQ5QzAwMTBBODBDIC8qIERhdGFiYXNlVGFzay5jcHAgKi87IH07CkBAIC0xMTAx
LDcgKzExMDEsNyBAQAogCQk1MUUzRjlENjBEQTA1RTFEMDAyNTA5MTEgLyogSlNTdG9yYWdlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTNGOUQ0
MERBMDVFMUQwMDI1MDkxMSAvKiBKU1N0b3JhZ2UuY3BwICovOyB9OwogCQk1MUU0QURCNjBDNDJC
NENGMDA0MkJDNTUgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFNEFEQjIwQzQyQjRDRjAwNDJCQzU1IC8q
IEZUUERpcmVjdG9yeURvY3VtZW50LmNwcCAqLzsgfTsKIAkJNTFFNEFEQjcwQzQyQjRDRjAwNDJC
QzU1IC8qIEZUUERpcmVjdG9yeURvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUU0QURCMzBDNDJCNENGMDA0MkJDNTUgLyogRlRQRGlyZWN0
b3J5RG9jdW1lbnQuaCAqLzsgfTsKLQkJNTFFQzkyNTkwQ0U5MERCNDAwRjkwMzA4IC8qIFNRTEVy
cm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVD
OTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAqLzsgfTsKKwkJNTFFQzkyNTkwQ0U5
MERCNDAwRjkwMzA4IC8qIFNRTEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUVDOTI2
MzBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1QjBDRTkw
REQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgKi87IH07CiAJ
CTUxRUM5MjY0MENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudENhbGxiYWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1
QzBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5oICovOyB9
OwogCQk1MUVDOTI2NTBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJv
ckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRUM5MjVEMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9y
Q2FsbGJhY2suY3BwICovOyB9OwpAQCAtNDc3OCw3ICs0Nzc4LDcgQEAKIAkJRTQ0NjEzQUQwQ0Q2
MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9y
LmggKi87IH07CiAJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlEMENE
NjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCAqLzsgfTsKIAkJRTQ0NjEzQjAwQ0Q2MzMx
MDAwRkFEQTc1IC8qIFRpbWVSYW5nZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlFMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmgg
Ki87IH07Ci0JCUU0NDYxM0I2MENENjM0NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxM0I0MENENjM0
NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCAqLzsgfTsKKwkJRTQ0NjEzQjYwQ0Q2MzQ0RTAw
RkFEQTc1IC8qIFZvaWRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ0NjEzQjQwQ0Q2MzQ0RTAwRkFEQTc1IC8qIFZvaWRDYWxsYmFjay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYx
M0UzMENENjgxOUYwMEZBREE3NSAvKiBNZWRpYVBsYXllci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEI0MUUwQzBDQkY5MEJEMDBBRjJFQ0UgLyog
TWVkaWFQbGF5ZXIuY3BwICovOyB9OwogCQlFNDQ2MTNFNDBDRDY4MUEyMDBGQURBNzUgLyogTWVk
aWFQbGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0QjQxRTBEMENCRjkwQkQwMEFGMkVDRSAvKiBNZWRpYVBsYXllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYxM0U1MENENjgxQTYwMEZB
REE3NSAvKiBNZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQxRTExMENCRjkwRUYwMEFGMkVDRSAvKiBNZWRp
YVBsYXllclByaXZhdGVRVEtpdC5tbSAqLzsgfTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCShyZXZpc2lv
biA1NTE2OCkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTMwLDEyICsxMTMwLDExIEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERPTVdpbmRvdzo6b3Bl
bkRhdGEKICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50LT5z
ZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NEYXRhYmFzZSgpKQorICAgIGlmICghRGF0YWJhc2U6
OmlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgU2V0dGluZ3MqIHNldHRp
bmdzID0gbV9mcmFtZS0+c2V0dGluZ3MoKTsKLSAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5n
cy0+ZGF0YWJhc2VzRW5hYmxlZCgpKQorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUt
PmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNj
ZXNzRGF0YWJhc2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gRGF0YWJhc2U6
Om9wZW5EYXRhYmFzZShkb2N1bWVudCwgbmFtZSwgdmVyc2lvbiwgZGlzcGxheU5hbWUsIGVzdGlt
YXRlZFNpemUsIGVjKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gNTUxNjgpCisrKyBXZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw2IEBAIFNl
dHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9jYXJldEJyb3dzaW5nRW5hYmxl
ZChmYWxzZSkKICAgICAsIG1fYXJlSW1hZ2VzRW5hYmxlZCh0cnVlKQogICAgICwgbV9hcmVQbHVn
aW5zRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fZGF0YWJhc2VzRW5hYmxlZChmYWxzZSkKICAgICAs
IG1fbG9jYWxTdG9yYWdlRW5hYmxlZChmYWxzZSkKICAgICAsIG1faXNKYXZhU2NyaXB0RW5hYmxl
ZChmYWxzZSkKICAgICAsIG1faXNXZWJTZWN1cml0eUVuYWJsZWQodHJ1ZSkKQEAgLTI2MCwxMSAr
MjU5LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0UGx1Z2luc0VuYWJsZWQoYm9vbCBhcgogICAgIG1f
YXJlUGx1Z2luc0VuYWJsZWQgPSBhcmVQbHVnaW5zRW5hYmxlZDsKIH0KIAotdm9pZCBTZXR0aW5n
czo6c2V0RGF0YWJhc2VzRW5hYmxlZChib29sIGRhdGFiYXNlc0VuYWJsZWQpCi17Ci0gICAgbV9k
YXRhYmFzZXNFbmFibGVkID0gZGF0YWJhc2VzRW5hYmxlZDsKLX0KLQogdm9pZCBTZXR0aW5nczo6
c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChib29sIGxvY2FsU3RvcmFnZUVuYWJsZWQpCiB7CiAgICAg
bV9sb2NhbFN0b3JhZ2VFbmFibGVkID0gbG9jYWxTdG9yYWdlRW5hYmxlZDsKSW5kZXg6IFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjcsOSArMTI3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IHNldFBsdWdpbnNFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGFyZVBsdWdpbnNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9hcmVQbHVnaW5zRW5hYmxlZDsgfQogCi0gICAgICAgIHZvaWQg
c2V0RGF0YWJhc2VzRW5hYmxlZChib29sKTsKLSAgICAgICAgYm9vbCBkYXRhYmFzZXNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZXNFbmFibGVkOyB9Ci0KICAgICAgICAgdm9pZCBz
ZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGxvY2FsU3RvcmFnZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xvY2FsU3RvcmFnZUVuYWJsZWQ7IH0KIApAQCAtMzE1
LDcgKzMxMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2NhcmV0QnJv
d3NpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FyZUltYWdlc0VuYWJsZWQgOiAxOwog
ICAgICAgICBib29sIG1fYXJlUGx1Z2luc0VuYWJsZWQgOiAxOwotICAgICAgICBib29sIG1fZGF0
YWJhc2VzRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9sb2NhbFN0b3JhZ2VFbmFibGVkIDog
MTsKICAgICAgICAgYm9vbCBtX2lzSmF2YVNjcmlwdEVuYWJsZWQgOiAxOwogICAgICAgICBib29s
IG1faXNXZWJTZWN1cml0eUVuYWJsZWQgOiAxOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTE3NykKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNyBAQAorMjAxMC0wMi0yMyAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
ZGF0YWJhc2UgZW5hYmxlIGJpdCBmdWxseSBvdXQgb2Ygc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEwCisKKyAgICAgICAgSXQgbm93
IGdvZXMgZnJvbSBwcmVmZXJlbmNlcyBzdHJhaWdodCBpbnRvIERhdGFiYXNlOjppc0F2YWlsYWJs
ZSwgYXMKKyAgICAgICAgd2l0aCBXZWJTb2NrZXRzLgorCisgICAgICAgICogcHVibGljL1dlYlNl
dHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgICog
c3JjL1dlYlNldHRpbmdzSW1wbC5oOgorCiAyMDEwLTAyLTIzICBKYW1lcyBIYXdraW5zICA8amhh
d2tpbnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4K
SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJldmlzaW9uIDU1MTY4KQor
KysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBA
IC03Niw3ICs3Niw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RWRpdGFibGVMaW5r
QmVoYXZpb3JOZXZlckxpdmUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEZvbnRSZW5kZXJp
bmdNb2RlTm9ybWFsKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQYWludEN1c3Rv
bVNjcm9sbGJhcnMoYm9vbCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhYmFzZXNFbmFi
bGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0ZpbGVBY2Nl
c3NGcm9tRmlsZVVSTHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0
aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yTmV2ZXJJbmNsdWRlZCgpID0gMDsKSW5kZXg6IFdl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9uIDU1MTY4KQorKysg
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMjYsMTEgKzIyNiw2IEBAIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRTaG91bGRQYWludEN1
c3QKICAgICBtX3NldHRpbmdzLT5zZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoZW5hYmxl
ZCk7CiB9CiAKLXZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXREYXRhYmFzZXNFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKLXsKLSAgICBtX3NldHRpbmdzLT5zZXREYXRhYmFzZXNFbmFibGVkKGVuYWJsZWQp
OwotfQotCiB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYm9vbCBhbGxvdykKIHsKICAgICBtX3NldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMcyhhbGxvdyk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNldHRpbmdzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmgJKHJldmlzaW9uIDU1MTY4KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNldEVkaXRhYmxlTGlua0JlaGF2aW9yTmV2ZXJMaXZlKCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldEZvbnRSZW5kZXJpbmdNb2RlTm9ybWFsKCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldFNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycyhib29sKTsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0RGF0YWJhc2VzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFs
bG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4
dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvck5ldmVySW5jbHVkZWQoKTsKSW5kZXg6
IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTE3NykKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAorCisgICAgICAg
IEl0IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRhYmFzZTo6aXNB
dmFpbGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKERORENvbnRlbnRzUmVxdWVzdDo6d2Via2l0
X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyk6CisgICAgICAgIChETkRDb250ZW50c1JlcXVlc3Q6
OndlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkpOgorCiAyMDEwLTAyLTIzICBMZWFuZHJv
IFBlcmVpcmEgIDxsZWFuZHJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KSW5kZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwCShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ29udGV4dE1l
bnUuaCIKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCisjaW5jbHVk
ZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50
TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHJhZ0NsaWVudEd0ay5oIgpAQCAtMjYwNCw3ICsyNjA1LDcg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aQogICAgIHNldHRpbmdz
LT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZURldmVsb3BlckV4dHJhcyk7CiAgICAg
c2V0dGluZ3MtPnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZW5hYmxlUHJpdmF0ZUJyb3dzaW5n
KTsKICAgICBzZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoZW5hYmxlQ2FyZXRCcm93
c2luZyk7Ci0gICAgc2V0dGluZ3MtPnNldERhdGFiYXNlc0VuYWJsZWQoZW5hYmxlSFRNTDVEYXRh
YmFzZSk7CisgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKGVuYWJsZUhUTUw1RGF0YWJhc2Up
OwogICAgIHNldHRpbmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGVuYWJsZUhUTUw1TG9jYWxT
dG9yYWdlKTsKICAgICBzZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZW5hYmxlWFNTQXVk
aXRvcik7CiAgICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRp
Y2FsbHkoamF2YXNjcmlwdENhbk9wZW5XaW5kb3dzKTsKQEAgLTI2OTMsNyArMjY5NCw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3QKICAgICBlbHNlIGlmIChuYW1l
ID09IGdfaW50ZXJuX3N0cmluZygiZW5hYmxlLWNhcmV0LWJyb3dzaW5nIikpCiAgICAgICAgIHNl
dHRpbmdzLT5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1
ZSkpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtaHRtbDUt
ZGF0YWJhc2UiKSkKLSAgICAgICAgc2V0dGluZ3MtPnNldERhdGFiYXNlc0VuYWJsZWQoZ192YWx1
ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKKyAgICAgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxl
KGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBnX2lu
dGVybl9zdHJpbmcoImVuYWJsZS1odG1sNS1sb2NhbC1zdG9yYWdlIikpCiAgICAgICAgIHNldHRp
bmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7
CiAgICAgZWxzZSBpZiAobmFtZSA9PSBnX2ludGVybl9zdHJpbmcoImVuYWJsZS14c3MtYXVkaXRv
ciIpKQpJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1MTc3KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0wMi0yMyAgRXJpYyBVaHJoYW5lICA8
ZXJpY3VAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1vdmUgZGF0YWJhc2UgZW5hYmxlIGJpdCBmdWxseSBvdXQgb2Ygc2V0dGlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEw
CisKKyAgICAgICAgSXQgbm93IGdvZXMgZnJvbSBwcmVmZXJlbmNlcyBzdHJhaWdodCBpbnRvIERh
dGFiYXNlOjppc0F2YWlsYWJsZSwgYXMKKyAgICAgICAgd2l0aCBXZWJTb2NrZXRzLgorCisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNl
c0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVy
aWN1QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNb3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAor
CisgICAgICAgIEl0IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRh
YmFzZTo6aXNBdmFpbGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXND
aGFuZ2VkTm90aWZpY2F0aW9uOl0pOgorCiAyMDEwLTAyLTIzICBCcmFkeSBFaWRzb24gIDxiZWlk
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW0gSGF0Y2hlciBhbmQgUGF2
ZWwgRmVsZG1hbi4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiA1NTE2OCkKKysr
IFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiAr
MTA2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29s
b3JNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ3Vyc29yLmg+CisjaW1wb3J0IDxXZWJDb3JlL0Rh
dGFiYXNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0RvY3VtZW50TG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RyYWdDb250cm9sbGVyLmg+CkBA
IC0xMzA0LDcgKzEzMDUsOSBAQCBzdGF0aWMgYm9vbCBmYXN0RG9jdW1lbnRUZWFyZG93bkVuYWJs
ZWQoCiAgICAgc2V0dGluZ3MtPnNldE1pbmltdW1Gb250U2l6ZShbcHJlZmVyZW5jZXMgbWluaW11
bUZvbnRTaXplXSk7CiAgICAgc2V0dGluZ3MtPnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoW3By
ZWZlcmVuY2VzIG1pbmltdW1Mb2dpY2FsRm9udFNpemVdKTsKICAgICBzZXR0aW5ncy0+c2V0UGx1
Z2luc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGFyZVBsdWdJbnNFbmFibGVkXSk7Ci0gICAgc2V0dGlu
Z3MtPnNldERhdGFiYXNlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGRhdGFiYXNlc0VuYWJsZWRdKTsK
KyNpZiBFTkFCTEUoREFUQUJBU0UpCisgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKFtwcmVm
ZXJlbmNlcyBkYXRhYmFzZXNFbmFibGVkXSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9j
YWxTdG9yYWdlRW5hYmxlZChbcHJlZmVyZW5jZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwogICAg
IHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChbcHJlZmVyZW5j
ZXMgZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZF0pOwpJbmRleDogV2ViS2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiA1NTE3NykKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wMi0yMyAgRXJpYyBVaHJoYW5lICA8ZXJp
Y3VAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1vdmUgZGF0YWJhc2UgZW5hYmxlIGJpdCBmdWxseSBvdXQgb2Ygc2V0dGluZ3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEwCisK
KyAgICAgICAgSXQgbm93IGdvZXMgZnJvbSBwcmVmZXJlbmNlcyBzdHJhaWdodCBpbnRvIERhdGFi
YXNlOjppc0F2YWlsYWJsZSwgYXMKKyAgICAgICAgd2l0aCBXZWJTb2NrZXRzLgorCisgICAgICAg
ICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGluZ3NQcml2YXRlOjph
cHBseSk6CisKIDIwMTAtMDItMjMgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRp
bmdzLmNwcAkocmV2aXNpb24gNTUxNjgpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlLmgi
CiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIgorI2luY2x1ZGUg
IkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlBhZ2VDYWNoZS5oIgpAQCAtMjAxLDcgKzIwMiw3IEBAIHZvaWQgUVdlYlNldHRp
bmdzUHJpdmF0ZTo6YXBwbHkoKQogCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShR
V2ViU2V0dGluZ3M6Ok9mZmxpbmVTdG9yYWdlRGF0YWJhc2VFbmFibGVkLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNl
dHRpbmdzOjpPZmZsaW5lU3RvcmFnZURhdGFiYXNlRW5hYmxlZCkpOwotICAgICAgICBzZXR0aW5n
cy0+c2V0RGF0YWJhc2VzRW5hYmxlZCh2YWx1ZSk7CisgICAgICAgIERhdGFiYXNlOjpzZXRJc0F2
YWlsYWJsZSh2YWx1ZSk7CiAKICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGVzLnZhbHVlKFFXZWJT
ZXR0aW5nczo6T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNl
dHRpbmdzOjpPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49405</attachid>
            <date>2010-02-24 10:06:03 -0800</date>
            <delta_ts>2010-03-02 13:44:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35310-20100224100602.patch</filename>
            <type>text/plain</type>
            <size>26046</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTE3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
b3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAorCisgICAgICAgIEl0
IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRhYmFzZTo6aXNBdmFp
bGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAgICBObyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6Om9wZW5EYXRhYmFzZSk6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKwogMjAxMC0wMi0yMyAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhhdGNoZXIgYW5k
IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYkNv
cmUvV2ViQ29yZS5iYXNlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtNjEwLDYgKzYxMCw3IEBAIF9f
Wk43V2ViQ29yZTdJbnRSZWN0QzFFUktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlN0ludFNp
emVDMUVSSzdfTlNTaXplCiBfX1pON1dlYkNvcmU3Y29va2llc0VQS05TXzhEb2N1bWVudEVSS05T
XzRLVVJMRQogX19aTjdXZWJDb3JlN25zQ29sb3JFUktOU181Q29sb3JFCitfX1pON1dlYkNvcmU4
RGF0YWJhc2UxNHNldElzQXZhaWxhYmxlRWIKIF9fWk43V2ViQ29yZThEb2N1bWVudDExY3JlYXRl
UmFuZ2VFdgogX19aTjdXZWJDb3JlOERvY3VtZW50MTNyZW1vdmVNYXJrZXJzRU5TXzE0RG9jdW1l
bnRNYXJrZXIxME1hcmtlclR5cGVFCiBfX1pON1dlYkNvcmU4RG9jdW1lbnQxM3N2Z0V4dGVuc2lv
bnNFdgpAQCAtNjM0LDcgKzYzNSw2IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0RGVmYXVs
dEZvbnRTaXoKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTlNf
MTJBdG9taWNTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250U2l6
ZUVpCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS05TXzEyQXRv
bWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXREYXRhYmFzZXNFbmFibGVkRWIK
IF9fWk43V2ViQ29yZThTZXR0aW5nczE5c2V0U2hvd0RlYnVnQm9yZGVyc0ViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyMHNldEN1cnNpdmVGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTlNfMTJBdG9taWNT
dHJpbmdFCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gNTUxNjgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjc2LDcgKzI3Niw3IEBACiAJCTFBMjI0NjRCMENDOThE
REIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDUwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0
ZVN0YXRlbWVudC5jcHAgKi87IH07CiAJCTFBMjI0NjRDMENDOThEREIwMEMwNTI0MCAvKiBTUUxp
dGVTdGF0ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBMjI0NjQ2MENDOThEREIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuaCAqLzsgfTsK
IAkJMUEyMjQ2NEQwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjI0NjQ3MENDOThE
REIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5jcHAgKi87IH07Ci0JCTFBMjI0NjRFMEND
OThEREIwMEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNR
TGl0ZVRyYW5zYWN0aW9uLmggKi87IH07CisJCTFBMjI0NjRFMENDOThEREIwMEMwNTI0MCAvKiBT
UUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyQTY4
MjMwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBNjgyMTBCNUJFREU3MDAwMkE0ODAg
LyogUHJvZ3Jlc3NUcmFja2VyLmNwcCAqLzsgfTsKIAkJMUEyQTY4MjQwQjVCRURFNzAwMDJBNDgw
IC8qIFByb2dyZXNzVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEyQTY4MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkFB
QzU4MERDMkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBQUM1NjBEQzJBM0Ix
MDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwICovOyB9OwpAQCAtMjg1LDcg
KzI4NSw3IEBACiAJCTFBMkQ3NTNEMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDc1M0IwREU0
N0ZBQjAwRjBBNjQ4IC8qIEljb25GZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyRDc1M0UwREU0N0ZBQjAwRjBBNjQ4IC8qIEljb25G
ZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMkQ3NTNDMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5jcHAgKi87IH07CiAJCTFB
MkU2RTU5MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJFNkU1NzBDQzU1MjEzMDA0QTIwNjIgLyog
U1FMVmFsdWUuY3BwICovOyB9OwotCQkxQTJFNkU1QTBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2
RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovOyB9OworCQkxQTJFNkU1QTBDQzU1
MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkU2RTdB
MENDNTU2RDUwMDRBMjA2MiAvKiBTUUxpdGVBdXRob3JpemVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTc4MENDNTU2RDUwMDRBMjA2MiAv
KiBTUUxpdGVBdXRob3JpemVyLmNwcCAqLzsgfTsKIAkJMUEzMTc4OTMwQjIwQTgxNjAwMzE2OTg3
IC8qIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMxNzg5MjBCMjBBODE2MDAzMTY5ODcgLyogU3VicmVzb3Vy
Y2VMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQTM0MTdDOTBDRUNGRjI1MDA0OUNCREUgLyogSlNDdXN0b21Wb2lkQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzQx
N0M3MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1c3RvbVZvaWRDYWxsYmFjay5oICovOyB9OwpAQCAt
MzU5LDExICszNTksMTEgQEAKIAkJMUE3NjJDNzgwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhO
U1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTc2MkM3MDBBMDc0RjI2MDA5ODlGNUIgLyogSlNYUGF0aE5TUmVzb2x2ZXIuaCAqLzsgfTsK
IAkJMUE3NjJDNzkwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3NjJDNzEwQTA3NEYyNjAw
OTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwICovOyB9OwogCQkxQTc2MkM3QTBBMDc0RjI2MDA5
ODlGNUIgLyogSlNYUGF0aFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE3NjJDNzIwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQu
aCAqLzsgfTsKLQkJMUE3Q0NCMTkwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxi
YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdD
Q0IxNTBDRDk0NjlBMDBCN0I2NEUgLyogU1FMU3RhdGVtZW50Q2FsbGJhY2suaCAqLzsgfTsKLQkJ
MUE3Q0NCMUEwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENE
OTQ2OUEwMEI3QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFB
N0NDQjFCMENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxNzBDRDk0NjlB
MDBCN0I2NEUgLyogU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5oICovOyB9OwotCQkxQTdDQ0IxQzBD
RDk0NjlBMDBCN0I2NEUgLyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxODBDRDk0NjlBMDBC
N0I2NEUgLyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFBN0NDQjI0
MENEOTQ2RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRFIC8qIFNR
TFRyYW5zYWN0aW9uLmggKi87IH07CisJCTFBN0NDQjE5MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxT
dGF0ZW1lbnRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE3Q0NCMTUwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxiYWNr
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3
Q0NCMUEwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENEOTQ2
OUEwMEI3QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3Q0NCMUIwQ0Q5NDY5QTAwQjdC
NjRFIC8qIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE3MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFu
c2FjdGlvbkNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMUE3Q0NCMUMwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE3Q0NCMTgwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFB
N0NDQjI0MENEOTQ2RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRF
IC8qIFNRTFRyYW5zYWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMUE3RkE2MTkwRERBM0IzQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTdGQTYxODBEREEzQjNBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXIuaCAqLzsgfTsK
IAkJMUE3RkE2MUIwRERBM0JCRTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0ZBNjFBMERE
QTNCQkUwMDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgKi87IH07CiAJCTFBN0ZB
NjQ5MEREQTNDQkEwMDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdGQTY0NzBEREEzQ0JB
MDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwICovOyB9OwpAQCAtNDk0LDcg
KzQ5NCw3IEBACiAJCTFBRTgyRkVEMENBQjA3RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFODJGRUIw
Q0FCMDdFRTAwMjIzN0FFIC8qIEpTU1FMUmVzdWx0U2V0LmggKi87IH07CiAJCTFBRjMyNjc5MEQ3
OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JD
bGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkxQUZFMTE3RDBDQkZGQjM2MDAzMDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QjBDQkZG
QjM2MDAzMDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgKi87IH07Ci0JCTFBRkUxMTdF
MENCRkZCMzYwMDMwMTdGQSAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QzBDQkZGQjM2MDAzMDE3RkEg
LyogU1FMUmVzdWx0U2V0Um93TGlzdC5oICovOyB9OworCQkxQUZFMTE3RTBDQkZGQjM2MDAzMDE3
RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFGRTExN0MwQ0JGRkIzNjAwMzAxN0ZBIC8qIFNRTFJlc3VsdFNl
dFJvd0xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQUZFMTE5OTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkUxMTk3
MENCRkZDQzQwMDMwMTdGQSAvKiBKU1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwICovOyB9OwogCQkx
QUZFMTE5QTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE5ODBDQkZGQ0M0
MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggKi87IH07CiAJCTFDMTFDQ0I1MEFB
NjA5MzcwMERBREIyMCAvKiBET01Ob3RhdGlvbi5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDQTk2RTgwQTk2MjRFOTAwNjkw
Q0NGIC8qIERPTU5vdGF0aW9uLmggKi87IH07CkBAIC0xMDMwLDcgKzEwMzAsNyBAQAogCQk1MTRD
NzY3RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjgwQ0U5MjNBMTAwN0VG
M0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTE0Qzc2NjkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNl
LmNwcCAqLzsgfTsKIAkJNTE0Qzc2N0YwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9u
c2VCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTRDNzY2QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTVCMDM5OTBDRDE2
NDJBMDBCN0VBOUMgLyogU1FMU3RhdGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCMDM5NzBDRDE2NDJBMDBCN0VBOUMgLyogU1FMU3RhdGVt
ZW50LmggKi87IH07CisJCTUxNUIwMzk5MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUIwMzk3
MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTVCMDM5QTBDRDE2NDJBMDBCN0VBOUMgLyog
U1FMU3RhdGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxNUIwMzk4MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuY3BwICovOyB9
OwogCQk1MTYwMzAwQjBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3RlbVBPU0lYLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDBBMENDNDI1
MTIwMEM4QUMyNSAvKiBGaWxlU3lzdGVtUE9TSVguY3BwICovOyB9OwogCQk1MTYwMzA2QzBDQzQz
NjIzMDBDOEFDMjUgLyogRmlsZVN5c3RlbUNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDZCMENDNDM2MjMwMEM4QUMyNSAvKiBGaWxlU3lz
dGVtQ0YuY3BwICovOyB9OwpAQCAtMTA1MSwxMCArMTA1MSwxMCBAQAogCQk1MThBMzRDODEwMjZD
OEM5MDAxQjY4OTYgLyogSlNXZWJTb2NrZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4QTM0QzUxMDI2QzhDOTAwMUI2ODk2IC8q
IEpTV2ViU29ja2V0Q29uc3RydWN0b3IuaCAqLzsgfTsKIAkJNTE4QTM0QzkxMDI2QzhDOTAwMUI2
ODk2IC8qIEpTV2ViU29ja2V0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxOEEzNEM2MTAyNkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tl
dEN1c3RvbS5jcHAgKi87IH07CiAJCTUxOTYxMTZBMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFz
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2
MTE1RTBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuY3BwICovOyB9OwotCQk1MTk2MTE2QjBD
QUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZS5o
ICovOyB9OworCQk1MTk2MTE2QjBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcw
MDEwQTgwQyAvKiBEYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUxOTYxMTZEMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVh
ZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2
MTE2MTBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQuY3BwICovOyB9OwogCQk1MTk2
MTE3MzBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY3MENBQzU2NTcwMDEwQTgwQyAv
KiBTUUxSZXN1bHRTZXQuY3BwICovOyB9OwotCQk1MTk2MTE3NDBDQUM1NjU3MDAxMEE4MEMgLyog
U1FMUmVzdWx0U2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTk2MTE2ODBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmggKi87IH07CisJ
CTUxOTYxMTc0MENBQzU2NTcwMDEwQTgwQyAvKiBTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY4MENBQzU2NTcwMDEwQTgw
QyAvKiBTUUxSZXN1bHRTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1MTk2MTE3ODBDQUM1NkE4MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTYy
MENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVhZC5oICovOyB9OwogCQk1MTk2MTFFQTBD
QUM3NDlDMDAxMEE4MEMgLyogRGF0YWJhc2VUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2MTFFODBDQUM3NDlDMDAxMEE4MEMgLyogRGF0YWJh
c2VUYXNrLmggKi87IH07CiAJCTUxOTYxMUVCMENBQzc0OUMwMDEwQTgwQyAvKiBEYXRhYmFzZVRh
c2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE5
NjExRTkwQ0FDNzQ5QzAwMTBBODBDIC8qIERhdGFiYXNlVGFzay5jcHAgKi87IH07CkBAIC0xMTAx
LDcgKzExMDEsNyBAQAogCQk1MUUzRjlENjBEQTA1RTFEMDAyNTA5MTEgLyogSlNTdG9yYWdlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTNGOUQ0
MERBMDVFMUQwMDI1MDkxMSAvKiBKU1N0b3JhZ2UuY3BwICovOyB9OwogCQk1MUU0QURCNjBDNDJC
NENGMDA0MkJDNTUgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFNEFEQjIwQzQyQjRDRjAwNDJCQzU1IC8q
IEZUUERpcmVjdG9yeURvY3VtZW50LmNwcCAqLzsgfTsKIAkJNTFFNEFEQjcwQzQyQjRDRjAwNDJC
QzU1IC8qIEZUUERpcmVjdG9yeURvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUU0QURCMzBDNDJCNENGMDA0MkJDNTUgLyogRlRQRGlyZWN0
b3J5RG9jdW1lbnQuaCAqLzsgfTsKLQkJNTFFQzkyNTkwQ0U5MERCNDAwRjkwMzA4IC8qIFNRTEVy
cm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVD
OTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAqLzsgfTsKKwkJNTFFQzkyNTkwQ0U5
MERCNDAwRjkwMzA4IC8qIFNRTEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUVDOTI2
MzBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1QjBDRTkw
REQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgKi87IH07CiAJ
CTUxRUM5MjY0MENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudENhbGxiYWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1
QzBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5oICovOyB9
OwogCQk1MUVDOTI2NTBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJv
ckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRUM5MjVEMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9y
Q2FsbGJhY2suY3BwICovOyB9OwpAQCAtNDc3OCw3ICs0Nzc4LDcgQEAKIAkJRTQ0NjEzQUQwQ0Q2
MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9y
LmggKi87IH07CiAJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlEMENE
NjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCAqLzsgfTsKIAkJRTQ0NjEzQjAwQ0Q2MzMx
MDAwRkFEQTc1IC8qIFRpbWVSYW5nZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlFMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmgg
Ki87IH07Ci0JCUU0NDYxM0I2MENENjM0NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxM0I0MENENjM0
NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCAqLzsgfTsKKwkJRTQ0NjEzQjYwQ0Q2MzQ0RTAw
RkFEQTc1IC8qIFZvaWRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ0NjEzQjQwQ0Q2MzQ0RTAwRkFEQTc1IC8qIFZvaWRDYWxsYmFjay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYx
M0UzMENENjgxOUYwMEZBREE3NSAvKiBNZWRpYVBsYXllci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEI0MUUwQzBDQkY5MEJEMDBBRjJFQ0UgLyog
TWVkaWFQbGF5ZXIuY3BwICovOyB9OwogCQlFNDQ2MTNFNDBDRDY4MUEyMDBGQURBNzUgLyogTWVk
aWFQbGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEU0QjQxRTBEMENCRjkwQkQwMEFGMkVDRSAvKiBNZWRpYVBsYXllci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYxM0U1MENENjgxQTYwMEZB
REE3NSAvKiBNZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQxRTExMENCRjkwRUYwMEFGMkVDRSAvKiBNZWRp
YVBsYXllclByaXZhdGVRVEtpdC5tbSAqLzsgfTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCShyZXZpc2lv
biA1NTE2OCkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTMwLDEyICsxMTMwLDExIEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERPTVdpbmRvdzo6b3Bl
bkRhdGEKICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50LT5z
ZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NEYXRhYmFzZSgpKQorICAgIGlmICghRGF0YWJhc2U6
OmlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgU2V0dGluZ3MqIHNldHRp
bmdzID0gbV9mcmFtZS0+c2V0dGluZ3MoKTsKLSAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5n
cy0+ZGF0YWJhc2VzRW5hYmxlZCgpKQorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUt
PmRvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNj
ZXNzRGF0YWJhc2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gRGF0YWJhc2U6
Om9wZW5EYXRhYmFzZShkb2N1bWVudCwgbmFtZSwgdmVyc2lvbiwgZGlzcGxheU5hbWUsIGVzdGlt
YXRlZFNpemUsIGVjKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gNTUxNjgpCisrKyBXZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw2IEBAIFNl
dHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9jYXJldEJyb3dzaW5nRW5hYmxl
ZChmYWxzZSkKICAgICAsIG1fYXJlSW1hZ2VzRW5hYmxlZCh0cnVlKQogICAgICwgbV9hcmVQbHVn
aW5zRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fZGF0YWJhc2VzRW5hYmxlZChmYWxzZSkKICAgICAs
IG1fbG9jYWxTdG9yYWdlRW5hYmxlZChmYWxzZSkKICAgICAsIG1faXNKYXZhU2NyaXB0RW5hYmxl
ZChmYWxzZSkKICAgICAsIG1faXNXZWJTZWN1cml0eUVuYWJsZWQodHJ1ZSkKQEAgLTI2MCwxMSAr
MjU5LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0UGx1Z2luc0VuYWJsZWQoYm9vbCBhcgogICAgIG1f
YXJlUGx1Z2luc0VuYWJsZWQgPSBhcmVQbHVnaW5zRW5hYmxlZDsKIH0KIAotdm9pZCBTZXR0aW5n
czo6c2V0RGF0YWJhc2VzRW5hYmxlZChib29sIGRhdGFiYXNlc0VuYWJsZWQpCi17Ci0gICAgbV9k
YXRhYmFzZXNFbmFibGVkID0gZGF0YWJhc2VzRW5hYmxlZDsKLX0KLQogdm9pZCBTZXR0aW5nczo6
c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChib29sIGxvY2FsU3RvcmFnZUVuYWJsZWQpCiB7CiAgICAg
bV9sb2NhbFN0b3JhZ2VFbmFibGVkID0gbG9jYWxTdG9yYWdlRW5hYmxlZDsKSW5kZXg6IFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjcsOSArMTI3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IHNldFBsdWdpbnNFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGFyZVBsdWdpbnNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9hcmVQbHVnaW5zRW5hYmxlZDsgfQogCi0gICAgICAgIHZvaWQg
c2V0RGF0YWJhc2VzRW5hYmxlZChib29sKTsKLSAgICAgICAgYm9vbCBkYXRhYmFzZXNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZXNFbmFibGVkOyB9Ci0KICAgICAgICAgdm9pZCBz
ZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIGxvY2FsU3RvcmFnZUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2xvY2FsU3RvcmFnZUVuYWJsZWQ7IH0KIApAQCAtMzE1
LDcgKzMxMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2NhcmV0QnJv
d3NpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FyZUltYWdlc0VuYWJsZWQgOiAxOwog
ICAgICAgICBib29sIG1fYXJlUGx1Z2luc0VuYWJsZWQgOiAxOwotICAgICAgICBib29sIG1fZGF0
YWJhc2VzRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9sb2NhbFN0b3JhZ2VFbmFibGVkIDog
MTsKICAgICAgICAgYm9vbCBtX2lzSmF2YVNjcmlwdEVuYWJsZWQgOiAxOwogICAgICAgICBib29s
IG1faXNXZWJTZWN1cml0eUVuYWJsZWQgOiAxOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTE3NykKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNyBAQAorMjAxMC0wMi0yMyAgRXJpYyBVaHJoYW5lICA8ZXJpY3VAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
ZGF0YWJhc2UgZW5hYmxlIGJpdCBmdWxseSBvdXQgb2Ygc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEwCisKKyAgICAgICAgSXQgbm93
IGdvZXMgZnJvbSBwcmVmZXJlbmNlcyBzdHJhaWdodCBpbnRvIERhdGFiYXNlOjppc0F2YWlsYWJs
ZSwgYXMKKyAgICAgICAgd2l0aCBXZWJTb2NrZXRzLgorCisgICAgICAgICogcHVibGljL1dlYlNl
dHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgICog
c3JjL1dlYlNldHRpbmdzSW1wbC5oOgorCiAyMDEwLTAyLTIzICBKYW1lcyBIYXdraW5zICA8amhh
d2tpbnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4K
SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJldmlzaW9uIDU1MTY4KQor
KysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBA
IC03Niw3ICs3Niw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RWRpdGFibGVMaW5r
QmVoYXZpb3JOZXZlckxpdmUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEZvbnRSZW5kZXJp
bmdNb2RlTm9ybWFsKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQYWludEN1c3Rv
bVNjcm9sbGJhcnMoYm9vbCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhYmFzZXNFbmFi
bGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBbGxvd0ZpbGVBY2Nl
c3NGcm9tRmlsZVVSTHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RGlyZWN0
aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yTmV2ZXJJbmNsdWRlZCgpID0gMDsKSW5kZXg6IFdl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9uIDU1MTY4KQorKysg
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMjYsMTEgKzIyNiw2IEBAIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRTaG91bGRQYWludEN1
c3QKICAgICBtX3NldHRpbmdzLT5zZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnMoZW5hYmxl
ZCk7CiB9CiAKLXZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXREYXRhYmFzZXNFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKLXsKLSAgICBtX3NldHRpbmdzLT5zZXREYXRhYmFzZXNFbmFibGVkKGVuYWJsZWQp
OwotfQotCiB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYm9vbCBhbGxvdykKIHsKICAgICBtX3NldHRpbmdzLT5zZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMcyhhbGxvdyk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNldHRpbmdzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0
dGluZ3NJbXBsLmgJKHJldmlzaW9uIDU1MTY4KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZXR0aW5nc0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNldEVkaXRhYmxlTGlua0JlaGF2aW9yTmV2ZXJMaXZlKCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldEZvbnRSZW5kZXJpbmdNb2RlTm9ybWFsKCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldFNob3VsZFBhaW50Q3VzdG9tU2Nyb2xsYmFycyhib29sKTsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0RGF0YWJhc2VzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFs
bG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4
dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvck5ldmVySW5jbHVkZWQoKTsKSW5kZXg6
IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTE3NykKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAorCisgICAgICAg
IEl0IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRhYmFzZTo6aXNB
dmFpbGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKERORENvbnRlbnRzUmVxdWVzdDo6d2Via2l0
X3dlYl92aWV3X3VwZGF0ZV9zZXR0aW5ncyk6CisgICAgICAgIChETkRDb250ZW50c1JlcXVlc3Q6
OndlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkpOgorCiAyMDEwLTAyLTIzICBMZWFuZHJv
IFBlcmVpcmEgIDxsZWFuZHJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KSW5kZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwCShyZXZpc2lvbiA1NTE2OCkKKysrIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ29udGV4dE1l
bnUuaCIKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCisjaW5jbHVk
ZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50
TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHJhZ0NsaWVudEd0ay5oIgpAQCAtMjYwNCw3ICsyNjA1LDcg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9zZXR0aQogICAgIHNldHRpbmdz
LT5zZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKGVuYWJsZURldmVsb3BlckV4dHJhcyk7CiAgICAg
c2V0dGluZ3MtPnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZW5hYmxlUHJpdmF0ZUJyb3dzaW5n
KTsKICAgICBzZXR0aW5ncy0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoZW5hYmxlQ2FyZXRCcm93
c2luZyk7Ci0gICAgc2V0dGluZ3MtPnNldERhdGFiYXNlc0VuYWJsZWQoZW5hYmxlSFRNTDVEYXRh
YmFzZSk7CisgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKGVuYWJsZUhUTUw1RGF0YWJhc2Up
OwogICAgIHNldHRpbmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGVuYWJsZUhUTUw1TG9jYWxT
dG9yYWdlKTsKICAgICBzZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZW5hYmxlWFNTQXVk
aXRvcik7CiAgICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRp
Y2FsbHkoamF2YXNjcmlwdENhbk9wZW5XaW5kb3dzKTsKQEAgLTI2OTMsNyArMjY5NCw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3QKICAgICBlbHNlIGlmIChuYW1l
ID09IGdfaW50ZXJuX3N0cmluZygiZW5hYmxlLWNhcmV0LWJyb3dzaW5nIikpCiAgICAgICAgIHNl
dHRpbmdzLT5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1
ZSkpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtaHRtbDUt
ZGF0YWJhc2UiKSkKLSAgICAgICAgc2V0dGluZ3MtPnNldERhdGFiYXNlc0VuYWJsZWQoZ192YWx1
ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKKyAgICAgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxl
KGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBnX2lu
dGVybl9zdHJpbmcoImVuYWJsZS1odG1sNS1sb2NhbC1zdG9yYWdlIikpCiAgICAgICAgIHNldHRp
bmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7
CiAgICAgZWxzZSBpZiAobmFtZSA9PSBnX2ludGVybl9zdHJpbmcoImVuYWJsZS14c3MtYXVkaXRv
ciIpKQpJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1MTc3KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0wMi0yMyAgRXJpYyBVaHJoYW5lICA8
ZXJpY3VAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1vdmUgZGF0YWJhc2UgZW5hYmxlIGJpdCBmdWxseSBvdXQgb2Ygc2V0dGlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEw
CisKKyAgICAgICAgSXQgbm93IGdvZXMgZnJvbSBwcmVmZXJlbmNlcyBzdHJhaWdodCBpbnRvIERh
dGFiYXNlOjppc0F2YWlsYWJsZSwgYXMKKyAgICAgICAgd2l0aCBXZWJTb2NrZXRzLgorCisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNl
c0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKKzIwMTAtMDItMjMgIEVyaWMgVWhyaGFuZSAgPGVy
aWN1QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNb3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTMxMAor
CisgICAgICAgIEl0IG5vdyBnb2VzIGZyb20gcHJlZmVyZW5jZXMgc3RyYWlnaHQgaW50byBEYXRh
YmFzZTo6aXNBdmFpbGFibGUsIGFzCisgICAgICAgIHdpdGggV2ViU29ja2V0cy4KKworICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXND
aGFuZ2VkTm90aWZpY2F0aW9uOl0pOgorCiAyMDEwLTAyLTIzICBCcmFkeSBFaWRzb24gIDxiZWlk
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW0gSGF0Y2hlciBhbmQgUGF2
ZWwgRmVsZG1hbi4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiA1NTE2OCkKKysr
IFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNiAr
MTA2LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29s
b3JNYWMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ3Vyc29yLmg+CisjaW1wb3J0IDxXZWJDb3JlL0Rh
dGFiYXNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0RvY3VtZW50TG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RyYWdDb250cm9sbGVyLmg+CkBA
IC0xMzA0LDcgKzEzMDUsOSBAQCBzdGF0aWMgYm9vbCBmYXN0RG9jdW1lbnRUZWFyZG93bkVuYWJs
ZWQoCiAgICAgc2V0dGluZ3MtPnNldE1pbmltdW1Gb250U2l6ZShbcHJlZmVyZW5jZXMgbWluaW11
bUZvbnRTaXplXSk7CiAgICAgc2V0dGluZ3MtPnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoW3By
ZWZlcmVuY2VzIG1pbmltdW1Mb2dpY2FsRm9udFNpemVdKTsKICAgICBzZXR0aW5ncy0+c2V0UGx1
Z2luc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGFyZVBsdWdJbnNFbmFibGVkXSk7Ci0gICAgc2V0dGlu
Z3MtPnNldERhdGFiYXNlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGRhdGFiYXNlc0VuYWJsZWRdKTsK
KyNpZiBFTkFCTEUoREFUQUJBU0UpCisgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKFtwcmVm
ZXJlbmNlcyBkYXRhYmFzZXNFbmFibGVkXSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9j
YWxTdG9yYWdlRW5hYmxlZChbcHJlZmVyZW5jZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwogICAg
IHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZChbcHJlZmVyZW5j
ZXMgZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZF0pOwpJbmRleDogV2ViS2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiA1NTE3NykKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wMi0yMyAgRXJpYyBVaHJoYW5lICA8ZXJp
Y3VAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1vdmUgZGF0YWJhc2UgZW5hYmxlIGJpdCBmdWxseSBvdXQgb2Ygc2V0dGluZ3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEwCisK
KyAgICAgICAgSXQgbm93IGdvZXMgZnJvbSBwcmVmZXJlbmNlcyBzdHJhaWdodCBpbnRvIERhdGFi
YXNlOjppc0F2YWlsYWJsZSwgYXMKKyAgICAgICAgd2l0aCBXZWJTb2NrZXRzLgorCisgICAgICAg
ICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGluZ3NQcml2YXRlOjph
cHBseSk6CisKIDIwMTAtMDItMjMgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRp
bmdzLmNwcAkocmV2aXNpb24gNTUxNjgpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hlLmgi
CiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIgorI2luY2x1ZGUg
IkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlBhZ2VDYWNoZS5oIgpAQCAtMjAxLDcgKzIwMiw3IEBAIHZvaWQgUVdlYlNldHRp
bmdzUHJpdmF0ZTo6YXBwbHkoKQogCiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShR
V2ViU2V0dGluZ3M6Ok9mZmxpbmVTdG9yYWdlRGF0YWJhc2VFbmFibGVkLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNl
dHRpbmdzOjpPZmZsaW5lU3RvcmFnZURhdGFiYXNlRW5hYmxlZCkpOwotICAgICAgICBzZXR0aW5n
cy0+c2V0RGF0YWJhc2VzRW5hYmxlZCh2YWx1ZSk7CisgICAgICAgIFdlYkNvcmU6OkRhdGFiYXNl
OjpzZXRJc0F2YWlsYWJsZSh2YWx1ZSk7CiAKICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGVzLnZh
bHVlKFFXZWJTZXR0aW5nczo6T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFs
dWUoUVdlYlNldHRpbmdzOjpPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49840</attachid>
            <date>2010-03-02 13:44:49 -0800</date>
            <delta_ts>2010-03-02 23:43:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35310-20100302134448.patch</filename>
            <type>text/plain</type>
            <size>23958</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDMtMDIgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
b3ZlIGRhdGFiYXNlIGVuYWJsZSBiaXQgZnVsbHkgb3V0IG9mIHNldHRpbmdzCisgICAgICAgIFRo
aXMgaXMgc3RhZ2Ugb25lIG9mIGEgdGhyZWUtc3RhZ2UgY29tbWl0IFt3ZWJraXQsIHRoZW4gY2hy
b21pdW0sIHRoZW4KKyAgICAgICAgd2Via2l0IGFnYWluXS4gIEluIHRoaXMgY2hhbmdlIEknbSBh
ZGRpbmcgY2FsbHMgdG8KKyAgICAgICAgRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlIGluc2lkZSBT
ZXR0aW5nczo6c2V0RGF0YWJhc2VFbmFibGVkIGFuZAorICAgICAgICBhbnl3aGVyZSBlbHNlIHRo
YXQgY2FsbGVkIGl0LCBhbmQgc3dpdGNoaW5nIHdlYmtpdCBmdWxseSBvdmVyIHRvIHVzaW5nCisg
ICAgICAgIHRoYXQgZmxhZyBbYWRkZWQgaW4gYSBwcmV2aW91cyBjaGVja2luXS4gIFBoYXNlIHR3
byB3aWxsIHJlbW92ZQorICAgICAgICBDaHJvbWl1bSdzIHVzZSBvZiBTZXR0aW5ncyBmb3IgdGhl
IERhdGFiYXNlLCBhbmQgcGhhc2UgdGhyZWUgd2lsbCByZW1vdmUKKyAgICAgICAgdGhlIFNldHRp
bmcgZm9yIHRoZSBEYXRhYmFzZSBlbmFibGUgZW50aXJlbHksIGxlYXZpbmcgb25seQorICAgICAg
ICBEYXRhYmFzZTo6aXNBdmFpbGFibGUvc2V0SXNBdmFpbGFibGUuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzOyB0ZXN0ZWQgYnkgZXhpc3Rpbmcgc3RvcmFnZSB0ZXN0cy4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUzMTAKKworICAgICAgICAqIFdl
YkNvcmUuYmFzZS5leHA6IEV4cG9ydCBEYXRhYmFzZTo6c2V0SXNBdmFpbGFibGUKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEV4cG9ydCBuZWVkZWQgaGVhZGVy
cyBhcyBQcml2YXRlCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOiBSZWFkIGlzQXZhaWxh
YmxlLCBub3QgU2V0dGluZ3M6OmlzRGF0YWJhc2VFbmFibGVkCisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6Om9wZW5EYXRhYmFzZSk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6ICBB
ZGQgYSBjYWxsIHRvIERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6
OlNldHRpbmdzOjpzZXREYXRhYmFzZXNFbmFibGVkKToKKwogMjAxMC0wMy0wMiAgRnJpZHJpY2gg
U3RyYmEgIDxmcmlkcmljaC5zdHJiYUBibHVld2luLmNoPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFhhbiBMb3Blei4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHJldmlzaW9uIDU1MTc4KQorKysgV2ViQ29yZS9X
ZWJDb3JlLmJhc2UuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC02MTAsNiArNjEwLDcgQEAgX19aTjdX
ZWJDb3JlN0ludFJlY3RDMUVSS05TXzlGbG9hdFJlY3RFCiBfX1pON1dlYkNvcmU3SW50U2l6ZUMx
RVJLN19OU1NpemUKIF9fWk43V2ViQ29yZTdjb29raWVzRVBLTlNfOERvY3VtZW50RVJLTlNfNEtV
UkxFCiBfX1pON1dlYkNvcmU3bnNDb2xvckVSS05TXzVDb2xvckUKK19fWk43V2ViQ29yZThEYXRh
YmFzZTE0c2V0SXNBdmFpbGFibGVFYgogX19aTjdXZWJDb3JlOERvY3VtZW50MTFjcmVhdGVSYW5n
ZUV2CiBfX1pON1dlYkNvcmU4RG9jdW1lbnQxM3JlbW92ZU1hcmtlcnNFTlNfMTREb2N1bWVudE1h
cmtlcjEwTWFya2VyVHlwZUUKIF9fWk43V2ViQ29yZThEb2N1bWVudDEzc3ZnRXh0ZW5zaW9uc0V2
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gNTUxNzgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjc2LDcgKzI3Niw3IEBACiAJCTFBMjI0NjRCMENDOThEREIwMEMw
NTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDUwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVN0YXRl
bWVudC5jcHAgKi87IH07CiAJCTFBMjI0NjRDMENDOThEREIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
MjI0NjQ2MENDOThEREIwMEMwNTI0MCAvKiBTUUxpdGVTdGF0ZW1lbnQuaCAqLzsgfTsKIAkJMUEy
MjQ2NEQwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjI0NjQ3MENDOThEREIwMEMw
NTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5jcHAgKi87IH07Ci0JCTFBMjI0NjRFMENDOThEREIw
MEMwNTI0MCAvKiBTUUxpdGVUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRy
YW5zYWN0aW9uLmggKi87IH07CisJCTFBMjI0NjRFMENDOThEREIwMEMwNTI0MCAvKiBTUUxpdGVU
cmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUEyMjQ2NDgwQ0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZVRyYW5zYWN0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUEyQTY4MjMwQjVC
RURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBNjgyMTBCNUJFREU3MDAwMkE0ODAgLyogUHJv
Z3Jlc3NUcmFja2VyLmNwcCAqLzsgfTsKIAkJMUEyQTY4MjQwQjVCRURFNzAwMDJBNDgwIC8qIFBy
b2dyZXNzVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUEyQTY4MjIwQjVCRURFNzAwMDJBNDgwIC8qIFByb2dyZXNzVHJhY2tlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkFBQzU4MERD
MkEzQjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJBQUM1NjBEQzJBM0IxMDBBMjBE
OUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwICovOyB9OwpAQCAtMjg1LDcgKzI4NSw3
IEBACiAJCTFBMkQ3NTNEMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDc1M0IwREU0N0ZBQjAw
RjBBNjQ4IC8qIEljb25GZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMUEyRDc1M0UwREU0N0ZBQjAwRjBBNjQ4IC8qIEljb25GZXRjaGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkQ3
NTNDMERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5jcHAgKi87IH07CiAJCTFBMkU2RTU5
MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJFNkU1NzBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFs
dWUuY3BwICovOyB9OwotCQkxQTJFNkU1QTBDQzU1MjEzMDA0QTIwNjIgLyogU1FMVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTU4MEND
NTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovOyB9OworCQkxQTJFNkU1QTBDQzU1MjEzMDA0
QTIwNjIgLyogU1FMVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBMkU2RTU4MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFBMkU2RTdBMENDNTU2
RDUwMDRBMjA2MiAvKiBTUUxpdGVBdXRob3JpemVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkU2RTc4MENDNTU2RDUwMDRBMjA2MiAvKiBTUUxp
dGVBdXRob3JpemVyLmNwcCAqLzsgfTsKIAkJMUEzMTc4OTMwQjIwQTgxNjAwMzE2OTg3IC8qIFN1
YnJlc291cmNlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTMxNzg5MjBCMjBBODE2MDAzMTY5ODcgLyogU3VicmVzb3VyY2VMb2Fk
ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQTM0MTdDOTBDRUNGRjI1MDA0OUNCREUgLyogSlNDdXN0b21Wb2lkQ2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzQxN0M3MENF
Q0ZGMjUwMDQ5Q0JERSAvKiBKU0N1c3RvbVZvaWRDYWxsYmFjay5oICovOyB9OwpAQCAtMzU5LDEx
ICszNTksMTEgQEAKIAkJMUE3NjJDNzgwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhOU1Jlc29s
dmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTc2
MkM3MDBBMDc0RjI2MDA5ODlGNUIgLyogSlNYUGF0aE5TUmVzb2x2ZXIuaCAqLzsgfTsKIAkJMUE3
NjJDNzkwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3NjJDNzEwQTA3NEYyNjAwOTg5RjVC
IC8qIEpTWFBhdGhSZXN1bHQuY3BwICovOyB9OwogCQkxQTc2MkM3QTBBMDc0RjI2MDA5ODlGNUIg
LyogSlNYUGF0aFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUE3NjJDNzIwQTA3NEYyNjAwOTg5RjVCIC8qIEpTWFBhdGhSZXN1bHQuaCAqLzsg
fTsKLQkJMUE3Q0NCMTkwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxNTBD
RDk0NjlBMDBCN0I2NEUgLyogU1FMU3RhdGVtZW50Q2FsbGJhY2suaCAqLzsgfTsKLQkJMUE3Q0NC
MUEwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENEOTQ2OUEw
MEI3QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFBN0NDQjFC
MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxNzBDRDk0NjlBMDBCN0I2
NEUgLyogU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5oICovOyB9OwotCQkxQTdDQ0IxQzBDRDk0NjlB
MDBCN0I2NEUgLyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdDQ0IxODBDRDk0NjlBMDBCN0I2NEUg
LyogU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmggKi87IH07Ci0JCTFBN0NDQjI0MENEOTQ2
RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRFIC8qIFNRTFRyYW5z
YWN0aW9uLmggKi87IH07CisJCTFBN0NDQjE5MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxTdGF0ZW1l
bnRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE3Q0NCMTUwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudENhbGxiYWNrLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3Q0NCMUEw
Q0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE2MENEOTQ2OUEwMEI3
QjY0RSAvKiBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUE3Q0NCMUIwQ0Q5NDY5QTAwQjdCNjRFIC8q
IFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBN0NDQjE3MENEOTQ2OUEwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlv
bkNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMUE3Q0NCMUMwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3
Q0NCMTgwQ0Q5NDY5QTAwQjdCNjRFIC8qIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFBN0NDQjI0
MENEOTQ2RkQwMEI3QjY0RSAvKiBTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE3Q0NCMjIwQ0Q5NDZGRDAwQjdCNjRFIC8qIFNR
TFRyYW5zYWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMUE3RkE2MTkwRERBM0IzQTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdGQTYx
ODBEREEzQjNBMDAyOEY4QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXIuaCAqLzsgfTsKIAkJMUE3
RkE2MUIwRERBM0JCRTAwMjhGOEE1IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBN0ZBNjFBMEREQTNCQkUw
MDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllci5jcHAgKi87IH07CiAJCTFBN0ZBNjQ5MERE
QTNDQkEwMDI4RjhBNSAvKiBOZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTdGQTY0NzBEREEzQ0JBMDAyOEY4
QTUgLyogTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwICovOyB9OwpAQCAtNDk0LDcgKzQ5NCw3
IEBACiAJCTFBRTgyRkVEMENBQjA3RUUwMDIyMzdBRSAvKiBKU1NRTFJlc3VsdFNldC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFODJGRUIwQ0FCMDdF
RTAwMjIzN0FFIC8qIEpTU1FMUmVzdWx0U2V0LmggKi87IH07CiAJCTFBRjMyNjc5MEQ3OEI5NDQw
MDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQUZF
MTE3RDBDQkZGQjM2MDAzMDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QjBDQkZGQjM2MDAz
MDE3RkEgLyogU1FMUmVzdWx0U2V0Um93TGlzdC5jcHAgKi87IH07Ci0JCTFBRkUxMTdFMENCRkZC
MzYwMDMwMTdGQSAvKiBTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE3QzBDQkZGQjM2MDAzMDE3RkEgLyogU1FM
UmVzdWx0U2V0Um93TGlzdC5oICovOyB9OworCQkxQUZFMTE3RTBDQkZGQjM2MDAzMDE3RkEgLyog
U1FMUmVzdWx0U2V0Um93TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFGRTExN0MwQ0JGRkIzNjAwMzAxN0ZBIC8qIFNRTFJlc3VsdFNldFJvd0xp
c3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkx
QUZFMTE5OTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkUxMTk3MENCRkZD
QzQwMDMwMTdGQSAvKiBKU1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwICovOyB9OwogCQkxQUZFMTE5
QTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE5ODBDQkZGQ0M0MDAzMDE3
RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggKi87IH07CiAJCTFDMTFDQ0I1MEFBNjA5Mzcw
MERBREIyMCAvKiBET01Ob3RhdGlvbi5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDQTk2RTgwQTk2MjRFOTAwNjkwQ0NGIC8q
IERPTU5vdGF0aW9uLmggKi87IH07CkBAIC0xMDMwLDcgKzEwMzAsNyBAQAogCQk1MTRDNzY3RDBD
RTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjgwQ0U5MjNBMTAwN0VGM0NEIC8q
IFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNw
b25zZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTE0Qzc2NjkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmNwcCAq
LzsgfTsKIAkJNTE0Qzc2N0YwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VCYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2
QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTVCMDM5OTBDRDE2NDJBMDBC
N0VBOUMgLyogU1FMU3RhdGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTVCMDM5NzBDRDE2NDJBMDBCN0VBOUMgLyogU1FMU3RhdGVtZW50Lmgg
Ki87IH07CisJCTUxNUIwMzk5MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUIwMzk3MENEMTY0
MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTVCMDM5QTBDRDE2NDJBMDBCN0VBOUMgLyogU1FMU3Rh
dGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxNUIwMzk4MENEMTY0MkEwMEI3RUE5QyAvKiBTUUxTdGF0ZW1lbnQuY3BwICovOyB9OwogCQk1
MTYwMzAwQjBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3RlbVBPU0lYLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDBBMENDNDI1MTIwMEM4
QUMyNSAvKiBGaWxlU3lzdGVtUE9TSVguY3BwICovOyB9OwogCQk1MTYwMzA2QzBDQzQzNjIzMDBD
OEFDMjUgLyogRmlsZVN5c3RlbUNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxNjAzMDZCMENDNDM2MjMwMEM4QUMyNSAvKiBGaWxlU3lzdGVtQ0Yu
Y3BwICovOyB9OwpAQCAtMTA1MSwxMCArMTA1MSwxMCBAQAogCQk1MThBMzRDODEwMjZDOEM5MDAx
QjY4OTYgLyogSlNXZWJTb2NrZXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4QTM0QzUxMDI2QzhDOTAwMUI2ODk2IC8qIEpTV2Vi
U29ja2V0Q29uc3RydWN0b3IuaCAqLzsgfTsKIAkJNTE4QTM0QzkxMDI2QzhDOTAwMUI2ODk2IC8q
IEpTV2ViU29ja2V0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxOEEzNEM2MTAyNkM4QzkwMDFCNjg5NiAvKiBKU1dlYlNvY2tldEN1c3Rv
bS5jcHAgKi87IH07CiAJCTUxOTYxMTZBMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2MTE1RTBD
QUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuY3BwICovOyB9OwotCQk1MTk2MTE2QjBDQUM1NjU3
MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZS5oICovOyB9
OworCQk1MTk2MTE2QjBDQUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTVGMENBQzU2NTcwMDEwQTgw
QyAvKiBEYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTUxOTYxMTZEMENBQzU2NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVhZC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTk2MTE2MTBD
QUM1NjU3MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQuY3BwICovOyB9OwogCQk1MTk2MTE3MzBD
QUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY3MENBQzU2NTcwMDEwQTgwQyAvKiBTUUxS
ZXN1bHRTZXQuY3BwICovOyB9OwotCQk1MTk2MTE3NDBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVz
dWx0U2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTk2MTE2ODBDQUM1NjU3MDAxMEE4MEMgLyogU1FMUmVzdWx0U2V0LmggKi87IH07CisJCTUxOTYx
MTc0MENBQzU2NTcwMDEwQTgwQyAvKiBTUUxSZXN1bHRTZXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTY4MENBQzU2NTcwMDEwQTgwQyAvKiBT
UUxSZXN1bHRTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1MTk2MTE3ODBDQUM1NkE4MDAxMEE4MEMgLyogRGF0YWJhc2VUaHJlYWQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTYxMTYyMENBQzU2
NTcwMDEwQTgwQyAvKiBEYXRhYmFzZVRocmVhZC5oICovOyB9OwogCQk1MTk2MTFFQTBDQUM3NDlD
MDAxMEE4MEMgLyogRGF0YWJhc2VUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTk2MTFFODBDQUM3NDlDMDAxMEE4MEMgLyogRGF0YWJhc2VUYXNr
LmggKi87IH07CiAJCTUxOTYxMUVCMENBQzc0OUMwMDEwQTgwQyAvKiBEYXRhYmFzZVRhc2suY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE5NjExRTkw
Q0FDNzQ5QzAwMTBBODBDIC8qIERhdGFiYXNlVGFzay5jcHAgKi87IH07CkBAIC0xMTAxLDcgKzEx
MDEsNyBAQAogCQk1MUUzRjlENjBEQTA1RTFEMDAyNTA5MTEgLyogSlNTdG9yYWdlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTNGOUQ0MERBMDVF
MUQwMDI1MDkxMSAvKiBKU1N0b3JhZ2UuY3BwICovOyB9OwogCQk1MUU0QURCNjBDNDJCNENGMDA0
MkJDNTUgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFNEFEQjIwQzQyQjRDRjAwNDJCQzU1IC8qIEZUUERp
cmVjdG9yeURvY3VtZW50LmNwcCAqLzsgfTsKIAkJNTFFNEFEQjcwQzQyQjRDRjAwNDJCQzU1IC8q
IEZUUERpcmVjdG9yeURvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUU0QURCMzBDNDJCNENGMDA0MkJDNTUgLyogRlRQRGlyZWN0b3J5RG9j
dW1lbnQuaCAqLzsgfTsKLQkJNTFFQzkyNTkwQ0U5MERCNDAwRjkwMzA4IC8qIFNRTEVycm9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1NzBD
RTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAqLzsgfTsKKwkJNTFFQzkyNTkwQ0U5MERCNDAw
RjkwMzA4IC8qIFNRTEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MUVDOTI1NzBDRTkwREI0MDBGOTAzMDggLyogU1FMRXJyb3IuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUVDOTI2MzBDRTkw
REQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1QjBDRTkwREQ0MDBG
OTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgKi87IH07CiAJCTUxRUM5
MjY0MENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudENhbGxiYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1QzBDRTkw
REQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5oICovOyB9OwogCQk1
MUVDOTI2NTBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxi
YWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RUM5MjVEMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJh
Y2suY3BwICovOyB9OwpAQCAtNDc3OCw3ICs0Nzc4LDcgQEAKIAkJRTQ0NjEzQUQwQ0Q2MzMxMDAw
RkFEQTc1IC8qIE1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmggKi87
IH07CiAJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxMzlEMENENjMzMTAw
MEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCAqLzsgfTsKIAkJRTQ0NjEzQjAwQ0Q2MzMxMDAwRkFE
QTc1IC8qIFRpbWVSYW5nZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEU0NDYxMzlFMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggKi87IH07
Ci0JCUU0NDYxM0I2MENENjM0NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NDYxM0I0MENENjM0NEUwMEZB
REE3NSAvKiBWb2lkQ2FsbGJhY2suaCAqLzsgfTsKKwkJRTQ0NjEzQjYwQ0Q2MzQ0RTAwRkFEQTc1
IC8qIFZvaWRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTQ0NjEzQjQwQ0Q2MzQ0RTAwRkFEQTc1IC8qIFZvaWRDYWxsYmFjay5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYxM0UzMENE
NjgxOUYwMEZBREE3NSAvKiBNZWRpYVBsYXllci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEI0MUUwQzBDQkY5MEJEMDBBRjJFQ0UgLyogTWVkaWFQ
bGF5ZXIuY3BwICovOyB9OwogCQlFNDQ2MTNFNDBDRDY4MUEyMDBGQURBNzUgLyogTWVkaWFQbGF5
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQx
RTBEMENCRjkwQkQwMEFGMkVDRSAvKiBNZWRpYVBsYXllci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NDYxM0U1MENENjgxQTYwMEZBREE3NSAv
KiBNZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQxRTExMENCRjkwRUYwMEFGMkVDRSAvKiBNZWRpYVBsYXll
clByaXZhdGVRVEtpdC5tbSAqLzsgfTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCShyZXZpc2lvbiA1NTE3
OCkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMw
LDEyICsxMTMwLDExIEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERPTVdpbmRvdzo6b3BlbkRhdGEK
ICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgRG9jdW1lbnQqIGRv
Y3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKLSAgICBpZiAoIWRvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpLT5jYW5BY2Nlc3NEYXRhYmFzZSgpKQorICAgIGlmICghRGF0YWJhc2U6OmlzQXZh
aWxhYmxlKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgU2V0dGluZ3MqIHNldHRpbmdzID0g
bV9mcmFtZS0+c2V0dGluZ3MoKTsKLSAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+ZGF0
YWJhc2VzRW5hYmxlZCgpKQorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3Vt
ZW50KCk7CisgICAgaWYgKCFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzRGF0
YWJhc2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gRGF0YWJhc2U6Om9wZW5E
YXRhYmFzZShkb2N1bWVudCwgbmFtZSwgdmVyc2lvbiwgZGlzcGxheU5hbWUsIGVzdGltYXRlZFNp
emUsIGVjKTsKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gNTUxNzgpCisrKyBXZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKIAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgorI2luY2x1ZGUg
IkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIK
ICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKQEAgLTI2Myw2ICsyNjQsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXRQbHVnaW5zRW5hYmxlZChib29sIGFyCiB2b2lkIFNldHRpbmdzOjpzZXREYXRhYmFzZXNF
bmFibGVkKGJvb2wgZGF0YWJhc2VzRW5hYmxlZCkKIHsKICAgICBtX2RhdGFiYXNlc0VuYWJsZWQg
PSBkYXRhYmFzZXNFbmFibGVkOworICAgIERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZShkYXRhYmFz
ZXNFbmFibGVkKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChi
b29sIGxvY2FsU3RvcmFnZUVuYWJsZWQpCkluZGV4OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gNTU0MjApCisrKyBXZWJL
aXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEwLTAz
LTAyICBFcmljIFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBkYXRhYmFzZSBlbmFibGUgYml0
IGZ1bGx5IG91dCBvZiBzZXR0aW5ncworICAgICAgICBUaGlzIGlzIHN0YWdlIG9uZSBvZiBhIHRo
cmVlLXN0YWdlIGNvbW1pdCBbd2Via2l0LCB0aGVuIGNocm9taXVtLCB0aGVuCisgICAgICAgIHdl
YmtpdCBhZ2Fpbl0uICBJbiB0aGlzIGNoYW5nZSBJJ20gYWRkaW5nIGNhbGxzIHRvCisgICAgICAg
IERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZSBpbnNpZGUgU2V0dGluZ3M6OnNldERhdGFiYXNlRW5h
YmxlZCBhbmQKKyAgICAgICAgYW55d2hlcmUgZWxzZSB0aGF0IGNhbGxlZCBpdCwgYW5kIHN3aXRj
aGluZyB3ZWJraXQgZnVsbHkgb3ZlciB0byB1c2luZworICAgICAgICB0aGF0IGZsYWcgW2FkZGVk
IGluIGEgcHJldmlvdXMgY2hlY2tpbl0uICBQaGFzZSB0d28gd2lsbCByZW1vdmUKKyAgICAgICAg
Q2hyb21pdW0ncyB1c2Ugb2YgU2V0dGluZ3MgZm9yIHRoZSBEYXRhYmFzZSwgYW5kIHBoYXNlIHRo
cmVlIHdpbGwgcmVtb3ZlCisgICAgICAgIHRoZSBTZXR0aW5nIGZvciB0aGUgRGF0YWJhc2UgZW5h
YmxlIGVudGlyZWx5LCBsZWF2aW5nIG9ubHkKKyAgICAgICAgRGF0YWJhc2U6OmlzQXZhaWxhYmxl
L3NldElzQXZhaWxhYmxlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgdGVzdGVkIGJ5IGV4aXN0
aW5nIHN0b3JhZ2UgdGVzdHMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1MzEwCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6
ICBBZGQgY2FsbHMgdG8gRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlCisgICAgICAgIChETkRDb250
ZW50c1JlcXVlc3Q6OndlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGluZ3MpOgorICAgICAgICAo
RE5EQ29udGVudHNSZXF1ZXN0Ojp3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90aWZ5KToKKwog
MjAxMC0wMy0wMSAgSm9zw6kgTWlsbMOhbiBTb3RvICA8am1pbGxhbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KSW5kZXg6IFdlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwCShyZXZpc2lvbiA1NTE3OCkKKysrIFdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBACiAj
aW5jbHVkZSAiQ29udGV4dE1lbnUuaCIKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSAi
Q3Vyc29yLmgiCisjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHJhZ0NsaWVudEd0ay5oIgpA
QCAtMjYwNSw2ICsyNjA2LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3VwZGF0ZV9z
ZXR0aQogICAgIHNldHRpbmdzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGVuYWJsZVByaXZh
dGVCcm93c2luZyk7CiAgICAgc2V0dGluZ3MtPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGVuYWJs
ZUNhcmV0QnJvd3NpbmcpOwogICAgIHNldHRpbmdzLT5zZXREYXRhYmFzZXNFbmFibGVkKGVuYWJs
ZUhUTUw1RGF0YWJhc2UpOworI2lmIEVOQUJMRShEQVRBQkFTRSkKKyAgICBEYXRhYmFzZTo6c2V0
SXNBdmFpbGFibGUoZW5hYmxlSFRNTDVEYXRhYmFzZSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy0+
c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChlbmFibGVIVE1MNUxvY2FsU3RvcmFnZSk7CiAgICAgc2V0
dGluZ3MtPnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJsZVhTU0F1ZGl0b3IpOwogICAgIHNldHRp
bmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KGphdmFzY3JpcHRD
YW5PcGVuV2luZG93cyk7CkBAIC0yNjkyLDggKzI2OTYsMTEgQEAgc3RhdGljIHZvaWQgd2Via2l0
X3dlYl92aWV3X3NldHRpbmdzX25vdAogICAgICAgICBzZXR0aW5ncy0+c2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwogICAgIGVsc2UgaWYgKG5h
bWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtY2FyZXQtYnJvd3NpbmciKSkKICAgICAgICAg
c2V0dGluZ3MtPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZh
bHVlKSk7CisjaWYgRU5BQkxFKERBVEFCQVNFKQogICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19pbnRl
cm5fc3RyaW5nKCJlbmFibGUtaHRtbDUtZGF0YWJhc2UiKSkKICAgICAgICAgc2V0dGluZ3MtPnNl
dERhdGFiYXNlc0VuYWJsZWQoZ192YWx1ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKKyAgICAgICAg
RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7Cisj
ZW5kaWYKICAgICBlbHNlIGlmIChuYW1lID09IGdfaW50ZXJuX3N0cmluZygiZW5hYmxlLWh0bWw1
LWxvY2FsLXN0b3JhZ2UiKSkKICAgICAgICAgc2V0dGluZ3MtPnNldExvY2FsU3RvcmFnZUVuYWJs
ZWQoZ192YWx1ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKICAgICBlbHNlIGlmIChuYW1lID09IGdf
aW50ZXJuX3N0cmluZygiZW5hYmxlLXhzcy1hdWRpdG9yIikpCkluZGV4OiBXZWJLaXQvbWFjL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNTU0
MjApCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0
IEBACisyMDEwLTAzLTAyICBFcmljIFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBkYXRhYmFz
ZSBlbmFibGUgYml0IGZ1bGx5IG91dCBvZiBzZXR0aW5ncworICAgICAgICBUaGlzIGlzIHN0YWdl
IG9uZSBvZiBhIHRocmVlLXN0YWdlIGNvbW1pdCBbd2Via2l0LCB0aGVuIGNocm9taXVtLCB0aGVu
CisgICAgICAgIHdlYmtpdCBhZ2Fpbl0uICBJbiB0aGlzIGNoYW5nZSBJJ20gYWRkaW5nIGNhbGxz
IHRvCisgICAgICAgIERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZSBpbnNpZGUgU2V0dGluZ3M6OnNl
dERhdGFiYXNlRW5hYmxlZCBhbmQKKyAgICAgICAgYW55d2hlcmUgZWxzZSB0aGF0IGNhbGxlZCBp
dCwgYW5kIHN3aXRjaGluZyB3ZWJraXQgZnVsbHkgb3ZlciB0byB1c2luZworICAgICAgICB0aGF0
IGZsYWcgW2FkZGVkIGluIGEgcHJldmlvdXMgY2hlY2tpbl0uICBQaGFzZSB0d28gd2lsbCByZW1v
dmUKKyAgICAgICAgQ2hyb21pdW0ncyB1c2Ugb2YgU2V0dGluZ3MgZm9yIHRoZSBEYXRhYmFzZSwg
YW5kIHBoYXNlIHRocmVlIHdpbGwgcmVtb3ZlCisgICAgICAgIHRoZSBTZXR0aW5nIGZvciB0aGUg
RGF0YWJhc2UgZW5hYmxlIGVudGlyZWx5LCBsZWF2aW5nIG9ubHkKKyAgICAgICAgRGF0YWJhc2U6
OmlzQXZhaWxhYmxlL3NldElzQXZhaWxhYmxlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgdGVz
dGVkIGJ5IGV4aXN0aW5nIHN0b3JhZ2UgdGVzdHMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzEwCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZp
ZXcubW06ICBBZGRlZCBhIGNhbGwgdG8gRGF0YWJhc2U6OnNldElzQXZhaWxhYmxlLgorICAgICAg
ICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKIDIwMTAt
MDMtMDIgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCAtW1dl
YlZpZXcgX3JlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmU6XQpJbmRleDogV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0JKHJldmlzaW9uIDU1MTc4KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTEwNiw2ICsxMDYsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9DYWNoZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgogI2ltcG9ydCA8V2ViQ29yZS9DdXJzb3Iu
aD4KKyNpbXBvcnQgPFdlYkNvcmUvRGF0YWJhc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1l
bnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRHJhZ0NvbnRyb2xsZXIuaD4KQEAgLTEzMDUsNiArMTMwNiw5IEBAIHN0YXRpYyBib29sIGZh
c3REb2N1bWVudFRlYXJkb3duRW5hYmxlZCgKICAgICBzZXR0aW5ncy0+c2V0TWluaW11bUxvZ2lj
YWxGb250U2l6ZShbcHJlZmVyZW5jZXMgbWluaW11bUxvZ2ljYWxGb250U2l6ZV0pOwogICAgIHNl
dHRpbmdzLT5zZXRQbHVnaW5zRW5hYmxlZChbcHJlZmVyZW5jZXMgYXJlUGx1Z0luc0VuYWJsZWRd
KTsKICAgICBzZXR0aW5ncy0+c2V0RGF0YWJhc2VzRW5hYmxlZChbcHJlZmVyZW5jZXMgZGF0YWJh
c2VzRW5hYmxlZF0pOworI2lmIEVOQUJMRShEQVRBQkFTRSkKKyAgICBEYXRhYmFzZTo6c2V0SXNB
dmFpbGFibGUoW3ByZWZlcmVuY2VzIGRhdGFiYXNlc0VuYWJsZWRdKTsKKyNlbmRpZgogICAgIHNl
dHRpbmdzLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKFtwcmVmZXJlbmNlcyBsb2NhbFN0b3JhZ2VF
bmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFi
bGVkKFtwcmVmZXJlbmNlcyBleHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZF0pOwogICAg
IHNldHRpbmdzLT5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBwcml2YXRl
QnJvd3NpbmdFbmFibGVkXSk7CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1NDIwKQorKysgV2ViS2l0L3F0L0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEwLTAzLTAyICBFcmlj
IFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBkYXRhYmFzZSBlbmFibGUgYml0IGZ1bGx5IG91
dCBvZiBzZXR0aW5ncworICAgICAgICBUaGlzIGlzIHN0YWdlIG9uZSBvZiBhIHRocmVlLXN0YWdl
IGNvbW1pdCBbd2Via2l0LCB0aGVuIGNocm9taXVtLCB0aGVuCisgICAgICAgIHdlYmtpdCBhZ2Fp
bl0uICBJbiB0aGlzIGNoYW5nZSBJJ20gYWRkaW5nIGNhbGxzIHRvCisgICAgICAgIERhdGFiYXNl
OjpzZXRJc0F2YWlsYWJsZSBpbnNpZGUgU2V0dGluZ3M6OnNldERhdGFiYXNlRW5hYmxlZCBhbmQK
KyAgICAgICAgYW55d2hlcmUgZWxzZSB0aGF0IGNhbGxlZCBpdCwgYW5kIHN3aXRjaGluZyB3ZWJr
aXQgZnVsbHkgb3ZlciB0byB1c2luZworICAgICAgICB0aGF0IGZsYWcgW2FkZGVkIGluIGEgcHJl
dmlvdXMgY2hlY2tpbl0uICBQaGFzZSB0d28gd2lsbCByZW1vdmUKKyAgICAgICAgQ2hyb21pdW0n
cyB1c2Ugb2YgU2V0dGluZ3MgZm9yIHRoZSBEYXRhYmFzZSwgYW5kIHBoYXNlIHRocmVlIHdpbGwg
cmVtb3ZlCisgICAgICAgIHRoZSBTZXR0aW5nIGZvciB0aGUgRGF0YWJhc2UgZW5hYmxlIGVudGly
ZWx5LCBsZWF2aW5nIG9ubHkKKyAgICAgICAgRGF0YWJhc2U6OmlzQXZhaWxhYmxlL3NldElzQXZh
aWxhYmxlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgdGVzdGVkIGJ5IGV4aXN0aW5nIHN0b3Jh
Z2UgdGVzdHMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM1MzEwCisKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKFFX
ZWJTZXR0aW5nc1ByaXZhdGU6OmFwcGx5KTogIEFkZCBhIGNhbGwgdG8gRGF0YWJhc2U6OnNldElz
QXZhaWxhYmxlCisKIDIwMTAtMDMtMDIgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5A
bm9raWEuY29tPgogCiAgICAgICAgIFN5bWJpYW4gYnVpbGQgZml4LgpJbmRleDogV2ViS2l0L3F0
L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNl
dHRpbmdzLmNwcAkocmV2aXNpb24gNTUxNzgpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkNhY2hl
LmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIgorI2luY2x1
ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlBhZ2VDYWNoZS5oIgpAQCAtMTk5LDkgKzIwMCwxMiBAQCB2b2lkIFFXZWJT
ZXR0aW5nc1ByaXZhdGU6OmFwcGx5KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6UHJpbnRFbGVtZW50
QmFja2dyb3VuZHMpKTsKICAgICAgICAgc2V0dGluZ3MtPnNldFNob3VsZFByaW50QmFja2dyb3Vu
ZHModmFsdWUpOwogCisjaWYgRU5BQkxFKERBVEFCQVNFKQogICAgICAgICB2YWx1ZSA9IGF0dHJp
YnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpPZmZsaW5lU3RvcmFnZURhdGFiYXNlRW5hYmxlZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRyaWJ1dGVz
LnZhbHVlKFFXZWJTZXR0aW5nczo6T2ZmbGluZVN0b3JhZ2VEYXRhYmFzZUVuYWJsZWQpKTsKICAg
ICAgICAgc2V0dGluZ3MtPnNldERhdGFiYXNlc0VuYWJsZWQodmFsdWUpOworICAgICAgICBXZWJD
b3JlOjpEYXRhYmFzZTo6c2V0SXNBdmFpbGFibGUodmFsdWUpOworI2VuZGlmCiAKICAgICAgICAg
dmFsdWUgPSBhdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6T2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGVFbmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
bG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpPZmZsaW5lV2ViQXBwbGljYXRp
b25DYWNoZUVuYWJsZWQpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49931</attachid>
            <date>2010-03-03 12:15:51 -0800</date>
            <delta_ts>2010-03-03 21:19:33 -0800</delta_ts>
            <desc>buildfix</desc>
            <filename>buildfix.patch</filename>
            <type>text/plain</type>
            <size>1048</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQ3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDMtMDMgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21i
b3NAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEJ1aWxkIGZpeCBhZnRlciByNTU0NTIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB0
aGlzIGlzIGEgYnVpbGQgZml4LgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0RGF0YWJhc2VzRW5hYmxlZCk6CisKIDIwMTAtMDMt
MDMgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA1NTQ2
MikKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2NCw3
ICsyNjQsOSBAQCB2b2lkIFNldHRpbmdzOjpzZXRQbHVnaW5zRW5hYmxlZChib29sIGFyCiB2b2lk
IFNldHRpbmdzOjpzZXREYXRhYmFzZXNFbmFibGVkKGJvb2wgZGF0YWJhc2VzRW5hYmxlZCkKIHsK
ICAgICBtX2RhdGFiYXNlc0VuYWJsZWQgPSBkYXRhYmFzZXNFbmFibGVkOworI2lmIEVOQUJMRShE
QVRBQkFTRSkKICAgICBEYXRhYmFzZTo6c2V0SXNBdmFpbGFibGUoZGF0YWJhc2VzRW5hYmxlZCk7
CisjZW5kaWYKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChib29s
IGxvY2FsU3RvcmFnZUVuYWJsZWQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>