<?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>35861</bug_id>
          
          <creation_ts>2010-03-08 04:44:00 -0800</creation_ts>
          <short_desc>[Qt] Add documentation to the QtWebkit bridge</short_desc>
          <delta_ts>2011-04-19 05:15:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>rich</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>197127</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-08 04:44:00 -0800</bug_when>
    <thetext>Currently the QtWebkit bridge features are not documented, or are very sparsely documented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197128</commentid>
    <comment_count>1</comment_count>
      <attachid>50212</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-08 04:44:50 -0800</bug_when>
    <thetext>Created attachment 50212
WIP: documentation for the QtWebkit bridge</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204528</commentid>
    <comment_count>2</comment_count>
    <who name="Richard Moore">rich</who>
    <bug_when>2010-03-26 05:59:24 -0700</bug_when>
    <thetext>The section on security should be changed:

&apos;such exposure should be balanced by limiting the web page&apos;s access, for example, to https-based secure sites only.&apos;

This is bad advice since https does not guarantee that the end point is not malicious (anyone can get an https cert since it merely proves who they are). Better advice would be to tell people to ensure they trust the endpoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204531</commentid>
    <comment_count>3</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-26 06:01:36 -0700</bug_when>
    <thetext>Richard Moore: thanks! my oversight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218062</commentid>
    <comment_count>4</comment_count>
      <attachid>54478</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-27 17:13:15 -0700</bug_when>
    <thetext>Created attachment 54478
documentation for the QtWebkit bridge</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218064</commentid>
    <comment_count>5</comment_count>
      <attachid>54479</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-27 17:14:17 -0700</bug_when>
    <thetext>Created attachment 54479
generated HTML documentation

to generate this yourself, go to WebKitBuild/Release, and run &quot;make docs&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218066</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-27 17:15:25 -0700</bug_when>
    <thetext>Attachment 54478 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
Last 3072 characters of output:
ebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:7:  Declaration has space between type name and * in QWebFrame *frame  [whitespace/declaration] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:10:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:12:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:13:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:18:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:19:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:19:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:21:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:35:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:37:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:41:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:50:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:51:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:52:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:65:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:66:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:67:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:71:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:80:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:81:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 22 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218067</commentid>
    <comment_count>7</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-27 17:16:52 -0700</bug_when>
    <thetext>style checker should ignore those snippet files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218587</commentid>
    <comment_count>8</comment_count>
      <attachid>54478</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-28 13:24:59 -0700</bug_when>
    <thetext>Comment on attachment 54478
documentation for the QtWebkit bridge

Here&apos;s a first batch of comments:

WebKit/qt/docs/qtwebkit-bridge.qdoc:11
 +      \l{Qt Object Model}, which has a natural alignment to the way JavaScript worked.
worked = works.

The second sentence has a lot of buzz words :). I wonder if would make sense to simplify it a bit. How about &quot;It uses QObject introspection, which makes it easy to integrate with the dynamic JavaScript environment.&quot; ?

WebKit/qt/docs/qtwebkit-bridge.qdoc:14
 +      pair under one name.
How about: &quot;For example QObject properties map directly to JavaScript properties&quot;.

WebKit/qt/docs/qtwebkit-bridge.qdoc:18
 +      There are two main use cases for the QtWebKit bridge. Web content in a native application, and Thin Client.
Client or Client_s_?

WebKit/qt/docs/qtwebkit-bridge.qdoc:23
 +      applications. For example, an application that contains both a media-player, playlist manager, and
I _think_ the last comma in the line is not needed (not 100% sure, not native speaker myself :)

WebKit/qt/docs/qtwebkit-bridge.qdoc:41
 +      An example for such client is a UI for a video-on-demand service on a TV. The entire content and
such client -&gt; such a client

WebKit/qt/docs/qtwebkit-bridge.qdoc:70
 +      To enable web content access to a native QObject, the application has to explicitly grant it access,
grant it access -&gt; grant access? (not 100% sure)

WebKit/qt/docs/qtwebkit-bridge.qdoc:79
 +      Qt Script adapts Qt&apos;s central \l{Signals and Slots} feature for
Is it intentional to mention Qt Script here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219810</commentid>
    <comment_count>9</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-05-02 03:29:26 -0700</bug_when>
    <thetext>Being that I&apos;m not a native English speaker myself, maybe somebody else should look at this / edit the English.
Any comments about the actual content?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232797</commentid>
    <comment_count>10</comment_count>
      <attachid>57558</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-06-01 10:03:21 -0700</bug_when>
    <thetext>Created attachment 57558
Updated patch, reviewed by our doc team</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232799</commentid>
    <comment_count>11</comment_count>
      <attachid>57559</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-06-01 10:03:49 -0700</bug_when>
    <thetext>Created attachment 57559
New generated doc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232824</commentid>
    <comment_count>12</comment_count>
      <attachid>57558</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-06-01 10:38:58 -0700</bug_when>
    <thetext>Comment on attachment 57558
Updated patch, reviewed by our doc team

What is going on here? This is not a doc change!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232829</commentid>
    <comment_count>13</comment_count>
      <attachid>57566</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-06-01 10:46:48 -0700</bug_when>
    <thetext>Created attachment 57566
oops, uploaded the wrong file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232833</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-01 10:48:16 -0700</bug_when>
    <thetext>Attachment 57566 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
Last 3072 characters of output:
ebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:7:  Declaration has space between type name and * in QWebFrame *frame  [whitespace/declaration] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:10:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:12:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:13:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:18:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:19:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:19:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:21:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:35:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:36:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:37:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:41:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:50:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:51:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:52:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:65:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:66:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:67:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:71:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:80:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:81:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 22 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232837</commentid>
    <comment_count>15</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-06-01 10:51:29 -0700</bug_when>
    <thetext>How can we remove those doc files from the style-check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233088</commentid>
    <comment_count>16</comment_count>
      <attachid>57566</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-01 22:49:27 -0700</bug_when>
    <thetext>Comment on attachment 57566
oops, uploaded the wrong file

Clearing flags on attachment: 57566

Committed r60537: &lt;http://trac.webkit.org/changeset/60537&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233089</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-01 22:49:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233410</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-06-02 13:20:49 -0700</bug_when>
    <thetext>Revision r60537 cherry-picked into qtwebkit-2.0 with commit 56c648fdede16be00fd0040fc1cdff63ac33140b</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237012</commentid>
    <comment_count>19</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-06-11 13:53:28 -0700</bug_when>
    <thetext>The wrong patch sneaked in, 100% my fault. Working to amend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237137</commentid>
    <comment_count>20</comment_count>
      <attachid>58526</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-06-11 16:43:12 -0700</bug_when>
    <thetext>Created attachment 58526
A patch that amends the state to the correct documentation

Uploaded a diff between the correct patch (which generates attachment 57559) and the patch that was accepted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237140</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-11 16:43:48 -0700</bug_when>
    <thetext>Attachment 58526 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
Last 3072 characters of output:
  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:126:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:126:  Extra space before ( in function call  [whitespace/parens] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:129:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:130:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:132:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:133:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:134:  One space before end of line comments  [whitespace/comments] [5]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:136:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:137:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:138:  One space before end of line comments  [whitespace/comments] [5]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:140:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:141:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:143:  This { should be at the end of the previous line  [whitespace/braces] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:152:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:153:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:155:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:156:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:162:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:163:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:169:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:170:  Should have a space between // and comment  [whitespace/comments] [4]
WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:174:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 59 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237261</commentid>
    <comment_count>22</comment_count>
      <attachid>58526</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-12 01:22:06 -0700</bug_when>
    <thetext>Comment on attachment 58526
A patch that amends the state to the correct documentation

Clearing flags on attachment: 58526

Committed r61058: &lt;http://trac.webkit.org/changeset/61058&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237262</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-12 01:22:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237606</commentid>
    <comment_count>24</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-06-13 14:09:26 -0700</bug_when>
    <thetext>Revision r61058 cherry-picked into qtwebkit-2.0 with commit f4d68eb5e73b75d4f35f375a9563433df8229973</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50212</attachid>
            <date>2010-03-08 04:44:50 -0800</date>
            <delta_ts>2010-06-01 10:03:21 -0700</delta_ts>
            <desc>WIP: documentation for the QtWebkit bridge</desc>
            <filename>qtwebkit-bridge.qdoc</filename>
            <type>text/plain</type>
            <size>23478</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioNCiAgICAqKg0KICAgICoqIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuDQogICAgKiogQWxs
IHJpZ2h0cyByZXNlcnZlZC4NCiAgICAqKiBDb250YWN0OiBOb2tpYSBDb3Jwb3JhdGlvbiAocXQt
aW5mb0Bub2tpYS5jb20pDQogICAgKioNCiAgICAqKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
ZG9jdW1lbnRhdGlvbiBvZiB0aGUgUXQgVG9vbGtpdC4NCiAgICAqKg0KICAgICoqICRRVF9CRUdJ
Tl9MSUNFTlNFOkxHUEwkDQogICAgKiogQ29tbWVyY2lhbCBVc2FnZQ0KICAgICoqIExpY2Vuc2Vl
cyBob2xkaW5nIHZhbGlkIFF0IENvbW1lcmNpYWwgbGljZW5zZXMgbWF5IHVzZSB0aGlzIGZpbGUg
aW4NCiAgICAqKiBhY2NvcmRhbmNlIHdpdGggdGhlIFF0IENvbW1lcmNpYWwgTGljZW5zZSBBZ3Jl
ZW1lbnQgcHJvdmlkZWQgd2l0aCB0aGUNCiAgICAqKiBTb2Z0d2FyZSBvciwgYWx0ZXJuYXRpdmVs
eSwgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSB0ZXJtcyBjb250YWluZWQgaW4NCiAgICAqKiBhIHdy
aXR0ZW4gYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBOb2tpYS4NCiAgICAqKg0KICAgICoqIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBVc2FnZQ0KICAgICoqIEFsdGVybmF0aXZl
bHksIHRoaXMgZmlsZSBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNz
ZXINCiAgICAqKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4xIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQ0KICAgICoqIEZvdW5kYXRpb24gYW5kIGFwcGVhcmluZyBp
biB0aGUgZmlsZSBMSUNFTlNFLkxHUEwgaW5jbHVkZWQgaW4gdGhlDQogICAgKiogcGFja2FnaW5n
IG9mIHRoaXMgZmlsZS4gIFBsZWFzZSByZXZpZXcgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiB0
bw0KICAgICoqIGVuc3VyZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZl
cnNpb24gMi4xIHJlcXVpcmVtZW50cw0KICAgICoqIHdpbGwgYmUgbWV0OiBodHRwOi8vd3d3Lmdu
dS5vcmcvbGljZW5zZXMvb2xkLWxpY2Vuc2VzL2xncGwtMi4xLmh0bWwuDQogICAgKioNCiAgICAq
KiBJbiBhZGRpdGlvbiwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgTm9raWEgZ2l2ZXMgeW91IGNl
cnRhaW4gYWRkaXRpb25hbA0KICAgICoqIHJpZ2h0cy4gIFRoZXNlIHJpZ2h0cyBhcmUgZGVzY3Jp
YmVkIGluIHRoZSBOb2tpYSBRdCBMR1BMIEV4Y2VwdGlvbg0KICAgICoqIHZlcnNpb24gMS4xLCBp
bmNsdWRlZCBpbiB0aGUgZmlsZSBMR1BMX0VYQ0VQVElPTi50eHQgaW4gdGhpcyBwYWNrYWdlLg0K
ICAgICoqDQogICAgKiogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgVXNhZ2UNCiAgICAqKiBB
bHRlcm5hdGl2ZWx5LCB0aGlzIGZpbGUgbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUNCiAgICAqKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMy4wIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQ0KICAgICoqIEZvdW5kYXRpb24gYW5kIGFwcGVhcmlu
ZyBpbiB0aGUgZmlsZSBMSUNFTlNFLkdQTCBpbmNsdWRlZCBpbiB0aGUNCiAgICAqKiBwYWNrYWdp
bmcgb2YgdGhpcyBmaWxlLiAgUGxlYXNlIHJldmlldyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9u
IHRvDQogICAgKiogZW5zdXJlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9u
IDMuMCByZXF1aXJlbWVudHMgd2lsbCBiZQ0KICAgICoqIG1ldDogaHR0cDovL3d3dy5nbnUub3Jn
L2NvcHlsZWZ0L2dwbC5odG1sLg0KICAgICoqDQogICAgKiogSWYgeW91IGhhdmUgcXVlc3Rpb25z
IHJlZ2FyZGluZyB0aGUgdXNlIG9mIHRoaXMgZmlsZSwgcGxlYXNlIGNvbnRhY3QNCiAgICAqKiBO
b2tpYSBhdCBxdC1pbmZvQG5va2lhLmNvbS4NCiAgICAqKiAkUVRfRU5EX0xJQ0VOU0UkDQogICAg
KioNCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQogICAgLyohDQogICAgXGlubW9kdWxlIFF0
V2ViS2l0DQogICAgXHBhZ2UgcXR3ZWJraXQtYnJpZGdlLmh0bWwNCiAgICBcdGl0bGUgVGhlIFF0
V2ViS2l0IEJyaWRnZQ0KICAgIFxjb250ZW50c3BhZ2UgUXRXZWJraXQNCiAgICBcYnJpZWYgVGhl
IFF0V2ViS2l0IGJyaWRnZSBhbGxvd3MgYWNjZXNzaW5nIG5hdGl2ZSBmdW5jdGlvbmFsaXR5LCBl
bmNhcHN1bGF0ZWQgaW4gUU9iamVjdHMsDQogICAgdGhyb3VnaCBKYXZhc2NyaXB0IGluIGEgd2Vi
a2l0LWRyaXZlbiB3ZWIgcGFnZS4NCiAgICAqLw0KDQogICAgLyohDQogICAgXHNlY3Rpb24xIE92
ZXJ2aWV3DQogICAgXHNlY3Rpb24yIFRoZSB0ZWNobm9sb2d5DQoNCiAgICBUaGUgUXRXZWJraXQg
YnJpZGdlIGlzIGEgbWVjaGFuaXNtIHRoYXQgZXh0ZW5kcyBXZWJraXQncyBKYXZhc2NyaXB0IGVu
dmlyb25tZW50IHRvIGFjY2VzcyBuYXRpdmUNCiAgICBvYmplY3RzIHRoYXQgYXJlIHJlcHJlc2Vu
dGVkIGFzIFFPYmplY3RzLiBJdCB0YWtlcyBhZHZhbnRhZ2Ugb2YgdGhlIGluaGVyZW50IGludHJv
c3BlY3Rpb24gb2YgdGhlDQogICAgXGx7UXQgT2JqZWN0IE1vZGVsfSwgd2hpY2ggaGFzIGEgbmF0
dXJhbCBhbGlnbm1lbnQgdG8gdGhlIHdheSBKYXZhc2NyaXB0IHdvcmtlZC4NCg0KICAgIEZvciBl
eGFtcGxlLCBib3RoIEphdmFzY3JpcHQgYW5kIFFPYmplY3RzIGhhdmUgcHJvcGVydGllczogYSBj
b25zdHJ1Y3QgdGhhdCByZXByZXNlbnQgYSBnZXR0ZXIvc2V0dGVyDQogICAgcGFpciB1bmRlciBv
bmUgbmFtZS4NCg0KICAgIFxzZWN0aW9uMiBVc2UgQ2FzZXMNCg0KICAgIFRoZXJlIGFyZSB0d28g
bWFpbiB1c2UgY2FzZXMgZm9yIHRoZSBRdFdlYmtpdCBicmlkZ2UuIFdlYiBjb250ZW50IGluIGEg
bmF0aXZlIGFwcGxpY2F0aW9uLCBhbmQgVGhpbiBDbGllbnQuDQoNCiAgICBcc2VjdGlvbjMgV2Vi
IENvbnRlbnQgaW4gYSBOYXRpdmUgQXBwbGljYXRpb24NCg0KICAgIFRoaXMgaXMgYSBjb21tb24g
dXNlIGNhc2UgaW4gY2xhc3NpYyBRdCBhcHBsaWNhdGlvbiwgYW5kIGEgZGVzaWduIHBhdHRlcm4g
dXNlZCBieSBzZXZlcmFsIG1vZGVybg0KICAgIGFwcGxpY2F0aW9ucy4gRm9yIGV4YW1wbGUsIGFu
IGFwcGxpY2F0aW9uIHRoYXQgY29udGFpbnMgYm90aCBhIG1lZGlhLXBsYXllciwgcGxheWxpc3Qg
bWFuYWdlciwgYW5kDQogICAgYSBtdXNpYyBzdG9yZS4gVGhlIHBsYXlsaXN0IG1hbmFnZXIgaXMg
dXN1YWxseSBiZXN0IGF1dGhvcmVkIGFzIGEgY2xhc3NpYyBkZXNrdG9wIGFwcGxpY2F0aW9uLA0K
ICAgIHdpdGggdGhlIG5hdGl2ZS1sb29raW5nIHJvYnVzdCBcbHtRV2lkZ2V0fXMgaGVscGluZyB3
aXRoIHByb2R1Y2luZyB0aGF0IGFwcGxpY2F0aW9uLg0KICAgIFRoZSBtZWRpYS1wbGF5ZXIgY29u
dHJvbCwgd2hpY2ggdXN1YWxseSBsb29rcyBjdXN0b20sIGNhbiBiZSB3cml0dGVuIHVzaW5nIFxs
e1RoZSBHcmFwaGljcyBWaWV3IGZyYW1ld29ya30NCiAgICBvciB3aXRoIGluIGEgZGVjbGFyYXRp
dmUgd2F5IHdpdGggXGx7UXREZWNsYXJhdGl2ZX0uIFRoZSBtdXNpYyBzdG9yZSwgd2hpY2ggc2hv
d3MgZHluYW1pYyBjb250ZW50DQogICAgZnJvbSB0aGUgaW50ZXJuZXQsIGFuZCBnZXRzIG1vZGlm
aWVkIHJhcGlkbHksIGlzIGJlc3QgYXV0aG9yZWQgaW4gSFRNTCBhbmQgbWFpbnRhaW5lZCBvbiB0
aGUgc2VydmVyLg0KDQogICAgV2l0aCB0aGUgUXRXZWJraXQgYnJpZGdlLCB0aGF0IG11c2ljIHN0
b3JlIGNvbXBvbmVudCBjYW4gaW50ZXJhY3Qgd2l0aCBuYXRpdmUgcGFydHMgb2YgdGhlIGFwcGxp
Y2F0aW9uLA0KICAgIGZvciBleGFtcGxlLCBpZiBhIGZpbGUgbmVlZHMgdG8gYmUgc2F2ZWQgdG8g
YSBzcGVjaWZpYyBsb2NhdGlvbi4NCg0KICAgIFxzZWN0aW9uMyBUaGluIENsaWVudA0KDQogICAg
QW5vdGhlciB1c2UgY2FzZSBpcyB1c2luZyBRdCBhcyBhIG5hdGl2ZSBiYWNrZW5kIHRvIGEgZnVs
bCB3ZWIgYXBwbGljYXRpb24sDQogICAgcmVmZXJyZWQgdG8gaGVyZSBhcyBhIHRoaW4gY2xpZW50
LiBJbiB0aGlzIHVzZS1jYXNlLCB0aGUgZW50aXJlIFVJIGlzIGRyaXZlbiBieQ0KICAgIEhUTUws
IEphdmFzY3JpcHQgYW5kIENTUywgYW5kIG5hdGl2ZSBRdC1iYXNlZCBjb21wb25lbnRzIGFyZSB1
c2VkIHRvIGFsbG93IHRoYXQgYXBwbGljYXRpb24NCiAgICBhY2Nlc3MgdG8gbmF0aXZlIGZlYXR1
cmVzIG5vdCB1c3VhbGx5IGV4cG9zZWQgdG8gdGhlIHdlYiwgb3IgdG8gZW5hYmxlIGhlbHBlciBj
b21wb25lbnRzIHRoYXQNCiAgICBhcmUgYmVzdCB3cml0dGVuIHdpdGggQysrLg0KDQogICAgQW4g
ZXhhbXBsZSBmb3Igc3VjaCBjbGllbnQgaXMgYSBVSSBmb3IgYSB2aWRlby1vbi1kZW1hbmQgc2Vy
dmljZSBvbiBhIFRWLiBUaGUgZW50aXJlIGNvbnRlbnQgYW5kDQogICAgVUkgY2FuIGJlIGtlcHQg
b24gdGhlIHNlcnZlciwgc2VydmVkIGR5bmFtaWNhbGx5IHRocm91Z2ggSFRUUCBhbmQgcmVuZGVy
ZWQgd2l0aCBXZWJraXQsIHdpdGggYWRkaXRpb25hbA0KICAgIG5hdGl2ZSBjb21wb25lbnRzIGZv
ciBhY2Nlc3NpbmcgaGFyZHdhcmUtc3BlY2lmaWMgZmVhdHVyZXMgbGlrZSBleHRyYWN0aW5nIHRo
ZSBsaXN0IG9mIGltYWdlcw0KICAgIG91dCBvZiB0aGUgdmlkZW8uDQoNCiAgICBcc2VjdGlvbjIg
RGlmZmVyZW5jZSBmcm9tIE90aGVyIEJyaWRnZSBUZWNobm9sb2dpZXMNCg0KICAgIE9mIGNvdXJz
ZSBRdFdlYmtpdCBpcyBub3QgdGhlIG9ubHkgYnJpZGdlIHRlY2hub2xvZ3kgb3V0IHRoZXJlLiBO
UEFQSSwgZm9yIGV4YW1wbGUsDQogICAgaXMgYSBsb25nLXRpbWUgc3RhbmRhcmQgb3Igd2ViLW5h
dGl2ZSBicmlkZ2luZy4gRHVlIHRvIFF0J3MgbWV0YS1vYmplY3Qgc3lzdGVtLCBmdWxsIGFwcGxp
Y2F0aW9ucw0KICAgIGJ1aWx0IHBhcnRpYWxseSB3aXRoIHdlYi10ZWNobm9sb2dpZXMgYXJlIG11
Y2ggZWFzaWVyIHRvIGRldmVsb3AuIE5QQVBJLCBob3dldmVyLCBpcyBtb3JlIGdlYXJlZA0KICAg
IHRvd2FyZHMgY3Jvc3MtYnJvd3NlciBwbHVnaW5zLCBkdWUgdG8gaXQgYmVpbmcgYW4gYWNjZXB0
ZWQgc3RhbmRhcmQuDQoNCiAgICBXaGVuIGRldmVsb3BpbmcgYSBwbHVnaW4gZm9yIGEgYnJvd3Nl
ciwgTlBBUEkgaXMgcmVjb21tZW5kZWQuIFdoZW4gZGV2ZWxvcGluZyBhIGZ1bGwgYXBwbGljYXRp
b24NCiAgICB0aGF0IHV0aWxpemVzIEhUTUwtcmVuZGVyaW5nLCB0aGUgUXRXZWJraXQgYnJpZGdl
IGlzIHJlY29tbWVuZGVkLg0KDQogICAgXHNlY3Rpb24yIFJlbGF0aW9uc2hpcCB3aXRoIFF0U2Ny
aXB0DQoNCiAgICBUaGUgUXRXZWJraXQgYnJpZGdlIGlzIHNpbWlsYXIgdG8gXGx7UXRTY3JpcHR9
LCBlc3BlY2lhbGx5IHRvIHNvbWUgb2YgdGhlIGZlYXR1cmVzIGRlc2NyaWJlZCBpbiB0aGUNCiAg
ICBcbHtzY3JpcHRpbmd9IHBhZ2UuIEhvd2V2ZXIsIGFzIG9mIFF0IDQuNywgZnVsbCBRdFNjcmlw
dCBBUEkgaXMgbm90IHN1cHBvcnRlZCBmb3Igd2ViIGFwcGxpY2F0aW9ucy4NCiAgICBUaGF0IGlz
IHBsYW5uZWQgYXMgYW4gZW5oYW5jZW1lbnQgZm9yIGZ1dHVyZSB2ZXJzaW9ucy4gWW91IG1pZ2h0
IG5vdGljZSB0aGF0IHNvbWUgb2YgdGhlIGZlYXR1cmVzDQogICAgZGVzY3JpYmVkIGhlcmUgYXJl
IGFuIGV4YWN0IGNvcHkgb2YgdGhlIG9uZXMgZGVzY3JpYmVkIGluIHRoZSBcbHtzY3JpcHRpbmd9
IHBhZ2UuIFRoYXQgaXMgYmVjYXVzZQ0KICAgIHRoZSBRdFdlYmtpdCBicmlkZ2UgaXMgYSBzdWJz
ZXQgb2YgdGhhdCBmdW5jdGlvbmFsaXR5LCBhbmQgdGhpcyBwYWdlIHRyaWVzIHRvIGNhcHR1cmUg
dGhlIGZ1bGwNCiAgICBjYXBhYmlsaXRpZXMgYXZhaWxhYmxlIHRocm91Z2ggdGhlIFF0V2Via2l0
IGJyaWRnZSBzcGVjaWZpY2FsbHkuDQoNCiAgICBcc2VjdGlvbjEgQWNjZXNzaW5nIFFPYmplY3Rz
DQoNCiAgICBcc2VjdGlvbjIgQ3JlYXRpbmcgdGhlIGxpbmsgdmlhIFFXZWJGcmFtZQ0KDQogICAg
QnkgZGVmYXVsdCwgbm8gUU9iamVjdHMgYXJlIGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgd2ViIGVu
dmlyb25tZW50LCBmb3Igc2VjdXJpdHkgcmVhc29ucy4NCiAgICBUbyBlbmFibGUgd2ViIGNvbnRl
bnQgYWNjZXNzIHRvIGEgbmF0aXZlIFFPYmplY3QsIHRoZSBhcHBsaWNhdGlvbiBoYXMgdG8gZXhw
bGljaXRseSBncmFudCBpdCBhY2Nlc3MsDQogICAgdXNpbmcgdGhlIGZvbGxvd2luZyBjYWxsOg0K
DQogICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXQuY3Bw
IDANCg0KICAgIFNlZSBcbHtRV2ViRnJhbWU6OmFkZFRvSmF2YVNjcmlwdFdpbmRvd09iamVjdH0g
Zm9yIG1vcmUgaW5mb3JtYXRpb24uDQoNCiAgICBcc2VjdGlvbjIgVXNpbmcgU2lnbmFscyBhbmQg
U2xvdHMNCg0KICAgIFF0IFNjcmlwdCBhZGFwdHMgUXQncyBjZW50cmFsIFxse1NpZ25hbHMgYW5k
IFNsb3RzfSBmZWF0dXJlIGZvcg0KICAgIHNjcmlwdGluZy4gVGhlcmUgYXJlIHRocmVlIHByaW5j
aXBhbCB3YXlzIHRvIHVzZSBzaWduYWxzIGFuZCBzbG90cw0KICAgIHdpdGggUXQgU2NyaXB0Og0K
DQogICAgXGxpc3QNCiAgICBcaSBcYm9sZHtIeWJyaWQgQysrL3NjcmlwdH06IEMrKyBhcHBsaWNh
dGlvbiBjb2RlIGNvbm5lY3RzIGENCiAgICBzaWduYWwgdG8gYSBzY3JpcHQgZnVuY3Rpb24uIFRo
ZSBzY3JpcHQgZnVuY3Rpb24gY2FuLCBmb3IgZXhhbXBsZSwgYmUNCiAgICBhIGZ1bmN0aW9uIHRo
YXQgdGhlIHVzZXIgaGFzIHR5cGVkIGluLCBvciBvbmUgdGhhdCB5b3UgaGF2ZSByZWFkIGZyb20g
YQ0KICAgIGZpbGUuIFRoaXMgYXBwcm9hY2ggaXMgdXNlZnVsIGlmIHlvdSBoYXZlIGEgUU9iamVj
dCBidXQgZG9uJ3Qgd2FudA0KICAgIHRvIGV4cG9zZSB0aGUgb2JqZWN0IGl0c2VsZiB0byB0aGUg
c2NyaXB0aW5nIGVudmlyb25tZW50OyB5b3UganVzdA0KICAgIHdhbnQgYSBzY3JpcHQgdG8gYmUg
YWJsZSB0byBkZWZpbmUgaG93IGEgc2lnbmFsIHNob3VsZCBiZSByZWFjdGVkDQogICAgdG8sIGFu
ZCBsZWF2ZSBpdCB1cCB0byB0aGUgQysrIHNpZGUgb2YgeW91ciBhcHBsaWNhdGlvbiB0byBlc3Rh
Ymxpc2gNCiAgICB0aGUgY29ubmVjdGlvbi4NCg0KICAgIFxpIFxib2xke0h5YnJpZCBzY3JpcHQv
QysrfTogQSBzY3JpcHQgY2FuIGNvbm5lY3Qgc2lnbmFscyBhbmQgc2xvdHMNCiAgICB0byBlc3Rh
Ymxpc2ggY29ubmVjdGlvbnMgYmV0d2VlbiBwcmUtZGVmaW5lZCBvYmplY3RzIHRoYXQgdGhlDQog
ICAgYXBwbGljYXRpb24gZXhwb3NlcyB0byB0aGUgc2NyaXB0aW5nIGVudmlyb25tZW50LiBJbiB0
aGlzIHNjZW5hcmlvLA0KICAgIHRoZSBzbG90cyB0aGVtc2VsdmVzIGFyZSBzdGlsbCB3cml0dGVu
IGluIEMrKywgYnV0IHRoZSBkZWZpbml0aW9uIG9mDQogICAgdGhlIGNvbm5lY3Rpb25zIGlzIGZ1
bGx5IGR5bmFtaWMgKHNjcmlwdC1kZWZpbmVkKS4NCg0KICAgIFxpIFxib2xke1B1cmVseSBzY3Jp
cHQtZGVmaW5lZH06IEEgc2NyaXB0IGNhbiBib3RoIGRlZmluZSBzaWduYWwNCiAgICBoYW5kbGVy
IGZ1bmN0aW9ucyAoZWZmZWN0aXZlbHkgInNsb3RzIHdyaXR0ZW4gaW4gUXQgU2NyaXB0IiksDQog
ICAgXGV7YW5kfSBzZXQgdXAgdGhlIGNvbm5lY3Rpb25zIHRoYXQgdXRpbGl6ZSB0aG9zZSBoYW5k
bGVycy4gRm9yDQogICAgZXhhbXBsZSwgYSBzY3JpcHQgY2FuIGRlZmluZSBhIGZ1bmN0aW9uIHRo
YXQgd2lsbCBoYW5kbGUgdGhlDQogICAgUUxpbmVFZGl0OjpyZXR1cm5QcmVzc2VkKCkgc2lnbmFs
LCBhbmQgdGhlbiBjb25uZWN0IHRoYXQgc2lnbmFsIHRvIHRoZQ0KICAgIHNjcmlwdCBmdW5jdGlv
bi4NCiAgICBcZW5kbGlzdA0KDQogICAgTm90ZSB0aGF0IFF0U2NyaXB0IGZ1bmN0aW9ucyBzdWNo
IGFzIHFTY3JpcHRDb25uZWN0IGFyZSB1bmF2aWxhYmxlIGluIHRoZSB3ZWIgZW52aXJvbm1lbnQu
DQoNCiAgICBcc2VjdGlvbjMgU2lnbmFsIHRvIEZ1bmN0aW9uIENvbm5lY3Rpb25zDQoNCiAgICBc
Y3tjb25uZWN0KGZ1bmN0aW9uKX0NCg0KICAgIEluIHRoaXMgZm9ybSBvZiBjb25uZWN0aW9uLCB0
aGUgYXJndW1lbnQgdG8gXGN7Y29ubmVjdCgpfSBpcyB0aGUNCiAgICBmdW5jdGlvbiB0byBjb25u
ZWN0IHRvIHRoZSBzaWduYWwuDQoNCiAgICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUv
ZG9jX3NyY19xdHNjcmlwdC5xZG9jIDINCg0KICAgIFRoZSBhcmd1bWVudCBjYW4gYmUgYSBRdCBT
Y3JpcHQgZnVuY3Rpb24sIGFzIGluIHRoZSBhYm92ZQ0KICAgIGV4YW1wbGUsIG9yIGl0IGNhbiBi
ZSBhIFFPYmplY3Qgc2xvdCwgYXMgaW4NCiAgICB0aGUgZm9sbG93aW5nIGV4YW1wbGU6DQoNCiAg
ICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDMN
Cg0KICAgIFdoZW4gdGhlIGFyZ3VtZW50IGlzIGEgUU9iamVjdCBzbG90LCB0aGUgYXJndW1lbnQg
dHlwZXMgb2YgdGhlDQogICAgc2lnbmFsIGFuZCBzbG90IGRvIG5vdCBuZWNlc3NhcmlseSBoYXZl
IHRvIGJlIGNvbXBhdGlibGU7DQogICAgdGhlIFF0V2Via2l0IGJyaWRnZSB3aWxsLCBpZiBuZWNl
c3NhcnksIHBlcmZvcm0gY29udmVyc2lvbiBvZiB0aGUgc2lnbmFsDQogICAgYXJndW1lbnRzIHRv
IG1hdGNoIHRoZSBhcmd1bWVudCB0eXBlcyBvZiB0aGUgc2xvdC4NCg0KICAgIFRvIGRpc2Nvbm5l
Y3QgZnJvbSBhIHNpZ25hbCwgeW91IGludm9rZSB0aGUgc2lnbmFsJ3MNCiAgICBcY3tkaXNjb25u
ZWN0KCl9IGZ1bmN0aW9uLCBwYXNzaW5nIHRoZSBmdW5jdGlvbiB0byBkaXNjb25uZWN0DQogICAg
YXMgYXJndW1lbnQ6DQoNCiAgICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvZG9jX3Ny
Y19xdHNjcmlwdC5xZG9jIDQNCg0KICAgIFdoZW4gYSBzY3JpcHQgZnVuY3Rpb24gaXMgaW52b2tl
ZCBpbiByZXNwb25zZSB0byBhIHNpZ25hbCwgdGhlDQogICAgXGMgdGhpcyBvYmplY3Qgd2lsbCBi
ZSB0aGUgR2xvYmFsIE9iamVjdC4NCg0KICAgIFxzZWN0aW9uMyBTaWduYWwgdG8gTWVtYmVyIEZ1
bmN0aW9uIENvbm5lY3Rpb25zDQoNCiAgICBcY3tjb25uZWN0KHRoaXNPYmplY3QsIGZ1bmN0aW9u
KX0NCg0KICAgIEluIHRoaXMgZm9ybSBvZiB0aGUgXGN7Y29ubmVjdCgpfSBmdW5jdGlvbiwgdGhl
IGZpcnN0IGFyZ3VtZW50DQogICAgaXMgdGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgYm91bmQgdG8g
dGhlIHZhcmlhYmxlLCBcYyB0aGlzLCB3aGVuDQogICAgdGhlIGZ1bmN0aW9uIHNwZWNpZmllZCB1
c2luZyB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIGludm9rZWQuDQoNCiAgICBJZiB5b3UgaGF2ZSBh
IHB1c2ggYnV0dG9uIGluIGEgZm9ybSwgeW91IHR5cGljYWxseSB3YW50IHRvIGRvDQogICAgc29t
ZXRoaW5nIGludm9sdmluZyB0aGUgZm9ybSBpbiByZXNwb25zZSB0byB0aGUgYnV0dG9uJ3MNCiAg
ICBcY3tjbGlja2VkfSBzaWduYWw7IHBhc3NpbmcgdGhlIGZvcm0gYXMgdGhlIFxjIHRoaXMgb2Jq
ZWN0DQogICAgbWFrZXMgc2Vuc2UgaW4gc3VjaCBhIGNhc2UuDQoNCiAgICBcc25pcHBldCBkb2Mv
c3JjL3NuaXBwZXRzL2NvZGUvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDUNCg0KICAgIFRvIGRpc2Nv
bm5lY3QgZnJvbSB0aGUgc2lnbmFsLCBwYXNzIHRoZSBzYW1lIGFyZ3VtZW50cyB0byBcY3tkaXNj
b25uZWN0KCl9Og0KDQogICAgXHNuaXBwZXQgZG9jL3NyYy9zbmlwcGV0cy9jb2RlL2RvY19zcmNf
cXRzY3JpcHQucWRvYyA2DQoNCiAgICBcc2VjdGlvbjMgU2lnbmFsIHRvIE5hbWVkIE1lbWJlciBG
dW5jdGlvbiBDb25uZWN0aW9ucw0KDQogICAgXGN7Y29ubmVjdCh0aGlzT2JqZWN0LCBmdW5jdGlv
bk5hbWUpfQ0KDQogICAgSW4gdGhpcyBmb3JtIG9mIHRoZSBcY3tjb25uZWN0KCl9IGZ1bmN0aW9u
LCB0aGUgZmlyc3QgYXJndW1lbnQgaXMNCiAgICB0aGUgb2JqZWN0IHRoYXQgd2lsbCBiZSBib3Vu
ZCB0byB0aGUgdmFyaWFibGUsIFxjIHRoaXMsIHdoZW4NCiAgICBhIGZ1bmN0aW9uIGlzIGludm9r
ZWQgaW4gcmVzcG9uc2UgdG8gdGhlIHNpZ25hbC4gVGhlIHNlY29uZCBhcmd1bWVudA0KICAgIHNw
ZWNpZmllcyB0aGUgbmFtZSBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBz
aWduYWwsDQogICAgYW5kIHRoaXMgcmVmZXJzIHRvIGEgbWVtYmVyIGZ1bmN0aW9uIG9mIHRoZSBv
YmplY3QgcGFzc2VkIGFzIHRoZQ0KICAgIGZpcnN0IGFyZ3VtZW50IChcYyB0aGlzT2JqZWN0IGlu
IHRoZSBhYm92ZSBzY2hlbWUpLg0KDQogICAgTm90ZSB0aGF0IHRoZSBmdW5jdGlvbiBpcyByZXNv
bHZlZCB3aGVuIHRoZSBjb25uZWN0aW9uIGlzIG1hZGUsIG5vdA0KICAgIHdoZW4gdGhlIHNpZ25h
bCBpcyBlbWl0dGVkLg0KDQogICAgXHNuaXBwZXQgZG9jL3NyYy9zbmlwcGV0cy9jb2RlL2RvY19z
cmNfcXRzY3JpcHQucWRvYyA3DQoNCiAgICBUbyBkaXNjb25uZWN0IGZyb20gdGhlIHNpZ25hbCwg
cGFzcyB0aGUgc2FtZSBhcmd1bWVudHMgdG8gXGN7ZGlzY29ubmVjdCgpfToNCg0KICAgIFxzbmlw
cGV0IGRvYy9zcmMvc25pcHBldHMvY29kZS9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgOA0KDQogICAg
XHNlY3Rpb24zIEVycm9yIEhhbmRsaW5nDQoNCiAgICBXaGVuIFxje2Nvbm5lY3QoKX0gb3IgXGN7
ZGlzY29ubmVjdCgpfSBzdWNjZWVkcywgdGhlIGZ1bmN0aW9uIHdpbGwNCiAgICByZXR1cm4gXGN7
dW5kZWZpbmVkfTsgb3RoZXJ3aXNlLCBpdCB3aWxsIHRocm93IGEgc2NyaXB0IGV4Y2VwdGlvbi4N
CiAgICBZb3UgY2FuIG9idGFpbiBhbiBlcnJvciBtZXNzYWdlIGZyb20gdGhlIHJlc3VsdGluZyBc
Y3tFcnJvcn0gb2JqZWN0Lg0KICAgIEV4YW1wbGU6DQoNCiAgICBcc25pcHBldCBkb2Mvc3JjL3Nu
aXBwZXRzL2NvZGUvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDkNCg0KICAgIFxzZWN0aW9uMyBFbWl0
dGluZyBTaWduYWxzIGZyb20gU2NyaXB0cw0KDQogICAgVG8gZW1pdCBhIHNpZ25hbCBmcm9tIHNj
cmlwdCBjb2RlLCB5b3Ugc2ltcGx5IGludm9rZSB0aGUgc2lnbmFsDQogICAgZnVuY3Rpb24sIHBh
c3NpbmcgdGhlIHJlbGV2YW50IGFyZ3VtZW50czoNCg0KICAgIFxzbmlwcGV0IGRvYy9zcmMvc25p
cHBldHMvY29kZS9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMTANCg0KICAgIEl0IGlzIGN1cnJlbnRs
eSBub3QgcG9zc2libGUgdG8gZGVmaW5lIGEgbmV3IHNpZ25hbCBpbiBhIHNjcmlwdDsNCiAgICBp
LmUuLCBhbGwgc2lnbmFscyBtdXN0IGJlIGRlZmluZWQgYnkgQysrIGNsYXNzZXMuDQoNCiAgICBc
c2VjdGlvbjMgT3ZlcmxvYWRlZCBTaWduYWxzIGFuZCBTbG90cw0KDQogICAgV2hlbiBhIHNpZ25h
bCBvciBzbG90IGlzIG92ZXJsb2FkZWQsIHRoZSBRdFdlYmtpdCBicmlkZ2Ugd2lsbCBhdHRlbXB0
IHRvDQogICAgcGljayB0aGUgcmlnaHQgb3ZlcmxvYWQgYmFzZWQgb24gdGhlIGFjdHVhbCB0eXBl
cyBvZiB0aGUgUVNjcmlwdFZhbHVlIGFyZ3VtZW50cw0KICAgIGludm9sdmVkIGluIHRoZSBmdW5j
dGlvbiBpbnZvY2F0aW9uLiBGb3IgZXhhbXBsZSwgaWYgeW91ciBjbGFzcyBoYXMgc2xvdHMNCiAg
ICBcY3tteU92ZXJsb2FkZWRTbG90KGludCl9IGFuZCBcY3tteU92ZXJsb2FkZWRTbG90KFFTdHJp
bmcpfSwgdGhlIGZvbGxvd2luZw0KICAgIHNjcmlwdCBjb2RlIHdpbGwgYmVoYXZlIHJlYXNvbmFi
bHk6DQoNCiAgICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvZG9jX3NyY19xdHNjcmlw
dC5xZG9jIDExDQoNCiAgICBZb3UgY2FuIHNwZWNpZnkgYSBwYXJ0aWN1bGFyIG92ZXJsb2FkIGJ5
IHVzaW5nIGFycmF5LXN0eWxlIHByb3BlcnR5IGFjY2Vzcw0KICAgIHdpdGggdGhlIFxse1FNZXRh
T2JqZWN0Ojpub3JtYWxpemVkU2lnbmF0dXJlKCl9e25vcm1hbGl6ZWQgc2lnbmF0dXJlfSBvZg0K
ICAgIHRoZSBDKysgZnVuY3Rpb24gYXMgdGhlIHByb3BlcnR5IG5hbWU6DQoNCiAgICBcc25pcHBl
dCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDEyDQoNCiAgICBJ
ZiB0aGUgb3ZlcmxvYWRzIGhhdmUgZGlmZmVyZW50IG51bWJlciBvZiBhcmd1bWVudHMsIHRoZSBR
dFdlYmtpdCBicmlkZ2Ugd2lsbA0KICAgIHBpY2sgdGhlIG92ZXJsb2FkIHdpdGggdGhlIGFyZ3Vt
ZW50IGNvdW50IHRoYXQgYmVzdCBtYXRjaGVzIHRoZQ0KICAgIGFjdHVhbCBudW1iZXIgb2YgYXJn
dW1lbnRzIHBhc3NlZCB0byB0aGUgc2xvdC4NCg0KICAgIEZvciBvdmVybG9hZGVkIHNpZ25hbHMs
IEphdmFzY3JpcHQgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB5b3UgdHJ5IHRvIGNvbm5lY3QNCiAg
ICB0byB0aGUgc2lnbmFsIGJ5IG5hbWU7IHlvdSBoYXZlIHRvIHJlZmVyIHRvIHRoZSBzaWduYWwg
d2l0aCB0aGUgZnVsbA0KICAgIG5vcm1hbGl6ZWQgc2lnbmF0dXJlIG9mIHRoZSBwYXJ0aWN1bGFy
IG92ZXJsb2FkIHlvdSB3YW50IHRvIGNvbm5lY3QgdG8uDQoNCiAgICBcc2VjdGlvbjMgSW52b2th
YmxlIE1ldGhvZHMNCg0KICAgIEJvdGggc2xvdHMgYW5kIHNpZ25hbHMgYXJlIGludm9rYWJsZSBm
cm9tIHNjcmlwdCBieSBkZWZhdWx0LiBJbiBhZGRpdGlvbiwgaXQncyBhbHNvDQogICAgcG9zc2li
bGUgdG8gZGVmaW5lIGEgbWV0aG9kIHRoYXQncyBpbnZva2FibGUgZnJvbSBzY3JpcHQgd2l0aG91
dCBpdCBiZWluZyBhIHNpZ25hbCBvciBhIHNsb3QuDQogICAgVGhpcyBpcyBlc3BlY2lhbGx5IHVz
ZWZ1bCBmb3IgZnVuY3Rpb25zIHdpdGggcmV0dXJuIHR5cGVzLCBhcyBzbG90cyBub3JtYWxseSBk
byBub3QgcmV0dXJuIGFueXRoaW5nDQogICAgKGl0IHdvdWxkIGJlIG1lYW5pbmdsZXNzIHRvIHJl
dHVybiB2YWx1ZXMgZnJvbSBhIHNsb3QsIGFzIHRoZSBjb25uZWN0ZWQgc2lnbmFscyBkb24ndCBo
YW5kbGUgdGhlIHJldHVybmVkIGRhdGEpLg0KICAgIFRvIG1ha2UgYSBub24tc2xvdCBtZXRob2Qg
aW52b2thYmxlLCBzaW1wbHkgYWRkIHRoZSBRX0lOVk9LQUJMRSBtYWNybyBiZWZvcmUgaXRzIGRl
ZmluaXRpb246DQoNCiAgICBcc25pcHBldCBtaXNzaW5nDQoNCiAgICBcc2VjdGlvbjIgQWNjZXNz
aW5nIFByb3BlcnRpZXMNCg0KICAgIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBRT2JqZWN0IGFyZSBh
dmFpbGFibGUgYXMgcHJvcGVydGllcw0KICAgIG9mIHRoZSBjb3JyZXNwb25kaW5nIEphdmFzY3Jp
cHQgb2JqZWN0LiBXaGVuIHlvdSBtYW5pcHVsYXRlDQogICAgYSBwcm9wZXJ0eSBpbiBzY3JpcHQg
Y29kZSwgdGhlIEMrKyBnZXQvc2V0IG1ldGhvZCBmb3IgdGhhdA0KICAgIHByb3BlcnR5IHdpbGwg
YXV0b21hdGljYWxseSBiZSBpbnZva2VkLiBGb3IgZXhhbXBsZSwgaWYgeW91cg0KICAgIEMrKyBj
bGFzcyBoYXMgYSBwcm9wZXJ0eSBkZWNsYXJlZCBhcyBmb2xsb3dzOg0KDQogICAgXHNuaXBwZXQg
ZG9jL3NyYy9zbmlwcGV0cy9jb2RlL2RvY19zcmNfcXRzY3JpcHQucWRvYyAxMw0KDQogICAgdGhl
biBzY3JpcHQgY29kZSBjYW4gZG8gdGhpbmdzIGxpa2UgdGhlIGZvbGxvd2luZzoNCg0KICAgIFxz
bmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29kZS9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMTQNCg0K
ICAgIFxzZWN0aW9uMiBBY2Nlc3NpbmcgQ2hpbGQgUU9iamVjdHMNCg0KICAgIEV2ZXJ5IG5hbWVk
IGNoaWxkIG9mIHRoZSBRT2JqZWN0ICh0aGF0IGlzLCBmb3Igd2hpY2gNCiAgICBRT2JqZWN0Ojpv
YmplY3ROYW1lKCkgaXMgbm90IGFuIGVtcHR5IHN0cmluZykgaXMgYnkgZGVmYXVsdCBhdmFpbGFi
bGUgYXMNCiAgICBhIHByb3BlcnR5IG9mIHRoZSBKYXZhc2NyaXB0IHdyYXBwZXIgb2JqZWN0LiBG
b3IgZXhhbXBsZSwNCiAgICBpZiB5b3UgaGF2ZSBhIFFEaWFsb2cgd2l0aCBhIGNoaWxkIHdpZGdl
dCB3aG9zZSBcY3tvYmplY3ROYW1lfSBwcm9wZXJ0eSBpcw0KICAgIFxjeyJva0J1dHRvbiJ9LCB5
b3UgY2FuIGFjY2VzcyB0aGlzIG9iamVjdCBpbiBzY3JpcHQgY29kZSB0aHJvdWdoDQogICAgdGhl
IGV4cHJlc3Npb24NCg0KICAgIFxzbmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29kZS9kb2Nfc3Jj
X3F0c2NyaXB0LnFkb2MgMTUNCg0KICAgIFNpbmNlIFxje29iamVjdE5hbWV9IGlzIGl0c2VsZiBh
IFFfUFJPUEVSVFksIHlvdSBjYW4gbWFuaXB1bGF0ZQ0KICAgIHRoZSBuYW1lIGluIHNjcmlwdCBj
b2RlIHRvLCBmb3IgZXhhbXBsZSwgcmVuYW1lIGFuIG9iamVjdDoNCg0KICAgIFxzbmlwcGV0IGRv
Yy9zcmMvc25pcHBldHMvY29kZS9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMTYNCg0KICAgIFxzZWN0
aW9uMiBEYXRhIHR5cGVzDQoNCiAgICBXaGVuIGNhbGxpbmcgc2xvdHMsIHJlY2VpdmluZyBzaWdu
YWxzIG9yIGFjY2Vzc2luZyBwcm9wZXJ0aWVzLCB1c3VhbGx5IHNvbWUgcGF5bG9hZCBpcyBpbnZv
bHZlZC4NCiAgICBGb3IgZXhhbXBsZSwgYSBwcm9wZXJ0eSAidGV4dCIgbWlnaHQgcmV0dXJuIGEg
XGx7UVN0cmluZ30gcGFyYW1ldGVyLg0KICAgIFRoZSBRdFdlYmtpdCBicmlkZ2UgZG9lcyB0aGUg
am9iIG9mIGNvbnZlcnRpbmcgYmV0d2VlbiBhIGdpdmVuIEphdmFzY3JpcHQgZGF0YS10eXBlLCBh
bmQgdGhlDQogICAgZXhwZWN0ZWQgb3IgZ2l2ZW4gUXQgdHlwZS4gRWFjaCBRdCB0eXBlIGhhcyBh
IGNvcmVzcG9uZGluZyBzZXQgb2YgcnVsZXMgb2YgaG93IEphdmFzY3JpcHQgdHJlYXRzIGl0Lg0K
DQogICAgVGhlIGRhdGEgdHlwZSBjb252ZXJzaW9ucyBhcmUgYWxzbyBhcHBsaWNhYmxlIGZvciB0
aGUgZGF0YSByZXR1cm5lZCBmcm9tIG5vbi12b2lkIGludm9rYWJsZSBtZXRob2RzLg0KDQogICAg
XHNlY3Rpb24zIE51bWJlcnMNCg0KICAgIEFsbCBRdCBudW1lcmljIGRhdGEgdHlwZXMgYXJlIGNv
bnZlcnRlZCB0byBvciBmcm9tIGEgSmF2YXNjcmlwdCBudW1iZXIuIFRoZXNlIGluY2x1ZGUgaW50
LCBzaG9ydCwgZmxvYXQsDQogICAgZG91YmxlLCBhbmQgdGhlIHBvcmFibGUgUXQgdHlwZXMgKHFy
ZWFsLCBxaW50IGV0YykuIEEgc3BlY2lhbCBjYXNlIGlzIFxse1FDaGFyfTsNCiAgICBJZiBhIHNs
b3QgZXhwZWN0cyBhIFFDaGFyLCB0aGUgUXRXZWJraXQgYnJpZGdlIHdvdWxkIHVzZSB0aGUgdW5p
Y29kZSB2YWx1ZSBpbiBjYXNlIG9mIGEgbnVtYmVyLA0KICAgIG9yIHRoZSBmaXJzdCBjaGFyYWN0
ZXIgaW4gYSBzdHJpbmcuDQoNCiAgICBOb3RlIHRoYXQgbm9uLXN0YW5kYXJkICh0eXBlZGVmZWQp
IG51bWJlciB0eXBlcyBhcmUgbm90IGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvDQogICAgb3Ig
ZnJvbSBhIEphdmFzY3JpcHQgbnVtYmVyIC0gaXQncyBhZHZpc2VkIHRvIHVzZSBzdGFuZGFyZCBu
dW1iZXIgdHlwZXMgZm9yIHNpZ25hbCwgc2xvdHMNCiAgICBhbmQgcHJvcGVydGllcy4NCg0KICAg
IFdoZW4gYSBub24tbnVtYmVyIGlzIHBhc3NlZCBhcyBhbiBhcmd1bWVudCB0byBhIG1ldGhvZCBv
ciBwcm9wZXJ0eSB0aGF0IGV4cGVjdHMgYSBudW1iZXIsDQogICAgdGhlIGFwcHJvcHJpYXRlIEph
dmFzY3JpcHQgY29udmVyc2lvbiBmdW5jdGlvbiAocGFyc2VJbnQgLyBwYXJzZUZsb2F0KSB3b3Vs
ZCBiZSB1c2VkLg0KDQogICAgXHNlY3Rpb24zIFN0cmluZ3MNCg0KICAgIFdoZW4gSmF2YXNjcmlw
dCBhY2Nlc3NlcyBtZXRob2RzIG9yIHByb3BlcnRpZXMgdGhhdCBleHBlY3QgYSBcbHtRU3RyaW5n
fSwgdGhlIFF0V2Via2l0IGJyaWRnZQ0KICAgIHdpbGwgYXV0b21hdGljYWxseSBjb252ZXJ0IHRo
ZSB2YWx1ZSB0byBhIHN0cmluZyAoaWYgaXQncyBub3QgYWxyZWFkeSBhIHN0cmluZyksIHVzaW5n
IHRoZQ0KICAgIGJ1aWx0LWluIEphdmFzY3JpcHQgdG9TdHJpbmcgbWV0aG9kLg0KDQogICAgV2hl
biBhIFFTdHJpbmcgaXMgcGFzc2VkIHRvIEphdmFzY3JpcHQgZnJvbSBhIHNpZ25hbCBvciBhIHBy
b3BlcnR5LCBUaGUgUXRXZWJraXQgYnJpZGdlIHdpbGwNCiAgICBjb252ZXJ0IGl0IGludG8gYSBK
YXZhc2NyaXB0IHN0cmluZy4NCg0KICAgIFxzZWN0aW9uMyBEYXRlICYgVGltZQ0KDQogICAgQm90
aCBcbHtRRGF0ZX0sIFxse1FUaW1lfSBhbmQgXGx7UURhdGVUaW1lfSBhcmUgYXV0b21hdGljYWxs
eSB0cmFuc2xhdGVkIHRvIG9yIGZyb20gdGhlIEphdmFzY3JpcHQNCiAgICBEYXRlIG9iamVjdC4g
SWYgYSBudW1iZXIgaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IHRvIGEgbWV0aG9kIHRoYXQgZXhw
ZWN0cyBvbmUgb2YgdGhlIGRhdGUvdGltZQ0KICAgIHR5cGVzLCB0aGUgUXRXZWJraXQgYnJpZGdl
IHdvdWxkIHRyZWF0IGl0IGFzIGEgdGltZXN0YW1wLiBJZiBhIHN0aW5nIGlzIHBhc3NlZCwgUXRX
ZWJraXQgd291bGQNCiAgICB0cnkgZGlmZmVyZW50IFF0IGRhdGUgcGFyc2luZyBmdW5jdGlvbnMg
dG8gZmluZCB0aGUgcmlnaHQgb25lLg0KDQogICAgXHNlY3Rpb24zIFJlZ3VsYXIgRXhwcmVzc2lv
bnMNCg0KICAgIFRoZSBRdFdlYmtpdCBicmlkZ2Ugd291bGQgYXV0b21hdGljYWxseSBjb252ZXJ0
IEphdmFzY3JpcHQgUmVnRXggb2JqZWN0IHRvIGEgXGx7UVJlZ0V4cH0uDQogICAgSWYgYSBzdHJp
bmcgaXMgcGFzc2VkIHRvIGEgbWV0aG9kIGV4cGVjdGluZyBhIFxse1FSZWdFeHB9LCB0aGUgc3Ry
aW5nIHdvdWxkIGJlIGNvbnZlcnRlZA0KICAgIHRvIHRoYXQgXGx7UVJlZ0V4cH0uDQoNCiAgICBc
c2VjdGlvbjMgTGlzdHMNCg0KICAgIFRoZSBRdFdlYmtpdCBicmlkZ2UgdHJlYXRzIHNldmVyYWwg
dHlwZXMgb2YgbGlzdHMgaW4gYSBzcGVjaWFsIHdheTogXGx7UVZhcmlhbnRMaXN0fSwgXGx7UVN0
cmluZ0xpc3R9LA0KICAgIFxse1FPYmplY3RMaXN0fSBhbmQgXGx7UUxpc3Q8aW50Pn0uIFdoZW4g
YSBzbG90IG9yIHByb3BlcnR5IGV4cGVjdHMgb25lIG9mIHRob3NlIGxpc3QgdHlwZXMsDQogICAg
dGhlIFF0V2Via2l0IGJyaWRnZSB3b3VsZCB0cnkgdG8gY29udmVydCBhIEphdmFzY3JpcHQgYXJy
YXkgaW50byB0aGF0IHR5cGUsIGNvbnZlcnRpbmcgZWFjaCBvZg0KICAgIHRoZSBhcnJheSdzIGVs
ZW1lbnRzIHRvIHRoZSBzaW5nbGUtZWxlbWVudCB0eXBlIG9mIHRoZSBsaXN0Lg0KDQogICAgVGhl
IG1vc3QgdXNlZnVsIHR5cGUgb2YgbGlzdCBpcyBwZXJoYXBzIFxse1FWYXJpYW50TGlzdH0sIHdo
aWNoIGNhbiBiZSBjb252ZXJ0ZWQgdG8gZnJvbSBhbnkNCiAgICBKYXZhc2NyaXB0IGFycmF5Lg0K
DQogICAgXHNlY3Rpb24zIENvbXBvdW5kIChKU09OKSBvYmplY3RzDQoNCiAgICBKYXZhc2NyaXB0
IGNvbXBvdW5kIG9iamVjdHMsIGFsc28ga25vd24gYXMgSlNPTiBvYmplY3RzLCBhcmUgdmFyaWFi
bGVzIHdoaWNoIGhvbGQgYSBsaXN0DQogICAgb2Yga2V5LXZhbHVlIHBhaXJzLCB3aGVyZSBhbGwg
dGhlIGtleXMgYXJlIHN0cmluZ3MgYW5kIHRoZSB2YWx1ZXMgY2FuIGhhdmUgYW55IHR5cGUuDQog
ICAgVGhpcyB0cmFuc2xhdGVzIHZlcnkgd2VsbCB0byBcbHtRVmFyaWFudE1hcH0sIHdoaWNoIGlz
IG5vdGhpbmcgbW9yZSB0aGFuIGEgXGx7UU1hcH0gb2YgXGx7UVN0cmluZ30NCiAgICB0byBcbHtR
VmFyaWFudH0uDQoNCiAgICBUaGUgc2VhbWxlc3MgY29udmVyc2lvbiBiZXR3ZWVuIEpTT04gb2Jq
ZWN0cyBhbmQgXGx7UVZhcmlhbnRNYXB9IGFsbG93cyBmb3IgYSB2ZXJ5IGNvbnZlbmllbnQNCiAg
ICB3YXkgb2YgcGFzc2luZyBhcmJpdHJhcnkgc3RydWN0dXJlZCBkYXRhIGJldHdlZW4gQysrIGFu
ZCB0aGUgSmF2YXNjcmlwdCBlbnZpcm9ubWVudC4gVGhlIG5hdGl2ZSBcbHtRT2JqZWN0fSBoYXMN
CiAgICB0byBtYWtlIHN1cmUgdGhhdCBjb21wb3VuZCB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byBc
bHtRVmFyaWFudE1hcH1zIGFuZCBcbHtRVmFyaWFudExpc3R9cywgYW5kIEphdmFzY3JpcHQgaXMN
CiAgICBndWFyYW50ZWVkIHRvIHJlY2VpdmUgdGhlbSBpbiBhIG1lYW5pbmdmdWwgd2F5Lg0KDQog
ICAgTm90ZSB0aGF0IHR5cGVzIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgSlNPTiwgc3VjaCBh
cyBKYXZhc2NyaXB0IGZ1bmN0aW9ucyBhbmQgZ2V0dGVycy9zZXR0ZXJzLA0KICAgIGFyZSBub3Qg
Y29udmVydGVkLg0KDQogICAgXHNlY3Rpb24zIFFWYXJpYW50cw0KDQogICAgV2hlbiBhIHNsb3Qg
b3IgcHJvcGVydHkgYWNjZXB0cyBhIFxse1FWYXJpYW50fSwgdGhlIFF0V2Via2l0IGJyaWRnZSB3
b3VsZCBjcmVhdGUgYSBcbHtRVmFyaWFudH0gdGhhdCBiZXN0DQogICAgbWF0Y2hlcyB0aGUgYXJn
dW1lbnQgcGFzc2VkIGJ5IEphdmFzY3JpcHQuIEEgc3RyaW5nLCBmb3IgZXhhbXBsZSwgd291bGQg
YmVjb21lIGEgXGx7UVZhcmlhbnR9IGhvbGRpbmcgYSBcbHtRU3RyaW5nfSwNCiAgICBhIG5vcm1h
bCBKU09OIG9iamVjdCB3b3VsZCBiZWNvbWUgYSBcbHtRVmFyaWFudE1hcH0sIGFuZCBhIEphdmFz
Y3JpcHQgYXJyYXkgd291bGQgYmVjb21lIGEgXGx7UVZhcmlhbnRMaXN0fS4NCg0KICAgIFVzaW5n
IFxse1FWYXJpYW50fXMgZ2VuZXJvdXNseSBpbiBDKysgaW4gdGhhdCB3YXkgbWFrZXMgQysrIHBy
b2dyYW1taW5nIGZlZWwgYSBiaXQgbW9yZSBsaWtlIEphdmFzY3JpcHQgcHJvZ3JhbW1pbmcsDQog
ICAgYXMgaXQgYWRkcyBhbm90aGVyIGxldmVsIG9mIGluZGlyZWN0aW9uIC0gcGFzc2luZyBcbHtR
VmFyaWFudH1zIGFyb3VuZCBpcyB2ZXJ5IGZsZXhpYmxlLCBhcyB0aGUgcHJvZ3JhbSBjYW4gZmln
dXJlIG91dA0KICAgIHRoZSB0eXBlIG9mIGFyZ3VtZW50IGluIHJ1bnRpbWUganVzdCBsaWtlIEph
dmFzY3JpcHQgd291bGQgZG8sIGJ1dCBpdCBhbHNvIHRha2VzIGF3YXkgZnJvbSB0aGUgdHlwZS1z
YWZldHkgYW5kIHJvYnVzdA0KICAgIG5hdHVyZSBvZiBDKysuIEl0J3MgcmVjb21tZW5kZWQgdG8g
dXNlIFxse1FWYXJpYW50fXMgb25seSBmb3IgY29udmVuaWVuY2UgaGlnaC1sZXZlbCBmdW5jdGlv
bnMsIGFuZCB0byBrZWVwIG1vc3Qgb2YgeW91cg0KICAgIFxse1FPYmplY3R9cyBzb21ld2hhdCB0
eXBlLXNhZmUuDQoNCiAgICBcc2VjdGlvbjMgUU9iamVjdHMNCg0KICAgIEEgcG9pbnRlciB0byBh
IFxse1FPYmplY3R9IG9yIGEgXGx7UVdpZGdldH0gY2FuIGJlIHBhc3NlZCBhcyBwYXlsb2FkIGlu
IHNpZ25hbHMsIHNsb3RzIGFuZCBwcm9wZXJ0aWVzLiBUaGF0IG9iamVjdA0KICAgIGNhbiB0aGVu
IGJlIHVzZWQgbGlrZSBhbiBvYmplY3QgdGhhdCdzIGV4cG9zZWQgZGlyZWN0bHk7IGkuZS4gaXRz
IHNsb3RzIGNhbiBiZSBpbnZva2VkLCBpdHMgc2lnbmFscyBjb25uZWN0ZWQgdG8gZXRjLg0KICAg
IEhvd2V2ZXIsIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBmYWlybHkgbGltaXRlZCAtIHRoZSB0eXBl
IHVzZWQgaGFzIHRvIGJlIFxse1FPYmplY3R9KiBvciBcbHtRV2lkZ2V0fSouIElmIHRoZSB0eXBl
DQogICAgc3BlY2lmaWVkIGlzIGEgcG9pbnRlciB0byBhIG5vbi1cbHtRV2lkZ2V0fSBzdWJjbGFz
cyBvZiBcbHtRT2JqZWN0fSwgdGhlIFF0V2Via2l0IGJyaWRnZSB3b3VsZCBub3QgcmVjb2duaXpl
IGl0IHRvIGJlDQogICAgYSBcbHtRT2JqZWN0fS4NCg0KICAgIEluIGdlbmVyYWwgaXRzIGFkdmlz
ZWQgdG8gdXNlIGNhcmUgd2hlbiBwYXNzaW5nIFxse1FPYmplY3R9cyBhcyBhcmd1bWVudHMsIGFz
IHRob3NlIG9iamVjdHMgZG9uJ3QgYmVjb21lIG93bmVkIGJ5DQogICAgdGhlIEphdmFzY2lwdCBl
bmdpbmU7IFRoYXQgbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyIGhhcyB0byBi
ZSBleHRyYSBjYXJlZnVsIG5vdCB0byB0cnkgdG8gYWNjZXNzDQogICAgXGx7UU9iamVjdH1zIHRo
YXQgaGF2ZSBhbHJlYWR5IGJlZW4gZGVsZXRlZCBieSB0aGUgbmF0aXZlIGVudmlyb25tZW50Lg0K
DQogICAgXHNlY3Rpb24zIFBpeG1hcHMgYW5kIEltYWdlcw0KDQogICAgVGhlIFF0V2Via2l0IGJy
aWRnZSBoYW5kbGVzIFxse1FQaXhtYXB9cyBhbmQgXGx7UUltYWdlfXMgaW4gYSBzcGVjaWFsIHdh
eS4gU2luY2UgUXRXZWJraXQgc3RvcmVzIFxse1FQaXhtYXB9cyB0bw0KICAgIHJlcHJlc2VudCBI
VE1MIGltYWdlcywgXGx7UVBpeG1hcH1zIGNvbWluZyBmcm9tIHRoZSBuYXRpdmUgZW52aXJvbm1l
bnQgY2FuIGJlIHVzZWQgZGlyZWN0bHkgaW5zaWRlIHdlYmtpdC4NCiAgICBBIFxse1FJbWFnZX0g
b3IgYSBcbHtRUGl4bWFwfSBjb21pbmcgZnJvbSB0aGUgUXQgZW52aXJvbm1lbnQgd291bGQgY29u
dmVydCB0byBhbiBpbnRlcm1lZGlhdGUgamF2YXNjcmlwdCBvYmplY3QsDQogICAgdGhhdCBjYW4g
YmUgcmVwcmVzZW50ZWQgbGlrZSB0aGlzOg0KDQogICAgXHNuaXBwZXQgbWlzc2luZw0KDQogICAg
ew0KICAgICAgICB3aWR0aDogLi4uLA0KICAgICAgICBoZWlnaHQ6IC4uLiwNCiAgICAgICAgdG9E
YXRhVVJMOiBmdW5jdGlvbigpIHsgLi4uIH0sDQogICAgICAgIGFzc2lnblRvSFRNTEltYWdlRWxl
bWVudDogZnVuY3Rpb24oZWxlbWVudCkgeyAuLi4gfQ0KICAgIH0NCg0KICAgIFRoZSBKYXZhc2Ny
aXB0IGVudmlyb25tZW50IGNhbiB0aGVuIHVzZSB0aGUgcGl4bWFwIGl0IGdldHMgZnJvbSBRdCBh
bmQgZGlzcGxheSBpdCBpbnNpZGUgdGhlIEhUTUwgZW52aXJvbm1lbnQsDQogICAgYnkgYXNzaWdu
aW5nIGl0IHRvIGFuIGV4aXN0aW5nIDxpbWcgLz4gZWxlbWVudCB1c2luZyBhc3NpZ25Ub0hUTUxJ
bWFnZUVsZW1lbnQuIEl0IGNhbiBhbHNvIHVzZSB0aGUgdG9EYXRhVVJMKCkgZnVuY3Rpb24sDQog
ICAgd2hpY2ggYWxsb3dzIHVzaW5nIHRoZSBwaXhtYXAgYXMgdGhlIHNyYyBhdHRyaWJ1dGUgb2Yg
YW4gaW1hZ2Ugb3IgYXMgYSBiYWNrZ3JvdW5kLWltYWdlIHVybC4gTm90ZSB0aGF0IHRoZSB0b0Rh
dGFVUkwoKQ0KICAgIGZ1bmN0aW9uIGlzIGNvc3RseSBhbmQgc2hvdWxkIGJlIHVzZWQgd2l0aCBj
YXV0aW9uLg0KDQogICAgRXhhbXBsZSBjb2RlOg0KDQogICAgXHNuaXBwZXQgbWlzc2luZw0KDQog
ICAgV2hlbiBhIFF0IG9iamVjdCBleHBlY3RzIGEgXGx7UUltYWdlfSBvciBhIFxse1FQaXhtYXB9
IGFzIGlucHV0LCBhbmQgdGhlIGFyZ3VtZW50IHBhc3NlZCBpcyBhbiBIVE1MIGltYWdlIGVsZW1l
bnQsDQogICAgdGhlIFF0V2Via2l0IGJyaWRnZSB3b3VsZCBjb252ZXJ0IHRoZSBwaXhtYXAgYXNz
aWduZWQgdG8gdGhhdCBpbWFnZSBlbGVtZW50IGludG8gYSBcbHtRUGl4bWFwfSBvciBhIFxse1FJ
bWFnZX0uDQoNCiAgICBcc2luY2UgNC43DQoNCiAgICBcc2VjdGlvbjMgUVdlYkVsZW1lbnQNCg0K
ICAgIEEgc2lnbmFsLCBzbG90IG9yIHByb3BlcnR5IHRoYXQgZXhwZWN0cyBvciByZXR1cm5zIGEg
XGx7UVdlYkVsZW1lbnR9IGNhbiB3b3JrIHNlYW1sZXNzbHkgd2l0aCBKYXZhc2NyaXB0IHJlZmVy
ZW5jZXMNCiAgICB0byBET00gZWxlbWVudHMuIFRoZSBKYXZhc2NyaXB0IGVudmlyb25tZW50IGNh
biBzZWxlY3QgRE9NIGVsZW1lbnRzLCBrZWVwIHRoZW0gaW4gdmFyaWFibGVzLCB0aGVuIHBhc3Mg
dGhlbSB0byBRdCBhcw0KICAgIGEgXGx7UVdlYkVsZW1lbnR9LCBhbmQgcmVjZWl2ZSB0aGVtIGJh
Y2suIEV4YW1wbGU6DQoNCiAgICBcc25pcHBldCBtaXNzaW5nDQoNCiAgICBUaGlzIGlzIHNwZWNp
ZmljYWxseSB1c2VmdWwgdG8gY3JlYXRlIGN1c3RvbSByZW5kZXJlcnMgb3IgZXh0ZW5zaW9ucyB0
byB0aGUgd2ViIGVudmlyb25tZW50LiBJbnN0ZWFkIG9mIGZvcmNpbmcgUXQNCiAgICB0byBzZWxl
Y3QgdGhlIGVsZW1lbnQsIHRoZSB3ZWIgZW52aXJvbm1lbnQgYWxyZWFkeSBzZWxlY3RzIHRoZSBl
bGVtZW50IGFuZCB0aGVuIHNlbmQgdGhlIHNlbGVjdGVkIGVsZW1lbnQgZGlyZWN0bHkgdG8gUXQu
DQoNCiAgICBOb3RlIHRoYXQgXGx7UVdlYkVsZW1lbnR9cyBhcmUgbm90IHRocmVhZCBzYWZlIC0g
YW4gb2JqZWN0IGhhbmRsaW5nIHRoZW0gaGFzIHRvIGxpdmUgaW4gdGhlIFVJIHRocmVhZC4NCg0K
ICAgIFxzaW5jZSA0LjcNCg0KICAgIFxzZWN0aW9uMSBBcmNoaXRlY3R1cmUgaXNzdWVzDQoNCiAg
ICBcc2VjdGlvbjIgTGltaXRpbmcgdGhlIFNjb3BlIG9mIHRoZSBIeWJyaWQgTGF5ZXINCg0KICAg
IFdoZW4gdXNpbmcgUXRXZWJraXQncyBoeWJyaWQgZmVhdHVyZXMsIGl0J3MgYSBjb21tb24gcGl0
ZmFsbCB0byBtYWtlIHRoZSBBUEkgZXhwb3NlZCB0byBKYXZhc2NyaXB0IHZlcnkgcmljaCBhbmQN
CiAgICB1c2UgYWxsIGl0cyBmZWF0dXJlcy4gVGhpcywgaG93ZXZlciwgbGVhZHMgdG8gY29tcGxl
eGl0eSBhbmQgY2FuIGNyZWF0ZSBidWdzIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2UuDQogICAgSW5z
dGVhZCwgaXQncyBhZHZpc2FibGUgdG8ga2VlcCB0aGUgaHlicmlkIGxheWVyIHNtYWxsIGFuZCBt
YW5hZ2VhYmxlOiBjcmVhdGUgYSBnYXRlIG9ubHkgd2hlbg0KICAgIHRoZXJlJ3MgYW4gYWN0dWFs
IG5lZWQgZm9yIGl0LCBpLmUuIHRoZXJlJ3MgYSBuZXcgbmF0aXZlIGVuYWJsZXIgdGhhdCByZXF1
aXJlcyBhIGRpcmVjdCBpbnRlcmZhY2UNCiAgICB0byB0aGUgYXBwbGljYXRpb24gbGF5ZXIuIFNv
bWV0aW1lcyBuZXcgZnVuY3Rpb25hbGl0eSBpcyBiZXR0ZXIgaGFuZGxlZCBpbnRlcm5hbGx5IGlu
IHRoZSBuYXRpdmUgbGF5ZXINCiAgICBvciBpbiB0aGUgd2ViIGxheWVyOyBzaW1wbGljaXR5IGlz
IHlvdXIgZnJpZW5kLg0KDQogICAgVGhpcyB1c3VhbGx5IGJlY29tZXMgbW9yZSBhcHBhcmVudCB3
aGVuIHRoZSBoeWJyaWQgbGF5ZXIgY2FuIGNyZWF0ZSBvciBkZXN0cm95IG9iamVjdHMsIG9yIHVz
ZXMNCiAgICBzaWduYWxzIHNsb3RzIG9yIHByb3BlcnRpZXMgd2l0aCBhIFxse1FPYmplY3R9KiBh
cmd1bWVudC4gSXQncyBhZHZpc2VkIHRvIGJlIHZlcnkgY2FyZWZ1bCBhbmQgdG8gdHJlYXQNCiAg
ICBhbiBleHBvc2VkIFxse1FPYmplY3R9IGFzIGEgc3lzdGVtIC0gd2l0aCBjYXJlZnVsIGF0dGVu
dGlvbiB0byBtZW1vcnkgbWFuYWdlbWVudCBhbmQgb2JqZWN0IG93bmVyc2hpcC4NCg0KICAgIFxz
ZWN0aW9uMiBJbnRlcm5ldCBTZWN1cml0eQ0KDQogICAgV2hlbiBleHBvc2luZyBuYXRpdmUgb2Jq
ZWN0IHRvIGFuIG9wZW4gd2ViIGVudmlyb25tZW50LCBpdCdzIGltcG9ydGFudCB0byB1bmRlcnN0
YW5kIHRoZSBzZWN1cml0eQ0KICAgIGltcGxpY2F0aW9ucy4gVGhpbmsgd2hldGhlciB0aGUgZXhw
b3NlZCBvYmplY3QgZW5hYmxlcyB0aGUgd2ViIGVudmlyb25tZW50IGFjY2VzcyB0byB0aGluZ3Mg
dGhhdA0KICAgIHNob3VsZG4ndCBiZSBvcGVuLCBhbmQgd2hldGhlciB0aGUgd2ViIGNvbnRlbnQg
bG9hZGVkIGJ5IHRoYXQgd2ViIHBhZ2UgaXMgb3Blbi4gSW4gZ2VuZXJhbCwgd2hlbg0KICAgIGV4
cG9zaW5nIG5hdGl2ZSBRT2JqZWN0cyB0aGF0IGdpdmUgdGhlIHdlYiBlbnZpcm9ubWVudCBhY2Nl
c3MgdG8gcHJpdmF0ZSBpbmZvcm1hdGlvbiBvciB0byBmdW5jdGlvbmFsaXR5DQogICAgdGhhdCdz
IHBvdGVudGlhbGx5IGhhcm1mdWwgdG8gdGhlIGNsaWVudCwgc3VjaCBleHBvc3VyZSBzaG91bGQg
YmUgYmFsYW5jZWQgYnkgbGltaXRpbmcgdGhlIHdlYiBwYWdlJ3MNCiAgICBhY2Nlc3MsIGZvciBl
eGFtcGxlLCB0byBodHRwcy1iYXNlZCBzZWN1cmUgc2l0ZXMgb25seS4NCg0KDQoqLw0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54478</attachid>
            <date>2010-04-27 17:13:15 -0700</date>
            <delta_ts>2010-06-01 10:03:21 -0700</delta_ts>
            <desc>documentation for the QtWebkit bridge</desc>
            <filename>patch-35861-2.diffpatch</filename>
            <type>text/plain</type>
            <size>25205</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDllZjE2ZWYuLjUyYzQxOTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA0LTI3ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEFkZCBkb2N1bWVudGF0aW9uIHRv
IHRoZSBRdFdlYmtpdCBicmlkZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1ODYxCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbmNsdWRlcyBjb21wcmVo
ZW5zaXZlIHFkb2MgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIFF0V2Via2l0IGJyaWRnZS4KKworICAg
ICAgICAqIGRvY3MvcXR3ZWJraXQtYnJpZGdlLnFkb2M6IEFkZGVkLgorICAgICAgICAqIGRvY3Mv
cXR3ZWJraXQucWRvYzoKKyAgICAgICAgKiBkb2NzL3dlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRz
Y3JpcHQucWRvYzogQWRkZWQuCisgICAgICAgICogZG9jcy93ZWJraXRzbmlwcGV0cy9xdHdlYmtp
dF9icmlkZ2Vfc25pcHBldHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKHdyYXBJbkZ1bmN0aW9uKToK
KwogMjAxMC0wNC0yNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L2RvY3Mv
cXR3ZWJraXQtYnJpZGdlLnFkb2MgYi9XZWJLaXQvcXQvZG9jcy9xdHdlYmtpdC1icmlkZ2UucWRv
YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODA3YzIzCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0L3F0L2RvY3MvcXR3ZWJraXQtYnJpZGdlLnFkb2MKQEAgLTAsMCArMSw0
MjUgQEAKKy8qIQorICAgIFxpbm1vZHVsZSBRdFdlYktpdAorICAgIFxwYWdlIHF0d2Via2l0LWJy
aWRnZS5odG1sCisgICAgXHRpdGxlIFRoZSBRdFdlYktpdCBCcmlkZ2UKKyAgICBcY29udGVudHNw
YWdlIFF0V2ViS2l0CisgICAgXHNlY3Rpb24xIE92ZXJ2aWV3CisgICAgXHNlY3Rpb24yIFRoZSB0
ZWNobm9sb2d5CisKKyAgICBUaGUgUXRXZWJLaXQgYnJpZGdlIGlzIGEgbWVjaGFuaXNtIHRoYXQg
ZXh0ZW5kcyBXZWJLaXQncyBKYXZhU2NyaXB0IGVudmlyb25tZW50IHRvIGFjY2VzcyBuYXRpdmUK
KyAgICBvYmplY3RzIHRoYXQgYXJlIHJlcHJlc2VudGVkIGFzIFFPYmplY3RzLiBJdCB0YWtlcyBh
ZHZhbnRhZ2Ugb2YgdGhlIGluaGVyZW50IGludHJvc3BlY3Rpb24gb2YgdGhlCisgICAgXGx7UXQg
T2JqZWN0IE1vZGVsfSwgd2hpY2ggaGFzIGEgbmF0dXJhbCBhbGlnbm1lbnQgdG8gdGhlIHdheSBK
YXZhU2NyaXB0IHdvcmtlZC4KKworICAgIEZvciBleGFtcGxlLCBib3RoIEphdmFTY3JpcHQgYW5k
IFFPYmplY3RzIGhhdmUgcHJvcGVydGllczogYSBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnQgYSBn
ZXR0ZXIvc2V0dGVyCisgICAgcGFpciB1bmRlciBvbmUgbmFtZS4KKworICAgIFxzZWN0aW9uMiBV
c2UgQ2FzZXMKKworICAgIFRoZXJlIGFyZSB0d28gbWFpbiB1c2UgY2FzZXMgZm9yIHRoZSBRdFdl
YktpdCBicmlkZ2UuIFdlYiBjb250ZW50IGluIGEgbmF0aXZlIGFwcGxpY2F0aW9uLCBhbmQgVGhp
biBDbGllbnQuCisKKyAgICBcc2VjdGlvbjMgV2ViIENvbnRlbnQgaW4gYSBOYXRpdmUgQXBwbGlj
YXRpb24KKworICAgIFRoaXMgaXMgYSBjb21tb24gdXNlIGNhc2UgaW4gY2xhc3NpYyBRdCBhcHBs
aWNhdGlvbiwgYW5kIGEgZGVzaWduIHBhdHRlcm4gdXNlZCBieSBzZXZlcmFsIG1vZGVybgorICAg
IGFwcGxpY2F0aW9ucy4gRm9yIGV4YW1wbGUsIGFuIGFwcGxpY2F0aW9uIHRoYXQgY29udGFpbnMg
Ym90aCBhIG1lZGlhLXBsYXllciwgcGxheWxpc3QgbWFuYWdlciwgYW5kCisgICAgYSBtdXNpYyBz
dG9yZS4gVGhlIHBsYXlsaXN0IG1hbmFnZXIgaXMgdXN1YWxseSBiZXN0IGF1dGhvcmVkIGFzIGEg
Y2xhc3NpYyBkZXNrdG9wIGFwcGxpY2F0aW9uLAorICAgIHdpdGggdGhlIG5hdGl2ZS1sb29raW5n
IHJvYnVzdCBcbHtRV2lkZ2V0fXMgaGVscGluZyB3aXRoIHByb2R1Y2luZyB0aGF0IGFwcGxpY2F0
aW9uLgorICAgIFRoZSBtZWRpYS1wbGF5ZXIgY29udHJvbCwgd2hpY2ggdXN1YWxseSBsb29rcyBj
dXN0b20sIGNhbiBiZSB3cml0dGVuIHVzaW5nIFxse1RoZSBHcmFwaGljcyBWaWV3IGZyYW1ld29y
a30KKyAgICBvciB3aXRoIGluIGEgZGVjbGFyYXRpdmUgd2F5IHdpdGggXGx7UXREZWNsYXJhdGl2
ZX0uIFRoZSBtdXNpYyBzdG9yZSwgd2hpY2ggc2hvd3MgZHluYW1pYyBjb250ZW50CisgICAgZnJv
bSB0aGUgaW50ZXJuZXQsIGFuZCBnZXRzIG1vZGlmaWVkIHJhcGlkbHksIGlzIGJlc3QgYXV0aG9y
ZWQgaW4gSFRNTCBhbmQgbWFpbnRhaW5lZCBvbiB0aGUgc2VydmVyLgorCisgICAgV2l0aCB0aGUg
UXRXZWJLaXQgYnJpZGdlLCB0aGF0IG11c2ljIHN0b3JlIGNvbXBvbmVudCBjYW4gaW50ZXJhY3Qg
d2l0aCBuYXRpdmUgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uLAorICAgIGZvciBleGFtcGxlLCBp
ZiBhIGZpbGUgbmVlZHMgdG8gYmUgc2F2ZWQgdG8gYSBzcGVjaWZpYyBsb2NhdGlvbi4KKworICAg
IFxzZWN0aW9uMyBUaGluIENsaWVudAorCisgICAgQW5vdGhlciB1c2UgY2FzZSBpcyB1c2luZyBR
dCBhcyBhIG5hdGl2ZSBiYWNrZW5kIHRvIGEgZnVsbCB3ZWIgYXBwbGljYXRpb24sCisgICAgcmVm
ZXJyZWQgdG8gaGVyZSBhcyBhIHRoaW4gY2xpZW50LiBJbiB0aGlzIHVzZS1jYXNlLCB0aGUgZW50
aXJlIFVJIGlzIGRyaXZlbiBieQorICAgIEhUTUwsIEphdmFTY3JpcHQgYW5kIENTUywgYW5kIG5h
dGl2ZSBRdC1iYXNlZCBjb21wb25lbnRzIGFyZSB1c2VkIHRvIGFsbG93IHRoYXQgYXBwbGljYXRp
b24KKyAgICBhY2Nlc3MgdG8gbmF0aXZlIGZlYXR1cmVzIG5vdCB1c3VhbGx5IGV4cG9zZWQgdG8g
dGhlIHdlYiwgb3IgdG8gZW5hYmxlIGhlbHBlciBjb21wb25lbnRzIHRoYXQKKyAgICBhcmUgYmVz
dCB3cml0dGVuIHdpdGggQysrLgorCisgICAgQW4gZXhhbXBsZSBmb3Igc3VjaCBjbGllbnQgaXMg
YSBVSSBmb3IgYSB2aWRlby1vbi1kZW1hbmQgc2VydmljZSBvbiBhIFRWLiBUaGUgZW50aXJlIGNv
bnRlbnQgYW5kCisgICAgVUkgY2FuIGJlIGtlcHQgb24gdGhlIHNlcnZlciwgc2VydmVkIGR5bmFt
aWNhbGx5IHRocm91Z2ggSFRUUCBhbmQgcmVuZGVyZWQgd2l0aCBXZWJLaXQsIHdpdGggYWRkaXRp
b25hbAorICAgIG5hdGl2ZSBjb21wb25lbnRzIGZvciBhY2Nlc3NpbmcgaGFyZHdhcmUtc3BlY2lm
aWMgZmVhdHVyZXMgbGlrZSBleHRyYWN0aW5nIHRoZSBsaXN0IG9mIGltYWdlcworICAgIG91dCBv
ZiB0aGUgdmlkZW8uCisKKyAgICBcc2VjdGlvbjIgRGlmZmVyZW5jZSBmcm9tIE90aGVyIEJyaWRn
ZSBUZWNobm9sb2dpZXMKKworICAgIE9mIGNvdXJzZSBRdFdlYktpdCBpcyBub3QgdGhlIG9ubHkg
YnJpZGdlIHRlY2hub2xvZ3kgb3V0IHRoZXJlLiBOUEFQSSwgZm9yIGV4YW1wbGUsCisgICAgaXMg
YSBsb25nLXRpbWUgc3RhbmRhcmQgb3Igd2ViLW5hdGl2ZSBicmlkZ2luZy4gRHVlIHRvIFF0J3Mg
bWV0YS1vYmplY3Qgc3lzdGVtLCBmdWxsIGFwcGxpY2F0aW9ucworICAgIGJ1aWx0IHBhcnRpYWxs
eSB3aXRoIHdlYi10ZWNobm9sb2dpZXMgYXJlIG11Y2ggZWFzaWVyIHRvIGRldmVsb3AuIE5QQVBJ
LCBob3dldmVyLCBpcyBtb3JlIGdlYXJlZAorICAgIHRvd2FyZHMgY3Jvc3MtYnJvd3NlciBwbHVn
aW5zLCBkdWUgdG8gaXQgYmVpbmcgYW4gYWNjZXB0ZWQgc3RhbmRhcmQuCisKKyAgICBXaGVuIGRl
dmVsb3BpbmcgYSBwbHVnaW4gZm9yIGEgYnJvd3NlciwgTlBBUEkgaXMgcmVjb21tZW5kZWQuIFdo
ZW4gZGV2ZWxvcGluZyBhIGZ1bGwgYXBwbGljYXRpb24KKyAgICB0aGF0IHV0aWxpemVzIEhUTUwt
cmVuZGVyaW5nLCB0aGUgUXRXZWJLaXQgYnJpZGdlIGlzIHJlY29tbWVuZGVkLgorCisgICAgXHNl
Y3Rpb24yIFJlbGF0aW9uc2hpcCB3aXRoIFF0U2NyaXB0CisKKyAgICBUaGUgUXRXZWJLaXQgYnJp
ZGdlIGlzIHNpbWlsYXIgdG8gXGx7UXRTY3JpcHR9LCBlc3BlY2lhbGx5IHRvIHNvbWUgb2YgdGhl
IGZlYXR1cmVzIGRlc2NyaWJlZCBpbiB0aGUKKyAgICBcbHtNYWtpbmcgQXBwbGljYXRpb25zIFNj
cmlwdGFibGV9IHBhZ2UuIEhvd2V2ZXIsIGFzIG9mIFF0IDQuNywgZnVsbCBRdFNjcmlwdCBBUEkg
aXMgbm90IHN1cHBvcnRlZCBmb3Igd2ViIGFwcGxpY2F0aW9ucy4KKyAgICBUaGF0IGlzIHBsYW5u
ZWQgYXMgYW4gZW5oYW5jZW1lbnQgZm9yIGZ1dHVyZSB2ZXJzaW9ucy4gWW91IG1pZ2h0IG5vdGlj
ZSB0aGF0IHNvbWUgb2YgdGhlIGZlYXR1cmVzCisgICAgZGVzY3JpYmVkIGhlcmUgYXJlIGFuIGV4
YWN0IGNvcHkgb2YgdGhlIG9uZXMgZGVzY3JpYmVkIGluIHRoZSBcbHtNYWtpbmcgQXBwbGljYXRp
b25zIFNjcmlwdGFibGV9IHBhZ2UuIFRoYXQgaXMgYmVjYXVzZQorICAgIHRoZSBRdFdlYktpdCBi
cmlkZ2UgaXMgYSBzdWJzZXQgb2YgdGhhdCBmdW5jdGlvbmFsaXR5LCBhbmQgdGhpcyBwYWdlIHRy
aWVzIHRvIGNhcHR1cmUgdGhlIGZ1bGwKKyAgICBjYXBhYmlsaXRpZXMgYXZhaWxhYmxlIHRocm91
Z2ggdGhlIFF0V2ViS2l0IGJyaWRnZSBzcGVjaWZpY2FsbHkuCisKKyAgICBcc2VjdGlvbjEgQWNj
ZXNzaW5nIFFPYmplY3RzCisKKyAgICBcc2VjdGlvbjIgQ3JlYXRpbmcgdGhlIGxpbmsgdmlhIFFX
ZWJGcmFtZQorCisgICAgQnkgZGVmYXVsdCwgbm8gUU9iamVjdHMgYXJlIGFjY2Vzc2libGUgdGhy
b3VnaCB0aGUgd2ViIGVudmlyb25tZW50LCBmb3Igc2VjdXJpdHkgcmVhc29ucy4KKyAgICBUbyBl
bmFibGUgd2ViIGNvbnRlbnQgYWNjZXNzIHRvIGEgbmF0aXZlIFFPYmplY3QsIHRoZSBhcHBsaWNh
dGlvbiBoYXMgdG8gZXhwbGljaXRseSBncmFudCBpdCBhY2Nlc3MsCisgICAgdXNpbmcgdGhlIGZv
bGxvd2luZyBjYWxsOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJp
ZGdlX3NuaXBwZXRzLmNwcCAwCisKKyAgICBTZWUgXGx7UVdlYkZyYW1lOjphZGRUb0phdmFTY3Jp
cHRXaW5kb3dPYmplY3QoKX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICBcc2VjdGlvbjIg
VXNpbmcgU2lnbmFscyBhbmQgU2xvdHMKKworICAgIFF0IFNjcmlwdCBhZGFwdHMgUXQncyBjZW50
cmFsIFxse1NpZ25hbHMgYW5kIFNsb3RzfSBmZWF0dXJlIGZvcgorICAgIHNjcmlwdGluZy4gVGhl
cmUgYXJlIHRocmVlIHByaW5jaXBhbCB3YXlzIHRvIHVzZSBzaWduYWxzIGFuZCBzbG90cworICAg
IHdpdGggUXQgU2NyaXB0OgorCisgICAgXGxpc3QKKyAgICBcaSBcYm9sZHtIeWJyaWQgQysrL3Nj
cmlwdH06IEMrKyBhcHBsaWNhdGlvbiBjb2RlIGNvbm5lY3RzIGEKKyAgICBzaWduYWwgdG8gYSBz
Y3JpcHQgZnVuY3Rpb24uIFRoZSBzY3JpcHQgZnVuY3Rpb24gY2FuLCBmb3IgZXhhbXBsZSwgYmUK
KyAgICBhIGZ1bmN0aW9uIHRoYXQgdGhlIHVzZXIgaGFzIHR5cGVkIGluLCBvciBvbmUgdGhhdCB5
b3UgaGF2ZSByZWFkIGZyb20gYQorICAgIGZpbGUuIFRoaXMgYXBwcm9hY2ggaXMgdXNlZnVsIGlm
IHlvdSBoYXZlIGEgUU9iamVjdCBidXQgZG9uJ3Qgd2FudAorICAgIHRvIGV4cG9zZSB0aGUgb2Jq
ZWN0IGl0c2VsZiB0byB0aGUgc2NyaXB0aW5nIGVudmlyb25tZW50OyB5b3UganVzdAorICAgIHdh
bnQgYSBzY3JpcHQgdG8gYmUgYWJsZSB0byBkZWZpbmUgaG93IGEgc2lnbmFsIHNob3VsZCBiZSBy
ZWFjdGVkCisgICAgdG8sIGFuZCBsZWF2ZSBpdCB1cCB0byB0aGUgQysrIHNpZGUgb2YgeW91ciBh
cHBsaWNhdGlvbiB0byBlc3RhYmxpc2gKKyAgICB0aGUgY29ubmVjdGlvbi4KKworICAgIFxpIFxi
b2xke0h5YnJpZCBzY3JpcHQvQysrfTogQSBzY3JpcHQgY2FuIGNvbm5lY3Qgc2lnbmFscyBhbmQg
c2xvdHMKKyAgICB0byBlc3RhYmxpc2ggY29ubmVjdGlvbnMgYmV0d2VlbiBwcmUtZGVmaW5lZCBv
YmplY3RzIHRoYXQgdGhlCisgICAgYXBwbGljYXRpb24gZXhwb3NlcyB0byB0aGUgc2NyaXB0aW5n
IGVudmlyb25tZW50LiBJbiB0aGlzIHNjZW5hcmlvLAorICAgIHRoZSBzbG90cyB0aGVtc2VsdmVz
IGFyZSBzdGlsbCB3cml0dGVuIGluIEMrKywgYnV0IHRoZSBkZWZpbml0aW9uIG9mCisgICAgdGhl
IGNvbm5lY3Rpb25zIGlzIGZ1bGx5IGR5bmFtaWMgKHNjcmlwdC1kZWZpbmVkKS4KKworICAgIFxp
IFxib2xke1B1cmVseSBzY3JpcHQtZGVmaW5lZH06IEEgc2NyaXB0IGNhbiBib3RoIGRlZmluZSBz
aWduYWwKKyAgICBoYW5kbGVyIGZ1bmN0aW9ucyAoZWZmZWN0aXZlbHkgInNsb3RzIHdyaXR0ZW4g
aW4gUXQgU2NyaXB0IiksCisgICAgXGV7YW5kfSBzZXQgdXAgdGhlIGNvbm5lY3Rpb25zIHRoYXQg
dXRpbGl6ZSB0aG9zZSBoYW5kbGVycy4gRm9yCisgICAgZXhhbXBsZSwgYSBzY3JpcHQgY2FuIGRl
ZmluZSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBoYW5kbGUgdGhlCisgICAgUUxpbmVFZGl0OjpyZXR1
cm5QcmVzc2VkKCkgc2lnbmFsLCBhbmQgdGhlbiBjb25uZWN0IHRoYXQgc2lnbmFsIHRvIHRoZQor
ICAgIHNjcmlwdCBmdW5jdGlvbi4KKyAgICBcZW5kbGlzdAorCisgICAgTm90ZSB0aGF0IFF0U2Ny
aXB0IGZ1bmN0aW9ucyBzdWNoIGFzIHFTY3JpcHRDb25uZWN0IGFyZSB1bmF2aWxhYmxlIGluIHRo
ZSB3ZWIgZW52aXJvbm1lbnQuCisKKyAgICBcc2VjdGlvbjMgU2lnbmFsIHRvIEZ1bmN0aW9uIENv
bm5lY3Rpb25zCisKKyAgICBcY3tjb25uZWN0KGZ1bmN0aW9uKX0KKworICAgIEluIHRoaXMgZm9y
bSBvZiBjb25uZWN0aW9uLCB0aGUgYXJndW1lbnQgdG8gXGN7Y29ubmVjdCgpfSBpcyB0aGUKKyAg
ICBmdW5jdGlvbiB0byBjb25uZWN0IHRvIHRoZSBzaWduYWwuCisKKyAgICBcc25pcHBldCB3ZWJr
aXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMgorCisgICAgVGhlIGFyZ3VtZW50IGNh
biBiZSBhIFF0IFNjcmlwdCBmdW5jdGlvbiwgYXMgaW4gdGhlIGFib3ZlCisgICAgZXhhbXBsZSwg
b3IgaXQgY2FuIGJlIGEgUU9iamVjdCBzbG90LCBhcyBpbgorICAgIHRoZSBmb2xsb3dpbmcgZXhh
bXBsZToKKworICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRv
YyAzCisKKyAgICBXaGVuIHRoZSBhcmd1bWVudCBpcyBhIFFPYmplY3Qgc2xvdCwgdGhlIGFyZ3Vt
ZW50IHR5cGVzIG9mIHRoZQorICAgIHNpZ25hbCBhbmQgc2xvdCBkbyBub3QgbmVjZXNzYXJpbHkg
aGF2ZSB0byBiZSBjb21wYXRpYmxlOworICAgIHRoZSBRdFdlYktpdCBicmlkZ2Ugd2lsbCwgaWYg
bmVjZXNzYXJ5LCBwZXJmb3JtIGNvbnZlcnNpb24gb2YgdGhlIHNpZ25hbAorICAgIGFyZ3VtZW50
cyB0byBtYXRjaCB0aGUgYXJndW1lbnQgdHlwZXMgb2YgdGhlIHNsb3QuCisKKyAgICBUbyBkaXNj
b25uZWN0IGZyb20gYSBzaWduYWwsIHlvdSBpbnZva2UgdGhlIHNpZ25hbCdzCisgICAgXGN7ZGlz
Y29ubmVjdCgpfSBmdW5jdGlvbiwgcGFzc2luZyB0aGUgZnVuY3Rpb24gdG8gZGlzY29ubmVjdAor
ICAgIGFzIGFyZ3VtZW50OgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19x
dHNjcmlwdC5xZG9jIDQKKworICAgIFdoZW4gYSBzY3JpcHQgZnVuY3Rpb24gaXMgaW52b2tlZCBp
biByZXNwb25zZSB0byBhIHNpZ25hbCwgdGhlCisgICAgXGMgdGhpcyBvYmplY3Qgd2lsbCBiZSB0
aGUgR2xvYmFsIE9iamVjdC4KKworICAgIFxzZWN0aW9uMyBTaWduYWwgdG8gTWVtYmVyIEZ1bmN0
aW9uIENvbm5lY3Rpb25zCisKKyAgICBcY3tjb25uZWN0KHRoaXNPYmplY3QsIGZ1bmN0aW9uKX0K
KworICAgIEluIHRoaXMgZm9ybSBvZiB0aGUgXGN7Y29ubmVjdCgpfSBmdW5jdGlvbiwgdGhlIGZp
cnN0IGFyZ3VtZW50CisgICAgaXMgdGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhl
IHZhcmlhYmxlLCBcYyB0aGlzLCB3aGVuCisgICAgdGhlIGZ1bmN0aW9uIHNwZWNpZmllZCB1c2lu
ZyB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIGludm9rZWQuCisKKyAgICBJZiB5b3UgaGF2ZSBhIHB1
c2ggYnV0dG9uIGluIGEgZm9ybSwgeW91IHR5cGljYWxseSB3YW50IHRvIGRvCisgICAgc29tZXRo
aW5nIGludm9sdmluZyB0aGUgZm9ybSBpbiByZXNwb25zZSB0byB0aGUgYnV0dG9uJ3MKKyAgICBc
Y3tjbGlja2VkfSBzaWduYWw7IHBhc3NpbmcgdGhlIGZvcm0gYXMgdGhlIFxjIHRoaXMgb2JqZWN0
CisgICAgbWFrZXMgc2Vuc2UgaW4gc3VjaCBhIGNhc2UuCisKKyAgICBcc25pcHBldCB3ZWJraXRz
bmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgNQorCisgICAgVG8gZGlzY29ubmVjdCBmcm9t
IHRoZSBzaWduYWwsIHBhc3MgdGhlIHNhbWUgYXJndW1lbnRzIHRvIFxje2Rpc2Nvbm5lY3QoKX06
CisKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgNgor
CisgICAgXHNlY3Rpb24zIFNpZ25hbCB0byBOYW1lZCBNZW1iZXIgRnVuY3Rpb24gQ29ubmVjdGlv
bnMKKworICAgIFxje2Nvbm5lY3QodGhpc09iamVjdCwgZnVuY3Rpb25OYW1lKX0KKworICAgIElu
IHRoaXMgZm9ybSBvZiB0aGUgXGN7Y29ubmVjdCgpfSBmdW5jdGlvbiwgdGhlIGZpcnN0IGFyZ3Vt
ZW50IGlzCisgICAgdGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhlIHZhcmlhYmxl
LCBcYyB0aGlzLCB3aGVuCisgICAgYSBmdW5jdGlvbiBpcyBpbnZva2VkIGluIHJlc3BvbnNlIHRv
IHRoZSBzaWduYWwuIFRoZSBzZWNvbmQgYXJndW1lbnQKKyAgICBzcGVjaWZpZXMgdGhlIG5hbWUg
b2YgYSBmdW5jdGlvbiB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUgc2lnbmFsLAorICAgIGFuZCB0
aGlzIHJlZmVycyB0byBhIG1lbWJlciBmdW5jdGlvbiBvZiB0aGUgb2JqZWN0IHBhc3NlZCBhcyB0
aGUKKyAgICBmaXJzdCBhcmd1bWVudCAoXGMgdGhpc09iamVjdCBpbiB0aGUgYWJvdmUgc2NoZW1l
KS4KKworICAgIE5vdGUgdGhhdCB0aGUgZnVuY3Rpb24gaXMgcmVzb2x2ZWQgd2hlbiB0aGUgY29u
bmVjdGlvbiBpcyBtYWRlLCBub3QKKyAgICB3aGVuIHRoZSBzaWduYWwgaXMgZW1pdHRlZC4KKwor
ICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyA3CisKKyAg
ICBUbyBkaXNjb25uZWN0IGZyb20gdGhlIHNpZ25hbCwgcGFzcyB0aGUgc2FtZSBhcmd1bWVudHMg
dG8gXGN7ZGlzY29ubmVjdCgpfToKKworICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19z
cmNfcXRzY3JpcHQucWRvYyA4CisKKyAgICBcc2VjdGlvbjMgRXJyb3IgSGFuZGxpbmcKKworICAg
IFdoZW4gXGN7Y29ubmVjdCgpfSBvciBcY3tkaXNjb25uZWN0KCl9IHN1Y2NlZWRzLCB0aGUgZnVu
Y3Rpb24gd2lsbAorICAgIHJldHVybiBcY3t1bmRlZmluZWR9OyBvdGhlcndpc2UsIGl0IHdpbGwg
dGhyb3cgYSBzY3JpcHQgZXhjZXB0aW9uLgorICAgIFlvdSBjYW4gb2J0YWluIGFuIGVycm9yIG1l
c3NhZ2UgZnJvbSB0aGUgcmVzdWx0aW5nIFxje0Vycm9yfSBvYmplY3QuCisgICAgRXhhbXBsZToK
KworICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyA5CisK
KyAgICBcc2VjdGlvbjMgRW1pdHRpbmcgU2lnbmFscyBmcm9tIFNjcmlwdHMKKworICAgIFRvIGVt
aXQgYSBzaWduYWwgZnJvbSBzY3JpcHQgY29kZSwgeW91IHNpbXBseSBpbnZva2UgdGhlIHNpZ25h
bAorICAgIGZ1bmN0aW9uLCBwYXNzaW5nIHRoZSByZWxldmFudCBhcmd1bWVudHM6CisKKyAgICBc
c25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMTAKKworICAgIEl0
IGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gZGVmaW5lIGEgbmV3IHNpZ25hbCBpbiBhIHNj
cmlwdDsKKyAgICBpLmUuLCBhbGwgc2lnbmFscyBtdXN0IGJlIGRlZmluZWQgYnkgQysrIGNsYXNz
ZXMuCisKKyAgICBcc2VjdGlvbjMgT3ZlcmxvYWRlZCBTaWduYWxzIGFuZCBTbG90cworCisgICAg
V2hlbiBhIHNpZ25hbCBvciBzbG90IGlzIG92ZXJsb2FkZWQsIHRoZSBRdFdlYktpdCBicmlkZ2Ug
d2lsbCBhdHRlbXB0IHRvCisgICAgcGljayB0aGUgcmlnaHQgb3ZlcmxvYWQgYmFzZWQgb24gdGhl
IGFjdHVhbCB0eXBlcyBvZiB0aGUgUVNjcmlwdFZhbHVlIGFyZ3VtZW50cworICAgIGludm9sdmVk
IGluIHRoZSBmdW5jdGlvbiBpbnZvY2F0aW9uLiBGb3IgZXhhbXBsZSwgaWYgeW91ciBjbGFzcyBo
YXMgc2xvdHMKKyAgICBcY3tteU92ZXJsb2FkZWRTbG90KGludCl9IGFuZCBcY3tteU92ZXJsb2Fk
ZWRTbG90KFFTdHJpbmcpfSwgdGhlIGZvbGxvd2luZworICAgIHNjcmlwdCBjb2RlIHdpbGwgYmVo
YXZlIHJlYXNvbmFibHk6CisKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0
c2NyaXB0LnFkb2MgMTEKKworICAgIFlvdSBjYW4gc3BlY2lmeSBhIHBhcnRpY3VsYXIgb3Zlcmxv
YWQgYnkgdXNpbmcgYXJyYXktc3R5bGUgcHJvcGVydHkgYWNjZXNzCisgICAgd2l0aCB0aGUgXGx7
UU1ldGFPYmplY3Q6Om5vcm1hbGl6ZWRTaWduYXR1cmUoKX17bm9ybWFsaXplZCBzaWduYXR1cmV9
IG9mCisgICAgdGhlIEMrKyBmdW5jdGlvbiBhcyB0aGUgcHJvcGVydHkgbmFtZToKKworICAgIFxz
bmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyAxMgorCisgICAgSWYg
dGhlIG92ZXJsb2FkcyBoYXZlIGRpZmZlcmVudCBudW1iZXIgb2YgYXJndW1lbnRzLCB0aGUgUXRX
ZWJLaXQgYnJpZGdlIHdpbGwKKyAgICBwaWNrIHRoZSBvdmVybG9hZCB3aXRoIHRoZSBhcmd1bWVu
dCBjb3VudCB0aGF0IGJlc3QgbWF0Y2hlcyB0aGUKKyAgICBhY3R1YWwgbnVtYmVyIG9mIGFyZ3Vt
ZW50cyBwYXNzZWQgdG8gdGhlIHNsb3QuCisKKyAgICBGb3Igb3ZlcmxvYWRlZCBzaWduYWxzLCBK
YXZhU2NyaXB0IHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgeW91IHRyeSB0byBjb25uZWN0CisgICAg
dG8gdGhlIHNpZ25hbCBieSBuYW1lOyB5b3UgaGF2ZSB0byByZWZlciB0byB0aGUgc2lnbmFsIHdp
dGggdGhlIGZ1bGwKKyAgICBub3JtYWxpemVkIHNpZ25hdHVyZSBvZiB0aGUgcGFydGljdWxhciBv
dmVybG9hZCB5b3Ugd2FudCB0byBjb25uZWN0IHRvLgorCisgICAgXHNlY3Rpb24zIEludm9rYWJs
ZSBNZXRob2RzCisKKyAgICBCb3RoIHNsb3RzIGFuZCBzaWduYWxzIGFyZSBpbnZva2FibGUgZnJv
bSBzY3JpcHQgYnkgZGVmYXVsdC4gSW4gYWRkaXRpb24sIGl0J3MgYWxzbworICAgIHBvc3NpYmxl
IHRvIGRlZmluZSBhIG1ldGhvZCB0aGF0J3MgaW52b2thYmxlIGZyb20gc2NyaXB0IHdpdGhvdXQg
aXQgYmVpbmcgYSBzaWduYWwgb3IgYSBzbG90LgorICAgIFRoaXMgaXMgZXNwZWNpYWxseSB1c2Vm
dWwgZm9yIGZ1bmN0aW9ucyB3aXRoIHJldHVybiB0eXBlcywgYXMgc2xvdHMgbm9ybWFsbHkgZG8g
bm90IHJldHVybiBhbnl0aGluZworICAgIChpdCB3b3VsZCBiZSBtZWFuaW5nbGVzcyB0byByZXR1
cm4gdmFsdWVzIGZyb20gYSBzbG90LCBhcyB0aGUgY29ubmVjdGVkIHNpZ25hbHMgZG9uJ3QgaGFu
ZGxlIHRoZSByZXR1cm5lZCBkYXRhKS4KKyAgICBUbyBtYWtlIGEgbm9uLXNsb3QgbWV0aG9kIGlu
dm9rYWJsZSwgc2ltcGx5IGFkZCB0aGUgUV9JTlZPS0FCTEUgbWFjcm8gYmVmb3JlIGl0cyBkZWZp
bml0aW9uOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNjcmlwdC5x
ZG9jIDIwCisKKyAgICBcc2VjdGlvbjIgQWNjZXNzaW5nIFByb3BlcnRpZXMKKworICAgIFRoZSBw
cm9wZXJ0aWVzIG9mIHRoZSBRT2JqZWN0IGFyZSBhdmFpbGFibGUgYXMgcHJvcGVydGllcworICAg
IG9mIHRoZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgb2JqZWN0LiBXaGVuIHlvdSBtYW5pcHVs
YXRlCisgICAgYSBwcm9wZXJ0eSBpbiBzY3JpcHQgY29kZSwgdGhlIEMrKyBnZXQvc2V0IG1ldGhv
ZCBmb3IgdGhhdAorICAgIHByb3BlcnR5IHdpbGwgYXV0b21hdGljYWxseSBiZSBpbnZva2VkLiBG
b3IgZXhhbXBsZSwgaWYgeW91cgorICAgIEMrKyBjbGFzcyBoYXMgYSBwcm9wZXJ0eSBkZWNsYXJl
ZCBhcyBmb2xsb3dzOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNj
cmlwdC5xZG9jIDEzCisKKyAgICB0aGVuIHNjcmlwdCBjb2RlIGNhbiBkbyB0aGluZ3MgbGlrZSB0
aGUgZm9sbG93aW5nOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNj
cmlwdC5xZG9jIDE0CisKKyAgICBcc2VjdGlvbjIgQWNjZXNzaW5nIENoaWxkIFFPYmplY3RzCisK
KyAgICBFdmVyeSBuYW1lZCBjaGlsZCBvZiB0aGUgUU9iamVjdCAodGhhdCBpcywgZm9yIHdoaWNo
CisgICAgUU9iamVjdDo6b2JqZWN0TmFtZSgpIGlzIG5vdCBhbiBlbXB0eSBzdHJpbmcpIGlzIGJ5
IGRlZmF1bHQgYXZhaWxhYmxlIGFzCisgICAgYSBwcm9wZXJ0eSBvZiB0aGUgSmF2YVNjcmlwdCB3
cmFwcGVyIG9iamVjdC4gRm9yIGV4YW1wbGUsCisgICAgaWYgeW91IGhhdmUgYSBRRGlhbG9nIHdp
dGggYSBjaGlsZCB3aWRnZXQgd2hvc2UgXGN7b2JqZWN0TmFtZX0gcHJvcGVydHkgaXMKKyAgICBc
Y3sib2tCdXR0b24ifSwgeW91IGNhbiBhY2Nlc3MgdGhpcyBvYmplY3QgaW4gc2NyaXB0IGNvZGUg
dGhyb3VnaAorICAgIHRoZSBleHByZXNzaW9uCisKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0
cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMTUKKworICAgIFNpbmNlIFxje29iamVjdE5hbWV9IGlz
IGl0c2VsZiBhIFFfUFJPUEVSVFksIHlvdSBjYW4gbWFuaXB1bGF0ZQorICAgIHRoZSBuYW1lIGlu
IHNjcmlwdCBjb2RlIHRvLCBmb3IgZXhhbXBsZSwgcmVuYW1lIGFuIG9iamVjdDoKKworICAgIFxz
bmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyAxNgorCisgICAgXHNl
Y3Rpb24yIERhdGEgdHlwZXMKKworICAgIFdoZW4gY2FsbGluZyBzbG90cywgcmVjZWl2aW5nIHNp
Z25hbHMgb3IgYWNjZXNzaW5nIHByb3BlcnRpZXMsIHVzdWFsbHkgc29tZSBwYXlsb2FkIGlzIGlu
dm9sdmVkLgorICAgIEZvciBleGFtcGxlLCBhIHByb3BlcnR5ICJ0ZXh0IiBtaWdodCByZXR1cm4g
YSBcbHtRU3RyaW5nfSBwYXJhbWV0ZXIuCisgICAgVGhlIFF0V2ViS2l0IGJyaWRnZSBkb2VzIHRo
ZSBqb2Igb2YgY29udmVydGluZyBiZXR3ZWVuIGEgZ2l2ZW4gSmF2YVNjcmlwdCBkYXRhLXR5cGUs
IGFuZCB0aGUKKyAgICBleHBlY3RlZCBvciBnaXZlbiBRdCB0eXBlLiBFYWNoIFF0IHR5cGUgaGFz
IGEgY29yZXNwb25kaW5nIHNldCBvZiBydWxlcyBvZiBob3cgSmF2YVNjcmlwdCB0cmVhdHMgaXQu
CisKKyAgICBUaGUgZGF0YSB0eXBlIGNvbnZlcnNpb25zIGFyZSBhbHNvIGFwcGxpY2FibGUgZm9y
IHRoZSBkYXRhIHJldHVybmVkIGZyb20gbm9uLXZvaWQgaW52b2thYmxlIG1ldGhvZHMuCisKKyAg
ICBcc2VjdGlvbjMgTnVtYmVycworCisgICAgQWxsIFF0IG51bWVyaWMgZGF0YSB0eXBlcyBhcmUg
Y29udmVydGVkIHRvIG9yIGZyb20gYSBKYXZhU2NyaXB0IG51bWJlci4gVGhlc2UgaW5jbHVkZSBp
bnQsIHNob3J0LCBmbG9hdCwKKyAgICBkb3VibGUsIGFuZCB0aGUgcG9yYWJsZSBRdCB0eXBlcyAo
cXJlYWwsIHFpbnQgZXRjKS4gQSBzcGVjaWFsIGNhc2UgaXMgXGx7UUNoYXJ9OworICAgIElmIGEg
c2xvdCBleHBlY3RzIGEgUUNoYXIsIHRoZSBRdFdlYktpdCBicmlkZ2Ugd291bGQgdXNlIHRoZSB1
bmljb2RlIHZhbHVlIGluIGNhc2Ugb2YgYSBudW1iZXIsCisgICAgb3IgdGhlIGZpcnN0IGNoYXJh
Y3RlciBpbiBhIHN0cmluZy4KKworICAgIE5vdGUgdGhhdCBub24tc3RhbmRhcmQgKHR5cGVkZWZl
ZCkgbnVtYmVyIHR5cGVzIGFyZSBub3QgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8KKyAgICBv
ciBmcm9tIGEgSmF2YVNjcmlwdCBudW1iZXIgLSBpdCdzIGFkdmlzZWQgdG8gdXNlIHN0YW5kYXJk
IG51bWJlciB0eXBlcyBmb3Igc2lnbmFsLCBzbG90cworICAgIGFuZCBwcm9wZXJ0aWVzLgorCisg
ICAgV2hlbiBhIG5vbi1udW1iZXIgaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IHRvIGEgbWV0aG9k
IG9yIHByb3BlcnR5IHRoYXQgZXhwZWN0cyBhIG51bWJlciwKKyAgICB0aGUgYXBwcm9wcmlhdGUg
SmF2YVNjcmlwdCBjb252ZXJzaW9uIGZ1bmN0aW9uIChwYXJzZUludCAvIHBhcnNlRmxvYXQpIHdv
dWxkIGJlIHVzZWQuCisKKyAgICBcc2VjdGlvbjMgU3RyaW5ncworCisgICAgV2hlbiBKYXZhU2Ny
aXB0IGFjY2Vzc2VzIG1ldGhvZHMgb3IgcHJvcGVydGllcyB0aGF0IGV4cGVjdCBhIFxse1FTdHJp
bmd9LCB0aGUgUXRXZWJLaXQgYnJpZGdlCisgICAgd2lsbCBhdXRvbWF0aWNhbGx5IGNvbnZlcnQg
dGhlIHZhbHVlIHRvIGEgc3RyaW5nIChpZiBpdCdzIG5vdCBhbHJlYWR5IGEgc3RyaW5nKSwgdXNp
bmcgdGhlCisgICAgYnVpbHQtaW4gSmF2YVNjcmlwdCB0b1N0cmluZyBtZXRob2QuCisKKyAgICBX
aGVuIGEgUVN0cmluZyBpcyBwYXNzZWQgdG8gSmF2YVNjcmlwdCBmcm9tIGEgc2lnbmFsIG9yIGEg
cHJvcGVydHksIFRoZSBRdFdlYktpdCBicmlkZ2Ugd2lsbAorICAgIGNvbnZlcnQgaXQgaW50byBh
IEphdmFTY3JpcHQgc3RyaW5nLgorCisgICAgXHNlY3Rpb24zIERhdGUgJiBUaW1lCisKKyAgICBC
b3RoIFxse1FEYXRlfSwgXGx7UVRpbWV9IGFuZCBcbHtRRGF0ZVRpbWV9IGFyZSBhdXRvbWF0aWNh
bGx5IHRyYW5zbGF0ZWQgdG8gb3IgZnJvbSB0aGUgSmF2YVNjcmlwdAorICAgIERhdGUgb2JqZWN0
LiBJZiBhIG51bWJlciBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQgdG8gYSBtZXRob2QgdGhhdCBl
eHBlY3RzIG9uZSBvZiB0aGUgZGF0ZS90aW1lCisgICAgdHlwZXMsIHRoZSBRdFdlYktpdCBicmlk
Z2Ugd291bGQgdHJlYXQgaXQgYXMgYSB0aW1lc3RhbXAuIElmIGEgc3RpbmcgaXMgcGFzc2VkLCBR
dFdlYktpdCB3b3VsZAorICAgIHRyeSBkaWZmZXJlbnQgUXQgZGF0ZSBwYXJzaW5nIGZ1bmN0aW9u
cyB0byBmaW5kIHRoZSByaWdodCBvbmUuCisKKyAgICBcc2VjdGlvbjMgUmVndWxhciBFeHByZXNz
aW9ucworCisgICAgVGhlIFF0V2ViS2l0IGJyaWRnZSB3b3VsZCBhdXRvbWF0aWNhbGx5IGNvbnZl
cnQgSmF2YVNjcmlwdCBSZWdFeCBvYmplY3QgdG8gYSBcbHtRUmVnRXhwfS4KKyAgICBJZiBhIHN0
cmluZyBpcyBwYXNzZWQgdG8gYSBtZXRob2QgZXhwZWN0aW5nIGEgXGx7UVJlZ0V4cH0sIHRoZSBz
dHJpbmcgd291bGQgYmUgY29udmVydGVkCisgICAgdG8gdGhhdCBcbHtRUmVnRXhwfS4KKworICAg
IFxzZWN0aW9uMyBMaXN0cworCisgICAgVGhlIFF0V2ViS2l0IGJyaWRnZSB0cmVhdHMgc2V2ZXJh
bCB0eXBlcyBvZiBsaXN0cyBpbiBhIHNwZWNpYWwgd2F5OiBcbHtRVmFyaWFudExpc3R9LCBcbHtR
U3RyaW5nTGlzdH0sCisgICAgXGx7UU9iamVjdExpc3R9IGFuZCBcbHtRTGlzdH08aW50Pi4gV2hl
biBhIHNsb3Qgb3IgcHJvcGVydHkgZXhwZWN0cyBvbmUgb2YgdGhvc2UgbGlzdCB0eXBlcywKKyAg
ICB0aGUgUXRXZWJLaXQgYnJpZGdlIHdvdWxkIHRyeSB0byBjb252ZXJ0IGEgSmF2YVNjcmlwdCBh
cnJheSBpbnRvIHRoYXQgdHlwZSwgY29udmVydGluZyBlYWNoIG9mCisgICAgdGhlIGFycmF5J3Mg
ZWxlbWVudHMgdG8gdGhlIHNpbmdsZS1lbGVtZW50IHR5cGUgb2YgdGhlIGxpc3QuCisKKyAgICBU
aGUgbW9zdCB1c2VmdWwgdHlwZSBvZiBsaXN0IGlzIHBlcmhhcHMgXGx7UVZhcmlhbnRMaXN0fSwg
d2hpY2ggY2FuIGJlIGNvbnZlcnRlZCB0byBmcm9tIGFueQorICAgIEphdmFTY3JpcHQgYXJyYXku
CisKKyAgICBcc2VjdGlvbjMgQ29tcG91bmQgKEpTT04pIG9iamVjdHMKKworICAgIEphdmFTY3Jp
cHQgY29tcG91bmQgb2JqZWN0cywgYWxzbyBrbm93biBhcyBKU09OIG9iamVjdHMsIGFyZSB2YXJp
YWJsZXMgd2hpY2ggaG9sZCBhIGxpc3QKKyAgICBvZiBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIGFs
bCB0aGUga2V5cyBhcmUgc3RyaW5ncyBhbmQgdGhlIHZhbHVlcyBjYW4gaGF2ZSBhbnkgdHlwZS4K
KyAgICBUaGlzIHRyYW5zbGF0ZXMgdmVyeSB3ZWxsIHRvIFxse1FWYXJpYW50TWFwfSwgd2hpY2gg
aXMgbm90aGluZyBtb3JlIHRoYW4gYSBcbHtRTWFwfSBvZiBcbHtRU3RyaW5nfQorICAgIHRvIFxs
e1FWYXJpYW50fS4KKworICAgIFRoZSBzZWFtbGVzcyBjb252ZXJzaW9uIGJldHdlZW4gSlNPTiBv
YmplY3RzIGFuZCBcbHtRVmFyaWFudE1hcH0gYWxsb3dzIGZvciBhIHZlcnkgY29udmVuaWVudAor
ICAgIHdheSBvZiBwYXNzaW5nIGFyYml0cmFyeSBzdHJ1Y3R1cmVkIGRhdGEgYmV0d2VlbiBDKysg
YW5kIHRoZSBKYXZhU2NyaXB0IGVudmlyb25tZW50LiBUaGUgbmF0aXZlIFxse1FPYmplY3R9IGhh
cworICAgIHRvIG1ha2Ugc3VyZSB0aGF0IGNvbXBvdW5kIHZhbHVlcyBhcmUgY29udmVydGVkIHRv
IFxse1FWYXJpYW50TWFwfXMgYW5kIFxse1FWYXJpYW50TGlzdH1zLCBhbmQgSmF2YVNjcmlwdCBp
cworICAgIGd1YXJhbnRlZWQgdG8gcmVjZWl2ZSB0aGVtIGluIGEgbWVhbmluZ2Z1bCB3YXkuCisK
KyAgICBOb3RlIHRoYXQgdHlwZXMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSBKU09OLCBzdWNo
IGFzIEphdmFTY3JpcHQgZnVuY3Rpb25zIGFuZCBnZXR0ZXJzL3NldHRlcnMsCisgICAgYXJlIG5v
dCBjb252ZXJ0ZWQuCisKKyAgICBcc2VjdGlvbjMgUVZhcmlhbnRzCisKKyAgICBXaGVuIGEgc2xv
dCBvciBwcm9wZXJ0eSBhY2NlcHRzIGEgXGx7UVZhcmlhbnR9LCB0aGUgUXRXZWJLaXQgYnJpZGdl
IHdvdWxkIGNyZWF0ZSBhIFxse1FWYXJpYW50fSB0aGF0IGJlc3QKKyAgICBtYXRjaGVzIHRoZSBh
cmd1bWVudCBwYXNzZWQgYnkgSmF2YVNjcmlwdC4gQSBzdHJpbmcsIGZvciBleGFtcGxlLCB3b3Vs
ZCBiZWNvbWUgYSBcbHtRVmFyaWFudH0gaG9sZGluZyBhIFxse1FTdHJpbmd9LAorICAgIGEgbm9y
bWFsIEpTT04gb2JqZWN0IHdvdWxkIGJlY29tZSBhIFxse1FWYXJpYW50TWFwfSwgYW5kIGEgSmF2
YVNjcmlwdCBhcnJheSB3b3VsZCBiZWNvbWUgYSBcbHtRVmFyaWFudExpc3R9LgorCisgICAgVXNp
bmcgXGx7UVZhcmlhbnR9cyBnZW5lcm91c2x5IGluIEMrKyBpbiB0aGF0IHdheSBtYWtlcyBDKysg
cHJvZ3JhbW1pbmcgZmVlbCBhIGJpdCBtb3JlIGxpa2UgSmF2YVNjcmlwdCBwcm9ncmFtbWluZywK
KyAgICBhcyBpdCBhZGRzIGFub3RoZXIgbGV2ZWwgb2YgaW5kaXJlY3Rpb24gLSBwYXNzaW5nIFxs
e1FWYXJpYW50fXMgYXJvdW5kIGlzIHZlcnkgZmxleGlibGUsIGFzIHRoZSBwcm9ncmFtIGNhbiBm
aWd1cmUgb3V0CisgICAgdGhlIHR5cGUgb2YgYXJndW1lbnQgaW4gcnVudGltZSBqdXN0IGxpa2Ug
SmF2YVNjcmlwdCB3b3VsZCBkbywgYnV0IGl0IGFsc28gdGFrZXMgYXdheSBmcm9tIHRoZSB0eXBl
LXNhZmV0eSBhbmQgcm9idXN0CisgICAgbmF0dXJlIG9mIEMrKy4gSXQncyByZWNvbW1lbmRlZCB0
byB1c2UgXGx7UVZhcmlhbnR9cyBvbmx5IGZvciBjb252ZW5pZW5jZSBoaWdoLWxldmVsIGZ1bmN0
aW9ucywgYW5kIHRvIGtlZXAgbW9zdCBvZiB5b3VyCisgICAgXGx7UU9iamVjdH1zIHNvbWV3aGF0
IHR5cGUtc2FmZS4KKworICAgIFxzZWN0aW9uMyBRT2JqZWN0cworCisgICAgQSBwb2ludGVyIHRv
IGEgXGx7UU9iamVjdH0gb3IgYSBcbHtRV2lkZ2V0fSBjYW4gYmUgcGFzc2VkIGFzIHBheWxvYWQg
aW4gc2lnbmFscywgc2xvdHMgYW5kIHByb3BlcnRpZXMuIFRoYXQgb2JqZWN0CisgICAgY2FuIHRo
ZW4gYmUgdXNlZCBsaWtlIGFuIG9iamVjdCB0aGF0J3MgZXhwb3NlZCBkaXJlY3RseTsgaS5lLiBp
dHMgc2xvdHMgY2FuIGJlIGludm9rZWQsIGl0cyBzaWduYWxzIGNvbm5lY3RlZCB0byBldGMuCisg
ICAgSG93ZXZlciwgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBsaW1pdGVkIC0gdGhlIHR5
cGUgdXNlZCBoYXMgdG8gYmUgXGx7UU9iamVjdH0qIG9yIFxse1FXaWRnZXR9Ki4gSWYgdGhlIHR5
cGUKKyAgICBzcGVjaWZpZWQgaXMgYSBwb2ludGVyIHRvIGEgbm9uLVxse1FXaWRnZXR9IHN1YmNs
YXNzIG9mIFxse1FPYmplY3R9LCB0aGUgUXRXZWJLaXQgYnJpZGdlIHdvdWxkIG5vdCByZWNvZ25p
emUgaXQgdG8gYmUKKyAgICBhIFxse1FPYmplY3R9LgorCisgICAgSW4gZ2VuZXJhbCBpdHMgYWR2
aXNlZCB0byB1c2UgY2FyZSB3aGVuIHBhc3NpbmcgXGx7UU9iamVjdH1zIGFzIGFyZ3VtZW50cywg
YXMgdGhvc2Ugb2JqZWN0cyBkb24ndCBiZWNvbWUgb3duZWQgYnkKKyAgICB0aGUgSmF2YXNjaXB0
IGVuZ2luZTsgVGhhdCBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIgaGFzIHRv
IGJlIGV4dHJhIGNhcmVmdWwgbm90IHRvIHRyeSB0byBhY2Nlc3MKKyAgICBcbHtRT2JqZWN0fXMg
dGhhdCBoYXZlIGFscmVhZHkgYmVlbiBkZWxldGVkIGJ5IHRoZSBuYXRpdmUgZW52aXJvbm1lbnQu
CisKKyAgICBcc2VjdGlvbjMgUGl4bWFwcyBhbmQgSW1hZ2VzCisKKyAgICBcc2luY2UgNC43CisK
KyAgICBUaGUgUXRXZWJLaXQgYnJpZGdlIGhhbmRsZXMgXGx7UVBpeG1hcH1zIGFuZCBcbHtRSW1h
Z2V9cyBpbiBhIHNwZWNpYWwgd2F5LiBTaW5jZSBRdFdlYktpdCBzdG9yZXMgXGx7UVBpeG1hcH1z
IHRvCisgICAgcmVwcmVzZW50IEhUTUwgaW1hZ2VzLCBcbHtRUGl4bWFwfXMgY29taW5nIGZyb20g
dGhlIG5hdGl2ZSBlbnZpcm9ubWVudCBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbnNpZGUgV2ViS2l0
LgorICAgIEEgXGx7UUltYWdlfSBvciBhIFxse1FQaXhtYXB9IGNvbWluZyBmcm9tIHRoZSBRdCBl
bnZpcm9ubWVudCB3b3VsZCBjb252ZXJ0IHRvIGFuIGludGVybWVkaWF0ZSBKYXZhU2NyaXB0IG9i
amVjdCwKKyAgICB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBsaWtlIHRoaXM6CisKKyAgICBcc25p
cHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBldHMuY3BwIDEKKworICAg
IFRoZSBKYXZhU2NyaXB0IGVudmlyb25tZW50IGNhbiB0aGVuIHVzZSB0aGUgcGl4bWFwIGl0IGdl
dHMgZnJvbSBRdCBhbmQgZGlzcGxheSBpdCBpbnNpZGUgdGhlIEhUTUwgZW52aXJvbm1lbnQsCisg
ICAgYnkgYXNzaWduaW5nIGl0IHRvIGFuIGV4aXN0aW5nIDxpbWcgLz4gZWxlbWVudCB1c2luZyBh
c3NpZ25Ub0hUTUxJbWFnZUVsZW1lbnQuIEl0IGNhbiBhbHNvIHVzZSB0aGUgdG9EYXRhVVJMKCkg
ZnVuY3Rpb24sCisgICAgd2hpY2ggYWxsb3dzIHVzaW5nIHRoZSBwaXhtYXAgYXMgdGhlIHNyYyBh
dHRyaWJ1dGUgb2YgYW4gaW1hZ2Ugb3IgYXMgYSBiYWNrZ3JvdW5kLWltYWdlIHVybC4gTm90ZSB0
aGF0IHRoZSB0b0RhdGFVUkwoKQorICAgIGZ1bmN0aW9uIGlzIGNvc3RseSBhbmQgc2hvdWxkIGJl
IHVzZWQgd2l0aCBjYXV0aW9uLgorCisgICAgRXhhbXBsZSBjb2RlOgorCisgICAgQysrOgorICAg
IFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0cy5jcHAgMgor
CisgICAgSFRNTDoKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vf
c25pcHBldHMuY3BwIDMKKworICAgIFdoZW4gYSBRdCBvYmplY3QgZXhwZWN0cyBhIFxse1FJbWFn
ZX0gb3IgYSBcbHtRUGl4bWFwfSBhcyBpbnB1dCwgYW5kIHRoZSBhcmd1bWVudCBwYXNzZWQgaXMg
YW4gSFRNTCBpbWFnZSBlbGVtZW50LAorICAgIHRoZSBRdFdlYktpdCBicmlkZ2Ugd291bGQgY29u
dmVydCB0aGUgcGl4bWFwIGFzc2lnbmVkIHRvIHRoYXQgaW1hZ2UgZWxlbWVudCBpbnRvIGEgXGx7
UVBpeG1hcH0gb3IgYSBcbHtRSW1hZ2V9LgorCisgICAgXHNpbmNlIDQuNworCisgICAgXHNlY3Rp
b24zIFFXZWJFbGVtZW50CisKKyAgICBBIHNpZ25hbCwgc2xvdCBvciBwcm9wZXJ0eSB0aGF0IGV4
cGVjdHMgb3IgcmV0dXJucyBhIFxse1FXZWJFbGVtZW50fSBjYW4gd29yayBzZWFtbGVzc2x5IHdp
dGggSmF2YVNjcmlwdCByZWZlcmVuY2VzCisgICAgdG8gRE9NIGVsZW1lbnRzLiBUaGUgSmF2YVNj
cmlwdCBlbnZpcm9ubWVudCBjYW4gc2VsZWN0IERPTSBlbGVtZW50cywga2VlcCB0aGVtIGluIHZh
cmlhYmxlcywgdGhlbiBwYXNzIHRoZW0gdG8gUXQgYXMKKyAgICBhIFxse1FXZWJFbGVtZW50fSwg
YW5kIHJlY2VpdmUgdGhlbSBiYWNrLiBFeGFtcGxlOgorCisgICAgQysrOgorICAgIFxzbmlwcGV0
IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0cy5jcHAgNAorCisgICAgSFRN
TDoKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBldHMu
Y3BwIDUKKworICAgIFRoaXMgaXMgc3BlY2lmaWNhbGx5IHVzZWZ1bCB0byBjcmVhdGUgY3VzdG9t
IHJlbmRlcmVycyBvciBleHRlbnNpb25zIHRvIHRoZSB3ZWIgZW52aXJvbm1lbnQuIEluc3RlYWQg
b2YgZm9yY2luZyBRdAorICAgIHRvIHNlbGVjdCB0aGUgZWxlbWVudCwgdGhlIHdlYiBlbnZpcm9u
bWVudCBhbHJlYWR5IHNlbGVjdHMgdGhlIGVsZW1lbnQgYW5kIHRoZW4gc2VuZCB0aGUgc2VsZWN0
ZWQgZWxlbWVudCBkaXJlY3RseSB0byBRdC4KKworICAgIE5vdGUgdGhhdCBcbHtRV2ViRWxlbWVu
dH1zIGFyZSBub3QgdGhyZWFkIHNhZmUgLSBhbiBvYmplY3QgaGFuZGxpbmcgdGhlbSBoYXMgdG8g
bGl2ZSBpbiB0aGUgVUkgdGhyZWFkLgorCisgICAgXHNlY3Rpb24xIEFyY2hpdGVjdHVyZSBpc3N1
ZXMKKworICAgIFxzZWN0aW9uMiBMaW1pdGluZyB0aGUgU2NvcGUgb2YgdGhlIEh5YnJpZCBMYXll
cgorCisgICAgV2hlbiB1c2luZyBRdFdlYktpdCdzIGh5YnJpZCBmZWF0dXJlcywgaXQncyBhIGNv
bW1vbiBwaXRmYWxsIHRvIG1ha2UgdGhlIEFQSSBleHBvc2VkIHRvIEphdmFTY3JpcHQgdmVyeSBy
aWNoIGFuZAorICAgIHVzZSBhbGwgaXRzIGZlYXR1cmVzLiBUaGlzLCBob3dldmVyLCBsZWFkcyB0
byBjb21wbGV4aXR5IGFuZCBjYW4gY3JlYXRlIGJ1Z3MgdGhhdCBhcmUgaGFyZCB0byB0cmFjZS4K
KyAgICBJbnN0ZWFkLCBpdCdzIGFkdmlzYWJsZSB0byBrZWVwIHRoZSBoeWJyaWQgbGF5ZXIgc21h
bGwgYW5kIG1hbmFnZWFibGU6IGNyZWF0ZSBhIGdhdGUgb25seSB3aGVuCisgICAgdGhlcmUncyBh
biBhY3R1YWwgbmVlZCBmb3IgaXQsIGkuZS4gdGhlcmUncyBhIG5ldyBuYXRpdmUgZW5hYmxlciB0
aGF0IHJlcXVpcmVzIGEgZGlyZWN0IGludGVyZmFjZQorICAgIHRvIHRoZSBhcHBsaWNhdGlvbiBs
YXllci4gU29tZXRpbWVzIG5ldyBmdW5jdGlvbmFsaXR5IGlzIGJldHRlciBoYW5kbGVkIGludGVy
bmFsbHkgaW4gdGhlIG5hdGl2ZSBsYXllcgorICAgIG9yIGluIHRoZSB3ZWIgbGF5ZXI7IHNpbXBs
aWNpdHkgaXMgeW91ciBmcmllbmQuCisKKyAgICBUaGlzIHVzdWFsbHkgYmVjb21lcyBtb3JlIGFw
cGFyZW50IHdoZW4gdGhlIGh5YnJpZCBsYXllciBjYW4gY3JlYXRlIG9yIGRlc3Ryb3kgb2JqZWN0
cywgb3IgdXNlcworICAgIHNpZ25hbHMgc2xvdHMgb3IgcHJvcGVydGllcyB3aXRoIGEgXGx7UU9i
amVjdH0qIGFyZ3VtZW50LiBJdCdzIGFkdmlzZWQgdG8gYmUgdmVyeSBjYXJlZnVsIGFuZCB0byB0
cmVhdAorICAgIGFuIGV4cG9zZWQgXGx7UU9iamVjdH0gYXMgYSBzeXN0ZW0gLSB3aXRoIGNhcmVm
dWwgYXR0ZW50aW9uIHRvIG1lbW9yeSBtYW5hZ2VtZW50IGFuZCBvYmplY3Qgb3duZXJzaGlwLgor
CisgICAgXHNlY3Rpb24yIEludGVybmV0IFNlY3VyaXR5CisKKyAgICBXaGVuIGV4cG9zaW5nIG5h
dGl2ZSBvYmplY3QgdG8gYW4gb3BlbiB3ZWIgZW52aXJvbm1lbnQsIGl0J3MgaW1wb3J0YW50IHRv
IHVuZGVyc3RhbmQgdGhlIHNlY3VyaXR5CisgICAgaW1wbGljYXRpb25zLiBUaGluayB3aGV0aGVy
IHRoZSBleHBvc2VkIG9iamVjdCBlbmFibGVzIHRoZSB3ZWIgZW52aXJvbm1lbnQgYWNjZXNzIHRv
IHRoaW5ncyB0aGF0CisgICAgc2hvdWxkbid0IGJlIG9wZW4sIGFuZCB3aGV0aGVyIHRoZSB3ZWIg
Y29udGVudCBsb2FkZWQgYnkgdGhhdCB3ZWIgcGFnZSBjb21lcyBmcm9tIGEgdHJ1c3RlZC4gSW4g
Z2VuZXJhbCwgd2hlbgorICAgIGV4cG9zaW5nIG5hdGl2ZSBRT2JqZWN0cyB0aGF0IGdpdmUgdGhl
IHdlYiBlbnZpcm9ubWVudCBhY2Nlc3MgdG8gcHJpdmF0ZSBpbmZvcm1hdGlvbiBvciB0byBmdW5j
dGlvbmFsaXR5CisgICAgdGhhdCdzIHBvdGVudGlhbGx5IGhhcm1mdWwgdG8gdGhlIGNsaWVudCwg
c3VjaCBleHBvc3VyZSBzaG91bGQgYmUgYmFsYW5jZWQgYnkgbGltaXRpbmcgdGhlIHdlYiBwYWdl
J3MKKyAgICBhY2Nlc3MgdG8gdHJ1c3RlZCBVUkxzIG9ubHkgd2l0aCBIVFRQUyBhbmQgb3RoZXIg
c2VjdXJpdHkgbWVhc3VyZXMuCisKKworKi8KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9kb2NzL3F0
d2Via2l0LnFkb2MgYi9XZWJLaXQvcXQvZG9jcy9xdHdlYmtpdC5xZG9jCmluZGV4IDllNjUzZTQu
LjFmOWFmN2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9kb2NzL3F0d2Via2l0LnFkb2MKKysrIGIv
V2ViS2l0L3F0L2RvY3MvcXR3ZWJraXQucWRvYwpAQCAtNzIsOCArNzIsOSBAQAogICAgIHNjcmlw
dGVkIHdpdGggSmF2YVNjcmlwdC4KIAogICAgIEEgYnJpZGdlIGJldHdlZW4gdGhlIEphdmFTY3Jp
cHQgZXhlY3V0aW9uIGVudmlyb25tZW50IGFuZCB0aGUgUXQgb2JqZWN0Ci0gICAgbW9kZWwgbWFr
ZXMgaXQgcG9zc2libGUgZm9yIGN1c3RvbSBRT2JqZWN0cyB0byBiZSBzY3JpcHRlZC4gSW50ZWdy
YXRpb24KLSAgICB3aXRoIHRoZSBRdCBuZXR3b3JraW5nIG1vZHVsZSBlbmFibGVzIFdlYiBwYWdl
cyB0byBiZSB0cmFuc3BhcmVudGx5IGxvYWRlZAorICAgIG1vZGVsIG1ha2VzIGl0IHBvc3NpYmxl
IGZvciBjdXN0b20gUU9iamVjdHMgdG8gYmUgc2NyaXB0ZWQuIEZvciBkZXRhaWxlZAorICAgIGRv
Y3VtZW50YXRpb24gc2VlIFxse1RoZSBRdFdlYmtpdCBCcmlkZ2V9LgorICAgIEludGVncmF0aW9u
IHdpdGggdGhlIFF0IG5ldHdvcmtpbmcgbW9kdWxlIGVuYWJsZXMgV2ViIHBhZ2VzIHRvIGJlIHRy
YW5zcGFyZW50bHkgbG9hZGVkCiAgICAgZnJvbSBXZWIgc2VydmVycywgdGhlIGxvY2FsIGZpbGUg
c3lzdGVtIG9yIGV2ZW4gdGhlIFF0IHJlc291cmNlIHN5c3RlbS4KIAogICAgIEluIGFkZGl0aW9u
IHRvIHByb3ZpZGluZyBwdXJlIHJlbmRlcmluZyBmZWF0dXJlcywgSFRNTCBkb2N1bWVudHMgY2Fu
IGJlCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvZG9jcy93ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9i
cmlkZ2Vfc25pcHBldHMuY3BwIGIvV2ViS2l0L3F0L2RvY3Mvd2Via2l0c25pcHBldHMvcXR3ZWJr
aXRfYnJpZGdlX3NuaXBwZXRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5kODNhYjNmCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L2RvY3Mvd2Via2l0c25pcHBl
dHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcApAQCAtMCwwICsxLDgzIEBACisKK3ZvaWQg
d3JhcEluRnVuY3Rpb24oKQoreworCisvLyEgWzBdCisgICAgLy8gLi4uCisgICAgUVdlYkZyYW1l
ICpmcmFtZSA9IG15V2ViUGFnZS0+bWFpbkZyYW1lKCk7CisgICAgZnJhbWUtPmFkZFRvSmF2YVNj
cmlwdFdpbmRvd09iamVjdCgic29tZU5hbWVGb3JNeU9iamVjdCIsIG15T2JqZWN0KTsKKyAgICAv
LyAuLi4KKy8vISBbMF0KKyNpZiAwCisgICAgLy8hIFsxXQorICAgeworICAgICAgIHdpZHRoOiAu
Li4sCisgICAgICAgaGVpZ2h0OiAuLi4sCisgICAgICAgdG9EYXRhVVJMOiBmdW5jdGlvbigpIHsg
Li4uIH0sCisgICAgICAgYXNzaWduVG9IVE1MSW1hZ2VFbGVtZW50OiBmdW5jdGlvbihlbGVtZW50
KSB7IC4uLiB9CisgICB9CisgICAvLyEgWzFdCisjZW5kaWYKKyAgICAvLyEgWzJdCisgICAgIGNs
YXNzIE15T2JqZWN0IDogUU9iamVjdCB7CisgICAgICAgICBRX09CSkVDVAorICAgICAgICAgUV9Q
Uk9QRVJUWShRUGl4bWFwIG15UGl4bWFwIFJFQUQgZ2V0UGl4bWFwKQorCisgICAgIHB1YmxpYzoK
KyAgICAgICAgIFFQaXhtYXAgZ2V0UGl4bWFwKCkgY29uc3Q7CisgICAgIH07CisKKyAgICAgLyog
Li4uICovCisKKyAgICAgTXlPYmplY3QgbXlPYmplY3Q7CisgICAgIG15V2ViUGFnZS5tYWluRnJh
bWUoKS0+YWRkVG9KYXZhU2NyaXB0V2luZG93T2JqZWN0KCJteU9iamVjdCIsICZteU9iamVjdCk7
CisKKyAgICAvLyEgWzJdCisgI2lmIDAKKyAgICAgLy8hIFszXQorICAgICA8aHRtbD4KKyAgICAg
ICAgPGhlYWQ+CisgICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgIGZ1bmN0aW9uIGxvYWRJ
bWFnZSgpIHsKKyAgICAgICAgICAgICAgICAgbXlPYmplY3QubXlQaXhtYXAuYXNzaWduVG9IVE1M
SW1hZ2VFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZUVsZW1lbnQiKSk7Cisg
ICAgICAgICAgICAgfQorICAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwvaGVhZD4KKyAgICAg
ICAgPGJvZHkgb25sb2FkPSJsb2FkSW1hZ2UoKSI+CisgICAgICAgICA8aW1nIGlkPSJpbWFnZUVs
ZW1lbnQiIHdpZHRoPSIzMDAiIGhlaWdodD0iMjAwIiAvPgorICAgICAgICA8L2JvZHk+CisgICAg
IDwvaHRtbD4KKyAgICAvLyEgWzNdCisgI2VuZGlmCisgICAgIC8vISBbNF0KKyAgICAgIGNsYXNz
IE15T2JqZWN0IDogUU9iamVjdCB7CisgICAgICAgICAgUV9PQkpFQ1QKKworICAgICAgcHVibGlj
IHNsb3RzOgorICAgICAgICAgIHZvaWQgZG9Tb21ldGhpbmdXaXRoV2ViRWxlbWVudChjb25zdCBR
V2ViRWxlbWVudCYpOworICAgICAgfTsKKworICAgICAgLyogLi4uICovCisKKyAgICAgIE15T2Jq
ZWN0IG15T2JqZWN0OworICAgICAgbXlXZWJQYWdlLm1haW5GcmFtZSgpLT5hZGRUb0phdmFTY3Jp
cHRXaW5kb3dPYmplY3QoIm15T2JqZWN0IiwgJm15T2JqZWN0KTsKKworICAgICAvLyEgWzRdCisg
ICNpZiAwCisgICAgICAvLyEgWzVdCisgICAgICA8aHRtbD4KKyAgICAgICAgIDxoZWFkPgorICAg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAgIGZ1bmN0aW9uIHJ1bkV4YW1wbGUoKSB7Cisg
ICAgICAgICAgICAgICAgICBteU9iamVjdC5kb1NvbWV0aGluZ1dpdGhXZWJFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzb21lRWxlbWVudCIpKTsKKyAgICAgICAgICAgICAgfQorICAg
ICAgICAgIDwvc2NyaXB0PgorICAgICAgICAgPC9oZWFkPgorICAgICAgICAgPGJvZHkgb25sb2Fk
PSJydW5FeGFtcGxlKCkiPgorICAgICAgICAgIDxzcGFuIGlkPSJzb21lRWxlbWVudCI+VGV4dDwv
c3Bhbj4KKyAgICAgICAgIDwvYm9keT4KKyAgICAgIDwvaHRtbD4KKyAgICAgLy8hIFs1XQorICAj
ZW5kaWYKK30KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>54479</attachid>
            <date>2010-04-27 17:14:17 -0700</date>
            <delta_ts>2010-06-01 10:03:21 -0700</delta_ts>
            <desc>generated HTML documentation</desc>
            <filename>qtwebkit-bridge.html</filename>
            <type>text/html</type>
            <size>31064</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRt
bAogICAgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgIkRURC94aHRt
bDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
IiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPCEtLSBxdHdlYmtpdC1icmlkZ2UucWRvYyAtLT4K
PGhlYWQ+CiAgPHRpdGxlPlRoZSBRdFdlYktpdCBCcmlkZ2U8L3RpdGxlPgo8bWV0YSBodHRwLWVx
dWl2PSJDb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0x
IiAvPiAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPmgzLmZuLHNwYW4uZm4geyBtYXJnaW4tbGVm
dDogMWNtOyB0ZXh0LWluZGVudDogLTFjbTsgfWE6bGluayB7IGNvbG9yOiAjMDA0ZmFmOyB0ZXh0
LWRlY29yYXRpb246IG5vbmUgfWE6dmlzaXRlZCB7IGNvbG9yOiAjNjcyOTY3OyB0ZXh0LWRlY29y
YXRpb246IG5vbmUgfXRkLnBvc3RoZWFkZXIgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZiB9dHIu
YWRkcmVzcyB7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmIH1ib2R5IHsgYmFja2dyb3VuZDogI2Zm
ZmZmZjsgY29sb3I6IGJsYWNrIH10YWJsZSB0ci5vZGQgeyBiYWNrZ3JvdW5kOiAjZjBmMGYwOyBj
b2xvcjogYmxhY2s7IH10YWJsZSB0ci5ldmVuIHsgYmFja2dyb3VuZDogI2U0ZTRlNDsgY29sb3I6
IGJsYWNrOyB9dGFibGUuYW5ub3RhdGVkIHRoIHsgcGFkZGluZzogM3B4OyB0ZXh0LWFsaWduOiBs
ZWZ0IH10YWJsZS5hbm5vdGF0ZWQgdGQgeyBwYWRkaW5nOiAzcHg7IH0gdGFibGUgdHIgcHJlIHsg
cGFkZGluZy10b3A6IG5vbmU7IHBhZGRpbmctYm90dG9tOiBub25lOyBwYWRkaW5nLWxlZnQ6IG5v
bmU7IHBhZGRpbmctcmlnaHQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogbm9uZSB9
dHIucXQtc3R5bGUgeyBiYWNrZ3JvdW5kOiAjYTJjNTExOyBjb2xvcjogYmxhY2sgfWJvZHkgcHJl
IHsgcGFkZGluZzogMC4yZW07IGJvcmRlcjogI2U3ZTdlNyAxcHggc29saWQ7IGJhY2tncm91bmQ6
ICNmMWYxZjE7IGNvbG9yOiBibGFjayB9c3Bhbi5wcmVwcm9jZXNzb3IsIHNwYW4ucHJlcHJvY2Vz
c29yIGEgeyBjb2xvcjogZGFya2JsdWU7IH1zcGFuLmNvbW1lbnQgeyBjb2xvcjogZGFya3JlZDsg
Zm9udC1zdHlsZTogaXRhbGljIH1zcGFuLnN0cmluZyxzcGFuLmNoYXIgeyBjb2xvcjogZGFya2dy
ZWVuOyB9LnRpdGxlIHsgdGV4dC1hbGlnbjogY2VudGVyIH0uc3VidGl0bGUgeyBmb250LXNpemU6
IDAuOGVtIH0uc21hbGwtc3VidGl0bGUgeyBmb250LXNpemU6IDAuNjVlbSB9PC9zdHlsZT4KICA8
bGluayByZWw9ImNvbnRlbnRzIiBocmVmPSJxdHdlYmtpdC5odG1sIiAvPgo8L2hlYWQ+Cjxib2R5
Pgo8cD4KWzxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0IE1vZHVsZTwvYT5dCjwvcD4K
PGgxIGNsYXNzPSJ0aXRsZSI+VGhlIFF0V2ViS2l0IEJyaWRnZTxiciAvPjxzcGFuIGNsYXNzPSJz
dWJ0aXRsZSI+PC9zcGFuPgo8L2gxPgo8YSBuYW1lPSJvdmVydmlldyI+PC9hPgo8aDI+T3ZlcnZp
ZXc8L2gyPgo8YSBuYW1lPSJ0aGUtdGVjaG5vbG9neSI+PC9hPgo8aDM+VGhlIHRlY2hub2xvZ3k8
L2gzPgo8cD5UaGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSBp
cyBhIG1lY2hhbmlzbSB0aGF0IGV4dGVuZHMgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9k
b2MvNC43L2V4YW1wbGVzLmh0bWwiPldlYktpdDwvYT4ncyBKYXZhU2NyaXB0IGVudmlyb25tZW50
IHRvIGFjY2VzcyBuYXRpdmUgb2JqZWN0cyB0aGF0IGFyZSByZXByZXNlbnRlZCBhcyA8YSBocmVm
PSIjcW9iamVjdHMiPlFPYmplY3RzPC9hPi4gSXQgdGFrZXMgYWR2YW50YWdlIG9mIHRoZSBpbmhl
cmVudCBpbnRyb3NwZWN0aW9uIG9mIHRoZSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2Rv
Yy80Ljcvb2JqZWN0Lmh0bWwiPlF0IE9iamVjdCBNb2RlbDwvYT4sIHdoaWNoIGhhcyBhIG5hdHVy
YWwgYWxpZ25tZW50IHRvIHRoZSB3YXkgSmF2YVNjcmlwdCB3b3JrZWQuPC9wPgo8cD5Gb3IgZXhh
bXBsZSwgYm90aCBKYXZhU2NyaXB0IGFuZCA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3RzPC9h
PiBoYXZlIHByb3BlcnRpZXM6IGEgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50IGEgZ2V0dGVyL3Nl
dHRlciBwYWlyIHVuZGVyIG9uZSBuYW1lLjwvcD4KPGEgbmFtZT0idXNlLWNhc2VzIj48L2E+Cjxo
Mz5Vc2UgQ2FzZXM8L2gzPgo8cD5UaGVyZSBhcmUgdHdvIG1haW4gdXNlIGNhc2VzIGZvciB0aGUg
PGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZS4gV2ViIGNvbnRlbnQg
aW4gYSBuYXRpdmUgYXBwbGljYXRpb24sIGFuZCBUaGluIENsaWVudC48L3A+CjxhIG5hbWU9Indl
Yi1jb250ZW50LWluLWEtbmF0aXZlLWFwcGxpY2F0aW9uIj48L2E+CjxoND5XZWIgQ29udGVudCBp
biBhIE5hdGl2ZSBBcHBsaWNhdGlvbjwvaDQ+CjxwPlRoaXMgaXMgYSBjb21tb24gdXNlIGNhc2Ug
aW4gY2xhc3NpYyBRdCBhcHBsaWNhdGlvbiwgYW5kIGEgZGVzaWduIHBhdHRlcm4gdXNlZCBieSBz
ZXZlcmFsIG1vZGVybiBhcHBsaWNhdGlvbnMuIEZvciBleGFtcGxlLCBhbiBhcHBsaWNhdGlvbiB0
aGF0IGNvbnRhaW5zIGJvdGggYSBtZWRpYS1wbGF5ZXIsIHBsYXlsaXN0IG1hbmFnZXIsIGFuZCBh
IG11c2ljIHN0b3JlLiBUaGUgcGxheWxpc3QgbWFuYWdlciBpcyB1c3VhbGx5IGJlc3QgYXV0aG9y
ZWQgYXMgYSBjbGFzc2ljIGRlc2t0b3AgYXBwbGljYXRpb24sIHdpdGggdGhlIG5hdGl2ZS1sb29r
aW5nIHJvYnVzdCA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXdpZGdldC5o
dG1sIj5RV2lkZ2V0PC9hPnMgaGVscGluZyB3aXRoIHByb2R1Y2luZyB0aGF0IGFwcGxpY2F0aW9u
LiBUaGUgbWVkaWEtcGxheWVyIGNvbnRyb2wsIHdoaWNoIHVzdWFsbHkgbG9va3MgY3VzdG9tLCBj
YW4gYmUgd3JpdHRlbiB1c2luZyA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80Ljcv
Z3JhcGhpY3N2aWV3Lmh0bWwiPlRoZSBHcmFwaGljcyBWaWV3IGZyYW1ld29yazwvYT4gb3Igd2l0
aCBpbiBhIGRlY2xhcmF0aXZlIHdheSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20v
ZG9jLzQuNy9xdGRlY2xhcmF0aXZlLmh0bWwiPlF0RGVjbGFyYXRpdmU8L2E+LiBUaGUgbXVzaWMg
c3RvcmUsIHdoaWNoIHNob3dzIGR5bmFtaWMgY29udGVudCBmcm9tIHRoZSBpbnRlcm5ldCwgYW5k
IGdldHMgbW9kaWZpZWQgcmFwaWRseSwgaXMgYmVzdCBhdXRob3JlZCBpbiBIVE1MIGFuZCBtYWlu
dGFpbmVkIG9uIHRoZSBzZXJ2ZXIuPC9wPgo8cD5XaXRoIHRoZSA8YSBocmVmPSJxdHdlYmtpdC5o
dG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlLCB0aGF0IG11c2ljIHN0b3JlIGNvbXBvbmVudCBjYW4g
aW50ZXJhY3Qgd2l0aCBuYXRpdmUgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uLCBmb3IgZXhhbXBs
ZSwgaWYgYSBmaWxlIG5lZWRzIHRvIGJlIHNhdmVkIHRvIGEgc3BlY2lmaWMgbG9jYXRpb24uPC9w
Pgo8YSBuYW1lPSJ0aGluLWNsaWVudCI+PC9hPgo8aDQ+VGhpbiBDbGllbnQ8L2g0Pgo8cD5Bbm90
aGVyIHVzZSBjYXNlIGlzIHVzaW5nIFF0IGFzIGEgbmF0aXZlIGJhY2tlbmQgdG8gYSBmdWxsIHdl
YiBhcHBsaWNhdGlvbiwgcmVmZXJyZWQgdG8gaGVyZSBhcyBhIHRoaW4gY2xpZW50LiBJbiB0aGlz
IHVzZS1jYXNlLCB0aGUgZW50aXJlIFVJIGlzIGRyaXZlbiBieSBIVE1MLCBKYXZhU2NyaXB0IGFu
ZCBDU1MsIGFuZCBuYXRpdmUgUXQtYmFzZWQgY29tcG9uZW50cyBhcmUgdXNlZCB0byBhbGxvdyB0
aGF0IGFwcGxpY2F0aW9uIGFjY2VzcyB0byBuYXRpdmUgZmVhdHVyZXMgbm90IHVzdWFsbHkgZXhw
b3NlZCB0byB0aGUgd2ViLCBvciB0byBlbmFibGUgaGVscGVyIGNvbXBvbmVudHMgdGhhdCBhcmUg
YmVzdCB3cml0dGVuIHdpdGggQysrLjwvcD4KPHA+QW4gZXhhbXBsZSBmb3Igc3VjaCBjbGllbnQg
aXMgYSBVSSBmb3IgYSB2aWRlby1vbi1kZW1hbmQgc2VydmljZSBvbiBhIFRWLiBUaGUgZW50aXJl
IGNvbnRlbnQgYW5kIFVJIGNhbiBiZSBrZXB0IG9uIHRoZSBzZXJ2ZXIsIHNlcnZlZCBkeW5hbWlj
YWxseSB0aHJvdWdoIEhUVFAgYW5kIHJlbmRlcmVkIHdpdGggPGEgaHJlZj0iaHR0cDovL3F0Lm5v
a2lhLmNvbS9kb2MvNC43L2V4YW1wbGVzLmh0bWwiPldlYktpdDwvYT4sIHdpdGggYWRkaXRpb25h
bCBuYXRpdmUgY29tcG9uZW50cyBmb3IgYWNjZXNzaW5nIGhhcmR3YXJlLXNwZWNpZmljIGZlYXR1
cmVzIGxpa2UgZXh0cmFjdGluZyB0aGUgbGlzdCBvZiBpbWFnZXMgb3V0IG9mIHRoZSB2aWRlby48
L3A+CjxhIG5hbWU9ImRpZmZlcmVuY2UtZnJvbS1vdGhlci1icmlkZ2UtdGVjaG5vbG9naWVzIj48
L2E+CjxoMz5EaWZmZXJlbmNlIGZyb20gT3RoZXIgQnJpZGdlIFRlY2hub2xvZ2llczwvaDM+Cjxw
Pk9mIGNvdXJzZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gaXMgbm90IHRo
ZSBvbmx5IGJyaWRnZSB0ZWNobm9sb2d5IG91dCB0aGVyZS4gTlBBUEksIGZvciBleGFtcGxlLCBp
cyBhIGxvbmctdGltZSBzdGFuZGFyZCBvciB3ZWItbmF0aXZlIGJyaWRnaW5nLiBEdWUgdG8gUXQn
cyBtZXRhLW9iamVjdCBzeXN0ZW0sIGZ1bGwgYXBwbGljYXRpb25zIGJ1aWx0IHBhcnRpYWxseSB3
aXRoIHdlYi10ZWNobm9sb2dpZXMgYXJlIG11Y2ggZWFzaWVyIHRvIGRldmVsb3AuIE5QQVBJLCBo
b3dldmVyLCBpcyBtb3JlIGdlYXJlZCB0b3dhcmRzIGNyb3NzLWJyb3dzZXIgcGx1Z2lucywgZHVl
IHRvIGl0IGJlaW5nIGFuIGFjY2VwdGVkIHN0YW5kYXJkLjwvcD4KPHA+V2hlbiBkZXZlbG9waW5n
IGEgcGx1Z2luIGZvciBhIGJyb3dzZXIsIE5QQVBJIGlzIHJlY29tbWVuZGVkLiBXaGVuIGRldmVs
b3BpbmcgYSBmdWxsIGFwcGxpY2F0aW9uIHRoYXQgdXRpbGl6ZXMgSFRNTC1yZW5kZXJpbmcsIHRo
ZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIGlzIHJlY29tbWVu
ZGVkLjwvcD4KPGEgbmFtZT0icmVsYXRpb25zaGlwLXdpdGgtcXRzY3JpcHQiPjwvYT4KPGgzPlJl
bGF0aW9uc2hpcCB3aXRoIFF0U2NyaXB0PC9oMz4KPHA+VGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0
bWwiPlF0V2ViS2l0PC9hPiBicmlkZ2UgaXMgc2ltaWxhciB0byA8YSBocmVmPSJodHRwOi8vcXQu
bm9raWEuY29tL2RvYy80LjcvcXRzY3JpcHQuaHRtbCI+UXRTY3JpcHQ8L2E+LCBlc3BlY2lhbGx5
IHRvIHNvbWUgb2YgdGhlIGZlYXR1cmVzIGRlc2NyaWJlZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDov
L3F0Lm5va2lhLmNvbS9kb2MvNC43L3NjcmlwdGluZy5odG1sIj5NYWtpbmcgQXBwbGljYXRpb25z
IFNjcmlwdGFibGU8L2E+IHBhZ2UuIEhvd2V2ZXIsIGFzIG9mIFF0IDQuNywgZnVsbCA8YSBocmVm
PSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXRzY3JpcHQuaHRtbCI+UXRTY3JpcHQ8L2E+
IEFQSSBpcyBub3Qgc3VwcG9ydGVkIGZvciB3ZWIgYXBwbGljYXRpb25zLiBUaGF0IGlzIHBsYW5u
ZWQgYXMgYW4gZW5oYW5jZW1lbnQgZm9yIGZ1dHVyZSB2ZXJzaW9ucy4gWW91IG1pZ2h0IG5vdGlj
ZSB0aGF0IHNvbWUgb2YgdGhlIGZlYXR1cmVzIGRlc2NyaWJlZCBoZXJlIGFyZSBhbiBleGFjdCBj
b3B5IG9mIHRoZSBvbmVzIGRlc2NyaWJlZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lh
LmNvbS9kb2MvNC43L3NjcmlwdGluZy5odG1sIj5NYWtpbmcgQXBwbGljYXRpb25zIFNjcmlwdGFi
bGU8L2E+IHBhZ2UuIFRoYXQgaXMgYmVjYXVzZSB0aGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+
UXRXZWJLaXQ8L2E+IGJyaWRnZSBpcyBhIHN1YnNldCBvZiB0aGF0IGZ1bmN0aW9uYWxpdHksIGFu
ZCB0aGlzIHBhZ2UgdHJpZXMgdG8gY2FwdHVyZSB0aGUgZnVsbCBjYXBhYmlsaXRpZXMgYXZhaWxh
YmxlIHRocm91Z2ggdGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlk
Z2Ugc3BlY2lmaWNhbGx5LjwvcD4KPGEgbmFtZT0iYWNjZXNzaW5nLXFvYmplY3RzIj48L2E+Cjxo
Mj5BY2Nlc3NpbmcgUU9iamVjdHM8L2gyPgo8YSBuYW1lPSJjcmVhdGluZy10aGUtbGluay12aWEt
cXdlYmZyYW1lIj48L2E+CjxoMz5DcmVhdGluZyB0aGUgbGluayB2aWEgUVdlYkZyYW1lPC9oMz4K
PHA+QnkgZGVmYXVsdCwgbm8gPGEgaHJlZj0iI3FvYmplY3RzIj5RT2JqZWN0czwvYT4gYXJlIGFj
Y2Vzc2libGUgdGhyb3VnaCB0aGUgd2ViIGVudmlyb25tZW50LCBmb3Igc2VjdXJpdHkgcmVhc29u
cy4gVG8gZW5hYmxlIHdlYiBjb250ZW50IGFjY2VzcyB0byBhIG5hdGl2ZSA8YSBocmVmPSJodHRw
Oi8vcXQubm9raWEuY29tL2RvYy80LjcvcW9iamVjdC5odG1sIj5RT2JqZWN0PC9hPiwgdGhlIGFw
cGxpY2F0aW9uIGhhcyB0byBleHBsaWNpdGx5IGdyYW50IGl0IGFjY2VzcywgdXNpbmcgdGhlIGZv
bGxvd2luZyBjYWxsOjwvcD4KPHByZT4gICAgY2xhc3MgTXlPYmplY3QgOiBwdWJsaWMgUU9iamVj
dAogICAgewogICAgICAgIFFfT0JKRUNUCgogICAgICAgIHB1YmxpYzoKICAgICAgICBRX0lOVk9L
QUJMRSB2b2lkIHRoaXNNZXRob2RJc0ludm9rYWJsZUluUXRTY3JpcHQoKTsKICAgICAgICB2b2lk
IHRoaXNNZXRob2RJc05vdEludm9rYWJsZUluUXRTY3JpcHQoKTsKCiAgICAgICAgLi4uCiAgICB9
OzwvcHJlPgo8cD5TZWUgPGEgaHJlZj0icXdlYmZyYW1lLmh0bWwjYWRkVG9KYXZhU2NyaXB0V2lu
ZG93T2JqZWN0Ij5RV2ViRnJhbWU6OmFkZFRvSmF2YVNjcmlwdFdpbmRvd09iamVjdDwvYT4oKSBm
b3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+CjxhIG5hbWU9InVzaW5nLXNpZ25hbHMtYW5kLXNsb3Rz
Ij48L2E+CjxoMz5Vc2luZyBTaWduYWxzIGFuZCBTbG90czwvaDM+CjxwPlF0IFNjcmlwdCBhZGFw
dHMgUXQncyBjZW50cmFsIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9zaWdu
YWxzYW5kc2xvdHMuaHRtbCI+U2lnbmFscyBhbmQgU2xvdHM8L2E+IGZlYXR1cmUgZm9yIHNjcmlw
dGluZy4gVGhlcmUgYXJlIHRocmVlIHByaW5jaXBhbCB3YXlzIHRvIHVzZSBzaWduYWxzIGFuZCBz
bG90cyB3aXRoIFF0IFNjcmlwdDo8L3A+Cjx1bD4KPGxpPjxiPkh5YnJpZCBDKysvc2NyaXB0PC9i
PjogQysrIGFwcGxpY2F0aW9uIGNvZGUgY29ubmVjdHMgYSBzaWduYWwgdG8gYSBzY3JpcHQgZnVu
Y3Rpb24uIFRoZSBzY3JpcHQgZnVuY3Rpb24gY2FuLCBmb3IgZXhhbXBsZSwgYmUgYSBmdW5jdGlv
biB0aGF0IHRoZSB1c2VyIGhhcyB0eXBlZCBpbiwgb3Igb25lIHRoYXQgeW91IGhhdmUgcmVhZCBm
cm9tIGEgZmlsZS4gVGhpcyBhcHByb2FjaCBpcyB1c2VmdWwgaWYgeW91IGhhdmUgYSA8YSBocmVm
PSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcW9iamVjdC5odG1sIj5RT2JqZWN0PC9hPiBi
dXQgZG9uJ3Qgd2FudCB0byBleHBvc2UgdGhlIG9iamVjdCBpdHNlbGYgdG8gdGhlIHNjcmlwdGlu
ZyBlbnZpcm9ubWVudDsgeW91IGp1c3Qgd2FudCBhIHNjcmlwdCB0byBiZSBhYmxlIHRvIGRlZmlu
ZSBob3cgYSBzaWduYWwgc2hvdWxkIGJlIHJlYWN0ZWQgdG8sIGFuZCBsZWF2ZSBpdCB1cCB0byB0
aGUgQysrIHNpZGUgb2YgeW91ciBhcHBsaWNhdGlvbiB0byBlc3RhYmxpc2ggdGhlIGNvbm5lY3Rp
b24uPC9saT4KPGxpPjxiPkh5YnJpZCBzY3JpcHQvQysrPC9iPjogQSBzY3JpcHQgY2FuIGNvbm5l
Y3Qgc2lnbmFscyBhbmQgc2xvdHMgdG8gZXN0YWJsaXNoIGNvbm5lY3Rpb25zIGJldHdlZW4gcHJl
LWRlZmluZWQgb2JqZWN0cyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBleHBvc2VzIHRvIHRoZSBzY3Jp
cHRpbmcgZW52aXJvbm1lbnQuIEluIHRoaXMgc2NlbmFyaW8sIHRoZSBzbG90cyB0aGVtc2VsdmVz
IGFyZSBzdGlsbCB3cml0dGVuIGluIEMrKywgYnV0IHRoZSBkZWZpbml0aW9uIG9mIHRoZSBjb25u
ZWN0aW9ucyBpcyBmdWxseSBkeW5hbWljIChzY3JpcHQtZGVmaW5lZCkuPC9saT4KPGxpPjxiPlB1
cmVseSBzY3JpcHQtZGVmaW5lZDwvYj46IEEgc2NyaXB0IGNhbiBib3RoIGRlZmluZSBzaWduYWwg
aGFuZGxlciBmdW5jdGlvbnMgKGVmZmVjdGl2ZWx5ICZxdW90O3Nsb3RzIHdyaXR0ZW4gaW4gUXQg
U2NyaXB0JnF1b3Q7KSwgPGk+YW5kPC9pPiBzZXQgdXAgdGhlIGNvbm5lY3Rpb25zIHRoYXQgdXRp
bGl6ZSB0aG9zZSBoYW5kbGVycy4gRm9yIGV4YW1wbGUsIGEgc2NyaXB0IGNhbiBkZWZpbmUgYSBm
dW5jdGlvbiB0aGF0IHdpbGwgaGFuZGxlIHRoZSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29t
L2RvYy80LjcvcWxpbmVlZGl0Lmh0bWwjcmV0dXJuUHJlc3NlZCI+UUxpbmVFZGl0OjpyZXR1cm5Q
cmVzc2VkPC9hPigpIHNpZ25hbCwgYW5kIHRoZW4gY29ubmVjdCB0aGF0IHNpZ25hbCB0byB0aGUg
c2NyaXB0IGZ1bmN0aW9uLjwvbGk+CjwvdWw+CjxwPk5vdGUgdGhhdCA8YSBocmVmPSJodHRwOi8v
cXQubm9raWEuY29tL2RvYy80LjcvcXRzY3JpcHQuaHRtbCI+UXRTY3JpcHQ8L2E+IGZ1bmN0aW9u
cyBzdWNoIGFzIHFTY3JpcHRDb25uZWN0IGFyZSB1bmF2aWxhYmxlIGluIHRoZSB3ZWIgZW52aXJv
bm1lbnQuPC9wPgo8YSBuYW1lPSJzaWduYWwtdG8tZnVuY3Rpb24tY29ubmVjdGlvbnMiPjwvYT4K
PGg0PlNpZ25hbCB0byBGdW5jdGlvbiBDb25uZWN0aW9uczwvaDQ+CjxwPjx0dD5jb25uZWN0KGZ1
bmN0aW9uKTwvdHQ+PC9wPgo8cD5JbiB0aGlzIGZvcm0gb2YgY29ubmVjdGlvbiwgdGhlIGFyZ3Vt
ZW50IHRvIDx0dD5jb25uZWN0KCk8L3R0PiBpcyB0aGUgZnVuY3Rpb24gdG8gY29ubmVjdCB0byB0
aGUgc2lnbmFsLjwvcD4KPHByZT4gICAgZnVuY3Rpb24gbXlJbnRlcmVzdGluZ1NjcmlwdEZ1bmN0
aW9uKCkgeyAuLi4gfQogICAgLi4uCiAgICBteVFPYmplY3Quc29tZXRoaW5nQ2hhbmdlZC5jb25u
ZWN0KG15SW50ZXJlc3RpbmdTY3JpcHRGdW5jdGlvbik7PC9wcmU+CjxwPlRoZSBhcmd1bWVudCBj
YW4gYmUgYSBRdCBTY3JpcHQgZnVuY3Rpb24sIGFzIGluIHRoZSBhYm92ZSBleGFtcGxlLCBvciBp
dCBjYW4gYmUgYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcW9iamVjdC5o
dG1sIj5RT2JqZWN0PC9hPiBzbG90LCBhcyBpbiB0aGUgZm9sbG93aW5nIGV4YW1wbGU6PC9wPgo8
cHJlPiAgICBteVFPYmplY3Quc29tZXRoaW5nQ2hhbmdlZC5jb25uZWN0KG15T3RoZXJRT2JqZWN0
LmRvU29tZXRoaW5nKTs8L3ByZT4KPHA+V2hlbiB0aGUgYXJndW1lbnQgaXMgYSA8YSBocmVmPSJo
dHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcW9iamVjdC5odG1sIj5RT2JqZWN0PC9hPiBzbG90
LCB0aGUgYXJndW1lbnQgdHlwZXMgb2YgdGhlIHNpZ25hbCBhbmQgc2xvdCBkbyBub3QgbmVjZXNz
YXJpbHkgaGF2ZSB0byBiZSBjb21wYXRpYmxlOyB0aGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+
UXRXZWJLaXQ8L2E+IGJyaWRnZSB3aWxsLCBpZiBuZWNlc3NhcnksIHBlcmZvcm0gY29udmVyc2lv
biBvZiB0aGUgc2lnbmFsIGFyZ3VtZW50cyB0byBtYXRjaCB0aGUgYXJndW1lbnQgdHlwZXMgb2Yg
dGhlIHNsb3QuPC9wPgo8cD5UbyBkaXNjb25uZWN0IGZyb20gYSBzaWduYWwsIHlvdSBpbnZva2Ug
dGhlIHNpZ25hbCdzIDx0dD5kaXNjb25uZWN0KCk8L3R0PiBmdW5jdGlvbiwgcGFzc2luZyB0aGUg
ZnVuY3Rpb24gdG8gZGlzY29ubmVjdCBhcyBhcmd1bWVudDo8L3A+CjxwcmU+ICAgIG15UU9iamVj
dC5zb21ldGhpbmdDaGFuZ2VkLmRpc2Nvbm5lY3QobXlJbnRlcmVzdGluZ0Z1bmN0aW9uKTsKICAg
IG15UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmRpc2Nvbm5lY3QobXlPdGhlclFPYmplY3QuZG9T
b21ldGhpbmcpOzwvcHJlPgo8cD5XaGVuIGEgc2NyaXB0IGZ1bmN0aW9uIGlzIGludm9rZWQgaW4g
cmVzcG9uc2UgdG8gYSBzaWduYWwsIHRoZSA8dHQ+dGhpczwvdHQ+IG9iamVjdCB3aWxsIGJlIHRo
ZSBHbG9iYWwgT2JqZWN0LjwvcD4KPGEgbmFtZT0ic2lnbmFsLXRvLW1lbWJlci1mdW5jdGlvbi1j
b25uZWN0aW9ucyI+PC9hPgo8aDQ+U2lnbmFsIHRvIE1lbWJlciBGdW5jdGlvbiBDb25uZWN0aW9u
czwvaDQ+CjxwPjx0dD5jb25uZWN0KHRoaXNPYmplY3QsIGZ1bmN0aW9uKTwvdHQ+PC9wPgo8cD5J
biB0aGlzIGZvcm0gb2YgdGhlIDx0dD5jb25uZWN0KCk8L3R0PiBmdW5jdGlvbiwgdGhlIGZpcnN0
IGFyZ3VtZW50IGlzIHRoZSBvYmplY3QgdGhhdCB3aWxsIGJlIGJvdW5kIHRvIHRoZSB2YXJpYWJs
ZSwgPHR0PnRoaXM8L3R0Piwgd2hlbiB0aGUgZnVuY3Rpb24gc3BlY2lmaWVkIHVzaW5nIHRoZSBz
ZWNvbmQgYXJndW1lbnQgaXMgaW52b2tlZC48L3A+CjxwPklmIHlvdSBoYXZlIGEgcHVzaCBidXR0
b24gaW4gYSBmb3JtLCB5b3UgdHlwaWNhbGx5IHdhbnQgdG8gZG8gc29tZXRoaW5nIGludm9sdmlu
ZyB0aGUgZm9ybSBpbiByZXNwb25zZSB0byB0aGUgYnV0dG9uJ3MgPHR0PmNsaWNrZWQ8L3R0PiBz
aWduYWw7IHBhc3NpbmcgdGhlIGZvcm0gYXMgdGhlIDx0dD50aGlzPC90dD4gb2JqZWN0IG1ha2Vz
IHNlbnNlIGluIHN1Y2ggYSBjYXNlLjwvcD4KPHByZT4gICAgdmFyIG9iaiA9IHsgeDogMTIzIH07
CiAgICB2YXIgZnVuID0gZnVuY3Rpb24oKSB7IHByaW50KHRoaXMueCk7IH07CiAgICBteVFPYmpl
Y3Quc29tZXRoaW5nQ2hhbmdlZC5jb25uZWN0KG9iaiwgZnVuKTs8L3ByZT4KPHA+VG8gZGlzY29u
bmVjdCBmcm9tIHRoZSBzaWduYWwsIHBhc3MgdGhlIHNhbWUgYXJndW1lbnRzIHRvIDx0dD5kaXNj
b25uZWN0KCk8L3R0Pjo8L3A+CjxwcmU+ICAgIG15UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmRp
c2Nvbm5lY3Qob2JqLCBmdW4pOzwvcHJlPgo8YSBuYW1lPSJzaWduYWwtdG8tbmFtZWQtbWVtYmVy
LWZ1bmN0aW9uLWNvbm5lY3Rpb25zIj48L2E+CjxoND5TaWduYWwgdG8gTmFtZWQgTWVtYmVyIEZ1
bmN0aW9uIENvbm5lY3Rpb25zPC9oND4KPHA+PHR0PmNvbm5lY3QodGhpc09iamVjdCwgZnVuY3Rp
b25OYW1lKTwvdHQ+PC9wPgo8cD5JbiB0aGlzIGZvcm0gb2YgdGhlIDx0dD5jb25uZWN0KCk8L3R0
PiBmdW5jdGlvbiwgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZSBvYmplY3QgdGhhdCB3aWxsIGJl
IGJvdW5kIHRvIHRoZSB2YXJpYWJsZSwgPHR0PnRoaXM8L3R0Piwgd2hlbiBhIGZ1bmN0aW9uIGlz
IGludm9rZWQgaW4gcmVzcG9uc2UgdG8gdGhlIHNpZ25hbC4gVGhlIHNlY29uZCBhcmd1bWVudCBz
cGVjaWZpZXMgdGhlIG5hbWUgb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUg
c2lnbmFsLCBhbmQgdGhpcyByZWZlcnMgdG8gYSBtZW1iZXIgZnVuY3Rpb24gb2YgdGhlIG9iamVj
dCBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50ICg8dHQ+dGhpc09iamVjdDwvdHQ+IGluIHRo
ZSBhYm92ZSBzY2hlbWUpLjwvcD4KPHA+Tm90ZSB0aGF0IHRoZSBmdW5jdGlvbiBpcyByZXNvbHZl
ZCB3aGVuIHRoZSBjb25uZWN0aW9uIGlzIG1hZGUsIG5vdCB3aGVuIHRoZSBzaWduYWwgaXMgZW1p
dHRlZC48L3A+CjxwcmU+ICAgIHZhciBvYmogPSB7IHg6IDEyMywgZnVuOiBmdW5jdGlvbigpIHsg
cHJpbnQodGhpcy54KTsgfSB9OwogICAgbXlRT2JqZWN0LnNvbWV0aGluZ0NoYW5nZWQuY29ubmVj
dChvYmosICZxdW90O2Z1biZxdW90Oyk7PC9wcmU+CjxwPlRvIGRpc2Nvbm5lY3QgZnJvbSB0aGUg
c2lnbmFsLCBwYXNzIHRoZSBzYW1lIGFyZ3VtZW50cyB0byA8dHQ+ZGlzY29ubmVjdCgpPC90dD46
PC9wPgo8cHJlPiAgICBteVFPYmplY3Quc29tZXRoaW5nQ2hhbmdlZC5kaXNjb25uZWN0KG9iaiwg
JnF1b3Q7ZnVuJnF1b3Q7KTs8L3ByZT4KPGEgbmFtZT0iZXJyb3ItaGFuZGxpbmciPjwvYT4KPGg0
PkVycm9yIEhhbmRsaW5nPC9oND4KPHA+V2hlbiA8dHQ+Y29ubmVjdCgpPC90dD4gb3IgPHR0PmRp
c2Nvbm5lY3QoKTwvdHQ+IHN1Y2NlZWRzLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gPHR0PnVu
ZGVmaW5lZDwvdHQ+OyBvdGhlcndpc2UsIGl0IHdpbGwgdGhyb3cgYSBzY3JpcHQgZXhjZXB0aW9u
LiBZb3UgY2FuIG9idGFpbiBhbiBlcnJvciBtZXNzYWdlIGZyb20gdGhlIHJlc3VsdGluZyA8dHQ+
RXJyb3I8L3R0PiBvYmplY3QuIEV4YW1wbGU6PC9wPgo8cHJlPiAgICB0cnkgewogICAgICAgIG15
UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmNvbm5lY3QobXlRT2JqZWN0LCAmcXVvdDtzbG90VGhh
dERvZXNudEV4aXN0JnF1b3Q7KTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBwcmludChlKTsK
ICAgIH08L3ByZT4KPGEgbmFtZT0iZW1pdHRpbmctc2lnbmFscy1mcm9tLXNjcmlwdHMiPjwvYT4K
PGg0PkVtaXR0aW5nIFNpZ25hbHMgZnJvbSBTY3JpcHRzPC9oND4KPHA+VG8gZW1pdCBhIHNpZ25h
bCBmcm9tIHNjcmlwdCBjb2RlLCB5b3Ugc2ltcGx5IGludm9rZSB0aGUgc2lnbmFsIGZ1bmN0aW9u
LCBwYXNzaW5nIHRoZSByZWxldmFudCBhcmd1bWVudHM6PC9wPgo8cHJlPiAgICBteVFPYmplY3Qu
c29tZXRoaW5nQ2hhbmdlZCgmcXVvdDtoZWxsbyZxdW90Oyk7PC9wcmU+CjxwPkl0IGlzIGN1cnJl
bnRseSBub3QgcG9zc2libGUgdG8gZGVmaW5lIGEgbmV3IHNpZ25hbCBpbiBhIHNjcmlwdDsgaS5l
JiN4MmU7LCBhbGwgc2lnbmFscyBtdXN0IGJlIGRlZmluZWQgYnkgQysrIGNsYXNzZXMuPC9wPgo8
YSBuYW1lPSJvdmVybG9hZGVkLXNpZ25hbHMtYW5kLXNsb3RzIj48L2E+CjxoND5PdmVybG9hZGVk
IFNpZ25hbHMgYW5kIFNsb3RzPC9oND4KPHA+V2hlbiBhIHNpZ25hbCBvciBzbG90IGlzIG92ZXJs
b2FkZWQsIHRoZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIHdp
bGwgYXR0ZW1wdCB0byBwaWNrIHRoZSByaWdodCBvdmVybG9hZCBiYXNlZCBvbiB0aGUgYWN0dWFs
IHR5cGVzIG9mIHRoZSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXNjcmlw
dHZhbHVlLmh0bWwiPlFTY3JpcHRWYWx1ZTwvYT4gYXJndW1lbnRzIGludm9sdmVkIGluIHRoZSBm
dW5jdGlvbiBpbnZvY2F0aW9uLiBGb3IgZXhhbXBsZSwgaWYgeW91ciBjbGFzcyBoYXMgc2xvdHMg
PHR0Pm15T3ZlcmxvYWRlZFNsb3QoaW50KTwvdHQ+IGFuZCA8dHQ+bXlPdmVybG9hZGVkU2xvdChR
U3RyaW5nKTwvdHQ+LCB0aGUgZm9sbG93aW5nIHNjcmlwdCBjb2RlIHdpbGwgYmVoYXZlIHJlYXNv
bmFibHk6PC9wPgo8cHJlPiAgICBteVFPYmplY3QubXlPdmVybG9hZGVkU2xvdCgxMCk7ICAgPHNw
YW4gY2xhc3M9ImNvbW1lbnQiPi8vIHdpbGwgY2FsbCB0aGUgaW50IG92ZXJsb2FkPC9zcGFuPgog
ICAgbXlRT2JqZWN0Lm15T3ZlcmxvYWRlZFNsb3QoJnF1b3Q7MTAmcXVvdDspOyA8c3BhbiBjbGFz
cz0iY29tbWVudCI+Ly8gd2lsbCBjYWxsIHRoZSBRU3RyaW5nIG92ZXJsb2FkPC9zcGFuPjwvcHJl
Pgo8cD5Zb3UgY2FuIHNwZWNpZnkgYSBwYXJ0aWN1bGFyIG92ZXJsb2FkIGJ5IHVzaW5nIGFycmF5
LXN0eWxlIHByb3BlcnR5IGFjY2VzcyB3aXRoIHRoZSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEu
Y29tL2RvYy80LjcvcW1ldGFvYmplY3QuaHRtbCNub3JtYWxpemVkU2lnbmF0dXJlIj5ub3JtYWxp
emVkIHNpZ25hdHVyZTwvYT4gb2YgdGhlIEMrKyBmdW5jdGlvbiBhcyB0aGUgcHJvcGVydHkgbmFt
ZTo8L3A+CjxwcmU+ICAgIG15UU9iamVjdFsnbXlPdmVybG9hZGVkU2xvdChpbnQpJ10oJnF1b3Q7
MTAmcXVvdDspOyAgIDxzcGFuIGNsYXNzPSJjb21tZW50Ij4vLyBjYWxsIGludCBvdmVybG9hZDsg
dGhlIGFyZ3VtZW50IGlzIGNvbnZlcnRlZCB0byBhbiBpbnQ8L3NwYW4+CiAgICBteVFPYmplY3Rb
J215T3ZlcmxvYWRlZFNsb3QoUVN0cmluZyknXSgxMCk7IDxzcGFuIGNsYXNzPSJjb21tZW50Ij4v
LyBjYWxsIFFTdHJpbmcgb3ZlcmxvYWQ7IHRoZSBhcmd1bWVudCBpcyBjb252ZXJ0ZWQgdG8gYSBz
dHJpbmc8L3NwYW4+PC9wcmU+CjxwPklmIHRoZSBvdmVybG9hZHMgaGF2ZSBkaWZmZXJlbnQgbnVt
YmVyIG9mIGFyZ3VtZW50cywgdGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9h
PiBicmlkZ2Ugd2lsbCBwaWNrIHRoZSBvdmVybG9hZCB3aXRoIHRoZSBhcmd1bWVudCBjb3VudCB0
aGF0IGJlc3QgbWF0Y2hlcyB0aGUgYWN0dWFsIG51bWJlciBvZiBhcmd1bWVudHMgcGFzc2VkIHRv
IHRoZSBzbG90LjwvcD4KPHA+Rm9yIG92ZXJsb2FkZWQgc2lnbmFscywgSmF2YVNjcmlwdCB3aWxs
IHRocm93IGFuIGVycm9yIGlmIHlvdSB0cnkgdG8gY29ubmVjdCB0byB0aGUgc2lnbmFsIGJ5IG5h
bWU7IHlvdSBoYXZlIHRvIHJlZmVyIHRvIHRoZSBzaWduYWwgd2l0aCB0aGUgZnVsbCBub3JtYWxp
emVkIHNpZ25hdHVyZSBvZiB0aGUgcGFydGljdWxhciBvdmVybG9hZCB5b3Ugd2FudCB0byBjb25u
ZWN0IHRvLjwvcD4KPGEgbmFtZT0iaW52b2thYmxlLW1ldGhvZHMiPjwvYT4KPGg0Pkludm9rYWJs
ZSBNZXRob2RzPC9oND4KPHA+Qm90aCBzbG90cyBhbmQgc2lnbmFscyBhcmUgaW52b2thYmxlIGZy
b20gc2NyaXB0IGJ5IGRlZmF1bHQuIEluIGFkZGl0aW9uLCBpdCdzIGFsc28gcG9zc2libGUgdG8g
ZGVmaW5lIGEgbWV0aG9kIHRoYXQncyBpbnZva2FibGUgZnJvbSBzY3JpcHQgd2l0aG91dCBpdCBi
ZWluZyBhIHNpZ25hbCBvciBhIHNsb3QuIFRoaXMgaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIGZ1
bmN0aW9ucyB3aXRoIHJldHVybiB0eXBlcywgYXMgc2xvdHMgbm9ybWFsbHkgZG8gbm90IHJldHVy
biBhbnl0aGluZyAoaXQgd291bGQgYmUgbWVhbmluZ2xlc3MgdG8gcmV0dXJuIHZhbHVlcyBmcm9t
IGEgc2xvdCwgYXMgdGhlIGNvbm5lY3RlZCBzaWduYWxzIGRvbid0IGhhbmRsZSB0aGUgcmV0dXJu
ZWQgZGF0YSkuIFRvIG1ha2UgYSBub24tc2xvdCBtZXRob2QgaW52b2thYmxlLCBzaW1wbHkgYWRk
IHRoZSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcW9iamVjdC5odG1sI1Ff
SU5WT0tBQkxFIj5RX0lOVk9LQUJMRTwvYT4gbWFjcm8gYmVmb3JlIGl0cyBkZWZpbml0aW9uOjwv
cD4KPHByZT4gICAgY2xhc3MgTXlPYmplY3QgOiBwdWJsaWMgUU9iamVjdAogICAgewogICAgICAg
IFFfT0JKRUNUCgogICAgICAgIHB1YmxpYzoKICAgICAgICBRX0lOVk9LQUJMRSB2b2lkIHRoaXNN
ZXRob2RJc0ludm9rYWJsZUluUXRTY3JpcHQoKTsKICAgICAgICB2b2lkIHRoaXNNZXRob2RJc05v
dEludm9rYWJsZUluUXRTY3JpcHQoKTsKCiAgICAgICAgLi4uCiAgICB9OzwvcHJlPgo8YSBuYW1l
PSJhY2Nlc3NpbmctcHJvcGVydGllcyI+PC9hPgo8aDM+QWNjZXNzaW5nIFByb3BlcnRpZXM8L2gz
Pgo8cD5UaGUgcHJvcGVydGllcyBvZiB0aGUgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9k
b2MvNC43L3FvYmplY3QuaHRtbCI+UU9iamVjdDwvYT4gYXJlIGF2YWlsYWJsZSBhcyBwcm9wZXJ0
aWVzIG9mIHRoZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgb2JqZWN0LiBXaGVuIHlvdSBtYW5p
cHVsYXRlIGEgcHJvcGVydHkgaW4gc2NyaXB0IGNvZGUsIHRoZSBDKysgZ2V0L3NldCBtZXRob2Qg
Zm9yIHRoYXQgcHJvcGVydHkgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGludm9rZWQuIEZvciBleGFt
cGxlLCBpZiB5b3VyIEMrKyBjbGFzcyBoYXMgYSBwcm9wZXJ0eSBkZWNsYXJlZCBhcyBmb2xsb3dz
OjwvcD4KPHByZT4gICAgUV9QUk9QRVJUWShib29sIGVuYWJsZWQgUkVBRCBlbmFibGVkIFdSSVRF
IHNldEVuYWJsZWQpPC9wcmU+CjxwPnRoZW4gc2NyaXB0IGNvZGUgY2FuIGRvIHRoaW5ncyBsaWtl
IHRoZSBmb2xsb3dpbmc6PC9wPgo8cHJlPiAgICBteVFPYmplY3QuZW5hYmxlZCA9IHRydWU7Cgog
ICAgLi4uCgogICAgbXlRT2JqZWN0LmVuYWJsZWQgPSAhbXlRT2JqZWN0LmVuYWJsZWQ7PC9wcmU+
CjxhIG5hbWU9ImFjY2Vzc2luZy1jaGlsZC1xb2JqZWN0cyI+PC9hPgo8aDM+QWNjZXNzaW5nIENo
aWxkIFFPYmplY3RzPC9oMz4KPHA+RXZlcnkgbmFtZWQgY2hpbGQgb2YgdGhlIDxhIGhyZWY9Imh0
dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xb2JqZWN0Lmh0bWwiPlFPYmplY3Q8L2E+ICh0aGF0
IGlzLCBmb3Igd2hpY2ggPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FvYmpl
Y3QuaHRtbCNvYmplY3ROYW1lLXByb3AiPlFPYmplY3Q6Om9iamVjdE5hbWU8L2E+KCkgaXMgbm90
IGFuIGVtcHR5IHN0cmluZykgaXMgYnkgZGVmYXVsdCBhdmFpbGFibGUgYXMgYSBwcm9wZXJ0eSBv
ZiB0aGUgSmF2YVNjcmlwdCB3cmFwcGVyIG9iamVjdC4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZl
IGEgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FkaWFsb2cuaHRtbCI+UURp
YWxvZzwvYT4gd2l0aCBhIGNoaWxkIHdpZGdldCB3aG9zZSA8dHQ+b2JqZWN0TmFtZTwvdHQ+IHBy
b3BlcnR5IGlzIDx0dD4mcXVvdDtva0J1dHRvbiZxdW90OzwvdHQ+LCB5b3UgY2FuIGFjY2VzcyB0
aGlzIG9iamVjdCBpbiBzY3JpcHQgY29kZSB0aHJvdWdoIHRoZSBleHByZXNzaW9uPC9wPgo8cHJl
PiAgICBteURpYWxvZy5va0J1dHRvbjwvcHJlPgo8cD5TaW5jZSA8dHQ+b2JqZWN0TmFtZTwvdHQ+
IGlzIGl0c2VsZiBhIFFfUFJPUEVSVFksIHlvdSBjYW4gbWFuaXB1bGF0ZSB0aGUgbmFtZSBpbiBz
Y3JpcHQgY29kZSB0bywgZm9yIGV4YW1wbGUsIHJlbmFtZSBhbiBvYmplY3Q6PC9wPgo8cHJlPiAg
ICBteURpYWxvZy5va0J1dHRvbi5vYmplY3ROYW1lID0gJnF1b3Q7Y2FuY2VsQnV0dG9uJnF1b3Q7
Owo8c3BhbiBjbGFzcz0iY29tbWVudCI+ICAgIC8vIGZyb20gbm93IG9uLCBteURpYWxvZy5jYW5j
ZWxCdXR0b24gcmVmZXJlbmNlcyB0aGUgYnV0dG9uPC9zcGFuPjwvcHJlPgo8YSBuYW1lPSJkYXRh
LXR5cGVzIj48L2E+CjxoMz5EYXRhIHR5cGVzPC9oMz4KPHA+V2hlbiBjYWxsaW5nIHNsb3RzLCBy
ZWNlaXZpbmcgc2lnbmFscyBvciBhY2Nlc3NpbmcgcHJvcGVydGllcywgdXN1YWxseSBzb21lIHBh
eWxvYWQgaXMgaW52b2x2ZWQuIEZvciBleGFtcGxlLCBhIHByb3BlcnR5ICZxdW90O3RleHQmcXVv
dDsgbWlnaHQgcmV0dXJuIGEgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3Fz
dHJpbmcuaHRtbCI+UVN0cmluZzwvYT4gcGFyYW1ldGVyLiBUaGUgPGEgaHJlZj0icXR3ZWJraXQu
aHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSBkb2VzIHRoZSBqb2Igb2YgY29udmVydGluZyBiZXR3
ZWVuIGEgZ2l2ZW4gSmF2YVNjcmlwdCBkYXRhLXR5cGUsIGFuZCB0aGUgZXhwZWN0ZWQgb3IgZ2l2
ZW4gUXQgdHlwZS4gRWFjaCBRdCB0eXBlIGhhcyBhIGNvcmVzcG9uZGluZyBzZXQgb2YgcnVsZXMg
b2YgaG93IEphdmFTY3JpcHQgdHJlYXRzIGl0LjwvcD4KPHA+VGhlIGRhdGEgdHlwZSBjb252ZXJz
aW9ucyBhcmUgYWxzbyBhcHBsaWNhYmxlIGZvciB0aGUgZGF0YSByZXR1cm5lZCBmcm9tIG5vbi12
b2lkIGludm9rYWJsZSBtZXRob2RzLjwvcD4KPGEgbmFtZT0ibnVtYmVycyI+PC9hPgo8aDQ+TnVt
YmVyczwvaDQ+CjxwPkFsbCBRdCBudW1lcmljIGRhdGEgdHlwZXMgYXJlIGNvbnZlcnRlZCB0byBv
ciBmcm9tIGEgSmF2YVNjcmlwdCBudW1iZXIuIFRoZXNlIGluY2x1ZGUgaW50LCBzaG9ydCwgZmxv
YXQsIGRvdWJsZSwgYW5kIHRoZSBwb3JhYmxlIFF0IHR5cGVzIChxcmVhbCwgcWludCBldGMpLiBB
IHNwZWNpYWwgY2FzZSBpcyA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcWNo
YXIuaHRtbCI+UUNoYXI8L2E+OyBJZiBhIHNsb3QgZXhwZWN0cyBhIDxhIGhyZWY9Imh0dHA6Ly9x
dC5ub2tpYS5jb20vZG9jLzQuNy9xY2hhci5odG1sIj5RQ2hhcjwvYT4sIHRoZSA8YSBocmVmPSJx
dHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIHdvdWxkIHVzZSB0aGUgdW5pY29kZSB2
YWx1ZSBpbiBjYXNlIG9mIGEgbnVtYmVyLCBvciB0aGUgZmlyc3QgY2hhcmFjdGVyIGluIGEgc3Ry
aW5nLjwvcD4KPHA+Tm90ZSB0aGF0IG5vbi1zdGFuZGFyZCAodHlwZWRlZmVkKSBudW1iZXIgdHlw
ZXMgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBvciBmcm9tIGEgSmF2YVNjcmlw
dCBudW1iZXIgLSBpdCdzIGFkdmlzZWQgdG8gdXNlIHN0YW5kYXJkIG51bWJlciB0eXBlcyBmb3Ig
c2lnbmFsLCBzbG90cyBhbmQgcHJvcGVydGllcy48L3A+CjxwPldoZW4gYSBub24tbnVtYmVyIGlz
IHBhc3NlZCBhcyBhbiBhcmd1bWVudCB0byBhIG1ldGhvZCBvciBwcm9wZXJ0eSB0aGF0IGV4cGVj
dHMgYSBudW1iZXIsIHRoZSBhcHByb3ByaWF0ZSBKYXZhU2NyaXB0IGNvbnZlcnNpb24gZnVuY3Rp
b24gKHBhcnNlSW50IC8gcGFyc2VGbG9hdCkgd291bGQgYmUgdXNlZC48L3A+CjxhIG5hbWU9InN0
cmluZ3MiPjwvYT4KPGg0PlN0cmluZ3M8L2g0Pgo8cD5XaGVuIEphdmFTY3JpcHQgYWNjZXNzZXMg
bWV0aG9kcyBvciBwcm9wZXJ0aWVzIHRoYXQgZXhwZWN0IGEgPGEgaHJlZj0iaHR0cDovL3F0Lm5v
a2lhLmNvbS9kb2MvNC43L3FzdHJpbmcuaHRtbCI+UVN0cmluZzwvYT4sIHRoZSA8YSBocmVmPSJx
dHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIHdpbGwgYXV0b21hdGljYWxseSBjb252
ZXJ0IHRoZSB2YWx1ZSB0byBhIHN0cmluZyAoaWYgaXQncyBub3QgYWxyZWFkeSBhIHN0cmluZyks
IHVzaW5nIHRoZSBidWlsdC1pbiBKYXZhU2NyaXB0IHRvU3RyaW5nIG1ldGhvZC48L3A+CjxwPldo
ZW4gYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXN0cmluZy5odG1sIj5R
U3RyaW5nPC9hPiBpcyBwYXNzZWQgdG8gSmF2YVNjcmlwdCBmcm9tIGEgc2lnbmFsIG9yIGEgcHJv
cGVydHksIFRoZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIHdp
bGwgY29udmVydCBpdCBpbnRvIGEgSmF2YVNjcmlwdCBzdHJpbmcuPC9wPgo8YSBuYW1lPSJkYXRl
LSYgdGltZSI+PC9hPgo8aDQ+RGF0ZSAmYW1wOyBUaW1lPC9oND4KPHA+Qm90aCA8YSBocmVmPSJo
dHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcWRhdGUuaHRtbCI+UURhdGU8L2E+LCA8YSBocmVm
PSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXRpbWUuaHRtbCI+UVRpbWU8L2E+IGFuZCA8
YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcWRhdGV0aW1lLmh0bWwiPlFEYXRl
VGltZTwvYT4gYXJlIGF1dG9tYXRpY2FsbHkgdHJhbnNsYXRlZCB0byBvciBmcm9tIHRoZSBKYXZh
U2NyaXB0IERhdGUgb2JqZWN0LiBJZiBhIG51bWJlciBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQg
dG8gYSBtZXRob2QgdGhhdCBleHBlY3RzIG9uZSBvZiB0aGUgZGF0ZS90aW1lIHR5cGVzLCB0aGUg
PGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSB3b3VsZCB0cmVhdCBp
dCBhcyBhIHRpbWVzdGFtcC4gSWYgYSBzdGluZyBpcyBwYXNzZWQsIDxhIGhyZWY9InF0d2Via2l0
Lmh0bWwiPlF0V2ViS2l0PC9hPiB3b3VsZCB0cnkgZGlmZmVyZW50IFF0IGRhdGUgcGFyc2luZyBm
dW5jdGlvbnMgdG8gZmluZCB0aGUgcmlnaHQgb25lLjwvcD4KPGEgbmFtZT0icmVndWxhci1leHBy
ZXNzaW9ucyI+PC9hPgo8aDQ+UmVndWxhciBFeHByZXNzaW9uczwvaDQ+CjxwPlRoZSA8YSBocmVm
PSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIHdvdWxkIGF1dG9tYXRpY2FsbHkg
Y29udmVydCBKYXZhU2NyaXB0IFJlZ0V4IG9iamVjdCB0byBhIDxhIGhyZWY9Imh0dHA6Ly9xdC5u
b2tpYS5jb20vZG9jLzQuNy9xcmVnZXhwLmh0bWwiPlFSZWdFeHA8L2E+LiBJZiBhIHN0cmluZyBp
cyBwYXNzZWQgdG8gYSBtZXRob2QgZXhwZWN0aW5nIGEgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lh
LmNvbS9kb2MvNC43L3FyZWdleHAuaHRtbCI+UVJlZ0V4cDwvYT4sIHRoZSBzdHJpbmcgd291bGQg
YmUgY29udmVydGVkIHRvIHRoYXQgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43
L3FyZWdleHAuaHRtbCI+UVJlZ0V4cDwvYT4uPC9wPgo8YSBuYW1lPSJsaXN0cyI+PC9hPgo8aDQ+
TGlzdHM8L2g0Pgo8cD5UaGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJy
aWRnZSB0cmVhdHMgc2V2ZXJhbCB0eXBlcyBvZiBsaXN0cyBpbiBhIHNwZWNpYWwgd2F5OiA8YSBo
cmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXZhcmlhbnQuaHRtbCNRVmFyaWFudExp
c3QtdHlwZWRlZiI+UVZhcmlhbnRMaXN0PC9hPiwgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNv
bS9kb2MvNC43L3FzdHJpbmdsaXN0Lmh0bWwiPlFTdHJpbmdMaXN0PC9hPiwgPGEgaHJlZj0iaHR0
cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FvYmplY3QuaHRtbCNRT2JqZWN0TGlzdC10eXBlZGVm
Ij5RT2JqZWN0TGlzdDwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQu
Ny9xbGlzdC5odG1sIj5RTGlzdDwvYT4mbHQ7aW50Jmd0Oy4gV2hlbiBhIHNsb3Qgb3IgcHJvcGVy
dHkgZXhwZWN0cyBvbmUgb2YgdGhvc2UgbGlzdCB0eXBlcywgdGhlIDxhIGhyZWY9InF0d2Via2l0
Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlkZ2Ugd291bGQgdHJ5IHRvIGNvbnZlcnQgYSBKYXZhU2Ny
aXB0IGFycmF5IGludG8gdGhhdCB0eXBlLCBjb252ZXJ0aW5nIGVhY2ggb2YgdGhlIGFycmF5J3Mg
ZWxlbWVudHMgdG8gdGhlIHNpbmdsZS1lbGVtZW50IHR5cGUgb2YgdGhlIGxpc3QuPC9wPgo8cD5U
aGUgbW9zdCB1c2VmdWwgdHlwZSBvZiBsaXN0IGlzIHBlcmhhcHMgPGEgaHJlZj0iaHR0cDovL3F0
Lm5va2lhLmNvbS9kb2MvNC43L3F2YXJpYW50Lmh0bWwjUVZhcmlhbnRMaXN0LXR5cGVkZWYiPlFW
YXJpYW50TGlzdDwvYT4sIHdoaWNoIGNhbiBiZSBjb252ZXJ0ZWQgdG8gZnJvbSBhbnkgSmF2YVNj
cmlwdCBhcnJheS48L3A+CjxhIG5hbWU9ImNvbXBvdW5kLShqc29uLSBvYmplY3RzIj48L2E+Cjxo
ND5Db21wb3VuZCAoSlNPTikgb2JqZWN0czwvaDQ+CjxwPkphdmFTY3JpcHQgY29tcG91bmQgb2Jq
ZWN0cywgYWxzbyBrbm93biBhcyBKU09OIG9iamVjdHMsIGFyZSB2YXJpYWJsZXMgd2hpY2ggaG9s
ZCBhIGxpc3Qgb2Yga2V5LXZhbHVlIHBhaXJzLCB3aGVyZSBhbGwgdGhlIGtleXMgYXJlIHN0cmlu
Z3MgYW5kIHRoZSB2YWx1ZXMgY2FuIGhhdmUgYW55IHR5cGUuIFRoaXMgdHJhbnNsYXRlcyB2ZXJ5
IHdlbGwgdG8gPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3F2YXJpYW50Lmh0
bWwjUVZhcmlhbnRNYXAtdHlwZWRlZiI+UVZhcmlhbnRNYXA8L2E+LCB3aGljaCBpcyBub3RoaW5n
IG1vcmUgdGhhbiBhIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xbWFwLmh0
bWwiPlFNYXA8L2E+IG9mIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xc3Ry
aW5nLmh0bWwiPlFTdHJpbmc8L2E+IHRvIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9j
LzQuNy9xdmFyaWFudC5odG1sIj5RVmFyaWFudDwvYT4uPC9wPgo8cD5UaGUgc2VhbWxlc3MgY29u
dmVyc2lvbiBiZXR3ZWVuIEpTT04gb2JqZWN0cyBhbmQgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lh
LmNvbS9kb2MvNC43L3F2YXJpYW50Lmh0bWwjUVZhcmlhbnRNYXAtdHlwZWRlZiI+UVZhcmlhbnRN
YXA8L2E+IGFsbG93cyBmb3IgYSB2ZXJ5IGNvbnZlbmllbnQgd2F5IG9mIHBhc3NpbmcgYXJiaXRy
YXJ5IHN0cnVjdHVyZWQgZGF0YSBiZXR3ZWVuIEMrKyBhbmQgdGhlIEphdmFTY3JpcHQgZW52aXJv
bm1lbnQuIFRoZSBuYXRpdmUgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3Fv
YmplY3QuaHRtbCI+UU9iamVjdDwvYT4gaGFzIHRvIG1ha2Ugc3VyZSB0aGF0IGNvbXBvdW5kIHZh
bHVlcyBhcmUgY29udmVydGVkIHRvIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQu
Ny9xdmFyaWFudC5odG1sI1FWYXJpYW50TWFwLXR5cGVkZWYiPlFWYXJpYW50TWFwPC9hPnMgYW5k
IDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xdmFyaWFudC5odG1sI1FWYXJp
YW50TGlzdC10eXBlZGVmIj5RVmFyaWFudExpc3Q8L2E+cywgYW5kIEphdmFTY3JpcHQgaXMgZ3Vh
cmFudGVlZCB0byByZWNlaXZlIHRoZW0gaW4gYSBtZWFuaW5nZnVsIHdheS48L3A+CjxwPk5vdGUg
dGhhdCB0eXBlcyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IEpTT04sIHN1Y2ggYXMgSmF2YVNj
cmlwdCBmdW5jdGlvbnMgYW5kIGdldHRlcnMvc2V0dGVycywgYXJlIG5vdCBjb252ZXJ0ZWQuPC9w
Pgo8YSBuYW1lPSJxdmFyaWFudHMiPjwvYT4KPGg0PlFWYXJpYW50czwvaDQ+CjxwPldoZW4gYSBz
bG90IG9yIHByb3BlcnR5IGFjY2VwdHMgYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2Rv
Yy80LjcvcXZhcmlhbnQuaHRtbCI+UVZhcmlhbnQ8L2E+LCB0aGUgPGEgaHJlZj0icXR3ZWJraXQu
aHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSB3b3VsZCBjcmVhdGUgYSA8YSBocmVmPSJodHRwOi8v
cXQubm9raWEuY29tL2RvYy80LjcvcXZhcmlhbnQuaHRtbCI+UVZhcmlhbnQ8L2E+IHRoYXQgYmVz
dCBtYXRjaGVzIHRoZSBhcmd1bWVudCBwYXNzZWQgYnkgSmF2YVNjcmlwdC4gQSBzdHJpbmcsIGZv
ciBleGFtcGxlLCB3b3VsZCBiZWNvbWUgYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2Rv
Yy80LjcvcXZhcmlhbnQuaHRtbCI+UVZhcmlhbnQ8L2E+IGhvbGRpbmcgYSA8YSBocmVmPSJodHRw
Oi8vcXQubm9raWEuY29tL2RvYy80LjcvcXN0cmluZy5odG1sIj5RU3RyaW5nPC9hPiwgYSBub3Jt
YWwgSlNPTiBvYmplY3Qgd291bGQgYmVjb21lIGEgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNv
bS9kb2MvNC43L3F2YXJpYW50Lmh0bWwjUVZhcmlhbnRNYXAtdHlwZWRlZiI+UVZhcmlhbnRNYXA8
L2E+LCBhbmQgYSBKYXZhU2NyaXB0IGFycmF5IHdvdWxkIGJlY29tZSBhIDxhIGhyZWY9Imh0dHA6
Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xdmFyaWFudC5odG1sI1FWYXJpYW50TGlzdC10eXBlZGVm
Ij5RVmFyaWFudExpc3Q8L2E+LjwvcD4KPHA+VXNpbmcgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lh
LmNvbS9kb2MvNC43L3F2YXJpYW50Lmh0bWwiPlFWYXJpYW50PC9hPnMgZ2VuZXJvdXNseSBpbiBD
KysgaW4gdGhhdCB3YXkgbWFrZXMgQysrIHByb2dyYW1taW5nIGZlZWwgYSBiaXQgbW9yZSBsaWtl
IEphdmFTY3JpcHQgcHJvZ3JhbW1pbmcsIGFzIGl0IGFkZHMgYW5vdGhlciBsZXZlbCBvZiBpbmRp
cmVjdGlvbiAtIHBhc3NpbmcgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3F2
YXJpYW50Lmh0bWwiPlFWYXJpYW50PC9hPnMgYXJvdW5kIGlzIHZlcnkgZmxleGlibGUsIGFzIHRo
ZSBwcm9ncmFtIGNhbiBmaWd1cmUgb3V0IHRoZSB0eXBlIG9mIGFyZ3VtZW50IGluIHJ1bnRpbWUg
anVzdCBsaWtlIEphdmFTY3JpcHQgd291bGQgZG8sIGJ1dCBpdCBhbHNvIHRha2VzIGF3YXkgZnJv
bSB0aGUgdHlwZS1zYWZldHkgYW5kIHJvYnVzdCBuYXR1cmUgb2YgQysrLiBJdCdzIHJlY29tbWVu
ZGVkIHRvIHVzZSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXZhcmlhbnQu
aHRtbCI+UVZhcmlhbnQ8L2E+cyBvbmx5IGZvciBjb252ZW5pZW5jZSBoaWdoLWxldmVsIGZ1bmN0
aW9ucywgYW5kIHRvIGtlZXAgbW9zdCBvZiB5b3VyIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5j
b20vZG9jLzQuNy9xb2JqZWN0Lmh0bWwiPlFPYmplY3Q8L2E+cyBzb21ld2hhdCB0eXBlLXNhZmUu
PC9wPgo8YSBuYW1lPSJxb2JqZWN0cyI+PC9hPgo8aDQ+UU9iamVjdHM8L2g0Pgo8cD5BIHBvaW50
ZXIgdG8gYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcW9iamVjdC5odG1s
Ij5RT2JqZWN0PC9hPiBvciBhIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9x
d2lkZ2V0Lmh0bWwiPlFXaWRnZXQ8L2E+IGNhbiBiZSBwYXNzZWQgYXMgcGF5bG9hZCBpbiBzaWdu
YWxzLCBzbG90cyBhbmQgcHJvcGVydGllcy4gVGhhdCBvYmplY3QgY2FuIHRoZW4gYmUgdXNlZCBs
aWtlIGFuIG9iamVjdCB0aGF0J3MgZXhwb3NlZCBkaXJlY3RseTsgaS5lJiN4MmU7IGl0cyBzbG90
cyBjYW4gYmUgaW52b2tlZCwgaXRzIHNpZ25hbHMgY29ubmVjdGVkIHRvIGV0Yy4gSG93ZXZlciwg
dGhpcyBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBsaW1pdGVkIC0gdGhlIHR5cGUgdXNlZCBoYXMg
dG8gYmUgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FvYmplY3QuaHRtbCI+
UU9iamVjdDwvYT4qIG9yIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xd2lk
Z2V0Lmh0bWwiPlFXaWRnZXQ8L2E+Ki4gSWYgdGhlIHR5cGUgc3BlY2lmaWVkIGlzIGEgcG9pbnRl
ciB0byBhIG5vbi08YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXdpZGdldC5o
dG1sIj5RV2lkZ2V0PC9hPiBzdWJjbGFzcyBvZiA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29t
L2RvYy80LjcvcW9iamVjdC5odG1sIj5RT2JqZWN0PC9hPiwgdGhlIDxhIGhyZWY9InF0d2Via2l0
Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlkZ2Ugd291bGQgbm90IHJlY29nbml6ZSBpdCB0byBiZSBh
IDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xb2JqZWN0Lmh0bWwiPlFPYmpl
Y3Q8L2E+LjwvcD4KPHA+SW4gZ2VuZXJhbCBpdHMgYWR2aXNlZCB0byB1c2UgY2FyZSB3aGVuIHBh
c3NpbmcgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FvYmplY3QuaHRtbCI+
UU9iamVjdDwvYT5zIGFzIGFyZ3VtZW50cywgYXMgdGhvc2Ugb2JqZWN0cyBkb24ndCBiZWNvbWUg
b3duZWQgYnkgdGhlIEphdmFzY2lwdCBlbmdpbmU7IFRoYXQgbWVhbnMgdGhhdCB0aGUgYXBwbGlj
YXRpb24gZGV2ZWxvcGVyIGhhcyB0byBiZSBleHRyYSBjYXJlZnVsIG5vdCB0byB0cnkgdG8gYWNj
ZXNzIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQuNy9xb2JqZWN0Lmh0bWwiPlFP
YmplY3Q8L2E+cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGRlbGV0ZWQgYnkgdGhlIG5hdGl2ZSBl
bnZpcm9ubWVudC48L3A+CjxhIG5hbWU9InBpeG1hcHMtYW5kLWltYWdlcyI+PC9hPgo8aDQ+UGl4
bWFwcyBhbmQgSW1hZ2VzPC9oND4KPHA+VGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2Vi
S2l0PC9hPiBicmlkZ2UgaGFuZGxlcyA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80
LjcvcXBpeG1hcC5odG1sIj5RUGl4bWFwPC9hPnMgYW5kIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tp
YS5jb20vZG9jLzQuNy9xaW1hZ2UuaHRtbCI+UUltYWdlPC9hPnMgaW4gYSBzcGVjaWFsIHdheS4g
U2luY2UgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IHN0b3JlcyA8YSBocmVm
PSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXBpeG1hcC5odG1sIj5RUGl4bWFwPC9hPnMg
dG8gcmVwcmVzZW50IEhUTUwgaW1hZ2VzLCA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2Rv
Yy80LjcvcXBpeG1hcC5odG1sIj5RUGl4bWFwPC9hPnMgY29taW5nIGZyb20gdGhlIG5hdGl2ZSBl
bnZpcm9ubWVudCBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbnNpZGUgPGEgaHJlZj0iaHR0cDovL3F0
Lm5va2lhLmNvbS9kb2MvNC43L2V4YW1wbGVzLmh0bWwiPldlYktpdDwvYT4uIEEgPGEgaHJlZj0i
aHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FpbWFnZS5odG1sIj5RSW1hZ2U8L2E+IG9yIGEg
PGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FwaXhtYXAuaHRtbCI+UVBpeG1h
cDwvYT4gY29taW5nIGZyb20gdGhlIFF0IGVudmlyb25tZW50IHdvdWxkIGNvbnZlcnQgdG8gYW4g
aW50ZXJtZWRpYXRlIEphdmFTY3JpcHQgb2JqZWN0LCB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBs
aWtlIHRoaXM6PC9wPgo8cD5UaGUgSmF2YVNjcmlwdCBlbnZpcm9ubWVudCBjYW4gdGhlbiB1c2Ug
dGhlIHBpeG1hcCBpdCBnZXRzIGZyb20gUXQgYW5kIGRpc3BsYXkgaXQgaW5zaWRlIHRoZSBIVE1M
IGVudmlyb25tZW50LCBieSBhc3NpZ25pbmcgaXQgdG8gYW4gZXhpc3RpbmcgJmx0O2ltZyAvJmd0
OyBlbGVtZW50IHVzaW5nIGFzc2lnblRvSFRNTEltYWdlRWxlbWVudC4gSXQgY2FuIGFsc28gdXNl
IHRoZSB0b0RhdGFVUkwoKSBmdW5jdGlvbiwgd2hpY2ggYWxsb3dzIHVzaW5nIHRoZSBwaXhtYXAg
YXMgdGhlIHNyYyBhdHRyaWJ1dGUgb2YgYW4gaW1hZ2Ugb3IgYXMgYSBiYWNrZ3JvdW5kLWltYWdl
IHVybC4gTm90ZSB0aGF0IHRoZSB0b0RhdGFVUkwoKSBmdW5jdGlvbiBpcyBjb3N0bHkgYW5kIHNo
b3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbi48L3A+CjxwPkV4YW1wbGUgY29kZTo8L3A+CjxwPkMr
Kzo8L3A+CjxwcmU+ICAgICBjbGFzcyBNeU9iamVjdCA6IFFPYmplY3QgewogICAgICAgICBRX09C
SkVDVAogICAgICAgICBRX1BST1BFUlRZKFFQaXhtYXAgbXlQaXhtYXAgUkVBRCBnZXRQaXhtYXAp
CgogICAgIHB1YmxpYzoKICAgICAgICAgUVBpeG1hcCBnZXRQaXhtYXAoKSBjb25zdDsKICAgICB9
OwoKICAgICA8c3BhbiBjbGFzcz0iY29tbWVudCI+LyogLi4uICovPC9zcGFuPgoKICAgICBNeU9i
amVjdCBteU9iamVjdDsKICAgICBteVdlYlBhZ2UubWFpbkZyYW1lKCktJmd0O2FkZFRvSmF2YVNj
cmlwdFdpbmRvd09iamVjdCgmcXVvdDtteU9iamVjdCZxdW90OywgJmFtcDtteU9iamVjdCk7PC9w
cmU+CjxwPkhUTUw6PC9wPgo8cHJlPiAgICAgJmx0O2h0bWwmZ3Q7CiAgICAgICAgJmx0O2hlYWQm
Z3Q7CiAgICAgICAgICZsdDtzY3JpcHQmZ3Q7CiAgICAgICAgICAgICBmdW5jdGlvbiBsb2FkSW1h
Z2UoKSB7CiAgICAgICAgICAgICAgICAgbXlPYmplY3QubXlQaXhtYXAuYXNzaWduVG9IVE1MSW1h
Z2VFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O2ltYWdlRWxlbWVudCZxdW90
OykpOwogICAgICAgICAgICAgfQogICAgICAgICAmbHQ7L3NpcHQmZ3Q7CiAgICAgICAgJmx0Oy9o
ZWFkJmd0OwogICAgICAgICZsdDtib2R5IG9ubG9hZD0mcXVvdDtsb2FkSW1hZ2UoKSZxdW90OyZn
dDsKICAgICAgICAgJmx0O2ltZyBpZD0mcXVvdDtpbWFnZUVsZW1lbnQmcXVvdDsgd2lkdGg9JnF1
b3Q7MzAwJnF1b3Q7IGhlaWdodD0mcXVvdDsyMDAmcXVvdDsgLyZndDsKICAgICAgICAmbHQ7L2Jv
ZHkmZ3Q7CiAgICAgJmx0Oy9odG1sJmd0OzwvcHJlPgo8cD5XaGVuIGEgUXQgb2JqZWN0IGV4cGVj
dHMgYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcWltYWdlLmh0bWwiPlFJ
bWFnZTwvYT4gb3IgYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80LjcvcXBpeG1h
cC5odG1sIj5RUGl4bWFwPC9hPiBhcyBpbnB1dCwgYW5kIHRoZSBhcmd1bWVudCBwYXNzZWQgaXMg
YW4gSFRNTCBpbWFnZSBlbGVtZW50LCB0aGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJL
aXQ8L2E+IGJyaWRnZSB3b3VsZCBjb252ZXJ0IHRoZSBwaXhtYXAgYXNzaWduZWQgdG8gdGhhdCBp
bWFnZSBlbGVtZW50IGludG8gYSA8YSBocmVmPSJodHRwOi8vcXQubm9raWEuY29tL2RvYy80Ljcv
cXBpeG1hcC5odG1sIj5RUGl4bWFwPC9hPiBvciBhIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5j
b20vZG9jLzQuNy9xaW1hZ2UuaHRtbCI+UUltYWdlPC9hPi48L3A+CjxhIG5hbWU9InF3ZWJlbGVt
ZW50Ij48L2E+CjxoND5RV2ViRWxlbWVudDwvaDQ+CjxwPkEgc2lnbmFsLCBzbG90IG9yIHByb3Bl
cnR5IHRoYXQgZXhwZWN0cyBvciByZXR1cm5zIGEgPGEgaHJlZj0icXdlYmVsZW1lbnQuaHRtbCI+
UVdlYkVsZW1lbnQ8L2E+IGNhbiB3b3JrIHNlYW1sZXNzbHkgd2l0aCBKYXZhU2NyaXB0IHJlZmVy
ZW5jZXMgdG8gRE9NIGVsZW1lbnRzLiBUaGUgSmF2YVNjcmlwdCBlbnZpcm9ubWVudCBjYW4gc2Vs
ZWN0IERPTSBlbGVtZW50cywga2VlcCB0aGVtIGluIHZhcmlhYmxlcywgdGhlbiBwYXNzIHRoZW0g
dG8gUXQgYXMgYSA8YSBocmVmPSJxd2ViZWxlbWVudC5odG1sIj5RV2ViRWxlbWVudDwvYT4sIGFu
ZCByZWNlaXZlIHRoZW0gYmFjay4gRXhhbXBsZTo8L3A+CjxwPkMrKzo8L3A+CjxwcmU+ICAgICAg
Y2xhc3MgTXlPYmplY3QgOiBRT2JqZWN0IHsKICAgICAgICAgIFFfT0JKRUNUCgogICAgICBwdWJs
aWMgc2xvdHM6CiAgICAgICAgICB2b2lkIGRvU29tZXRoaW5nV2l0aFdlYkVsZW1lbnQoY29uc3Qg
UVdlYkVsZW1lbnQmYW1wOyk7CiAgICAgIH07CgogICAgICA8c3BhbiBjbGFzcz0iY29tbWVudCI+
LyogLi4uICovPC9zcGFuPgoKICAgICAgTXlPYmplY3QgbXlPYmplY3Q7CiAgICAgIG15V2ViUGFn
ZS5tYWluRnJhbWUoKS0mZ3Q7YWRkVG9KYXZhU2NyaXB0V2luZG93T2JqZWN0KCZxdW90O215T2Jq
ZWN0JnF1b3Q7LCAmYW1wO215T2JqZWN0KTs8L3ByZT4KPHA+SFRNTDo8L3A+CjxwcmU+ICAgICAg
Jmx0O2h0bWwmZ3Q7CiAgICAgICAgICZsdDtoZWFkJmd0OwogICAgICAgICAgJmx0O3NjcmlwdCZn
dDsKICAgICAgICAgICAgICBmdW5jdGlvbiBydW5FeGFtcGxlKCkgewogICAgICAgICAgICAgICAg
ICBteU9iamVjdC5kb1NvbWV0aGluZ1dpdGhXZWJFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCZxdW90O3NvbWVFbGVtZW50JnF1b3Q7KSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAg
Jmx0Oy9zY3JpcHQmZ3Q7CiAgICAgICAgICZsdDsvaGVhZCZndDsKICAgICAgICAgJmx0O2JvZHkg
b25sb2FkPSZxdW90O3J1bkV4YW1wbGUoKSZxdW90OyZndDsKICAgICAgICAgICZsdDtzcGFuIGlk
PSZxdW90O3NvbWVFbGVtZW50JnF1b3Q7Jmd0O1RleHQmbHQ7L3NwYW4mZ3Q7CiAgICAgICAgICZs
dDsvYm9keSZndDsKICAgICAgJmx0Oy9odG1sJmd0OzwvcHJlPgo8cD5UaGlzIGlzIHNwZWNpZmlj
YWxseSB1c2VmdWwgdG8gY3JlYXRlIGN1c3RvbSByZW5kZXJlcnMgb3IgZXh0ZW5zaW9ucyB0byB0
aGUgd2ViIGVudmlyb25tZW50LiBJbnN0ZWFkIG9mIGZvcmNpbmcgUXQgdG8gc2VsZWN0IHRoZSBl
bGVtZW50LCB0aGUgd2ViIGVudmlyb25tZW50IGFscmVhZHkgc2VsZWN0cyB0aGUgZWxlbWVudCBh
bmQgdGhlbiBzZW5kIHRoZSBzZWxlY3RlZCBlbGVtZW50IGRpcmVjdGx5IHRvIFF0LjwvcD4KPHA+
Tm90ZSB0aGF0IDxhIGhyZWY9InF3ZWJlbGVtZW50Lmh0bWwiPlFXZWJFbGVtZW50PC9hPnMgYXJl
IG5vdCB0aHJlYWQgc2FmZSAtIGFuIG9iamVjdCBoYW5kbGluZyB0aGVtIGhhcyB0byBsaXZlIGlu
IHRoZSBVSSB0aHJlYWQuPC9wPgo8YSBuYW1lPSJhcmNoaXRlY3R1cmUtaXNzdWVzIj48L2E+Cjxo
Mj5BcmNoaXRlY3R1cmUgaXNzdWVzPC9oMj4KPGEgbmFtZT0ibGltaXRpbmctdGhlLXNjb3BlLW9m
LXRoZS1oeWJyaWQtbGF5ZXIiPjwvYT4KPGgzPkxpbWl0aW5nIHRoZSBTY29wZSBvZiB0aGUgSHli
cmlkIExheWVyPC9oMz4KPHA+V2hlbiB1c2luZyA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdl
YktpdDwvYT4ncyBoeWJyaWQgZmVhdHVyZXMsIGl0J3MgYSBjb21tb24gcGl0ZmFsbCB0byBtYWtl
IHRoZSBBUEkgZXhwb3NlZCB0byBKYXZhU2NyaXB0IHZlcnkgcmljaCBhbmQgdXNlIGFsbCBpdHMg
ZmVhdHVyZXMuIFRoaXMsIGhvd2V2ZXIsIGxlYWRzIHRvIGNvbXBsZXhpdHkgYW5kIGNhbiBjcmVh
dGUgYnVncyB0aGF0IGFyZSBoYXJkIHRvIHRyYWNlLiBJbnN0ZWFkLCBpdCdzIGFkdmlzYWJsZSB0
byBrZWVwIHRoZSBoeWJyaWQgbGF5ZXIgc21hbGwgYW5kIG1hbmFnZWFibGU6IGNyZWF0ZSBhIGdh
dGUgb25seSB3aGVuIHRoZXJlJ3MgYW4gYWN0dWFsIG5lZWQgZm9yIGl0LCBpLmUmI3gyZTsgdGhl
cmUncyBhIG5ldyBuYXRpdmUgZW5hYmxlciB0aGF0IHJlcXVpcmVzIGEgZGlyZWN0IGludGVyZmFj
ZSB0byB0aGUgYXBwbGljYXRpb24gbGF5ZXIuIFNvbWV0aW1lcyBuZXcgZnVuY3Rpb25hbGl0eSBp
cyBiZXR0ZXIgaGFuZGxlZCBpbnRlcm5hbGx5IGluIHRoZSBuYXRpdmUgbGF5ZXIgb3IgaW4gdGhl
IHdlYiBsYXllcjsgc2ltcGxpY2l0eSBpcyB5b3VyIGZyaWVuZC48L3A+CjxwPlRoaXMgdXN1YWxs
eSBiZWNvbWVzIG1vcmUgYXBwYXJlbnQgd2hlbiB0aGUgaHlicmlkIGxheWVyIGNhbiBjcmVhdGUg
b3IgZGVzdHJveSBvYmplY3RzLCBvciB1c2VzIHNpZ25hbHMgc2xvdHMgb3IgcHJvcGVydGllcyB3
aXRoIGEgPGEgaHJlZj0iaHR0cDovL3F0Lm5va2lhLmNvbS9kb2MvNC43L3FvYmplY3QuaHRtbCI+
UU9iamVjdDwvYT4qIGFyZ3VtZW50LiBJdCdzIGFkdmlzZWQgdG8gYmUgdmVyeSBjYXJlZnVsIGFu
ZCB0byB0cmVhdCBhbiBleHBvc2VkIDxhIGhyZWY9Imh0dHA6Ly9xdC5ub2tpYS5jb20vZG9jLzQu
Ny9xb2JqZWN0Lmh0bWwiPlFPYmplY3Q8L2E+IGFzIGEgc3lzdGVtIC0gd2l0aCBjYXJlZnVsIGF0
dGVudGlvbiB0byBtZW1vcnkgbWFuYWdlbWVudCBhbmQgb2JqZWN0IG93bmVyc2hpcC48L3A+Cjxh
IG5hbWU9ImludGVybmV0LXNlY3VyaXR5Ij48L2E+CjxoMz5JbnRlcm5ldCBTZWN1cml0eTwvaDM+
CjxwPldoZW4gZXhwb3NpbmcgbmF0aXZlIG9iamVjdCB0byBhbiBvcGVuIHdlYiBlbnZpcm9ubWVu
dCwgaXQncyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGUgc2VjdXJpdHkgaW1wbGljYXRpb25z
LiBUaGluayB3aGV0aGVyIHRoZSBleHBvc2VkIG9iamVjdCBlbmFibGVzIHRoZSB3ZWIgZW52aXJv
bm1lbnQgYWNjZXNzIHRvIHRoaW5ncyB0aGF0IHNob3VsZG4ndCBiZSBvcGVuLCBhbmQgd2hldGhl
ciB0aGUgd2ViIGNvbnRlbnQgbG9hZGVkIGJ5IHRoYXQgd2ViIHBhZ2UgY29tZXMgZnJvbSBhIHRy
dXN0ZWQuIEluIGdlbmVyYWwsIHdoZW4gZXhwb3NpbmcgbmF0aXZlIDxhIGhyZWY9IiNxb2JqZWN0
cyI+UU9iamVjdHM8L2E+IHRoYXQgZ2l2ZSB0aGUgd2ViIGVudmlyb25tZW50IGFjY2VzcyB0byBw
cml2YXRlIGluZm9ybWF0aW9uIG9yIHRvIGZ1bmN0aW9uYWxpdHkgdGhhdCdzIHBvdGVudGlhbGx5
IGhhcm1mdWwgdG8gdGhlIGNsaWVudCwgc3VjaCBleHBvc3VyZSBzaG91bGQgYmUgYmFsYW5jZWQg
YnkgbGltaXRpbmcgdGhlIHdlYiBwYWdlJ3MgYWNjZXNzIHRvIHRydXN0ZWQgVVJMcyBvbmx5IHdp
dGggSFRUUFMgYW5kIG90aGVyIHNlY3VyaXR5IG1lYXN1cmVzLjwvcD4KPHA+Cls8YSBocmVmPSJx
dHdlYmtpdC5odG1sIj5RdFdlYktpdCBNb2R1bGU8L2E+XQo8L3A+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57558</attachid>
            <date>2010-06-01 10:03:21 -0700</date>
            <delta_ts>2010-06-01 10:46:48 -0700</delta_ts>
            <desc>Updated patch, reviewed by our doc team</desc>
            <filename>patch-35861-3.diff</filename>
            <type>text/plain</type>
            <size>12268</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjgwYjJiYS4uMzk1ZmYwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wNi0wMSAgTm8nYW0gUm9zZW50
aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQWRkIGRvY3VtZW50YXRpb24gdG8gdGhlIFF0
V2Via2l0IGJyaWRnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzU4NjEKKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjpHcmFwaGljc0xheWVyUXRJbXBsKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdEltcGw6OnJlY2FjaGUpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJRdEltcGw6OnRpbGVkQmFja2luZ1N0b3JlUGFpbnRCZWdpbik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjp0aWxlZEJhY2tpbmdTdG9yZVBhaW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdEltcGw6OnRpbGVkQmFja2luZ1N0b3JlUGFpbnRF
bmQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6dGlsZWRCYWNraW5n
U3RvcmVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1w
bDo6dGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyUXRJbXBsOjpyZXF1aXJlc1RpbGVkTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3F0L1RpbGVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlOjpwYWludCk6
CisKIDIwMTAtMDUtMjUgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcAppbmRleCA2ZjAwYjQ3Li5l
MjhmZWI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
TGF5ZXJRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xh
eWVyUXQuY3BwCkBAIC0yNSw2ICsyNSw4IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJSZWZDb3VudGVkLmgiCisjaW5jbHVkZSAi
VGlsZWRCYWNraW5nU3RvcmUuaCIKKyNpbmNsdWRlICJUaWxlZEJhY2tpbmdTdG9yZUNsaWVudC5o
IgogI2luY2x1ZGUgIlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlVu
aXRCZXppZXIuaCIKICNpbmNsdWRlIDxRdENvcmUvcWFic3RyYWN0YW5pbWF0aW9uLmg+CkBAIC00
MSw2ICs0Myw5IEBACiAjaW5jbHVkZSA8UXRHdWkvcXBpeG1hcGNhY2hlLmg+CiAjaW5jbHVkZSA8
UXRHdWkvcXN0eWxlb3B0aW9uLmg+CiAKKy8vIFNhbWUgbnVtYmVyIGFzIGluIHRoZSB3aW5kb3dz
IHBvcnQuCisjZGVmaW5lIE1BWF9QSVhFTF9ESU1FTlNJT05fRk9SX0xBWUVSIDIwMDAKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAjaWZuZGVmIFFUX05PX0dSQVBISUNTRUZGRUNUCkBAIC0xMDQs
NyArMTA5LDcgQEAgcHVibGljOgogfTsKICNlbmRpZiAvLyBRVF9OT19HUkFQSElDU0VGRkVDVAog
Ci1jbGFzcyBHcmFwaGljc0xheWVyUXRJbXBsIDogcHVibGljIFFHcmFwaGljc09iamVjdCB7Citj
bGFzcyBHcmFwaGljc0xheWVyUXRJbXBsIDogcHVibGljIFFHcmFwaGljc09iamVjdCwgcHVibGlj
IFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50IHsKICAgICBRX09CSkVDVAogCiBwdWJsaWM6CkBAIC0x
NzUsNiArMTgwLDE2IEBAIHB1YmxpYzoKICAgICAvLyBDaHJvbWVDbGllbnRRdDo6c2NoZWR1bGVD
b21wb3NpdGluZ0xheWVyU3luYyAobWVhbmluZyB0aGUgc3luYyB3aWxsIGhhcHBlbiBBU0FQKQog
ICAgIHZvaWQgZmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlID0gdHJ1ZSwgYm9vbCBmb3JjZVRy
YW5zZm9ybVVwZGF0ZSA9IGZhbHNlKTsKIAorI2lmIEVOQUJMRShUSUxFRF9CQUNLSU5HX1NUT1JF
KQorICAgIHZvaWQgdGlsZWRCYWNraW5nU3RvcmVQYWludEJlZ2luKCk7CisgICAgdm9pZCB0aWxl
ZEJhY2tpbmdTdG9yZVBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKKyAg
ICB2b2lkIHRpbGVkQmFja2luZ1N0b3JlUGFpbnRFbmQoY29uc3QgVmVjdG9yPEludFJlY3Q+JiBw
YWludGVkQXJlYSk7CisgICAgSW50UmVjdCB0aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgp
OworICAgIEludFJlY3QgdGlsZWRCYWNraW5nU3RvcmVWaXNpYmxlUmVjdCgpOworICAgIGJvb2wg
cmVxdWlyZXNUaWxlZExheWVyKCkgY29uc3Q7CisKKyAgICBUaWxlZEJhY2tpbmdTdG9yZSogbV90
aWxlZEJhY2tpbmdTdG9yZTsKKyNlbmRpZgogcHVibGljIHNsb3RzOgogICAgIC8vIFdlIG5lZWQg
dG8gbm90aWZ5IHRoZSBjbGllbnQgKGllLiB0aGUgbGF5ZXIgY29tcG9zaXRvcikgd2hlbiB0aGUg
YW5pbWF0aW9uIGFjdHVhbGx5IHN0YXJ0cy4KICAgICB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0
ZWQoKTsKQEAgLTI5Niw2ICszMTEsOSBAQCBHcmFwaGljc0xheWVyUXRJbXBsOjpHcmFwaGljc0xh
eWVyUXRJbXBsKEdyYXBoaWNzTGF5ZXJRdCogbmV3TGF5ZXIpCiAjaWYgRU5BQkxFKDNEX0NBTlZB
UykKICAgICAsIG1fZ2MzRCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCisgICAgLCBtX3RpbGVkQmFja2luZ1N0b3JlKDApCisjZW5kaWYKIHsKICAgICAvLyBXZSB1
c2UgZ3JhcGhpY3MtdmlldyBmb3IgY29tcG9zaXRpbmctb25seSwgbm90IGZvciBpbnRlcmFjdGl2
aXR5LgogICAgIHNldEFjY2VwdGVkTW91c2VCdXR0b25zKFF0OjpOb0J1dHRvbik7CkBAIC0zMzks
OCArMzU3LDkgQEAgY29uc3QgR3JhcGhpY3NMYXllclF0SW1wbCogR3JhcGhpY3NMYXllclF0SW1w
bDo6cm9vdExheWVyKCkgY29uc3QKIAogUVBpeG1hcCBHcmFwaGljc0xheWVyUXRJbXBsOjpyZWNh
Y2hlKGNvbnN0IFFSZWdpb24mIHJlZ2lvblRvVXBkYXRlKQogeworICAgIHFEZWJ1ZygpIDw8IF9f
TElORV9fOwogICAgIGlmICghbV9sYXllci0+ZHJhd3NDb250ZW50KCkgfHwgbV9zaXplLmlzRW1w
dHkoKSB8fCFtX3NpemUuaXNWYWxpZCgpKQotICAgICAgICAgICAgcmV0dXJuIFFQaXhtYXAoKTsK
KyAgICAgICAgcmV0dXJuIFFQaXhtYXAoKTsKIAogICAgIFFSZWdpb24gcmVnaW9uID0gcmVnaW9u
VG9VcGRhdGU7CiAgICAgUVBpeG1hcCBwaXhtYXA7CkBAIC00NzgsMTIgKzQ5NywyMiBAQCBRUmVj
dEYgR3JhcGhpY3NMYXllclF0SW1wbDo6Ym91bmRpbmdSZWN0KCkgY29uc3QKIAogdm9pZCBHcmFw
aGljc0xheWVyUXRJbXBsOjpwYWludChRUGFpbnRlciogcGFpbnRlciwgY29uc3QgUVN0eWxlT3B0
aW9uR3JhcGhpY3NJdGVtKiBvcHRpb24sIFFXaWRnZXQqIHdpZGdldCkKIHsKKyAgICBxRGVidWco
KSA8PCBfX0xJTkVfXzsKKyAgICByZXR1cm47CiAgICAgaWYgKG1fY3VycmVudENvbnRlbnQuYmFj
a2dyb3VuZENvbG9yLmlzVmFsaWQoKSkKICAgICAgICAgcGFpbnRlci0+ZmlsbFJlY3Qob3B0aW9u
LT5yZWN0LCBRQ29sb3IobV9jdXJyZW50Q29udGVudC5iYWNrZ3JvdW5kQ29sb3IpKTsKIAogICAg
IHN3aXRjaCAobV9jdXJyZW50Q29udGVudC5jb250ZW50VHlwZSkgewogICAgIGNhc2UgSFRNTENv
bnRlbnRUeXBlOgogICAgICAgICBpZiAobV9zdGF0ZS5kcmF3c0NvbnRlbnQpIHsKKworI2lmIEVO
QUJMRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgICAgICAgICAgaWYgKG1fdGlsZWRCYWNraW5n
U3RvcmUpIHsKKyAgICAgICAgICAgICAgICBHcmFwaGljc0NvbnRleHQgZ2MocGFpbnRlcik7Cisg
ICAgICAgICAgICAgICAgbV90aWxlZEJhY2tpbmdTdG9yZS0+cGFpbnQoJmdjLCBtX3N0YXRlLmNv
bnRlbnRzUmVjdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorI2Vu
ZGlmCiAgICAgICAgICAgICBRUGl4bWFwIGJhY2tpbmdTdG9yZTsKICAgICAgICAgICAgIC8vIFdl
IG1pZ2h0IG5lZWQgdG8gcmVjYWNoZSwgaW4gY2FzZSB3ZSB0cnkgdG8gcGFpbnQgYW5kIHRoZSBj
YWNoZSB3YXMgcHVyZ2VkIChlLmcuIGlmIGl0IHdhcyBmdWxsKS4KICAgICAgICAgICAgIGlmICgh
UVBpeG1hcENhY2hlOjpmaW5kKG1fYmFja2luZ1N0b3JlS2V5LCAmYmFja2luZ1N0b3JlKSB8fCBi
YWNraW5nU3RvcmUuc2l6ZSgpICE9IG1fc2l6ZS50b1NpemUoKSkKQEAgLTUyMywxMSArNTUyLDE0
IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6bm90aWZ5Q2hhbmdlKENoYW5nZU1hc2sgY2hh
bmdlTWFzaykKIAogdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVzaENoYW5nZXMoYm9vbCBy
ZWN1cnNpdmUsIGJvb2wgZm9yY2VVcGRhdGVUcmFuc2Zvcm0pCiB7CisgICAgcURlYnVnKCkgPDwg
X19MSU5FX187CiAgICAgLy8gVGhpcyBpcyB0aGUgYnVsayBvZiB0aGUgd29yay4gdW5kZXJzdGFu
ZGluZyB3aGF0IHRoZSBjb21wb3NpdG9yIGlzIHRyeWluZyB0byBhY2hpZXZlLCB3aGF0CiAgICAg
Ly8gZ3JhcGhpY3N2aWV3IGNhbiBkbywgYW5kIHRyeWluZyB0byBmaW5kIGEgc2FuZSBjb21tb24t
Z3JvdW5kLgorICAgIGJvb2wgc2hvdWxkVXBkYXRlID0gZmFsc2U7CiAgICAgaWYgKCFtX2xheWVy
IHx8IG1fY2hhbmdlTWFzayA9PSBOb0NoYW5nZXMpCiAgICAgICAgIGdvdG8gYWZ0ZXJMYXllckNo
YW5nZXM7CiAKKwogICAgIGlmIChtX2N1cnJlbnRDb250ZW50LmNvbnRlbnRUeXBlID09IEhUTUxD
b250ZW50VHlwZSAmJiAobV9jaGFuZ2VNYXNrICYgUGFyZW50Q2hhbmdlKSkgewogICAgICAgICAv
LyBUaGUgV2ViQ29yZSBjb21wb3NpdG9yIG1hbmFnZXMgaXRlbSBvd25lcnNoaXAuIFdlIGhhdmUg
dG8gbWFrZSBzdXJlIGdyYXBoaWNzdmlldyBkb2Vzbid0CiAgICAgICAgIC8vIHRyeSB0byBzbmF0
Y2ggdGhhdCBvd25lcnNoaXAuCkBAIC01ODksNiArNjIxLDE2IEBAIHZvaWQgR3JhcGhpY3NMYXll
clF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlLCBib29sIGZvcmNlVXBkYXRlVHJh
bnNmb3JtCiAgICAgICAgIGlmIChtX2xheWVyLT5zaXplKCkgIT0gbV9zdGF0ZS5zaXplKSB7CiAg
ICAgICAgICAgICBwcmVwYXJlR2VvbWV0cnlDaGFuZ2UoKTsKICAgICAgICAgICAgIG1fc2l6ZSA9
IFFTaXplRihtX2xheWVyLT5zaXplKCkud2lkdGgoKSwgbV9sYXllci0+c2l6ZSgpLmhlaWdodCgp
KTsKKyAgICAgICAgICAgIGlmIChyZXF1aXJlc1RpbGVkTGF5ZXIoKSkgeworICAgICAgICAgICAg
ICAgIGlmICghbV90aWxlZEJhY2tpbmdTdG9yZSkgeworICAgICAgICAgICAgICAgICAgICBtX3Rp
bGVkQmFja2luZ1N0b3JlID0gbmV3IFRpbGVkQmFja2luZ1N0b3JlKHRoaXMpOworICAgICAgICAg
ICAgICAgICAgICBtX3RpbGVkQmFja2luZ1N0b3JlLT5hZGp1c3RWaXNpYmxlUmVjdCgpOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgfSBlbHNlIGlmIChtX3RpbGVkQmFja2luZ1N0
b3JlKXsKKyAgICAgICAgICAgICAgICBkZWxldGUgbV90aWxlZEJhY2tpbmdTdG9yZTsKKyAgICAg
ICAgICAgICAgICBtX3RpbGVkQmFja2luZ1N0b3JlID0gMDsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KIApAQCAtNjA3LDcgKzY0OSw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1w
bDo6Zmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlLCBib29sIGZvcmNlVXBkYXRlVHJhbnNmb3Jt
CiAgICAgaWYgKG1fY2hhbmdlTWFzayAmIChDb250ZW50Q2hhbmdlIHwgRHJhd3NDb250ZW50Q2hh
bmdlIHwgTWFza0xheWVyQ2hhbmdlKSkgewogICAgICAgICBzd2l0Y2ggKG1fcGVuZGluZ0NvbnRl
bnQuY29udGVudFR5cGUpIHsKICAgICAgICAgY2FzZSBQaXhtYXBDb250ZW50VHlwZToKLSAgICAg
ICAgICAgIHVwZGF0ZSgpOworICAgICAgICAgICAgc2hvdWxkVXBkYXRlID0gdHJ1ZTsKICAgICAg
ICAgICAgIHNldEZsYWcoSXRlbUhhc05vQ29udGVudHMsIGZhbHNlKTsKICAgICAgICAgICAgIGJy
ZWFrOwogCkBAIC02MTksNyArNjYxLDcgQEAgdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVz
aENoYW5nZXMoYm9vbCByZWN1cnNpdmUsIGJvb2wgZm9yY2VVcGRhdGVUcmFuc2Zvcm0KICAgICAg
ICAgY2FzZSBDb2xvckNvbnRlbnRUeXBlOgogICAgICAgICAgICAgaWYgKG1fcGVuZGluZ0NvbnRl
bnQuY29udGVudFR5cGUgIT0gbV9jdXJyZW50Q29udGVudC5jb250ZW50VHlwZQogICAgICAgICAg
ICAgICAgIHx8IG1fcGVuZGluZ0NvbnRlbnQuY29udGVudHNCYWNrZ3JvdW5kQ29sb3IgIT0gbV9j
dXJyZW50Q29udGVudC5jb250ZW50c0JhY2tncm91bmRDb2xvcikKLSAgICAgICAgICAgICAgICB1
cGRhdGUoKTsKKyAgICAgICAgICAgICAgICBzaG91bGRVcGRhdGUgPSB0cnVlOwogICAgICAgICAg
ICAgbV9zdGF0ZS5kcmF3c0NvbnRlbnQgPSBmYWxzZTsKICAgICAgICAgICAgIHNldEZsYWcoSXRl
bUhhc05vQ29udGVudHMsIGZhbHNlKTsKIApAQCAtNjI5LDkgKzY3MSw5IEBAIHZvaWQgR3JhcGhp
Y3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlLCBib29sIGZvcmNlVXBk
YXRlVHJhbnNmb3JtCiAKICAgICAgICAgY2FzZSBIVE1MQ29udGVudFR5cGU6CiAgICAgICAgICAg
ICBpZiAobV9wZW5kaW5nQ29udGVudC5jb250ZW50VHlwZSAhPSBtX2N1cnJlbnRDb250ZW50LmNv
bnRlbnRUeXBlKQotICAgICAgICAgICAgICAgIHVwZGF0ZSgpOworICAgICAgICAgICAgICAgIHNo
b3VsZFVwZGF0ZSA9IHRydWU7CiAgICAgICAgICAgICBpZiAoIW1fc3RhdGUuZHJhd3NDb250ZW50
ICYmIG1fbGF5ZXItPmRyYXdzQ29udGVudCgpKQotICAgICAgICAgICAgICAgIHVwZGF0ZSgpOwor
ICAgICAgICAgICAgICAgIHNob3VsZFVwZGF0ZSA9IHRydWU7CiAKICAgICAgICAgICAgIHNldEZs
YWcoSXRlbUhhc05vQ29udGVudHMsICFtX2xheWVyLT5kcmF3c0NvbnRlbnQoKSk7CiAgICAgICAg
ICAgICBicmVhazsKQEAgLTY3MCwxNiArNzEyLDI0IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1w
bDo6Zmx1c2hDaGFuZ2VzKGJvb2wgcmVjdXJzaXZlLCBib29sIGZvcmNlVXBkYXRlVHJhbnNmb3Jt
CiAjaWZuZGVmIFFUX05PX0dSQVBISUNTRUZGRUNUCiAgICAgaWYgKG1fbWFza0VmZmVjdCkKICAg
ICAgICAgbV9tYXNrRWZmZWN0LmRhdGEoKS0+dXBkYXRlKCk7Ci0gICAgZWxzZSBpZiAobV9jaGFu
Z2VNYXNrICYgRGlzcGxheUNoYW5nZSkgeworI2VuZGlmCisgICAgaWYgKHNob3VsZFVwZGF0ZSB8
fCAobV9jaGFuZ2VNYXNrICYgRGlzcGxheUNoYW5nZSkpIHsKICAgICAgICAgLy8gUmVjYWNoZSBu
b3c6IGFsbCB0aGUgY29udGVudCBpcyByZWFkeSBhbmQgd2UgZG9uJ3Qgd2FudCB0byB3YWl0IHVu
dGlsIHRoZSBwYWludCBldmVudC4KICAgICAgICAgLy8gV2Ugb25seSBuZWVkIHRvIGRvIHRoaXMg
Zm9yIEhUTUwgY29udGVudCwgdGhlcmUncyBubyBwb2ludCBpbiBjYWNoaW5nIGRpcmVjdGx5IGNv
bXBvc2l0ZWQKICAgICAgICAgLy8gY29udGVudCBsaWtlIGltYWdlcyBvciBzb2xpZCByZWN0YW5n
bGVzLgotICAgICAgICBpZiAobV9wZW5kaW5nQ29udGVudC5jb250ZW50VHlwZSA9PSBIVE1MQ29u
dGVudFR5cGUpCisgICAgICAgIGlmIChtX3RpbGVkQmFja2luZ1N0b3JlKSB7CisgICAgICAgICAg
ICBjb25zdCBpbnQgcmVjdENvdW50ID0gbV9wZW5kaW5nQ29udGVudC5yZWdpb25Ub1VwZGF0ZS5y
ZWN0Q291bnQoKTsKKyAgICAgICAgICAgIGZvciAoaW50IGk9MDsgaSA8IHJlY3RDb3VudDsgKytp
KSB7CisgICAgICAgICAgICAgICAgY29uc3QgUVJlY3QgcmVjdCA9IG1fcGVuZGluZ0NvbnRlbnQu
cmVnaW9uVG9VcGRhdGUucmVjdHMoKVtpXTsKKyAgICAgICAgICAgICAgICBxRGVidWcoKSA8PCAi
aW52YWxpZGF0ZSIgPDwgcmVjdDsKKyAgICAgICAgICAgICAgICBtX3RpbGVkQmFja2luZ1N0b3Jl
LT5pbnZhbGlkYXRlKHJlY3QpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKG1f
cGVuZGluZ0NvbnRlbnQuY29udGVudFR5cGUgPT0gSFRNTENvbnRlbnRUeXBlKSB7CiAgICAgICAg
ICAgICByZWNhY2hlKG1fcGVuZGluZ0NvbnRlbnQucmVnaW9uVG9VcGRhdGUpOwotICAgICAgICB1
cGRhdGUobV9wZW5kaW5nQ29udGVudC5yZWdpb25Ub1VwZGF0ZS5ib3VuZGluZ1JlY3QoKSk7Cisg
ICAgICAgICAgICB1cGRhdGUobV9wZW5kaW5nQ29udGVudC5yZWdpb25Ub1VwZGF0ZS5ib3VuZGlu
Z1JlY3QoKSk7CisgICAgICAgIH0KICAgICAgICAgbV9wZW5kaW5nQ29udGVudC5yZWdpb25Ub1Vw
ZGF0ZSA9IFFSZWdpb24oKTsKICAgICB9Ci0jZW5kaWYKIAogICAgIGlmICgobV9jaGFuZ2VNYXNr
ICYgQmFja2dyb3VuZENvbG9yQ2hhbmdlKQogICAgICAgICAmJiAobV9wZW5kaW5nQ29udGVudC5i
YWNrZ3JvdW5kQ29sb3IgIT0gbV9jdXJyZW50Q29udGVudC5iYWNrZ3JvdW5kQ29sb3IpKQpAQCAt
NzI4LDYgKzc3OCw0MyBAQCBhZnRlckxheWVyQ2hhbmdlczoKICAgICB9CiB9CiAKKyNpZiBFTkFC
TEUoVElMRURfQkFDS0lOR19TVE9SRSkKK3ZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6dGlsZWRC
YWNraW5nU3RvcmVQYWludEJlZ2luKCkKK3sKK30KKwordm9pZCBHcmFwaGljc0xheWVyUXRJbXBs
Ojp0aWxlZEJhY2tpbmdTdG9yZVBhaW50KEdyYXBoaWNzQ29udGV4dCogZ2MsIGNvbnN0IEludFJl
Y3QmIHJlY3QpCit7CisgICAgcURlYnVnKCkgPDwgX19MSU5FX18gPDwgcmVjdDsKKyAgICBtX2xh
eWVyLT5wYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cygqZ2MsIHJlY3QpOworfQorCit2b2lkIEdy
YXBoaWNzTGF5ZXJRdEltcGw6OnRpbGVkQmFja2luZ1N0b3JlUGFpbnRFbmQoY29uc3QgVmVjdG9y
PEludFJlY3Q+JiBwYWludGVkQXJlYSkKK3sKKyAgICBxRGVidWcoKSA8PCBfX0xJTkVfXzsKKyAg
ICBmb3IgKGludCBpID0gMDsgaSA8IHBhaW50ZWRBcmVhLnNpemUoKTsgKytpKQorICAgICAgICB1
cGRhdGUoUVJlY3QocGFpbnRlZEFyZWFbaV0pKTsKK30KKworSW50UmVjdCBHcmFwaGljc0xheWVy
UXRJbXBsOjp0aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpCit7CisgICAgcURlYnVnKCkg
PDwgX19MSU5FX18gPDwgbV9zdGF0ZS5jb250ZW50c1JlY3Q7CisgICAgcmV0dXJuIG1fc3RhdGUu
Y29udGVudHNSZWN0OworfQorCitJbnRSZWN0IEdyYXBoaWNzTGF5ZXJRdEltcGw6OnRpbGVkQmFj
a2luZ1N0b3JlVmlzaWJsZVJlY3QoKQoreworICAgIHFEZWJ1ZygpIDw8IF9fTElORV9fIDw8IGJv
dW5kaW5nUmVjdCgpOworICAgIHJldHVybiBJbnRSZWN0KGJvdW5kaW5nUmVjdCgpKTsKK30KKwor
Ym9vbCBHcmFwaGljc0xheWVyUXRJbXBsOjpyZXF1aXJlc1RpbGVkTGF5ZXIoKSBjb25zdAorewor
ICAgIHJldHVybiAobV9wZW5kaW5nQ29udGVudC5jb250ZW50VHlwZSA9PSBIVE1MQ29udGVudFR5
cGUpICYmCisgICAgICAgICAgICAobV9zaXplLndpZHRoKCkgPiBNQVhfUElYRUxfRElNRU5TSU9O
X0ZPUl9MQVlFUiB8fCBtX3NpemUuaGVpZ2h0KCkgPiBNQVhfUElYRUxfRElNRU5TSU9OX0ZPUl9M
QVlFUik7Cit9CisjZW5kaWYKKwogdm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpub3RpZnlBbmlt
YXRpb25TdGFydGVkKCkKIHsKICAgICAvLyBXZWJDb3JlIG5vdGlmaWVzIGphdmFzY3JpcHQgd2hl
biB0aGUgYW5pbWF0aW9uIHN0YXJ0cy4gSGVyZSB3ZSdyZSBsZXR0aW5nIGl0IGtub3cuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RpbGVRdC5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RpbGVRdC5jcHAKaW5kZXggOTYyODQ0OC4uMGU5MGZjNyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UaWxlUXQuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVGlsZVF0LmNwcApAQCAtMjYsNiArMjYsNyBA
QAogI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVkZSAiVGlsZWRCYWNraW5n
U3RvcmVDbGllbnQuaCIKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CisjaW5jbHVkZSA8UURlYnVn
PgogI2luY2x1ZGUgPFFPYmplY3Q+CiAjaW5jbHVkZSA8UVBhaW50ZXI+CiAjaW5jbHVkZSA8UVJl
Z2lvbj4KQEAgLTEzOCw2ICsxMzksOCBAQCB2b2lkIFRpbGU6OnBhaW50KEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBpZiAoIW1fYnVmZmVyKQog
ICAgICAgICByZXR1cm47CisKKyAgICBxRGVidWcoKSA8PCAiUGFpbnRpbmcgdGlsZSI7CiAgICAg
CiAgICAgSW50UmVjdCB0YXJnZXQgPSBpbnRlcnNlY3Rpb24ocmVjdCwgbV9yZWN0KTsKICAgICBJ
bnRSZWN0IHNvdXJjZSgodGFyZ2V0LngoKSAtIG1fcmVjdC54KCkpLApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMWQxZGMyNy4uODk5
NmJhOCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDYtMDEgIE5vJ2FtIFJvc2VudGhhbCAgPG5v
YW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbUXRdIEFkZCBkb2N1bWVudGF0aW9uIHRvIHRoZSBRdFdlYmtpdCBi
cmlkZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1
ODYxCisKKyAgICAgICAgKiBkb2NzL3F0d2Via2l0LWJyaWRnZS5xZG9jOiBBZGRlZC4KKyAgICAg
ICAgKiBkb2NzL3F0d2Via2l0LnFkb2M6CisgICAgICAgICogZG9jcy93ZWJraXRzbmlwcGV0cy9x
dHdlYmtpdF9icmlkZ2Vfc25pcHBldHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKHdyYXBJbkZ1bmN0
aW9uKToKKwogMjAxMC0wNS0yNCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9kb2NzL3F0d2Via2l0LnFkb2MgYi9XZWJLaXQvcXQvZG9jcy9xdHdlYmtpdC5xZG9jCmluZGV4
IGM2ZGQ1NTAuLmQzZjU1MDIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9kb2NzL3F0d2Via2l0LnFk
b2MKKysrIGIvV2ViS2l0L3F0L2RvY3MvcXR3ZWJraXQucWRvYwpAQCAtMjAsOCArMjAsOSBAQAog
ICAgIHNjcmlwdGVkIHdpdGggSmF2YVNjcmlwdC4KIAogICAgIEEgYnJpZGdlIGJldHdlZW4gdGhl
IEphdmFTY3JpcHQgZXhlY3V0aW9uIGVudmlyb25tZW50IGFuZCB0aGUgUXQgb2JqZWN0Ci0gICAg
bW9kZWwgbWFrZXMgaXQgcG9zc2libGUgZm9yIGN1c3RvbSBRT2JqZWN0cyB0byBiZSBzY3JpcHRl
ZC4gSW50ZWdyYXRpb24KLSAgICB3aXRoIHRoZSBRdCBuZXR3b3JraW5nIG1vZHVsZSBlbmFibGVz
IFdlYiBwYWdlcyB0byBiZSB0cmFuc3BhcmVudGx5IGxvYWRlZAorICAgIG1vZGVsIG1ha2VzIGl0
IHBvc3NpYmxlIGZvciBjdXN0b20gUU9iamVjdHMgdG8gYmUgc2NyaXB0ZWQuIEZvciBkZXRhaWxl
ZAorICAgIGRvY3VtZW50YXRpb24gc2VlIFxse1RoZSBRdFdlYmtpdCBCcmlkZ2V9LgorICAgIElu
dGVncmF0aW9uIHdpdGggdGhlIFF0IG5ldHdvcmtpbmcgbW9kdWxlIGVuYWJsZXMgV2ViIHBhZ2Vz
IHRvIGJlIHRyYW5zcGFyZW50bHkgbG9hZGVkCiAgICAgZnJvbSBXZWIgc2VydmVycywgdGhlIGxv
Y2FsIGZpbGUgc3lzdGVtIG9yIGV2ZW4gdGhlIFF0IHJlc291cmNlIHN5c3RlbS4KIAogICAgIElu
IGFkZGl0aW9uIHRvIHByb3ZpZGluZyBwdXJlIHJlbmRlcmluZyBmZWF0dXJlcywgSFRNTCBkb2N1
bWVudHMgY2FuIGJlCg==
</data>
<flag name="review"
          id="42175"
          type_id="1"
          status="-"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="42176"
          type_id="3"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>57559</attachid>
            <date>2010-06-01 10:03:49 -0700</date>
            <delta_ts>2010-06-11 16:43:12 -0700</delta_ts>
            <desc>New generated doc</desc>
            <filename>qtwebkit-bridge.html</filename>
            <type>text/html</type>
            <size>30527</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRt
bCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53
My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPGhlYWQ+
CiAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9dXRmLTgiIC8+CjwhLS0gcXR3ZWJraXQtYnJpZGdlLnFkb2MgLS0+CiAgPHRpdGxlPlRo
ZSBRdFdlYktpdCBCcmlkZ2U8L3RpdGxlPgogIDwhLS1baWYgSUVdPjxtZXRhIG5hbWU9Ik1TU21h
cnRUYWdzUHJldmVudFBhcnNpbmciIGNvbnRlbnQ9InRydWUiPjxtZXRhIGh0dHAtZXF1aXY9Imlt
YWdldG9vbGJhciIgY29udGVudD0ibm8iPjwhW2VuZGlmXS0tPjwhLS1baWYgbHQgSUUgN10+PGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic3R5bGUvc3R5bGVfaWU2
LmNzcyI+PCFbZW5kaWZdLS0+PCEtLVtpZiBJRSA3XT48bGluayByZWw9InN0eWxlc2hlZXQiIHR5
cGU9InRleHQvY3NzIiBocmVmPSJzdHlsZS9zdHlsZV9pZTcuY3NzIj48IVtlbmRpZl0tLT48IS0t
W2lmIElFIDhdPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InN0
eWxlL3N0eWxlX2llOC5jc3MiPjwhW2VuZGlmXS0tPiAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0
eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic3R5bGUvc3R5bGUuY3NzIiAvPgogIDxzY3JpcHQgc3JjPSJz
Y3JpcHRzL2pxdWVyeS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KICA8c2Ny
aXB0IHNyYz0ic2NyaXB0cy9mdW5jdGlvbnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9z
Y3JpcHQ+CjwvaGVhZD4KPGJvZHkgY2xhc3M9Im9mZmxpbmUiICBvbmxvYWQ9IkNoZWNrRW1wdHlB
bmRMb2FkTGlzdCgpOyI+CiAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9InF0d2Via2l0LWJyaWRn
ZS5odG1sIj5UaGUgUXRXZWJLaXQgQnJpZGdlPC9hPjwvbGk+PGRpdiBjbGFzcz0idG9jIj4KPGgz
PkNvbnRlbnRzPC9oMz4KPHVsPgo8bGkgY2xhc3M9ImxldmVsMSI+PGEgaHJlZj0iI292ZXJ2aWV3
Ij5PdmVydmlldzwvYT48L2xpPgo8bGkgY2xhc3M9ImxldmVsMiI+PGEgaHJlZj0iI3RoZS10ZWNo
bm9sb2d5Ij5UaGUgdGVjaG5vbG9neTwvYT48L2xpPgo8bGkgY2xhc3M9ImxldmVsMiI+PGEgaHJl
Zj0iI3VzZS1jYXNlcyI+VXNlIENhc2VzPC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwzIj48YSBo
cmVmPSIjd2ViLWNvbnRlbnQtaW4tYS1uYXRpdmUtYXBwbGljYXRpb24iPldlYiBDb250ZW50IGlu
IGEgTmF0aXZlIEFwcGxpY2F0aW9uPC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwzIj48YSBocmVm
PSIjdGhpbi1jbGllbnQiPlRoaW4gQ2xpZW50PC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwyIj48
YSBocmVmPSIjZGlmZmVyZW5jZS1mcm9tLW90aGVyLWJyaWRnZS10ZWNobm9sb2dpZXMiPkRpZmZl
cmVuY2UgZnJvbSBPdGhlciBCcmlkZ2UgVGVjaG5vbG9naWVzPC9hPjwvbGk+CjxsaSBjbGFzcz0i
bGV2ZWwyIj48YSBocmVmPSIjcmVsYXRpb25zaGlwLXdpdGgtcXRzY3JpcHQiPlJlbGF0aW9uc2hp
cCB3aXRoIFF0U2NyaXB0PC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwxIj48YSBocmVmPSIjYWNj
ZXNzaW5nLXFvYmplY3RzIj5BY2Nlc3NpbmcgUU9iamVjdHM8L2E+PC9saT4KPGxpIGNsYXNzPSJs
ZXZlbDIiPjxhIGhyZWY9IiNjcmVhdGluZy10aGUtbGluay12aWEtcXdlYmZyYW1lIj5DcmVhdGlu
ZyB0aGUgbGluayB2aWEgUVdlYkZyYW1lPC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwyIj48YSBo
cmVmPSIjdXNpbmctc2lnbmFscy1hbmQtc2xvdHMiPlVzaW5nIFNpZ25hbHMgYW5kIFNsb3RzPC9h
PjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwzIj48YSBocmVmPSIjc2lnbmFsLXRvLWZ1bmN0aW9uLWNv
bm5lY3Rpb25zIj5TaWduYWwgdG8gRnVuY3Rpb24gQ29ubmVjdGlvbnM8L2E+PC9saT4KPGxpIGNs
YXNzPSJsZXZlbDMiPjxhIGhyZWY9IiNzaWduYWwtdG8tbWVtYmVyLWZ1bmN0aW9uLWNvbm5lY3Rp
b25zIj5TaWduYWwgdG8gTWVtYmVyIEZ1bmN0aW9uIENvbm5lY3Rpb25zPC9hPjwvbGk+CjxsaSBj
bGFzcz0ibGV2ZWwzIj48YSBocmVmPSIjc2lnbmFsLXRvLW5hbWVkLW1lbWJlci1mdW5jdGlvbi1j
b25uZWN0aW9ucyI+U2lnbmFsIHRvIE5hbWVkIE1lbWJlciBGdW5jdGlvbiBDb25uZWN0aW9uczwv
YT48L2xpPgo8bGkgY2xhc3M9ImxldmVsMyI+PGEgaHJlZj0iI2Vycm9yLWhhbmRsaW5nIj5FcnJv
ciBIYW5kbGluZzwvYT48L2xpPgo8bGkgY2xhc3M9ImxldmVsMyI+PGEgaHJlZj0iI2VtaXR0aW5n
LXNpZ25hbHMtZnJvbS1zY3JpcHRzIj5FbWl0dGluZyBTaWduYWxzIGZyb20gU2NyaXB0czwvYT48
L2xpPgo8bGkgY2xhc3M9ImxldmVsMyI+PGEgaHJlZj0iI292ZXJsb2FkZWQtc2lnbmFscy1hbmQt
c2xvdHMiPk92ZXJsb2FkZWQgU2lnbmFscyBhbmQgU2xvdHM8L2E+PC9saT4KPGxpIGNsYXNzPSJs
ZXZlbDMiPjxhIGhyZWY9IiNpbnZva2FibGUtbWV0aG9kcyI+SW52b2thYmxlIE1ldGhvZHM8L2E+
PC9saT4KPGxpIGNsYXNzPSJsZXZlbDIiPjxhIGhyZWY9IiNhY2Nlc3NpbmctcHJvcGVydGllcyI+
QWNjZXNzaW5nIFByb3BlcnRpZXM8L2E+PC9saT4KPGxpIGNsYXNzPSJsZXZlbDIiPjxhIGhyZWY9
IiNhY2Nlc3NpbmctY2hpbGQtcW9iamVjdHMiPkFjY2Vzc2luZyBDaGlsZCBRT2JqZWN0czwvYT48
L2xpPgo8bGkgY2xhc3M9ImxldmVsMiI+PGEgaHJlZj0iI2RhdGEtdHlwZXMiPkRhdGEgdHlwZXM8
L2E+PC9saT4KPGxpIGNsYXNzPSJsZXZlbDMiPjxhIGhyZWY9IiNudW1iZXJzIj5OdW1iZXJzPC9h
PjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwzIj48YSBocmVmPSIjc3RyaW5ncyI+U3RyaW5nczwvYT48
L2xpPgo8bGkgY2xhc3M9ImxldmVsMyI+PGEgaHJlZj0iI2RhdGUtdGltZSI+RGF0ZSAmYW1wOyBU
aW1lPC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwzIj48YSBocmVmPSIjcmVndWxhci1leHByZXNz
aW9ucyI+UmVndWxhciBFeHByZXNzaW9uczwvYT48L2xpPgo8bGkgY2xhc3M9ImxldmVsMyI+PGEg
aHJlZj0iI2xpc3RzIj5MaXN0czwvYT48L2xpPgo8bGkgY2xhc3M9ImxldmVsMyI+PGEgaHJlZj0i
I2NvbXBvdW5kLWpzb24tb2JqZWN0cyI+Q29tcG91bmQgKEpTT04pIG9iamVjdHM8L2E+PC9saT4K
PGxpIGNsYXNzPSJsZXZlbDMiPjxhIGhyZWY9IiNxdmFyaWFudHMiPlFWYXJpYW50czwvYT48L2xp
Pgo8bGkgY2xhc3M9ImxldmVsMyI+PGEgaHJlZj0iI3FvYmplY3RzIj5RT2JqZWN0czwvYT48L2xp
Pgo8bGkgY2xhc3M9ImxldmVsMyI+PGEgaHJlZj0iI3BpeG1hcHMtYW5kLWltYWdlcyI+UGl4bWFw
cyBhbmQgSW1hZ2VzPC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwzIj48YSBocmVmPSIjcXdlYmVs
ZW1lbnQiPlFXZWJFbGVtZW50PC9hPjwvbGk+CjxsaSBjbGFzcz0ibGV2ZWwxIj48YSBocmVmPSIj
YXJjaGl0ZWN0dXJlLWlzc3VlcyI+QXJjaGl0ZWN0dXJlIGlzc3VlczwvYT48L2xpPgo8bGkgY2xh
c3M9ImxldmVsMiI+PGEgaHJlZj0iI2xpbWl0aW5nLXRoZS1zY29wZS1vZi10aGUtaHlicmlkLWxh
eWVyIj5MaW1pdGluZyB0aGUgU2NvcGUgb2YgdGhlIEh5YnJpZCBMYXllcjwvYT48L2xpPgo8bGkg
Y2xhc3M9ImxldmVsMiI+PGEgaHJlZj0iI2ludGVybmV0LXNlY3VyaXR5Ij5JbnRlcm5ldCBTZWN1
cml0eTwvYT48L2xpPgo8L3VsPgo8L2Rpdj4KPGgxIGNsYXNzPSJ0aXRsZSI+VGhlIFF0V2ViS2l0
IEJyaWRnZTwvaDE+CjxzcGFuIGNsYXNzPSJzdWJ0aXRsZSI+PC9zcGFuPgo8ZGl2IGNsYXNzPSJk
ZXNjciIvPgo8YSBuYW1lPSJvdmVydmlldyI+PC9hPgo8aDI+T3ZlcnZpZXc8L2gyPgo8YSBuYW1l
PSJ0aGUtdGVjaG5vbG9neSI+PC9hPgo8aDM+VGhlIHRlY2hub2xvZ3k8L2gzPgo8cD5UaGUgPGEg
aHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSBpcyBhIG1lY2hhbmlzbSB0
aGF0IGV4dGVuZHMgV2ViS2l0J3MgSmF2YVNjcmlwdCBlbnZpcm9ubWVudCB0byBhY2Nlc3MgbmF0
aXZlIG9iamVjdHMgdGhhdCBhcmUgcmVwcmVzZW50ZWQgYXMgPGEgaHJlZj0iI3FvYmplY3RzIj5R
T2JqZWN0czwvYT4uIEl0IHRha2VzIGFkdmFudGFnZSBvZiB0aGUgPGEgaHJlZj0iI3FvYmplY3Rz
Ij5RT2JqZWN0PC9hPiBpbnRyb3NwZWN0aW9uLCBhIHBhcnQgb2YgdGhlIFF0IE9iamVjdCBNb2Rl
bCwgd2hpY2ggbWFrZXMgaXQgZWFzeSB0byBpbnRlZ3JhdGUgd2l0aCB0aGUgZHluYW1pYyBKYXZh
U2NyaXB0IGVudmlyb25tZW50LCBmb3IgZXhhbXBsZSA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmpl
Y3Q8L2E+IHByb3BlcnRpZXMgbWFwIGRpcmVjdGx5IHRvIEphdmFTY3JpcHQgcHJvcGVydGllczwv
cD4KPGEgbmFtZT0idXNlLWNhc2VzIj48L2E+CjxoMz5Vc2UgQ2FzZXM8L2gzPgo8cD5UaGVyZSBh
cmUgdHdvIG1haW4gdXNlIGNhc2VzIGZvciB0aGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRX
ZWJLaXQ8L2E+IGJyaWRnZS4gV2ViIGNvbnRlbnQgaW4gYSBuYXRpdmUgYXBwbGljYXRpb24sIGFu
ZCBUaGluIENsaWVudHMuPC9wPgo8YSBuYW1lPSJ3ZWItY29udGVudC1pbi1hLW5hdGl2ZS1hcHBs
aWNhdGlvbiI+PC9hPgo8aDQ+V2ViIENvbnRlbnQgaW4gYSBOYXRpdmUgQXBwbGljYXRpb248L2g0
Pgo8cD5UaGlzIGlzIGEgY29tbW9uIHVzZSBjYXNlIGluIGNsYXNzaWMgUXQgYXBwbGljYXRpb24s
IGFuZCBhIGRlc2lnbiBwYXR0ZXJuIHVzZWQgYnkgc2V2ZXJhbCBtb2Rlcm4gYXBwbGljYXRpb25z
LiBGb3IgZXhhbXBsZSwgYW4gYXBwbGljYXRpb24gdGhhdCBjb250YWlucyBhIG1lZGlhLXBsYXll
ciwgcGxheWxpc3QgbWFuYWdlciwgYW5kIG11c2ljIHN0b3JlLiBUaGUgcGxheWxpc3QgbWFuYWdl
ciBpcyB1c3VhbGx5IGJlc3QgYXV0aG9yZWQgYXMgYSBjbGFzc2ljIGRlc2t0b3AgYXBwbGljYXRp
b24sIHdpdGggdGhlIG5hdGl2ZS1sb29raW5nIHJvYnVzdCBRV2lkZ2V0cyBoZWxwaW5nIHdpdGgg
cHJvZHVjaW5nIHRoYXQgYXBwbGljYXRpb24uIFRoZSBtZWRpYS1wbGF5ZXIgY29udHJvbCwgd2hp
Y2ggdXN1YWxseSBsb29rcyBjdXN0b20sIGNhbiBiZSB3cml0dGVuIHVzaW5nIFRoZSBHcmFwaGlj
cyBWaWV3IGZyYW1ld29yayBvciB3aXRoIGluIGEgZGVjbGFyYXRpdmUgd2F5IHdpdGggUXREZWNs
YXJhdGl2ZS4gVGhlIG11c2ljIHN0b3JlLCB3aGljaCBzaG93cyBkeW5hbWljIGNvbnRlbnQgZnJv
bSB0aGUgaW50ZXJuZXQgYW5kIGdldHMgbW9kaWZpZWQgcmFwaWRseSwgaXMgYmVzdCBhdXRob3Jl
ZCBpbiBIVE1MIGFuZCBtYWludGFpbmVkIG9uIHRoZSBzZXJ2ZXIuPC9wPgo8cD5XaXRoIHRoZSA8
YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlLCB0aGF0IG11c2ljIHN0
b3JlIGNvbXBvbmVudCBjYW4gaW50ZXJhY3Qgd2l0aCBuYXRpdmUgcGFydHMgb2YgdGhlIGFwcGxp
Y2F0aW9uLCBmb3IgZXhhbXBsZSwgaWYgYSBmaWxlIG5lZWRzIHRvIGJlIHNhdmVkIHRvIGEgc3Bl
Y2lmaWMgbG9jYXRpb24uPC9wPgo8YSBuYW1lPSJ0aGluLWNsaWVudCI+PC9hPgo8aDQ+VGhpbiBD
bGllbnQ8L2g0Pgo8cD5Bbm90aGVyIHVzZSBjYXNlIGlzIHVzaW5nIFF0IGFzIGEgbmF0aXZlIGJh
Y2tlbmQgdG8gYSBmdWxsIHdlYiBhcHBsaWNhdGlvbiwgcmVmZXJyZWQgdG8gaGVyZSBhcyBhIHRo
aW4gY2xpZW50LiBJbiB0aGlzIHVzZS1jYXNlLCB0aGUgZW50aXJlIFVJIGlzIGRyaXZlbiBieSBI
VE1MLCBKYXZhU2NyaXB0IGFuZCBDU1MsIGFuZCBuYXRpdmUgUXQtYmFzZWQgY29tcG9uZW50cyBh
cmUgdXNlZCB0byBhbGxvdyB0aGF0IGFwcGxpY2F0aW9uIGFjY2VzcyB0byBuYXRpdmUgZmVhdHVy
ZXMgbm90IHVzdWFsbHkgZXhwb3NlZCB0byB0aGUgd2ViLCBvciB0byBlbmFibGUgaGVscGVyIGNv
bXBvbmVudHMgdGhhdCBhcmUgYmVzdCB3cml0dGVuIHdpdGggQysrLjwvcD4KPHA+QW4gZXhhbXBs
ZSBmb3Igc3VjaCBhIGNsaWVudCBpcyBhIFVJIGZvciBhIHZpZGVvLW9uLWRlbWFuZCBzZXJ2aWNl
IG9uIGEgVFYuIFRoZSBlbnRpcmUgY29udGVudCBhbmQgVUkgY2FuIGJlIGtlcHQgb24gdGhlIHNl
cnZlciwgc2VydmVkIGR5bmFtaWNhbGx5IHRocm91Z2ggSFRUUCBhbmQgcmVuZGVyZWQgd2l0aCBX
ZWJLaXQsIHdpdGggYWRkaXRpb25hbCBuYXRpdmUgY29tcG9uZW50cyBmb3IgYWNjZXNzaW5nIGhh
cmR3YXJlLXNwZWNpZmljIGZlYXR1cmVzIGxpa2UgZXh0cmFjdGluZyB0aGUgbGlzdCBvZiBpbWFn
ZXMgb3V0IG9mIHRoZSB2aWRlby48L3A+CjxhIG5hbWU9ImRpZmZlcmVuY2UtZnJvbS1vdGhlci1i
cmlkZ2UtdGVjaG5vbG9naWVzIj48L2E+CjxoMz5EaWZmZXJlbmNlIGZyb20gT3RoZXIgQnJpZGdl
IFRlY2hub2xvZ2llczwvaDM+CjxwPk9mIGNvdXJzZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5R
dFdlYktpdDwvYT4gaXMgbm90IHRoZSBvbmx5IGJyaWRnZSB0ZWNobm9sb2d5IG91dCB0aGVyZS4g
TlBBUEksIGZvciBleGFtcGxlLCBpcyBhIGxvbmctdGltZSBzdGFuZGFyZCBvciB3ZWItbmF0aXZl
IGJyaWRnaW5nLiBEdWUgdG8gUXQncyBtZXRhLW9iamVjdCBzeXN0ZW0sIGZ1bGwgYXBwbGljYXRp
b25zIGJ1aWx0IHBhcnRpYWxseSB3aXRoIHdlYi10ZWNobm9sb2dpZXMgYXJlIG11Y2ggZWFzaWVy
IHRvIGRldmVsb3AuIE5QQVBJLCBob3dldmVyLCBpcyBtb3JlIGdlYXJlZCB0b3dhcmRzIGNyb3Nz
LWJyb3dzZXIgcGx1Z2lucywgZHVlIHRvIGl0IGJlaW5nIGFuIGFjY2VwdGVkIHN0YW5kYXJkLjwv
cD4KPHA+V2hlbiBkZXZlbG9waW5nIGEgcGx1Z2luIGZvciBhIGJyb3dzZXIsIE5QQVBJIGlzIHJl
Y29tbWVuZGVkLiBXaGVuIGRldmVsb3BpbmcgYSBmdWxsIGFwcGxpY2F0aW9uIHRoYXQgdXRpbGl6
ZXMgSFRNTC1yZW5kZXJpbmcsIHRoZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwv
YT4gYnJpZGdlIGlzIHJlY29tbWVuZGVkLjwvcD4KPGEgbmFtZT0icmVsYXRpb25zaGlwLXdpdGgt
cXRzY3JpcHQiPjwvYT4KPGgzPlJlbGF0aW9uc2hpcCB3aXRoIFF0U2NyaXB0PC9oMz4KPHA+VGhl
IDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlkZ2UgaXMgc2ltaWxhciB0
byBRdFNjcmlwdCwgZXNwZWNpYWxseSB0byBzb21lIG9mIHRoZSBmZWF0dXJlcyBkZXNjcmliZWQg
aW4gdGhlIE1ha2luZyBBcHBsaWNhdGlvbnMgU2NyaXB0YWJsZSBwYWdlLiBIb3dldmVyLCBhcyBv
ZiBRdCA0LjcsIGZ1bGwgUXRTY3JpcHQgQVBJIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHdlYiBhcHBs
aWNhdGlvbnMuIFRoYXQgaXMgcGxhbm5lZCBhcyBhbiBlbmhhbmNlbWVudCBmb3IgZnV0dXJlIHZl
cnNpb25zLiBZb3UgbWlnaHQgbm90aWNlIHRoYXQgc29tZSBvZiB0aGUgZmVhdHVyZXMgZGVzY3Jp
YmVkIGhlcmUgYXJlIGFuIGV4YWN0IGNvcHkgb2YgdGhlIG9uZXMgZGVzY3JpYmVkIGluIHRoZSBN
YWtpbmcgQXBwbGljYXRpb25zIFNjcmlwdGFibGUgcGFnZS4gVGhhdCBpcyBiZWNhdXNlIHRoZSA8
YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIGlzIGEgc3Vic2V0IG9m
IHRoYXQgZnVuY3Rpb25hbGl0eSwgYW5kIHRoaXMgcGFnZSB0cmllcyB0byBjYXB0dXJlIHRoZSBm
dWxsIGNhcGFiaWxpdGllcyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgPGEgaHJlZj0icXR3ZWJraXQu
aHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSBzcGVjaWZpY2FsbHkuPC9wPgo8YSBuYW1lPSJhY2Nl
c3NpbmctcW9iamVjdHMiPjwvYT4KPGgyPkFjY2Vzc2luZyBRT2JqZWN0czwvaDI+CjxhIG5hbWU9
ImNyZWF0aW5nLXRoZS1saW5rLXZpYS1xd2ViZnJhbWUiPjwvYT4KPGgzPkNyZWF0aW5nIHRoZSBs
aW5rIHZpYSBRV2ViRnJhbWU8L2gzPgo8cD5CeSBkZWZhdWx0LCBubyA8YSBocmVmPSIjcW9iamVj
dHMiPlFPYmplY3RzPC9hPiBhcmUgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSB3ZWIgZW52aXJvbm1l
bnQsIGZvciBzZWN1cml0eSByZWFzb25zLiBUbyBlbmFibGUgd2ViIGNvbnRlbnQgYWNjZXNzIGZv
ciBhIG5hdGl2ZSA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+LCB0aGUgYXBwbGljYXRp
b24gbXVzdCBleHBsaWNpdGx5IGdyYW50IGl0IGFjY2VzcywgdXNpbmcgdGhlIGZvbGxvd2luZyBj
YWxsOjwvcD4KPHByZSBjbGFzcz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIDxzcGFuIGNsYXNz
PSJjb21tZW50Ij4vLyAuLi48L3NwYW4+CiAgICAgICAgUVdlYkZyYW1lICpmcmFtZSA9IG15V2Vi
UGFnZS0mZ3Q7bWFpbkZyYW1lKCk7CiAgICAgICAgZnJhbWUtJmd0O2FkZFRvSmF2YVNjcmlwdFdp
bmRvd09iamVjdCgmcXVvdDtzb21lTmFtZUZvck15T2JqZWN0JnF1b3Q7LCBteU9iamVjdCk7CiAg
ICAgICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIC4uLjwvc3Bhbj48L3ByZT4KPHA+U2VlIDxh
IGhyZWY9InF3ZWJmcmFtZS5odG1sI2FkZFRvSmF2YVNjcmlwdFdpbmRvd09iamVjdCI+UVdlYkZy
YW1lOjphZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3Q8L2E+KCkgZm9yIG1vcmUgaW5mb3JtYXRp
b24uPC9wPgo8YSBuYW1lPSJ1c2luZy1zaWduYWxzLWFuZC1zbG90cyI+PC9hPgo8aDM+VXNpbmcg
U2lnbmFscyBhbmQgU2xvdHM8L2gzPgo8cD5UaGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRX
ZWJLaXQ8L2E+IGJyaWRnZSBhZGFwdHMgUXQncyBjZW50cmFsIFNpZ25hbHMgYW5kIFNsb3RzIGZl
YXR1cmUgZm9yIHNjcmlwdGluZy4gVGhlcmUgYXJlIHRocmVlIHByaW5jaXBhbCB3YXlzIHRvIHVz
ZSBzaWduYWxzIGFuZCBzbG90cyB3aXRoIHRoZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdl
YktpdDwvYT4gYnJpZGdlOjwvcD4KPHVsPgo8bGk+PGI+SHlicmlkIEMrKy9zY3JpcHQ8L2I+OiBD
KysgYXBwbGljYXRpb24gY29kZSBjb25uZWN0cyBhIHNpZ25hbCB0byBhIHNjcmlwdCBmdW5jdGlv
bi4gRm9yIGV4YW1wbGUsIHRoZSBzY3JpcHQgZnVuY3Rpb24gY2FuIGJlIGEgZnVuY3Rpb24gdGhh
dCB0aGUgdXNlciBoYXMgdHlwZWQgaW4sIG9yIG9uZSB0aGF0IHlvdSBoYXZlIHJlYWQgZnJvbSBh
IGZpbGUuIFRoaXMgYXBwcm9hY2ggaXMgdXNlZnVsIGlmIHlvdSBoYXZlIGEgPGEgaHJlZj0iI3Fv
YmplY3RzIj5RT2JqZWN0PC9hPiBidXQgZG9uJ3Qgd2FudCB0byBleHBvc2UgdGhlIG9iamVjdCBp
dHNlbGYgdG8gdGhlIHNjcmlwdGluZyBlbnZpcm9ubWVudDsgeW91IGp1c3Qgd2FudCBhIHNjcmlw
dCB0byBiZSBhYmxlIHRvIGRlZmluZSBob3cgYSBzaWduYWwgc2hvdWxkIGJlIHJlYWN0ZWQgdG8s
IGFuZCBsZWF2ZSBpdCB1cCB0byB0aGUgQysrIHNpZGUgb2YgeW91ciBhcHBsaWNhdGlvbiB0byBl
c3RhYmxpc2ggdGhlIGNvbm5lY3Rpb24uPC9saT4KPGxpPjxiPkh5YnJpZCBzY3JpcHQvQysrPC9i
PjogQSBzY3JpcHQgY2FuIGNvbm5lY3Qgc2lnbmFscyBhbmQgc2xvdHMgdG8gZXN0YWJsaXNoIGNv
bm5lY3Rpb25zIGJldHdlZW4gcHJlLWRlZmluZWQgb2JqZWN0cyB0aGF0IHRoZSBhcHBsaWNhdGlv
biBleHBvc2VzIHRvIHRoZSBzY3JpcHRpbmcgZW52aXJvbm1lbnQuIEluIHRoaXMgc2NlbmFyaW8s
IHRoZSBzbG90cyB0aGVtc2VsdmVzIGFyZSBzdGlsbCB3cml0dGVuIGluIEMrKywgYnV0IHRoZSBk
ZWZpbml0aW9uIG9mIHRoZSBjb25uZWN0aW9ucyBpcyBmdWxseSBkeW5hbWljIChzY3JpcHQtZGVm
aW5lZCkuPC9saT4KPGxpPjxiPlB1cmVseSBzY3JpcHQtZGVmaW5lZDwvYj46IEEgc2NyaXB0IGNh
biBib3RoIGRlZmluZSBzaWduYWwgaGFuZGxlciBmdW5jdGlvbnMgKGVmZmVjdGl2ZWx5ICZxdW90
O3Nsb3RzIHdyaXR0ZW4gaW4gUXQgU2NyaXB0JnF1b3Q7KSwgPGk+YW5kPC9pPiBzZXQgdXAgdGhl
IGNvbm5lY3Rpb25zIHRoYXQgdXRpbGl6ZSB0aG9zZSBoYW5kbGVycy4gRm9yIGV4YW1wbGUsIGEg
c2NyaXB0IGNhbiBkZWZpbmUgYSBmdW5jdGlvbiB0aGF0IHdpbGwgaGFuZGxlIHRoZSBRTGluZUVk
aXQ6OnJldHVyblByZXNzZWQoKSBzaWduYWwsIGFuZCB0aGVuIGNvbm5lY3QgdGhhdCBzaWduYWwg
dG8gdGhlIHNjcmlwdCBmdW5jdGlvbi48L2xpPgo8L3VsPgo8cD5Ob3RlIHRoYXQgUXRTY3JpcHQg
ZnVuY3Rpb25zIHN1Y2ggYXMgcVNjcmlwdENvbm5lY3QgYXJlIHVuYXZpbGFibGUgaW4gdGhlIHdl
YiBlbnZpcm9ubWVudC48L3A+CjxhIG5hbWU9InNpZ25hbC10by1mdW5jdGlvbi1jb25uZWN0aW9u
cyI+PC9hPgo8aDQ+U2lnbmFsIHRvIEZ1bmN0aW9uIENvbm5lY3Rpb25zPC9oND4KPHByZSBjbGFz
cz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIGNvbm5lY3QoZnVuY3Rpb24pOzwvcHJlPgo8cD5J
biB0aGlzIGZvcm0gb2YgY29ubmVjdGlvbiwgdGhlIGFyZ3VtZW50IHRvIDx0dD5jb25uZWN0KCk8
L3R0PiBpcyB0aGUgZnVuY3Rpb24gdG8gY29ubmVjdCB0byB0aGUgc2lnbmFsLjwvcD4KPHByZSBj
bGFzcz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIGZ1bmN0aW9uIG15SW50ZXJlc3RpbmdTY3Jp
cHRGdW5jdGlvbigpIHsgLi4uIH0KICAgICAgICAuLi4KICAgICAgICBteVFPYmplY3Quc29tZXRo
aW5nQ2hhbmdlZC5jb25uZWN0KG15SW50ZXJlc3RpbmdTY3JpcHRGdW5jdGlvbik7PC9wcmU+Cjxw
PlRoZSBhcmd1bWVudCBjYW4gYmUgYSBRdCBTY3JpcHQgZnVuY3Rpb24sIGFzIGluIHRoZSBhYm92
ZSBleGFtcGxlLCBvciBpdCBjYW4gYmUgYSA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+
IHNsb3QsIGFzIGluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZTo8L3A+CjxwcmUgY2xhc3M9ImhpZ2hs
aWdodGVkQ29kZSI+ICAgICAgICBteVFPYmplY3Quc29tZXRoaW5nQ2hhbmdlZC5jb25uZWN0KG15
T3RoZXJRT2JqZWN0LmRvU29tZXRoaW5nKTs8L3ByZT4KPHA+V2hlbiB0aGUgYXJndW1lbnQgaXMg
YSA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+IHNsb3QsIHRoZSBhcmd1bWVudCB0eXBl
cyBvZiB0aGUgc2lnbmFsIGFuZCBzbG90IGRvIG5vdCBuZWNlc3NhcmlseSBoYXZlIHRvIGJlIGNv
bXBhdGlibGU7IGlmIG5lY2Vzc2FyeSwgdGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2Vi
S2l0PC9hPiBicmlkZ2Ugd2lsbCBwZXJmb3JtIGNvbnZlcnNpb24gb2YgdGhlIHNpZ25hbCBhcmd1
bWVudHMgdG8gbWF0Y2ggdGhlIGFyZ3VtZW50IHR5cGVzIG9mIHRoZSBzbG90LjwvcD4KPHA+VG8g
ZGlzY29ubmVjdCBmcm9tIGEgc2lnbmFsLCB5b3UgaW52b2tlIHRoZSBzaWduYWwncyA8dHQ+ZGlz
Y29ubmVjdCgpPC90dD4gZnVuY3Rpb24sIHBhc3NpbmcgdGhlIGZ1bmN0aW9uIHRvIGRpc2Nvbm5l
Y3QgYXMgYXJndW1lbnQ6PC9wPgo8cHJlIGNsYXNzPSJoaWdobGlnaHRlZENvZGUiPiAgICAgICAg
bXlRT2JqZWN0LnNvbWV0aGluZ0NoYW5nZWQuZGlzY29ubmVjdChteUludGVyZXN0aW5nRnVuY3Rp
b24pOwogICAgICAgIG15UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmRpc2Nvbm5lY3QobXlPdGhl
clFPYmplY3QuZG9Tb21ldGhpbmcpOzwvcHJlPgo8cD5XaGVuIGEgc2NyaXB0IGZ1bmN0aW9uIGlz
IGludm9rZWQgaW4gcmVzcG9uc2UgdG8gYSBzaWduYWwsIHRoZSA8dHQ+JnF1b3Q7dGhpcyZxdW90
OzwvdHQ+IG9iamVjdCB3aWxsIGJlIHRoZSBHbG9iYWwgT2JqZWN0LjwvcD4KPGEgbmFtZT0ic2ln
bmFsLXRvLW1lbWJlci1mdW5jdGlvbi1jb25uZWN0aW9ucyI+PC9hPgo8aDQ+U2lnbmFsIHRvIE1l
bWJlciBGdW5jdGlvbiBDb25uZWN0aW9uczwvaDQ+CjxwPjx0dD5jb25uZWN0KHRoaXNPYmplY3Qs
IGZ1bmN0aW9uKTwvdHQ+PC9wPgo8cD5JbiB0aGlzIGZvcm0gb2YgdGhlIDx0dD5jb25uZWN0KCk8
L3R0PiBmdW5jdGlvbiwgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZSBvYmplY3QgdGhhdCB3aWxs
IGJlIGJvdW5kIHRvIHRoZSB2YXJpYWJsZSwgPHR0PnRoaXM8L3R0Piwgd2hlbiB0aGUgZnVuY3Rp
b24gc3BlY2lmaWVkIHVzaW5nIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgaW52b2tlZC48L3A+Cjxw
PklmIHlvdSBoYXZlIGEgcHVzaCBidXR0b24gaW4gYSBmb3JtLCB5b3UgdHlwaWNhbGx5IHdhbnQg
dG8gZG8gc29tZXRoaW5nIGludm9sdmluZyB0aGUgZm9ybSBpbiByZXNwb25zZSB0byB0aGUgYnV0
dG9uJ3MgPHR0PmNsaWNrZWQ8L3R0PiBzaWduYWw7IHBhc3NpbmcgdGhlIGZvcm0gYXMgdGhlIDx0
dD50aGlzPC90dD4gb2JqZWN0IG1ha2VzIHNlbnNlIGluIHN1Y2ggYSBjYXNlLjwvcD4KPHByZSBj
bGFzcz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIHZhciBvYmogPSB7IHg6IDEyMyB9OwogICAg
ICAgIHZhciBmdW4gPSBmdW5jdGlvbigpIHsgcHJpbnQodGhpcy54KTsgfTsKICAgICAgICBteVFP
YmplY3Quc29tZXRoaW5nQ2hhbmdlZC5jb25uZWN0KG9iaiwgZnVuKTs8L3ByZT4KPHA+VG8gZGlz
Y29ubmVjdCBmcm9tIHRoZSBzaWduYWwsIHBhc3MgdGhlIHNhbWUgYXJndW1lbnRzIHRvIDx0dD5k
aXNjb25uZWN0KCk8L3R0Pjo8L3A+CjxwcmUgY2xhc3M9ImhpZ2hsaWdodGVkQ29kZSI+ICAgICAg
ICBteVFPYmplY3Quc29tZXRoaW5nQ2hhbmdlZC5kaXNjb25uZWN0KG9iaiwgZnVuKTs8L3ByZT4K
PGEgbmFtZT0ic2lnbmFsLXRvLW5hbWVkLW1lbWJlci1mdW5jdGlvbi1jb25uZWN0aW9ucyI+PC9h
Pgo8aDQ+U2lnbmFsIHRvIE5hbWVkIE1lbWJlciBGdW5jdGlvbiBDb25uZWN0aW9uczwvaDQ+Cjxw
Pjx0dD5jb25uZWN0KHRoaXNPYmplY3QsIGZ1bmN0aW9uTmFtZSk8L3R0PjwvcD4KPHA+VGhpcyBm
b3JtIG9mIHRoZSA8dHQ+Y29ubmVjdCgpPC90dD4gZnVuY3Rpb24gcmVxdWlyZXMgdGhhdCB0aGUg
Zmlyc3QgYXJndW1lbnQgaXMgdGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhlIHZh
cmlhYmxlLCA8dHQ+dGhpczwvdHQ+LCB3aGVuIGEgZnVuY3Rpb24gaXMgaW52b2tlZCBpbiByZXNw
b25zZSB0byB0aGUgc2lnbmFsLiBUaGUgc2Vjb25kIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgbmFt
ZSBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBzaWduYWwsIGFuZCB0aGlz
IHJlZmVycyB0byBhIG1lbWJlciBmdW5jdGlvbiBvZiB0aGUgb2JqZWN0IHBhc3NlZCBhcyB0aGUg
Zmlyc3QgYXJndW1lbnQgKDx0dD50aGlzT2JqZWN0PC90dD4gaW4gdGhlIGFib3ZlIHNjaGVtZSku
PC9wPgo8cD5Ob3RlIHRoYXQgdGhlIGZ1bmN0aW9uIGlzIHJlc29sdmVkIHdoZW4gdGhlIGNvbm5l
Y3Rpb24gaXMgbWFkZSwgbm90IHdoZW4gdGhlIHNpZ25hbCBpcyBlbWl0dGVkLjwvcD4KPHByZSBj
bGFzcz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIHZhciBvYmogPSB7IHg6IDEyMywgZnVuOiBm
dW5jdGlvbigpIHsgcHJpbnQodGhpcy54KTsgfSB9OwogICAgICAgIG15UU9iamVjdC5zb21ldGhp
bmdDaGFuZ2VkLmNvbm5lY3Qob2JqLCAmcXVvdDtmdW4mcXVvdDspOzwvcHJlPgo8cD5UbyBkaXNj
b25uZWN0IGZyb20gdGhlIHNpZ25hbCwgcGFzcyB0aGUgc2FtZSBhcmd1bWVudHMgdG8gPHR0PmRp
c2Nvbm5lY3QoKTwvdHQ+OjwvcD4KPHByZSBjbGFzcz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAg
IG15UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmRpc2Nvbm5lY3Qob2JqLCAmcXVvdDtmdW4mcXVv
dDspOzwvcHJlPgo8YSBuYW1lPSJlcnJvci1oYW5kbGluZyI+PC9hPgo8aDQ+RXJyb3IgSGFuZGxp
bmc8L2g0Pgo8cD5XaGVuIDx0dD5jb25uZWN0KCk8L3R0PiBvciA8dHQ+ZGlzY29ubmVjdCgpPC90
dD4gc3VjY2VlZHMsIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiA8dHQ+dW5kZWZpbmVkPC90dD47
IG90aGVyd2lzZSwgaXQgd2lsbCB0aHJvdyBhIHNjcmlwdCBleGNlcHRpb24uIFlvdSBjYW4gb2J0
YWluIGFuIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGUgcmVzdWx0aW5nIDx0dD5FcnJvcjwvdHQ+IG9i
amVjdC4gRXhhbXBsZTo8L3A+CjxwcmUgY2xhc3M9ImhpZ2hsaWdodGVkQ29kZSI+ICAgICAgICB0
cnkgewogICAgICAgICAgICBteVFPYmplY3Quc29tZXRoaW5nQ2hhbmdlZC5jb25uZWN0KG15UU9i
amVjdCwgJnF1b3Q7c2xvdFRoYXREb2VzbnRFeGlzdCZxdW90Oyk7CiAgICAgICAgfSBjYXRjaCAo
ZSkgewogICAgICAgICAgICBwcmludChlKTsKICAgICAgICB9PC9wcmU+CjxhIG5hbWU9ImVtaXR0
aW5nLXNpZ25hbHMtZnJvbS1zY3JpcHRzIj48L2E+CjxoND5FbWl0dGluZyBTaWduYWxzIGZyb20g
U2NyaXB0czwvaDQ+CjxwPlRvIGVtaXQgYSBzaWduYWwgZnJvbSBzY3JpcHQgY29kZSwgeW91IHNp
bXBseSBpbnZva2UgdGhlIHNpZ25hbCBmdW5jdGlvbiwgcGFzc2luZyB0aGUgcmVsZXZhbnQgYXJn
dW1lbnRzOjwvcD4KPHByZSBjbGFzcz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIG15UU9iamVj
dC5zb21ldGhpbmdDaGFuZ2VkKCZxdW90O2hlbGxvJnF1b3Q7KTs8L3ByZT4KPHA+SXQgaXMgY3Vy
cmVudGx5IG5vdCBwb3NzaWJsZSB0byBkZWZpbmUgYSBuZXcgc2lnbmFsIGluIGEgc2NyaXB0OyBp
LmUmI3gyZTssIGFsbCBzaWduYWxzIG11c3QgYmUgZGVmaW5lZCBieSBDKysgY2xhc3Nlcy48L3A+
CjxhIG5hbWU9Im92ZXJsb2FkZWQtc2lnbmFscy1hbmQtc2xvdHMiPjwvYT4KPGg0Pk92ZXJsb2Fk
ZWQgU2lnbmFscyBhbmQgU2xvdHM8L2g0Pgo8cD5XaGVuIGEgc2lnbmFsIG9yIHNsb3QgaXMgb3Zl
cmxvYWRlZCwgdGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlkZ2Ug
d2lsbCBhdHRlbXB0IHRvIHBpY2sgdGhlIHJpZ2h0IG92ZXJsb2FkIGJhc2VkIG9uIHRoZSBhY3R1
YWwgdHlwZXMgb2YgdGhlIFFTY3JpcHRWYWx1ZSBhcmd1bWVudHMgaW52b2x2ZWQgaW4gdGhlIGZ1
bmN0aW9uIGludm9jYXRpb24uIEZvciBleGFtcGxlLCBpZiB5b3VyIGNsYXNzIGhhcyBzbG90cyA8
dHQ+bXlPdmVybG9hZGVkU2xvdChpbnQpPC90dD4gYW5kIDx0dD5teU92ZXJsb2FkZWRTbG90KFFT
dHJpbmcpPC90dD4sIHRoZSBmb2xsb3dpbmcgc2NyaXB0IGNvZGUgd2lsbCBiZWhhdmUgcmVhc29u
YWJseTo8L3A+CjxwcmUgY2xhc3M9ImhpZ2hsaWdodGVkQ29kZSI+ICAgICAgICBteVFPYmplY3Qu
bXlPdmVybG9hZGVkU2xvdCgxMCk7ICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIHdpbGwgY2Fs
bCB0aGUgaW50IG92ZXJsb2FkPC9zcGFuPgogICAgICAgIG15UU9iamVjdC5teU92ZXJsb2FkZWRT
bG90KCZxdW90OzEwJnF1b3Q7KTsgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIHdpbGwgY2FsbCB0
aGUgUVN0cmluZyBvdmVybG9hZDwvc3Bhbj48L3ByZT4KPHA+WW91IGNhbiBzcGVjaWZ5IGEgcGFy
dGljdWxhciBvdmVybG9hZCBieSB1c2luZyBhcnJheS1zdHlsZSBwcm9wZXJ0eSBhY2Nlc3Mgd2l0
aCB0aGUgbm9ybWFsaXplZCBzaWduYXR1cmUgb2YgdGhlIEMrKyBmdW5jdGlvbiBhcyB0aGUgcHJv
cGVydHkgbmFtZTo8L3A+CjxwcmUgY2xhc3M9ImhpZ2hsaWdodGVkQ29kZSI+ICAgICAgICBteVFP
YmplY3RbJ215T3ZlcmxvYWRlZFNsb3QoaW50KSddKCZxdW90OzEwJnF1b3Q7KTsgICA8c3BhbiBj
bGFzcz0iY29tbWVudCI+Ly8gY2FsbCBpbnQgb3ZlcmxvYWQ7IHRoZSBhcmd1bWVudCBpcyBjb252
ZXJ0ZWQgdG8gYW4gaW50PC9zcGFuPgogICAgICAgIG15UU9iamVjdFsnbXlPdmVybG9hZGVkU2xv
dChRU3RyaW5nKSddKDEwKTsgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIGNhbGwgUVN0cmluZyBv
dmVybG9hZDsgdGhlIGFyZ3VtZW50IGlzIGNvbnZlcnRlZCB0byBhIHN0cmluZzwvc3Bhbj48L3By
ZT4KPHA+SWYgdGhlIG92ZXJsb2FkcyBoYXZlIGRpZmZlcmVudCBudW1iZXIgb2YgYXJndW1lbnRz
LCB0aGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSB3aWxsIHBp
Y2sgdGhlIG92ZXJsb2FkIHdpdGggdGhlIGFyZ3VtZW50IGNvdW50IHRoYXQgYmVzdCBtYXRjaGVz
IHRoZSBhY3R1YWwgbnVtYmVyIG9mIGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIHNsb3QuPC9wPgo8
cD5Gb3Igb3ZlcmxvYWRlZCBzaWduYWxzLCBKYXZhU2NyaXB0IHdpbGwgdGhyb3cgYW4gZXJyb3Ig
aWYgeW91IHRyeSB0byBjb25uZWN0IHRvIHRoZSBzaWduYWwgYnkgbmFtZTsgeW91IGhhdmUgdG8g
cmVmZXIgdG8gdGhlIHNpZ25hbCB3aXRoIHRoZSBmdWxsIG5vcm1hbGl6ZWQgc2lnbmF0dXJlIG9m
IHRoZSBwYXJ0aWN1bGFyIG92ZXJsb2FkIHlvdSB3YW50IHRvIGNvbm5lY3QgdG8uPC9wPgo8YSBu
YW1lPSJpbnZva2FibGUtbWV0aG9kcyI+PC9hPgo8aDQ+SW52b2thYmxlIE1ldGhvZHM8L2g0Pgo8
cD5Cb3RoIHNsb3RzIGFuZCBzaWduYWxzIGFyZSBpbnZva2FibGUgZnJvbSBzY3JpcHQgYnkgZGVm
YXVsdC4gSW4gYWRkaXRpb24sIGl0IGlzIGFsc28gcG9zc2libGUgdG8gZGVmaW5lIGEgbWV0aG9k
IHRoYXQncyBpbnZva2FibGUgZnJvbSBzY3JpcHQgd2l0aG91dCBpdCBiZWluZyBhIHNpZ25hbCBv
ciBhIHNsb3QuIFRoaXMgaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIGZ1bmN0aW9ucyB3aXRoIHJl
dHVybiB0eXBlcywgYXMgc2xvdHMgbm9ybWFsbHkgZG8gbm90IHJldHVybiBhbnl0aGluZyAoaXQg
d291bGQgYmUgbWVhbmluZ2xlc3MgdG8gcmV0dXJuIHZhbHVlcyBmcm9tIGEgc2xvdCwgYXMgdGhl
IGNvbm5lY3RlZCBzaWduYWxzIGRvbid0IGhhbmRsZSB0aGUgcmV0dXJuZWQgZGF0YSkuIFRvIG1h
a2UgYSBub24tc2xvdCBtZXRob2QgaW52b2thYmxlLCBzaW1wbHkgYWRkIHRoZSBRX0lOVk9LQUJM
RSBtYWNybyBiZWZvcmUgaXRzIGRlZmluaXRpb246PC9wPgo8cHJlIGNsYXNzPSJoaWdobGlnaHRl
ZENvZGUiPiAgICAgICAgY2xhc3MgTXlPYmplY3QgOiBwdWJsaWMgUU9iamVjdAogICAgICAgIHsK
ICAgICAgICAgICAgUV9PQkpFQ1QKCiAgICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgUV9J
TlZPS0FCTEUgdm9pZCB0aGlzTWV0aG9kSXNJbnZva2FibGVJblF0U2NyaXB0KCk7CiAgICAgICAg
ICAgIHZvaWQgdGhpc01ldGhvZElzTm90SW52b2thYmxlSW5RdFNjcmlwdCgpOwoKICAgICAgICAg
ICAgLi4uCiAgICAgICAgfTs8L3ByZT4KPGEgbmFtZT0iYWNjZXNzaW5nLXByb3BlcnRpZXMiPjwv
YT4KPGgzPkFjY2Vzc2luZyBQcm9wZXJ0aWVzPC9oMz4KPHA+VGhlIHByb3BlcnRpZXMgb2YgdGhl
IDxhIGhyZWY9IiNxb2JqZWN0cyI+UU9iamVjdDwvYT4gYXJlIGF2YWlsYWJsZSBhcyBwcm9wZXJ0
aWVzIG9mIHRoZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgb2JqZWN0LiBXaGVuIHlvdSBtYW5p
cHVsYXRlIGEgcHJvcGVydHkgaW4gc2NyaXB0IGNvZGUsIHRoZSBDKysgZ2V0L3NldCBtZXRob2Qg
Zm9yIHRoYXQgcHJvcGVydHkgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGludm9rZWQuIEZvciBleGFt
cGxlLCBpZiB5b3VyIEMrKyBjbGFzcyBoYXMgYSBwcm9wZXJ0eSBkZWNsYXJlZCBhcyBmb2xsb3dz
OjwvcD4KPHByZSBjbGFzcz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIFFfUFJPUEVSVFkoYm9v
bCBlbmFibGVkIFJFQUQgZW5hYmxlZCBXUklURSBzZXRFbmFibGVkKTwvcHJlPgo8cD50aGVuIHNj
cmlwdCBjb2RlIGNhbiBkbyB0aGluZ3MgbGlrZSB0aGUgZm9sbG93aW5nOjwvcD4KPHByZSBjbGFz
cz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIG15UU9iamVjdC5lbmFibGVkID0gdHJ1ZTsKCiAg
ICAgICAgLi4uCgogICAgICAgIG15UU9iamVjdC5lbmFibGVkID0gIW15UU9iamVjdC5lbmFibGVk
OyNlbmRpZjwvcHJlPgo8YSBuYW1lPSJhY2Nlc3NpbmctY2hpbGQtcW9iamVjdHMiPjwvYT4KPGgz
PkFjY2Vzc2luZyBDaGlsZCBRT2JqZWN0czwvaDM+CjxwPkV2ZXJ5IG5hbWVkIGNoaWxkIG9mIHRo
ZSA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+ICh0aGF0IGlzLCBmb3Igd2hpY2ggUU9i
amVjdDo6b2JqZWN0TmFtZSgpIGlzIG5vdCBhbiBlbXB0eSBzdHJpbmcpIGlzIGJ5IGRlZmF1bHQg
YXZhaWxhYmxlIGFzIGEgcHJvcGVydHkgb2YgdGhlIEphdmFTY3JpcHQgd3JhcHBlciBvYmplY3Qu
IEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBhIFFEaWFsb2cgd2l0aCBhIGNoaWxkIHdpZGdldCB3
aG9zZSA8dHQ+b2JqZWN0TmFtZTwvdHQ+IHByb3BlcnR5IGlzIDx0dD4mcXVvdDtva0J1dHRvbiZx
dW90OzwvdHQ+LCB5b3UgY2FuIGFjY2VzcyB0aGlzIG9iamVjdCBpbiBzY3JpcHQgY29kZSB0aHJv
dWdoIHRoZSBleHByZXNzaW9uPC9wPgo8cHJlIGNsYXNzPSJoaWdobGlnaHRlZENvZGUiPiAgICAg
ICAgbXlEaWFsb2cub2tCdXR0b248L3ByZT4KPHA+U2luY2UgPHR0Pm9iamVjdE5hbWU8L3R0PiBp
cyBpdHNlbGYgYSBRX1BST1BFUlRZLCB5b3UgY2FuIG1hbmlwdWxhdGUgdGhlIG5hbWUgaW4gc2Ny
aXB0IGNvZGUgdG8sIGZvciBleGFtcGxlLCByZW5hbWUgYW4gb2JqZWN0OjwvcD4KPHByZSBjbGFz
cz0iaGlnaGxpZ2h0ZWRDb2RlIj4gICAgICAgIG15RGlhbG9nLm9rQnV0dG9uLm9iamVjdE5hbWUg
PSAmcXVvdDtjYW5jZWxCdXR0b24mcXVvdDs7CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQi
Pi8vIGZyb20gbm93IG9uLCBteURpYWxvZy5jYW5jZWxCdXR0b24gcmVmZXJlbmNlcyB0aGUgYnV0
dG9uPC9zcGFuPjwvcHJlPgo8YSBuYW1lPSJkYXRhLXR5cGVzIj48L2E+CjxoMz5EYXRhIHR5cGVz
PC9oMz4KPHA+V2hlbiBjYWxsaW5nIHNsb3RzLCByZWNlaXZpbmcgc2lnbmFscyBvciBhY2Nlc3Np
bmcgcHJvcGVydGllcywgdXN1YWxseSBzb21lIHBheWxvYWQgaXMgaW52b2x2ZWQuIEZvciBleGFt
cGxlLCBhIHByb3BlcnR5ICZxdW90O3RleHQmcXVvdDsgbWlnaHQgcmV0dXJuIGEgUVN0cmluZyBw
YXJhbWV0ZXIuIFRoZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdl
IGRvZXMgdGhlIGpvYiBvZiBjb252ZXJ0aW5nIGJldHdlZW4gYSBnaXZlbiBKYXZhU2NyaXB0IGRh
dGEtdHlwZSwgYW5kIHRoZSBleHBlY3RlZCBvciBnaXZlbiBRdCB0eXBlLiBFYWNoIFF0IHR5cGUg
aGFzIGEgY29yZXNwb25kaW5nIHNldCBvZiBydWxlcyBvZiBob3cgSmF2YVNjcmlwdCB0cmVhdHMg
aXQuPC9wPgo8cD5UaGUgZGF0YSB0eXBlIGNvbnZlcnNpb25zIGFyZSBhbHNvIGFwcGxpY2FibGUg
Zm9yIHRoZSBkYXRhIHJldHVybmVkIGZyb20gbm9uLXZvaWQgaW52b2thYmxlIG1ldGhvZHMuPC9w
Pgo8YSBuYW1lPSJudW1iZXJzIj48L2E+CjxoND5OdW1iZXJzPC9oND4KPHA+QWxsIFF0IG51bWVy
aWMgZGF0YSB0eXBlcyBhcmUgY29udmVydGVkIHRvIG9yIGZyb20gYSBKYXZhU2NyaXB0IG51bWJl
ci4gVGhlc2UgaW5jbHVkZSBpbnQsIHNob3J0LCBmbG9hdCwgZG91YmxlLCBhbmQgdGhlIHBvcmFi
bGUgUXQgdHlwZXMgKHFyZWFsLCBxaW50IGV0YykuIEEgc3BlY2lhbCBjYXNlIGlzIFFDaGFyOyBJ
ZiBhIHNsb3QgZXhwZWN0cyBhIFFDaGFyLCB0aGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRX
ZWJLaXQ8L2E+IGJyaWRnZSB3b3VsZCB1c2UgdGhlIHVuaWNvZGUgdmFsdWUgaW4gY2FzZSBvZiBh
IG51bWJlciwgb3IgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiBhIHN0cmluZy48L3A+CjxwPk5vdGUg
dGhhdCBub24tc3RhbmRhcmQgKHR5cGVkZWZlZCkgbnVtYmVyIHR5cGVzIGFyZSBub3QgYXV0b21h
dGljYWxseSBjb252ZXJ0ZWQgdG8gb3IgZnJvbSBhIEphdmFTY3JpcHQgbnVtYmVyIC0gaXQgaXMg
YWR2aXNlZCB0byB1c2Ugc3RhbmRhcmQgbnVtYmVyIHR5cGVzIGZvciBzaWduYWwsIHNsb3RzIGFu
ZCBwcm9wZXJ0aWVzLjwvcD4KPHA+V2hlbiBhIG5vbi1udW1iZXIgaXMgcGFzc2VkIGFzIGFuIGFy
Z3VtZW50IHRvIGEgbWV0aG9kIG9yIHByb3BlcnR5IHRoYXQgZXhwZWN0cyBhIG51bWJlciwgdGhl
IGFwcHJvcHJpYXRlIEphdmFTY3JpcHQgY29udmVyc2lvbiBmdW5jdGlvbiAocGFyc2VJbnQgLyBw
YXJzZUZsb2F0KSB3b3VsZCBiZSB1c2VkLjwvcD4KPGEgbmFtZT0ic3RyaW5ncyI+PC9hPgo8aDQ+
U3RyaW5nczwvaDQ+CjxwPldoZW4gSmF2YVNjcmlwdCBhY2Nlc3NlcyBtZXRob2RzIG9yIHByb3Bl
cnRpZXMgdGhhdCBleHBlY3QgYSBRU3RyaW5nLCB0aGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+
UXRXZWJLaXQ8L2E+IGJyaWRnZSB3aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCB0aGUgdmFsdWUg
dG8gYSBzdHJpbmcgKGlmIGl0IGlzIG5vdCBhbHJlYWR5IGEgc3RyaW5nKSwgdXNpbmcgdGhlIGJ1
aWx0LWluIEphdmFTY3JpcHQgdG9TdHJpbmcgbWV0aG9kLjwvcD4KPHA+V2hlbiBhIFFTdHJpbmcg
aXMgcGFzc2VkIHRvIEphdmFTY3JpcHQgZnJvbSBhIHNpZ25hbCBvciBhIHByb3BlcnR5LCBUaGUg
PGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSB3aWxsIGNvbnZlcnQg
aXQgaW50byBhIEphdmFTY3JpcHQgc3RyaW5nLjwvcD4KPGEgbmFtZT0iZGF0ZS10aW1lIj48L2E+
CjxoND5EYXRlICZhbXA7IFRpbWU8L2g0Pgo8cD5Cb3RoIFFEYXRlLCBRVGltZSBhcyB3ZWxsIGFz
IFFEYXRlVGltZSBhcmUgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkIHRvIG9yIGZyb20gdGhlIEph
dmFTY3JpcHQgRGF0ZSBvYmplY3QuIElmIGEgbnVtYmVyIHdlcmUgcGFzc2VkIGFzIGFuIGFyZ3Vt
ZW50IHRvIGEgbWV0aG9kIHRoYXQgZXhwZWN0cyBvbmUgb2YgdGhlIGRhdGUvdGltZSB0eXBlcywg
dGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlkZ2Ugd291bGQgdHJl
YXQgaXQgYXMgYSB0aW1lc3RhbXAuIElmIGEgc3Rpbmcgd2VyZSBwYXNzZWQsIDxhIGhyZWY9InF0
d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9hPiB3b3VsZCB0cnkgZGlmZmVyZW50IFF0IGRhdGUgcGFy
c2luZyBmdW5jdGlvbnMgdG8gZmluZCB0aGUgcmlnaHQgb25lLjwvcD4KPGEgbmFtZT0icmVndWxh
ci1leHByZXNzaW9ucyI+PC9hPgo8aDQ+UmVndWxhciBFeHByZXNzaW9uczwvaDQ+CjxwPlRoZSA8
YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIHdvdWxkIGF1dG9tYXRp
Y2FsbHkgY29udmVydCBKYXZhU2NyaXB0IFJlZ0V4IG9iamVjdCB0byBhIFFSZWdFeHAuIElmIGEg
c3RyaW5nIGlzIHBhc3NlZCB0byBhIG1ldGhvZCBleHBlY3RpbmcgYSBRUmVnRXhwLCB0aGUgc3Ry
aW5nIHdvdWxkIGJlIGNvbnZlcnRlZCB0byB0aGF0IFFSZWdFeHAuPC9wPgo8YSBuYW1lPSJsaXN0
cyI+PC9hPgo8aDQ+TGlzdHM8L2g0Pgo8cD5UaGUgPGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRX
ZWJLaXQ8L2E+IGJyaWRnZSB0cmVhdHMgc2V2ZXJhbCB0eXBlcyBvZiBsaXN0cyBpbiBhIHNwZWNp
YWwgd2F5OiBRVmFyaWFudExpc3QsIFFTdHJpbmdMaXN0LCBRT2JqZWN0TGlzdCBhbmQgUUxpc3Qm
bHQ7aW50Jmd0Oy4gV2hlbiBhIHNsb3Qgb3IgcHJvcGVydHkgZXhwZWN0cyBvbmUgb2YgdGhvc2Ug
bGlzdCB0eXBlcywgdGhlIDxhIGhyZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlk
Z2Ugd291bGQgdHJ5IHRvIGNvbnZlcnQgYSBKYXZhU2NyaXB0IGFycmF5IGludG8gdGhhdCB0eXBl
LCBjb252ZXJ0aW5nIGVhY2ggb2YgdGhlIGFycmF5J3MgZWxlbWVudHMgdG8gdGhlIHNpbmdsZS1l
bGVtZW50IHR5cGUgb2YgdGhlIGxpc3QuPC9wPgo8cD5UaGUgbW9zdCB1c2VmdWwgdHlwZSBvZiBs
aXN0IGlzIHBlcmhhcHMgUVZhcmlhbnRMaXN0LCB3aGljaCBjYW4gYmUgY29udmVydGVkIHRvIGZy
b20gYW55IEphdmFTY3JpcHQgYXJyYXkuPC9wPgo8YSBuYW1lPSJjb21wb3VuZC1qc29uLW9iamVj
dHMiPjwvYT4KPGg0PkNvbXBvdW5kIChKU09OKSBvYmplY3RzPC9oND4KPHA+SmF2YVNjcmlwdCBj
b21wb3VuZCBvYmplY3RzLCBhbHNvIGtub3duIGFzIEpTT04gb2JqZWN0cywgYXJlIHZhcmlhYmxl
cyB0aGF0IGhvbGQgYSBsaXN0IG9mIGtleS12YWx1ZSBwYWlycywgd2hlcmUgYWxsIHRoZSBrZXlz
IGFyZSBzdHJpbmdzIGFuZCB0aGUgdmFsdWVzIGNhbiBoYXZlIGFueSB0eXBlLiBUaGlzIHRyYW5z
bGF0ZXMgdmVyeSB3ZWxsIHRvIFFWYXJpYW50TWFwLCB3aGljaCBpcyBub3RoaW5nIG1vcmUgdGhh
biBhIFFNYXAgb2YgUVN0cmluZyB0byA8YSBocmVmPSIjcXZhcmlhbnRzIj5RVmFyaWFudDwvYT4u
PC9wPgo8cD5UaGUgc2VhbWxlc3MgY29udmVyc2lvbiBiZXR3ZWVuIEpTT04gb2JqZWN0cyBhbmQg
UVZhcmlhbnRNYXAgYWxsb3dzIGZvciBhIHZlcnkgY29udmVuaWVudCB3YXkgb2YgcGFzc2luZyBh
cmJpdHJhcnkgc3RydWN0dXJlZCBkYXRhIGJldHdlZW4gQysrIGFuZCB0aGUgSmF2YVNjcmlwdCBl
bnZpcm9ubWVudC4gVGhlIG5hdGl2ZSA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+IGhh
cyB0byBtYWtlIHN1cmUgdGhhdCBjb21wb3VuZCB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byBRVmFy
aWFudE1hcHMgYW5kIFFWYXJpYW50TGlzdHMsIGFuZCBKYXZhU2NyaXB0IGlzIGd1YXJhbnRlZWQg
dG8gcmVjZWl2ZSB0aGVtIGluIGEgbWVhbmluZ2Z1bCB3YXkuPC9wPgo8cD5Ob3RlIHRoYXQgdHlw
ZXMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSBKU09OLCBzdWNoIGFzIEphdmFTY3JpcHQgZnVu
Y3Rpb25zIGFuZCBnZXR0ZXJzL3NldHRlcnMsIGFyZSBub3QgY29udmVydGVkLjwvcD4KPGEgbmFt
ZT0icXZhcmlhbnRzIj48L2E+CjxoND5RVmFyaWFudHM8L2g0Pgo8cD5XaGVuIGEgc2xvdCBvciBw
cm9wZXJ0eSBhY2NlcHRzIGEgPGEgaHJlZj0iI3F2YXJpYW50cyI+UVZhcmlhbnQ8L2E+LCB0aGUg
PGEgaHJlZj0icXR3ZWJraXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSB3b3VsZCBjcmVhdGUg
YSA8YSBocmVmPSIjcXZhcmlhbnRzIj5RVmFyaWFudDwvYT4gdGhhdCBiZXN0IG1hdGNoZXMgdGhl
IGFyZ3VtZW50IHBhc3NlZCBieSBKYXZhU2NyaXB0LiBBIHN0cmluZywgZm9yIGV4YW1wbGUsIHdv
dWxkIGJlY29tZSBhIDxhIGhyZWY9IiNxdmFyaWFudHMiPlFWYXJpYW50PC9hPiBob2xkaW5nIGEg
UVN0cmluZywgYSBub3JtYWwgSlNPTiBvYmplY3Qgd291bGQgYmVjb21lIGEgUVZhcmlhbnRNYXAs
IGFuZCBhIEphdmFTY3JpcHQgYXJyYXkgd291bGQgYmVjb21lIGEgUVZhcmlhbnRMaXN0LjwvcD4K
PHA+VXNpbmcgPGEgaHJlZj0iI3F2YXJpYW50cyI+UVZhcmlhbnQ8L2E+cyBnZW5lcm91c2x5IGlu
IEMrKyBpbiB0aGF0IHdheSBtYWtlcyBDKysgcHJvZ3JhbW1pbmcgZmVlbCBhIGJpdCBtb3JlIGxp
a2UgSmF2YVNjcmlwdCBwcm9ncmFtbWluZywgYXMgaXQgYWRkcyBhbm90aGVyIGxldmVsIG9mIGlu
ZGlyZWN0aW9uLiBQYXNzaW5nIDxhIGhyZWY9IiNxdmFyaWFudHMiPlFWYXJpYW50PC9hPnMgYXJv
dW5kIGxpa2UgdGhpcyBpcyB2ZXJ5IGZsZXhpYmxlLCBhcyB0aGUgcHJvZ3JhbSBjYW4gZmlndXJl
IG91dCB0aGUgdHlwZSBvZiBhcmd1bWVudCBpbiBydW50aW1lIGp1c3QgbGlrZSBKYXZhU2NyaXB0
IHdvdWxkIGRvLCBidXQgaXQgYWxzbyB0YWtlcyBhd2F5IGZyb20gdGhlIHR5cGUtc2FmZXR5IGFu
ZCByb2J1c3QgbmF0dXJlIG9mIEMrKy4gSXQncyByZWNvbW1lbmRlZCB0byB1c2UgPGEgaHJlZj0i
I3F2YXJpYW50cyI+UVZhcmlhbnQ8L2E+cyBvbmx5IGZvciBjb252ZW5pZW5jZSBoaWdoLWxldmVs
IGZ1bmN0aW9ucywgYW5kIHRvIGtlZXAgbW9zdCBvZiB5b3VyIDxhIGhyZWY9IiNxb2JqZWN0cyI+
UU9iamVjdDwvYT5zIHNvbWV3aGF0IHR5cGUtc2FmZS48L3A+CjxhIG5hbWU9InFvYmplY3RzIj48
L2E+CjxoND5RT2JqZWN0czwvaDQ+CjxwPkEgcG9pbnRlciB0byBhIDxhIGhyZWY9IiNxb2JqZWN0
cyI+UU9iamVjdDwvYT4gb3IgYSBRV2lkZ2V0IGNhbiBiZSBwYXNzZWQgYXMgcGF5bG9hZCBpbiBz
aWduYWxzLCBzbG90cyBhbmQgcHJvcGVydGllcy4gVGhhdCBvYmplY3QgY2FuIHRoZW4gYmUgdXNl
ZCBsaWtlIGFuIG9iamVjdCB0aGF0J3MgZXhwb3NlZCBkaXJlY3RseTsgaS5lJiN4MmU7IGl0cyBz
bG90cyBjYW4gYmUgaW52b2tlZCwgaXRzIHNpZ25hbHMgY29ubmVjdGVkIHRvIGV0Yy4gSG93ZXZl
ciwgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBsaW1pdGVkIC0gdGhlIHR5cGUgdXNlZCBo
YXMgdG8gYmUgPGEgaHJlZj0iI3FvYmplY3RzIj5RT2JqZWN0PC9hPiogb3IgUVdpZGdldCouIElm
IHRoZSB0eXBlIHNwZWNpZmllZCBpcyBhIHBvaW50ZXIgdG8gYSBub24tUVdpZGdldCBzdWJjbGFz
cyBvZiA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+LCB0aGUgPGEgaHJlZj0icXR3ZWJr
aXQuaHRtbCI+UXRXZWJLaXQ8L2E+IGJyaWRnZSB3b3VsZCBub3QgcmVjb2duaXplIGl0IHRvIGJl
IGEgPGEgaHJlZj0iI3FvYmplY3RzIj5RT2JqZWN0PC9hPi48L3A+CjxwPkluIGdlbmVyYWwgaXRz
IGFkdmlzZWQgdG8gdXNlIGNhcmUgd2hlbiBwYXNzaW5nIDxhIGhyZWY9IiNxb2JqZWN0cyI+UU9i
amVjdDwvYT5zIGFzIGFyZ3VtZW50cywgYXMgdGhvc2Ugb2JqZWN0cyBkb24ndCBiZWNvbWUgb3du
ZWQgYnkgdGhlIEphdmFTY3JpcHQgZW5naW5lOyBUaGF0IG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0
aW9uIGRldmVsb3BlciBoYXMgdG8gYmUgZXh0cmEgY2FyZWZ1bCBub3QgdG8gdHJ5IHRvIGFjY2Vz
cyA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVu
IGRlbGV0ZWQgYnkgdGhlIG5hdGl2ZSBlbnZpcm9ubWVudC48L3A+CjxhIG5hbWU9InBpeG1hcHMt
YW5kLWltYWdlcyI+PC9hPgo8aDQ+UGl4bWFwcyBhbmQgSW1hZ2VzPC9oND4KPHA+VGhlIDxhIGhy
ZWY9InF0d2Via2l0Lmh0bWwiPlF0V2ViS2l0PC9hPiBicmlkZ2UgaGFuZGxlcyBRUGl4bWFwcyBh
bmQgUUltYWdlcyBpbiBhIHNwZWNpYWwgd2F5LiBTaW5jZSA8YSBocmVmPSJxdHdlYmtpdC5odG1s
Ij5RdFdlYktpdDwvYT4gc3RvcmVzIFFQaXhtYXBzIHRvIHJlcHJlc2VudCBIVE1MIGltYWdlcywg
UVBpeG1hcHMgY29taW5nIGZyb20gdGhlIG5hdGl2ZSBlbnZpcm9ubWVudCBjYW4gYmUgdXNlZCBk
aXJlY3RseSBpbnNpZGUgV2ViS2l0LiBBIFFJbWFnZSBvciBhIFFQaXhtYXAgY29taW5nIGZyb20g
dGhlIFF0IGVudmlyb25tZW50IHdvdWxkIGNvbnZlcnQgdG8gYW4gaW50ZXJtZWRpYXRlIEphdmFT
Y3JpcHQgb2JqZWN0LCB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBsaWtlIHRoaXM6PC9wPgo8cHJl
IGNsYXNzPSJoaWdobGlnaHRlZENvZGUiPiAgICAgICB7CiAgICAgICAgICAgd2lkdGg6IC4uLiwK
ICAgICAgICAgICBoZWlnaHQ6IC4uLiwKICAgICAgICAgICB0b0RhdGFVUkw6IGZ1bmN0aW9uKCkg
eyAuLi4gfSwKICAgICAgICAgICBhc3NpZ25Ub0hUTUxJbWFnZUVsZW1lbnQ6IGZ1bmN0aW9uKGVs
ZW1lbnQpIHsgLi4uIH0KICAgICAgIH08L3ByZT4KPHA+VGhlIEphdmFTY3JpcHQgZW52aXJvbm1l
bnQgY2FuIHRoZW4gdXNlIHRoZSBwaXhtYXAgaXQgZ2V0cyBmcm9tIFF0IGFuZCBkaXNwbGF5IGl0
IGluc2lkZSB0aGUgSFRNTCBlbnZpcm9ubWVudCwgYnkgYXNzaWduaW5nIGl0IHRvIGFuIGV4aXN0
aW5nICZsdDtpbWcgLyZndDsgZWxlbWVudCB1c2luZyBhc3NpZ25Ub0hUTUxJbWFnZUVsZW1lbnQu
IEl0IGNhbiBhbHNvIHVzZSB0aGUgdG9EYXRhVVJMKCkgZnVuY3Rpb24sIHdoaWNoIGFsbG93cyB1
c2luZyB0aGUgcGl4bWFwIGFzIHRoZSBzcmMgYXR0cmlidXRlIG9mIGFuIGltYWdlIG9yIGFzIGEg
YmFja2dyb3VuZC1pbWFnZSB1cmwuIE5vdGUgdGhhdCB0aGUgdG9EYXRhVVJMKCkgZnVuY3Rpb24g
aXMgY29zdGx5IGFuZCBzaG91bGQgYmUgdXNlZCB3aXRoIGNhdXRpb24uPC9wPgo8cD5FeGFtcGxl
IGNvZGU6PC9wPgo8cD5DKys6PC9wPgo8cHJlIGNsYXNzPSJoaWdobGlnaHRlZENvZGUiPiAgICAg
ICAgIGNsYXNzIE15T2JqZWN0IDogUU9iamVjdCB7CiAgICAgICAgICAgICBRX09CSkVDVAogICAg
ICAgICAgICAgUV9QUk9QRVJUWShRUGl4bWFwIG15UGl4bWFwIFJFQUQgZ2V0UGl4bWFwKQoKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgUVBpeG1hcCBnZXRQaXhtYXAoKSBjb25zdDsKICAg
ICAgICAgfTsKCiAgICAgICAgIDxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKiAuLi4gKi88L3NwYW4+
CgogICAgICAgICBNeU9iamVjdCBteU9iamVjdDsKICAgICAgICAgbXlXZWJQYWdlLm1haW5GcmFt
ZSgpLSZndDthZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3QoJnF1b3Q7bXlPYmplY3QmcXVvdDss
ICZhbXA7bXlPYmplY3QpOzwvcHJlPgo8cD5IVE1MOjwvcD4KPHByZSBjbGFzcz0iaGlnaGxpZ2h0
ZWRDb2RlIj4gICAgICAgICAmbHQ7aHRtbCZndDsKICAgICAgICAgICAgJmx0O2hlYWQmZ3Q7CiAg
ICAgICAgICAgICAmbHQ7c2NyaXB0Jmd0OwogICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGxvYWRJ
bWFnZSgpIHsKICAgICAgICAgICAgICAgICAgICAgbXlPYmplY3QubXlQaXhtYXAuYXNzaWduVG9I
VE1MSW1hZ2VFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O2ltYWdlRWxlbWVu
dCZxdW90OykpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICZsdDsvc2NyaXB0Jmd0
OwogICAgICAgICAgICAmbHQ7L2hlYWQmZ3Q7CiAgICAgICAgICAgICZsdDtib2R5IG9ubG9hZD0m
cXVvdDtsb2FkSW1hZ2UoKSZxdW90OyZndDsKICAgICAgICAgICAgICZsdDtpbWcgaWQ9JnF1b3Q7
aW1hZ2VFbGVtZW50JnF1b3Q7IHdpZHRoPSZxdW90OzMwMCZxdW90OyBoZWlnaHQ9JnF1b3Q7MjAw
JnF1b3Q7IC8mZ3Q7CiAgICAgICAgICAgICZsdDsvYm9keSZndDsKICAgICAgICAgJmx0Oy9odG1s
Jmd0OzwvcHJlPgo8cD5XaGVuIGEgUXQgb2JqZWN0IGV4cGVjdHMgYSBRSW1hZ2Ugb3IgYSBRUGl4
bWFwIGFzIGlucHV0LCBhbmQgdGhlIGFyZ3VtZW50IHBhc3NlZCBpcyBhbiBIVE1MIGltYWdlIGVs
ZW1lbnQsIHRoZSA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5RdFdlYktpdDwvYT4gYnJpZGdlIHdv
dWxkIGNvbnZlcnQgdGhlIHBpeG1hcCBhc3NpZ25lZCB0byB0aGF0IGltYWdlIGVsZW1lbnQgaW50
byBhIFFQaXhtYXAgb3IgYSBRSW1hZ2UuPC9wPgo8YSBuYW1lPSJxd2ViZWxlbWVudCI+PC9hPgo8
aDQ+UVdlYkVsZW1lbnQ8L2g0Pgo8cD5BIHNpZ25hbCwgc2xvdCBvciBwcm9wZXJ0eSB0aGF0IGV4
cGVjdHMgb3IgcmV0dXJucyBhIDxhIGhyZWY9InF3ZWJlbGVtZW50Lmh0bWwiPlFXZWJFbGVtZW50
PC9hPiBjYW4gd29yayBzZWFtbGVzc2x5IHdpdGggSmF2YVNjcmlwdCByZWZlcmVuY2VzIHRvIERP
TSBlbGVtZW50cy4gVGhlIEphdmFTY3JpcHQgZW52aXJvbm1lbnQgY2FuIHNlbGVjdCBET00gZWxl
bWVudHMsIGtlZXAgdGhlbSBpbiB2YXJpYWJsZXMsIHRoZW4gcGFzcyB0aGVtIHRvIFF0IGFzIGEg
PGEgaHJlZj0icXdlYmVsZW1lbnQuaHRtbCI+UVdlYkVsZW1lbnQ8L2E+LCBhbmQgcmVjZWl2ZSB0
aGVtIGJhY2suIEV4YW1wbGU6PC9wPgo8cD5DKys6PC9wPgo8cHJlIGNsYXNzPSJoaWdobGlnaHRl
ZENvZGUiPiAgICAgICAgICBjbGFzcyBNeU9iamVjdCA6IFFPYmplY3QgewogICAgICAgICAgICAg
IFFfT0JKRUNUCgogICAgICAgICAgcHVibGljIHNsb3RzOgogICAgICAgICAgICAgIHZvaWQgZG9T
b21ldGhpbmdXaXRoV2ViRWxlbWVudChjb25zdCBRV2ViRWxlbWVudCZhbXA7KTsKICAgICAgICAg
IH07CgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8qIC4uLiAqLzwvc3Bhbj4KCiAg
ICAgICAgICBNeU9iamVjdCBteU9iamVjdDsKICAgICAgICAgIG15V2ViUGFnZS5tYWluRnJhbWUo
KS0mZ3Q7YWRkVG9KYXZhU2NyaXB0V2luZG93T2JqZWN0KCZxdW90O215T2JqZWN0JnF1b3Q7LCAm
YW1wO215T2JqZWN0KTs8L3ByZT4KPHA+SFRNTDo8L3A+CjxwcmUgY2xhc3M9ImhpZ2hsaWdodGVk
Q29kZSI+ICAgICAgICAgICZsdDtodG1sJmd0OwogICAgICAgICAgICAgJmx0O2hlYWQmZ3Q7CiAg
ICAgICAgICAgICAgJmx0O3NjcmlwdCZndDsKICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gcnVu
RXhhbXBsZSgpIHsKICAgICAgICAgICAgICAgICAgICAgIG15T2JqZWN0LmRvU29tZXRoaW5nV2l0
aFdlYkVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJnF1b3Q7c29tZUVsZW1lbnQmcXVv
dDspKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICZsdDsvc2NyaXB0Jmd0Owog
ICAgICAgICAgICAgJmx0Oy9oZWFkJmd0OwogICAgICAgICAgICAgJmx0O2JvZHkgb25sb2FkPSZx
dW90O3J1bkV4YW1wbGUoKSZxdW90OyZndDsKICAgICAgICAgICAgICAmbHQ7c3BhbiBpZD0mcXVv
dDtzb21lRWxlbWVudCZxdW90OyZndDtUZXh0Jmx0Oy9zcGFuJmd0OwogICAgICAgICAgICAgJmx0
Oy9ib2R5Jmd0OwogICAgICAgICAgJmx0Oy9odG1sJmd0OzwvcHJlPgo8cD5UaGlzIGlzIHNwZWNp
ZmljYWxseSB1c2VmdWwgdG8gY3JlYXRlIGN1c3RvbSByZW5kZXJlcnMgb3IgZXh0ZW5zaW9ucyB0
byB0aGUgd2ViIGVudmlyb25tZW50LiBJbnN0ZWFkIG9mIGZvcmNpbmcgUXQgdG8gc2VsZWN0IHRo
ZSBlbGVtZW50LCB0aGUgd2ViIGVudmlyb25tZW50IGFscmVhZHkgc2VsZWN0cyB0aGUgZWxlbWVu
dCBhbmQgdGhlbiBzZW5kIHRoZSBzZWxlY3RlZCBlbGVtZW50IGRpcmVjdGx5IHRvIFF0LjwvcD4K
PHA+Tm90ZSB0aGF0IDxhIGhyZWY9InF3ZWJlbGVtZW50Lmh0bWwiPlFXZWJFbGVtZW50PC9hPnMg
YXJlIG5vdCB0aHJlYWQgc2FmZSAtIGFuIG9iamVjdCBoYW5kbGluZyB0aGVtIGhhcyB0byBsaXZl
IGluIHRoZSBVSSB0aHJlYWQuPC9wPgo8YSBuYW1lPSJhcmNoaXRlY3R1cmUtaXNzdWVzIj48L2E+
CjxoMj5BcmNoaXRlY3R1cmUgaXNzdWVzPC9oMj4KPGEgbmFtZT0ibGltaXRpbmctdGhlLXNjb3Bl
LW9mLXRoZS1oeWJyaWQtbGF5ZXIiPjwvYT4KPGgzPkxpbWl0aW5nIHRoZSBTY29wZSBvZiB0aGUg
SHlicmlkIExheWVyPC9oMz4KPHA+V2hlbiB1c2luZyA8YSBocmVmPSJxdHdlYmtpdC5odG1sIj5R
dFdlYktpdDwvYT4ncyBoeWJyaWQgZmVhdHVyZXMsIGl0IGlzIGEgY29tbW9uIHBpdGZhbGwgdG8g
bWFrZSB0aGUgQVBJIGV4cG9zZWQgdG8gSmF2YVNjcmlwdCB2ZXJ5IHJpY2ggYW5kIHVzZSBhbGwg
aXRzIGZlYXR1cmVzLiBUaGlzLCBob3dldmVyLCBsZWFkcyB0byBjb21wbGV4aXR5IGFuZCBjYW4g
Y3JlYXRlIGJ1Z3MgdGhhdCBhcmUgaGFyZCB0byB0cmFjZS4gSW5zdGVhZCwgaXQgaXMgYWR2aXNh
YmxlIHRvIGtlZXAgdGhlIGh5YnJpZCBsYXllciBzbWFsbCBhbmQgbWFuYWdlYWJsZTogY3JlYXRl
IGEgZ2F0ZSBvbmx5IHdoZW4gdGhlcmUncyBhbiBhY3R1YWwgbmVlZCBmb3IgaXQsIGkuZSYjeDJl
OyB0aGVyZSdzIGEgbmV3IG5hdGl2ZSBlbmFibGVyIHRoYXQgcmVxdWlyZXMgYSBkaXJlY3QgaW50
ZXJmYWNlIHRvIHRoZSBhcHBsaWNhdGlvbiBsYXllci4gU29tZXRpbWVzIG5ldyBmdW5jdGlvbmFs
aXR5IGlzIGJldHRlciBoYW5kbGVkIGludGVybmFsbHkgaW4gdGhlIG5hdGl2ZSBsYXllciBvciBp
biB0aGUgd2ViIGxheWVyOyBzaW1wbGljaXR5IGlzIHlvdXIgZnJpZW5kLjwvcD4KPHA+VGhpcyB1
c3VhbGx5IGJlY29tZXMgbW9yZSBhcHBhcmVudCB3aGVuIHRoZSBoeWJyaWQgbGF5ZXIgY2FuIGNy
ZWF0ZSBvciBkZXN0cm95IG9iamVjdHMsIG9yIHVzZXMgc2lnbmFscyBzbG90cyBvciBwcm9wZXJ0
aWVzIHdpdGggYSA8YSBocmVmPSIjcW9iamVjdHMiPlFPYmplY3Q8L2E+KiBhcmd1bWVudC4gSXQg
aXMgYWR2aXNlZCB0byBiZSB2ZXJ5IGNhcmVmdWwgYW5kIHRvIHRyZWF0IGFuIGV4cG9zZWQgPGEg
aHJlZj0iI3FvYmplY3RzIj5RT2JqZWN0PC9hPiBhcyBhIHN5c3RlbSAtIHdpdGggY2FyZWZ1bCBh
dHRlbnRpb24gdG8gbWVtb3J5IG1hbmFnZW1lbnQgYW5kIG9iamVjdCBvd25lcnNoaXAuPC9wPgo8
YSBuYW1lPSJpbnRlcm5ldC1zZWN1cml0eSI+PC9hPgo8aDM+SW50ZXJuZXQgU2VjdXJpdHk8L2gz
Pgo8cD5XaGVuIGV4cG9zaW5nIG5hdGl2ZSBvYmplY3QgdG8gYW4gb3BlbiB3ZWIgZW52aXJvbm1l
bnQsIGl0IGlzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIHRoZSBzZWN1cml0eSBpbXBsaWNhdGlv
bnMuIFRoaW5rIHdoZXRoZXIgdGhlIGV4cG9zZWQgb2JqZWN0IGVuYWJsZXMgdGhlIHdlYiBlbnZp
cm9ubWVudCBhY2Nlc3MgdG8gdGhpbmdzIHRoYXQgc2hvdWxkbid0IGJlIG9wZW4sIGFuZCB3aGV0
aGVyIHRoZSB3ZWIgY29udGVudCBsb2FkZWQgYnkgdGhhdCB3ZWIgcGFnZSBjb21lcyBmcm9tIGEg
dHJ1c3RlZC4gSW4gZ2VuZXJhbCwgd2hlbiBleHBvc2luZyBuYXRpdmUgPGEgaHJlZj0iI3FvYmpl
Y3RzIj5RT2JqZWN0czwvYT4gdGhhdCBnaXZlIHRoZSB3ZWIgZW52aXJvbm1lbnQgYWNjZXNzIHRv
IHByaXZhdGUgaW5mb3JtYXRpb24gb3IgdG8gZnVuY3Rpb25hbGl0eSB0aGF0J3MgcG90ZW50aWFs
bHkgaGFybWZ1bCB0byB0aGUgY2xpZW50LCBzdWNoIGV4cG9zdXJlIHNob3VsZCBiZSBiYWxhbmNl
ZCBieSBsaW1pdGluZyB0aGUgd2ViIHBhZ2UncyBhY2Nlc3MgdG8gdHJ1c3RlZCBVUkxzIG9ubHkg
d2l0aCBIVFRQUyBhbmQgb3RoZXIgc2VjdXJpdHkgbWVhc3VyZXMuPC9wPgo8L2Rpdj4KPHA+Cjwv
cD4KICA8c2NyaXB0IHNyYz0ic2NyaXB0cy9mdW5jdGlvbnMuanMiIHR5cGU9InRleHQvamF2YXNj
cmlwdCI+PC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57566</attachid>
            <date>2010-06-01 10:46:48 -0700</date>
            <delta_ts>2010-06-11 16:43:12 -0700</delta_ts>
            <desc>oops, uploaded the wrong file</desc>
            <filename>patch-35861-2.diff</filename>
            <type>text/plain</type>
            <size>25205</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDllZjE2ZWYuLjUyYzQxOTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA0LTI3ICBOb2Ft
IFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEFkZCBkb2N1bWVudGF0aW9uIHRv
IHRoZSBRdFdlYmtpdCBicmlkZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1ODYxCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbmNsdWRlcyBjb21wcmVo
ZW5zaXZlIHFkb2MgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIFF0V2Via2l0IGJyaWRnZS4KKworICAg
ICAgICAqIGRvY3MvcXR3ZWJraXQtYnJpZGdlLnFkb2M6IEFkZGVkLgorICAgICAgICAqIGRvY3Mv
cXR3ZWJraXQucWRvYzoKKyAgICAgICAgKiBkb2NzL3dlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRz
Y3JpcHQucWRvYzogQWRkZWQuCisgICAgICAgICogZG9jcy93ZWJraXRzbmlwcGV0cy9xdHdlYmtp
dF9icmlkZ2Vfc25pcHBldHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKHdyYXBJbkZ1bmN0aW9uKToK
KwogMjAxMC0wNC0yNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L2RvY3Mv
cXR3ZWJraXQtYnJpZGdlLnFkb2MgYi9XZWJLaXQvcXQvZG9jcy9xdHdlYmtpdC1icmlkZ2UucWRv
YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODA3YzIzCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0L3F0L2RvY3MvcXR3ZWJraXQtYnJpZGdlLnFkb2MKQEAgLTAsMCArMSw0
MjUgQEAKKy8qIQorICAgIFxpbm1vZHVsZSBRdFdlYktpdAorICAgIFxwYWdlIHF0d2Via2l0LWJy
aWRnZS5odG1sCisgICAgXHRpdGxlIFRoZSBRdFdlYktpdCBCcmlkZ2UKKyAgICBcY29udGVudHNw
YWdlIFF0V2ViS2l0CisgICAgXHNlY3Rpb24xIE92ZXJ2aWV3CisgICAgXHNlY3Rpb24yIFRoZSB0
ZWNobm9sb2d5CisKKyAgICBUaGUgUXRXZWJLaXQgYnJpZGdlIGlzIGEgbWVjaGFuaXNtIHRoYXQg
ZXh0ZW5kcyBXZWJLaXQncyBKYXZhU2NyaXB0IGVudmlyb25tZW50IHRvIGFjY2VzcyBuYXRpdmUK
KyAgICBvYmplY3RzIHRoYXQgYXJlIHJlcHJlc2VudGVkIGFzIFFPYmplY3RzLiBJdCB0YWtlcyBh
ZHZhbnRhZ2Ugb2YgdGhlIGluaGVyZW50IGludHJvc3BlY3Rpb24gb2YgdGhlCisgICAgXGx7UXQg
T2JqZWN0IE1vZGVsfSwgd2hpY2ggaGFzIGEgbmF0dXJhbCBhbGlnbm1lbnQgdG8gdGhlIHdheSBK
YXZhU2NyaXB0IHdvcmtlZC4KKworICAgIEZvciBleGFtcGxlLCBib3RoIEphdmFTY3JpcHQgYW5k
IFFPYmplY3RzIGhhdmUgcHJvcGVydGllczogYSBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnQgYSBn
ZXR0ZXIvc2V0dGVyCisgICAgcGFpciB1bmRlciBvbmUgbmFtZS4KKworICAgIFxzZWN0aW9uMiBV
c2UgQ2FzZXMKKworICAgIFRoZXJlIGFyZSB0d28gbWFpbiB1c2UgY2FzZXMgZm9yIHRoZSBRdFdl
YktpdCBicmlkZ2UuIFdlYiBjb250ZW50IGluIGEgbmF0aXZlIGFwcGxpY2F0aW9uLCBhbmQgVGhp
biBDbGllbnQuCisKKyAgICBcc2VjdGlvbjMgV2ViIENvbnRlbnQgaW4gYSBOYXRpdmUgQXBwbGlj
YXRpb24KKworICAgIFRoaXMgaXMgYSBjb21tb24gdXNlIGNhc2UgaW4gY2xhc3NpYyBRdCBhcHBs
aWNhdGlvbiwgYW5kIGEgZGVzaWduIHBhdHRlcm4gdXNlZCBieSBzZXZlcmFsIG1vZGVybgorICAg
IGFwcGxpY2F0aW9ucy4gRm9yIGV4YW1wbGUsIGFuIGFwcGxpY2F0aW9uIHRoYXQgY29udGFpbnMg
Ym90aCBhIG1lZGlhLXBsYXllciwgcGxheWxpc3QgbWFuYWdlciwgYW5kCisgICAgYSBtdXNpYyBz
dG9yZS4gVGhlIHBsYXlsaXN0IG1hbmFnZXIgaXMgdXN1YWxseSBiZXN0IGF1dGhvcmVkIGFzIGEg
Y2xhc3NpYyBkZXNrdG9wIGFwcGxpY2F0aW9uLAorICAgIHdpdGggdGhlIG5hdGl2ZS1sb29raW5n
IHJvYnVzdCBcbHtRV2lkZ2V0fXMgaGVscGluZyB3aXRoIHByb2R1Y2luZyB0aGF0IGFwcGxpY2F0
aW9uLgorICAgIFRoZSBtZWRpYS1wbGF5ZXIgY29udHJvbCwgd2hpY2ggdXN1YWxseSBsb29rcyBj
dXN0b20sIGNhbiBiZSB3cml0dGVuIHVzaW5nIFxse1RoZSBHcmFwaGljcyBWaWV3IGZyYW1ld29y
a30KKyAgICBvciB3aXRoIGluIGEgZGVjbGFyYXRpdmUgd2F5IHdpdGggXGx7UXREZWNsYXJhdGl2
ZX0uIFRoZSBtdXNpYyBzdG9yZSwgd2hpY2ggc2hvd3MgZHluYW1pYyBjb250ZW50CisgICAgZnJv
bSB0aGUgaW50ZXJuZXQsIGFuZCBnZXRzIG1vZGlmaWVkIHJhcGlkbHksIGlzIGJlc3QgYXV0aG9y
ZWQgaW4gSFRNTCBhbmQgbWFpbnRhaW5lZCBvbiB0aGUgc2VydmVyLgorCisgICAgV2l0aCB0aGUg
UXRXZWJLaXQgYnJpZGdlLCB0aGF0IG11c2ljIHN0b3JlIGNvbXBvbmVudCBjYW4gaW50ZXJhY3Qg
d2l0aCBuYXRpdmUgcGFydHMgb2YgdGhlIGFwcGxpY2F0aW9uLAorICAgIGZvciBleGFtcGxlLCBp
ZiBhIGZpbGUgbmVlZHMgdG8gYmUgc2F2ZWQgdG8gYSBzcGVjaWZpYyBsb2NhdGlvbi4KKworICAg
IFxzZWN0aW9uMyBUaGluIENsaWVudAorCisgICAgQW5vdGhlciB1c2UgY2FzZSBpcyB1c2luZyBR
dCBhcyBhIG5hdGl2ZSBiYWNrZW5kIHRvIGEgZnVsbCB3ZWIgYXBwbGljYXRpb24sCisgICAgcmVm
ZXJyZWQgdG8gaGVyZSBhcyBhIHRoaW4gY2xpZW50LiBJbiB0aGlzIHVzZS1jYXNlLCB0aGUgZW50
aXJlIFVJIGlzIGRyaXZlbiBieQorICAgIEhUTUwsIEphdmFTY3JpcHQgYW5kIENTUywgYW5kIG5h
dGl2ZSBRdC1iYXNlZCBjb21wb25lbnRzIGFyZSB1c2VkIHRvIGFsbG93IHRoYXQgYXBwbGljYXRp
b24KKyAgICBhY2Nlc3MgdG8gbmF0aXZlIGZlYXR1cmVzIG5vdCB1c3VhbGx5IGV4cG9zZWQgdG8g
dGhlIHdlYiwgb3IgdG8gZW5hYmxlIGhlbHBlciBjb21wb25lbnRzIHRoYXQKKyAgICBhcmUgYmVz
dCB3cml0dGVuIHdpdGggQysrLgorCisgICAgQW4gZXhhbXBsZSBmb3Igc3VjaCBjbGllbnQgaXMg
YSBVSSBmb3IgYSB2aWRlby1vbi1kZW1hbmQgc2VydmljZSBvbiBhIFRWLiBUaGUgZW50aXJlIGNv
bnRlbnQgYW5kCisgICAgVUkgY2FuIGJlIGtlcHQgb24gdGhlIHNlcnZlciwgc2VydmVkIGR5bmFt
aWNhbGx5IHRocm91Z2ggSFRUUCBhbmQgcmVuZGVyZWQgd2l0aCBXZWJLaXQsIHdpdGggYWRkaXRp
b25hbAorICAgIG5hdGl2ZSBjb21wb25lbnRzIGZvciBhY2Nlc3NpbmcgaGFyZHdhcmUtc3BlY2lm
aWMgZmVhdHVyZXMgbGlrZSBleHRyYWN0aW5nIHRoZSBsaXN0IG9mIGltYWdlcworICAgIG91dCBv
ZiB0aGUgdmlkZW8uCisKKyAgICBcc2VjdGlvbjIgRGlmZmVyZW5jZSBmcm9tIE90aGVyIEJyaWRn
ZSBUZWNobm9sb2dpZXMKKworICAgIE9mIGNvdXJzZSBRdFdlYktpdCBpcyBub3QgdGhlIG9ubHkg
YnJpZGdlIHRlY2hub2xvZ3kgb3V0IHRoZXJlLiBOUEFQSSwgZm9yIGV4YW1wbGUsCisgICAgaXMg
YSBsb25nLXRpbWUgc3RhbmRhcmQgb3Igd2ViLW5hdGl2ZSBicmlkZ2luZy4gRHVlIHRvIFF0J3Mg
bWV0YS1vYmplY3Qgc3lzdGVtLCBmdWxsIGFwcGxpY2F0aW9ucworICAgIGJ1aWx0IHBhcnRpYWxs
eSB3aXRoIHdlYi10ZWNobm9sb2dpZXMgYXJlIG11Y2ggZWFzaWVyIHRvIGRldmVsb3AuIE5QQVBJ
LCBob3dldmVyLCBpcyBtb3JlIGdlYXJlZAorICAgIHRvd2FyZHMgY3Jvc3MtYnJvd3NlciBwbHVn
aW5zLCBkdWUgdG8gaXQgYmVpbmcgYW4gYWNjZXB0ZWQgc3RhbmRhcmQuCisKKyAgICBXaGVuIGRl
dmVsb3BpbmcgYSBwbHVnaW4gZm9yIGEgYnJvd3NlciwgTlBBUEkgaXMgcmVjb21tZW5kZWQuIFdo
ZW4gZGV2ZWxvcGluZyBhIGZ1bGwgYXBwbGljYXRpb24KKyAgICB0aGF0IHV0aWxpemVzIEhUTUwt
cmVuZGVyaW5nLCB0aGUgUXRXZWJLaXQgYnJpZGdlIGlzIHJlY29tbWVuZGVkLgorCisgICAgXHNl
Y3Rpb24yIFJlbGF0aW9uc2hpcCB3aXRoIFF0U2NyaXB0CisKKyAgICBUaGUgUXRXZWJLaXQgYnJp
ZGdlIGlzIHNpbWlsYXIgdG8gXGx7UXRTY3JpcHR9LCBlc3BlY2lhbGx5IHRvIHNvbWUgb2YgdGhl
IGZlYXR1cmVzIGRlc2NyaWJlZCBpbiB0aGUKKyAgICBcbHtNYWtpbmcgQXBwbGljYXRpb25zIFNj
cmlwdGFibGV9IHBhZ2UuIEhvd2V2ZXIsIGFzIG9mIFF0IDQuNywgZnVsbCBRdFNjcmlwdCBBUEkg
aXMgbm90IHN1cHBvcnRlZCBmb3Igd2ViIGFwcGxpY2F0aW9ucy4KKyAgICBUaGF0IGlzIHBsYW5u
ZWQgYXMgYW4gZW5oYW5jZW1lbnQgZm9yIGZ1dHVyZSB2ZXJzaW9ucy4gWW91IG1pZ2h0IG5vdGlj
ZSB0aGF0IHNvbWUgb2YgdGhlIGZlYXR1cmVzCisgICAgZGVzY3JpYmVkIGhlcmUgYXJlIGFuIGV4
YWN0IGNvcHkgb2YgdGhlIG9uZXMgZGVzY3JpYmVkIGluIHRoZSBcbHtNYWtpbmcgQXBwbGljYXRp
b25zIFNjcmlwdGFibGV9IHBhZ2UuIFRoYXQgaXMgYmVjYXVzZQorICAgIHRoZSBRdFdlYktpdCBi
cmlkZ2UgaXMgYSBzdWJzZXQgb2YgdGhhdCBmdW5jdGlvbmFsaXR5LCBhbmQgdGhpcyBwYWdlIHRy
aWVzIHRvIGNhcHR1cmUgdGhlIGZ1bGwKKyAgICBjYXBhYmlsaXRpZXMgYXZhaWxhYmxlIHRocm91
Z2ggdGhlIFF0V2ViS2l0IGJyaWRnZSBzcGVjaWZpY2FsbHkuCisKKyAgICBcc2VjdGlvbjEgQWNj
ZXNzaW5nIFFPYmplY3RzCisKKyAgICBcc2VjdGlvbjIgQ3JlYXRpbmcgdGhlIGxpbmsgdmlhIFFX
ZWJGcmFtZQorCisgICAgQnkgZGVmYXVsdCwgbm8gUU9iamVjdHMgYXJlIGFjY2Vzc2libGUgdGhy
b3VnaCB0aGUgd2ViIGVudmlyb25tZW50LCBmb3Igc2VjdXJpdHkgcmVhc29ucy4KKyAgICBUbyBl
bmFibGUgd2ViIGNvbnRlbnQgYWNjZXNzIHRvIGEgbmF0aXZlIFFPYmplY3QsIHRoZSBhcHBsaWNh
dGlvbiBoYXMgdG8gZXhwbGljaXRseSBncmFudCBpdCBhY2Nlc3MsCisgICAgdXNpbmcgdGhlIGZv
bGxvd2luZyBjYWxsOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJp
ZGdlX3NuaXBwZXRzLmNwcCAwCisKKyAgICBTZWUgXGx7UVdlYkZyYW1lOjphZGRUb0phdmFTY3Jp
cHRXaW5kb3dPYmplY3QoKX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICBcc2VjdGlvbjIg
VXNpbmcgU2lnbmFscyBhbmQgU2xvdHMKKworICAgIFF0IFNjcmlwdCBhZGFwdHMgUXQncyBjZW50
cmFsIFxse1NpZ25hbHMgYW5kIFNsb3RzfSBmZWF0dXJlIGZvcgorICAgIHNjcmlwdGluZy4gVGhl
cmUgYXJlIHRocmVlIHByaW5jaXBhbCB3YXlzIHRvIHVzZSBzaWduYWxzIGFuZCBzbG90cworICAg
IHdpdGggUXQgU2NyaXB0OgorCisgICAgXGxpc3QKKyAgICBcaSBcYm9sZHtIeWJyaWQgQysrL3Nj
cmlwdH06IEMrKyBhcHBsaWNhdGlvbiBjb2RlIGNvbm5lY3RzIGEKKyAgICBzaWduYWwgdG8gYSBz
Y3JpcHQgZnVuY3Rpb24uIFRoZSBzY3JpcHQgZnVuY3Rpb24gY2FuLCBmb3IgZXhhbXBsZSwgYmUK
KyAgICBhIGZ1bmN0aW9uIHRoYXQgdGhlIHVzZXIgaGFzIHR5cGVkIGluLCBvciBvbmUgdGhhdCB5
b3UgaGF2ZSByZWFkIGZyb20gYQorICAgIGZpbGUuIFRoaXMgYXBwcm9hY2ggaXMgdXNlZnVsIGlm
IHlvdSBoYXZlIGEgUU9iamVjdCBidXQgZG9uJ3Qgd2FudAorICAgIHRvIGV4cG9zZSB0aGUgb2Jq
ZWN0IGl0c2VsZiB0byB0aGUgc2NyaXB0aW5nIGVudmlyb25tZW50OyB5b3UganVzdAorICAgIHdh
bnQgYSBzY3JpcHQgdG8gYmUgYWJsZSB0byBkZWZpbmUgaG93IGEgc2lnbmFsIHNob3VsZCBiZSBy
ZWFjdGVkCisgICAgdG8sIGFuZCBsZWF2ZSBpdCB1cCB0byB0aGUgQysrIHNpZGUgb2YgeW91ciBh
cHBsaWNhdGlvbiB0byBlc3RhYmxpc2gKKyAgICB0aGUgY29ubmVjdGlvbi4KKworICAgIFxpIFxi
b2xke0h5YnJpZCBzY3JpcHQvQysrfTogQSBzY3JpcHQgY2FuIGNvbm5lY3Qgc2lnbmFscyBhbmQg
c2xvdHMKKyAgICB0byBlc3RhYmxpc2ggY29ubmVjdGlvbnMgYmV0d2VlbiBwcmUtZGVmaW5lZCBv
YmplY3RzIHRoYXQgdGhlCisgICAgYXBwbGljYXRpb24gZXhwb3NlcyB0byB0aGUgc2NyaXB0aW5n
IGVudmlyb25tZW50LiBJbiB0aGlzIHNjZW5hcmlvLAorICAgIHRoZSBzbG90cyB0aGVtc2VsdmVz
IGFyZSBzdGlsbCB3cml0dGVuIGluIEMrKywgYnV0IHRoZSBkZWZpbml0aW9uIG9mCisgICAgdGhl
IGNvbm5lY3Rpb25zIGlzIGZ1bGx5IGR5bmFtaWMgKHNjcmlwdC1kZWZpbmVkKS4KKworICAgIFxp
IFxib2xke1B1cmVseSBzY3JpcHQtZGVmaW5lZH06IEEgc2NyaXB0IGNhbiBib3RoIGRlZmluZSBz
aWduYWwKKyAgICBoYW5kbGVyIGZ1bmN0aW9ucyAoZWZmZWN0aXZlbHkgInNsb3RzIHdyaXR0ZW4g
aW4gUXQgU2NyaXB0IiksCisgICAgXGV7YW5kfSBzZXQgdXAgdGhlIGNvbm5lY3Rpb25zIHRoYXQg
dXRpbGl6ZSB0aG9zZSBoYW5kbGVycy4gRm9yCisgICAgZXhhbXBsZSwgYSBzY3JpcHQgY2FuIGRl
ZmluZSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBoYW5kbGUgdGhlCisgICAgUUxpbmVFZGl0OjpyZXR1
cm5QcmVzc2VkKCkgc2lnbmFsLCBhbmQgdGhlbiBjb25uZWN0IHRoYXQgc2lnbmFsIHRvIHRoZQor
ICAgIHNjcmlwdCBmdW5jdGlvbi4KKyAgICBcZW5kbGlzdAorCisgICAgTm90ZSB0aGF0IFF0U2Ny
aXB0IGZ1bmN0aW9ucyBzdWNoIGFzIHFTY3JpcHRDb25uZWN0IGFyZSB1bmF2aWxhYmxlIGluIHRo
ZSB3ZWIgZW52aXJvbm1lbnQuCisKKyAgICBcc2VjdGlvbjMgU2lnbmFsIHRvIEZ1bmN0aW9uIENv
bm5lY3Rpb25zCisKKyAgICBcY3tjb25uZWN0KGZ1bmN0aW9uKX0KKworICAgIEluIHRoaXMgZm9y
bSBvZiBjb25uZWN0aW9uLCB0aGUgYXJndW1lbnQgdG8gXGN7Y29ubmVjdCgpfSBpcyB0aGUKKyAg
ICBmdW5jdGlvbiB0byBjb25uZWN0IHRvIHRoZSBzaWduYWwuCisKKyAgICBcc25pcHBldCB3ZWJr
aXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMgorCisgICAgVGhlIGFyZ3VtZW50IGNh
biBiZSBhIFF0IFNjcmlwdCBmdW5jdGlvbiwgYXMgaW4gdGhlIGFib3ZlCisgICAgZXhhbXBsZSwg
b3IgaXQgY2FuIGJlIGEgUU9iamVjdCBzbG90LCBhcyBpbgorICAgIHRoZSBmb2xsb3dpbmcgZXhh
bXBsZToKKworICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRv
YyAzCisKKyAgICBXaGVuIHRoZSBhcmd1bWVudCBpcyBhIFFPYmplY3Qgc2xvdCwgdGhlIGFyZ3Vt
ZW50IHR5cGVzIG9mIHRoZQorICAgIHNpZ25hbCBhbmQgc2xvdCBkbyBub3QgbmVjZXNzYXJpbHkg
aGF2ZSB0byBiZSBjb21wYXRpYmxlOworICAgIHRoZSBRdFdlYktpdCBicmlkZ2Ugd2lsbCwgaWYg
bmVjZXNzYXJ5LCBwZXJmb3JtIGNvbnZlcnNpb24gb2YgdGhlIHNpZ25hbAorICAgIGFyZ3VtZW50
cyB0byBtYXRjaCB0aGUgYXJndW1lbnQgdHlwZXMgb2YgdGhlIHNsb3QuCisKKyAgICBUbyBkaXNj
b25uZWN0IGZyb20gYSBzaWduYWwsIHlvdSBpbnZva2UgdGhlIHNpZ25hbCdzCisgICAgXGN7ZGlz
Y29ubmVjdCgpfSBmdW5jdGlvbiwgcGFzc2luZyB0aGUgZnVuY3Rpb24gdG8gZGlzY29ubmVjdAor
ICAgIGFzIGFyZ3VtZW50OgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19x
dHNjcmlwdC5xZG9jIDQKKworICAgIFdoZW4gYSBzY3JpcHQgZnVuY3Rpb24gaXMgaW52b2tlZCBp
biByZXNwb25zZSB0byBhIHNpZ25hbCwgdGhlCisgICAgXGMgdGhpcyBvYmplY3Qgd2lsbCBiZSB0
aGUgR2xvYmFsIE9iamVjdC4KKworICAgIFxzZWN0aW9uMyBTaWduYWwgdG8gTWVtYmVyIEZ1bmN0
aW9uIENvbm5lY3Rpb25zCisKKyAgICBcY3tjb25uZWN0KHRoaXNPYmplY3QsIGZ1bmN0aW9uKX0K
KworICAgIEluIHRoaXMgZm9ybSBvZiB0aGUgXGN7Y29ubmVjdCgpfSBmdW5jdGlvbiwgdGhlIGZp
cnN0IGFyZ3VtZW50CisgICAgaXMgdGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhl
IHZhcmlhYmxlLCBcYyB0aGlzLCB3aGVuCisgICAgdGhlIGZ1bmN0aW9uIHNwZWNpZmllZCB1c2lu
ZyB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIGludm9rZWQuCisKKyAgICBJZiB5b3UgaGF2ZSBhIHB1
c2ggYnV0dG9uIGluIGEgZm9ybSwgeW91IHR5cGljYWxseSB3YW50IHRvIGRvCisgICAgc29tZXRo
aW5nIGludm9sdmluZyB0aGUgZm9ybSBpbiByZXNwb25zZSB0byB0aGUgYnV0dG9uJ3MKKyAgICBc
Y3tjbGlja2VkfSBzaWduYWw7IHBhc3NpbmcgdGhlIGZvcm0gYXMgdGhlIFxjIHRoaXMgb2JqZWN0
CisgICAgbWFrZXMgc2Vuc2UgaW4gc3VjaCBhIGNhc2UuCisKKyAgICBcc25pcHBldCB3ZWJraXRz
bmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgNQorCisgICAgVG8gZGlzY29ubmVjdCBmcm9t
IHRoZSBzaWduYWwsIHBhc3MgdGhlIHNhbWUgYXJndW1lbnRzIHRvIFxje2Rpc2Nvbm5lY3QoKX06
CisKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgNgor
CisgICAgXHNlY3Rpb24zIFNpZ25hbCB0byBOYW1lZCBNZW1iZXIgRnVuY3Rpb24gQ29ubmVjdGlv
bnMKKworICAgIFxje2Nvbm5lY3QodGhpc09iamVjdCwgZnVuY3Rpb25OYW1lKX0KKworICAgIElu
IHRoaXMgZm9ybSBvZiB0aGUgXGN7Y29ubmVjdCgpfSBmdW5jdGlvbiwgdGhlIGZpcnN0IGFyZ3Vt
ZW50IGlzCisgICAgdGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhlIHZhcmlhYmxl
LCBcYyB0aGlzLCB3aGVuCisgICAgYSBmdW5jdGlvbiBpcyBpbnZva2VkIGluIHJlc3BvbnNlIHRv
IHRoZSBzaWduYWwuIFRoZSBzZWNvbmQgYXJndW1lbnQKKyAgICBzcGVjaWZpZXMgdGhlIG5hbWUg
b2YgYSBmdW5jdGlvbiB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUgc2lnbmFsLAorICAgIGFuZCB0
aGlzIHJlZmVycyB0byBhIG1lbWJlciBmdW5jdGlvbiBvZiB0aGUgb2JqZWN0IHBhc3NlZCBhcyB0
aGUKKyAgICBmaXJzdCBhcmd1bWVudCAoXGMgdGhpc09iamVjdCBpbiB0aGUgYWJvdmUgc2NoZW1l
KS4KKworICAgIE5vdGUgdGhhdCB0aGUgZnVuY3Rpb24gaXMgcmVzb2x2ZWQgd2hlbiB0aGUgY29u
bmVjdGlvbiBpcyBtYWRlLCBub3QKKyAgICB3aGVuIHRoZSBzaWduYWwgaXMgZW1pdHRlZC4KKwor
ICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyA3CisKKyAg
ICBUbyBkaXNjb25uZWN0IGZyb20gdGhlIHNpZ25hbCwgcGFzcyB0aGUgc2FtZSBhcmd1bWVudHMg
dG8gXGN7ZGlzY29ubmVjdCgpfToKKworICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19z
cmNfcXRzY3JpcHQucWRvYyA4CisKKyAgICBcc2VjdGlvbjMgRXJyb3IgSGFuZGxpbmcKKworICAg
IFdoZW4gXGN7Y29ubmVjdCgpfSBvciBcY3tkaXNjb25uZWN0KCl9IHN1Y2NlZWRzLCB0aGUgZnVu
Y3Rpb24gd2lsbAorICAgIHJldHVybiBcY3t1bmRlZmluZWR9OyBvdGhlcndpc2UsIGl0IHdpbGwg
dGhyb3cgYSBzY3JpcHQgZXhjZXB0aW9uLgorICAgIFlvdSBjYW4gb2J0YWluIGFuIGVycm9yIG1l
c3NhZ2UgZnJvbSB0aGUgcmVzdWx0aW5nIFxje0Vycm9yfSBvYmplY3QuCisgICAgRXhhbXBsZToK
KworICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyA5CisK
KyAgICBcc2VjdGlvbjMgRW1pdHRpbmcgU2lnbmFscyBmcm9tIFNjcmlwdHMKKworICAgIFRvIGVt
aXQgYSBzaWduYWwgZnJvbSBzY3JpcHQgY29kZSwgeW91IHNpbXBseSBpbnZva2UgdGhlIHNpZ25h
bAorICAgIGZ1bmN0aW9uLCBwYXNzaW5nIHRoZSByZWxldmFudCBhcmd1bWVudHM6CisKKyAgICBc
c25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMTAKKworICAgIEl0
IGlzIGN1cnJlbnRseSBub3QgcG9zc2libGUgdG8gZGVmaW5lIGEgbmV3IHNpZ25hbCBpbiBhIHNj
cmlwdDsKKyAgICBpLmUuLCBhbGwgc2lnbmFscyBtdXN0IGJlIGRlZmluZWQgYnkgQysrIGNsYXNz
ZXMuCisKKyAgICBcc2VjdGlvbjMgT3ZlcmxvYWRlZCBTaWduYWxzIGFuZCBTbG90cworCisgICAg
V2hlbiBhIHNpZ25hbCBvciBzbG90IGlzIG92ZXJsb2FkZWQsIHRoZSBRdFdlYktpdCBicmlkZ2Ug
d2lsbCBhdHRlbXB0IHRvCisgICAgcGljayB0aGUgcmlnaHQgb3ZlcmxvYWQgYmFzZWQgb24gdGhl
IGFjdHVhbCB0eXBlcyBvZiB0aGUgUVNjcmlwdFZhbHVlIGFyZ3VtZW50cworICAgIGludm9sdmVk
IGluIHRoZSBmdW5jdGlvbiBpbnZvY2F0aW9uLiBGb3IgZXhhbXBsZSwgaWYgeW91ciBjbGFzcyBo
YXMgc2xvdHMKKyAgICBcY3tteU92ZXJsb2FkZWRTbG90KGludCl9IGFuZCBcY3tteU92ZXJsb2Fk
ZWRTbG90KFFTdHJpbmcpfSwgdGhlIGZvbGxvd2luZworICAgIHNjcmlwdCBjb2RlIHdpbGwgYmVo
YXZlIHJlYXNvbmFibHk6CisKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0
c2NyaXB0LnFkb2MgMTEKKworICAgIFlvdSBjYW4gc3BlY2lmeSBhIHBhcnRpY3VsYXIgb3Zlcmxv
YWQgYnkgdXNpbmcgYXJyYXktc3R5bGUgcHJvcGVydHkgYWNjZXNzCisgICAgd2l0aCB0aGUgXGx7
UU1ldGFPYmplY3Q6Om5vcm1hbGl6ZWRTaWduYXR1cmUoKX17bm9ybWFsaXplZCBzaWduYXR1cmV9
IG9mCisgICAgdGhlIEMrKyBmdW5jdGlvbiBhcyB0aGUgcHJvcGVydHkgbmFtZToKKworICAgIFxz
bmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyAxMgorCisgICAgSWYg
dGhlIG92ZXJsb2FkcyBoYXZlIGRpZmZlcmVudCBudW1iZXIgb2YgYXJndW1lbnRzLCB0aGUgUXRX
ZWJLaXQgYnJpZGdlIHdpbGwKKyAgICBwaWNrIHRoZSBvdmVybG9hZCB3aXRoIHRoZSBhcmd1bWVu
dCBjb3VudCB0aGF0IGJlc3QgbWF0Y2hlcyB0aGUKKyAgICBhY3R1YWwgbnVtYmVyIG9mIGFyZ3Vt
ZW50cyBwYXNzZWQgdG8gdGhlIHNsb3QuCisKKyAgICBGb3Igb3ZlcmxvYWRlZCBzaWduYWxzLCBK
YXZhU2NyaXB0IHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgeW91IHRyeSB0byBjb25uZWN0CisgICAg
dG8gdGhlIHNpZ25hbCBieSBuYW1lOyB5b3UgaGF2ZSB0byByZWZlciB0byB0aGUgc2lnbmFsIHdp
dGggdGhlIGZ1bGwKKyAgICBub3JtYWxpemVkIHNpZ25hdHVyZSBvZiB0aGUgcGFydGljdWxhciBv
dmVybG9hZCB5b3Ugd2FudCB0byBjb25uZWN0IHRvLgorCisgICAgXHNlY3Rpb24zIEludm9rYWJs
ZSBNZXRob2RzCisKKyAgICBCb3RoIHNsb3RzIGFuZCBzaWduYWxzIGFyZSBpbnZva2FibGUgZnJv
bSBzY3JpcHQgYnkgZGVmYXVsdC4gSW4gYWRkaXRpb24sIGl0J3MgYWxzbworICAgIHBvc3NpYmxl
IHRvIGRlZmluZSBhIG1ldGhvZCB0aGF0J3MgaW52b2thYmxlIGZyb20gc2NyaXB0IHdpdGhvdXQg
aXQgYmVpbmcgYSBzaWduYWwgb3IgYSBzbG90LgorICAgIFRoaXMgaXMgZXNwZWNpYWxseSB1c2Vm
dWwgZm9yIGZ1bmN0aW9ucyB3aXRoIHJldHVybiB0eXBlcywgYXMgc2xvdHMgbm9ybWFsbHkgZG8g
bm90IHJldHVybiBhbnl0aGluZworICAgIChpdCB3b3VsZCBiZSBtZWFuaW5nbGVzcyB0byByZXR1
cm4gdmFsdWVzIGZyb20gYSBzbG90LCBhcyB0aGUgY29ubmVjdGVkIHNpZ25hbHMgZG9uJ3QgaGFu
ZGxlIHRoZSByZXR1cm5lZCBkYXRhKS4KKyAgICBUbyBtYWtlIGEgbm9uLXNsb3QgbWV0aG9kIGlu
dm9rYWJsZSwgc2ltcGx5IGFkZCB0aGUgUV9JTlZPS0FCTEUgbWFjcm8gYmVmb3JlIGl0cyBkZWZp
bml0aW9uOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNjcmlwdC5x
ZG9jIDIwCisKKyAgICBcc2VjdGlvbjIgQWNjZXNzaW5nIFByb3BlcnRpZXMKKworICAgIFRoZSBw
cm9wZXJ0aWVzIG9mIHRoZSBRT2JqZWN0IGFyZSBhdmFpbGFibGUgYXMgcHJvcGVydGllcworICAg
IG9mIHRoZSBjb3JyZXNwb25kaW5nIEphdmFTY3JpcHQgb2JqZWN0LiBXaGVuIHlvdSBtYW5pcHVs
YXRlCisgICAgYSBwcm9wZXJ0eSBpbiBzY3JpcHQgY29kZSwgdGhlIEMrKyBnZXQvc2V0IG1ldGhv
ZCBmb3IgdGhhdAorICAgIHByb3BlcnR5IHdpbGwgYXV0b21hdGljYWxseSBiZSBpbnZva2VkLiBG
b3IgZXhhbXBsZSwgaWYgeW91cgorICAgIEMrKyBjbGFzcyBoYXMgYSBwcm9wZXJ0eSBkZWNsYXJl
ZCBhcyBmb2xsb3dzOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNj
cmlwdC5xZG9jIDEzCisKKyAgICB0aGVuIHNjcmlwdCBjb2RlIGNhbiBkbyB0aGluZ3MgbGlrZSB0
aGUgZm9sbG93aW5nOgorCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNj
cmlwdC5xZG9jIDE0CisKKyAgICBcc2VjdGlvbjIgQWNjZXNzaW5nIENoaWxkIFFPYmplY3RzCisK
KyAgICBFdmVyeSBuYW1lZCBjaGlsZCBvZiB0aGUgUU9iamVjdCAodGhhdCBpcywgZm9yIHdoaWNo
CisgICAgUU9iamVjdDo6b2JqZWN0TmFtZSgpIGlzIG5vdCBhbiBlbXB0eSBzdHJpbmcpIGlzIGJ5
IGRlZmF1bHQgYXZhaWxhYmxlIGFzCisgICAgYSBwcm9wZXJ0eSBvZiB0aGUgSmF2YVNjcmlwdCB3
cmFwcGVyIG9iamVjdC4gRm9yIGV4YW1wbGUsCisgICAgaWYgeW91IGhhdmUgYSBRRGlhbG9nIHdp
dGggYSBjaGlsZCB3aWRnZXQgd2hvc2UgXGN7b2JqZWN0TmFtZX0gcHJvcGVydHkgaXMKKyAgICBc
Y3sib2tCdXR0b24ifSwgeW91IGNhbiBhY2Nlc3MgdGhpcyBvYmplY3QgaW4gc2NyaXB0IGNvZGUg
dGhyb3VnaAorICAgIHRoZSBleHByZXNzaW9uCisKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0
cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgMTUKKworICAgIFNpbmNlIFxje29iamVjdE5hbWV9IGlz
IGl0c2VsZiBhIFFfUFJPUEVSVFksIHlvdSBjYW4gbWFuaXB1bGF0ZQorICAgIHRoZSBuYW1lIGlu
IHNjcmlwdCBjb2RlIHRvLCBmb3IgZXhhbXBsZSwgcmVuYW1lIGFuIG9iamVjdDoKKworICAgIFxz
bmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyAxNgorCisgICAgXHNl
Y3Rpb24yIERhdGEgdHlwZXMKKworICAgIFdoZW4gY2FsbGluZyBzbG90cywgcmVjZWl2aW5nIHNp
Z25hbHMgb3IgYWNjZXNzaW5nIHByb3BlcnRpZXMsIHVzdWFsbHkgc29tZSBwYXlsb2FkIGlzIGlu
dm9sdmVkLgorICAgIEZvciBleGFtcGxlLCBhIHByb3BlcnR5ICJ0ZXh0IiBtaWdodCByZXR1cm4g
YSBcbHtRU3RyaW5nfSBwYXJhbWV0ZXIuCisgICAgVGhlIFF0V2ViS2l0IGJyaWRnZSBkb2VzIHRo
ZSBqb2Igb2YgY29udmVydGluZyBiZXR3ZWVuIGEgZ2l2ZW4gSmF2YVNjcmlwdCBkYXRhLXR5cGUs
IGFuZCB0aGUKKyAgICBleHBlY3RlZCBvciBnaXZlbiBRdCB0eXBlLiBFYWNoIFF0IHR5cGUgaGFz
IGEgY29yZXNwb25kaW5nIHNldCBvZiBydWxlcyBvZiBob3cgSmF2YVNjcmlwdCB0cmVhdHMgaXQu
CisKKyAgICBUaGUgZGF0YSB0eXBlIGNvbnZlcnNpb25zIGFyZSBhbHNvIGFwcGxpY2FibGUgZm9y
IHRoZSBkYXRhIHJldHVybmVkIGZyb20gbm9uLXZvaWQgaW52b2thYmxlIG1ldGhvZHMuCisKKyAg
ICBcc2VjdGlvbjMgTnVtYmVycworCisgICAgQWxsIFF0IG51bWVyaWMgZGF0YSB0eXBlcyBhcmUg
Y29udmVydGVkIHRvIG9yIGZyb20gYSBKYXZhU2NyaXB0IG51bWJlci4gVGhlc2UgaW5jbHVkZSBp
bnQsIHNob3J0LCBmbG9hdCwKKyAgICBkb3VibGUsIGFuZCB0aGUgcG9yYWJsZSBRdCB0eXBlcyAo
cXJlYWwsIHFpbnQgZXRjKS4gQSBzcGVjaWFsIGNhc2UgaXMgXGx7UUNoYXJ9OworICAgIElmIGEg
c2xvdCBleHBlY3RzIGEgUUNoYXIsIHRoZSBRdFdlYktpdCBicmlkZ2Ugd291bGQgdXNlIHRoZSB1
bmljb2RlIHZhbHVlIGluIGNhc2Ugb2YgYSBudW1iZXIsCisgICAgb3IgdGhlIGZpcnN0IGNoYXJh
Y3RlciBpbiBhIHN0cmluZy4KKworICAgIE5vdGUgdGhhdCBub24tc3RhbmRhcmQgKHR5cGVkZWZl
ZCkgbnVtYmVyIHR5cGVzIGFyZSBub3QgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8KKyAgICBv
ciBmcm9tIGEgSmF2YVNjcmlwdCBudW1iZXIgLSBpdCdzIGFkdmlzZWQgdG8gdXNlIHN0YW5kYXJk
IG51bWJlciB0eXBlcyBmb3Igc2lnbmFsLCBzbG90cworICAgIGFuZCBwcm9wZXJ0aWVzLgorCisg
ICAgV2hlbiBhIG5vbi1udW1iZXIgaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IHRvIGEgbWV0aG9k
IG9yIHByb3BlcnR5IHRoYXQgZXhwZWN0cyBhIG51bWJlciwKKyAgICB0aGUgYXBwcm9wcmlhdGUg
SmF2YVNjcmlwdCBjb252ZXJzaW9uIGZ1bmN0aW9uIChwYXJzZUludCAvIHBhcnNlRmxvYXQpIHdv
dWxkIGJlIHVzZWQuCisKKyAgICBcc2VjdGlvbjMgU3RyaW5ncworCisgICAgV2hlbiBKYXZhU2Ny
aXB0IGFjY2Vzc2VzIG1ldGhvZHMgb3IgcHJvcGVydGllcyB0aGF0IGV4cGVjdCBhIFxse1FTdHJp
bmd9LCB0aGUgUXRXZWJLaXQgYnJpZGdlCisgICAgd2lsbCBhdXRvbWF0aWNhbGx5IGNvbnZlcnQg
dGhlIHZhbHVlIHRvIGEgc3RyaW5nIChpZiBpdCdzIG5vdCBhbHJlYWR5IGEgc3RyaW5nKSwgdXNp
bmcgdGhlCisgICAgYnVpbHQtaW4gSmF2YVNjcmlwdCB0b1N0cmluZyBtZXRob2QuCisKKyAgICBX
aGVuIGEgUVN0cmluZyBpcyBwYXNzZWQgdG8gSmF2YVNjcmlwdCBmcm9tIGEgc2lnbmFsIG9yIGEg
cHJvcGVydHksIFRoZSBRdFdlYktpdCBicmlkZ2Ugd2lsbAorICAgIGNvbnZlcnQgaXQgaW50byBh
IEphdmFTY3JpcHQgc3RyaW5nLgorCisgICAgXHNlY3Rpb24zIERhdGUgJiBUaW1lCisKKyAgICBC
b3RoIFxse1FEYXRlfSwgXGx7UVRpbWV9IGFuZCBcbHtRRGF0ZVRpbWV9IGFyZSBhdXRvbWF0aWNh
bGx5IHRyYW5zbGF0ZWQgdG8gb3IgZnJvbSB0aGUgSmF2YVNjcmlwdAorICAgIERhdGUgb2JqZWN0
LiBJZiBhIG51bWJlciBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQgdG8gYSBtZXRob2QgdGhhdCBl
eHBlY3RzIG9uZSBvZiB0aGUgZGF0ZS90aW1lCisgICAgdHlwZXMsIHRoZSBRdFdlYktpdCBicmlk
Z2Ugd291bGQgdHJlYXQgaXQgYXMgYSB0aW1lc3RhbXAuIElmIGEgc3RpbmcgaXMgcGFzc2VkLCBR
dFdlYktpdCB3b3VsZAorICAgIHRyeSBkaWZmZXJlbnQgUXQgZGF0ZSBwYXJzaW5nIGZ1bmN0aW9u
cyB0byBmaW5kIHRoZSByaWdodCBvbmUuCisKKyAgICBcc2VjdGlvbjMgUmVndWxhciBFeHByZXNz
aW9ucworCisgICAgVGhlIFF0V2ViS2l0IGJyaWRnZSB3b3VsZCBhdXRvbWF0aWNhbGx5IGNvbnZl
cnQgSmF2YVNjcmlwdCBSZWdFeCBvYmplY3QgdG8gYSBcbHtRUmVnRXhwfS4KKyAgICBJZiBhIHN0
cmluZyBpcyBwYXNzZWQgdG8gYSBtZXRob2QgZXhwZWN0aW5nIGEgXGx7UVJlZ0V4cH0sIHRoZSBz
dHJpbmcgd291bGQgYmUgY29udmVydGVkCisgICAgdG8gdGhhdCBcbHtRUmVnRXhwfS4KKworICAg
IFxzZWN0aW9uMyBMaXN0cworCisgICAgVGhlIFF0V2ViS2l0IGJyaWRnZSB0cmVhdHMgc2V2ZXJh
bCB0eXBlcyBvZiBsaXN0cyBpbiBhIHNwZWNpYWwgd2F5OiBcbHtRVmFyaWFudExpc3R9LCBcbHtR
U3RyaW5nTGlzdH0sCisgICAgXGx7UU9iamVjdExpc3R9IGFuZCBcbHtRTGlzdH08aW50Pi4gV2hl
biBhIHNsb3Qgb3IgcHJvcGVydHkgZXhwZWN0cyBvbmUgb2YgdGhvc2UgbGlzdCB0eXBlcywKKyAg
ICB0aGUgUXRXZWJLaXQgYnJpZGdlIHdvdWxkIHRyeSB0byBjb252ZXJ0IGEgSmF2YVNjcmlwdCBh
cnJheSBpbnRvIHRoYXQgdHlwZSwgY29udmVydGluZyBlYWNoIG9mCisgICAgdGhlIGFycmF5J3Mg
ZWxlbWVudHMgdG8gdGhlIHNpbmdsZS1lbGVtZW50IHR5cGUgb2YgdGhlIGxpc3QuCisKKyAgICBU
aGUgbW9zdCB1c2VmdWwgdHlwZSBvZiBsaXN0IGlzIHBlcmhhcHMgXGx7UVZhcmlhbnRMaXN0fSwg
d2hpY2ggY2FuIGJlIGNvbnZlcnRlZCB0byBmcm9tIGFueQorICAgIEphdmFTY3JpcHQgYXJyYXku
CisKKyAgICBcc2VjdGlvbjMgQ29tcG91bmQgKEpTT04pIG9iamVjdHMKKworICAgIEphdmFTY3Jp
cHQgY29tcG91bmQgb2JqZWN0cywgYWxzbyBrbm93biBhcyBKU09OIG9iamVjdHMsIGFyZSB2YXJp
YWJsZXMgd2hpY2ggaG9sZCBhIGxpc3QKKyAgICBvZiBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIGFs
bCB0aGUga2V5cyBhcmUgc3RyaW5ncyBhbmQgdGhlIHZhbHVlcyBjYW4gaGF2ZSBhbnkgdHlwZS4K
KyAgICBUaGlzIHRyYW5zbGF0ZXMgdmVyeSB3ZWxsIHRvIFxse1FWYXJpYW50TWFwfSwgd2hpY2gg
aXMgbm90aGluZyBtb3JlIHRoYW4gYSBcbHtRTWFwfSBvZiBcbHtRU3RyaW5nfQorICAgIHRvIFxs
e1FWYXJpYW50fS4KKworICAgIFRoZSBzZWFtbGVzcyBjb252ZXJzaW9uIGJldHdlZW4gSlNPTiBv
YmplY3RzIGFuZCBcbHtRVmFyaWFudE1hcH0gYWxsb3dzIGZvciBhIHZlcnkgY29udmVuaWVudAor
ICAgIHdheSBvZiBwYXNzaW5nIGFyYml0cmFyeSBzdHJ1Y3R1cmVkIGRhdGEgYmV0d2VlbiBDKysg
YW5kIHRoZSBKYXZhU2NyaXB0IGVudmlyb25tZW50LiBUaGUgbmF0aXZlIFxse1FPYmplY3R9IGhh
cworICAgIHRvIG1ha2Ugc3VyZSB0aGF0IGNvbXBvdW5kIHZhbHVlcyBhcmUgY29udmVydGVkIHRv
IFxse1FWYXJpYW50TWFwfXMgYW5kIFxse1FWYXJpYW50TGlzdH1zLCBhbmQgSmF2YVNjcmlwdCBp
cworICAgIGd1YXJhbnRlZWQgdG8gcmVjZWl2ZSB0aGVtIGluIGEgbWVhbmluZ2Z1bCB3YXkuCisK
KyAgICBOb3RlIHRoYXQgdHlwZXMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSBKU09OLCBzdWNo
IGFzIEphdmFTY3JpcHQgZnVuY3Rpb25zIGFuZCBnZXR0ZXJzL3NldHRlcnMsCisgICAgYXJlIG5v
dCBjb252ZXJ0ZWQuCisKKyAgICBcc2VjdGlvbjMgUVZhcmlhbnRzCisKKyAgICBXaGVuIGEgc2xv
dCBvciBwcm9wZXJ0eSBhY2NlcHRzIGEgXGx7UVZhcmlhbnR9LCB0aGUgUXRXZWJLaXQgYnJpZGdl
IHdvdWxkIGNyZWF0ZSBhIFxse1FWYXJpYW50fSB0aGF0IGJlc3QKKyAgICBtYXRjaGVzIHRoZSBh
cmd1bWVudCBwYXNzZWQgYnkgSmF2YVNjcmlwdC4gQSBzdHJpbmcsIGZvciBleGFtcGxlLCB3b3Vs
ZCBiZWNvbWUgYSBcbHtRVmFyaWFudH0gaG9sZGluZyBhIFxse1FTdHJpbmd9LAorICAgIGEgbm9y
bWFsIEpTT04gb2JqZWN0IHdvdWxkIGJlY29tZSBhIFxse1FWYXJpYW50TWFwfSwgYW5kIGEgSmF2
YVNjcmlwdCBhcnJheSB3b3VsZCBiZWNvbWUgYSBcbHtRVmFyaWFudExpc3R9LgorCisgICAgVXNp
bmcgXGx7UVZhcmlhbnR9cyBnZW5lcm91c2x5IGluIEMrKyBpbiB0aGF0IHdheSBtYWtlcyBDKysg
cHJvZ3JhbW1pbmcgZmVlbCBhIGJpdCBtb3JlIGxpa2UgSmF2YVNjcmlwdCBwcm9ncmFtbWluZywK
KyAgICBhcyBpdCBhZGRzIGFub3RoZXIgbGV2ZWwgb2YgaW5kaXJlY3Rpb24gLSBwYXNzaW5nIFxs
e1FWYXJpYW50fXMgYXJvdW5kIGlzIHZlcnkgZmxleGlibGUsIGFzIHRoZSBwcm9ncmFtIGNhbiBm
aWd1cmUgb3V0CisgICAgdGhlIHR5cGUgb2YgYXJndW1lbnQgaW4gcnVudGltZSBqdXN0IGxpa2Ug
SmF2YVNjcmlwdCB3b3VsZCBkbywgYnV0IGl0IGFsc28gdGFrZXMgYXdheSBmcm9tIHRoZSB0eXBl
LXNhZmV0eSBhbmQgcm9idXN0CisgICAgbmF0dXJlIG9mIEMrKy4gSXQncyByZWNvbW1lbmRlZCB0
byB1c2UgXGx7UVZhcmlhbnR9cyBvbmx5IGZvciBjb252ZW5pZW5jZSBoaWdoLWxldmVsIGZ1bmN0
aW9ucywgYW5kIHRvIGtlZXAgbW9zdCBvZiB5b3VyCisgICAgXGx7UU9iamVjdH1zIHNvbWV3aGF0
IHR5cGUtc2FmZS4KKworICAgIFxzZWN0aW9uMyBRT2JqZWN0cworCisgICAgQSBwb2ludGVyIHRv
IGEgXGx7UU9iamVjdH0gb3IgYSBcbHtRV2lkZ2V0fSBjYW4gYmUgcGFzc2VkIGFzIHBheWxvYWQg
aW4gc2lnbmFscywgc2xvdHMgYW5kIHByb3BlcnRpZXMuIFRoYXQgb2JqZWN0CisgICAgY2FuIHRo
ZW4gYmUgdXNlZCBsaWtlIGFuIG9iamVjdCB0aGF0J3MgZXhwb3NlZCBkaXJlY3RseTsgaS5lLiBp
dHMgc2xvdHMgY2FuIGJlIGludm9rZWQsIGl0cyBzaWduYWxzIGNvbm5lY3RlZCB0byBldGMuCisg
ICAgSG93ZXZlciwgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGZhaXJseSBsaW1pdGVkIC0gdGhlIHR5
cGUgdXNlZCBoYXMgdG8gYmUgXGx7UU9iamVjdH0qIG9yIFxse1FXaWRnZXR9Ki4gSWYgdGhlIHR5
cGUKKyAgICBzcGVjaWZpZWQgaXMgYSBwb2ludGVyIHRvIGEgbm9uLVxse1FXaWRnZXR9IHN1YmNs
YXNzIG9mIFxse1FPYmplY3R9LCB0aGUgUXRXZWJLaXQgYnJpZGdlIHdvdWxkIG5vdCByZWNvZ25p
emUgaXQgdG8gYmUKKyAgICBhIFxse1FPYmplY3R9LgorCisgICAgSW4gZ2VuZXJhbCBpdHMgYWR2
aXNlZCB0byB1c2UgY2FyZSB3aGVuIHBhc3NpbmcgXGx7UU9iamVjdH1zIGFzIGFyZ3VtZW50cywg
YXMgdGhvc2Ugb2JqZWN0cyBkb24ndCBiZWNvbWUgb3duZWQgYnkKKyAgICB0aGUgSmF2YXNjaXB0
IGVuZ2luZTsgVGhhdCBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIgaGFzIHRv
IGJlIGV4dHJhIGNhcmVmdWwgbm90IHRvIHRyeSB0byBhY2Nlc3MKKyAgICBcbHtRT2JqZWN0fXMg
dGhhdCBoYXZlIGFscmVhZHkgYmVlbiBkZWxldGVkIGJ5IHRoZSBuYXRpdmUgZW52aXJvbm1lbnQu
CisKKyAgICBcc2VjdGlvbjMgUGl4bWFwcyBhbmQgSW1hZ2VzCisKKyAgICBcc2luY2UgNC43CisK
KyAgICBUaGUgUXRXZWJLaXQgYnJpZGdlIGhhbmRsZXMgXGx7UVBpeG1hcH1zIGFuZCBcbHtRSW1h
Z2V9cyBpbiBhIHNwZWNpYWwgd2F5LiBTaW5jZSBRdFdlYktpdCBzdG9yZXMgXGx7UVBpeG1hcH1z
IHRvCisgICAgcmVwcmVzZW50IEhUTUwgaW1hZ2VzLCBcbHtRUGl4bWFwfXMgY29taW5nIGZyb20g
dGhlIG5hdGl2ZSBlbnZpcm9ubWVudCBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbnNpZGUgV2ViS2l0
LgorICAgIEEgXGx7UUltYWdlfSBvciBhIFxse1FQaXhtYXB9IGNvbWluZyBmcm9tIHRoZSBRdCBl
bnZpcm9ubWVudCB3b3VsZCBjb252ZXJ0IHRvIGFuIGludGVybWVkaWF0ZSBKYXZhU2NyaXB0IG9i
amVjdCwKKyAgICB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBsaWtlIHRoaXM6CisKKyAgICBcc25p
cHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBldHMuY3BwIDEKKworICAg
IFRoZSBKYXZhU2NyaXB0IGVudmlyb25tZW50IGNhbiB0aGVuIHVzZSB0aGUgcGl4bWFwIGl0IGdl
dHMgZnJvbSBRdCBhbmQgZGlzcGxheSBpdCBpbnNpZGUgdGhlIEhUTUwgZW52aXJvbm1lbnQsCisg
ICAgYnkgYXNzaWduaW5nIGl0IHRvIGFuIGV4aXN0aW5nIDxpbWcgLz4gZWxlbWVudCB1c2luZyBh
c3NpZ25Ub0hUTUxJbWFnZUVsZW1lbnQuIEl0IGNhbiBhbHNvIHVzZSB0aGUgdG9EYXRhVVJMKCkg
ZnVuY3Rpb24sCisgICAgd2hpY2ggYWxsb3dzIHVzaW5nIHRoZSBwaXhtYXAgYXMgdGhlIHNyYyBh
dHRyaWJ1dGUgb2YgYW4gaW1hZ2Ugb3IgYXMgYSBiYWNrZ3JvdW5kLWltYWdlIHVybC4gTm90ZSB0
aGF0IHRoZSB0b0RhdGFVUkwoKQorICAgIGZ1bmN0aW9uIGlzIGNvc3RseSBhbmQgc2hvdWxkIGJl
IHVzZWQgd2l0aCBjYXV0aW9uLgorCisgICAgRXhhbXBsZSBjb2RlOgorCisgICAgQysrOgorICAg
IFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0cy5jcHAgMgor
CisgICAgSFRNTDoKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vf
c25pcHBldHMuY3BwIDMKKworICAgIFdoZW4gYSBRdCBvYmplY3QgZXhwZWN0cyBhIFxse1FJbWFn
ZX0gb3IgYSBcbHtRUGl4bWFwfSBhcyBpbnB1dCwgYW5kIHRoZSBhcmd1bWVudCBwYXNzZWQgaXMg
YW4gSFRNTCBpbWFnZSBlbGVtZW50LAorICAgIHRoZSBRdFdlYktpdCBicmlkZ2Ugd291bGQgY29u
dmVydCB0aGUgcGl4bWFwIGFzc2lnbmVkIHRvIHRoYXQgaW1hZ2UgZWxlbWVudCBpbnRvIGEgXGx7
UVBpeG1hcH0gb3IgYSBcbHtRSW1hZ2V9LgorCisgICAgXHNpbmNlIDQuNworCisgICAgXHNlY3Rp
b24zIFFXZWJFbGVtZW50CisKKyAgICBBIHNpZ25hbCwgc2xvdCBvciBwcm9wZXJ0eSB0aGF0IGV4
cGVjdHMgb3IgcmV0dXJucyBhIFxse1FXZWJFbGVtZW50fSBjYW4gd29yayBzZWFtbGVzc2x5IHdp
dGggSmF2YVNjcmlwdCByZWZlcmVuY2VzCisgICAgdG8gRE9NIGVsZW1lbnRzLiBUaGUgSmF2YVNj
cmlwdCBlbnZpcm9ubWVudCBjYW4gc2VsZWN0IERPTSBlbGVtZW50cywga2VlcCB0aGVtIGluIHZh
cmlhYmxlcywgdGhlbiBwYXNzIHRoZW0gdG8gUXQgYXMKKyAgICBhIFxse1FXZWJFbGVtZW50fSwg
YW5kIHJlY2VpdmUgdGhlbSBiYWNrLiBFeGFtcGxlOgorCisgICAgQysrOgorICAgIFxzbmlwcGV0
IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0cy5jcHAgNAorCisgICAgSFRN
TDoKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBldHMu
Y3BwIDUKKworICAgIFRoaXMgaXMgc3BlY2lmaWNhbGx5IHVzZWZ1bCB0byBjcmVhdGUgY3VzdG9t
IHJlbmRlcmVycyBvciBleHRlbnNpb25zIHRvIHRoZSB3ZWIgZW52aXJvbm1lbnQuIEluc3RlYWQg
b2YgZm9yY2luZyBRdAorICAgIHRvIHNlbGVjdCB0aGUgZWxlbWVudCwgdGhlIHdlYiBlbnZpcm9u
bWVudCBhbHJlYWR5IHNlbGVjdHMgdGhlIGVsZW1lbnQgYW5kIHRoZW4gc2VuZCB0aGUgc2VsZWN0
ZWQgZWxlbWVudCBkaXJlY3RseSB0byBRdC4KKworICAgIE5vdGUgdGhhdCBcbHtRV2ViRWxlbWVu
dH1zIGFyZSBub3QgdGhyZWFkIHNhZmUgLSBhbiBvYmplY3QgaGFuZGxpbmcgdGhlbSBoYXMgdG8g
bGl2ZSBpbiB0aGUgVUkgdGhyZWFkLgorCisgICAgXHNlY3Rpb24xIEFyY2hpdGVjdHVyZSBpc3N1
ZXMKKworICAgIFxzZWN0aW9uMiBMaW1pdGluZyB0aGUgU2NvcGUgb2YgdGhlIEh5YnJpZCBMYXll
cgorCisgICAgV2hlbiB1c2luZyBRdFdlYktpdCdzIGh5YnJpZCBmZWF0dXJlcywgaXQncyBhIGNv
bW1vbiBwaXRmYWxsIHRvIG1ha2UgdGhlIEFQSSBleHBvc2VkIHRvIEphdmFTY3JpcHQgdmVyeSBy
aWNoIGFuZAorICAgIHVzZSBhbGwgaXRzIGZlYXR1cmVzLiBUaGlzLCBob3dldmVyLCBsZWFkcyB0
byBjb21wbGV4aXR5IGFuZCBjYW4gY3JlYXRlIGJ1Z3MgdGhhdCBhcmUgaGFyZCB0byB0cmFjZS4K
KyAgICBJbnN0ZWFkLCBpdCdzIGFkdmlzYWJsZSB0byBrZWVwIHRoZSBoeWJyaWQgbGF5ZXIgc21h
bGwgYW5kIG1hbmFnZWFibGU6IGNyZWF0ZSBhIGdhdGUgb25seSB3aGVuCisgICAgdGhlcmUncyBh
biBhY3R1YWwgbmVlZCBmb3IgaXQsIGkuZS4gdGhlcmUncyBhIG5ldyBuYXRpdmUgZW5hYmxlciB0
aGF0IHJlcXVpcmVzIGEgZGlyZWN0IGludGVyZmFjZQorICAgIHRvIHRoZSBhcHBsaWNhdGlvbiBs
YXllci4gU29tZXRpbWVzIG5ldyBmdW5jdGlvbmFsaXR5IGlzIGJldHRlciBoYW5kbGVkIGludGVy
bmFsbHkgaW4gdGhlIG5hdGl2ZSBsYXllcgorICAgIG9yIGluIHRoZSB3ZWIgbGF5ZXI7IHNpbXBs
aWNpdHkgaXMgeW91ciBmcmllbmQuCisKKyAgICBUaGlzIHVzdWFsbHkgYmVjb21lcyBtb3JlIGFw
cGFyZW50IHdoZW4gdGhlIGh5YnJpZCBsYXllciBjYW4gY3JlYXRlIG9yIGRlc3Ryb3kgb2JqZWN0
cywgb3IgdXNlcworICAgIHNpZ25hbHMgc2xvdHMgb3IgcHJvcGVydGllcyB3aXRoIGEgXGx7UU9i
amVjdH0qIGFyZ3VtZW50LiBJdCdzIGFkdmlzZWQgdG8gYmUgdmVyeSBjYXJlZnVsIGFuZCB0byB0
cmVhdAorICAgIGFuIGV4cG9zZWQgXGx7UU9iamVjdH0gYXMgYSBzeXN0ZW0gLSB3aXRoIGNhcmVm
dWwgYXR0ZW50aW9uIHRvIG1lbW9yeSBtYW5hZ2VtZW50IGFuZCBvYmplY3Qgb3duZXJzaGlwLgor
CisgICAgXHNlY3Rpb24yIEludGVybmV0IFNlY3VyaXR5CisKKyAgICBXaGVuIGV4cG9zaW5nIG5h
dGl2ZSBvYmplY3QgdG8gYW4gb3BlbiB3ZWIgZW52aXJvbm1lbnQsIGl0J3MgaW1wb3J0YW50IHRv
IHVuZGVyc3RhbmQgdGhlIHNlY3VyaXR5CisgICAgaW1wbGljYXRpb25zLiBUaGluayB3aGV0aGVy
IHRoZSBleHBvc2VkIG9iamVjdCBlbmFibGVzIHRoZSB3ZWIgZW52aXJvbm1lbnQgYWNjZXNzIHRv
IHRoaW5ncyB0aGF0CisgICAgc2hvdWxkbid0IGJlIG9wZW4sIGFuZCB3aGV0aGVyIHRoZSB3ZWIg
Y29udGVudCBsb2FkZWQgYnkgdGhhdCB3ZWIgcGFnZSBjb21lcyBmcm9tIGEgdHJ1c3RlZC4gSW4g
Z2VuZXJhbCwgd2hlbgorICAgIGV4cG9zaW5nIG5hdGl2ZSBRT2JqZWN0cyB0aGF0IGdpdmUgdGhl
IHdlYiBlbnZpcm9ubWVudCBhY2Nlc3MgdG8gcHJpdmF0ZSBpbmZvcm1hdGlvbiBvciB0byBmdW5j
dGlvbmFsaXR5CisgICAgdGhhdCdzIHBvdGVudGlhbGx5IGhhcm1mdWwgdG8gdGhlIGNsaWVudCwg
c3VjaCBleHBvc3VyZSBzaG91bGQgYmUgYmFsYW5jZWQgYnkgbGltaXRpbmcgdGhlIHdlYiBwYWdl
J3MKKyAgICBhY2Nlc3MgdG8gdHJ1c3RlZCBVUkxzIG9ubHkgd2l0aCBIVFRQUyBhbmQgb3RoZXIg
c2VjdXJpdHkgbWVhc3VyZXMuCisKKworKi8KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9kb2NzL3F0
d2Via2l0LnFkb2MgYi9XZWJLaXQvcXQvZG9jcy9xdHdlYmtpdC5xZG9jCmluZGV4IDllNjUzZTQu
LjFmOWFmN2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9kb2NzL3F0d2Via2l0LnFkb2MKKysrIGIv
V2ViS2l0L3F0L2RvY3MvcXR3ZWJraXQucWRvYwpAQCAtNzIsOCArNzIsOSBAQAogICAgIHNjcmlw
dGVkIHdpdGggSmF2YVNjcmlwdC4KIAogICAgIEEgYnJpZGdlIGJldHdlZW4gdGhlIEphdmFTY3Jp
cHQgZXhlY3V0aW9uIGVudmlyb25tZW50IGFuZCB0aGUgUXQgb2JqZWN0Ci0gICAgbW9kZWwgbWFr
ZXMgaXQgcG9zc2libGUgZm9yIGN1c3RvbSBRT2JqZWN0cyB0byBiZSBzY3JpcHRlZC4gSW50ZWdy
YXRpb24KLSAgICB3aXRoIHRoZSBRdCBuZXR3b3JraW5nIG1vZHVsZSBlbmFibGVzIFdlYiBwYWdl
cyB0byBiZSB0cmFuc3BhcmVudGx5IGxvYWRlZAorICAgIG1vZGVsIG1ha2VzIGl0IHBvc3NpYmxl
IGZvciBjdXN0b20gUU9iamVjdHMgdG8gYmUgc2NyaXB0ZWQuIEZvciBkZXRhaWxlZAorICAgIGRv
Y3VtZW50YXRpb24gc2VlIFxse1RoZSBRdFdlYmtpdCBCcmlkZ2V9LgorICAgIEludGVncmF0aW9u
IHdpdGggdGhlIFF0IG5ldHdvcmtpbmcgbW9kdWxlIGVuYWJsZXMgV2ViIHBhZ2VzIHRvIGJlIHRy
YW5zcGFyZW50bHkgbG9hZGVkCiAgICAgZnJvbSBXZWIgc2VydmVycywgdGhlIGxvY2FsIGZpbGUg
c3lzdGVtIG9yIGV2ZW4gdGhlIFF0IHJlc291cmNlIHN5c3RlbS4KIAogICAgIEluIGFkZGl0aW9u
IHRvIHByb3ZpZGluZyBwdXJlIHJlbmRlcmluZyBmZWF0dXJlcywgSFRNTCBkb2N1bWVudHMgY2Fu
IGJlCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvZG9jcy93ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9i
cmlkZ2Vfc25pcHBldHMuY3BwIGIvV2ViS2l0L3F0L2RvY3Mvd2Via2l0c25pcHBldHMvcXR3ZWJr
aXRfYnJpZGdlX3NuaXBwZXRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5kODNhYjNmCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L2RvY3Mvd2Via2l0c25pcHBl
dHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcApAQCAtMCwwICsxLDgzIEBACisKK3ZvaWQg
d3JhcEluRnVuY3Rpb24oKQoreworCisvLyEgWzBdCisgICAgLy8gLi4uCisgICAgUVdlYkZyYW1l
ICpmcmFtZSA9IG15V2ViUGFnZS0+bWFpbkZyYW1lKCk7CisgICAgZnJhbWUtPmFkZFRvSmF2YVNj
cmlwdFdpbmRvd09iamVjdCgic29tZU5hbWVGb3JNeU9iamVjdCIsIG15T2JqZWN0KTsKKyAgICAv
LyAuLi4KKy8vISBbMF0KKyNpZiAwCisgICAgLy8hIFsxXQorICAgeworICAgICAgIHdpZHRoOiAu
Li4sCisgICAgICAgaGVpZ2h0OiAuLi4sCisgICAgICAgdG9EYXRhVVJMOiBmdW5jdGlvbigpIHsg
Li4uIH0sCisgICAgICAgYXNzaWduVG9IVE1MSW1hZ2VFbGVtZW50OiBmdW5jdGlvbihlbGVtZW50
KSB7IC4uLiB9CisgICB9CisgICAvLyEgWzFdCisjZW5kaWYKKyAgICAvLyEgWzJdCisgICAgIGNs
YXNzIE15T2JqZWN0IDogUU9iamVjdCB7CisgICAgICAgICBRX09CSkVDVAorICAgICAgICAgUV9Q
Uk9QRVJUWShRUGl4bWFwIG15UGl4bWFwIFJFQUQgZ2V0UGl4bWFwKQorCisgICAgIHB1YmxpYzoK
KyAgICAgICAgIFFQaXhtYXAgZ2V0UGl4bWFwKCkgY29uc3Q7CisgICAgIH07CisKKyAgICAgLyog
Li4uICovCisKKyAgICAgTXlPYmplY3QgbXlPYmplY3Q7CisgICAgIG15V2ViUGFnZS5tYWluRnJh
bWUoKS0+YWRkVG9KYXZhU2NyaXB0V2luZG93T2JqZWN0KCJteU9iamVjdCIsICZteU9iamVjdCk7
CisKKyAgICAvLyEgWzJdCisgI2lmIDAKKyAgICAgLy8hIFszXQorICAgICA8aHRtbD4KKyAgICAg
ICAgPGhlYWQ+CisgICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgIGZ1bmN0aW9uIGxvYWRJ
bWFnZSgpIHsKKyAgICAgICAgICAgICAgICAgbXlPYmplY3QubXlQaXhtYXAuYXNzaWduVG9IVE1M
SW1hZ2VFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZUVsZW1lbnQiKSk7Cisg
ICAgICAgICAgICAgfQorICAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwvaGVhZD4KKyAgICAg
ICAgPGJvZHkgb25sb2FkPSJsb2FkSW1hZ2UoKSI+CisgICAgICAgICA8aW1nIGlkPSJpbWFnZUVs
ZW1lbnQiIHdpZHRoPSIzMDAiIGhlaWdodD0iMjAwIiAvPgorICAgICAgICA8L2JvZHk+CisgICAg
IDwvaHRtbD4KKyAgICAvLyEgWzNdCisgI2VuZGlmCisgICAgIC8vISBbNF0KKyAgICAgIGNsYXNz
IE15T2JqZWN0IDogUU9iamVjdCB7CisgICAgICAgICAgUV9PQkpFQ1QKKworICAgICAgcHVibGlj
IHNsb3RzOgorICAgICAgICAgIHZvaWQgZG9Tb21ldGhpbmdXaXRoV2ViRWxlbWVudChjb25zdCBR
V2ViRWxlbWVudCYpOworICAgICAgfTsKKworICAgICAgLyogLi4uICovCisKKyAgICAgIE15T2Jq
ZWN0IG15T2JqZWN0OworICAgICAgbXlXZWJQYWdlLm1haW5GcmFtZSgpLT5hZGRUb0phdmFTY3Jp
cHRXaW5kb3dPYmplY3QoIm15T2JqZWN0IiwgJm15T2JqZWN0KTsKKworICAgICAvLyEgWzRdCisg
ICNpZiAwCisgICAgICAvLyEgWzVdCisgICAgICA8aHRtbD4KKyAgICAgICAgIDxoZWFkPgorICAg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAgIGZ1bmN0aW9uIHJ1bkV4YW1wbGUoKSB7Cisg
ICAgICAgICAgICAgICAgICBteU9iamVjdC5kb1NvbWV0aGluZ1dpdGhXZWJFbGVtZW50KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzb21lRWxlbWVudCIpKTsKKyAgICAgICAgICAgICAgfQorICAg
ICAgICAgIDwvc2NyaXB0PgorICAgICAgICAgPC9oZWFkPgorICAgICAgICAgPGJvZHkgb25sb2Fk
PSJydW5FeGFtcGxlKCkiPgorICAgICAgICAgIDxzcGFuIGlkPSJzb21lRWxlbWVudCI+VGV4dDwv
c3Bhbj4KKyAgICAgICAgIDwvYm9keT4KKyAgICAgIDwvaHRtbD4KKyAgICAgLy8hIFs1XQorICAj
ZW5kaWYKK30KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58526</attachid>
            <date>2010-06-11 16:43:12 -0700</date>
            <delta_ts>2010-06-12 01:22:05 -0700</delta_ts>
            <desc>A patch that amends the state to the correct documentation</desc>
            <filename>patch-35861-4.diff</filename>
            <type>text/plain</type>
            <size>23479</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IGNjYWIzNGMuLjQyMDMzMTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA2LTExICBObydh
bSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBBZGQgZG9jdW1lbnRhdGlvbiB0
byB0aGUgUXRXZWJraXQgYnJpZGdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNTg2MQorCisgICAgICAgIFRoZSBwcmV2aW91cyBhY2NlcHRlZCBwYXRj
aCB3YXMgYWN0dWFsbHkgYSBmYXVsdHkgb25lOyBJdCB3YXMgaGFyZCB0byB0cmFjZSBzaW5jZSBp
dCdzIGp1c3QgYSBkb2N1bWVudGF0aW9uCisgICAgICAgIGNoYW5nZS4gVGhlIG5ldyBwYXRjaCBh
bWVuZHMgdGhhdCwgd2l0aCB0aGUgY29ycmVjdCBzbmlwcGV0cyBhbmQgZ3JhbW1hciBmaXhlcy4K
KworICAgICAgICAqIGRvY3MvcXR3ZWJraXQtYnJpZGdlLnFkb2M6CisgICAgICAgICogZG9jcy93
ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBldHMuY3BwOgorICAgICAgICAod3Jh
cEluRnVuY3Rpb24pOgorCiAyMDEwLTA2LTExICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50
dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgbm9ib2R5LCBidWlsZCBm
aXguCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvZG9jcy9xdHdlYmtpdC1icmlkZ2UucWRvYyBiL1dl
YktpdC9xdC9kb2NzL3F0d2Via2l0LWJyaWRnZS5xZG9jCmluZGV4IDRmNDFkMjkuLmZhOTMyOTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9kb2NzL3F0d2Via2l0LWJyaWRnZS5xZG9jCisrKyBiL1dl
YktpdC9xdC9kb2NzL3F0d2Via2l0LWJyaWRnZS5xZG9jCkBAIC03LDI1ICs3LDI2IEBACiAgICAg
XHNlY3Rpb24yIFRoZSB0ZWNobm9sb2d5CiAKICAgICBUaGUgUXRXZWJLaXQgYnJpZGdlIGlzIGEg
bWVjaGFuaXNtIHRoYXQgZXh0ZW5kcyBXZWJLaXQncyBKYXZhU2NyaXB0IGVudmlyb25tZW50IHRv
IGFjY2VzcyBuYXRpdmUKLSAgICBvYmplY3RzIHRoYXQgYXJlIHJlcHJlc2VudGVkIGFzIFFPYmpl
Y3RzLiBJdCB0YWtlcyBhZHZhbnRhZ2Ugb2YgdGhlIGluaGVyZW50IGludHJvc3BlY3Rpb24gb2Yg
dGhlCi0gICAgXGx7UXQgT2JqZWN0IE1vZGVsfSwgd2hpY2ggaGFzIGEgbmF0dXJhbCBhbGlnbm1l
bnQgdG8gdGhlIHdheSBKYXZhU2NyaXB0IHdvcmtlZC4KKyAgICBvYmplY3RzIHRoYXQgYXJlIHJl
cHJlc2VudGVkIGFzIFxse1FPYmplY3R9cy4gSXQgdGFrZXMgYWR2YW50YWdlIG9mIHRoZSBcbHtR
T2JqZWN0fSBpbnRyb3NwZWN0aW9uLAorICAgIGEgcGFydCBvZiB0aGUgXGx7UXQgT2JqZWN0IE1v
ZGVsfSwgd2hpY2ggbWFrZXMgaXQgZWFzeSB0byBpbnRlZ3JhdGUgd2l0aCB0aGUgZHluYW1pYyBK
YXZhU2NyaXB0IGVudmlyb25tZW50LAorICAgIGZvciBleGFtcGxlIFxse1FPYmplY3R9IHByb3Bl
cnRpZXMgbWFwIGRpcmVjdGx5IHRvIEphdmFTY3JpcHQgcHJvcGVydGllcy4KIAogICAgIEZvciBl
eGFtcGxlLCBib3RoIEphdmFTY3JpcHQgYW5kIFFPYmplY3RzIGhhdmUgcHJvcGVydGllczogYSBj
b25zdHJ1Y3QgdGhhdCByZXByZXNlbnQgYSBnZXR0ZXIvc2V0dGVyCiAgICAgcGFpciB1bmRlciBv
bmUgbmFtZS4KIAogICAgIFxzZWN0aW9uMiBVc2UgQ2FzZXMKIAotICAgIFRoZXJlIGFyZSB0d28g
bWFpbiB1c2UgY2FzZXMgZm9yIHRoZSBRdFdlYktpdCBicmlkZ2UuIFdlYiBjb250ZW50IGluIGEg
bmF0aXZlIGFwcGxpY2F0aW9uLCBhbmQgVGhpbiBDbGllbnQuCisgICAgVGhlcmUgYXJlIHR3byBt
YWluIHVzZSBjYXNlcyBmb3IgdGhlIFF0V2ViS2l0IGJyaWRnZS4gV2ViIGNvbnRlbnQgaW4gYSBu
YXRpdmUgYXBwbGljYXRpb24sIGFuZCBUaGluIENsaWVudHMuCiAKICAgICBcc2VjdGlvbjMgV2Vi
IENvbnRlbnQgaW4gYSBOYXRpdmUgQXBwbGljYXRpb24KIAogICAgIFRoaXMgaXMgYSBjb21tb24g
dXNlIGNhc2UgaW4gY2xhc3NpYyBRdCBhcHBsaWNhdGlvbiwgYW5kIGEgZGVzaWduIHBhdHRlcm4g
dXNlZCBieSBzZXZlcmFsIG1vZGVybgotICAgIGFwcGxpY2F0aW9ucy4gRm9yIGV4YW1wbGUsIGFu
IGFwcGxpY2F0aW9uIHRoYXQgY29udGFpbnMgYm90aCBhIG1lZGlhLXBsYXllciwgcGxheWxpc3Qg
bWFuYWdlciwgYW5kCi0gICAgYSBtdXNpYyBzdG9yZS4gVGhlIHBsYXlsaXN0IG1hbmFnZXIgaXMg
dXN1YWxseSBiZXN0IGF1dGhvcmVkIGFzIGEgY2xhc3NpYyBkZXNrdG9wIGFwcGxpY2F0aW9uLAor
ICAgIGFwcGxpY2F0aW9ucy4gRm9yIGV4YW1wbGUsIGFuIGFwcGxpY2F0aW9uIHRoYXQgY29udGFp
bnMgYSBtZWRpYS1wbGF5ZXIsIHBsYXlsaXN0IG1hbmFnZXIsIGFuZCBtdXNpYyBzdG9yZS4KKyAg
ICBUaGUgcGxheWxpc3QgbWFuYWdlciBpcyB1c3VhbGx5IGJlc3QgYXV0aG9yZWQgYXMgYSBjbGFz
c2ljIGRlc2t0b3AgYXBwbGljYXRpb24sCiAgICAgd2l0aCB0aGUgbmF0aXZlLWxvb2tpbmcgcm9i
dXN0IFxse1FXaWRnZXR9cyBoZWxwaW5nIHdpdGggcHJvZHVjaW5nIHRoYXQgYXBwbGljYXRpb24u
CiAgICAgVGhlIG1lZGlhLXBsYXllciBjb250cm9sLCB3aGljaCB1c3VhbGx5IGxvb2tzIGN1c3Rv
bSwgY2FuIGJlIHdyaXR0ZW4gdXNpbmcgXGx7VGhlIEdyYXBoaWNzIFZpZXcgZnJhbWV3b3JrfQog
ICAgIG9yIHdpdGggaW4gYSBkZWNsYXJhdGl2ZSB3YXkgd2l0aCBcbHtRdERlY2xhcmF0aXZlfS4g
VGhlIG11c2ljIHN0b3JlLCB3aGljaCBzaG93cyBkeW5hbWljIGNvbnRlbnQKLSAgICBmcm9tIHRo
ZSBpbnRlcm5ldCwgYW5kIGdldHMgbW9kaWZpZWQgcmFwaWRseSwgaXMgYmVzdCBhdXRob3JlZCBp
biBIVE1MIGFuZCBtYWludGFpbmVkIG9uIHRoZSBzZXJ2ZXIuCisgICAgZnJvbSB0aGUgaW50ZXJu
ZXQgYW5kIGdldHMgbW9kaWZpZWQgcmFwaWRseSwgaXMgYmVzdCBhdXRob3JlZCBpbiBIVE1MIGFu
ZCBtYWludGFpbmVkIG9uIHRoZSBzZXJ2ZXIuCiAKICAgICBXaXRoIHRoZSBRdFdlYktpdCBicmlk
Z2UsIHRoYXQgbXVzaWMgc3RvcmUgY29tcG9uZW50IGNhbiBpbnRlcmFjdCB3aXRoIG5hdGl2ZSBw
YXJ0cyBvZiB0aGUgYXBwbGljYXRpb24sCiAgICAgZm9yIGV4YW1wbGUsIGlmIGEgZmlsZSBuZWVk
cyB0byBiZSBzYXZlZCB0byBhIHNwZWNpZmljIGxvY2F0aW9uLgpAQCAtMzgsNyArMzksNyBAQAog
ICAgIGFjY2VzcyB0byBuYXRpdmUgZmVhdHVyZXMgbm90IHVzdWFsbHkgZXhwb3NlZCB0byB0aGUg
d2ViLCBvciB0byBlbmFibGUgaGVscGVyIGNvbXBvbmVudHMgdGhhdAogICAgIGFyZSBiZXN0IHdy
aXR0ZW4gd2l0aCBDKysuCiAKLSAgICBBbiBleGFtcGxlIGZvciBzdWNoIGNsaWVudCBpcyBhIFVJ
IGZvciBhIHZpZGVvLW9uLWRlbWFuZCBzZXJ2aWNlIG9uIGEgVFYuIFRoZSBlbnRpcmUgY29udGVu
dCBhbmQKKyAgICBBbiBleGFtcGxlIGZvciBzdWNoIGEgY2xpZW50IGlzIGEgVUkgZm9yIGEgdmlk
ZW8tb24tZGVtYW5kIHNlcnZpY2Ugb24gYSBUVi4gVGhlIGVudGlyZSBjb250ZW50IGFuZAogICAg
IFVJIGNhbiBiZSBrZXB0IG9uIHRoZSBzZXJ2ZXIsIHNlcnZlZCBkeW5hbWljYWxseSB0aHJvdWdo
IEhUVFAgYW5kIHJlbmRlcmVkIHdpdGggV2ViS2l0LCB3aXRoIGFkZGl0aW9uYWwKICAgICBuYXRp
dmUgY29tcG9uZW50cyBmb3IgYWNjZXNzaW5nIGhhcmR3YXJlLXNwZWNpZmljIGZlYXR1cmVzIGxp
a2UgZXh0cmFjdGluZyB0aGUgbGlzdCBvZiBpbWFnZXMKICAgICBvdXQgb2YgdGhlIHZpZGVvLgpA
QCAtNjcsNyArNjgsNyBAQAogICAgIFxzZWN0aW9uMiBDcmVhdGluZyB0aGUgbGluayB2aWEgUVdl
YkZyYW1lCiAKICAgICBCeSBkZWZhdWx0LCBubyBRT2JqZWN0cyBhcmUgYWNjZXNzaWJsZSB0aHJv
dWdoIHRoZSB3ZWIgZW52aXJvbm1lbnQsIGZvciBzZWN1cml0eSByZWFzb25zLgotICAgIFRvIGVu
YWJsZSB3ZWIgY29udGVudCBhY2Nlc3MgdG8gYSBuYXRpdmUgUU9iamVjdCwgdGhlIGFwcGxpY2F0
aW9uIGhhcyB0byBleHBsaWNpdGx5IGdyYW50IGl0IGFjY2VzcywKKyAgICBUbyBlbmFibGUgd2Vi
IGNvbnRlbnQgYWNjZXNzIGZvciBhIG5hdGl2ZSBRT2JqZWN0LCB0aGUgYXBwbGljYXRpb24gbXVz
dCBleHBsaWNpdGx5IGdyYW50IGl0IGFjY2VzcywKICAgICB1c2luZyB0aGUgZm9sbG93aW5nIGNh
bGw6CiAKICAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBl
dHMuY3BwIDAKQEAgLTc2LDEzICs3NywxMyBAQAogCiAgICAgXHNlY3Rpb24yIFVzaW5nIFNpZ25h
bHMgYW5kIFNsb3RzCiAKLSAgICBRdCBTY3JpcHQgYWRhcHRzIFF0J3MgY2VudHJhbCBcbHtTaWdu
YWxzIGFuZCBTbG90c30gZmVhdHVyZSBmb3IKKyAgICBUaGUgUXRXZWJLaXQgYnJpZGdlIGFkYXB0
cyBRdCdzIGNlbnRyYWwgXGx7U2lnbmFscyBhbmQgU2xvdHN9IGZlYXR1cmUgZm9yCiAgICAgc2Ny
aXB0aW5nLiBUaGVyZSBhcmUgdGhyZWUgcHJpbmNpcGFsIHdheXMgdG8gdXNlIHNpZ25hbHMgYW5k
IHNsb3RzCi0gICAgd2l0aCBRdCBTY3JpcHQ6CisgICAgd2l0aCB0aGUgUXRXZWJLaXQgYnJpZGdl
OgogCiAgICAgXGxpc3QKICAgICBcaSBcYm9sZHtIeWJyaWQgQysrL3NjcmlwdH06IEMrKyBhcHBs
aWNhdGlvbiBjb2RlIGNvbm5lY3RzIGEKLSAgICBzaWduYWwgdG8gYSBzY3JpcHQgZnVuY3Rpb24u
IFRoZSBzY3JpcHQgZnVuY3Rpb24gY2FuLCBmb3IgZXhhbXBsZSwgYmUKKyAgICBzaWduYWwgdG8g
YSBzY3JpcHQgZnVuY3Rpb24uIEZvciBleGFtcGxlLCB0aGUgc2NyaXB0IGZ1bmN0aW9uIGNhbiBi
ZQogICAgIGEgZnVuY3Rpb24gdGhhdCB0aGUgdXNlciBoYXMgdHlwZWQgaW4sIG9yIG9uZSB0aGF0
IHlvdSBoYXZlIHJlYWQgZnJvbSBhCiAgICAgZmlsZS4gVGhpcyBhcHByb2FjaCBpcyB1c2VmdWwg
aWYgeW91IGhhdmUgYSBRT2JqZWN0IGJ1dCBkb24ndCB3YW50CiAgICAgdG8gZXhwb3NlIHRoZSBv
YmplY3QgaXRzZWxmIHRvIHRoZSBzY3JpcHRpbmcgZW52aXJvbm1lbnQ7IHlvdSBqdXN0CkBAIC05
Nyw3ICs5OCw3IEBACiAgICAgdGhlIGNvbm5lY3Rpb25zIGlzIGZ1bGx5IGR5bmFtaWMgKHNjcmlw
dC1kZWZpbmVkKS4KIAogICAgIFxpIFxib2xke1B1cmVseSBzY3JpcHQtZGVmaW5lZH06IEEgc2Ny
aXB0IGNhbiBib3RoIGRlZmluZSBzaWduYWwKLSAgICBoYW5kbGVyIGZ1bmN0aW9ucyAoZWZmZWN0
aXZlbHkgInNsb3RzIHdyaXR0ZW4gaW4gUXQgU2NyaXB0IiksCisgICAgaGFuZGxlciBmdW5jdGlv
bnMgKGVmZmVjdGl2ZWx5ICJzbG90cyB3cml0dGVuIGluIEphdmFTY3JpcHQiKSwKICAgICBcZXth
bmR9IHNldCB1cCB0aGUgY29ubmVjdGlvbnMgdGhhdCB1dGlsaXplIHRob3NlIGhhbmRsZXJzLiBG
b3IKICAgICBleGFtcGxlLCBhIHNjcmlwdCBjYW4gZGVmaW5lIGEgZnVuY3Rpb24gdGhhdCB3aWxs
IGhhbmRsZSB0aGUKICAgICBRTGluZUVkaXQ6OnJldHVyblByZXNzZWQoKSBzaWduYWwsIGFuZCB0
aGVuIGNvbm5lY3QgdGhhdCBzaWduYWwgdG8gdGhlCkBAIC0xMDgsMzYgKzEwOSwzNiBAQAogCiAg
ICAgXHNlY3Rpb24zIFNpZ25hbCB0byBGdW5jdGlvbiBDb25uZWN0aW9ucwogCi0gICAgXGN7Y29u
bmVjdChmdW5jdGlvbil9CisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJp
ZGdlX3NuaXBwZXRzLmNwcCA2CiAKICAgICBJbiB0aGlzIGZvcm0gb2YgY29ubmVjdGlvbiwgdGhl
IGFyZ3VtZW50IHRvIFxje2Nvbm5lY3QoKX0gaXMgdGhlCiAgICAgZnVuY3Rpb24gdG8gY29ubmVj
dCB0byB0aGUgc2lnbmFsLgogCi0gICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19x
dHNjcmlwdC5xZG9jIDIKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlk
Z2Vfc25pcHBldHMuY3BwIDcKIAotICAgIFRoZSBhcmd1bWVudCBjYW4gYmUgYSBRdCBTY3JpcHQg
ZnVuY3Rpb24sIGFzIGluIHRoZSBhYm92ZQorICAgIFRoZSBhcmd1bWVudCBjYW4gYmUgYSBKYXZh
U2NyaXB0IGZ1bmN0aW9uLCBhcyBpbiB0aGUgYWJvdmUKICAgICBleGFtcGxlLCBvciBpdCBjYW4g
YmUgYSBRT2JqZWN0IHNsb3QsIGFzIGluCiAgICAgdGhlIGZvbGxvd2luZyBleGFtcGxlOgogCi0g
ICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDMKKyAgICBc
c25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBldHMuY3BwIDgKIAog
ICAgIFdoZW4gdGhlIGFyZ3VtZW50IGlzIGEgUU9iamVjdCBzbG90LCB0aGUgYXJndW1lbnQgdHlw
ZXMgb2YgdGhlCiAgICAgc2lnbmFsIGFuZCBzbG90IGRvIG5vdCBuZWNlc3NhcmlseSBoYXZlIHRv
IGJlIGNvbXBhdGlibGU7Ci0gICAgdGhlIFF0V2ViS2l0IGJyaWRnZSB3aWxsLCBpZiBuZWNlc3Nh
cnksIHBlcmZvcm0gY29udmVyc2lvbiBvZiB0aGUgc2lnbmFsCisgICAgSWYgbmVjZXNzYXJ5LCB0
aGUgUXRXZWJLaXQgYnJpZGdlIHdpbGwsIHBlcmZvcm0gY29udmVyc2lvbiBvZiB0aGUgc2lnbmFs
CiAgICAgYXJndW1lbnRzIHRvIG1hdGNoIHRoZSBhcmd1bWVudCB0eXBlcyBvZiB0aGUgc2xvdC4K
IAogICAgIFRvIGRpc2Nvbm5lY3QgZnJvbSBhIHNpZ25hbCwgeW91IGludm9rZSB0aGUgc2lnbmFs
J3MKICAgICBcY3tkaXNjb25uZWN0KCl9IGZ1bmN0aW9uLCBwYXNzaW5nIHRoZSBmdW5jdGlvbiB0
byBkaXNjb25uZWN0CiAgICAgYXMgYXJndW1lbnQ6CiAKLSAgICBcc25pcHBldCB3ZWJraXRzbmlw
cGV0cy9kb2Nfc3JjX3F0c2NyaXB0LnFkb2MgNAorICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRz
L3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0cy5jcHAgOQogCiAgICAgV2hlbiBhIHNjcmlwdCBmdW5j
dGlvbiBpcyBpbnZva2VkIGluIHJlc3BvbnNlIHRvIGEgc2lnbmFsLCB0aGUKICAgICBcYyB0aGlz
IG9iamVjdCB3aWxsIGJlIHRoZSBHbG9iYWwgT2JqZWN0LgogCiAgICAgXHNlY3Rpb24zIFNpZ25h
bCB0byBNZW1iZXIgRnVuY3Rpb24gQ29ubmVjdGlvbnMKIAotICAgIFxje2Nvbm5lY3QodGhpc09i
amVjdCwgZnVuY3Rpb24pfQorICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2Jy
aWRnZV9zbmlwcGV0cy5jcHAgMTAKIAogICAgIEluIHRoaXMgZm9ybSBvZiB0aGUgXGN7Y29ubmVj
dCgpfSBmdW5jdGlvbiwgdGhlIGZpcnN0IGFyZ3VtZW50CiAgICAgaXMgdGhlIG9iamVjdCB0aGF0
IHdpbGwgYmUgYm91bmQgdG8gdGhlIHZhcmlhYmxlLCBcYyB0aGlzLCB3aGVuCkBAIC0xNDgsMzEg
KzE0OSwzMSBAQAogICAgIFxje2NsaWNrZWR9IHNpZ25hbDsgcGFzc2luZyB0aGUgZm9ybSBhcyB0
aGUgXGMgdGhpcyBvYmplY3QKICAgICBtYWtlcyBzZW5zZSBpbiBzdWNoIGEgY2FzZS4KIAotICAg
IFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyA1CisgICAgXHNu
aXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcCAxMQogCiAg
ICAgVG8gZGlzY29ubmVjdCBmcm9tIHRoZSBzaWduYWwsIHBhc3MgdGhlIHNhbWUgYXJndW1lbnRz
IHRvIFxje2Rpc2Nvbm5lY3QoKX06CiAKLSAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nf
c3JjX3F0c2NyaXB0LnFkb2MgNgorICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0
X2JyaWRnZV9zbmlwcGV0cy5jcHAgMTIKIAogICAgIFxzZWN0aW9uMyBTaWduYWwgdG8gTmFtZWQg
TWVtYmVyIEZ1bmN0aW9uIENvbm5lY3Rpb25zCiAKLSAgICBcY3tjb25uZWN0KHRoaXNPYmplY3Qs
IGZ1bmN0aW9uTmFtZSl9CisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJp
ZGdlX3NuaXBwZXRzLmNwcCAxNAogCi0gICAgSW4gdGhpcyBmb3JtIG9mIHRoZSBcY3tjb25uZWN0
KCl9IGZ1bmN0aW9uLCB0aGUgZmlyc3QgYXJndW1lbnQgaXMKLSAgICB0aGUgb2JqZWN0IHRoYXQg
d2lsbCBiZSBib3VuZCB0byB0aGUgdmFyaWFibGUsIFxjIHRoaXMsIHdoZW4KLSAgICBhIGZ1bmN0
aW9uIGlzIGludm9rZWQgaW4gcmVzcG9uc2UgdG8gdGhlIHNpZ25hbC4gVGhlIHNlY29uZCBhcmd1
bWVudAotICAgIHNwZWNpZmllcyB0aGUgbmFtZSBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgY29ubmVj
dGVkIHRvIHRoZSBzaWduYWwsCi0gICAgYW5kIHRoaXMgcmVmZXJzIHRvIGEgbWVtYmVyIGZ1bmN0
aW9uIG9mIHRoZSBvYmplY3QgcGFzc2VkIGFzIHRoZQotICAgIGZpcnN0IGFyZ3VtZW50IChcYyB0
aGlzT2JqZWN0IGluIHRoZSBhYm92ZSBzY2hlbWUpLgorICAgIFRoaXMgZm9ybSBvZiB0aGUgXGN7
Y29ubmVjdCgpfSBmdW5jdGlvbiByZXF1aXJlcyB0aGF0IHRoZSBmaXJzdCBhcmd1bWVudCBpcwor
ICAgIHRoZSBvYmplY3QgdGhhdCB3aWxsIGJlIGJvdW5kIHRvIHRoZSB2YXJpYWJsZSBcY3t0aGlz
fSB3aGVuIGEgZnVuY3Rpb24gaXMKKyAgICBpbnZva2VkIGluIHJlc3BvbnNlIHRvIHRoZSBzaWdu
YWwuIFRoZSBzZWNvbmQgYXJndW1lbnQgc3BlY2lmaWVzIHRoZQorICAgIG5hbWUgb2YgYSBmdW5j
dGlvbiB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUgc2lnbmFsLCBhbmQgdGhpcyByZWZlcnMgdG8g
YQorICAgIG1lbWJlciBmdW5jdGlvbiBvZiB0aGUgb2JqZWN0IHBhc3NlZCBhcyB0aGUgZmlyc3Qg
YXJndW1lbnQgKHRoaXNPYmplY3QKKyAgICBpbiB0aGUgYWJvdmUgc2NoZW1lKS4KIAogICAgIE5v
dGUgdGhhdCB0aGUgZnVuY3Rpb24gaXMgcmVzb2x2ZWQgd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBt
YWRlLCBub3QKICAgICB3aGVuIHRoZSBzaWduYWwgaXMgZW1pdHRlZC4KIAotICAgIFxzbmlwcGV0
IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyA3CisgICAgXHNuaXBwZXQgd2Vi
a2l0c25pcHBldHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcCAxNQogCiAgICAgVG8gZGlz
Y29ubmVjdCBmcm9tIHRoZSBzaWduYWwsIHBhc3MgdGhlIHNhbWUgYXJndW1lbnRzIHRvIFxje2Rp
c2Nvbm5lY3QoKX06CiAKLSAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2Ny
aXB0LnFkb2MgOAorICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2JyaWRnZV9z
bmlwcGV0cy5jcHAgMTcKIAogICAgIFxzZWN0aW9uMyBFcnJvciBIYW5kbGluZwogCkBAIC0xODEs
MTQgKzE4MiwxNCBAQAogICAgIFlvdSBjYW4gb2J0YWluIGFuIGVycm9yIG1lc3NhZ2UgZnJvbSB0
aGUgcmVzdWx0aW5nIFxje0Vycm9yfSBvYmplY3QuCiAgICAgRXhhbXBsZToKIAotICAgIFxzbmlw
cGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyA5CisgICAgXHNuaXBwZXQg
d2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcCAxOAogCiAgICAgXHNl
Y3Rpb24zIEVtaXR0aW5nIFNpZ25hbHMgZnJvbSBTY3JpcHRzCiAKICAgICBUbyBlbWl0IGEgc2ln
bmFsIGZyb20gc2NyaXB0IGNvZGUsIHlvdSBzaW1wbHkgaW52b2tlIHRoZSBzaWduYWwKICAgICBm
dW5jdGlvbiwgcGFzc2luZyB0aGUgcmVsZXZhbnQgYXJndW1lbnRzOgogCi0gICAgXHNuaXBwZXQg
d2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDEwCisgICAgXHNuaXBwZXQgd2Vi
a2l0c25pcHBldHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcCAxOQogCiAgICAgSXQgaXMg
Y3VycmVudGx5IG5vdCBwb3NzaWJsZSB0byBkZWZpbmUgYSBuZXcgc2lnbmFsIGluIGEgc2NyaXB0
OwogICAgIGkuZS4sIGFsbCBzaWduYWxzIG11c3QgYmUgZGVmaW5lZCBieSBDKysgY2xhc3Nlcy4K
QEAgLTIwMSwxMyArMjAyLDEzIEBACiAgICAgXGN7bXlPdmVybG9hZGVkU2xvdChpbnQpfSBhbmQg
XGN7bXlPdmVybG9hZGVkU2xvdChRU3RyaW5nKX0sIHRoZSBmb2xsb3dpbmcKICAgICBzY3JpcHQg
Y29kZSB3aWxsIGJlaGF2ZSByZWFzb25hYmx5OgogCi0gICAgXHNuaXBwZXQgd2Via2l0c25pcHBl
dHMvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDExCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMv
cXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcCAyMAogCiAgICAgWW91IGNhbiBzcGVjaWZ5IGEg
cGFydGljdWxhciBvdmVybG9hZCBieSB1c2luZyBhcnJheS1zdHlsZSBwcm9wZXJ0eSBhY2Nlc3MK
ICAgICB3aXRoIHRoZSBcbHtRTWV0YU9iamVjdDo6bm9ybWFsaXplZFNpZ25hdHVyZSgpfXtub3Jt
YWxpemVkIHNpZ25hdHVyZX0gb2YKICAgICB0aGUgQysrIGZ1bmN0aW9uIGFzIHRoZSBwcm9wZXJ0
eSBuYW1lOgogCi0gICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNjcmlwdC5x
ZG9jIDEyCisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBw
ZXRzLmNwcCAyMQogCiAgICAgSWYgdGhlIG92ZXJsb2FkcyBoYXZlIGRpZmZlcmVudCBudW1iZXIg
b2YgYXJndW1lbnRzLCB0aGUgUXRXZWJLaXQgYnJpZGdlIHdpbGwKICAgICBwaWNrIHRoZSBvdmVy
bG9hZCB3aXRoIHRoZSBhcmd1bWVudCBjb3VudCB0aGF0IGJlc3QgbWF0Y2hlcyB0aGUKQEAgLTIy
NSw3ICsyMjYsNyBAQAogICAgIChpdCB3b3VsZCBiZSBtZWFuaW5nbGVzcyB0byByZXR1cm4gdmFs
dWVzIGZyb20gYSBzbG90LCBhcyB0aGUgY29ubmVjdGVkIHNpZ25hbHMgZG9uJ3QgaGFuZGxlIHRo
ZSByZXR1cm5lZCBkYXRhKS4KICAgICBUbyBtYWtlIGEgbm9uLXNsb3QgbWV0aG9kIGludm9rYWJs
ZSwgc2ltcGx5IGFkZCB0aGUgUV9JTlZPS0FCTEUgbWFjcm8gYmVmb3JlIGl0cyBkZWZpbml0aW9u
OgogCi0gICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19xdHNjcmlwdC5xZG9jIDIw
CisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNw
cCAyMgogCiAgICAgXHNlY3Rpb24yIEFjY2Vzc2luZyBQcm9wZXJ0aWVzCiAKQEAgLTIzNSwxMSAr
MjM2LDExIEBACiAgICAgcHJvcGVydHkgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGludm9rZWQuIEZv
ciBleGFtcGxlLCBpZiB5b3VyCiAgICAgQysrIGNsYXNzIGhhcyBhIHByb3BlcnR5IGRlY2xhcmVk
IGFzIGZvbGxvd3M6CiAKLSAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9kb2Nfc3JjX3F0c2Ny
aXB0LnFkb2MgMTMKKyAgICBcc25pcHBldCB3ZWJraXRzbmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vf
c25pcHBldHMuY3BwIDIzCiAKICAgICB0aGVuIHNjcmlwdCBjb2RlIGNhbiBkbyB0aGluZ3MgbGlr
ZSB0aGUgZm9sbG93aW5nOgogCi0gICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvZG9jX3NyY19x
dHNjcmlwdC5xZG9jIDE0CisgICAgXHNuaXBwZXQgd2Via2l0c25pcHBldHMvcXR3ZWJraXRfYnJp
ZGdlX3NuaXBwZXRzLmNwcCAyNAogCiAgICAgXHNlY3Rpb24yIEFjY2Vzc2luZyBDaGlsZCBRT2Jq
ZWN0cwogCkBAIC0yNTAsMTIgKzI1MSwxMiBAQAogICAgIFxjeyJva0J1dHRvbiJ9LCB5b3UgY2Fu
IGFjY2VzcyB0aGlzIG9iamVjdCBpbiBzY3JpcHQgY29kZSB0aHJvdWdoCiAgICAgdGhlIGV4cHJl
c3Npb24KIAotICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL2RvY19zcmNfcXRzY3JpcHQucWRv
YyAxNQorICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0
cy5jcHAgMjUKIAogICAgIFNpbmNlIFxje29iamVjdE5hbWV9IGlzIGl0c2VsZiBhIFFfUFJPUEVS
VFksIHlvdSBjYW4gbWFuaXB1bGF0ZQogICAgIHRoZSBuYW1lIGluIHNjcmlwdCBjb2RlIHRvLCBm
b3IgZXhhbXBsZSwgcmVuYW1lIGFuIG9iamVjdDoKIAotICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBw
ZXRzL2RvY19zcmNfcXRzY3JpcHQucWRvYyAxNgorICAgIFxzbmlwcGV0IHdlYmtpdHNuaXBwZXRz
L3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0cy5jcHAgMjYKIAogICAgIFxzZWN0aW9uMiBEYXRhIHR5
cGVzCiAKQEAgLTI4Myw3ICsyODQsNyBAQAogICAgIFxzZWN0aW9uMyBTdHJpbmdzCiAKICAgICBX
aGVuIEphdmFTY3JpcHQgYWNjZXNzZXMgbWV0aG9kcyBvciBwcm9wZXJ0aWVzIHRoYXQgZXhwZWN0
IGEgXGx7UVN0cmluZ30sIHRoZSBRdFdlYktpdCBicmlkZ2UKLSAgICB3aWxsIGF1dG9tYXRpY2Fs
bHkgY29udmVydCB0aGUgdmFsdWUgdG8gYSBzdHJpbmcgKGlmIGl0J3Mgbm90IGFscmVhZHkgYSBz
dHJpbmcpLCB1c2luZyB0aGUKKyAgICB3aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCB0aGUgdmFs
dWUgdG8gYSBzdHJpbmcgKGlmIGl0IGlzIG5vdCBhbHJlYWR5IGEgc3RyaW5nKSwgdXNpbmcgdGhl
CiAgICAgYnVpbHQtaW4gSmF2YVNjcmlwdCB0b1N0cmluZyBtZXRob2QuCiAKICAgICBXaGVuIGEg
UVN0cmluZyBpcyBwYXNzZWQgdG8gSmF2YVNjcmlwdCBmcm9tIGEgc2lnbmFsIG9yIGEgcHJvcGVy
dHksIFRoZSBRdFdlYktpdCBicmlkZ2Ugd2lsbApAQCAtMjkyLDcgKzI5Myw3IEBACiAgICAgXHNl
Y3Rpb24zIERhdGUgJiBUaW1lCiAKICAgICBCb3RoIFxse1FEYXRlfSwgXGx7UVRpbWV9IGFuZCBc
bHtRRGF0ZVRpbWV9IGFyZSBhdXRvbWF0aWNhbGx5IHRyYW5zbGF0ZWQgdG8gb3IgZnJvbSB0aGUg
SmF2YVNjcmlwdAotICAgIERhdGUgb2JqZWN0LiBJZiBhIG51bWJlciBpcyBwYXNzZWQgYXMgYW4g
YXJndW1lbnQgdG8gYSBtZXRob2QgdGhhdCBleHBlY3RzIG9uZSBvZiB0aGUgZGF0ZS90aW1lCisg
ICAgRGF0ZSBvYmplY3QuIElmIGEgbnVtYmVyIHdlcmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IHRv
IGEgbWV0aG9kIHRoYXQgZXhwZWN0cyBvbmUgb2YgdGhlIGRhdGUvdGltZQogICAgIHR5cGVzLCB0
aGUgUXRXZWJLaXQgYnJpZGdlIHdvdWxkIHRyZWF0IGl0IGFzIGEgdGltZXN0YW1wLiBJZiBhIHN0
aW5nIGlzIHBhc3NlZCwgUXRXZWJLaXQgd291bGQKICAgICB0cnkgZGlmZmVyZW50IFF0IGRhdGUg
cGFyc2luZyBmdW5jdGlvbnMgdG8gZmluZCB0aGUgcmlnaHQgb25lLgogCkBAIC0zMTQsNyArMzE1
LDcgQEAKIAogICAgIFxzZWN0aW9uMyBDb21wb3VuZCAoSlNPTikgb2JqZWN0cwogCi0gICAgSmF2
YVNjcmlwdCBjb21wb3VuZCBvYmplY3RzLCBhbHNvIGtub3duIGFzIEpTT04gb2JqZWN0cywgYXJl
IHZhcmlhYmxlcyB3aGljaCBob2xkIGEgbGlzdAorICAgIEphdmFTY3JpcHQgY29tcG91bmQgb2Jq
ZWN0cywgYWxzbyBrbm93biBhcyBKU09OIG9iamVjdHMsIGFyZSB2YXJpYWJsZXMgdGhhdCBob2xk
IGEgbGlzdAogICAgIG9mIGtleS12YWx1ZSBwYWlycywgd2hlcmUgYWxsIHRoZSBrZXlzIGFyZSBz
dHJpbmdzIGFuZCB0aGUgdmFsdWVzIGNhbiBoYXZlIGFueSB0eXBlLgogICAgIFRoaXMgdHJhbnNs
YXRlcyB2ZXJ5IHdlbGwgdG8gXGx7UVZhcmlhbnRNYXB9LCB3aGljaCBpcyBub3RoaW5nIG1vcmUg
dGhhbiBhIFxse1FNYXB9IG9mIFxse1FTdHJpbmd9CiAgICAgdG8gXGx7UVZhcmlhbnR9LgpAQCAt
MzM0LDcgKzMzNSw3IEBACiAgICAgYSBub3JtYWwgSlNPTiBvYmplY3Qgd291bGQgYmVjb21lIGEg
XGx7UVZhcmlhbnRNYXB9LCBhbmQgYSBKYXZhU2NyaXB0IGFycmF5IHdvdWxkIGJlY29tZSBhIFxs
e1FWYXJpYW50TGlzdH0uCiAKICAgICBVc2luZyBcbHtRVmFyaWFudH1zIGdlbmVyb3VzbHkgaW4g
QysrIGluIHRoYXQgd2F5IG1ha2VzIEMrKyBwcm9ncmFtbWluZyBmZWVsIGEgYml0IG1vcmUgbGlr
ZSBKYXZhU2NyaXB0IHByb2dyYW1taW5nLAotICAgIGFzIGl0IGFkZHMgYW5vdGhlciBsZXZlbCBv
ZiBpbmRpcmVjdGlvbiAtIHBhc3NpbmcgXGx7UVZhcmlhbnR9cyBhcm91bmQgaXMgdmVyeSBmbGV4
aWJsZSwgYXMgdGhlIHByb2dyYW0gY2FuIGZpZ3VyZSBvdXQKKyAgICBhcyBpdCBhZGRzIGFub3Ro
ZXIgbGV2ZWwgb2YgaW5kaXJlY3Rpb24uIFBhc3NpbmcgXGx7UVZhcmlhbnR9cyBhcm91bmQgbGlr
ZSB0aGlzIHEgICBpcyB2ZXJ5IGZsZXhpYmxlLCBhcyB0aGUgcHJvZ3JhbSBjYW4gZmlndXJlIG91
dAogICAgIHRoZSB0eXBlIG9mIGFyZ3VtZW50IGluIHJ1bnRpbWUganVzdCBsaWtlIEphdmFTY3Jp
cHQgd291bGQgZG8sIGJ1dCBpdCBhbHNvIHRha2VzIGF3YXkgZnJvbSB0aGUgdHlwZS1zYWZldHkg
YW5kIHJvYnVzdAogICAgIG5hdHVyZSBvZiBDKysuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIFxs
e1FWYXJpYW50fXMgb25seSBmb3IgY29udmVuaWVuY2UgaGlnaC1sZXZlbCBmdW5jdGlvbnMsIGFu
ZCB0byBrZWVwIG1vc3Qgb2YgeW91cgogICAgIFxse1FPYmplY3R9cyBzb21ld2hhdCB0eXBlLXNh
ZmUuCkBAIC0zNDgsNyArMzQ5LDcgQEAKICAgICBhIFxse1FPYmplY3R9LgogCiAgICAgSW4gZ2Vu
ZXJhbCBpdHMgYWR2aXNlZCB0byB1c2UgY2FyZSB3aGVuIHBhc3NpbmcgXGx7UU9iamVjdH1zIGFz
IGFyZ3VtZW50cywgYXMgdGhvc2Ugb2JqZWN0cyBkb24ndCBiZWNvbWUgb3duZWQgYnkKLSAgICB0
aGUgSmF2YXNjaXB0IGVuZ2luZTsgVGhhdCBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBkZXZl
bG9wZXIgaGFzIHRvIGJlIGV4dHJhIGNhcmVmdWwgbm90IHRvIHRyeSB0byBhY2Nlc3MKKyAgICB0
aGUgSmF2YVNjcmlwdCBlbmdpbmU7IFRoYXQgbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24gZGV2
ZWxvcGVyIGhhcyB0byBiZSBleHRyYSBjYXJlZnVsIG5vdCB0byB0cnkgdG8gYWNjZXNzCiAgICAg
XGx7UU9iamVjdH1zIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gZGVsZXRlZCBieSB0aGUgbmF0aXZl
IGVudmlyb25tZW50LgogCiAgICAgXHNlY3Rpb24zIFBpeG1hcHMgYW5kIEltYWdlcwpAQCAtNDAx
LDI1ICs0MDIsMjYgQEAKIAogICAgIFxzZWN0aW9uMiBMaW1pdGluZyB0aGUgU2NvcGUgb2YgdGhl
IEh5YnJpZCBMYXllcgogCi0gICAgV2hlbiB1c2luZyBRdFdlYktpdCdzIGh5YnJpZCBmZWF0dXJl
cywgaXQncyBhIGNvbW1vbiBwaXRmYWxsIHRvIG1ha2UgdGhlIEFQSSBleHBvc2VkIHRvIEphdmFT
Y3JpcHQgdmVyeSByaWNoIGFuZAorICAgIFdoZW4gdXNpbmcgUXRXZWJLaXQncyBoeWJyaWQgZmVh
dHVyZXMsIGl0IGlzIGEgY29tbW9uIHBpdGZhbGwgdG8gbWFrZSB0aGUgQVBJIGV4cG9zZWQgdG8g
SmF2YVNjcmlwdCB2ZXJ5IHJpY2ggYW5kCiAgICAgdXNlIGFsbCBpdHMgZmVhdHVyZXMuIFRoaXMs
IGhvd2V2ZXIsIGxlYWRzIHRvIGNvbXBsZXhpdHkgYW5kIGNhbiBjcmVhdGUgYnVncyB0aGF0IGFy
ZSBoYXJkIHRvIHRyYWNlLgotICAgIEluc3RlYWQsIGl0J3MgYWR2aXNhYmxlIHRvIGtlZXAgdGhl
IGh5YnJpZCBsYXllciBzbWFsbCBhbmQgbWFuYWdlYWJsZTogY3JlYXRlIGEgZ2F0ZSBvbmx5IHdo
ZW4KKyAgICBJbnN0ZWFkLCBpdCBpcyBhZHZpc2FibGUgdG8ga2VlcCB0aGUgaHlicmlkIGxheWVy
IHNtYWxsIGFuZCBtYW5hZ2VhYmxlOiBjcmVhdGUgYSBnYXRlIG9ubHkgd2hlbgogICAgIHRoZXJl
J3MgYW4gYWN0dWFsIG5lZWQgZm9yIGl0LCBpLmUuIHRoZXJlJ3MgYSBuZXcgbmF0aXZlIGVuYWJs
ZXIgdGhhdCByZXF1aXJlcyBhIGRpcmVjdCBpbnRlcmZhY2UKICAgICB0byB0aGUgYXBwbGljYXRp
b24gbGF5ZXIuIFNvbWV0aW1lcyBuZXcgZnVuY3Rpb25hbGl0eSBpcyBiZXR0ZXIgaGFuZGxlZCBp
bnRlcm5hbGx5IGluIHRoZSBuYXRpdmUgbGF5ZXIKICAgICBvciBpbiB0aGUgd2ViIGxheWVyOyBz
aW1wbGljaXR5IGlzIHlvdXIgZnJpZW5kLgogCiAgICAgVGhpcyB1c3VhbGx5IGJlY29tZXMgbW9y
ZSBhcHBhcmVudCB3aGVuIHRoZSBoeWJyaWQgbGF5ZXIgY2FuIGNyZWF0ZSBvciBkZXN0cm95IG9i
amVjdHMsIG9yIHVzZXMKLSAgICBzaWduYWxzIHNsb3RzIG9yIHByb3BlcnRpZXMgd2l0aCBhIFxs
e1FPYmplY3R9KiBhcmd1bWVudC4gSXQncyBhZHZpc2VkIHRvIGJlIHZlcnkgY2FyZWZ1bCBhbmQg
dG8gdHJlYXQKKyAgICBzaWduYWxzIHNsb3RzIG9yIHByb3BlcnRpZXMgd2l0aCBhIFxse1FPYmpl
Y3R9KiBhcmd1bWVudC4gSXQgaXMgYWR2aXNlZCB0byBiZSB2ZXJ5IGNhcmVmdWwgYW5kIHRvIHRy
ZWF0CiAgICAgYW4gZXhwb3NlZCBcbHtRT2JqZWN0fSBhcyBhIHN5c3RlbSAtIHdpdGggY2FyZWZ1
bCBhdHRlbnRpb24gdG8gbWVtb3J5IG1hbmFnZW1lbnQgYW5kIG9iamVjdCBvd25lcnNoaXAuCiAK
ICAgICBcc2VjdGlvbjIgSW50ZXJuZXQgU2VjdXJpdHkKIAotICAgIFdoZW4gZXhwb3NpbmcgbmF0
aXZlIG9iamVjdCB0byBhbiBvcGVuIHdlYiBlbnZpcm9ubWVudCwgaXQncyBpbXBvcnRhbnQgdG8g
dW5kZXJzdGFuZCB0aGUgc2VjdXJpdHkKKyAgICBXaGVuIGV4cG9zaW5nIG5hdGl2ZSBvYmplY3Qg
dG8gYW4gb3BlbiB3ZWIgZW52aXJvbm1lbnQsIGl0IGlzIGltcG9ydHdoaWNoYW50IHRvIHVuZGVy
c3RhbmQgdGhlIHNlY3VyaXR5CiAgICAgaW1wbGljYXRpb25zLiBUaGluayB3aGV0aGVyIHRoZSBl
eHBvc2VkIG9iamVjdCBlbmFibGVzIHRoZSB3ZWIgZW52aXJvbm1lbnQgYWNjZXNzIHRvIHRoaW5n
cyB0aGF0CiAgICAgc2hvdWxkbid0IGJlIG9wZW4sIGFuZCB3aGV0aGVyIHRoZSB3ZWIgY29udGVu
dCBsb2FkZWQgYnkgdGhhdCB3ZWIgcGFnZSBjb21lcyBmcm9tIGEgdHJ1c3RlZC4gSW4gZ2VuZXJh
bCwgd2hlbgogICAgIGV4cG9zaW5nIG5hdGl2ZSBRT2JqZWN0cyB0aGF0IGdpdmUgdGhlIHdlYiBl
bnZpcm9ubWVudCBhY2Nlc3MgdG8gcHJpdmF0ZSBpbmZvcm1hdGlvbiBvciB0byBmdW5jdGlvbmFs
aXR5CiAgICAgdGhhdCdzIHBvdGVudGlhbGx5IGhhcm1mdWwgdG8gdGhlIGNsaWVudCwgc3VjaCBl
eHBvc3VyZSBzaG91bGQgYmUgYmFsYW5jZWQgYnkgbGltaXRpbmcgdGhlIHdlYiBwYWdlJ3MKLSAg
ICBhY2Nlc3MgdG8gdHJ1c3RlZCBVUkxzIG9ubHkgd2l0aCBIVFRQUyBhbmQgb3RoZXIgc2VjdXJp
dHkgbWVhc3VyZXMuCisgICAgYWNjZXNzIHRvIHRydXN0ZWQgVVJMcyBvbmx5IHdpdGggSFRUUFMs
IGFuZCBieSB1dGlsaXppbmcgb3RoZXIgbWVhc3VyZXMgYXMgcGFydCBvZiBhIHNlY3VyaXR5IHN0
cmF0ZWd5LgorCiAKIAogKi8KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9kb2NzL3dlYmtpdHNuaXBw
ZXRzL3F0d2Via2l0X2JyaWRnZV9zbmlwcGV0cy5jcHAgYi9XZWJLaXQvcXQvZG9jcy93ZWJraXRz
bmlwcGV0cy9xdHdlYmtpdF9icmlkZ2Vfc25pcHBldHMuY3BwCmluZGV4IGQ4M2FiM2YuLjYyZWVl
Y2EgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9kb2NzL3dlYmtpdHNuaXBwZXRzL3F0d2Via2l0X2Jy
aWRnZV9zbmlwcGV0cy5jcHAKKysrIGIvV2ViS2l0L3F0L2RvY3Mvd2Via2l0c25pcHBldHMvcXR3
ZWJraXRfYnJpZGdlX3NuaXBwZXRzLmNwcApAQCAtMiw4MiArMiwxNzYgQEAKIHZvaWQgd3JhcElu
RnVuY3Rpb24oKQogewogCi0vLyEgWzBdCisgICAgLy8hIFswXQogICAgIC8vIC4uLgogICAgIFFX
ZWJGcmFtZSAqZnJhbWUgPSBteVdlYlBhZ2UtPm1haW5GcmFtZSgpOwogICAgIGZyYW1lLT5hZGRU
b0phdmFTY3JpcHRXaW5kb3dPYmplY3QoInNvbWVOYW1lRm9yTXlPYmplY3QiLCBteU9iamVjdCk7
CiAgICAgLy8gLi4uCi0vLyEgWzBdCisgICAgLy8hIFswXQogI2lmIDAKICAgICAvLyEgWzFdCi0g
ICB7Ci0gICAgICAgd2lkdGg6IC4uLiwKLSAgICAgICBoZWlnaHQ6IC4uLiwKLSAgICAgICB0b0Rh
dGFVUkw6IGZ1bmN0aW9uKCkgeyAuLi4gfSwKLSAgICAgICBhc3NpZ25Ub0hUTUxJbWFnZUVsZW1l
bnQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsgLi4uIH0KLSAgIH0KLSAgIC8vISBbMV0KKyAgICB7Cisg
ICAgICAgIHdpZHRoOiAuLi4sCisgICAgICAgICAgICBoZWlnaHQ6IC4uLiwKKyAgICAgICAgICAg
ICAgICB0b0RhdGFVUkw6IGZ1bmN0aW9uKCkgeyAuLi4gfSwKKyAgICAgICAgICAgICAgICAgICAg
YXNzaWduVG9IVE1MSW1hZ2VFbGVtZW50OiBmdW5jdGlvbihlbGVtZW50KSB7IC4uLiB9CisgICAg
ICAgIH0KKyAgICAvLyEgWzFdCiAjZW5kaWYKICAgICAvLyEgWzJdCi0gICAgIGNsYXNzIE15T2Jq
ZWN0IDogUU9iamVjdCB7Ci0gICAgICAgICBRX09CSkVDVAotICAgICAgICAgUV9QUk9QRVJUWShR
UGl4bWFwIG15UGl4bWFwIFJFQUQgZ2V0UGl4bWFwKQorICAgIGNsYXNzIE15T2JqZWN0IDogUU9i
amVjdCB7CisgICAgICAgIFFfT0JKRUNUCisgICAgICAgIFFfUFJPUEVSVFkoUVBpeG1hcCBteVBp
eG1hcCBSRUFEIGdldFBpeG1hcCkKIAotICAgICBwdWJsaWM6Ci0gICAgICAgICBRUGl4bWFwIGdl
dFBpeG1hcCgpIGNvbnN0OwotICAgICB9OworICAgIHB1YmxpYzoKKyAgICAgICAgICAgICAgICBR
UGl4bWFwIGdldFBpeG1hcCgpIGNvbnN0OworICAgIH07CiAKLSAgICAgLyogLi4uICovCisgICAg
LyogLi4uICovCiAKLSAgICAgTXlPYmplY3QgbXlPYmplY3Q7Ci0gICAgIG15V2ViUGFnZS5tYWlu
RnJhbWUoKS0+YWRkVG9KYXZhU2NyaXB0V2luZG93T2JqZWN0KCJteU9iamVjdCIsICZteU9iamVj
dCk7CisgICAgTXlPYmplY3QgbXlPYmplY3Q7CisgICAgbXlXZWJQYWdlLm1haW5GcmFtZSgpLT5h
ZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3QoIm15T2JqZWN0IiwgJm15T2JqZWN0KTsKIAogICAg
IC8vISBbMl0KLSAjaWYgMAotICAgICAvLyEgWzNdCi0gICAgIDxodG1sPgotICAgICAgICA8aGVh
ZD4KLSAgICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICAgZnVuY3Rpb24gbG9hZEltYWdlKCkg
ewotICAgICAgICAgICAgICAgICBteU9iamVjdC5teVBpeG1hcC5hc3NpZ25Ub0hUTUxJbWFnZUVs
ZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlRWxlbWVudCIpKTsKLSAgICAgICAg
ICAgICB9Ci0gICAgICAgICA8L3NjcmlwdD4KLSAgICAgICAgPC9oZWFkPgotICAgICAgICA8Ym9k
eSBvbmxvYWQ9ImxvYWRJbWFnZSgpIj4KLSAgICAgICAgIDxpbWcgaWQ9ImltYWdlRWxlbWVudCIg
d2lkdGg9IjMwMCIgaGVpZ2h0PSIyMDAiIC8+Ci0gICAgICAgIDwvYm9keT4KLSAgICAgPC9odG1s
PgorI2lmIDAKICAgICAvLyEgWzNdCi0gI2VuZGlmCi0gICAgIC8vISBbNF0KLSAgICAgIGNsYXNz
IE15T2JqZWN0IDogUU9iamVjdCB7Ci0gICAgICAgICAgUV9PQkpFQ1QKKyAgICA8aHRtbD4KKyAg
ICAgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0
aW9uIGxvYWRJbWFnZSgpIHsKKyAgICAgICAgbXlPYmplY3QubXlQaXhtYXAuYXNzaWduVG9IVE1M
SW1hZ2VFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZUVsZW1lbnQiKSk7Cisg
ICAgfQorICAgIDwvc2NyaXB0PgorICAgICAgICAgICAgPC9oZWFkPgorICAgICAgICAgICAgPGJv
ZHkgb25sb2FkPSJsb2FkSW1hZ2UoKSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBp
ZD0iaW1hZ2VFbGVtZW50IiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjIwMCIgLz4KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
L2JvZHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPC9odG1sPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vISBbM10KKyNlbmRpZgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vISBbNF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcyBNeU9iamVjdCA6IFFPYmplY3QgeworICAg
ICAgICBRX09CSkVDVAogCi0gICAgICBwdWJsaWMgc2xvdHM6Ci0gICAgICAgICAgdm9pZCBkb1Nv
bWV0aGluZ1dpdGhXZWJFbGVtZW50KGNvbnN0IFFXZWJFbGVtZW50Jik7Ci0gICAgICB9OworICAg
IHB1YmxpYyBzbG90czoKKyAgICAgICAgdm9pZCBkb1NvbWV0aGluZ1dpdGhXZWJFbGVtZW50KGNv
bnN0IFFXZWJFbGVtZW50Jik7CisgICAgfTsKIAotICAgICAgLyogLi4uICovCisgICAgLyogLi4u
ICovCiAKLSAgICAgIE15T2JqZWN0IG15T2JqZWN0OwotICAgICAgbXlXZWJQYWdlLm1haW5GcmFt
ZSgpLT5hZGRUb0phdmFTY3JpcHRXaW5kb3dPYmplY3QoIm15T2JqZWN0IiwgJm15T2JqZWN0KTsK
KyAgICBNeU9iamVjdCBteU9iamVjdDsKKyAgICBteVdlYlBhZ2UubWFpbkZyYW1lKCktPmFkZFRv
SmF2YVNjcmlwdFdpbmRvd09iamVjdCgibXlPYmplY3QiLCAmbXlPYmplY3QpOwogCi0gICAgIC8v
ISBbNF0KLSAgI2lmIDAKLSAgICAgIC8vISBbNV0KLSAgICAgIDxodG1sPgorICAgIC8vISBbNF0K
KyNpZiAwCisgICAgLy8hIFs1XQorICAgIDxodG1sPgogICAgICAgICAgPGhlYWQ+Ci0gICAgICAg
ICAgPHNjcmlwdD4KLSAgICAgICAgICAgICAgZnVuY3Rpb24gcnVuRXhhbXBsZSgpIHsKLSAgICAg
ICAgICAgICAgICAgIG15T2JqZWN0LmRvU29tZXRoaW5nV2l0aFdlYkVsZW1lbnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInNvbWVFbGVtZW50IikpOwotICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgPC9zY3JpcHQ+CisgICAgICAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24gcnVuRXhhbXBsZSgpIHsKKyAgICAgICAgICAgICAgICAgICAgbXlPYmplY3QuZG9Tb21l
dGhpbmdXaXRoV2ViRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic29tZUVsZW1lbnQi
KSk7CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAg
PC9oZWFkPgogICAgICAgICAgPGJvZHkgb25sb2FkPSJydW5FeGFtcGxlKCkiPgotICAgICAgICAg
IDxzcGFuIGlkPSJzb21lRWxlbWVudCI+VGV4dDwvc3Bhbj4KKyAgICAgICAgICAgICA8c3BhbiBp
ZD0ic29tZUVsZW1lbnQiPlRleHQ8L3NwYW4+CiAgICAgICAgICA8L2JvZHk+Ci0gICAgICA8L2h0
bWw+Ci0gICAgIC8vISBbNV0KLSAgI2VuZGlmCisgICAgIDwvaHRtbD4KKyAgICAvLyEgWzVdCisg
ICAgLy8hIFs2XQorICAgIGNvbm5lY3QoZnVuY3Rpb24pOworICAgIC8vISBbNl0KKyAgICAvLyEg
WzddCisgICAgZnVuY3Rpb24gbXlJbnRlcmVzdGluZ1NjcmlwdEZ1bmN0aW9uKCkgeyAuLi4gfQor
ICAgIC4uLgorICAgIG15UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmNvbm5lY3QobXlJbnRlcmVz
dGluZ1NjcmlwdEZ1bmN0aW9uKTsKKyAgICAvLyEgWzddCisgICAgLy8hIFs4XQorICAgIG15UU9i
amVjdC5zb21ldGhpbmdDaGFuZ2VkLmNvbm5lY3QobXlPdGhlclFPYmplY3QuZG9Tb21ldGhpbmcp
OworICAgIC8vISBbOF0KKyAgICAvLyEgWzldCisgICAgbXlRT2JqZWN0LnNvbWV0aGluZ0NoYW5n
ZWQuZGlzY29ubmVjdChteUludGVyZXN0aW5nRnVuY3Rpb24pOworICAgIG15UU9iamVjdC5zb21l
dGhpbmdDaGFuZ2VkLmRpc2Nvbm5lY3QobXlPdGhlclFPYmplY3QuZG9Tb21ldGhpbmcpOworICAg
IC8vISBbOV0KKyAgICAvLyEgWzEwXQorICAgIGNvbm5lY3QodGhpc09iamVjdCwgZnVuY3Rpb24p
CisgICAgLy8hIFsxMF0KKyAgICAvLyEgWzExXQorICAgIHZhciBvYmogPSB7IHg6IDEyMyB9Owor
ICAgIHZhciBmdW4gPSBmdW5jdGlvbigpIHsgcHJpbnQodGhpcy54KTsgfTsKKyAgICBteVFPYmpl
Y3Quc29tZXRoaW5nQ2hhbmdlZC5jb25uZWN0KG9iaiwgZnVuKTsKKyAgICAvLyEgWzExXQorICAg
IC8vISBbMTJdCisgICAgbXlRT2JqZWN0LnNvbWV0aGluZ0NoYW5nZWQuZGlzY29ubmVjdChvYmos
IGZ1bik7CisgICAgLy8hIFsxMl0KKyAgICAvLyEgWzEzXQorICAgIGNvbm5lY3QoZnVuY3Rpb24p
OworICAgIC8vISBbMTNdCisgICAgLy8hIFsxNF0KKyAgICBjb25uZWN0KHRoaXNPYmplY3QsIGZ1
bmN0aW9uTmFtZSkKKyAgICAvLyEgWzE0XQorICAgIC8vISBbMTVdCisgICAgdmFyIG9iaiA9IHsg
eDogMTIzLCBmdW46IGZ1bmN0aW9uKCkgeyBwcmludCh0aGlzLngpOyB9IH07CisgICAgbXlRT2Jq
ZWN0LnNvbWV0aGluZ0NoYW5nZWQuY29ubmVjdChvYmosICJmdW4iKTsKKyAgICAvLyEgWzE1XQor
ICAgIC8vISBbMTZdCisgICAgY29ubmVjdChmdW5jdGlvbik7CisgICAgLy8hIFsxNl0KKyAgICAv
LyEgWzE3XQorICAgIG15UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmRpc2Nvbm5lY3Qob2JqLCAi
ZnVuIik7CisgICAgLy8hIFsxN10KKyAgICAvLyEgWzE4XQorICAgIHRyeSB7CisgICAgICAgIG15
UU9iamVjdC5zb21ldGhpbmdDaGFuZ2VkLmNvbm5lY3QobXlRT2JqZWN0LCAic2xvdFRoYXREb2Vz
bnRFeGlzdCIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcHJpbnQoZSk7CisgICAgfQor
ICAgIC8vISBbMThdCisgICAgLy8hIFsxOV0KKyAgICBteVFPYmplY3Quc29tZXRoaW5nQ2hhbmdl
ZCgiaGVsbG8iKTsKKyAgICAvLyEgWzE5XQorICAgIC8vISBbMjBdCisgICAgbXlRT2JqZWN0Lm15
T3ZlcmxvYWRlZFNsb3QoMTApOyAgIC8vIHdpbGwgY2FsbCB0aGUgaW50IG92ZXJsb2FkCisgICAg
bXlRT2JqZWN0Lm15T3ZlcmxvYWRlZFNsb3QoIjEwIik7IC8vIHdpbGwgY2FsbCB0aGUgUVN0cmlu
ZyBvdmVybG9hZAorICAgIC8vISBbMjBdCisgICAgLy8hIFsyMV0KKyAgICBteVFPYmplY3RbJ215
T3ZlcmxvYWRlZFNsb3QoaW50KSddKCIxMCIpOyAgIC8vIGNhbGwgaW50IG92ZXJsb2FkOyB0aGUg
YXJndW1lbnQgaXMgY29udmVydGVkIHRvIGFuIGludAorICAgIG15UU9iamVjdFsnbXlPdmVybG9h
ZGVkU2xvdChRU3RyaW5nKSddKDEwKTsgLy8gY2FsbCBRU3RyaW5nIG92ZXJsb2FkOyB0aGUgYXJn
dW1lbnQgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nCisgICAgLy8hIFsyMV0KKyAgICAvLyEgWzIy
XQorICAgIGNsYXNzIE15T2JqZWN0IDogcHVibGljIFFPYmplY3QKKyAgICB7CisgICAgICAgIFFf
T0JKRUNUCisKKyAgICBwdWJsaWM6CisgICAgICAgIFFfSU5WT0tBQkxFIHZvaWQgdGhpc01ldGhv
ZElzSW52b2thYmxlSW5RdFNjcmlwdCgpOworICAgICAgICB2b2lkIHRoaXNNZXRob2RJc05vdElu
dm9rYWJsZUluUXRTY3JpcHQoKTsKKworICAgICAgICAuLi4KKyAgICB9OworICAgIC8vISBbMjJd
CisgICAgLy8hIFsyM10KKyAgICAgICAgUV9QUk9QRVJUWShib29sIGVuYWJsZWQgUkVBRCBlbmFi
bGVkIFdSSVRFIHNldEVuYWJsZWQpCisgICAgLy8hIFsyM10KKyAgICAvLyEgWzI0XQorICAgIG15
UU9iamVjdC5lbmFibGVkID0gdHJ1ZTsKKworICAgIC4uLgorCisgICAgbXlRT2JqZWN0LmVuYWJs
ZWQgPSAhbXlRT2JqZWN0LmVuYWJsZWQ7CisgICAgLy8hIFsyNF0KKyAgICAvLyEgWzI1XQorICAg
IG15UU9iamVjdC5lbmFibGVkID0gdHJ1ZTsKKworICAgIC4uLgorCisgICAgbXlRT2JqZWN0LmVu
YWJsZWQgPSAhbXlRT2JqZWN0LmVuYWJsZWQ7CisgICAgLy8hIFsyNV0KKyAgICAvLyEgWzI2XQor
ICAgIG15RGlhbG9nLm9rQnV0dG9uCisgICAgbXlEaWFsb2cub2tCdXR0b24ub2JqZWN0TmFtZSA9
ICJjYW5jZWxCdXR0b24iOworICAgIC8vIGZyb20gbm93IG9uLCBteURpYWxvZy5jYW5jZWxCdXR0
b24gcmVmZXJlbmNlcyB0aGUgYnV0dG9uCisgICAgLy8hIFsyNl0KKyNlbmRpZgogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>