<?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>85399</bug_id>
          
          <creation_ts>2012-05-02 12:01:52 -0700</creation_ts>
          <short_desc>[Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly</short_desc>
          <delta_ts>2012-05-10 14:51:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>jbates</cc>
    
    <cc>nduca</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>614501</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 12:01:52 -0700</bug_when>
    <thetext>[Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614508</commentid>
    <comment_count>1</comment_count>
      <attachid>139854</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 12:05:05 -0700</bug_when>
    <thetext>Created attachment 139854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614516</commentid>
    <comment_count>2</comment_count>
      <attachid>139854</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-05-02 12:18:00 -0700</bug_when>
    <thetext>Comment on attachment 139854
Patch

Attachment 139854 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12612021</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614521</commentid>
    <comment_count>3</comment_count>
      <attachid>139854</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-02 12:24:46 -0700</bug_when>
    <thetext>Comment on attachment 139854
Patch

Attachment 139854 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12605014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614523</commentid>
    <comment_count>4</comment_count>
      <attachid>139858</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 12:25:24 -0700</bug_when>
    <thetext>Created attachment 139858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614525</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 12:26:18 -0700</bug_when>
    <thetext>It helps when you &quot;svn add&quot; the new files you&apos;re adding to WebKit...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614559</commentid>
    <comment_count>6</comment_count>
      <attachid>139858</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-02 12:56:14 -0700</bug_when>
    <thetext>Comment on attachment 139858
Patch

Attachment 139858 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12545028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614577</commentid>
    <comment_count>7</comment_count>
      <attachid>139865</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 13:06:48 -0700</bug_when>
    <thetext>Created attachment 139865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614579</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 13:07:43 -0700</bug_when>
    <thetext>Fixed my error in xcodeproj</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614618</commentid>
    <comment_count>9</comment_count>
      <attachid>139865</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-02 13:45:41 -0700</bug_when>
    <thetext>Comment on attachment 139865
Patch

Attachment 139865 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12606023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614622</commentid>
    <comment_count>10</comment_count>
      <attachid>139877</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 13:50:24 -0700</bug_when>
    <thetext>Created attachment 139877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614624</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 13:50:58 -0700</bug_when>
    <thetext>Fixed unused parameter warnings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614661</commentid>
    <comment_count>12</comment_count>
      <attachid>139877</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2012-05-02 14:13:24 -0700</bug_when>
    <thetext>Comment on attachment 139877
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614878</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 18:00:05 -0700</bug_when>
    <thetext>Can I get a review on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614904</commentid>
    <comment_count>14</comment_count>
      <attachid>139877</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-02 18:30:59 -0700</bug_when>
    <thetext>Comment on attachment 139877
Patch

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

&gt; Source/WebCore/GNUmakefile.list.am:3583
&gt; -	Source/WebCore/platform/StatsCounter.h \
&gt; +        Source/WebCore/platform/StatsCounter.h \

This looks wrong.

&gt; Source/WebCore/GNUmakefile.list.am:3658
&gt; +        Source/WebCore/platform/TraceEventSupport.cpp \
&gt; +        Source/WebCore/platform/TraceEventSupport.h \

This too.

&gt; Source/WebCore/platform/TraceEventSupport.h:49
&gt; +    static int addTraceEvent(char,
&gt; +                             const unsigned char*,
&gt; +                             const char*,
&gt; +                             unsigned long long,
&gt; +                             int,
&gt; +                             const char**,
&gt; +                             const unsigned char*,
&gt; +                             const unsigned long long*,
&gt; +                             int,
&gt; +                             long long,
&gt; +                             unsigned char);

Named args would help, alot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614926</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 18:42:30 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 139877 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=139877&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/GNUmakefile.list.am:3583
&gt; &gt; -	Source/WebCore/platform/StatsCounter.h \
&gt; &gt; +        Source/WebCore/platform/StatsCounter.h \
&gt; 
&gt; This looks wrong.

Will fix the spacing.

&gt; 
&gt; &gt; Source/WebCore/GNUmakefile.list.am:3658
&gt; &gt; +        Source/WebCore/platform/TraceEventSupport.cpp \
&gt; &gt; +        Source/WebCore/platform/TraceEventSupport.h \
&gt; 
&gt; This too.

Why? We&apos;re adding these two files to WebCore/platform/.

&gt; 
&gt; &gt; Source/WebCore/platform/TraceEventSupport.h:49
&gt; &gt; +    static int addTraceEvent(char,
&gt; &gt; +                             const unsigned char*,
&gt; &gt; +                             const char*,
&gt; &gt; +                             unsigned long long,
&gt; &gt; +                             int,
&gt; &gt; +                             const char**,
&gt; &gt; +                             const unsigned char*,
&gt; &gt; +                             const unsigned long long*,
&gt; &gt; +                             int,
&gt; &gt; +                             long long,
&gt; &gt; +                             unsigned char);
&gt; 
&gt; Named args would help, alot.

Named args break the Mac build (unused parameters, warnings treated as errors).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614932</commentid>
    <comment_count>16</comment_count>
      <attachid>139877</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-02 18:59:28 -0700</bug_when>
    <thetext>Comment on attachment 139877
Patch

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

&gt;&gt;&gt; Source/WebCore/GNUmakefile.list.am:3658
&gt;&gt;&gt; +        Source/WebCore/platform/TraceEventSupport.h \
&gt;&gt; 
&gt;&gt; This too.
&gt; 
&gt; Why? We&apos;re adding these two files to WebCore/platform/.

I think there&apos;s just a tab/space intent issue.

&gt;&gt;&gt; Source/WebCore/platform/TraceEventSupport.h:49
&gt;&gt;&gt; +                             unsigned char);
&gt;&gt; 
&gt;&gt; Named args would help, alot.
&gt; 
&gt; Named args break the Mac build (unused parameters, warnings treated as errors).

You should be able to declare them in the header.  It&apos;s only in the implementation that unused parameter names cause problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614937</commentid>
    <comment_count>17</comment_count>
      <attachid>139939</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 19:09:29 -0700</bug_when>
    <thetext>Created attachment 139939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614938</commentid>
    <comment_count>18</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-02 19:11:39 -0700</bug_when>
    <thetext>OK, spacing issues fixed and header file parameter names restored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614980</commentid>
    <comment_count>19</comment_count>
      <attachid>139939</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-02 21:36:53 -0700</bug_when>
    <thetext>Comment on attachment 139939
Patch

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

This looks fine, but there are some name nit picks below.  I know you&apos;re just using the names that already exist, but we might want to take this opportunity to improve them slightly.

&gt; Source/WebCore/platform/TraceEventSupport.h:36
&gt; +class TraceEventSupport {

TraceEventSupport seems overly wordy.  How about EventTracer ?

&gt; Source/WebCore/platform/TraceEventSupport.h:38
&gt; +    static const unsigned char* getTraceCategoryEnabledFlag(const char*);

What does getTraceCategoryEnabledFlag mean?  Maybe...  traceCategoryForEnableFlag ?

&gt; Source/WebCore/platform/TraceEventSupport.h:39
&gt; +    static int addTraceEvent(char phase,

addTraceEvent -&gt; traceEvent ?

Generally, we prefer strong verbs like &quot;trace&quot; over weak verbs like &quot;add&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615190</commentid>
    <comment_count>20</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-03 05:35:23 -0700</bug_when>
    <thetext>jbates, can you comment on Adam&apos;s renaming proposal?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615896</commentid>
    <comment_count>21</comment_count>
    <who name="John Bates">jbates</who>
    <bug_when>2012-05-03 19:08:27 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 139939 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=139939&amp;action=review
&gt; 
&gt; This looks fine, but there are some name nit picks below.  I know you&apos;re just using the names that already exist, but we might want to take this opportunity to improve them slightly.
&gt; 
&gt; &gt; Source/WebCore/platform/TraceEventSupport.h:36
&gt; &gt; +class TraceEventSupport {
&gt; 
&gt; TraceEventSupport seems overly wordy.  How about EventTracer ?
&gt; 
&gt; &gt; Source/WebCore/platform/TraceEventSupport.h:38
&gt; &gt; +    static const unsigned char* getTraceCategoryEnabledFlag(const char*);
&gt; 
&gt; What does getTraceCategoryEnabledFlag mean?  Maybe...  traceCategoryForEnableFlag ?
&gt; 
&gt; &gt; Source/WebCore/platform/TraceEventSupport.h:39
&gt; &gt; +    static int addTraceEvent(char phase,
&gt; 
&gt; addTraceEvent -&gt; traceEvent ?
&gt; 
&gt; Generally, we prefer strong verbs like &quot;trace&quot; over weak verbs like &quot;add&quot;.

These names match up with chromium APIs and type names so it would be best for consistency to keep them as is if it&apos;s not too much of an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619476</commentid>
    <comment_count>22</comment_count>
      <attachid>139939</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-09 07:48:06 -0700</bug_when>
    <thetext>Comment on attachment 139939
Patch

Following up on jbates&apos; comment, I feel we should just land this as-is. I just checked and the patch still applies cleanly to ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619550</commentid>
    <comment_count>23</comment_count>
      <attachid>139939</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-09 09:12:12 -0700</bug_when>
    <thetext>Comment on attachment 139939
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/TraceEventSupport.h:36
&gt;&gt;&gt; +class TraceEventSupport {
&gt;&gt; 
&gt;&gt; TraceEventSupport seems overly wordy.  How about EventTracer ?
&gt; 
&gt; These names match up with chromium APIs and type names so it would be best for consistency to keep them as is if it&apos;s not too much of an issue.

Ok.  Let&apos;s keep the getTraceCategoryEnabledFlag and addTraceEvent names for now.  They&apos;re not great names because they use weak verbs like &quot;get&quot; and &quot;add&quot;, but that&apos;s ok for now.  However, the TraceEventSupport name doesn&apos;t appear to be used previously.  Perhaps we should pick a better than for that?  EventTracer seems more like the name of an object that traces events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619605</commentid>
    <comment_count>24</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-05-09 10:02:54 -0700</bug_when>
    <thetext>Adam, does &quot;push&quot; constitute a verb that you consider weak?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619610</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-09 10:11:49 -0700</bug_when>
    <thetext>&gt; Adam, does &quot;push&quot; constitute a verb that you consider weak?

Push can be a good verb, especially when you&apos;re working with a stack or a queue.  In the case here, the work &quot;trace&quot; is already in the names, but it&apos;s used as an adjective when it could be a great verb.  None of these things are really big deals though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620865</commentid>
    <comment_count>26</comment_count>
      <attachid>141227</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-10 12:38:26 -0700</bug_when>
    <thetext>Created attachment 141227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620866</commentid>
    <comment_count>27</comment_count>
      <attachid>141227</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-10 12:38:53 -0700</bug_when>
    <thetext>Comment on attachment 141227
Patch

OK, TraceEventSupport is now called EventTracer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620890</commentid>
    <comment_count>28</comment_count>
      <attachid>141227</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-10 13:06:42 -0700</bug_when>
    <thetext>Comment on attachment 141227
Patch

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

&gt; Source/WebCore/platform/EventTracer.cpp:51
&gt; +int EventTracer::addTraceEvent(char,
&gt; +                                     const unsigned char*,
&gt; +                                     const char*,
&gt; +                                     unsigned long long,
&gt; +                                     int,
&gt; +                                     const char**,
&gt; +                                     const unsigned char*,
&gt; +                                     const unsigned long long*,
&gt; +                                     int,
&gt; +                                     long long,
&gt; +                                     unsigned char)

This argument list looks a bit silly, but I&apos;m not sure it matters too much.  I might have combined these all into one line.  (Not worth uploading the patch again.)

&gt; Source/WebCore/platform/chromium/EventTracerChromium.cpp:44
&gt; +int EventTracer::addTraceEvent(char phase,
&gt; +                                     const unsigned char* categoryEnabledFlag,

The indents should probably line up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621028</commentid>
    <comment_count>29</comment_count>
      <attachid>141227</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-10 14:51:17 -0700</bug_when>
    <thetext>Comment on attachment 141227
Patch

Clearing flags on attachment: 141227

Committed r116690: &lt;http://trac.webkit.org/changeset/116690&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621029</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-10 14:51:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139854</attachid>
            <date>2012-05-02 12:05:05 -0700</date>
            <delta_ts>2012-05-02 12:25:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85399-20120502150454.patch</filename>
            <type>text/plain</type>
            <size>17468</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNTg1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA1LTAyICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
YWRkVHJhY2VFdmVudCBhbmQgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFk
ZFRyYWNlRXZlbnQgaGFzIGJlZW4gbW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAg
ICB0byBQbGF0Zm9ybS5oLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQor
ICAgICAgICBmcm9tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQg
dGhlCisgICAgICAgIHZhcmlvdXMgcGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQg
aGVhZGVyKQorICAgICAgICBXZSBkbyB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQg
Y2xhc3MgaW4KKyAgICAgICAgV2ViQ29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9u
IGluCisgICAgICAgIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAuCisgICAgICAgIE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVu
dCB0aGVpciBvd24gdmVyc2lvbiBvZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNo
LiBUaGlzIHBhdHRlcm4gd2FzIGJhc2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0
L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBn
ZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0
aGlzIHBhdGNoLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
VHJhY2VFdmVudC5oOgorCiAyMDEyLTA1LTAyICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFy
ZEBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgUXQgYnVpbGQgZml4IHdpdGgg
R0NDIDQuNy4wLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDExNTg1OCkKKysr
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMyLDYg
KzExMzIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vVGhyZWFkR2xvYmFs
RGF0YS5jcHAKICAgICBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCiAgICAgcGxhdGZvcm0vVGlt
ZXIuY3BwCisgICAgcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuY3BwCiAgICAgcGxhdGZvcm0v
VVVJRC5jcHAKICAgICBwbGF0Zm9ybS9XaWRnZXQuY3BwCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMzU4MCw3ICszNTgwLDcgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMVmFsdWUuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU1NMS2V5R2VuZXJhdG9yLmggXAotCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1N0YXRzQ291bnRlci5oIFwKKyAgICAgICAgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3Rh
dHNDb3VudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1ZGRlblRlcm1pbmF0aW9u
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1cHBsZW1lbnRhYmxlLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVRpbWUuaCBcCkBAIC0zNjU0LDYgKzM2NTQsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVy
cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RpbWVyLmggXAorICAgICAgICBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
cmFjZUV2ZW50U3VwcG9ydC5jcHAgXAorICAgICAgICBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
cmFjZUV2ZW50U3VwcG9ydC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVk
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9VVUlELmggXApJbmRleDogU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCShyZXZpc2lvbiAxMTU4NTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0xMjA3LDYgKzEy
MDcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9UaW1lci5jcHAgXAogICAgIHBsYXRm
b3JtL3RleHQvVW5pY29kZVJhbmdlLmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVy
L0ZvbnRUcmFuc2NvZGVyLmNwcCBcCisgICAgcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuY3Bw
IFwKICAgICBwbGF0Zm9ybS9VVUlELmNwcCBcCiAgICAgcGxhdGZvcm0vV2lkZ2V0LmNwcCBcCiAg
ICAgcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCkBAIC0yMzc5LDYgKzIzODAsNyBA
QCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggXAogICAgIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5oIFwKICAgICBwbGF0Zm9ybS9UaW1lci5oIFwKKyAgICBwbGF0
Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5oIFwKICAgICBwbGF0Zm9ybS9XaWRnZXQuaCBcCiAgICAg
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmggXAogICAgIHBsYXRmb3JtL0xvY2FsaXplZFN0
cmluZ3MuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTMyNCw2ICszMjQsNyBA
QAogICAgICAgICAgICAgJ3BsYXRmb3JtL1RocmVhZENoZWNrLmgnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vVGltZXIu
aCcsCisgICAgICAgICAgICAncGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vVHJlZVNoYXJlZC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9WaXNp
dGVkTGlua1N0cmF0ZWd5LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1dpZGdldC5oJywKQEAg
LTMzNDUsNiArMzM0Niw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVGhlbWVD
aHJvbWl1bU1hYy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9UaGVtZUNocm9t
aXVtTWFjLm1tJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50Lmgn
LAorICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnRTdXBwb3J0Q2hyb21p
dW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9XaWRnZXRDaHJvbWl1bS5j
cHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2NvY29hL0tleUV2ZW50Q29jb2EuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2NvYS5tbScsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTE1ODU4
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtp
bmcgY29weSkKQEAgLTI4MDA2LDYgKzI4MDA2LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFRyYWNlRXZlbnRTdXBwb3J0LmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxh
dGZvcm1cVHJhY2VFdmVudFN1cHBvcnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cVHJlZVNoYXJlZC5oIgogCQkJCT4KIAkJCTwv
RmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDExNTg1OCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTgxMCw2ICs1ODEw
LDcgQEAKIAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5
QkYzNDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggKi87IH07CiAJCUQ2MzBFMkFDMTQ5
QkYzNDQwMDVCMkY5NCAvKiBTdGF0c0NvdW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NCAvKiBTdGF0c0Nv
dW50ZXIuaCAqLzsgfTsKIAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdl
U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oICovOyB9Owor
CQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTYgLyogVHJhY2VFdmVudFN1cHBvcnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQw
MDVCMkY5NiAvKiBUcmFjZUV2ZW50U3VwcG9ydC5oICovOyB9OwogCQlENkUyNzZBRjE0NjM3NDU1
MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkUyNzZBRDE0NjM3NDU1MDAxRDI4
MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAgKi87IH07CiAJCUQ2RTI3NkIw
MTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkUyNzZBRTE0NjM3NDU1
MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oICovOyB9OwogCQlENkU1
MjhBMzE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFNTI4QTEx
NDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLzsg
fTsKQEAgLTU4MTcsNiArNTgxOCw3IEBACiAJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMSAvKiBI
aXN0b2dyYW1TdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNw
cCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0
OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlD
MDYxOTAwMzdCMUUzIC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyog
TWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLzsgfTsKKwkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUU0
IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMyAvKiBUcmFjZUV2ZW50U3Vw
cG9ydC5jcHAgKi87IH07CiAJCUQ3MEFENjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcw
QUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi87IH07CiAJCUQ3MEFE
NjU4MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MEFENjU2MTNFMTM0MkIwMDVCNTBCNCAvKiBS
ZW5kZXJSZWdpb24uaCAqLzsgfTsKIAkJRDcyRjZENzkxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dU
aHJlYWRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxl
ci5jcHAgKi87IH07CkBAIC0xMjk1Miw2ICsxMjk1NCw3IEBACiAJCUQ2MzBFMkFCMTQ5QkYzNDQw
MDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEhpc3RvZ3JhbVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0c0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBvcnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk2IC8q
IFRyYWNlRXZlbnRTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRy
YWNlRXZlbnRTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFE
MTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkUyNzZBRTE0NjM3NDU1
MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTUyOEExMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRh
dGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMjk1OSw2ICsxMjk2Miw3IEBACiAJCUQ2RkRBRUYyMTQ5QzA2
MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEhpc3RvZ3JhbVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0YXRzQ291bnRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMyAvKiBN
ZW1vcnlVc2FnZVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYWNlRXZlbnRTdXBwb3J0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJl
bmRlclJlZ2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJSZWdpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NjEzRTEz
NDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJlbmRlclJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzJG
NkQ3NzE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAzNTgsNiArMjAzNjIsOCBAQAogCQkJCTE4
NUJDRjI3MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuaCAqLywKIAkJCQk5MzMwOUVB
MTA5OUVCNzhDMDA1NkU1ODEgLyogVGltZXIuY3BwICovLAogCQkJCTkzMDVCMjRDMDk4RjFCNkIw
MEMyODg1NSAvKiBUaW1lci5oICovLAorCQkJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFNCAvKiBU
cmFjZUV2ZW50U3VwcG9ydC5jcHAgKi8sCisJCQkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk2IC8q
IFRyYWNlRXZlbnRTdXBwb3J0LmggKi8sCiAJCQkJMTQxOUQyQzQwQ0VBNkY2MTAwRkY1MDdBIC8q
IFRyZWVTaGFyZWQuaCAqLywKIAkJCQkyRTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5j
cHAgKi8sCiAJCQkJMkUzQkJGMDYxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuaCAqLywKQEAgLTI0
NjQwLDYgKzI0NjQ2LDcgQEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFu
Z2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYgLyogVGlt
aW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5
NiAvKiBUcmFjZUV2ZW50U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwMzM0RDcxNDU5
RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQzQw
RUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0aW9uTWF0cml4LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OUU5MTFDRTBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4g
SGVhZGVycyAqLywKQEAgLTI3Njg1LDYgKzI3NjkyLDcgQEAKIAkJCQk3NTUzQ0ZFOTEwOEY0NzNG
MDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzMzA5RUE0MDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFNDQ2MTNBRjBDRDYzMzEwMDBGQURBNzUgLyogVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwMzM0RDkxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFz
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzAzMzREMzE0NTlGRkFEMDA4RDhENDUgLyogVHJh
Y2tFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUU5MTFDMzBFRjg2RDQ3MDA5RDBDQUYg
LyogVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkocmV2
aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZv
cm1TdXBwb3J0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2OCwyMCArMzY4LDYgQEAgcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIHBhaW50VGhlbWVQYXJ0KEdyYXBoaWNzQ29udGV4dCosIFRoZW1lUGFy
dCwgVGhlbWVQYWludFN0YXRlLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgVGhlbWVQYWludEV4dHJh
UGFyYW1zKik7CiAjZW5kaWYKIAotICAgIC8vIFRyYWNlIEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKiBj
YXRlZ29yeU5hbWUpOwotICAgIHN0YXRpYyBpbnQgYWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29y
eUVuYWJsZWRGbGFnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBu
YW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1BcmdzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGFyZ1R5cGVzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcqIGFyZ1ZhbHVlcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRocmVzaG9sZEJlZ2luSWQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxvbmcgbG9uZyB0aHJlc2hvbGQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgZmxhZ3MpOwotCiAgICAgLy8gVmlzaXRlZCBs
aW5rcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KICAgICBzdGF0aWMgTGlua0hhc2ggdmlzaXRlZExpbmtIYXNoKGNvbnN0IFVDaGFyKiB1cmws
IHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIExpbmtIYXNoIHZpc2l0ZWRMaW5rSGFzaChj
b25zdCBLVVJMJiBiYXNlLCBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oCShyZXZp
c2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw3ICsxNjMsNyBAQAogI2lmbmRlZiBUcmFjZUV2
ZW50X2gKICNkZWZpbmUgVHJhY2VFdmVudF9oCiAKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQu
aCIKKyNpbmNsdWRlICJUcmFjZUV2ZW50U3VwcG9ydC5oIgogCiAjaW5jbHVkZSA8d3RmL0R5bmFt
aWNBbm5vdGF0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTQ2Myw3
ICs0NjMsNyBAQAogLy8gY29uc3QgdW5zaWduZWQgY2hhcioKIC8vICAgICBUUkFDRV9FVkVOVF9B
UElfR0VUX0NBVEVHT1JZX0VOQUJMRUQoY29uc3QgY2hhciogY2F0ZWdvcnlfbmFtZSkKICNkZWZp
bmUgVFJBQ0VfRVZFTlRfQVBJX0dFVF9DQVRFR09SWV9FTkFCTEVEIFwKLSAgICBXZWJDb3JlOjpQ
bGF0Zm9ybVN1cHBvcnQ6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZworICAgIFdlYkNvcmU6
OlRyYWNlRXZlbnRTdXBwb3J0OjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcKIAogLy8gQWRk
IGEgdHJhY2UgZXZlbnQgdG8gdGhlIHBsYXRmb3JtIHRyYWNpbmcgc3lzdGVtLiBSZXR1cm5zIHRo
cmVzaG9sZEJlZ2luSWQKIC8vIGZvciB1c2UgaW4gYSBjb3JyZXNwb25kaW5nIGVuZCBUUkFDRV9F
VkVOVF9BUElfQUREX1RSQUNFX0VWRU5UIGNhbGwuCkBAIC00ODAsNyArNDgwLDcgQEAKIC8vICAg
ICAgICAgICAgICAgICAgICBsb25nIGxvbmcgdGhyZXNob2xkLAogLy8gICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGNoYXIgZmxhZ3MpCiAjZGVmaW5lIFRSQUNFX0VWRU5UX0FQSV9BRERfVFJB
Q0VfRVZFTlQgXAotICAgIFdlYkNvcmU6OlBsYXRmb3JtU3VwcG9ydDo6YWRkVHJhY2VFdmVudAor
ICAgIFdlYkNvcmU6OlRyYWNlRXZlbnRTdXBwb3J0OjphZGRUcmFjZUV2ZW50CiAKIC8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lv
biAxMTU4NTkpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTAyICBNYXJrIFBpbGdyaW0gIDxwaWxncmlt
QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwgYWRkVHJhY2VFdmVudCBh
bmQgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFkZFRyYWNlRXZlbnQgaGFz
IGJlZW4gbW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAgICB0byBQbGF0Zm9ybS5o
LCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQorICAgICAgICBmcm9tIFdl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQgdGhlCisgICAgICAgIHZh
cmlvdXMgcGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQgaGVhZGVyKQorICAgICAg
ICBXZSBkbyB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQgY2xhc3MgaW4KKyAgICAg
ICAgV2ViQ29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9uIGluCisgICAgICAgIFdl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAuCisg
ICAgICAgIE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVudCB0aGVpciBvd24gdmVy
c2lvbiBvZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNoLiBUaGlzIHBhdHRlcm4g
d2FzIGJhc2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0L0hpc3RvZ3JhbVN1cHBv
cnRDaHJvbWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBnZXRUcmFjZUNhdGVnb3J5
RW5hYmxlZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKwog
MjAxMi0wNS0wMiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBUeXBlRXJyb3I6IENhbm5vdCBjYWxsIG1ldGhvZCAnY3JlYXRl
TGl2ZUxvY2F0aW9uJyBvZiB1bmRlZmluZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODExLDI4ICs4MTEsNiBAQCB2b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRUaGVtZVBhcnQo
CiAKICNlbmRpZgogCi0vLyBUcmFjZSBFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWNvbnN0IHVuc2lnbmVkIGNo
YXIqIFBsYXRmb3JtU3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNo
YXIqIGNhdGVnb3J5TmFtZSkKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCkt
PmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOwotfQotaW50IFBsYXRm
b3JtU3VwcG9ydDo6YWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1BcmdzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGFyZ1R5
cGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBs
b25nIGxvbmcqIGFyZ1ZhbHVlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHRocmVzaG9sZEJlZ2luSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvbmcgbG9uZyB0aHJlc2hvbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGNoYXIgZmxhZ3MpCi17Ci0gICAgcmV0dXJuIHdlYktpdFBsYXRmb3JtU3VwcG9y
dCgpLT5hZGRUcmFjZUV2ZW50KAotICAgICAgICBwaGFzZSwgY2F0ZWdvcnlFbmFibGVkRmxhZywg
bmFtZSwgaWQsIG51bUFyZ3MsIGFyZ05hbWVzLCBhcmdUeXBlcywgYXJnVmFsdWVzLCAgdGhyZXNo
b2xkQmVnaW5JZCwgdGhyZXNob2xkLCBmbGFncyk7Ci19Ci0KIC8vIFZpc2l0ZWQgTGlua3MgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIAogTGlua0hhc2ggUGxhdGZvcm1TdXBwb3J0Ojp2aXNpdGVkTGlua0hhc2goY29uc3QgVUNo
YXIqIHVybCwgdW5zaWduZWQgbGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139858</attachid>
            <date>2012-05-02 12:25:24 -0700</date>
            <delta_ts>2012-05-02 13:06:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85399-20120502152513.patch</filename>
            <type>text/plain</type>
            <size>26582</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNTg2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTAyICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
YWRkVHJhY2VFdmVudCBhbmQgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFk
ZFRyYWNlRXZlbnQgaGFzIGJlZW4gbW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAg
ICB0byBQbGF0Zm9ybS5oLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQor
ICAgICAgICBmcm9tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQg
dGhlCisgICAgICAgIHZhcmlvdXMgcGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQg
aGVhZGVyKQorICAgICAgICBXZSBkbyB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQg
Y2xhc3MgaW4KKyAgICAgICAgV2ViQ29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9u
IGluCisgICAgICAgIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAuCisgICAgICAgIE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVu
dCB0aGVpciBvd24gdmVyc2lvbiBvZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNo
LiBUaGlzIHBhdHRlcm4gd2FzIGJhc2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0
L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBn
ZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0
aGlzIHBhdGNoLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
VHJhY2VFdmVudFN1cHBvcnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJhY2VFdmVudFN1cHBvcnQ6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6YWRkVHJhY2VFdmVudCk6
CisgICAgICAgICogcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFRyYWNlRXZlbnRTdXBwb3J0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9UcmFjZUV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVu
dFN1cHBvcnRDaHJvbWl1bS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNlRXZlbnRTdXBwb3J0OjphZGRUcmFjZUV2ZW50KToK
KwogMjAxMi0wNS0wMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSB0aXRsZSBhbmQgbWVkaWEgcXVlcmllcyBmcm9tIFN0eWxlU2hlZXRJbnRlcm5hbCB0
byBDU1NTdHlsZVNoZWV0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTE1ODU4
KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEx
MzIsNiArMTEzMiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmNwcAogICAgIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKICAgICBwbGF0Zm9y
bS9UaW1lci5jcHAKKyAgICBwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAKICAgICBwbGF0
Zm9ybS9VVUlELmNwcAogICAgIHBsYXRmb3JtL1dpZGdldC5jcHAKIApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTgwLDcgKzM1ODAsNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TU0xLZXlHZW5lcmF0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU3RhdHNDb3VudGVyLmggXAorICAgICAgICBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VkZGVuVGVybWlu
YXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtVGltZS5oIFwKQEAgLTM2NTQsNiArMzY1NCw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBcCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcCBcCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RyYWNlRXZlbnRTdXBwb3J0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVT
aGFyZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1VVSUQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDExNTg1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTEyMDcs
NiArMTIwNyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL1RpbWVyLmNwcCBcCiAgICAg
cGxhdGZvcm0vdGV4dC9Vbmljb2RlUmFuZ2UuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuY3BwIFwKKyAgICBwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9y
dC5jcHAgXAogICAgIHBsYXRmb3JtL1VVSUQuY3BwIFwKICAgICBwbGF0Zm9ybS9XaWRnZXQuY3Bw
IFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIFwKQEAgLTIzNzksNiArMjM4
MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBcCiAg
ICAgcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggXAogICAgIHBsYXRmb3JtL1RpbWVyLmggXAorICAg
IHBsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmggXAogICAgIHBsYXRmb3JtL1dpZGdldC5oIFwK
ICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaCBcCiAgICAgcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNTg1OCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI0LDYgKzMy
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vVGhyZWFkQ2hlY2suaCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9U
aW1lci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9UcmVlU2hhcmVkLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vV2lkZ2V0Lmgn
LApAQCAtMzM0NSw2ICszMzQ2LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9U
aGVtZUNocm9taXVtTWFjLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RoZW1l
Q2hyb21pdW1NYWMubW0nLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZl
bnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1dpZGdldENocm9t
aXVtLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2NvYS5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLm1tJywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAx
MTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjgwMDYsNiArMjgwMDYsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cVHJhY2VFdmVudFN1cHBv
cnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxUcmFjZUV2ZW50U3VwcG9ydC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxUcmVlU2hhcmVkLmgiCiAJCQkJPgog
CQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODEwLDYg
KzU4MTAsNyBAQAogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9y
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUy
QUIxNDlCRjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLzsgfTsKIAkJRDYzMEUy
QUMxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0
YXRzQ291bnRlci5oICovOyB9OwogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5
VXNhZ2VTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmggKi87
IH07CisJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NiAvKiBUcmFjZUV2ZW50U3VwcG9ydC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlC
RjM0NDAwNUIyRjk2IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmggKi87IH07CiAJCUQ2RTI3NkFGMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUw
MDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKIAkJRDZF
Mjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi87IH07CiAJ
CUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91
cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1
MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3Bw
ICovOyB9OwpAQCAtNTgxNyw2ICs1ODE4LDcgQEAKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUx
IC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBv
cnQuY3BwICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRB
RUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwICovOyB9OwogCQlENkZEQUVG
MzE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFF
MyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwICovOyB9OworCQlENkZEQUVGMzE0OUMwNjE5MDAz
N0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUzIC8qIFRyYWNlRXZl
bnRTdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRl
clJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCAqLzsgfTsKIAkJ
RDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlclJlZ2lvbi5oICovOyB9OwogCQlENzJGNkQ3OTE1MzE1OUEzMDAxRUU0NEUgLyog
Rmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDcyRjZENzcxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250
cm9sbGVyLmNwcCAqLzsgfTsKQEAgLTEyOTUyLDYgKzEyOTU0LDcgQEAKIAkJRDYzMEUyQUIxNDlC
RjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRzQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBw
b3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVVzYWdlU3VwcG9y
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTYgLyogVHJhY2VFdmVudFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhY2VFdmVudFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZF
Mjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFFMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8q
IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTU5LDYgKzEyOTYyLDcgQEAKIAkJRDZGREFFRjIx
NDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RhdHNDb3VudGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUz
IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2VFdmVudFN1cHBvcnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQg
LyogUmVuZGVyUmVnaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlclJlZ2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU2
MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVuZGVyUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG93VGhyZWFkQ29udHJvbGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDM1OCw2ICsyMDM2Miw4IEBACiAJ
CQkJMTg1QkNGMjcwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5oICovLAogCQkJCTkz
MzA5RUExMDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5jcHAgKi8sCiAJCQkJOTMwNUIyNEMwOThG
MUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8sCisJCQkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0
IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmNwcCAqLywKKwkJCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTYgLyogVHJhY2VFdmVudFN1cHBvcnQuaCAqLywKIAkJCQkxNDE5RDJDNDBDRUE2RjYxMDBGRjUw
N0EgLyogVHJlZVNoYXJlZC5oICovLAogCQkJCTJFM0JCRjA1MTE2MkRBMTEwMEI5NDA5QSAvKiBV
VUlELmNwcCAqLywKIAkJCQkyRTNCQkYwNjExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5oICovLApA
QCAtMjQ2NDAsNiArMjQ2NDYsNyBAQAogCQkJCTkzMDVCMjREMDk4RjFCNkIwMEMyODg1NSAvKiBU
aW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQjAwQ0Q2MzMxMDAwRkFEQTc1IC8qIFRp
bWVSYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFFMEVGQUM5MDYwMDlEMENBRiAv
KiBUaW1pbmdGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRDYzMEUyQUMxNDlCRjM0NDAw
NUIyRjk2IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzMzRE
NzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5
MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5RTkxMUNFMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb24u
aCBpbiBIZWFkZXJzICovLApAQCAtMjc2ODUsNiArMjc2OTIsNyBAQAogCQkJCTc1NTNDRkU5MTA4
RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTMzMDlFQTQwOTlFQjc4QzAwNTZFNTgxIC8qIFRpbWVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNCAvKiBUcmFjZUV2ZW50U3VwcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJh
Y2tCYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDMzNEQzMTQ1OUZGQUQwMDhEOEQ0NSAv
KiBUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkxMUMzMEVGODZENDcwMDlE
MENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
VHJhY2VFdmVudFN1cHBvcnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25zdCB1bnNp
Z25lZCBjaGFyKiBUcmFjZUV2ZW50U3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KGNvbnN0IGNoYXIqIGNhdGVnb3J5TmFtZSkKK3sKKyAgICByZXR1cm4gMDsKK30KKyAgICAKK2lu
dCBUcmFjZUV2ZW50U3VwcG9ydDo6YWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVnb3J5
RW5hYmxlZEZsYWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IG51bUFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh
cioqIGFyZ05hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGFyZ1R5cGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0aHJlc2hvbGRCZWdpbklkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcgbG9uZyB0aHJlc2hvbGQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBmbGFncykKK3sKKyAg
ICByZXR1cm4gLTE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFRyYWNlRXZlbnRTdXBwb3J0X2gKKyNkZWZpbmUgVHJhY2VF
dmVudFN1cHBvcnRfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRyYWNlRXZlbnRT
dXBwb3J0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciogZ2V0VHJh
Y2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIqIGNhdGVnb3J5TmFtZSk7CisgICAgc3Rh
dGljIGludCBhZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVnb3J5RW5hYmxlZEZsYWcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IG51bUFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqKiBhcmdOYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5z
aWduZWQgY2hhciogYXJnVHlwZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgdGhyZXNob2xkQmVnaW5JZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9uZyBsb25nIHRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciBmbGFncyk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBUcmFjZUV2ZW50U3VwcG9ydF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTE1ODU4KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM2OCwyMCArMzY4LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHBhaW50
VGhlbWVQYXJ0KEdyYXBoaWNzQ29udGV4dCosIFRoZW1lUGFydCwgVGhlbWVQYWludFN0YXRlLCBj
b25zdCBJbnRSZWN0JiwgY29uc3QgVGhlbWVQYWludEV4dHJhUGFyYW1zKik7CiAjZW5kaWYKIAot
ICAgIC8vIFRyYWNlIEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKiBjYXRlZ29yeU5hbWUpOwotICAgIHN0
YXRpYyBpbnQgYWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBudW1BcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBjaGFyKiogYXJnTmFtZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGFyZ1R5cGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1bnNpZ25lZCBsb25nIGxvbmcqIGFyZ1ZhbHVlcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHRocmVzaG9sZEJlZ2luSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvbmcgbG9uZyB0aHJlc2hvbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIgZmxhZ3MpOwotCiAgICAgLy8gVmlzaXRlZCBsaW5rcyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgTGlua0hh
c2ggdmlzaXRlZExpbmtIYXNoKGNvbnN0IFVDaGFyKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCk7CiAg
ICAgc3RhdGljIExpbmtIYXNoIHZpc2l0ZWRMaW5rSGFzaChjb25zdCBLVVJMJiBiYXNlLCBjb25z
dCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE2Myw3ICsxNjMsNyBAQAogI2lmbmRlZiBUcmFjZUV2ZW50X2gKICNkZWZpbmUgVHJhY2VF
dmVudF9oCiAKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKKyNpbmNsdWRlICJUcmFjZUV2
ZW50U3VwcG9ydC5oIgogCiAjaW5jbHVkZSA8d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTQ2Myw3ICs0NjMsNyBAQAogLy8gY29uc3Qg
dW5zaWduZWQgY2hhcioKIC8vICAgICBUUkFDRV9FVkVOVF9BUElfR0VUX0NBVEVHT1JZX0VOQUJM
RUQoY29uc3QgY2hhciogY2F0ZWdvcnlfbmFtZSkKICNkZWZpbmUgVFJBQ0VfRVZFTlRfQVBJX0dF
VF9DQVRFR09SWV9FTkFCTEVEIFwKLSAgICBXZWJDb3JlOjpQbGF0Zm9ybVN1cHBvcnQ6OmdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZworICAgIFdlYkNvcmU6OlRyYWNlRXZlbnRTdXBwb3J0Ojpn
ZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcKIAogLy8gQWRkIGEgdHJhY2UgZXZlbnQgdG8gdGhl
IHBsYXRmb3JtIHRyYWNpbmcgc3lzdGVtLiBSZXR1cm5zIHRocmVzaG9sZEJlZ2luSWQKIC8vIGZv
ciB1c2UgaW4gYSBjb3JyZXNwb25kaW5nIGVuZCBUUkFDRV9FVkVOVF9BUElfQUREX1RSQUNFX0VW
RU5UIGNhbGwuCkBAIC00ODAsNyArNDgwLDcgQEAKIC8vICAgICAgICAgICAgICAgICAgICBsb25n
IGxvbmcgdGhyZXNob2xkLAogLy8gICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgZmxh
Z3MpCiAjZGVmaW5lIFRSQUNFX0VWRU5UX0FQSV9BRERfVFJBQ0VfRVZFTlQgXAotICAgIFdlYkNv
cmU6OlBsYXRmb3JtU3VwcG9ydDo6YWRkVHJhY2VFdmVudAorICAgIFdlYkNvcmU6OlRyYWNlRXZl
bnRTdXBwb3J0OjphZGRUcmFjZUV2ZW50CiAKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnRTdXBwb3J0Q2hy
b21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1RyYWNlRXZlbnRTdXBwb3J0Q2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
VHJhY2VFdmVudFN1cHBvcnQuaCIKKworI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IHVuc2lnbmVkIGNoYXIqIFRyYWNlRXZlbnRTdXBw
b3J0OjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciogY2F0ZWdvcnlOYW1l
KQoreworICAgIHJldHVybiBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmdldFRyYWNlQ2F0
ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOworfQorICAgIAoraW50IFRyYWNlRXZlbnRT
dXBwb3J0OjphZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY2F0ZWdvcnlFbmFibGVkRmxhZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBp
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVtQXJncywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hh
ciogYXJnVHlwZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dW5zaWduZWQgbG9uZyBsb25nKiBhcmdWYWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHRocmVzaG9sZEJlZ2luSWQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbG9uZyBsb25nIHRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGZsYWdzKQoreworICAgIHJldHVybiBXZWJL
aXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmFkZFRyYWNlRXZlbnQocGhhc2UsIGNhdGVnb3J5RW5h
YmxlZEZsYWcsIG5hbWUsIGlkLCBudW1BcmdzLCBhcmdOYW1lcywgYXJnVHlwZXMsIGFyZ1ZhbHVl
cywgdGhyZXNob2xkQmVnaW5JZCwgdGhyZXNob2xkLCBmbGFncyk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTU4
NjIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTAyICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwgYWRkVHJhY2VFdmVudCBhbmQgZ2V0
VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFkZFRyYWNlRXZlbnQgaGFzIGJlZW4g
bW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAgICB0byBQbGF0Zm9ybS5oLCB3ZSBu
ZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQorICAgICAgICBmcm9tIFdlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQgdGhlCisgICAgICAgIHZhcmlvdXMg
cGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQgaGVhZGVyKQorICAgICAgICBXZSBk
byB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQgY2xhc3MgaW4KKyAgICAgICAgV2Vi
Q29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9uIGluCisgICAgICAgIFdlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAuCisgICAgICAg
IE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVudCB0aGVpciBvd24gdmVyc2lvbiBv
ZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNoLiBUaGlzIHBhdHRlcm4gd2FzIGJh
c2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0L0hpc3RvZ3JhbVN1cHBvcnRDaHJv
bWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBnZXRUcmFjZUNhdGVnb3J5RW5hYmxl
ZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0aGlzIHBhdGNoLgorCisgICAgICAg
ICogc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0w
NS0wMiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBUeXBlRXJyb3I6IENhbm5vdCBjYWxsIG1ldGhvZCAnY3JlYXRlTGl2ZUxv
Y2F0aW9uJyBvZiB1bmRlZmluZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Bs
YXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEx
LDI4ICs4MTEsNiBAQCB2b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRUaGVtZVBhcnQoCiAKICNl
bmRpZgogCi0vLyBUcmFjZSBFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWNvbnN0IHVuc2lnbmVkIGNoYXIqIFBs
YXRmb3JtU3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIqIGNh
dGVnb3J5TmFtZSkKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOwotfQotaW50IFBsYXRmb3JtU3Vw
cG9ydDo6YWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1BcmdzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGFyZ1R5cGVzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxv
bmcqIGFyZ1ZhbHVlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRo
cmVzaG9sZEJlZ2luSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcg
bG9uZyB0aHJlc2hvbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIgZmxhZ3MpCi17Ci0gICAgcmV0dXJuIHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5h
ZGRUcmFjZUV2ZW50KAotICAgICAgICBwaGFzZSwgY2F0ZWdvcnlFbmFibGVkRmxhZywgbmFtZSwg
aWQsIG51bUFyZ3MsIGFyZ05hbWVzLCBhcmdUeXBlcywgYXJnVmFsdWVzLCAgdGhyZXNob2xkQmVn
aW5JZCwgdGhyZXNob2xkLCBmbGFncyk7Ci19Ci0KIC8vIFZpc2l0ZWQgTGlua3MgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAog
TGlua0hhc2ggUGxhdGZvcm1TdXBwb3J0Ojp2aXNpdGVkTGlua0hhc2goY29uc3QgVUNoYXIqIHVy
bCwgdW5zaWduZWQgbGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139865</attachid>
            <date>2012-05-02 13:06:48 -0700</date>
            <delta_ts>2012-05-02 13:50:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85399-20120502160637.patch</filename>
            <type>text/plain</type>
            <size>26582</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNTg2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTAyICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
YWRkVHJhY2VFdmVudCBhbmQgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFk
ZFRyYWNlRXZlbnQgaGFzIGJlZW4gbW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAg
ICB0byBQbGF0Zm9ybS5oLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQor
ICAgICAgICBmcm9tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQg
dGhlCisgICAgICAgIHZhcmlvdXMgcGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQg
aGVhZGVyKQorICAgICAgICBXZSBkbyB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQg
Y2xhc3MgaW4KKyAgICAgICAgV2ViQ29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9u
IGluCisgICAgICAgIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAuCisgICAgICAgIE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVu
dCB0aGVpciBvd24gdmVyc2lvbiBvZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNo
LiBUaGlzIHBhdHRlcm4gd2FzIGJhc2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0
L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBn
ZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0
aGlzIHBhdGNoLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
VHJhY2VFdmVudFN1cHBvcnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJhY2VFdmVudFN1cHBvcnQ6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6YWRkVHJhY2VFdmVudCk6
CisgICAgICAgICogcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFRyYWNlRXZlbnRTdXBwb3J0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9UcmFjZUV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVu
dFN1cHBvcnRDaHJvbWl1bS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNlRXZlbnRTdXBwb3J0OjphZGRUcmFjZUV2ZW50KToK
KwogMjAxMi0wNS0wMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSB0aXRsZSBhbmQgbWVkaWEgcXVlcmllcyBmcm9tIFN0eWxlU2hlZXRJbnRlcm5hbCB0
byBDU1NTdHlsZVNoZWV0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTE1ODU4
KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEx
MzIsNiArMTEzMiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmNwcAogICAgIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKICAgICBwbGF0Zm9y
bS9UaW1lci5jcHAKKyAgICBwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAKICAgICBwbGF0
Zm9ybS9VVUlELmNwcAogICAgIHBsYXRmb3JtL1dpZGdldC5jcHAKIApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTgwLDcgKzM1ODAsNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TU0xLZXlHZW5lcmF0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU3RhdHNDb3VudGVyLmggXAorICAgICAgICBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VkZGVuVGVybWlu
YXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtVGltZS5oIFwKQEAgLTM2NTQsNiArMzY1NCw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBcCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcCBcCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RyYWNlRXZlbnRTdXBwb3J0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVT
aGFyZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1VVSUQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDExNTg1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTEyMDcs
NiArMTIwNyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL1RpbWVyLmNwcCBcCiAgICAg
cGxhdGZvcm0vdGV4dC9Vbmljb2RlUmFuZ2UuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuY3BwIFwKKyAgICBwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9y
dC5jcHAgXAogICAgIHBsYXRmb3JtL1VVSUQuY3BwIFwKICAgICBwbGF0Zm9ybS9XaWRnZXQuY3Bw
IFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIFwKQEAgLTIzNzksNiArMjM4
MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBcCiAg
ICAgcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggXAogICAgIHBsYXRmb3JtL1RpbWVyLmggXAorICAg
IHBsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmggXAogICAgIHBsYXRmb3JtL1dpZGdldC5oIFwK
ICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaCBcCiAgICAgcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNTg1OCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI0LDYgKzMy
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vVGhyZWFkQ2hlY2suaCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9U
aW1lci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9UcmVlU2hhcmVkLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vV2lkZ2V0Lmgn
LApAQCAtMzM0NSw2ICszMzQ2LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9U
aGVtZUNocm9taXVtTWFjLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RoZW1l
Q2hyb21pdW1NYWMubW0nLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZl
bnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1dpZGdldENocm9t
aXVtLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2NvYS5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLm1tJywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAx
MTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjgwMDYsNiArMjgwMDYsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cVHJhY2VFdmVudFN1cHBv
cnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxUcmFjZUV2ZW50U3VwcG9ydC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxUcmVlU2hhcmVkLmgiCiAJCQkJPgog
CQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODEwLDYg
KzU4MTAsNyBAQAogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9y
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUy
QUIxNDlCRjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLzsgfTsKIAkJRDYzMEUy
QUMxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0
YXRzQ291bnRlci5oICovOyB9OwogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5
VXNhZ2VTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmggKi87
IH07CisJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NiAvKiBUcmFjZUV2ZW50U3VwcG9ydC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlC
RjM0NDAwNUIyRjk2IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmggKi87IH07CiAJCUQ2RTI3NkFGMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUw
MDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKIAkJRDZF
Mjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi87IH07CiAJ
CUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91
cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1
MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3Bw
ICovOyB9OwpAQCAtNTgxNyw2ICs1ODE4LDcgQEAKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUx
IC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBv
cnQuY3BwICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRB
RUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwICovOyB9OwogCQlENkZEQUVG
MzE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFF
MyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwICovOyB9OworCQlENkZEQUVGMzE0OUMwNjE5MDAz
N0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0IC8qIFRyYWNlRXZl
bnRTdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRl
clJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCAqLzsgfTsKIAkJ
RDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlclJlZ2lvbi5oICovOyB9OwogCQlENzJGNkQ3OTE1MzE1OUEzMDAxRUU0NEUgLyog
Rmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDcyRjZENzcxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250
cm9sbGVyLmNwcCAqLzsgfTsKQEAgLTEyOTUyLDYgKzEyOTU0LDcgQEAKIAkJRDYzMEUyQUIxNDlC
RjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRzQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBw
b3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVVzYWdlU3VwcG9y
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTYgLyogVHJhY2VFdmVudFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhY2VFdmVudFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZF
Mjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFFMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8q
IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTU5LDYgKzEyOTYyLDcgQEAKIAkJRDZGREFFRjIx
NDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RhdHNDb3VudGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUz
IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2VFdmVudFN1cHBvcnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQg
LyogUmVuZGVyUmVnaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlclJlZ2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU2
MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVuZGVyUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG93VGhyZWFkQ29udHJvbGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDM1OCw2ICsyMDM2Miw4IEBACiAJ
CQkJMTg1QkNGMjcwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5oICovLAogCQkJCTkz
MzA5RUExMDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5jcHAgKi8sCiAJCQkJOTMwNUIyNEMwOThG
MUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8sCisJCQkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0
IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmNwcCAqLywKKwkJCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTYgLyogVHJhY2VFdmVudFN1cHBvcnQuaCAqLywKIAkJCQkxNDE5RDJDNDBDRUE2RjYxMDBGRjUw
N0EgLyogVHJlZVNoYXJlZC5oICovLAogCQkJCTJFM0JCRjA1MTE2MkRBMTEwMEI5NDA5QSAvKiBV
VUlELmNwcCAqLywKIAkJCQkyRTNCQkYwNjExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5oICovLApA
QCAtMjQ2NDAsNiArMjQ2NDYsNyBAQAogCQkJCTkzMDVCMjREMDk4RjFCNkIwMEMyODg1NSAvKiBU
aW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQjAwQ0Q2MzMxMDAwRkFEQTc1IC8qIFRp
bWVSYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFFMEVGQUM5MDYwMDlEMENBRiAv
KiBUaW1pbmdGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRDYzMEUyQUMxNDlCRjM0NDAw
NUIyRjk2IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzMzRE
NzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5
MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5RTkxMUNFMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb24u
aCBpbiBIZWFkZXJzICovLApAQCAtMjc2ODUsNiArMjc2OTIsNyBAQAogCQkJCTc1NTNDRkU5MTA4
RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTMzMDlFQTQwOTlFQjc4QzAwNTZFNTgxIC8qIFRpbWVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNCAvKiBUcmFjZUV2ZW50U3VwcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJh
Y2tCYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDMzNEQzMTQ1OUZGQUQwMDhEOEQ0NSAv
KiBUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkxMUMzMEVGODZENDcwMDlE
MENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
VHJhY2VFdmVudFN1cHBvcnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25zdCB1bnNp
Z25lZCBjaGFyKiBUcmFjZUV2ZW50U3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KGNvbnN0IGNoYXIqIGNhdGVnb3J5TmFtZSkKK3sKKyAgICByZXR1cm4gMDsKK30KKyAgICAKK2lu
dCBUcmFjZUV2ZW50U3VwcG9ydDo6YWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVnb3J5
RW5hYmxlZEZsYWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IG51bUFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh
cioqIGFyZ05hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGFyZ1R5cGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0aHJlc2hvbGRCZWdpbklkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcgbG9uZyB0aHJlc2hvbGQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBmbGFncykKK3sKKyAg
ICByZXR1cm4gLTE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFRyYWNlRXZlbnRTdXBwb3J0X2gKKyNkZWZpbmUgVHJhY2VF
dmVudFN1cHBvcnRfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRyYWNlRXZlbnRT
dXBwb3J0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciogZ2V0VHJh
Y2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIqIGNhdGVnb3J5TmFtZSk7CisgICAgc3Rh
dGljIGludCBhZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVnb3J5RW5hYmxlZEZsYWcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IG51bUFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqKiBhcmdOYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5z
aWduZWQgY2hhciogYXJnVHlwZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgdGhyZXNob2xkQmVnaW5JZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9uZyBsb25nIHRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgY2hhciBmbGFncyk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBUcmFjZUV2ZW50U3VwcG9ydF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTE1ODU4KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM2OCwyMCArMzY4LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHBhaW50
VGhlbWVQYXJ0KEdyYXBoaWNzQ29udGV4dCosIFRoZW1lUGFydCwgVGhlbWVQYWludFN0YXRlLCBj
b25zdCBJbnRSZWN0JiwgY29uc3QgVGhlbWVQYWludEV4dHJhUGFyYW1zKik7CiAjZW5kaWYKIAot
ICAgIC8vIFRyYWNlIEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKiBjYXRlZ29yeU5hbWUpOwotICAgIHN0
YXRpYyBpbnQgYWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBudW1BcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBjaGFyKiogYXJnTmFtZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGFyZ1R5cGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCB1bnNpZ25lZCBsb25nIGxvbmcqIGFyZ1ZhbHVlcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHRocmVzaG9sZEJlZ2luSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvbmcgbG9uZyB0aHJlc2hvbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIgZmxhZ3MpOwotCiAgICAgLy8gVmlzaXRlZCBsaW5rcyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgTGlua0hh
c2ggdmlzaXRlZExpbmtIYXNoKGNvbnN0IFVDaGFyKiB1cmwsIHVuc2lnbmVkIGxlbmd0aCk7CiAg
ICAgc3RhdGljIExpbmtIYXNoIHZpc2l0ZWRMaW5rSGFzaChjb25zdCBLVVJMJiBiYXNlLCBjb25z
dCBBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE2Myw3ICsxNjMsNyBAQAogI2lmbmRlZiBUcmFjZUV2ZW50X2gKICNkZWZpbmUgVHJhY2VF
dmVudF9oCiAKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKKyNpbmNsdWRlICJUcmFjZUV2
ZW50U3VwcG9ydC5oIgogCiAjaW5jbHVkZSA8d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTQ2Myw3ICs0NjMsNyBAQAogLy8gY29uc3Qg
dW5zaWduZWQgY2hhcioKIC8vICAgICBUUkFDRV9FVkVOVF9BUElfR0VUX0NBVEVHT1JZX0VOQUJM
RUQoY29uc3QgY2hhciogY2F0ZWdvcnlfbmFtZSkKICNkZWZpbmUgVFJBQ0VfRVZFTlRfQVBJX0dF
VF9DQVRFR09SWV9FTkFCTEVEIFwKLSAgICBXZWJDb3JlOjpQbGF0Zm9ybVN1cHBvcnQ6OmdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZworICAgIFdlYkNvcmU6OlRyYWNlRXZlbnRTdXBwb3J0Ojpn
ZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcKIAogLy8gQWRkIGEgdHJhY2UgZXZlbnQgdG8gdGhl
IHBsYXRmb3JtIHRyYWNpbmcgc3lzdGVtLiBSZXR1cm5zIHRocmVzaG9sZEJlZ2luSWQKIC8vIGZv
ciB1c2UgaW4gYSBjb3JyZXNwb25kaW5nIGVuZCBUUkFDRV9FVkVOVF9BUElfQUREX1RSQUNFX0VW
RU5UIGNhbGwuCkBAIC00ODAsNyArNDgwLDcgQEAKIC8vICAgICAgICAgICAgICAgICAgICBsb25n
IGxvbmcgdGhyZXNob2xkLAogLy8gICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgZmxh
Z3MpCiAjZGVmaW5lIFRSQUNFX0VWRU5UX0FQSV9BRERfVFJBQ0VfRVZFTlQgXAotICAgIFdlYkNv
cmU6OlBsYXRmb3JtU3VwcG9ydDo6YWRkVHJhY2VFdmVudAorICAgIFdlYkNvcmU6OlRyYWNlRXZl
bnRTdXBwb3J0OjphZGRUcmFjZUV2ZW50CiAKIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnRTdXBwb3J0Q2hy
b21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1RyYWNlRXZlbnRTdXBwb3J0Q2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
VHJhY2VFdmVudFN1cHBvcnQuaCIKKworI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IHVuc2lnbmVkIGNoYXIqIFRyYWNlRXZlbnRTdXBw
b3J0OjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciogY2F0ZWdvcnlOYW1l
KQoreworICAgIHJldHVybiBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmdldFRyYWNlQ2F0
ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOworfQorICAgIAoraW50IFRyYWNlRXZlbnRT
dXBwb3J0OjphZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY2F0ZWdvcnlFbmFibGVkRmxhZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBp
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVtQXJncywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hh
ciogYXJnVHlwZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
dW5zaWduZWQgbG9uZyBsb25nKiBhcmdWYWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHRocmVzaG9sZEJlZ2luSWQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbG9uZyBsb25nIHRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGZsYWdzKQoreworICAgIHJldHVybiBXZWJL
aXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmFkZFRyYWNlRXZlbnQocGhhc2UsIGNhdGVnb3J5RW5h
YmxlZEZsYWcsIG5hbWUsIGlkLCBudW1BcmdzLCBhcmdOYW1lcywgYXJnVHlwZXMsIGFyZ1ZhbHVl
cywgdGhyZXNob2xkQmVnaW5JZCwgdGhyZXNob2xkLCBmbGFncyk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTU4
NjIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTAyICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwgYWRkVHJhY2VFdmVudCBhbmQgZ2V0
VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFkZFRyYWNlRXZlbnQgaGFzIGJlZW4g
bW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAgICB0byBQbGF0Zm9ybS5oLCB3ZSBu
ZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQorICAgICAgICBmcm9tIFdlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQgdGhlCisgICAgICAgIHZhcmlvdXMg
cGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQgaGVhZGVyKQorICAgICAgICBXZSBk
byB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQgY2xhc3MgaW4KKyAgICAgICAgV2Vi
Q29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9uIGluCisgICAgICAgIFdlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAuCisgICAgICAg
IE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVudCB0aGVpciBvd24gdmVyc2lvbiBv
ZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNoLiBUaGlzIHBhdHRlcm4gd2FzIGJh
c2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0L0hpc3RvZ3JhbVN1cHBvcnRDaHJv
bWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBnZXRUcmFjZUNhdGVnb3J5RW5hYmxl
ZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0aGlzIHBhdGNoLgorCisgICAgICAg
ICogc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0w
NS0wMiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBUeXBlRXJyb3I6IENhbm5vdCBjYWxsIG1ldGhvZCAnY3JlYXRlTGl2ZUxv
Y2F0aW9uJyBvZiB1bmRlZmluZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Bs
YXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEx
LDI4ICs4MTEsNiBAQCB2b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRUaGVtZVBhcnQoCiAKICNl
bmRpZgogCi0vLyBUcmFjZSBFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWNvbnN0IHVuc2lnbmVkIGNoYXIqIFBs
YXRmb3JtU3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIqIGNh
dGVnb3J5TmFtZSkKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOwotfQotaW50IFBsYXRmb3JtU3Vw
cG9ydDo6YWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1BcmdzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGFyZ1R5cGVzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxv
bmcqIGFyZ1ZhbHVlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRo
cmVzaG9sZEJlZ2luSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcg
bG9uZyB0aHJlc2hvbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIgZmxhZ3MpCi17Ci0gICAgcmV0dXJuIHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5h
ZGRUcmFjZUV2ZW50KAotICAgICAgICBwaGFzZSwgY2F0ZWdvcnlFbmFibGVkRmxhZywgbmFtZSwg
aWQsIG51bUFyZ3MsIGFyZ05hbWVzLCBhcmdUeXBlcywgYXJnVmFsdWVzLCAgdGhyZXNob2xkQmVn
aW5JZCwgdGhyZXNob2xkLCBmbGFncyk7Ci19Ci0KIC8vIFZpc2l0ZWQgTGlua3MgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAog
TGlua0hhc2ggUGxhdGZvcm1TdXBwb3J0Ojp2aXNpdGVkTGlua0hhc2goY29uc3QgVUNoYXIqIHVy
bCwgdW5zaWduZWQgbGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139877</attachid>
            <date>2012-05-02 13:50:24 -0700</date>
            <delta_ts>2012-05-02 19:09:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85399-20120502165013.patch</filename>
            <type>text/plain</type>
            <size>26350</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNTg2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTAyICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
YWRkVHJhY2VFdmVudCBhbmQgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFk
ZFRyYWNlRXZlbnQgaGFzIGJlZW4gbW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAg
ICB0byBQbGF0Zm9ybS5oLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQor
ICAgICAgICBmcm9tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQg
dGhlCisgICAgICAgIHZhcmlvdXMgcGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQg
aGVhZGVyKQorICAgICAgICBXZSBkbyB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQg
Y2xhc3MgaW4KKyAgICAgICAgV2ViQ29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9u
IGluCisgICAgICAgIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAuCisgICAgICAgIE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVu
dCB0aGVpciBvd24gdmVyc2lvbiBvZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNo
LiBUaGlzIHBhdHRlcm4gd2FzIGJhc2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0
L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBn
ZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0
aGlzIHBhdGNoLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
VHJhY2VFdmVudFN1cHBvcnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJhY2VFdmVudFN1cHBvcnQ6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6YWRkVHJhY2VFdmVudCk6
CisgICAgICAgICogcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFRyYWNlRXZlbnRTdXBwb3J0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9UcmFjZUV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVu
dFN1cHBvcnRDaHJvbWl1bS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNlRXZlbnRTdXBwb3J0OjphZGRUcmFjZUV2ZW50KToK
KwogMjAxMi0wNS0wMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSB0aXRsZSBhbmQgbWVkaWEgcXVlcmllcyBmcm9tIFN0eWxlU2hlZXRJbnRlcm5hbCB0
byBDU1NTdHlsZVNoZWV0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTE1ODU4
KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEx
MzIsNiArMTEzMiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmNwcAogICAgIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKICAgICBwbGF0Zm9y
bS9UaW1lci5jcHAKKyAgICBwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAKICAgICBwbGF0
Zm9ybS9VVUlELmNwcAogICAgIHBsYXRmb3JtL1dpZGdldC5jcHAKIApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTgwLDcgKzM1ODAsNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TU0xLZXlHZW5lcmF0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU3RhdHNDb3VudGVyLmggXAorICAgICAgICBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VkZGVuVGVybWlu
YXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3lzdGVtVGltZS5oIFwKQEAgLTM2NTQsNiArMzY1NCw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBcCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcCBcCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RyYWNlRXZlbnRTdXBwb3J0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVT
aGFyZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1VVSUQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDExNTg1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTEyMDcs
NiArMTIwNyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL1RpbWVyLmNwcCBcCiAgICAg
cGxhdGZvcm0vdGV4dC9Vbmljb2RlUmFuZ2UuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuY3BwIFwKKyAgICBwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9y
dC5jcHAgXAogICAgIHBsYXRmb3JtL1VVSUQuY3BwIFwKICAgICBwbGF0Zm9ybS9XaWRnZXQuY3Bw
IFwKICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIFwKQEAgLTIzNzksNiArMjM4
MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBcCiAg
ICAgcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggXAogICAgIHBsYXRmb3JtL1RpbWVyLmggXAorICAg
IHBsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmggXAogICAgIHBsYXRmb3JtL1dpZGdldC5oIFwK
ICAgICBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaCBcCiAgICAgcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNTg1OCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI0LDYgKzMy
NCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vVGhyZWFkQ2hlY2suaCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9U
aW1lci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9UcmVlU2hhcmVkLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vV2lkZ2V0Lmgn
LApAQCAtMzM0NSw2ICszMzQ2LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9U
aGVtZUNocm9taXVtTWFjLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RoZW1l
Q2hyb21pdW1NYWMubW0nLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZl
bnQuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1dpZGdldENocm9t
aXVtLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY29jb2EvS2V5RXZlbnRDb2NvYS5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLm1tJywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAx
MTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjgwMDYsNiArMjgwMDYsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cVHJhY2VFdmVudFN1cHBv
cnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxUcmFjZUV2ZW50U3VwcG9ydC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxUcmVlU2hhcmVkLmgiCiAJCQkJPgog
CQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODEwLDYg
KzU4MTAsNyBAQAogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9y
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUy
QUIxNDlCRjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLzsgfTsKIAkJRDYzMEUy
QUMxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0
YXRzQ291bnRlci5oICovOyB9OwogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5
VXNhZ2VTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmggKi87
IH07CisJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NiAvKiBUcmFjZUV2ZW50U3VwcG9ydC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlC
RjM0NDAwNUIyRjk2IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmggKi87IH07CiAJCUQ2RTI3NkFGMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUw
MDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKIAkJRDZF
Mjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi87IH07CiAJ
CUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91
cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1
MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3Bw
ICovOyB9OwpAQCAtNTgxNyw2ICs1ODE4LDcgQEAKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUx
IC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBv
cnQuY3BwICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRB
RUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwICovOyB9OwogCQlENkZEQUVG
MzE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFF
MyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwICovOyB9OworCQlENkZEQUVGMzE0OUMwNjE5MDAz
N0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0IC8qIFRyYWNlRXZl
bnRTdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDcwQUQ2NTcxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRl
clJlZ2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCAqLzsgfTsKIAkJ
RDcwQUQ2NTgxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlclJlZ2lvbi5oICovOyB9OwogCQlENzJGNkQ3OTE1MzE1OUEzMDAxRUU0NEUgLyog
Rmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDcyRjZENzcxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250
cm9sbGVyLmNwcCAqLzsgfTsKQEAgLTEyOTUyLDYgKzEyOTU0LDcgQEAKIAkJRDYzMEUyQUIxNDlC
RjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRzQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBw
b3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVVzYWdlU3VwcG9y
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTYgLyogVHJhY2VFdmVudFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhY2VFdmVudFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZF
Mjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFFMTQ2
Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8q
IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTU5LDYgKzEyOTYyLDcgQEAKIAkJRDZGREFFRjIx
NDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RhdHNDb3VudGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUz
IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVHJhY2VFdmVudFN1cHBvcnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NTEzRTEzNDJCMDA1QjUwQjQg
LyogUmVuZGVyUmVnaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlclJlZ2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ3MEFENjU2
MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVuZGVyUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG93VGhyZWFkQ29udHJvbGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDM1OCw2ICsyMDM2Miw4IEBACiAJ
CQkJMTg1QkNGMjcwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5oICovLAogCQkJCTkz
MzA5RUExMDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5jcHAgKi8sCiAJCQkJOTMwNUIyNEMwOThG
MUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8sCisJCQkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0
IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmNwcCAqLywKKwkJCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJG
OTYgLyogVHJhY2VFdmVudFN1cHBvcnQuaCAqLywKIAkJCQkxNDE5RDJDNDBDRUE2RjYxMDBGRjUw
N0EgLyogVHJlZVNoYXJlZC5oICovLAogCQkJCTJFM0JCRjA1MTE2MkRBMTEwMEI5NDA5QSAvKiBV
VUlELmNwcCAqLywKIAkJCQkyRTNCQkYwNjExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5oICovLApA
QCAtMjQ2NDAsNiArMjQ2NDYsNyBAQAogCQkJCTkzMDVCMjREMDk4RjFCNkIwMEMyODg1NSAvKiBU
aW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjEzQjAwQ0Q2MzMxMDAwRkFEQTc1IC8qIFRp
bWVSYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFFMEVGQUM5MDYwMDlEMENBRiAv
KiBUaW1pbmdGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRDYzMEUyQUMxNDlCRjM0NDAw
NUIyRjk2IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzMzRE
NzE0NTlGRkQ1MDA4RDhENDUgLyogVHJhY2tCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5
MTFDNDBFRjg2RDQ3MDA5RDBDQUYgLyogVHJhbnNmb3JtYXRpb25NYXRyaXguaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5RTkxMUNFMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2Zvcm1PcGVyYXRpb24u
aCBpbiBIZWFkZXJzICovLApAQCAtMjc2ODUsNiArMjc2OTIsNyBAQAogCQkJCTc1NTNDRkU5MTA4
RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTMzMDlFQTQwOTlFQjc4QzAwNTZFNTgxIC8qIFRpbWVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUU0NDYxM0FGMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNCAvKiBUcmFjZUV2ZW50U3VwcG9y
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzAzMzREOTE0NUEwMDZGMDA4RDhENDUgLyogVHJh
Y2tCYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MDMzNEQzMTQ1OUZGQUQwMDhEOEQ0NSAv
KiBUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RTkxMUMzMEVGODZENDcwMDlE
MENBRiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
VHJhY2VFdmVudFN1cHBvcnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25zdCB1bnNp
Z25lZCBjaGFyKiBUcmFjZUV2ZW50U3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KGNvbnN0IGNoYXIqKQoreworICAgIHJldHVybiAwOworfQorICAgIAoraW50IFRyYWNlRXZlbnRT
dXBwb3J0OjphZGRUcmFjZUV2ZW50KGNoYXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciosCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgY2hhciosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyBsb25nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgY2hhciosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5z
aWduZWQgbG9uZyBsb25nKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIpCit7CisgICAg
cmV0dXJuIC0xOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBUcmFjZUV2ZW50U3VwcG9ydF9oCisjZGVmaW5lIFRyYWNlRXZl
bnRTdXBwb3J0X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUcmFjZUV2ZW50U3Vw
cG9ydCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGdldFRyYWNl
Q2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKik7CisgICAgc3RhdGljIGludCBhZGRUcmFj
ZUV2ZW50KGNoYXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IGNoYXIqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hh
ciosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9u
ZyosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbG9uZyBsb25nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBjaGFyKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFRy
YWNlRXZlbnRTdXBwb3J0X2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzY4LDIwICszNjgsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcGFpbnRUaGVt
ZVBhcnQoR3JhcGhpY3NDb250ZXh0KiwgVGhlbWVQYXJ0LCBUaGVtZVBhaW50U3RhdGUsIGNvbnN0
IEludFJlY3QmLCBjb25zdCBUaGVtZVBhaW50RXh0cmFQYXJhbXMqKTsKICNlbmRpZgogCi0gICAg
Ly8gVHJhY2UgRXZlbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciogZ2V0VHJhY2VD
YXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIqIGNhdGVnb3J5TmFtZSk7Ci0gICAgc3RhdGlj
IGludCBhZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVnb3J5RW5hYmxlZEZsYWcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IG51bUFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIqKiBhcmdOYW1lcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgY2hhciogYXJnVHlwZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVu
c2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgdGhyZXNob2xkQmVnaW5JZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9u
ZyBsb25nIHRocmVzaG9sZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciBmbGFncyk7Ci0KICAgICAvLyBWaXNpdGVkIGxpbmtzIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyBMaW5rSGFzaCB2
aXNpdGVkTGlua0hhc2goY29uc3QgVUNoYXIqIHVybCwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBz
dGF0aWMgTGlua0hhc2ggdmlzaXRlZExpbmtIYXNoKGNvbnN0IEtVUkwmIGJhc2UsIGNvbnN0IEF0
b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1RyYWNlRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgJKHJldmlzaW9uIDExNTg1OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTYzLDcgKzE2Myw3IEBACiAjaWZuZGVmIFRyYWNlRXZlbnRfaAogI2RlZmluZSBUcmFjZUV2ZW50
X2gKIAotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgorI2luY2x1ZGUgIlRyYWNlRXZlbnRT
dXBwb3J0LmgiCiAKICNpbmNsdWRlIDx3dGYvRHluYW1pY0Fubm90YXRpb25zLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNDYzLDcgKzQ2Myw3IEBACiAvLyBjb25zdCB1bnNp
Z25lZCBjaGFyKgogLy8gICAgIFRSQUNFX0VWRU5UX0FQSV9HRVRfQ0FURUdPUllfRU5BQkxFRChj
b25zdCBjaGFyKiBjYXRlZ29yeV9uYW1lKQogI2RlZmluZSBUUkFDRV9FVkVOVF9BUElfR0VUX0NB
VEVHT1JZX0VOQUJMRUQgXAotICAgIFdlYkNvcmU6OlBsYXRmb3JtU3VwcG9ydDo6Z2V0VHJhY2VD
YXRlZ29yeUVuYWJsZWRGbGFnCisgICAgV2ViQ29yZTo6VHJhY2VFdmVudFN1cHBvcnQ6OmdldFRy
YWNlQ2F0ZWdvcnlFbmFibGVkRmxhZwogCiAvLyBBZGQgYSB0cmFjZSBldmVudCB0byB0aGUgcGxh
dGZvcm0gdHJhY2luZyBzeXN0ZW0uIFJldHVybnMgdGhyZXNob2xkQmVnaW5JZAogLy8gZm9yIHVz
ZSBpbiBhIGNvcnJlc3BvbmRpbmcgZW5kIFRSQUNFX0VWRU5UX0FQSV9BRERfVFJBQ0VfRVZFTlQg
Y2FsbC4KQEAgLTQ4MCw3ICs0ODAsNyBAQAogLy8gICAgICAgICAgICAgICAgICAgIGxvbmcgbG9u
ZyB0aHJlc2hvbGQsCiAvLyAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBmbGFncykK
ICNkZWZpbmUgVFJBQ0VfRVZFTlRfQVBJX0FERF9UUkFDRV9FVkVOVCBcCi0gICAgV2ViQ29yZTo6
UGxhdGZvcm1TdXBwb3J0OjphZGRUcmFjZUV2ZW50CisgICAgV2ViQ29yZTo6VHJhY2VFdmVudFN1
cHBvcnQ6OmFkZFRyYWNlRXZlbnQKIAogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJh
Y2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50U3VwcG9ydENocm9taXVtLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUcmFj
ZUV2ZW50U3VwcG9ydC5oIgorCisjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY29uc3QgdW5zaWduZWQgY2hhciogVHJhY2VFdmVudFN1cHBvcnQ6
OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjb25zdCBjaGFyKiBjYXRlZ29yeU5hbWUpCit7
CisgICAgcmV0dXJuIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+Z2V0VHJhY2VDYXRlZ29y
eUVuYWJsZWRGbGFnKGNhdGVnb3J5TmFtZSk7Cit9CisgICAgCitpbnQgVHJhY2VFdmVudFN1cHBv
cnQ6OmFkZFRyYWNlRXZlbnQoY2hhciBwaGFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGlkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1BcmdzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqKiBhcmdOYW1lcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBh
cmdUeXBlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNp
Z25lZCBsb25nIGxvbmcqIGFyZ1ZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgdGhyZXNob2xkQmVnaW5JZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsb25nIGxvbmcgdGhyZXNob2xkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgZmxhZ3MpCit7CisgICAgcmV0dXJuIFdlYktpdDo6
UGxhdGZvcm06OmN1cnJlbnQoKS0+YWRkVHJhY2VFdmVudChwaGFzZSwgY2F0ZWdvcnlFbmFibGVk
RmxhZywgbmFtZSwgaWQsIG51bUFyZ3MsIGFyZ05hbWVzLCBhcmdUeXBlcywgYXJnVmFsdWVzLCB0
aHJlc2hvbGRCZWdpbklkLCB0aHJlc2hvbGQsIGZsYWdzKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNTg2MikK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTItMDUtMDIgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ2FsbCBhZGRUcmFjZUV2ZW50IGFuZCBnZXRUcmFj
ZUNhdGVnb3J5RW5hYmxlZEZsYWcgZGlyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg1Mzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm93IHRoYXQgYWRkVHJhY2VFdmVudCBoYXMgYmVlbiBtb3Zl
ZCBmcm9tIFBsYXRmb3JtU3VwcG9ydC5oCisgICAgICAgIHRvIFBsYXRmb3JtLmgsIHdlIG5lZWQg
dG8gYmUgYWJsZSB0byBjYWxsIGl0IGRpcmVjdGx5CisgICAgICAgIGZyb20gV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmggKGFuZCB0aGUKKyAgICAgICAgdmFyaW91cyBwbGFj
ZXMgaW4gV2ViQ29yZSB0aGF0IGluY2x1ZGUgdGhhdCBoZWFkZXIpCisgICAgICAgIFdlIGRvIHRo
aXMgd2l0aCBhIG5ldyBUcmFjZUV2ZW50U3VwcG9ydCBjbGFzcyBpbgorICAgICAgICBXZWJDb3Jl
L3BsYXRmb3JtLyBhbmQgYW4gaW1wbGVtZW50YXRpb24gaW4KKyAgICAgICAgV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50U3VwcG9ydENocm9taXVtLmNwcC4KKyAgICAgICAgT3Ro
ZXIgcG9ydHMgYXJlIHdlbGNvbWUgdG8gaW1wbGVtZW50IHRoZWlyIG93biB2ZXJzaW9uIG9mCisg
ICAgICAgIHRyYWNlIGV2ZW50cyBpZiB0aGV5IHdpc2guIFRoaXMgcGF0dGVybiB3YXMgYmFzZWQg
b24gdGhlCisgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQvSGlzdG9ncmFtU3VwcG9ydENocm9taXVt
IGNsYXNzZXMuCisgICAgICAgIFN1cHBvcnQgZm9yIGdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxh
ZyBpcyBhbHNvIGluY2x1ZGVkCisgICAgICAgIGluIHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBz
cmMvUGxhdGZvcm1TdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTA1LTAy
ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFR5cGVFcnJvcjogQ2Fubm90IGNhbGwgbWV0aG9kICdjcmVhdGVMaXZlTG9jYXRp
b24nIG9mIHVuZGVmaW5lZApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZv
cm1TdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Q
bGF0Zm9ybVN1cHBvcnQuY3BwCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MTEsMjgg
KzgxMSw2IEBAIHZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRoZW1lUGFydCgKIAogI2VuZGlm
CiAKLS8vIFRyYWNlIEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotY29uc3QgdW5zaWduZWQgY2hhciogUGxhdGZv
cm1TdXBwb3J0OjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciogY2F0ZWdv
cnlOYW1lKQotewotICAgIHJldHVybiB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+Z2V0VHJhY2VD
YXRlZ29yeUVuYWJsZWRGbGFnKGNhdGVnb3J5TmFtZSk7Ci19Ci1pbnQgUGxhdGZvcm1TdXBwb3J0
OjphZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVnb3J5RW5hYmxlZEZsYWcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG51bUFyZ3MsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqKiBhcmdOYW1lcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogYXJnVHlwZXMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyog
YXJnVmFsdWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGhyZXNo
b2xkQmVnaW5JZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25n
IHRocmVzaG9sZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciBmbGFncykKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmFkZFRy
YWNlRXZlbnQoCi0gICAgICAgIHBoYXNlLCBjYXRlZ29yeUVuYWJsZWRGbGFnLCBuYW1lLCBpZCwg
bnVtQXJncywgYXJnTmFtZXMsIGFyZ1R5cGVzLCBhcmdWYWx1ZXMsICB0aHJlc2hvbGRCZWdpbklk
LCB0aHJlc2hvbGQsIGZsYWdzKTsKLX0KLQogLy8gVmlzaXRlZCBMaW5rcyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBMaW5r
SGFzaCBQbGF0Zm9ybVN1cHBvcnQ6OnZpc2l0ZWRMaW5rSGFzaChjb25zdCBVQ2hhciogdXJsLCB1
bnNpZ25lZCBsZW5ndGgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139939</attachid>
            <date>2012-05-02 19:09:29 -0700</date>
            <delta_ts>2012-05-10 12:38:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85399-20120502220918.patch</filename>
            <type>text/plain</type>
            <size>26035</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNTg2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTAyICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
YWRkVHJhY2VFdmVudCBhbmQgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGFk
ZFRyYWNlRXZlbnQgaGFzIGJlZW4gbW92ZWQgZnJvbSBQbGF0Zm9ybVN1cHBvcnQuaAorICAgICAg
ICB0byBQbGF0Zm9ybS5oLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gY2FsbCBpdCBkaXJlY3RseQor
ICAgICAgICBmcm9tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oIChhbmQg
dGhlCisgICAgICAgIHZhcmlvdXMgcGxhY2VzIGluIFdlYkNvcmUgdGhhdCBpbmNsdWRlIHRoYXQg
aGVhZGVyKQorICAgICAgICBXZSBkbyB0aGlzIHdpdGggYSBuZXcgVHJhY2VFdmVudFN1cHBvcnQg
Y2xhc3MgaW4KKyAgICAgICAgV2ViQ29yZS9wbGF0Zm9ybS8gYW5kIGFuIGltcGxlbWVudGF0aW9u
IGluCisgICAgICAgIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRD
aHJvbWl1bS5jcHAuCisgICAgICAgIE90aGVyIHBvcnRzIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVu
dCB0aGVpciBvd24gdmVyc2lvbiBvZgorICAgICAgICB0cmFjZSBldmVudHMgaWYgdGhleSB3aXNo
LiBUaGlzIHBhdHRlcm4gd2FzIGJhc2VkIG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0
L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1bSBjbGFzc2VzLgorICAgICAgICBTdXBwb3J0IGZvciBn
ZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcgaXMgYWxzbyBpbmNsdWRlZAorICAgICAgICBpbiB0
aGlzIHBhdGNoLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
VHJhY2VFdmVudFN1cHBvcnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJhY2VFdmVudFN1cHBvcnQ6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6YWRkVHJhY2VFdmVudCk6
CisgICAgICAgICogcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBvcnQuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFRyYWNlRXZlbnRTdXBwb3J0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9UcmFjZUV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVu
dFN1cHBvcnRDaHJvbWl1bS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUcmFjZUV2ZW50U3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYWNlRXZlbnRTdXBwb3J0OjphZGRUcmFjZUV2ZW50KToK
KwogMjAxMi0wNS0wMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSB0aXRsZSBhbmQgbWVkaWEgcXVlcmllcyBmcm9tIFN0eWxlU2hlZXRJbnRlcm5hbCB0
byBDU1NTdHlsZVNoZWV0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTE1ODU4
KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEx
MzIsNiArMTEzMiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmNwcAogICAgIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKICAgICBwbGF0Zm9y
bS9UaW1lci5jcHAKKyAgICBwbGF0Zm9ybS9UcmFjZUV2ZW50U3VwcG9ydC5jcHAKICAgICBwbGF0
Zm9ybS9VVUlELmNwcAogICAgIHBsYXRmb3JtL1dpZGdldC5jcHAKIApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNjU0LDYgKzM2NTQsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVy
cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RpbWVyLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyYWNlRXZl
bnRTdXBwb3J0LmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJhY2VFdmVudFN1cHBv
cnQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJ
RC5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMTIwNyw2ICsxMjA3LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgcGxhdGZvcm0vVGltZXIuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L1VuaWNv
ZGVSYW5nZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rl
ci5jcHAgXAorICAgIHBsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcCBcCiAgICAgcGxhdGZv
cm0vVVVJRC5jcHAgXAogICAgIHBsYXRmb3JtL1dpZGdldC5jcHAgXAogICAgIHBsYXRmb3JtL1Bs
YXRmb3JtU3RyYXRlZ2llcy5jcHAgXApAQCAtMjM3OSw2ICsyMzgwLDcgQEAgSEVBREVSUyArPSBc
CiAgICAgcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIFwKICAgICBwbGF0Zm9ybS9UaHJlYWRU
aW1lcnMuaCBcCiAgICAgcGxhdGZvcm0vVGltZXIuaCBcCisgICAgcGxhdGZvcm0vVHJhY2VFdmVu
dFN1cHBvcnQuaCBcCiAgICAgcGxhdGZvcm0vV2lkZ2V0LmggXAogICAgIHBsYXRmb3JtL1BsYXRm
b3JtU3RyYXRlZ2llcy5oIFwKICAgICBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmggXApJbmRl
eDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTE1ODU4KQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zMjQsNiArMzI0LDcgQEAKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9UaHJlYWRDaGVjay5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1RpbWVyLmgnLAorICAgICAgICAg
ICAgJ3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L1RyZWVTaGFyZWQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vVmlzaXRlZExpbmtTdHJhdGVn
eS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9XaWRnZXQuaCcsCkBAIC0zMzQ1LDYgKzMzNDYs
NyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1RoZW1lQ2hyb21pdW1NYWMuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVGhlbWVDaHJvbWl1bU1hYy5tbScsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oJywKKyAgICAgICAgICAg
ICdwbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50U3VwcG9ydENocm9taXVtLmNwcCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vV2lkZ2V0Q2hyb21pdW0uY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9jb2NvYS9LZXlFdmVudENvY29hLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2NvY29hL0tleUV2ZW50Q29jb2EubW0nLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDExNTg1OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0y
ODAwNiw2ICsyODAwNiwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxUcmFjZUV2ZW50U3VwcG9ydC5jcHAiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFRyYWNlRXZl
bnRTdXBwb3J0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBsYXRmb3JtXFRyZWVTaGFyZWQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTU4MTAsNiArNTgxMCw3IEBACiAJCUQ2MzBF
MkFDMTQ5QkYzNDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTMg
LyogSGlzdG9ncmFtU3VwcG9ydC5oICovOyB9OwogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTQg
LyogU3RhdHNDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi87IH07
CiAJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYz
NDQwMDVCMkY5NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCAqLzsgfTsKKwkJRDYzMEUyQUMxNDlC
RjM0NDAwNUIyRjk2IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTYgLyogVHJh
Y2VFdmVudFN1cHBvcnQuaCAqLzsgfTsKIAkJRDZFMjc2QUYxNDYzNzQ1NTAwMUQyODBBIC8qIE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFMjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwICovOyB9OwogCQlENkUyNzZCMDE0NjM3NDU1MDAxRDI4
MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFMjc2QUUxNDYzNzQ1NTAwMUQyODBBIC8qIE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJRDZFNTI4QTMxNDlBOTI2RDAw
RUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTUyOEExMTQ5QTkyNkQwMEVGRTFG
MyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgKi87IH07CkBAIC01ODE3LDYg
KzU4MTgsNyBAQAogCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9y
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkZE
QUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgKi87IH07CiAJCUQ2
RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUy
IC8qIFN0YXRzQ291bnRlci5jcHAgKi87IH07CiAJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMyAv
KiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUzIC8qIE1lbW9yeVVzYWdlU3Vw
cG9ydC5jcHAgKi87IH07CisJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFNCAvKiBUcmFjZUV2ZW50
U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTQgLyogVHJhY2VFdmVudFN1cHBvcnQuY3BwICovOyB9
OwogCQlENzBBRDY1NzEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MEFENjU1MTNFMTM0MkIw
MDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uY3BwICovOyB9OwogCQlENzBBRDY1ODEzRTEzNDJCMDA1
QjUwQjQgLyogUmVuZGVyUmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmgg
Ki87IH07CiAJCUQ3MkY2RDc5MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENzJG
NkQ3NzE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwICovOyB9OwpA
QCAtMTI5NTIsNiArMTI5NTQsNyBAQAogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTMgLyogSGlz
dG9ncmFtU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaXN0b2dy
YW1TdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MzBFMkFCMTQ5QkYz
NDQwMDVCMkY5NCAvKiBTdGF0c0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3RhdHNDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MzBF
MkFCMTQ5QkYzNDQwMDVCMkY5NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5VXNhZ2VTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NiAvKiBUcmFjZUV2ZW50U3Vw
cG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFjZUV2ZW50U3VwcG9y
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkUyNzZBRDE0NjM3NDU1MDAxRDI4
MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUUxNDYzNzQ1NTAwMUQyODBBIC8qIE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlcklu
dGVyZXN0R3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXV0
YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTI5NTksNiArMTI5NjIsNyBAQAogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyog
SGlzdG9ncmFtU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIaXN0b2dyYW1TdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZG
REFFRjIxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdGF0c0NvdW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBw
b3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVVzYWdl
U3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2RkRBRUYyMTQ5QzA2
MTkwMDM3QjFFNCAvKiBUcmFjZUV2ZW50U3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBUcmFjZUV2ZW50U3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUQ3MEFENjU1MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyUmVnaW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcwQUQ2NTYxM0UxMzQyQjAwNUI1MEI0IC8q
IFJlbmRlclJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJS
ZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcyRjZENzcxNTMxNTlBMzAw
MUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIwMzU4LDYgKzIwMzYyLDggQEAKIAkJCQkxODVCQ0YyNzBGMzI3OUNF
MDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmggKi8sCiAJCQkJOTMzMDlFQTEwOTlFQjc4QzAwNTZF
NTgxIC8qIFRpbWVyLmNwcCAqLywKIAkJCQk5MzA1QjI0QzA5OEYxQjZCMDBDMjg4NTUgLyogVGlt
ZXIuaCAqLywKKwkJCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTQgLyogVHJhY2VFdmVudFN1cHBv
cnQuY3BwICovLAorCQkJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NiAvKiBUcmFjZUV2ZW50U3Vw
cG9ydC5oICovLAogCQkJCTE0MTlEMkM0MENFQTZGNjEwMEZGNTA3QSAvKiBUcmVlU2hhcmVkLmgg
Ki8sCiAJCQkJMkUzQkJGMDUxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuY3BwICovLAogCQkJCTJF
M0JCRjA2MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggKi8sCkBAIC0yNDY0MCw2ICsyNDY0Niw3
IEBACiAJCQkJOTMwNUIyNEQwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDQ2MTNCMDBDRDYzMzEwMDBGQURBNzUgLyogVGltZVJhbmdlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlFOTEyQUUwRUZBQzkwNjAwOUQwQ0FGIC8qIFRpbWluZ0Z1bmN0aW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTYgLyogVHJhY2VFdmVu
dFN1cHBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDMzNEQ3MTQ1OUZGRDUwMDhEOEQ0NSAv
KiBUcmFja0Jhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUM0MEVGODZENDcwMDlEMENB
RiAvKiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExQ0Uw
RUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNzY4NSw2ICsyNzY5Miw3IEBACiAJCQkJNzU1M0NGRTkxMDhGNDczRjAwRUEyODFFIC8qIFRp
bWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUVBNDA5OUVC
NzhDMDA1NkU1ODEgLyogVGltZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjEzQUYwQ0Q2
MzMxMDAwRkFEQTc1IC8qIFRpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRDZGREFF
RjMxNDlDMDYxOTAwMzdCMUU0IC8qIFRyYWNlRXZlbnRTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTA3MDMzNEQ5MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFja0Jhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDcwMzM0RDMxNDU5RkZBRDAwOEQ4RDQ1IC8qIFRyYWNrRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDlFOTExQzMwRUY4NkQ0NzAwOUQwQ0FGIC8qIFRyYW5zZm9ybWF0
aW9uTWF0cml4LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVHJhY2VFdmVudFN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RyYWNlRXZlbnRTdXBwb3J0LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUcmFjZUV2ZW50U3VwcG9ydC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IHVuc2lnbmVkIGNoYXIqIFRyYWNlRXZl
bnRTdXBwb3J0OjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciopCit7Cisg
ICAgcmV0dXJuIDA7Cit9CisgICAgCitpbnQgVHJhY2VFdmVudFN1cHBvcnQ6OmFkZFRyYWNlRXZl
bnQoY2hhciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNp
Z25lZCBjaGFyKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n
IGxvbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqKiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcqLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb25nIGxvbmcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhcikKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyYWNl
RXZlbnRTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJh
Y2VFdmVudFN1cHBvcnQuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RyYWNlRXZlbnRTdXBwb3J0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFRyYWNlRXZlbnRTdXBwb3J0X2gKKyNkZWZpbmUgVHJhY2VFdmVudFN1cHBvcnRfaAorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRyYWNlRXZlbnRTdXBwb3J0IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciogZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFn
KGNvbnN0IGNoYXIqKTsKKyAgICBzdGF0aWMgaW50IGFkZFRyYWNlRXZlbnQoY2hhciBwaGFzZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY2F0ZWdv
cnlFbmFibGVkRmxhZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciog
bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGlk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVtQXJncywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhcioqIGFyZ05hbWVzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBhcmdUeXBlcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBsb25nKiBhcmdWYWx1ZXMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0aHJlc2hvbGRCZWdpbklkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb25nIGxvbmcgdGhyZXNob2xkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGZsYWdzKTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFRyYWNlRXZlbnRTdXBwb3J0X2gKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCShy
ZXZpc2lvbiAxMTU4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0
Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzY4LDIwICszNjgsNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgcGFpbnRUaGVtZVBhcnQoR3JhcGhpY3NDb250ZXh0KiwgVGhlbWVQ
YXJ0LCBUaGVtZVBhaW50U3RhdGUsIGNvbnN0IEludFJlY3QmLCBjb25zdCBUaGVtZVBhaW50RXh0
cmFQYXJhbXMqKTsKICNlbmRpZgogCi0gICAgLy8gVHJhY2UgRXZlbnQgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgY2hhciogZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIq
IGNhdGVnb3J5TmFtZSk7Ci0gICAgc3RhdGljIGludCBhZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNhdGVn
b3J5RW5hYmxlZEZsYWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIq
IG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBp
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG51bUFyZ3MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqKiBhcmdOYW1lcywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogYXJnVHlwZXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGhyZXNob2xkQmVnaW5JZCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIHRocmVzaG9sZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBmbGFncyk7Ci0KICAgICAvLyBWaXNpdGVk
IGxpbmtzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogICAgIHN0YXRpYyBMaW5rSGFzaCB2aXNpdGVkTGlua0hhc2goY29uc3QgVUNoYXIqIHVy
bCwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgTGlua0hhc2ggdmlzaXRlZExpbmtIYXNo
KGNvbnN0IEtVUkwmIGJhc2UsIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlVVJMKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgJKHJl
dmlzaW9uIDExNTg1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNl
RXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDcgKzE2Myw3IEBACiAjaWZuZGVmIFRyYWNl
RXZlbnRfaAogI2RlZmluZSBUcmFjZUV2ZW50X2gKIAotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9y
dC5oIgorI2luY2x1ZGUgIlRyYWNlRXZlbnRTdXBwb3J0LmgiCiAKICNpbmNsdWRlIDx3dGYvRHlu
YW1pY0Fubm90YXRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNDYz
LDcgKzQ2Myw3IEBACiAvLyBjb25zdCB1bnNpZ25lZCBjaGFyKgogLy8gICAgIFRSQUNFX0VWRU5U
X0FQSV9HRVRfQ0FURUdPUllfRU5BQkxFRChjb25zdCBjaGFyKiBjYXRlZ29yeV9uYW1lKQogI2Rl
ZmluZSBUUkFDRV9FVkVOVF9BUElfR0VUX0NBVEVHT1JZX0VOQUJMRUQgXAotICAgIFdlYkNvcmU6
OlBsYXRmb3JtU3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnCisgICAgV2ViQ29y
ZTo6VHJhY2VFdmVudFN1cHBvcnQ6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZwogCiAvLyBB
ZGQgYSB0cmFjZSBldmVudCB0byB0aGUgcGxhdGZvcm0gdHJhY2luZyBzeXN0ZW0uIFJldHVybnMg
dGhyZXNob2xkQmVnaW5JZAogLy8gZm9yIHVzZSBpbiBhIGNvcnJlc3BvbmRpbmcgZW5kIFRSQUNF
X0VWRU5UX0FQSV9BRERfVFJBQ0VfRVZFTlQgY2FsbC4KQEAgLTQ4MCw3ICs0ODAsNyBAQAogLy8g
ICAgICAgICAgICAgICAgICAgIGxvbmcgbG9uZyB0aHJlc2hvbGQsCiAvLyAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciBmbGFncykKICNkZWZpbmUgVFJBQ0VfRVZFTlRfQVBJX0FERF9U
UkFDRV9FVkVOVCBcCi0gICAgV2ViQ29yZTo6UGxhdGZvcm1TdXBwb3J0OjphZGRUcmFjZUV2ZW50
CisgICAgV2ViQ29yZTo6VHJhY2VFdmVudFN1cHBvcnQ6OmFkZFRyYWNlRXZlbnQKIAogLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudFN1cHBvcnRDaHJvbWl1bS5jcHAJKHJl
dmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50
U3VwcG9ydENocm9taXVtLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJUcmFjZUV2ZW50U3VwcG9ydC5oIgorCisjaW5jbHVkZSA8
cHVibGljL1BsYXRmb3JtLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY29uc3QgdW5zaWdu
ZWQgY2hhciogVHJhY2VFdmVudFN1cHBvcnQ6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhj
b25zdCBjaGFyKiBjYXRlZ29yeU5hbWUpCit7CisgICAgcmV0dXJuIFdlYktpdDo6UGxhdGZvcm06
OmN1cnJlbnQoKS0+Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNhdGVnb3J5TmFtZSk7Cit9
CisgICAgCitpbnQgVHJhY2VFdmVudFN1cHBvcnQ6OmFkZFRyYWNlRXZlbnQoY2hhciBwaGFzZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFy
KiBjYXRlZ29yeUVuYWJsZWRGbGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGNoYXIqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyBsb25nIGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBudW1BcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIqKiBhcmdOYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBhcmdUeXBlcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcqIGFyZ1ZhbHVlcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGhyZXNob2xkQmVnaW5JZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIGxvbmcgdGhyZXNob2xk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgZmxh
Z3MpCit7CisgICAgcmV0dXJuIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+YWRkVHJhY2VF
dmVudChwaGFzZSwgY2F0ZWdvcnlFbmFibGVkRmxhZywgbmFtZSwgaWQsIG51bUFyZ3MsIGFyZ05h
bWVzLCBhcmdUeXBlcywgYXJnVmFsdWVzLCB0aHJlc2hvbGRCZWdpbklkLCB0aHJlc2hvbGQsIGZs
YWdzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDExNTg2MikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDUtMDIgIE1hcmsg
UGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ2Fs
bCBhZGRUcmFjZUV2ZW50IGFuZCBnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcgZGlyZWN0bHkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1Mzk5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm93IHRoYXQg
YWRkVHJhY2VFdmVudCBoYXMgYmVlbiBtb3ZlZCBmcm9tIFBsYXRmb3JtU3VwcG9ydC5oCisgICAg
ICAgIHRvIFBsYXRmb3JtLmgsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBjYWxsIGl0IGRpcmVjdGx5
CisgICAgICAgIGZyb20gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmggKGFu
ZCB0aGUKKyAgICAgICAgdmFyaW91cyBwbGFjZXMgaW4gV2ViQ29yZSB0aGF0IGluY2x1ZGUgdGhh
dCBoZWFkZXIpCisgICAgICAgIFdlIGRvIHRoaXMgd2l0aCBhIG5ldyBUcmFjZUV2ZW50U3VwcG9y
dCBjbGFzcyBpbgorICAgICAgICBXZWJDb3JlL3BsYXRmb3JtLyBhbmQgYW4gaW1wbGVtZW50YXRp
b24gaW4KKyAgICAgICAgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50U3VwcG9y
dENocm9taXVtLmNwcC4KKyAgICAgICAgT3RoZXIgcG9ydHMgYXJlIHdlbGNvbWUgdG8gaW1wbGVt
ZW50IHRoZWlyIG93biB2ZXJzaW9uIG9mCisgICAgICAgIHRyYWNlIGV2ZW50cyBpZiB0aGV5IHdp
c2guIFRoaXMgcGF0dGVybiB3YXMgYmFzZWQgb24gdGhlCisgICAgICAgIEhpc3RvZ3JhbVN1cHBv
cnQvSGlzdG9ncmFtU3VwcG9ydENocm9taXVtIGNsYXNzZXMuCisgICAgICAgIFN1cHBvcnQgZm9y
IGdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyBpcyBhbHNvIGluY2x1ZGVkCisgICAgICAgIGlu
IHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBzcmMvUGxhdGZvcm1TdXBwb3J0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorCiAyMDEyLTA1LTAyICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFR5cGVFcnJvcjogQ2Fubm90IGNh
bGwgbWV0aG9kICdjcmVhdGVMaXZlTG9jYXRpb24nIG9mIHVuZGVmaW5lZApJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCShyZXZpc2lvbiAx
MTU4NTgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04MTEsMjggKzgxMSw2IEBAIHZvaWQgUGxhdGZvcm1TdXBwb3J0
OjpwYWludFRoZW1lUGFydCgKIAogI2VuZGlmCiAKLS8vIFRyYWNlIEV2ZW50IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQot
Y29uc3QgdW5zaWduZWQgY2hhciogUGxhdGZvcm1TdXBwb3J0OjpnZXRUcmFjZUNhdGVnb3J5RW5h
YmxlZEZsYWcoY29uc3QgY2hhciogY2F0ZWdvcnlOYW1lKQotewotICAgIHJldHVybiB3ZWJLaXRQ
bGF0Zm9ybVN1cHBvcnQoKS0+Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNhdGVnb3J5TmFt
ZSk7Ci19Ci1pbnQgUGxhdGZvcm1TdXBwb3J0OjphZGRUcmFjZUV2ZW50KGNoYXIgcGhhc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGNh
dGVnb3J5RW5hYmxlZEZsYWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIqIG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IG51bUFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIq
KiBhcmdOYW1lcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5z
aWduZWQgY2hhciogYXJnVHlwZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgdGhyZXNob2xkQmVnaW5JZCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIHRocmVzaG9sZCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBmbGFncykKLXsKLSAgICByZXR1cm4gd2Vi
S2l0UGxhdGZvcm1TdXBwb3J0KCktPmFkZFRyYWNlRXZlbnQoCi0gICAgICAgIHBoYXNlLCBjYXRl
Z29yeUVuYWJsZWRGbGFnLCBuYW1lLCBpZCwgbnVtQXJncywgYXJnTmFtZXMsIGFyZ1R5cGVzLCBh
cmdWYWx1ZXMsICB0aHJlc2hvbGRCZWdpbklkLCB0aHJlc2hvbGQsIGZsYWdzKTsKLX0KLQogLy8g
VmlzaXRlZCBMaW5rcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogCiBMaW5rSGFzaCBQbGF0Zm9ybVN1cHBvcnQ6OnZpc2l0ZWRM
aW5rSGFzaChjb25zdCBVQ2hhciogdXJsLCB1bnNpZ25lZCBsZW5ndGgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141227</attachid>
            <date>2012-05-10 12:38:26 -0700</date>
            <delta_ts>2012-05-10 14:51:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85399-20120510153822.patch</filename>
            <type>text/plain</type>
            <size>24533</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjY3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA1LTEwICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENhbGwg
YWRkVHJhY2VFdmVudCBhbmQgZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnIGRpcmVjdGx5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTM5OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSBy
ZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9FdmVudFRyYWNlci5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRyYWNlcjo6Z2V0VHJh
Y2VDYXRlZ29yeUVuYWJsZWRGbGFnKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VHJhY2VyOjph
ZGRUcmFjZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9FdmVudFRyYWNlci5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRXZlbnRUcmFjZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUcmFjZXI6OmdldFRyYWNlQ2F0ZWdv
cnlFbmFibGVkRmxhZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRyYWNlcjo6YWRkVHJhY2VF
dmVudCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVHJhY2VFdmVudC5oOgorCiAyMDEyLTA1LTEwICBU
b21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAgIE1lZGlhU3Ry
ZWFtIEFQSTogRml4IE1lZGlhSGludHMgcGFyc2luZwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJ
KHJldmlzaW9uIDExNjY3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTA0LDYgKzExMDQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3BwCiAgICAgcGxhdGZvcm0vRHJhZ0RhdGEuY3BwCiAg
ICAgcGxhdGZvcm0vRHJhZ0ltYWdlLmNwcAorICAgIHBsYXRmb3JtL0V2ZW50VHJhY2VyLmNwcAog
ICAgIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAogICAgIHBsYXRmb3JtL0ZpbGVJY29uTG9hZGVy
LmNwcAogICAgIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0JKHJldmlzaW9uIDExNjY3NikKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTMwOTYsNiArMzA5Niw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0V2ZW50TG9vcC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudFRyYWNl
ci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50VHJhY2VyLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRmlsZUNob29zZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUljb25M
b2FkZXIuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24gMTE2Njc2KQorKysgU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMTA4MSw2ICsxMDgxLDcgQEAg
U09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3BwIFwKICAgICBwbGF0
Zm9ybS9EcmFnRGF0YS5jcHAgXAogICAgIHBsYXRmb3JtL0RyYWdJbWFnZS5jcHAgXAorICAgIHBs
YXRmb3JtL0V2ZW50VHJhY2VyLmNwcCBcCiAgICAgcGxhdGZvcm0vRmlsZUNob29zZXIuY3BwIFwK
ICAgICBwbGF0Zm9ybS9GaWxlSWNvbkxvYWRlci5jcHAgXAogICAgIHBsYXRmb3JtL0ZpbGVTdHJl
YW0uY3BwIFwKQEAgLTIxODgsNiArMjE4OSw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3Jt
L0RhdGVDb21wb25lbnRzLmggXAogICAgIHBsYXRmb3JtL0RyYWdEYXRhLmggXAogICAgIHBsYXRm
b3JtL0RyYWdJbWFnZS5oIFwKKyAgICBwbGF0Zm9ybS9FdmVudFRyYWNlci5oIFwKICAgICBwbGF0
Zm9ybS9GaWxlQ2hvb3Nlci5oIFwKICAgICBwbGF0Zm9ybS9GaWxlU3RyZWFtLmggXAogICAgIHBs
YXRmb3JtL0ZpbGVTdHJlYW1DbGllbnQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lv
biAxMTY2NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTI3Myw2ICsyNzMsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL0RhdGVDb21wb25lbnRz
LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0RyYWdEYXRhLmgnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL0RyYWdJbWFnZS5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9FdmVudFRyYWNlci5o
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9GaWxlU3RyZWFtLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0ZpbGVTdHJlYW1D
bGllbnQuaCcsCkBAIC0zMjk5LDYgKzMzMDAsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2No
cm9taXVtL0RyYWdJbWFnZUNocm9taXVtTWFjLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
Y2hyb21pdW0vRHJhZ0ltYWdlQ2hyb21pdW1Ta2lhLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vY2hyb21pdW0vRHJhZ0ltYWdlUmVmLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9t
aXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJv
bWl1bS9GaWxlU3lzdGVtQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJv
bWl1bS9GaWxlU3lzdGVtQ2hyb21pdW1MaW51eC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2Nocm9taXVtL0ZpbGVTeXN0ZW1DaHJvbWl1bU1hYy5tbScsCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTE2Njc2KQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTI3NzI2LDYgKzI3NzI2LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXEV2ZW50VHJhY2VyLmNwcCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cRXZlbnRU
cmFjZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccGxhdGZvcm1cRmlsZUNob29zZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDExNjY3NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTgxOSw2ICs1ODE5LDcgQEAKIAkJRDYzMEUy
QUMxNDlCRjM0NDAwNUIyRjkzIC8qIEhpc3RvZ3JhbVN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5MyAv
KiBIaXN0b2dyYW1TdXBwb3J0LmggKi87IH07CiAJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NCAv
KiBTdGF0c0NvdW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NCAvKiBTdGF0c0NvdW50ZXIuaCAqLzsgfTsK
IAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0
NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oICovOyB9OworCQlENjMwRTJBQzE0OUJG
MzQ0MDA1QjJGOTYgLyogRXZlbnRUcmFjZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NiAvKiBFdmVudFRyYWNl
ci5oICovOyB9OwogCQlENkUyNzZBRjE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBENkUyNzZBRDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbi5jcHAgKi87IH07CiAJCUQ2RTI3NkIwMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBENkUyNzZBRTE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbi5oICovOyB9OwogCQlENkU1MjhBMzE0OUE5MjZEMDBFRkUxRjMgLyogTXV0
YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9u
T2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLzsgfTsKQEAgLTU4MjYsNiArNTgyNyw3IEBACiAJ
CUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkw
MDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYx
OTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3Vu
dGVyLmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUzIC8qIE1lbW9yeVVzYWdl
U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLzsg
fTsKKwkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUU0IC8qIEV2ZW50VHJhY2VyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkw
MDM3QjFFNCAvKiBFdmVudFRyYWNlci5jcHAgKi87IH07CiAJCUQ3MEFENjU3MTNFMTM0MkIwMDVC
NTBCNCAvKiBSZW5kZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5j
cHAgKi87IH07CiAJCUQ3MEFENjU4MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MEFENjU2MTNF
MTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLzsgfTsKIAkJRDcyRjZENzkxNTMxNTlB
MzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MkY2RDc3MTUzMTU5QTMwMDFFRTQ0RSAvKiBG
bG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi87IH07CkBAIC0xMjk3MCw2ICsxMjk3Miw3IEBACiAJ
CUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpc3RvZ3JhbVN1cHBvcnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0c0NvdW50ZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk1IC8qIE1l
bW9yeVVzYWdlU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1v
cnlVc2FnZVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDYzMEUyQUIx
NDlCRjM0NDAwNUIyRjk2IC8qIEV2ZW50VHJhY2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV2ZW50VHJhY2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2
RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJS
ZWdpc3RyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkUyNzZBRTE0
NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTUyOEExMTQ5QTkyNkQwMEVGRTFGMyAv
KiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjk3Nyw2ICsxMjk4MCw3IEBACiAJCUQ2RkRBRUYy
MTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpc3RvZ3JhbVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0YXRzQ291bnRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFF
MyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0IC8qIEV2ZW50VHJhY2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VHJhY2VyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJl
Z2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJSZWdp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzBBRDY1NjEzRTEzNDJCMDA1
QjUwQjQgLyogUmVuZGVyUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlclJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENzJGNkQ3NzE1
MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAyNzMsNiArMjAyNzcsOCBAQAogCQkJCUE3Q0ZCM0NG
MEI3RUQxMEEwMDcwQzMyRCAvKiBEcmFnSW1hZ2UuY3BwICovLAogCQkJCUE3Q0ZCM0QwMEI3RUQx
MEEwMDcwQzMyRCAvKiBEcmFnSW1hZ2UuaCAqLywKIAkJCQkxQ0ExOUUxNTBEQzI1NUNBMDA2NUE5
OTQgLyogRXZlbnRMb29wLmggKi8sCisJCQkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUU0IC8qIEV2
ZW50VHJhY2VyLmNwcCAqLywKKwkJCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTYgLyogRXZlbnRU
cmFjZXIuaCAqLywKIAkJCQk5MzRGRTlFNDBCNUNBNTM5MDAzRTRBNzMgLyogRmlsZUNob29zZXIu
Y3BwICovLAogCQkJCTA2NkM3NzJBMEFCNjAzQjcwMDIzOENDNCAvKiBGaWxlQ2hvb3Nlci5oICov
LAogCQkJCTQxNEI4NjcxMTNBRDA3NEUwMEI0QjM3MyAvKiBGaWxlSWNvbkxvYWRlci5jcHAgKi8s
CkBAIC0yMjc0MCw2ICsyMjc0Niw3IEBACiAJCQkJRTEyRURCN0IwQjMwOEE3ODAwMjcwNEI2IC8q
IEV2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNTE0NTIzN0NDMDAzRTFE
QTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNjE0
NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJbnRlcmZhY2VzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTYgLyogRXZlbnRUcmFjZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNjBEOEYzMEQyQTExRTAwMEI5OTE4RiAvKiBFeGNlcHRpb25CYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29k
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTczREM2NDAxNDVBOTQwOTAwMjg0MkMyIC8qIEV4Y2Vw
dGlvbkNvZGVEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTkwNiw2ICsyNTkxMyw3
IEBACiAJCQkJOTM5ODg1QzMwOEI3RTNEMTAwRTcwN0M0IC8qIEV2ZW50TmFtZXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTBGRUYzNzJCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUUxMkVEQkVBMEIzMDhFMEIwMDI3MDRCNiAvKiBFdmVudFRh
cmdldC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTQgLyog
RXZlbnRUcmFjZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MEQ4RjIwRDJBMTFFMDAwQjk5
MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTczREM2M0YxNDVB
OTQwOTAwMjg0MkMyIC8qIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBN0NBQ0RCMTEzQ0U4NzVDMDBCQkJFM0YgLyogRXhjZXB0aW9uQ29kZVBsYWNlaG9s
ZGVyLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZl
bnRUcmFjZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50
VHJhY2VyLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50
VHJhY2VyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJFdmVudFRyYWNlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Nv
bnN0IHVuc2lnbmVkIGNoYXIqIEV2ZW50VHJhY2VyOjpnZXRUcmFjZUNhdGVnb3J5RW5hYmxlZEZs
YWcoY29uc3QgY2hhciopCit7CisgICAgcmV0dXJuIDA7Cit9CisgICAgCitpbnQgRXZlbnRUcmFj
ZXI6OmFkZFRyYWNlRXZlbnQoY2hhciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBjaGFyKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBsb25nIGxvbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIq
KiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBj
aGFyKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25l
ZCBsb25nIGxvbmcqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIGxvbmcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhcikKK3sKKyAgICByZXR1
cm4gLTE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0V2ZW50VHJhY2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRUcmFjZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0V2ZW50VHJhY2VyLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEV2
ZW50VHJhY2VyX2gKKyNkZWZpbmUgRXZlbnRUcmFjZXJfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIEV2ZW50VHJhY2VyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciogZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIqKTsKKyAgICBz
dGF0aWMgaW50IGFkZFRyYWNlRXZlbnQoY2hhciBwaGFzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY2F0ZWdvcnlFbmFibGVkRmxhZywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogbmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGlkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgbnVtQXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhcioqIGFyZ05hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1
bnNpZ25lZCBjaGFyKiBhcmdUeXBlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgdW5zaWduZWQgbG9uZyBsb25nKiBhcmdWYWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCB0aHJlc2hvbGRCZWdpbklkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsb25nIGxvbmcgdGhyZXNob2xkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBjaGFyIGZsYWdzKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEV2ZW50VHJhY2VyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL0V2ZW50VHJhY2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRXZlbnRUcmFjZXJDaHJvbWl1bS5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiRXZlbnRUcmFjZXIuaCIKKworI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IHVuc2lnbmVkIGNoYXIqIEV2ZW50VHJhY2VyOjpnZXRU
cmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcoY29uc3QgY2hhciogY2F0ZWdvcnlOYW1lKQoreworICAg
IHJldHVybiBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmdldFRyYWNlQ2F0ZWdvcnlFbmFi
bGVkRmxhZyhjYXRlZ29yeU5hbWUpOworfQorICAgIAoraW50IEV2ZW50VHJhY2VyOjphZGRUcmFj
ZUV2ZW50KGNoYXIgcGhhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgdW5zaWduZWQgY2hhciogY2F0ZWdvcnlFbmFibGVkRmxhZywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVtQXJncywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogYXJnVHlwZXMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBs
b25nKiBhcmdWYWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHRocmVzaG9sZEJlZ2luSWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9uZyBsb25nIHRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBjaGFyIGZsYWdzKQoreworICAgIHJldHVybiBXZWJLaXQ6OlBsYXRmb3JtOjpj
dXJyZW50KCktPmFkZFRyYWNlRXZlbnQocGhhc2UsIGNhdGVnb3J5RW5hYmxlZEZsYWcsIG5hbWUs
IGlkLCBudW1BcmdzLCBhcmdOYW1lcywgYXJnVHlwZXMsIGFyZ1ZhbHVlcywgdGhyZXNob2xkQmVn
aW5JZCwgdGhyZXNob2xkLCBmbGFncyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3Vw
cG9ydC5oCShyZXZpc2lvbiAxMTY2NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzY1LDIwICszNjUsNiBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcGFpbnRUaGVtZVBhcnQoR3JhcGhpY3NDb250ZXh0
KiwgVGhlbWVQYXJ0LCBUaGVtZVBhaW50U3RhdGUsIGNvbnN0IEludFJlY3QmLCBjb25zdCBUaGVt
ZVBhaW50RXh0cmFQYXJhbXMqKTsKICNlbmRpZgogCi0gICAgLy8gVHJhY2UgRXZlbnQgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciogZ2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNv
bnN0IGNoYXIqIGNhdGVnb3J5TmFtZSk7Ci0gICAgc3RhdGljIGludCBhZGRUcmFjZUV2ZW50KGNo
YXIgcGhhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNo
YXIqIGNhdGVnb3J5RW5hYmxlZEZsYWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIqIG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyBpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG51bUFyZ3MsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqKiBhcmdOYW1lcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogYXJnVHlwZXMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJn
VmFsdWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGhyZXNob2xkQmVnaW5J
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nIHRocmVzaG9sZCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBmbGFncyk7Ci0KICAgICAv
LyBWaXNpdGVkIGxpbmtzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyBMaW5rSGFzaCB2aXNpdGVkTGlua0hhc2goY29uc3Qg
VUNoYXIqIHVybCwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgTGlua0hhc2ggdmlzaXRl
ZExpbmtIYXNoKGNvbnN0IEtVUkwmIGJhc2UsIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRl
VVJMKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1RyYWNlRXZlbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2
ZW50LmgJKHJldmlzaW9uIDExNjY3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1RyYWNlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDcgKzE2Myw3IEBACiAjaWZu
ZGVmIFRyYWNlRXZlbnRfaAogI2RlZmluZSBUcmFjZUV2ZW50X2gKIAotI2luY2x1ZGUgIlBsYXRm
b3JtU3VwcG9ydC5oIgorI2luY2x1ZGUgIkV2ZW50VHJhY2VyLmgiCiAKICNpbmNsdWRlIDx3dGYv
RHluYW1pY0Fubm90YXRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAt
NDYzLDcgKzQ2Myw3IEBACiAvLyBjb25zdCB1bnNpZ25lZCBjaGFyKgogLy8gICAgIFRSQUNFX0VW
RU5UX0FQSV9HRVRfQ0FURUdPUllfRU5BQkxFRChjb25zdCBjaGFyKiBjYXRlZ29yeV9uYW1lKQog
I2RlZmluZSBUUkFDRV9FVkVOVF9BUElfR0VUX0NBVEVHT1JZX0VOQUJMRUQgXAotICAgIFdlYkNv
cmU6OlBsYXRmb3JtU3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnCisgICAgV2Vi
Q29yZTo6RXZlbnRUcmFjZXI6OmdldFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZwogCiAvLyBBZGQg
YSB0cmFjZSBldmVudCB0byB0aGUgcGxhdGZvcm0gdHJhY2luZyBzeXN0ZW0uIFJldHVybnMgdGhy
ZXNob2xkQmVnaW5JZAogLy8gZm9yIHVzZSBpbiBhIGNvcnJlc3BvbmRpbmcgZW5kIFRSQUNFX0VW
RU5UX0FQSV9BRERfVFJBQ0VfRVZFTlQgY2FsbC4KQEAgLTQ4MCw3ICs0ODAsNyBAQAogLy8gICAg
ICAgICAgICAgICAgICAgIGxvbmcgbG9uZyB0aHJlc2hvbGQsCiAvLyAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgY2hhciBmbGFncykKICNkZWZpbmUgVFJBQ0VfRVZFTlRfQVBJX0FERF9UUkFD
RV9FVkVOVCBcCi0gICAgV2ViQ29yZTo6UGxhdGZvcm1TdXBwb3J0OjphZGRUcmFjZUV2ZW50Cisg
ICAgV2ViQ29yZTo6RXZlbnRUcmFjZXI6OmFkZFRyYWNlRXZlbnQKIAogLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjY3
NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTItMDUtMTAgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ2FsbCBhZGRUcmFjZUV2ZW50IGFuZCBnZXRU
cmFjZUNhdGVnb3J5RW5hYmxlZEZsYWcgZGlyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1Mzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNlcmllcy4gU2Vl
IHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIHNyYy9QbGF0Zm9ybVN1cHBvcnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMDUtMTAgIFZhcnVuIEphaW4gIDx2YXJ1bmph
aW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFRyaWdnZXIgY29udGV4dCBtZW51
IGZvciBsb25nIHByZXNzIGdlc3R1cmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTE2Njc2KQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Nzk1LDI4ICs3OTUsNiBAQCB2b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRUaGVtZVBhcnQoCiAK
ICNlbmRpZgogCi0vLyBUcmFjZSBFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWNvbnN0IHVuc2lnbmVkIGNoYXIq
IFBsYXRmb3JtU3VwcG9ydDo6Z2V0VHJhY2VDYXRlZ29yeUVuYWJsZWRGbGFnKGNvbnN0IGNoYXIq
IGNhdGVnb3J5TmFtZSkKLXsKLSAgICByZXR1cm4gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmdl
dFRyYWNlQ2F0ZWdvcnlFbmFibGVkRmxhZyhjYXRlZ29yeU5hbWUpOwotfQotaW50IFBsYXRmb3Jt
U3VwcG9ydDo6YWRkVHJhY2VFdmVudChjaGFyIHBoYXNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBjYXRlZ29yeUVuYWJsZWRGbGFnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaWQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBudW1BcmdzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogYXJnTmFtZXMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGFyZ1R5cGVz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25n
IGxvbmcqIGFyZ1ZhbHVlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHRocmVzaG9sZEJlZ2luSWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxv
bmcgbG9uZyB0aHJlc2hvbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGNoYXIgZmxhZ3MpCi17Ci0gICAgcmV0dXJuIHdlYktpdFBsYXRmb3JtU3VwcG9ydCgp
LT5hZGRUcmFjZUV2ZW50KAotICAgICAgICBwaGFzZSwgY2F0ZWdvcnlFbmFibGVkRmxhZywgbmFt
ZSwgaWQsIG51bUFyZ3MsIGFyZ05hbWVzLCBhcmdUeXBlcywgYXJnVmFsdWVzLCAgdGhyZXNob2xk
QmVnaW5JZCwgdGhyZXNob2xkLCBmbGFncyk7Ci19Ci0KIC8vIFZpc2l0ZWQgTGlua3MgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IAogTGlua0hhc2ggUGxhdGZvcm1TdXBwb3J0Ojp2aXNpdGVkTGlua0hhc2goY29uc3QgVUNoYXIq
IHVybCwgdW5zaWduZWQgbGVuZ3RoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>