<?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>59752</bug_id>
          
          <creation_ts>2011-04-28 15:49:59 -0700</creation_ts>
          <short_desc>Allow Localized Date Strings for Date Input Fields</short_desc>
          <delta_ts>2011-05-15 21:49:21 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>29359</blocked>
    
    <blocked>60868</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>394834</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 15:49:59 -0700</bug_when>
    <thetext>Allow localized date strings as the visible value for date input fields.
This would be similar to the localized numbers for &lt;input type=&quot;number&quot;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394866</commentid>
    <comment_count>1</comment_count>
      <attachid>91579</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 16:06:26 -0700</bug_when>
    <thetext>Created attachment 91579
[PATCH] Add LocalizedDate and Default Implementation

This patch:

  • moves DateComponents into WebCore/platform. Doesn&apos;t seem like
    it has any dependencies outside of platform. And its very useful.
  • adds LocalizedDate.h and LocalizedDateNone.cpp much like number.
  • adds the files to the build
  • calls out to the localization as appropriate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394909</commentid>
    <comment_count>2</comment_count>
      <attachid>91579</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-28 16:42:06 -0700</bug_when>
    <thetext>Comment on attachment 91579
[PATCH] Add LocalizedDate and Default Implementation

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

&gt; LayoutTests/fast/forms/date-input-visible-strings.html:1
&gt; +&lt;!DOCTYPE html&gt;

Please add sentences describing the expected result.  e.g. &quot;the user-visible values of the input fields should be localized if the platform has a LocalizedDate implementation. Otherwise, they should be in the HTML5 formats.&quot;

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22989
&gt;  				F3810C1E1365A4D400ED6E33 /* WorkerContextInspectorProxy.h in Headers */,
&gt; +				A5732B0B136A161D005C8D7C /* DateComponents.h in Headers */,
&gt; +				A5732B0D136A16C4005C8D7C /* LocalizedDate.h in Headers */,

nit: They should be inserted to sorted positions.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:25688
&gt;  				781755861365A1B00093BE2E /* DataTransferItems.cpp in Sources */,
&gt; +				A5732B0A136A161D005C8D7C /* DateComponents.cpp in Sources */,
&gt; +				A5732B0F136A1715005C8D7C /* LocalizedDateNone.cpp in Sources */,

ditto.

&gt; Source/WebCore/platform/text/LocalizedDate.h:37
&gt; +String formatLocalizedDate(const DateComponents&amp; dateComponents);

This only has a format function.  What about parsing?
Showing a localized string but accepting no localized string is not good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394955</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 17:14:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 91579 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91579&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/date-input-visible-strings.html:1
&gt; &gt; +&lt;!DOCTYPE html&gt;
&gt; 
&gt; Please add sentences describing the expected result.  e.g. &quot;the user-visible values of the input fields should be localized if the platform has a LocalizedDate implementation. Otherwise, they should be in the HTML5 formats.&quot;

That sounds fine. I hate putting text in non-text dump render tree tests,
but this would make looking at the test in your browser much clearer.


&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22989
&gt; &gt;  				F3810C1E1365A4D400ED6E33 /* WorkerContextInspectorProxy.h in Headers */,
&gt; &gt; +				A5732B0B136A161D005C8D7C /* DateComponents.h in Headers */,
&gt; &gt; +				A5732B0D136A16C4005C8D7C /* LocalizedDate.h in Headers */,
&gt; 
&gt; nit: They should be inserted to sorted positions.
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:25688
&gt; &gt;  				781755861365A1B00093BE2E /* DataTransferItems.cpp in Sources */,
&gt; &gt; +				A5732B0A136A161D005C8D7C /* DateComponents.cpp in Sources */,
&gt; &gt; +				A5732B0F136A1715005C8D7C /* LocalizedDateNone.cpp in Sources */,
&gt; 
&gt; ditto.

I made sure the files are sorted in the actual Xcode groups.
The Xcode project file is weird.


&gt; &gt; Source/WebCore/platform/text/LocalizedDate.h:37
&gt; &gt; +String formatLocalizedDate(const DateComponents&amp; dateComponents);
&gt; 
&gt; This only has a format function.  What about parsing?
&gt; Showing a localized string but accepting no localized string is not good.

I see what you mean. I suppose I&apos;ll add a function for that as well.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394957</commentid>
    <comment_count>4</comment_count>
      <attachid>91579</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-28 17:15:28 -0700</bug_when>
    <thetext>Comment on attachment 91579
[PATCH] Add LocalizedDate and Default Implementation

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

&gt;&gt;&gt; LayoutTests/fast/forms/date-input-visible-strings.html:1
&gt;&gt;&gt; +&lt;!DOCTYPE html&gt;
&gt;&gt; 
&gt;&gt; Please add sentences describing the expected result.  e.g. &quot;the user-visible values of the input fields should be localized if the platform has a LocalizedDate implementation. Otherwise, they should be in the HTML5 formats.&quot;
&gt; 
&gt; That sounds fine. I hate putting text in non-text dump render tree tests,
&gt; but this would make looking at the test in your browser much clearer.

You can put it as an HTML comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395010</commentid>
    <comment_count>5</comment_count>
      <attachid>91616</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 18:49:18 -0700</bug_when>
    <thetext>Created attachment 91616
[PATCH] Add LocalizedDate Allow Formatting + Parsing

Take 2. Allow for formatting localized dates and parsing
incoming localized dates. I pass the date type in for parsing
because an implementation may want to parse the input
differently depending on if this is for a &quot;time&quot; or a &quot;date&quot;
type. Or, that can be ignored if a port wants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395015</commentid>
    <comment_count>6</comment_count>
      <attachid>91616</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-28 18:56:01 -0700</bug_when>
    <thetext>Comment on attachment 91616
[PATCH] Add LocalizedDate Allow Formatting + Parsing

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

&gt; Source/WebCore/platform/text/LocalizedDate.h:38
&gt; +// Parses a string representation of a date string localized
&gt; +// for the browser&apos;s current locale for a particular date type.
&gt; +// If the input string is not valid or an implementation doesn&apos;t
&gt; +// support localized dates, this function returns an empty string.
&gt; +String parseLocalizedDate(const String&amp;, DateComponents::Type);

Should add a comment about what should be returned for valid inputs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395026</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 19:08:28 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/platform/text/LocalizedDate.h:38
&gt; &gt; +// Parses a string representation of a date string localized
&gt; &gt; +// for the browser&apos;s current locale for a particular date type.
&gt; &gt; +// If the input string is not valid or an implementation doesn&apos;t
&gt; &gt; +// support localized dates, this function returns an empty string.
&gt; &gt; +String parseLocalizedDate(const String&amp;, DateComponents::Type);
&gt; 
&gt; Should add a comment about what should be returned for valid inputs.

Arg. This is a good point. And raises an issue. Currently I added the following:

  // If the input string is valid this function returns a valid
  // HTML5 date string for the specified type. HTML5 date strings
  // are a subset of ISO-8601.

However, I could instead have the function return a DateComponents object,
That would match the format function. Or a double value, representing
the milliseconds since the 1970 epoch (which can then be serialized
pretty easily by BaseDateTimeInputType. Do you have a preference for
once of the other types?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395027</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 19:10:14 -0700</bug_when>
    <thetext>Hopefully I didn&apos;t step on your toes with: &lt;http://webkit.org/b/29359&gt;,
which I see you said you&apos;ve started working on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395029</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-28 19:19:02 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Arg. This is a good point. And raises an issue. Currently I added the following:
&gt; 
&gt;   // If the input string is valid this function returns a valid
&gt;   // HTML5 date string for the specified type. HTML5 date strings
&gt;   // are a subset of ISO-8601.
&gt; 
&gt; However, I could instead have the function return a DateComponents object,
&gt; That would match the format function. Or a double value, representing
&gt; the milliseconds since the 1970 epoch (which can then be serialized
&gt; pretty easily by BaseDateTimeInputType. Do you have a preference for
&gt; once of the other types?

Probably the double value is simpler.

(In reply to comment #8)
&gt; Hopefully I didn&apos;t step on your toes with: &lt;http://webkit.org/b/29359&gt;,
&gt; which I see you said you&apos;ve started working on.

I&apos;m working on webkit.org/b/53961 and it won&apos;t cover the text field localization.  This patch is very helpful.  Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395091</commentid>
    <comment_count>10</comment_count>
      <attachid>91632</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 21:17:29 -0700</bug_when>
    <thetext>Created attachment 91632
[PATCH] Add LocalizedDate Allow Formatting + Parsing

This switches to return a double from the parseLocalizedDate.
Generalize serialization a bit so that we can serialize from a
DateComponent that we make (always from msec) instead
of using serialize(double) which interprets its argument
differently for &lt;input type=&quot;month&quot;&gt;.

I&apos;ll follow up and attach just a patch of the diff between
this patch and the last, because this is getting large
but there were relatively few changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395092</commentid>
    <comment_count>11</comment_count>
      <attachid>91633</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-28 21:18:15 -0700</bug_when>
    <thetext>Created attachment 91633
[DIFF] Between Version 2 and 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395595</commentid>
    <comment_count>12</comment_count>
      <attachid>91632</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-29 15:58:53 -0700</bug_when>
    <thetext>Comment on attachment 91632
[PATCH] Add LocalizedDate Allow Formatting + Parsing

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

&gt; Source/WebCore/ChangeLog:27
&gt; +        (WebCore::BaseDateAndTimeInputType::serialize):
&gt; +        (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
&gt; +        serializing for a double value may be different for different
&gt; +        types. The month type assumes it is monthes instead of msecs
&gt; +        like the others. So provide a more general serialization
&gt; +        function that will always serialize a string correctly for
&gt; +        the current type but from a DateComponents object. Useful
&gt; +        when we create our own DateComponents object from the msec
&gt; +        value returned from a LocalizedDate implementation.

I don&apos;t think this change is needed.  BaseDateAndTimeInputType::serialize(double) already handle the month type correctly.

&gt; Source/WebCore/html/BaseDateAndTimeInputType.cpp:208
&gt; +    if (!date.setMillisecondsSinceEpochForDateTime(parsedValue))

This is wrong.  It sets DateTime type to the DateComponents object.  I think serialize(parsedValue) is enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395609</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 16:28:36 -0700</bug_when>
    <thetext>&gt; This is wrong.  It sets DateTime type to the DateComponents object.
&gt; I think serialize(parsedValue) is enough.

Hmm, I can try this again. But I thought that serialize(parsedValue)
for month, falls back to:

    DateComponents::setMonthsSinceEpoch(double months)

Which is months, not msec, despite its name. Maybe the
implementation of setMonthsSinceEpoch should actually
take msec.

However this was yesterday. Let me reverify this today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395612</commentid>
    <comment_count>14</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 16:33:49 -0700</bug_when>
    <thetext>Hmm, this:

    bool MonthInputType::setMillisecondToDateComponents(double value, DateComponents* date) const
    {
        ASSERT(date);
        return date-&gt;setMonthsSinceEpoch(value);
    }

Should probably be using:

        return date-&gt;setMillisecondsSinceEpochForMonth(value)

If that is the case I&apos;ll file a separate bug, fix that first, and come back to this
with the direct serialize approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395623</commentid>
    <comment_count>15</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-29 16:55:14 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Which is months, not msec, despite its name. Maybe the
&gt; implementation of setMonthsSinceEpoch should actually
&gt; take msec.

Ah, I understand your intention.  Yes, Month of DateComponents is an exception for a double value, and LocalizedDate always uses milliseconds.
What we need is similar to setValueAsDate(parsedValue, ec).

The behavior of MonthInputType::setMillisecondToDateComponents() should be correct because HTMLInputElement and MonthInputType treats double values as the number of months though the name is wrong :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395699</commentid>
    <comment_count>16</comment_count>
      <attachid>91787</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 18:34:58 -0700</bug_when>
    <thetext>Created attachment 91787
[PATCH] Add LocalizedDate Allow Formatting + Parsing

This keeps serializeWithComponents and adds serializeWithMilliseconds,
which does the correct DateComponents construction. Diff between
this and the last to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395701</commentid>
    <comment_count>17</comment_count>
      <attachid>91788</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 18:35:21 -0700</bug_when>
    <thetext>Created attachment 91788
[DIFF] Between Version 3 and 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395702</commentid>
    <comment_count>18</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 18:36:22 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/html/BaseDateAndTimeInputType.cpp:208
&gt; &gt; +    if (!date.setMillisecondsSinceEpochForDateTime(parsedValue))
&gt; 
&gt; This is wrong.  It sets DateTime type to the DateComponents object.
&gt; I think serialize(parsedValue) is enough.

Yah, I was taking a shortcut I clearly should not have. How does this
new patch look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395706</commentid>
    <comment_count>19</comment_count>
      <attachid>91787</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-29 18:43:56 -0700</bug_when>
    <thetext>Comment on attachment 91787
[PATCH] Add LocalizedDate Allow Formatting + Parsing

ok.

We can use serializeWithMilliseconds() in BaseDateAndTimeInputType::setValueAsDate() and can remove MonthInputType::setValueAsDate().

Please rebase and run sort-Xcode-project-file before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395724</commentid>
    <comment_count>20</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 19:12:27 -0700</bug_when>
    <thetext>&gt; We can use serializeWithMilliseconds() in BaseDateAndTimeInputType::setValueAsDate()
&gt; and can remove MonthInputType::setValueAsDate().

Good point! Changed base and removed month&apos;s (header + implementation).


&gt; Please rebase and run sort-Xcode-project-file before landing.

Ahh, I see what you were saying before about the sorting. I did not
know about this script. In the past when I moved items around I
though that Xcode just reordered them back anyways.

Done. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395742</commentid>
    <comment_count>21</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 20:29:23 -0700</bug_when>
    <thetext>Landed in &lt;http://trac.webkit.org/changeset/85382&gt;.
GTK Build fix (missed them!) landed in &lt;http://trac.webkit.org/changeset/85385&gt;.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395755</commentid>
    <comment_count>22</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-29 21:19:19 -0700</bug_when>
    <thetext>Landed Windows expected results in &lt;http://trac.webkit.org/changeset/85387&gt;.
I guess windows falls back to mac, and so was reporting failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399607</commentid>
    <comment_count>23</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-05-06 10:26:46 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Landed Windows expected results in &lt;http://trac.webkit.org/changeset/85387&gt;.
&gt; I guess windows falls back to mac, and so was reporting failures.

fast/forms/date-input-visible-strings.html is missing pixel results.  Can someone add them for mac?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399612</commentid>
    <comment_count>24</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-05-06 10:32:22 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; Landed Windows expected results in &lt;http://trac.webkit.org/changeset/85387&gt;.
&gt; &gt; I guess windows falls back to mac, and so was reporting failures.
&gt; 
&gt; fast/forms/date-input-visible-strings.html is missing pixel results.  Can someone add them for mac?

I&apos;m sorry. Are pixel results necessary for every non-dump-as-text test?
Here it was simply sufficient to see the text in the DRT dump. I suppose
it can&apos;t hurt to also include pixel results though. I&apos;ll make mac pixel
results and upload a patch here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399644</commentid>
    <comment_count>25</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-05-06 11:05:14 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; fast/forms/date-input-visible-strings.html is missing pixel results.  Can someone add them for mac?
&gt; 
&gt; I&apos;m sorry. Are pixel results necessary for every non-dump-as-text test?

Yes.

&gt; Here it was simply sufficient to see the text in the DRT dump. I suppose
&gt; it can&apos;t hurt to also include pixel results though. I&apos;ll make mac pixel
&gt; results and upload a patch here.

If you only care about the text, you should add a call to layoutTestController.dumpAsText().

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399689</commentid>
    <comment_count>26</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-05-06 12:02:42 -0700</bug_when>
    <thetext>&gt; If you only care about the text, you should add a call to layoutTestController.dumpAsText().

Well, the issue there is I want the value dumped by the renderer, which
would be unavailable from JavaScript unless I added plumbing to
DRT / LayoutTestController etc.

I&apos;ll attach a patch I will land unreviewed once the rebase is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399690</commentid>
    <comment_count>27</comment_count>
      <attachid>92618</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-05-06 12:03:16 -0700</bug_when>
    <thetext>Created attachment 92618
[UNREVIEWED] Pixel Test Result</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399707</commentid>
    <comment_count>28</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-05-06 12:12:58 -0700</bug_when>
    <thetext>Landed mac pixel results in &lt;http://trac.webkit.org/changeset/85967&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91579</attachid>
            <date>2011-04-28 16:06:26 -0700</date>
            <delta_ts>2011-04-28 18:49:18 -0700</delta_ts>
            <desc>[PATCH] Add LocalizedDate and Default Implementation</desc>
            <filename>localized-date-1.patch</filename>
            <type>text/plain</type>
            <size>28498</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZWVkODA3Li4yYzZkNWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQt
MjggIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBMb2NhbGl6ZWQgRGF0ZSBT
dHJpbmdzIGZvciBEYXRlIElucHV0IEZpZWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3NTIKKworICAgICAgICBUaGUgcmVuZGVyIHRyZWUgZHVt
cCBwcmludHMgb3V0IHRoZSB2aXNpYmxlIHN0cmluZworICAgICAgICBpbnNpZGUgdGhlIDxpbnB1
dD4gZmllbGQuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJp
bmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUt
aW5wdXQtdmlzaWJsZS1zdHJpbmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTEtMDQtMjgg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
dGVzdCBleHBlY3RhdGlvbnMgdXBkYXRlLiBNYXJrZWQgZmxha3kgYW5kIGNyYXNoaW5nIHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUt
c3RyaW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUt
c3RyaW5ncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiYTgwMDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlz
aWJsZS1zdHJpbmdzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDx0aXRsZT5EYXRlIElucHV0IFRlc3Q8L3RpdGxlPgorICAgIDxzdHls
ZT4KKyAgICBpbnB1dCB7IHdpZHRoOiAzMDBweDsgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8Zm9ybSBtZXRob2Q9ImdldCIgYWN0aW9uPSIjIj4KKyAgICAgICAgPGlucHV0
IHRpdGxlPSJ0ZXN0IiB0eXBlPSJkYXRlIj48YnI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJkYXRl
dGltZSI+PGJyPgorICAgICAgICA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiPjxicj4KKyAg
ICAgICAgPGlucHV0IHR5cGU9Im1vbnRoIj48YnI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJ0aW1l
Ij48YnI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJ3ZWVrIj48YnI+CisgICAgPC9mb3JtPgorICAg
IDxzY3JpcHQ+CisgICAgLy8gVHVlIEFwciAyNiAyMDExIDE4OjU2OjIwIEdNVC0wNzAwIChQRFQp
IHdoaWNoIGlzIFdlZCBBcHIgMjcgMjAxMSAwMTo1NjoyMCBHTVQuCisgICAgdmFyIGRhdGUgPSBu
ZXcgRGF0ZSgxMzAzODY5MzgwMzkxKTsKKyAgICB2YXIgZGF0ZUFzTnVtYmVyID0gK2RhdGU7Cisg
ICAgdmFyIGlucHV0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpOwor
ICAgIGZvciAodmFyIGk9MCwgbGVuPWlucHV0cy5sZW5ndGg7IGk8bGVuOyArK2kpIHsKKyAgICAg
ICAgdmFyIGlucHV0ID0gaW5wdXRzW2ldOworICAgICAgICBpbnB1dC5uYW1lID0gaTsKKyAgICAg
ICAgaWYgKCJ2YWx1ZUFzTnVtYmVyIiBpbiBpbnB1dCAmJiBpbnB1dC50eXBlICE9PSAibW9udGgi
KQorICAgICAgICAgICAgaW5wdXQudmFsdWVBc051bWJlciA9IGRhdGVBc051bWJlcjsKKyAgICAg
ICAgZWxzZSBpZiAoInZhbHVlQXNEYXRlIiBpbiBpbnB1dCkKKyAgICAgICAgICAgIGlucHV0LnZh
bHVlQXNEYXRlID0gZGF0ZTsKKyAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9kYXRlLWlu
cHV0LXZpc2libGUtc3RyaW5ncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5ncy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMyNGNjZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJs
ZS1zdHJpbmdzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDU0IEBACitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDE1NAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MTU0CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTM4CisgICAg
ICBSZW5kZXJCbG9jayB7Rk9STX0gYXQgKDAsMCkgc2l6ZSA3ODR4MTM4CisgICAgICAgIFJlbmRl
clRleHRDb250cm9sIHtJTlBVVH0gYXQgKDAsMikgc2l6ZSAzMDZ4MTkgW2JnY29sb3I9I0ZGRkZG
Rl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVyQlIge0JSfSBh
dCAoMzA2LDIpIHNpemUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0
ICgwLDI1KSBzaXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0
ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsMjUpIHNpemUgMHgxOAor
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgwLDQ4KSBzaXplIDMwNngxOSBb
Ymdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorICAgICAgICBS
ZW5kZXJCUiB7QlJ9IGF0ICgzMDYsNDgpIHNpemUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0Q29u
dHJvbCB7SU5QVVR9IGF0ICgwLDcxKSBzaXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9y
ZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYs
NzEpIHNpemUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgwLDk0
KSBzaXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAw
MDApXQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsOTQpIHNpemUgMHgxOAorICAgICAg
ICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgwLDExNykgc2l6ZSAzMDZ4MTkgW2JnY29s
b3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVy
QlIge0JSfSBhdCAoMzA2LDExNykgc2l6ZSAweDE4CitsYXllciBhdCAoMTEsMTMpIHNpemUgMjgy
eDEzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMjgyeDEzCisgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgNjl4MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDAp
IHdpZHRoIDY5OiAiMjAxMS0wNC0yNyIKK2xheWVyIGF0ICgxMSwzNikgc2l6ZSAyODJ4MTMKKyAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAyODJ4MTMKKyAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEsMCkgc2l6ZSAxNTZ4MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRo
IDE1NjogIjIwMTEtMDQtMjdUMDE6NTY6MjAuMzkxWiIKK2xheWVyIGF0ICgxMSw1OSkgc2l6ZSAy
ODJ4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAyODJ4MTMKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxNDl4MTMKKyAgICAgIHRleHQgcnVuIGF0ICgx
LDApIHdpZHRoIDE0OTogIjIwMTEtMDQtMjdUMDE6NTY6MjAuMzkxIgorbGF5ZXIgYXQgKDExLDgy
KSBzaXplIDI4MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDI4MngxMwor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDQ5eDEzCisgICAgICB0ZXh0IHJ1
biBhdCAoMSwwKSB3aWR0aCA0OTogIjIwMTEtMDQiCitsYXllciBhdCAoMTEsMTA1KSBzaXplIDI4
MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDI4MngxMworICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDc0eDEzCisgICAgICB0ZXh0IHJ1biBhdCAoMSww
KSB3aWR0aCA3NDogIjAxOjU2OjIwLjM5MSIKK2xheWVyIGF0ICgxMSwxMjgpIHNpemUgMjgyeDEz
CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMjgyeDEzCisgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDApIHNpemUgNTh4MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdp
ZHRoIDU4OiAiMjAxMS1XMTciCitsYXllciBhdCAoMjk4LDEyKSBzaXplIDEzeDE1CisgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjkwLDIpIHNpemUgMTN4MTUK
K2xheWVyIGF0ICgyOTgsMzUpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCw1OCkg
c2l6ZSAxM3gxNQorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQg
KDI5MCwyKSBzaXplIDEzeDE1CitsYXllciBhdCAoMjk4LDgxKSBzaXplIDEzeDE1CisgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjkwLDIpIHNpemUgMTN4MTUK
K2xheWVyIGF0ICgyOTgsMTA0KSBzaXplIDEzeDE1CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMjkwLDIpIHNpemUgMTN4MTUKK2xheWVyIGF0ICgyOTgsMTI3
KSBzaXplIDEzeDE1CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBh
dCAoMjkwLDIpIHNpemUgMTN4MTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzMwNGE5Yi4uNzYz
OTE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTcxNyw3ICs3MTcsNiBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5jcHAKICAgICBodG1sL0RP
TVRva2VuTGlzdC5jcHAKICAgICBodG1sL0RPTVVSTC5jcHAKLSAgICBodG1sL0RhdGVDb21wb25l
bnRzLmNwcAogICAgIGh0bWwvRGF0ZUlucHV0VHlwZS5jcHAKICAgICBodG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmNwcAogICAgIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKQEAgLTEwMzks
NiArMTAzOCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uY3BwCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUuY3BwCiAgICAgcGxhdGZvcm0vQ3Jv
c3NUaHJlYWRDb3BpZXIuY3BwCisgICAgcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3BwCiAgICAg
cGxhdGZvcm0vRGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5LmNwcAogICAgIHBsYXRmb3JtL0Ry
YWdEYXRhLmNwcAogICAgIHBsYXRmb3JtL0RyYWdJbWFnZS5jcHAKQEAgLTExNjksNiArMTE2OSw3
IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS90ZXh0L0Jhc2U2NC5jcHAKICAg
ICBwbGF0Zm9ybS90ZXh0L0JpZGlDb250ZXh0LmNwcAogICAgIHBsYXRmb3JtL3RleHQvTGluZUVu
ZGluZy5jcHAKKyAgICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcAogICAgIHBs
YXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAKICAgICBwbGF0Zm9ybS90ZXh0L0h5
cGhlbmF0aW9uLmNwcAogICAgIHBsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZWU1OWNlMi4uNzJmYTZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBA
CisyMDExLTA0LTI4ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgTG9jYWxp
emVkIERhdGUgU3RyaW5ncyBmb3IgRGF0ZSBJbnB1dCBGaWVsZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NzUyCisKKyAgICAgICAgVGVzdDogZmFz
dC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5ncy5odG1sCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5w
cm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiB1cGRhdGUgYnVpbGQgZmlsZXMgZm9y
CisgICAgICAgIG1vdmluZyBEYXRlQ29tcG9uZW50cyBmcm9tIFdlYkNvcmUvaHRtbCB0byBXZWJD
b3JlL3BsYXRmb3JtCisgICAgICAgIGFuZCBhZGRpbmcgdGhlIExvY2FsaXplZERhdGUgZmlsZXMu
CisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnZpc2libGVWYWx1ZSk6CisgICAg
ICAgICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9EYXRlQ29tcG9uZW50cy5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL0Rh
dGVDb21wb25lbnRzLmNwcC4KKyAgICAgICAgRXhwb3NlIHRoZSBUeXBlIGVudW0gc28gaXQgY2Fu
IGJlIHVzZWQgb3V0c2lkZSBvZiB0aGUgRGF0ZUNvbXBvbmVudHMgY2xhc3MuCisgICAgICAgICog
cGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmZv
cm1hdExvY2FsaXplZERhdGUpOiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGZhbGxzIGJhY2sgdG8K
KyAgICAgICAgZXhpc3RpbmcgSFRNTDUgZGF0ZSBpbnB1dCB2YWx1ZSBmb3JtYXR0aW5nLgorCiAy
MDExLTA0LTI4ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgV2ViIEF1ZGlvIHdpdGggc3RyaWN0IE93blB0ci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCA1OTBhN2E1Li5hYmViNDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02
MDAsNyArNjAwLDYgQEAKICAgICAgICAgICAgICdoaXN0b3J5L2NmL0hpc3RvcnlQcm9wZXJ0eUxp
c3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9Db2xsZWN0aW9uVHlwZS5oJywKLSAgICAgICAgICAgICdodG1sL0RhdGVDb21wb25l
bnRzLmgnLAogICAgICAgICAgICAgJ2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgnLAogICAg
ICAgICAgICAgJ2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9I
VE1MQ29sbGVjdGlvbi5oJywKQEAgLTczOSw2ICs3MzgsNyBAQAogICAgICAgICAgICAgJ3BsYXRm
b3JtL0Nvb2tpZUphci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Db29raWVzU3RyYXRlZ3ku
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ3Vyc29yLmgnLAorICAgICAgICAgICAgJ3BsYXRm
b3JtL0RhdGVDb21wb25lbnRzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0RlZmF1bHRMb2Nh
bGl6YXRpb25TdHJhdGVneS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9EcmFnRGF0YS5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9EcmFnSW1hZ2UuaCcsCkBAIC0yODA5LDcgKzI4MDksNiBA
QAogICAgICAgICAgICAgJ2h0bWwvRE9NVG9rZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwv
RE9NVVJMLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9ET01VUkwuaCcsCi0gICAgICAgICAgICAn
aHRtbC9EYXRlQ29tcG9uZW50cy5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRGF0ZUlucHV0VHlw
ZS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRGF0ZUlucHV0VHlwZS5oJywKICAgICAgICAgICAg
ICdodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcCcsCkBAIC0zNTMxLDYgKzM1MzAsNyBAQAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmNwcCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ3Vy
c29yLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9EcmFnRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L0RyYWdJbWFnZS5jcHAnLApAQCAtNDg5MCw2ICs0ODkwLDggQEAKICAgICAgICAgICAgICdwbGF0
Zm9ybS90ZXh0L0h5cGhlbmF0aW9uLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9I
eXBoZW5hdGlvbi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0xpbmVFbmRpbmcuY3Bw
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGUuaCcsCisgICAgICAg
ICAgICAncGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHAnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L3RleHQvTG9jYWxpemVkTnVtYmVySUNVLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4
dC9Mb2NhbGl6ZWROdW1iZXJOb25lLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGM1ZTIwYzUuLmFj
YmNlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02NDAsNyArNjQwLDYgQEAgU09VUkNFUyArPSBcCiAg
ICAgaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5jcHAgXAogICAgIGh0bWwvRE9NVG9rZW5MaXN0
LmNwcCBcCiAgICAgaHRtbC9ET01VUkwuY3BwIFwKLSAgICBodG1sL0RhdGVDb21wb25lbnRzLmNw
cCBcCiAgICAgaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBcCiAgICAgaHRtbC9EYXRlVGltZUlucHV0
VHlwZS5jcHAgXAogICAgIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgXApAQCAtOTQ2
LDkgKzk0NSwxMSBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS90ZXh0L0Jhc2U2NC5jcHAg
XAogICAgIHBsYXRmb3JtL3RleHQvQmlkaUNvbnRleHQuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0
L0h5cGhlbmF0aW9uLmNwcCBcCisgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5j
cHAgXAogICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAgXAogICAgIHBs
YXRmb3JtL0NvbnRlbnRUeXBlLmNwcCBcCiAgICAgcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIu
Y3BwIFwKKyAgICBwbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHAgXAogICAgIHBsYXRmb3JtL0Rl
ZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAgXAogICAgIHBsYXRmb3JtL0RyYWdEYXRhLmNw
cCBcCiAgICAgcGxhdGZvcm0vRHJhZ0ltYWdlLmNwcCBcCkBAIC0xNjE2LDcgKzE2MTcsNiBAQCBI
RUFERVJTICs9IFwKICAgICBodG1sL2NhbnZhcy9VaW50OEFycmF5LmggXAogICAgIGh0bWwvQ2xh
c3NMaXN0LmggXAogICAgIGh0bWwvQ29sbGVjdGlvbkNhY2hlLmggXAotICAgIGh0bWwvRGF0ZUNv
bXBvbmVudHMuaCBcCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5oIFwKICAgICBodG1sL0RPTVNldHRh
YmxlVG9rZW5MaXN0LmggXAogICAgIGh0bWwvRE9NVG9rZW5MaXN0LmggXApAQCAtMTg4Niw2ICsx
ODg2LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUuaCBcCiAgICAg
cGxhdGZvcm0vQ29udGV4dE1lbnUuaCBcCiAgICAgcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIu
aCBcCisgICAgcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuaCBcCiAgICAgcGxhdGZvcm0vRGVmYXVs
dExvY2FsaXphdGlvblN0cmF0ZWd5LmggXAogICAgIHBsYXRmb3JtL0RyYWdEYXRhLmggXAogICAg
IHBsYXRmb3JtL0RyYWdJbWFnZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggNzQyNzZkYi4uMTUzODY3ZiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI1NzIyLDYgKzI1NzIyLDE0IEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRm
b3JtXERhdGVDb21wb25lbnRzLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cRGF0ZUNvbXBvbmVudHMuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cRGVmYXVsdExv
Y2FsaXphdGlvblN0cmF0ZWd5LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0zMDU1Myw2ICsz
MDU2MSwxNCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cdGV4dFxMb2NhbGl6ZWREYXRlLmgiCisJCQkJCT4KKwkJCQk8L0Zp
bGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVx0ZXh0XExvY2Fs
aXplZERhdGVOb25lLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXHRleHRcTG9jYWxpemVkTnVtYmVyLmgiCiAJCQkJCT4K
IAkJCQk8L0ZpbGU+CkBAIC01MTE2MiwxNCArNTExNzgsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4K
IAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERhdGVDb21wb25lbnRzLmNwcCIK
LQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxE
YXRlQ29tcG9uZW50cy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXERhdGVJbnB1dFR5cGUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAwZWM1MDU3Li4yZWE2OTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMjMxLDYgKzMyMzEsMTAgQEAKIAkJQTQ1NkZBMjcx
MUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDU2RkEyNTExQUQ0QTgzMDAyMEI0MjAgLyogTGFi
ZWxzTm9kZUxpc3QuaCAqLzsgfTsKIAkJQTUxM0IzRDcxMTRCMTY2NjAwMUM0MjlCIC8qIEtleUV2
ZW50Q29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1Qzk3NENGMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLmggKi87IH07CiAJCUE1
MTNCM0Q4MTE0QjE2NkEwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0RDAxMTQ4NUZGMTAwNjZGMkFC
IC8qIEtleUV2ZW50Q29jb2EubW0gKi87IH07CisJCUE1NzMyQjBBMTM2QTE2MUQwMDVDOEQ3QyAv
KiBEYXRlQ29tcG9uZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3Bw
ICovOyB9OworCQlBNTczMkIwQjEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NzMyQjA5MTM2
QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oICovOyB9OworCQlBNTczMkIwRDEzNkEx
NkM0MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3MzJCMEMxMzZBMTZDNDAwNUM4RDdDIC8qIExvY2FsaXpl
ZERhdGUuaCAqLzsgfTsKKwkJQTU3MzJCMEYxMzZBMTcxNTAwNUM4RDdDIC8qIExvY2FsaXplZERh
dGVOb25lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1NzMyQjBFMTM2QTE3MTUwMDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRlTm9uZS5jcHAgKi87IH07
CiAJCUE1OUUzQzFFMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTlFM0MxQzExNTgw
RjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oICovOyB9OwogCQlBNTlFM0MxRjEx
NTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRJUGhvbmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTlFM0MxRDExNTgwRjUxMDA3MjkyOEUgLyogS2V5
RXZlbnRJUGhvbmUubW0gKi87IH07CiAJCUE1QUZCMzRGMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVw
UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTVBRkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgKi87IH07CkBAIC01Nzgx
LDggKzU3ODUsNiBAQAogCQlGNUMwNDFFNjBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxp
c3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY1QzA0MUUxMEZGQ0E5NkQwMDgzOUQ0QSAvKiBKU0hUTUxEYXRhTGlzdEVsZW1lbnQuY3Bw
ICovOyB9OwogCQlGNUMwNDFFNzBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxpc3RFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUMw
NDFFMjBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxpc3RFbGVtZW50LmggKi87IH07CiAJ
CUY1Q0M0MkRDMTJGODAxQ0EwMEQ1RjdFMyAvKiBMb2NhbGl6ZWROdW1iZXJNYWMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUNDNDJEQjEyRjgwMUNB
MDBENUY3RTMgLyogTG9jYWxpemVkTnVtYmVyTWFjLm1tICovOyB9OwotCQlGNUQzQTU3QzEwNkI4
M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjVEM0E1N0ExMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVD
b21wb25lbnRzLmNwcCAqLzsgfTsKLQkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVD
b21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGN0EwMzRDNDEyNkJGNkJF
MDA3REMxOUUgLyogRm9udE9yaWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGN0EwMzRDMzEyNkJGNkJFMDA3REMxOUUgLyogRm9udE9yaWVu
dGF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRjkxNkM0OEQwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5
MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5j
cHAgKi87IH07CiAJCUY5MTZDNDhFMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjkxNkM0OEMwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmggKi87IH07CkBAIC05NzkzLDYgKzk3OTUsMTAgQEAKIAkJQTQ1NDQyNEQxMTlCMzY4
NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbmRlck1ldGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0NTZGQTI0
MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMYWJlbHNOb2RlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE0NTZGQTI1MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYWJlbHNOb2RlTGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0
ZUNvbXBvbmVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0
ZUNvbXBvbmVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTczMkIwOTEz
NkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGF0ZUNvbXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTU3MzJCMEMxMzZBMTZDNDAwNUM4RDdDIC8qIExvY2FsaXplZERhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9jYWxpemVkRGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNTczMkIwRTEzNkExNzE1MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZU5v
bmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxpemVkRGF0
ZU5vbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTlFM0MxQzExNTgwRjUx
MDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBLZXlFdmVudENvZGVzSVBob25lLmg7IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRD
b2Rlc0lQaG9uZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTlFM0MxRDExNTgw
RjUxMDA3MjkyOEUgLyogS2V5RXZlbnRJUGhvbmUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBLZXlFdmVudElQaG9uZS5tbTsgcGF0aCA9IGlwaG9uZS9LZXlFdmVu
dElQaG9uZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVBRkIzNEQxMTUxNTFB
NzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTdGVwUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIz
NDAsOCArMTIzNDYsNiBAQAogCQlGNUMyODY5NDAyODQ2RENEMDE4NjM1Q0EgLyogQ2FyYm9uLmZy
YW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ2FyYm9uLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFi
c29sdXRlPiI7IH07CiAJCUY1QzI4Njk1MDI4NDZEQ0QwMTg2MzVDQSAvKiBDb2NvYS5mcmFtZXdv
cmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFw
cGVyLmZyYW1ld29yazsgbmFtZSA9IENvY29hLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0NvY29hLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJRjVDQzQyREIxMkY4MDFDQTAwRDVGN0UzIC8qIExvY2FsaXplZE51bWJlck1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsaXplZE51bWJl
ck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjVEM0E1N0ExMDZCODNCMzAw
NTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERhdGVDb21wb25lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJRjVEM0E1N0IxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb21wb25lbnRzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY3QTAzNEMzMTI2QkY2QkUwMDdEQzE5RSAvKiBGb250T3JpZW50YXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE9yaWVudGF0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAv
KiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IEphdmFTY3JpcHRD
b3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRjkx
NkM0OEIwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTgzNSw4
ICsxNTgzOSw2IEBACiAJCQkJOTNDNDQxRkYwRjgxM0FFMTAwQzFBNjM0IC8qIENvbGxlY3Rpb25U
eXBlLmggKi8sCiAJCQkJRjU1QjNEN0YxMjUxRjEyRDAwM0VGMjY5IC8qIENvbG9ySW5wdXRUeXBl
LmNwcCAqLywKIAkJCQlGNTVCM0Q4MDEyNTFGMTJEMDAzRUYyNjkgLyogQ29sb3JJbnB1dFR5cGUu
aCAqLywKLQkJCQlGNUQzQTU3QTEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuY3Bw
ICovLAotCQkJCUY1RDNBNTdCMTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5oICov
LAogCQkJCUY1NUIzRDgxMTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlSW5wdXRUeXBlLmNwcCAqLywK
IAkJCQlGNTVCM0Q4MjEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZUlucHV0VHlwZS5oICovLAogCQkJ
CUY1NUIzRDgzMTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlVGltZUlucHV0VHlwZS5jcHAgKi8sCkBA
IC0xNzk1MCw2ICsxNzk1Miw4IEBACiAJCQkJMzc1Q0QyMzExMTlENDNDODAwQTJBODU5IC8qIEh5
cGhlbmF0aW9uLmggKi8sCiAJCQkJODlCNUVBOUYxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRp
bmcuY3BwICovLAogCQkJCTg5QjVFQUEwMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5nLmgg
Ki8sCisJCQkJQTU3MzJCMEMxMzZBMTZDNDAwNUM4RDdDIC8qIExvY2FsaXplZERhdGUuaCAqLywK
KwkJCQlBNTczMkIwRTEzNkExNzE1MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZU5vbmUuY3BwICov
LAogCQkJCUY1MTQyQzY4MTIzRjEyQjAwMEY1QkQ0QyAvKiBMb2NhbGl6ZWROdW1iZXIuaCAqLywK
IAkJCQlCQzc2QUMxMTBERDdBRDVDMDA0MTVGMzQgLyogUGFyc2VyVXRpbGl0aWVzLmggKi8sCiAJ
CQkJQjJDM0Q5RkIwRDAwNkMxRDAwRUY2RjI2IC8qIFBsYXRmb3JtU3RyaW5nLmggKi8sCkBAIC0x
ODY2Niw2ICsxODY3MCw4IEBACiAJCQkJMkU0MzQ2NTcwRjU0NkE5OTAwQjBGMUJBIC8qIENyb3Nz
VGhyZWFkQ29waWVyLmggKi8sCiAJCQkJRTExQUYxNTAxMUI5QTFBMzAwODA1MTAzIC8qIEN1cnNv
ci5jcHAgKi8sCiAJCQkJRjU4Nzg2ODQwMkRFM0I4NjAxRUE0MTIyIC8qIEN1cnNvci5oICovLAor
CQkJCUE1NzMyQjA4MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi8sCisJ
CQkJQTU3MzJCMDkxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggKi8sCiAJCQkJ
QkNDMzZFQjYxMzQyQUEzRjAwNEJFRUY3IC8qIERlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5j
cHAgKi8sCiAJCQkJQkNDMzZFQjcxMzQyQUEzRjAwNEJFRUY3IC8qIERlZmF1bHRMb2NhbGl6YXRp
b25TdHJhdGVneS5oICovLAogCQkJCUE3OTU0NjQyMEI1QzRDQjQwMDdCNDM4RiAvKiBEcmFnRGF0
YS5jcHAgKi8sCkBAIC0yMDE3OCw3ICsyMDE4NCw2IEBACiAJCQkJODFBQzU5OTkxMzE2MzZFNjAw
MDlBN0UwIC8qIERhdGFUcmFuc2Zlckl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTgxQUM1OTlB
MTMxNjM2RTYwMDA5QTdFMCAvKiBEYXRhVHJhbnNmZXJJdGVtcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkU5N0NDRUIxMjkzOUNCODAwQzVDOEZGIC8qIERhdGFWaWV3LmggaW4gSGVhZGVycyAqLywK
LQkJCQlGNUQzQTU3RDEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUY1NUIzREI2MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlSW5wdXRUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RCODEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZVRpbWVJ
bnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREJBMTI1MUYxMkQwMDNFRjI2OSAv
KiBEYXRlVGltZUxvY2FsSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKQEAgLTIyOTgwLDYgKzIy
OTg1LDggQEAKIAkJCQk0MzU4RTg4NjEzNjBBMzNCMDBFNDc0OEMgLyogU1ZHRkVEcm9wU2hhZG93
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjM4MTBDMUMxMzY1QTQ5NjAwRUQ2RTMzIC8q
IEluc3BlY3RvcldvcmtlckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzgxMEMxRTEzNjVB
NEQ0MDBFRDZFMzMgLyogV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAq
LywKKwkJCQlBNTczMkIwQjEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUE1NzMyQjBEMTM2QTE2QzQwMDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzNTE2LDcgKzIzNTIzLDYgQEAKIAkJCQlCQzY0NjQxRDEx
RDdGNDE2MDA2NDU1QjAgLyogRGF0YXNldERPTVN0cmluZ01hcC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk4MTVFNjE2NzEzMjU4N0FBMDBCNjIyQjAgLyogRGF0YVRyYW5zZmVySXRlbS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRTk3Q0NFQTEyOTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJRjVEM0E1N0MxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21w
b25lbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREI1MTI1MUYxMkQwMDNFRjI2OSAv
KiBEYXRlSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREI3MTI1MUYxMkQw
MDNFRjI2OSAvKiBEYXRlVGltZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTVC
M0RCOTEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTI1Njc4LDYgKzI1Njg0LDggQEAKIAkJCQkxNEUwQkM1NjEzNjE0OEE4MDAy
QUQxMkUgLyogSlNET01Ub2tlbkxpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM4
MTBDMUIxMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTc4MTc1NTg2MTM2NUExQjAwMDkzQkUyRSAvKiBEYXRhVHJhbnNmZXJJdGVt
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0
ZUNvbXBvbmVudHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU3MzJCMEYxMzZBMTcxNTAwNUM4
RDdDIC8qIExvY2FsaXplZERhdGVOb25lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDIyODRlMjQu
LjI4NWE5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgor
I2luY2x1ZGUgIkxvY2FsaXplZERhdGUuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xNzksNCAr
MTgwLDE1IEBAIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZShkb3Vi
bGUgdmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6
Ok1pbGxpc2Vjb25kKTsKIH0KIAorU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6dmlz
aWJsZVZhbHVlKCkgY29uc3QKK3sKKyAgICBTdHJpbmcgY3VycmVudFZhbHVlID0gZWxlbWVudCgp
LT52YWx1ZSgpOworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgaWYgKCFwYXJzZVRvRGF0
ZUNvbXBvbmVudHMoY3VycmVudFZhbHVlLCAmZGF0ZSkpCisgICAgICAgIHJldHVybiBjdXJyZW50
VmFsdWU7CisKKyAgICBTdHJpbmcgbG9jYWxpemVkID0gZm9ybWF0TG9jYWxpemVkRGF0ZShkYXRl
KTsKKyAgICByZXR1cm4gbG9jYWxpemVkLmlzRW1wdHkoKSA/IGN1cnJlbnRWYWx1ZSA6IGxvY2Fs
aXplZDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggYTllOTViNy4uODY4OWE0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oCkBAIC02
Miw2ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWRvd25FdmVu
dChLZXlib2FyZEV2ZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2hl
ZWxFdmVudCopOwogICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShkb3VibGUpIGNvbnN0Owor
ICAgIHZpcnR1YWwgU3RyaW5nIHZpc2libGVWYWx1ZSgpIGNvbnN0OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9u
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHAKc2lt
aWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNv
bXBvbmVudHMuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9u
ZW50cy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNvbXBvbmVudHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmgKc2ltaWxhcml0eSBp
bmRleCA5OSUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5o
CnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5oCmluZGV4
IDliY2UwYzMuLmZkYjI2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNv
bXBvbmVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5o
CkBAIC01OCw2ICs1OCwxNiBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAorICAgIGVudW0gVHlw
ZSB7CisgICAgICAgIEludmFsaWQsCisgICAgICAgIERhdGUsCisgICAgICAgIERhdGVUaW1lLAor
ICAgICAgICBEYXRlVGltZUxvY2FsLAorICAgICAgICBNb250aCwKKyAgICAgICAgVGltZSwKKyAg
ICAgICAgV2VlaywKKyAgICB9OworCiAgICAgaW50IG1pbGxpc2Vjb25kKCkgY29uc3QgeyByZXR1
cm4gbV9taWxsaXNlY29uZDsgfQogICAgIGludCBzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX3Nl
Y29uZDsgfQogICAgIGludCBtaW51dGUoKSBjb25zdCB7IHJldHVybiBtX21pbnV0ZTsgfQpAQCAt
NjYsNiArNzYsNyBAQCBwdWJsaWM6CiAgICAgaW50IG1vbnRoKCkgY29uc3QgeyByZXR1cm4gbV9t
b250aDsgfQogICAgIGludCBmdWxsWWVhcigpIGNvbnN0IHsgcmV0dXJuIG1feWVhcjsgfQogICAg
IGludCB3ZWVrKCkgY29uc3QgeyByZXR1cm4gbV93ZWVrOyB9CisgICAgVHlwZSB0eXBlKCkgY29u
c3QgeyByZXR1cm4gbV90eXBlOyB9CiAKICAgICBlbnVtIFNlY29uZEZvcm1hdCB7CiAgICAgICAg
IE5vbmUsIC8vIFN1cHByZXNzIHRoZSBzZWNvbmQgcGFydCBhbmQgdGhlIG1pbGxpc2Vjb25kIHBh
cnQgaWYgdGhleSBhcmUgMC4KQEAgLTE4NCwxNSArMTk1LDYgQEAgcHJpdmF0ZToKICAgICBpbnQg
bV95ZWFyOyAvLyAgMTU4MiAtCiAgICAgaW50IG1fd2VlazsgLy8gMSAtIDUzCiAKLSAgICBlbnVt
IFR5cGUgewotICAgICAgICBJbnZhbGlkLAotICAgICAgICBEYXRlLAotICAgICAgICBEYXRlVGlt
ZSwKLSAgICAgICAgRGF0ZVRpbWVMb2NhbCwKLSAgICAgICAgTW9udGgsCi0gICAgICAgIFRpbWUs
Ci0gICAgICAgIFdlZWssCi0gICAgfTsKICAgICBUeXBlIG1fdHlwZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYTg0MDRkMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZS5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExvY2FsaXpl
ZERhdGVfaAorI2RlZmluZSBMb2NhbGl6ZWREYXRlX2gKKworI2luY2x1ZGUgIkRhdGVDb21wb25l
bnRzLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworLy8gU2VyaWFsaXplcyB0aGUgc3BlY2lmaWVkIGRhdGUgaW50byBhIGZvcm1hdHRl
ZCBkYXRlIHN0cmluZworLy8gdG8gZGlzcGxheSB0byB0aGUgdXNlci4gSWYgYW4gaW1wbGVtZW50
YXRpb24gZG9lc24ndCBzdXBwb3J0CisvLyBsb2NhbGl6ZWQgZGF0ZXMgdGhlIGZ1bmN0aW9uIHNo
b3VsZCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nLgorU3RyaW5nIGZvcm1hdExvY2FsaXplZERhdGUo
Y29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGVDb21wb25lbnRzKTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gTG9jYWxpemVkRGF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjlmY2MxNWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcApAQCAtMCwwICsxLDM2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvY2FsaXplZERhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitTdHJpbmcgZm9ybWF0TG9jYWxpemVkRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYp
Cit7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91616</attachid>
            <date>2011-04-28 18:49:18 -0700</date>
            <delta_ts>2011-04-28 21:17:29 -0700</delta_ts>
            <desc>[PATCH] Add LocalizedDate Allow Formatting + Parsing</desc>
            <filename>localized-date-2.patch</filename>
            <type>text/plain</type>
            <size>38069</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZWVkODA3Li4yYzZkNWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQt
MjggIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBMb2NhbGl6ZWQgRGF0ZSBT
dHJpbmdzIGZvciBEYXRlIElucHV0IEZpZWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3NTIKKworICAgICAgICBUaGUgcmVuZGVyIHRyZWUgZHVt
cCBwcmludHMgb3V0IHRoZSB2aXNpYmxlIHN0cmluZworICAgICAgICBpbnNpZGUgdGhlIDxpbnB1
dD4gZmllbGQuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJp
bmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUt
aW5wdXQtdmlzaWJsZS1zdHJpbmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTEtMDQtMjgg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
dGVzdCBleHBlY3RhdGlvbnMgdXBkYXRlLiBNYXJrZWQgZmxha3kgYW5kIGNyYXNoaW5nIHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUt
c3RyaW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUt
c3RyaW5ncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNzIxODUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlz
aWJsZS1zdHJpbmdzLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDx0aXRsZT5EYXRlIElucHV0IFRlc3Q8L3RpdGxlPgorICAgIDxzdHls
ZT4KKyAgICBpbnB1dCB7IHdpZHRoOiAzMDBweDsgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8IS0tCisgICAgICBUaGUgdXNlci12aXNpYmxlIHZhbHVlcyBvZiB0aGUgaW5w
dXQgZmllbGRzIHNob3VsZCBiZSBsb2NhbGl6ZWQgaWYgdGhlIHBsYXRmb3JtIGhhcworICAgICAg
YSBMb2NhbGl6ZWREYXRlIGltcGxlbWVudGF0aW9uLiBPdGhlcndpc2UsIHRoZXkgc2hvdWxkIGJl
IGluIHRoZSBIVE1MNSBmb3JtYXRzLgorICAgIC0tPgorICAgIDxmb3JtIG1ldGhvZD0iZ2V0IiBh
Y3Rpb249IiMiPgorICAgICAgICA8aW5wdXQgdGl0bGU9InRlc3QiIHR5cGU9ImRhdGUiPjxicj4K
KyAgICAgICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lIj48YnI+CisgICAgICAgIDxpbnB1dCB0eXBl
PSJkYXRldGltZS1sb2NhbCI+PGJyPgorICAgICAgICA8aW5wdXQgdHlwZT0ibW9udGgiPjxicj4K
KyAgICAgICAgPGlucHV0IHR5cGU9InRpbWUiPjxicj4KKyAgICAgICAgPGlucHV0IHR5cGU9Indl
ZWsiPjxicj4KKyAgICA8L2Zvcm0+CisgICAgPHNjcmlwdD4KKyAgICAvLyBUdWUgQXByIDI2IDIw
MTEgMTg6NTY6MjAgR01ULTA3MDAgKFBEVCkgd2hpY2ggaXMgV2VkIEFwciAyNyAyMDExIDAxOjU2
OjIwIEdNVC4KKyAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKDEzMDM4NjkzODAzOTEpOworICAgIHZh
ciBkYXRlQXNOdW1iZXIgPSArZGF0ZTsKKyAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoImlucHV0Iik7CisgICAgZm9yICh2YXIgaT0wLCBsZW49aW5wdXRzLmxl
bmd0aDsgaTxsZW47ICsraSkgeworICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dHNbaV07CisgICAg
ICAgIGlucHV0Lm5hbWUgPSBpOworICAgICAgICBpZiAoInZhbHVlQXNOdW1iZXIiIGluIGlucHV0
ICYmIGlucHV0LnR5cGUgIT09ICJtb250aCIpCisgICAgICAgICAgICBpbnB1dC52YWx1ZUFzTnVt
YmVyID0gZGF0ZUFzTnVtYmVyOworICAgICAgICBlbHNlIGlmICgidmFsdWVBc0RhdGUiIGluIGlu
cHV0KQorICAgICAgICAgICAgaW5wdXQudmFsdWVBc0RhdGUgPSBkYXRlOworICAgIH0KKyAgICA8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJpbmdzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJs
ZS1zdHJpbmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hMzI0Y2NmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvZm9ybXMvZGF0ZS1pbnB1dC12aXNpYmxlLXN0cmluZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNTQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTU0CisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNTQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHgxMzgKKyAgICAgIFJlbmRlckJsb2NrIHtGT1JNfSBhdCAoMCwwKSBz
aXplIDc4NHgxMzgKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMCwyKSBz
aXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDAp
XQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsMikgc2l6ZSAweDE4CisgICAgICAgIFJl
bmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDAsMjUpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNG
RkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDMwNiwyNSkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBV
VH0gYXQgKDAsNDgpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHgg
aW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDMwNiw0OCkgc2l6ZSAw
eDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDAsNzEpIHNpemUgMzA2
eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAg
ICAgIFJlbmRlckJSIHtCUn0gYXQgKDMwNiw3MSkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJTlBVVH0gYXQgKDAsOTQpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNGRkZGRkZd
IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDMwNiw5NCkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQg
KDAsMTE3KSBzaXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0
ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsMTE3KSBzaXplIDB4MTgK
K2xheWVyIGF0ICgxMSwxMykgc2l6ZSAyODJ4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMs
Mykgc2l6ZSAyODJ4MTMKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA2OXgx
MworICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNjk6ICIyMDExLTA0LTI3IgorbGF5ZXIg
YXQgKDExLDM2KSBzaXplIDI4MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXpl
IDI4MngxMworICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE1NngxMworICAg
ICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTU2OiAiMjAxMS0wNC0yN1QwMTo1NjoyMC4zOTFa
IgorbGF5ZXIgYXQgKDExLDU5KSBzaXplIDI4MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MywzKSBzaXplIDI4MngxMworICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE0
OXgxMworICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTQ5OiAiMjAxMS0wNC0yN1QwMTo1
NjoyMC4zOTEiCitsYXllciBhdCAoMTEsODIpIHNpemUgMjgyeDEzCisgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgzLDMpIHNpemUgMjgyeDEzCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDAp
IHNpemUgNDl4MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDQ5OiAiMjAxMS0wNCIK
K2xheWVyIGF0ICgxMSwxMDUpIHNpemUgMjgyeDEzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgz
LDMpIHNpemUgMjgyeDEzCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgNzR4
MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDc0OiAiMDE6NTY6MjAuMzkxIgorbGF5
ZXIgYXQgKDExLDEyOCkgc2l6ZSAyODJ4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykg
c2l6ZSAyODJ4MTMKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA1OHgxMwor
ICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNTg6ICIyMDExLVcxNyIKK2xheWVyIGF0ICgy
OTgsMTIpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwzNSkgc2l6ZSAxM3gxNQor
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDI5MCwyKSBzaXpl
IDEzeDE1CitsYXllciBhdCAoMjk4LDU4KSBzaXplIDEzeDE1CisgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjkwLDIpIHNpemUgMTN4MTUKK2xheWVyIGF0ICgy
OTgsODEpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwxMDQpIHNpemUgMTN4MTUK
KyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyOTAsMikgc2l6
ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwxMjcpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA3MzA0YTliLi43NjM5MTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
NzE3LDcgKzcxNyw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0RPTVNldHRhYmxl
VG9rZW5MaXN0LmNwcAogICAgIGh0bWwvRE9NVG9rZW5MaXN0LmNwcAogICAgIGh0bWwvRE9NVVJM
LmNwcAotICAgIGh0bWwvRGF0ZUNvbXBvbmVudHMuY3BwCiAgICAgaHRtbC9EYXRlSW5wdXRUeXBl
LmNwcAogICAgIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9EYXRlVGltZUxv
Y2FsSW5wdXRUeXBlLmNwcApAQCAtMTAzOSw2ICsxMDM4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAKICAgICBwbGF0Zm9ybS9Db250ZW50
VHlwZS5jcHAKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5jcHAKKyAgICBwbGF0Zm9y
bS9EYXRlQ29tcG9uZW50cy5jcHAKICAgICBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9uU3Ry
YXRlZ3kuY3BwCiAgICAgcGxhdGZvcm0vRHJhZ0RhdGEuY3BwCiAgICAgcGxhdGZvcm0vRHJhZ0lt
YWdlLmNwcApAQCAtMTE2OSw2ICsxMTY5LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBs
YXRmb3JtL3RleHQvQmFzZTY0LmNwcAogICAgIHBsYXRmb3JtL3RleHQvQmlkaUNvbnRleHQuY3Bw
CiAgICAgcGxhdGZvcm0vdGV4dC9MaW5lRW5kaW5nLmNwcAorICAgIHBsYXRmb3JtL3RleHQvTG9j
YWxpemVkRGF0ZU5vbmUuY3BwCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25l
LmNwcAogICAgIHBsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uY3BwCiAgICAgcGxhdGZvcm0vdGV4
dC9SZWd1bGFyRXhwcmVzc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlZTU5Y2UyLi4yN2EyNzhhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTEtMDQtMjggIEpvc2VwaCBQZWNvcmFybyAg
PGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBMb2NhbGl6ZWQgRGF0ZSBTdHJpbmdzIGZvciBEYXRlIElucHV0
IEZpZWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTk3NTIKKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJp
bmdzLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IHVwZGF0ZSBidWlsZCBmaWxlcyBmb3IKKyAgICAgICAgbW92aW5nIERhdGVDb21wb25lbnRz
IGZyb20gV2ViQ29yZS9odG1sIHRvIFdlYkNvcmUvcGxhdGZvcm0KKyAgICAgICAgYW5kIGFkZGlu
ZyB0aGUgTG9jYWxpemVkRGF0ZSBmaWxlcy4KKworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0
VHlwZTo6dmlzaWJsZVZhbHVlKTogYWxsb3cKKyAgICAgICAgbG9jYWxpemVkIGZvcm1hdHRpbmcg
b2YgYSBkYXRlIHZhbHVlLgorICAgICAgICAoV2ViQ29yZTo6QmFzZURhdGVBbmRUaW1lSW5wdXRU
eXBlOjpjb252ZXJ0RnJvbVZpc2libGVWYWx1ZSk6CisgICAgICAgIGFsbG93IHBhcnNpbmcgZm9y
IGEgZm9ybWF0dGVkIGRhdGUgdmFsdWUuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNvbXBvbmVudHMuY3BwLgorICAgICAg
ICBFeHBvc2UgdGhlIFR5cGUgZW51bSBzbyBpdCBjYW4gYmUgdXNlZCBvdXRzaWRlIG9mIHRoZSBE
YXRlQ29tcG9uZW50cyBjbGFzcy4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERh
dGUuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Zm9ybWF0TG9jYWxpemVkRGF0ZSk6IERlZmF1
bHQgaW1wbGVtZW50YXRpb24gZmFsbHMgYmFjayB0bworICAgICAgICBleGlzdGluZyBIVE1MNSBk
YXRlIGlucHV0IHZhbHVlIGZvcm1hdHRpbmcuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5k
VGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRlSW5wdXRUeXBlOjpkYXRlVHlwZSk6CisgICAgICAgICogaHRtbC9E
YXRlSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUlucHV0VHlwZTo6ZGF0ZVR5cGUpOgorICAgICAgICAq
IGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0RhdGVUaW1lTG9jYWxJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6
ZGF0ZVR5cGUpOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oOgorICAg
ICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJ
bnB1dFR5cGU6OmRhdGVUeXBlKToKKyAgICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmg6Cisg
ICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVJ
bnB1dFR5cGU6OmRhdGVUeXBlKToKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKiBodG1sL1dlZWtJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vla0lu
cHV0VHlwZTo6ZGF0ZVR5cGUpOgorICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5oOiBBY2Nl
c3NvcnMgZm9yIHRoZSBkZXNpcmVkIGRhdGUKKyAgICAgICAgdHlwZSBvZiBhIGRhdGUgaW5wdXQg
dHlwZS4gVGhpcyBhbGxvd3MgdGhlIGJhc2UgY2xhc3MKKyAgICAgICAgdG8gd3JpdGUgYSBnZW5l
cmljIGFsZ29yaXRobS4KKwogMjAxMS0wNC0yOCAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yIFdlYiBBdWRpbyB3aXRo
IHN0cmljdCBPd25QdHIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNTkwYTdhNS4uYWJlYjQ5OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtNjAwLDcgKzYwMCw2IEBACiAgICAgICAgICAgICAnaGlzdG9yeS9j
Zi9IaXN0b3J5UHJvcGVydHlMaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvQ29sbGVjdGlvbkNh
Y2hlLmgnLAogICAgICAgICAgICAgJ2h0bWwvQ29sbGVjdGlvblR5cGUuaCcsCi0gICAgICAgICAg
ICAnaHRtbC9EYXRlQ29tcG9uZW50cy5oJywKICAgICAgICAgICAgICdodG1sL0Zvcm1Bc3NvY2lh
dGVkRWxlbWVudC5oJywKICAgICAgICAgICAgICdodG1sL0hUTUxBcHBsZXRFbGVtZW50LmgnLAog
ICAgICAgICAgICAgJ2h0bWwvSFRNTENvbGxlY3Rpb24uaCcsCkBAIC03MzksNiArNzM4LDcgQEAK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9Db29raWVKYXIuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vQ29va2llc1N0cmF0ZWd5LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0N1cnNvci5oJywK
KyAgICAgICAgICAgICdwbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3kuaCcsCiAgICAgICAgICAgICAncGxh
dGZvcm0vRHJhZ0RhdGEuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vRHJhZ0ltYWdlLmgnLApA
QCAtMjgwOSw3ICsyODA5LDYgQEAKICAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5oJywK
ICAgICAgICAgICAgICdodG1sL0RPTVVSTC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRE9NVVJM
LmgnLAotICAgICAgICAgICAgJ2h0bWwvRGF0ZUNvbXBvbmVudHMuY3BwJywKICAgICAgICAgICAg
ICdodG1sL0RhdGVJbnB1dFR5cGUuY3BwJywKICAgICAgICAgICAgICdodG1sL0RhdGVJbnB1dFR5
cGUuaCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAnLApAQCAtMzUz
MSw2ICszNTMwLDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5j
cHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL0N1cnNvci5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL0RhdGVD
b21wb25lbnRzLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vRGVmYXVsdExvY2FsaXphdGlv
blN0cmF0ZWd5LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vRHJhZ0RhdGEuY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwJywKQEAgLTQ4OTAsNiArNDg5MCw4IEBA
CiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9IeXBoZW5hdGlvbi5jcHAnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
dGV4dC9MaW5lRW5kaW5nLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9Mb2NhbGl6
ZWREYXRlLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUu
Y3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlci5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlcklDVS5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bwppbmRleCBjNWUyMGM1Li5hY2JjZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtNjQwLDcgKzY0MCw2
IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuY3BwIFwKICAg
ICBodG1sL0RPTVRva2VuTGlzdC5jcHAgXAogICAgIGh0bWwvRE9NVVJMLmNwcCBcCi0gICAgaHRt
bC9EYXRlQ29tcG9uZW50cy5jcHAgXAogICAgIGh0bWwvRGF0ZUlucHV0VHlwZS5jcHAgXAogICAg
IGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIFwKICAgICBodG1sL0RhdGVUaW1lTG9jYWxJbnB1
dFR5cGUuY3BwIFwKQEAgLTk0Niw5ICs5NDUsMTEgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZv
cm0vdGV4dC9CYXNlNjQuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0JpZGlDb250ZXh0LmNwcCBc
CiAgICAgcGxhdGZvcm0vdGV4dC9IeXBoZW5hdGlvbi5jcHAgXAorICAgIHBsYXRmb3JtL3RleHQv
TG9jYWxpemVkRGF0ZU5vbmUuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJl
ck5vbmUuY3BwIFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5jcHAgXAogICAgIHBsYXRmb3Jt
L0Nyb3NzVGhyZWFkQ29waWVyLmNwcCBcCisgICAgcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3Bw
IFwKICAgICBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwIFwKICAgICBw
bGF0Zm9ybS9EcmFnRGF0YS5jcHAgXAogICAgIHBsYXRmb3JtL0RyYWdJbWFnZS5jcHAgXApAQCAt
MTYxNiw3ICsxNjE3LDYgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9jYW52YXMvVWludDhBcnJh
eS5oIFwKICAgICBodG1sL0NsYXNzTGlzdC5oIFwKICAgICBodG1sL0NvbGxlY3Rpb25DYWNoZS5o
IFwKLSAgICBodG1sL0RhdGVDb21wb25lbnRzLmggXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBc
CiAgICAgaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKICAgICBodG1sL0RPTVRva2VuTGlz
dC5oIFwKQEAgLTE4ODYsNiArMTg4Niw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL0Nv
bnRlbnRUeXBlLmggXAogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51LmggXAogICAgIHBsYXRmb3Jt
L0Nyb3NzVGhyZWFkQ29waWVyLmggXAorICAgIHBsYXRmb3JtL0RhdGVDb21wb25lbnRzLmggXAog
ICAgIHBsYXRmb3JtL0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5oIFwKICAgICBwbGF0Zm9y
bS9EcmFnRGF0YS5oIFwKICAgICBwbGF0Zm9ybS9EcmFnSW1hZ2UuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDc0Mjc2ZGIuLjE1Mzg2N2Yg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0y
NTcyMiw2ICsyNTcyMiwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxEYXRlQ29tcG9uZW50cy5jcHAiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXERhdGVDb21wb25l
bnRzLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHBsYXRmb3JtXERlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpAQCAtMzA1NTMsNiArMzA1NjEsMTQgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXHRleHRcTG9jYWxpemVkRGF0ZS5o
IgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
cGxhdGZvcm1cdGV4dFxMb2NhbGl6ZWREYXRlTm9uZS5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVx0ZXh0XExvY2FsaXpl
ZE51bWJlci5oIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpAQCAtNTExNjIsMTQgKzUxMTc4LDYgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxE
YXRlQ29tcG9uZW50cy5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcRGF0ZUNvbXBvbmVudHMuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0J
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxEYXRlSW5wdXRUeXBlLmNwcCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMGVjNTA1Ny4uMmVhNjkxMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzIzMSw2ICszMjMx
LDEwIEBACiAJCUE0NTZGQTI3MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NkZBMjUxMUFE
NEE4MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2
NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRDRjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRD
b2NvYS5oICovOyB9OwogCQlBNTEzQjNEODExNEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2Nv
YS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3
NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLm1tICovOyB9OworCQlBNTczMkIw
QTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3MzJCMDgxMzZBMTYxRDAwNUM4RDdDIC8q
IERhdGVDb21wb25lbnRzLmNwcCAqLzsgfTsKKwkJQTU3MzJCMEIxMzZBMTYxRDAwNUM4RDdDIC8q
IERhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsg
fTsKKwkJQTU3MzJCMEQxMzZBMTZDNDAwNUM4RDdDIC8qIExvY2FsaXplZERhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NzMyQjBDMTM2QTE2QzQw
MDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRlLmggKi87IH07CisJCUE1NzMyQjBGMTM2QTE3MTUwMDVD
OEQ3QyAvKiBMb2NhbGl6ZWREYXRlTm9uZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIwRTEzNkExNzE1MDA1QzhEN0MgLyogTG9jYWxpemVk
RGF0ZU5vbmUuY3BwICovOyB9OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZl
bnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAq
LzsgfTsKIAkJQTU5RTNDMUYxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU5RTNDMUQxMTU4
MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tICovOyB9OwogCQlBNUFGQjM0RjExNTE1
MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2Uu
Y3BwICovOyB9OwpAQCAtNTc4MSw4ICs1Nzg1LDYgQEAKIAkJRjVDMDQxRTYwRkZDQTk2RDAwODM5
RDRBIC8qIEpTSFRNTERhdGFMaXN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUMwNDFFMTBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1M
RGF0YUxpc3RFbGVtZW50LmNwcCAqLzsgfTsKIAkJRjVDMDQxRTcwRkZDQTk2RDAwODM5RDRBIC8q
IEpTSFRNTERhdGFMaXN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjVDMDQxRTIwRkZDQTk2RDAwODM5RDRBIC8qIEpTSFRNTERhdGFMaXN0
RWxlbWVudC5oICovOyB9OwogCQlGNUNDNDJEQzEyRjgwMUNBMDBENUY3RTMgLyogTG9jYWxpemVk
TnVtYmVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjVDQzQyREIxMkY4MDFDQTAwRDVGN0UzIC8qIExvY2FsaXplZE51bWJlck1hYy5tbSAqLzsg
fTsKLQkJRjVEM0E1N0MxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1RDNBNTdBMTA2Qjgz
QjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi87IH07Ci0JCUY1RDNBNTdEMTA2Qjgz
QjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjVEM0E1N0IxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21w
b25lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRjdBMDM0QzQxMjZCRjZCRTAwN0RDMTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjdBMDM0QzMxMjZCRjZCRTAw
N0RDMTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUY5MTZDNDhEMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QjBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnQuY3BwICovOyB9OwogCQlGOTE2QzQ4RTBEQjUxMEY4MDA3NkNEODMg
LyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OwpAQCAtOTc5Myw2ICs5Nzk1LDEwIEBA
CiAJCUE0NTQ0MjREMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNZXRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNDU2RkEyNDExQUQ0QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGFiZWxzTm9kZUxpc3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNDU2RkEyNTExQUQ0QTgzMDAyMEI0MjAg
LyogTGFiZWxzTm9kZUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFi
ZWxzTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU3MzJCMDgxMzZB
MTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERhdGVDb21wb25lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTU3MzJCMDkxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb21wb25lbnRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1NzMyQjBDMTM2QTE2QzQwMDVDOEQ3QyAvKiBMb2NhbGl6
ZWREYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvY2FsaXplZERhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU3MzJCMEUxMzZBMTcxNTAwNUM4RDdD
IC8qIExvY2FsaXplZERhdGVOb25lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExvY2FsaXplZERhdGVOb25lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBwYXRo
ID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUubW07IHBh
dGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTEyMzQwLDggKzEyMzQ2LDYgQEAKIAkJRjVDMjg2OTQwMjg0NkRDRDAx
ODYzNUNBIC8qIENhcmJvbi5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENhcmJvbi5mcmFt
ZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3Jr
OyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlGNUMyODY5NTAyODQ2RENEMDE4NjM1
Q0EgLyogQ29jb2EuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb2NvYS5mcmFtZXdvcms7
IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db2NvYS5mcmFtZXdvcms7IHNvdXJj
ZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUY1Q0M0MkRCMTJGODAxQ0EwMEQ1RjdFMyAvKiBM
b2NhbGl6ZWROdW1iZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBMb2NhbGl6ZWROdW1iZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUY1RDNBNTdBMTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRlQ29tcG9uZW50cy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUY1RDNBNTdCMTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRlQ29t
cG9uZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlQ29tcG9uZW50
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGN0EwMzRDMzEyNkJGNkJFMDA3REMx
OUUgLyogRm9udE9yaWVudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZvbnRPcmllbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGODIxNjI5
OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7
IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTU4MzUsOCArMTU4MzksNiBAQAogCQkJCTkzQzQ0MUZGMEY4MTNBRTEwMEMx
QTYzNCAvKiBDb2xsZWN0aW9uVHlwZS5oICovLAogCQkJCUY1NUIzRDdGMTI1MUYxMkQwMDNFRjI2
OSAvKiBDb2xvcklucHV0VHlwZS5jcHAgKi8sCiAJCQkJRjU1QjNEODAxMjUxRjEyRDAwM0VGMjY5
IC8qIENvbG9ySW5wdXRUeXBlLmggKi8sCi0JCQkJRjVEM0E1N0ExMDZCODNCMzAwNTQ1Mjk3IC8q
IERhdGVDb21wb25lbnRzLmNwcCAqLywKLQkJCQlGNUQzQTU3QjEwNkI4M0IzMDA1NDUyOTcgLyog
RGF0ZUNvbXBvbmVudHMuaCAqLywKIAkJCQlGNTVCM0Q4MTEyNTFGMTJEMDAzRUYyNjkgLyogRGF0
ZUlucHV0VHlwZS5jcHAgKi8sCiAJCQkJRjU1QjNEODIxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVJ
bnB1dFR5cGUuaCAqLywKIAkJCQlGNTVCM0Q4MzEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZVRpbWVJ
bnB1dFR5cGUuY3BwICovLApAQCAtMTc5NTAsNiArMTc5NTIsOCBAQAogCQkJCTM3NUNEMjMxMTE5
RDQzQzgwMEEyQTg1OSAvKiBIeXBoZW5hdGlvbi5oICovLAogCQkJCTg5QjVFQTlGMTFFODAwM0Qw
MEYyMzY3RSAvKiBMaW5lRW5kaW5nLmNwcCAqLywKIAkJCQk4OUI1RUFBMDExRTgwMDNEMDBGMjM2
N0UgLyogTGluZUVuZGluZy5oICovLAorCQkJCUE1NzMyQjBDMTM2QTE2QzQwMDVDOEQ3QyAvKiBM
b2NhbGl6ZWREYXRlLmggKi8sCisJCQkJQTU3MzJCMEUxMzZBMTcxNTAwNUM4RDdDIC8qIExvY2Fs
aXplZERhdGVOb25lLmNwcCAqLywKIAkJCQlGNTE0MkM2ODEyM0YxMkIwMDBGNUJENEMgLyogTG9j
YWxpemVkTnVtYmVyLmggKi8sCiAJCQkJQkM3NkFDMTEwREQ3QUQ1QzAwNDE1RjM0IC8qIFBhcnNl
clV0aWxpdGllcy5oICovLAogCQkJCUIyQzNEOUZCMEQwMDZDMUQwMEVGNkYyNiAvKiBQbGF0Zm9y
bVN0cmluZy5oICovLApAQCAtMTg2NjYsNiArMTg2NzAsOCBAQAogCQkJCTJFNDM0NjU3MEY1NDZB
OTkwMEIwRjFCQSAvKiBDcm9zc1RocmVhZENvcGllci5oICovLAogCQkJCUUxMUFGMTUwMTFCOUEx
QTMwMDgwNTEwMyAvKiBDdXJzb3IuY3BwICovLAogCQkJCUY1ODc4Njg0MDJERTNCODYwMUVBNDEy
MiAvKiBDdXJzb3IuaCAqLywKKwkJCQlBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNv
bXBvbmVudHMuY3BwICovLAorCQkJCUE1NzMyQjA5MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29t
cG9uZW50cy5oICovLAogCQkJCUJDQzM2RUI2MTM0MkFBM0YwMDRCRUVGNyAvKiBEZWZhdWx0TG9j
YWxpemF0aW9uU3RyYXRlZ3kuY3BwICovLAogCQkJCUJDQzM2RUI3MTM0MkFBM0YwMDRCRUVGNyAv
KiBEZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3kuaCAqLywKIAkJCQlBNzk1NDY0MjBCNUM0Q0I0
MDA3QjQzOEYgLyogRHJhZ0RhdGEuY3BwICovLApAQCAtMjAxNzgsNyArMjAxODQsNiBAQAogCQkJ
CTgxQUM1OTk5MTMxNjM2RTYwMDA5QTdFMCAvKiBEYXRhVHJhbnNmZXJJdGVtLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4MUFDNTk5QTEzMTYzNkU2MDAwOUE3RTAgLyogRGF0YVRyYW5zZmVySXRlbXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFOTdDQ0VCMTI5MzlDQjgwMEM1QzhGRiAvKiBEYXRhVmll
dy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVD
b21wb25lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RCNjEyNTFGMTJEMDAzRUYyNjkg
LyogRGF0ZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQjgxMjUxRjEyRDAw
M0VGMjY5IC8qIERhdGVUaW1lSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNTVCM0RC
QTEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yMjk4MCw2ICsyMjk4NSw4IEBACiAJCQkJNDM1OEU4ODYxMzYwQTMzQjAwRTQ3NDhD
IC8qIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzODEwQzFD
MTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRjM4MTBDMUUxMzY1QTRENDAwRUQ2RTMzIC8qIFdvcmtlckNvbnRleHRJbnNwZWN0b3JQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTU3MzJCMEIxMzZBMTYxRDAwNUM4RDdDIC8qIERh
dGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTczMkIwRDEzNkExNkM0MDA1QzhE
N0MgLyogTG9jYWxpemVkRGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMzUxNiw3ICsyMzUyMyw2
IEBACiAJCQkJQkM2NDY0MUQxMUQ3RjQxNjAwNjQ1NUIwIC8qIERhdGFzZXRET01TdHJpbmdNYXAu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODE1RTYxNjcxMzI1ODdBQTAwQjYyMkIwIC8qIERhdGFU
cmFuc2Zlckl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU5N0NDRUExMjkzOUNCODAwQzVD
OEZGIC8qIERhdGFWaWV3LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUY1RDNBNTdDMTA2QjgzQjMw
MDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTVCM0RC
NTEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGNTVCM0RCNzEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRjU1QjNEQjkxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVUaW1lTG9jYWxJ
bnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNTY3OCw2ICsyNTY4NCw4IEBACiAJCQkJ
MTRFMEJDNTYxMzYxNDhBODAwMkFEMTJFIC8qIEpTRE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUYzODEwQzFCMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3ODE3NTU4NjEzNjVBMUIwMDA5M0JFMkUg
LyogRGF0YVRyYW5zZmVySXRlbXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTU3MzJCMEExMzZB
MTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE1
NzMyQjBGMTM2QTE3MTUwMDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRlTm9uZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
LmNwcAppbmRleCAyMjg0ZTI0Li5iOWY1NTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zMSwxMCArMzEsMTAgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCIKIAot
I2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNp
bmNsdWRlICJMb2NhbGl6ZWREYXRlLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0
Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgpAQCAtMTc5LDQgKzE3
OSwyNCBAQCBTdHJpbmcgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXJpYWxpemUoZG91Ymxl
IHZhbHVlKSBjb25zdAogICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKERhdGVDb21wb25lbnRzOjpN
aWxsaXNlY29uZCk7CiB9CiAKK1N0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnZpc2li
bGVWYWx1ZSgpIGNvbnN0Cit7CisgICAgU3RyaW5nIGN1cnJlbnRWYWx1ZSA9IGVsZW1lbnQoKS0+
dmFsdWUoKTsKKyAgICBEYXRlQ29tcG9uZW50cyBkYXRlOworICAgIGlmICghcGFyc2VUb0RhdGVD
b21wb25lbnRzKGN1cnJlbnRWYWx1ZSwgJmRhdGUpKQorICAgICAgICByZXR1cm4gY3VycmVudFZh
bHVlOworCisgICAgU3RyaW5nIGxvY2FsaXplZCA9IGZvcm1hdExvY2FsaXplZERhdGUoZGF0ZSk7
CisgICAgcmV0dXJuIGxvY2FsaXplZC5pc0VtcHR5KCkgPyBjdXJyZW50VmFsdWUgOiBsb2NhbGl6
ZWQ7Cit9CisKK1N0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNvbnZlcnRGcm9tVmlz
aWJsZVZhbHVlKGNvbnN0IFN0cmluZyYgdmlzaWJsZVZhbHVlKSBjb25zdAoreworICAgIGlmICh2
aXNpYmxlVmFsdWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdmlzaWJsZVZhbHVlOworCisg
ICAgU3RyaW5nIHBhcnNlZFN0cmluZyA9IHBhcnNlTG9jYWxpemVkRGF0ZSh2aXNpYmxlVmFsdWUs
IGRhdGVUeXBlKCkpOworICAgIHJldHVybiBwYXJzZWRTdHJpbmcuaXNFbXB0eSgpID8gdmlzaWJs
ZVZhbHVlIDogcGFyc2VkU3RyaW5nOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAppbmRleCBhOWU5
NWI3Li5kM2YwNTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5k
VGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1l
SW5wdXRUeXBlLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlX2gKICNkZWZpbmUgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlX2gKIAorI2luY2x1ZGUg
IkRhdGVDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAiVGV4dEZpZWxkSW5wdXRUeXBlLmgiCiAjaW5j
bHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC00Niw2ICs0Nyw3IEBAIHByb3RlY3Rl
ZDoKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50c0ludGVy
bmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKGRv
dWJsZSwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBEYXRlQ29tcG9u
ZW50czo6VHlwZSBkYXRlVHlwZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1
ZUFzRGF0ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShkb3VibGUs
IEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1ZUFzTnVtYmVy
KCkgY29uc3Q7CkBAIC02Miw2ICs2NCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZVdoZWVsRXZlbnQoV2hlZWxFdmVudCopOwogICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShk
b3VibGUpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIHZpc2libGVWYWx1ZSgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgU3RyaW5nIGNvbnZlcnRGcm9tVmlzaWJsZVZhbHVlKGNvbnN0IFN0cmluZyYp
IGNvbnN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZUlucHV0VHlwZS5jcHAKaW5kZXggMzQwOWQzYi4uNzQyMmUyYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuY3BwCkBAIC01Myw2ICs1MywxMSBAQCBjb25zdCBBdG9taWNTdHJpbmcm
IERhdGVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0
VHlwZU5hbWVzOjpkYXRlKCk7CiB9CiAKK0RhdGVDb21wb25lbnRzOjpUeXBlIERhdGVJbnB1dFR5
cGU6OmRhdGVUeXBlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gRGF0ZUNvbXBvbmVudHM6OkRhdGU7
Cit9CisKIGRvdWJsZSBEYXRlSW5wdXRUeXBlOjptaW5pbXVtKCkgY29uc3QKIHsKICAgICByZXR1
cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIERh
dGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRGF0ZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBl
LmgKaW5kZXggOTY1ZDllYS4uNjgzZWMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9EYXRlSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBl
LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEYXRlSW5wdXRUeXBl
KEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVs
ZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5
cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkg
Y29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwg
ZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3RlcCgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAppbmRleCAy
YWNiOTk3Li40MzE4OWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1l
SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBl
LmNwcApAQCAtNTQsNiArNTQsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBEYXRlVGltZUlucHV0
VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6
OmRhdGV0aW1lKCk7CiB9CiAKK0RhdGVDb21wb25lbnRzOjpUeXBlIERhdGVUaW1lSW5wdXRUeXBl
OjpkYXRlVHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIERhdGVDb21wb25lbnRzOjpEYXRlVGlt
ZTsKK30KKwogZG91YmxlIERhdGVUaW1lSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAo
KSBjb25zdAogewogICAgIHJldHVybiBjdXJyZW50VGltZU1TKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVUaW1lSW5wdXRUeXBlLmgKaW5kZXggMWI5ZTA2Yy4uZGNjZDU5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIERhdGVUaW1lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQp
IDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERh
dGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUg
ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11
bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCmluZGV4IDM2MWZhZDcu
LjFiOWZlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElu
cHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRU
eXBlLmNwcApAQCAtNTMsNiArNTMsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBEYXRlVGltZUxv
Y2FsSW5wdXRUeXBlOjpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAogICAgIHJldHVybiBJbnB1dFR5
cGVOYW1lczo6ZGF0ZXRpbWVsb2NhbCgpOwogfQogCitEYXRlQ29tcG9uZW50czo6VHlwZSBEYXRl
VGltZUxvY2FsSW5wdXRUeXBlOjpkYXRlVHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIERhdGVD
b21wb25lbnRzOjpEYXRlVGltZUxvY2FsOworfQorCiBkb3VibGUgRGF0ZVRpbWVMb2NhbElucHV0
VHlwZTo6dmFsdWVBc0RhdGUoKSBjb25zdAogewogICAgIC8vIHZhbHVlQXNEYXRlIGRvZXNuJ3Qg
d29yayBmb3IgdGhlIGRhdGV0aW1lLWxvY2FsIHR5cGUgYWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFy
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKaW5kZXgg
YWUxMThhZi4uNjUwOWQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUxvY2FsSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2Fs
SW5wdXRUeXBlLmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEYXRl
VGltZUxvY2FsSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFzZURhdGVB
bmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRz
OjpUeXBlIGRhdGVUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc0RhdGUo
KSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoZG91YmxlLCBFeGNlcHRp
b25Db2RlJikgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAppbmRleCAzOGY5ZDAwLi40ZTkyMTE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcApAQCAtNTYsNiArNTYsMTEgQEAg
Y29uc3QgQXRvbWljU3RyaW5nJiBNb250aElucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29u
c3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6Om1vbnRoKCk7CiB9CiAKK0RhdGVDb21wb25l
bnRzOjpUeXBlIE1vbnRoSW5wdXRUeXBlOjpkYXRlVHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IERhdGVDb21wb25lbnRzOjpNb250aDsKK30KKwogZG91YmxlIE1vbnRoSW5wdXRUeXBlOjp2YWx1
ZUFzRGF0ZSgpIGNvbnN0CiB7CiAgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTW9udGhJbnB1dFR5cGUuaAppbmRleCAyMzUzNmUyLi42NTFkZjQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9Nb250aElucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgTW9udGhJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlRGF0
ZUFuZFRpbWVJbnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRGF0ZUNvbXBvbmVu
dHM6OlR5cGUgZGF0ZVR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1ZUFzRGF0
ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFzRGF0ZShkb3VibGUsIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBwYXJzZVRvRG91YmxlKGNvbnN0
IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNw
cAppbmRleCAzMzQyM2E5Li5mODllYzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5jcHAKQEAgLTU2LDYgKzU2LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgVGltZUlucHV0VHlw
ZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OnRp
bWUoKTsKIH0KIAorRGF0ZUNvbXBvbmVudHM6OlR5cGUgVGltZUlucHV0VHlwZTo6ZGF0ZVR5cGUo
KSBjb25zdAoreworICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6VGltZTsKK30KKwogZG91Ymxl
IFRpbWVJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0CiB7CiAgICAgZG91
YmxlIGN1cnJlbnQgPSBjdXJyZW50VGltZU1TKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1RpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5oCmluZGV4IDNlNjhmYWQuLmY2YWVjMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgVGltZUlucHV0VHlw
ZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShl
bGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xU
eXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBEYXRlQ29tcG9uZW50czo6VHlwZSBkYXRlVHlwZSgp
IGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0
OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBtYXhpbXVtKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJ
bnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAppbmRl
eCBhNTgzNmRjLi45M2U0YzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJ
bnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAK
QEAgLTU0LDYgKzU0LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgV2Vla0lucHV0VHlwZTo6Zm9y
bUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OndlZWsoKTsK
IH0KIAorRGF0ZUNvbXBvbmVudHM6OlR5cGUgV2Vla0lucHV0VHlwZTo6ZGF0ZVR5cGUoKSBjb25z
dAoreworICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6V2VlazsKK30KKwogZG91YmxlIFdlZWtJ
bnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVs
ZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1pbmlt
dW1XZWVrKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBl
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaAppbmRleCA0MzcxNjRiLi4w
YWUyOTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFdlZWtJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCog
ZWxlbWVudCkgOiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAgdmly
dHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OworICAgIHZp
cnR1YWwgRGF0ZUNvbXBvbmVudHM6OlR5cGUgZGF0ZVR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGRvdWJsZSBtaW5pbXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWF4aW11bSgpIGNv
bnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RhdGVDb21wb25lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZy
b20gU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5jcHAKcmVuYW1lIHRvIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RGF0ZUNvbXBvbmVudHMuaApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0RhdGVDb21wb25lbnRzLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0RhdGVDb21wb25lbnRzLmgKaW5kZXggOWJjZTBjMy4uZmRiMjY4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmgKQEAgLTU4LDYgKzU4LDE2IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgfQogCisgICAgZW51bSBUeXBlIHsKKyAgICAgICAgSW52YWxpZCwKKyAgICAg
ICAgRGF0ZSwKKyAgICAgICAgRGF0ZVRpbWUsCisgICAgICAgIERhdGVUaW1lTG9jYWwsCisgICAg
ICAgIE1vbnRoLAorICAgICAgICBUaW1lLAorICAgICAgICBXZWVrLAorICAgIH07CisKICAgICBp
bnQgbWlsbGlzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX21pbGxpc2Vjb25kOyB9CiAgICAgaW50
IHNlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vjb25kOyB9CiAgICAgaW50IG1pbnV0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbWludXRlOyB9CkBAIC02Niw2ICs3Niw3IEBAIHB1YmxpYzoKICAgICBp
bnQgbW9udGgoKSBjb25zdCB7IHJldHVybiBtX21vbnRoOyB9CiAgICAgaW50IGZ1bGxZZWFyKCkg
Y29uc3QgeyByZXR1cm4gbV95ZWFyOyB9CiAgICAgaW50IHdlZWsoKSBjb25zdCB7IHJldHVybiBt
X3dlZWs7IH0KKyAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIAogICAg
IGVudW0gU2Vjb25kRm9ybWF0IHsKICAgICAgICAgTm9uZSwgLy8gU3VwcHJlc3MgdGhlIHNlY29u
ZCBwYXJ0IGFuZCB0aGUgbWlsbGlzZWNvbmQgcGFydCBpZiB0aGV5IGFyZSAwLgpAQCAtMTg0LDE1
ICsxOTUsNiBAQCBwcml2YXRlOgogICAgIGludCBtX3llYXI7IC8vICAxNTgyIC0KICAgICBpbnQg
bV93ZWVrOyAvLyAxIC0gNTMKIAotICAgIGVudW0gVHlwZSB7Ci0gICAgICAgIEludmFsaWQsCi0g
ICAgICAgIERhdGUsCi0gICAgICAgIERhdGVUaW1lLAotICAgICAgICBEYXRlVGltZUxvY2FsLAot
ICAgICAgICBNb250aCwKLSAgICAgICAgVGltZSwKLSAgICAgICAgV2VlaywKLSAgICB9OwogICAg
IFR5cGUgbV90eXBlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZWREYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
aXplZERhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTU1MzE3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWRE
YXRlLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJ
bmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgTG9jYWxpemVkRGF0ZV9oCisjZGVmaW5lIExvY2FsaXplZERh
dGVfaAorCisjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBQYXJzZXMgYSBzdHJpbmcg
cmVwcmVzZW50YXRpb24gb2YgYSBkYXRlIHN0cmluZyBsb2NhbGl6ZWQKKy8vIGZvciB0aGUgYnJv
d3NlcidzIGN1cnJlbnQgbG9jYWxlIGZvciBhIHBhcnRpY3VsYXIgZGF0ZSB0eXBlLgorLy8gSWYg
dGhlIGlucHV0IHN0cmluZyBpcyBub3QgdmFsaWQgb3IgYW4gaW1wbGVtZW50YXRpb24gZG9lc24n
dAorLy8gc3VwcG9ydCBsb2NhbGl6ZWQgZGF0ZXMsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbiBl
bXB0eSBzdHJpbmcuCitTdHJpbmcgcGFyc2VMb2NhbGl6ZWREYXRlKGNvbnN0IFN0cmluZyYsIERh
dGVDb21wb25lbnRzOjpUeXBlKTsKKworLy8gU2VyaWFsaXplcyB0aGUgc3BlY2lmaWVkIGRhdGUg
aW50byBhIGZvcm1hdHRlZCBkYXRlIHN0cmluZworLy8gdG8gZGlzcGxheSB0byB0aGUgdXNlci4g
SWYgYW4gaW1wbGVtZW50YXRpb24gZG9lc24ndCBzdXBwb3J0CisvLyBsb2NhbGl6ZWQgZGF0ZXMg
dGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nLgorU3RyaW5nIGZvcm1h
dExvY2FsaXplZERhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGVDb21wb25lbnRzKTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTG9jYWxpemVkRGF0ZV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYjg3NWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcApA
QCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvY2FsaXplZERhdGUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgcGFyc2VMb2NhbGl6ZWREYXRlKGNvbnN0IFN0
cmluZyYsIERhdGVDb21wb25lbnRzOjpUeXBlKQoreworICAgIHJldHVybiBTdHJpbmcoKTsKK30K
KworU3RyaW5nIGZvcm1hdExvY2FsaXplZERhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKQorewor
ICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="84469"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91632</attachid>
            <date>2011-04-28 21:17:29 -0700</date>
            <delta_ts>2011-04-29 18:34:58 -0700</delta_ts>
            <desc>[PATCH] Add LocalizedDate Allow Formatting + Parsing</desc>
            <filename>localized-date-3.patch</filename>
            <type>text/plain</type>
            <size>39572</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZWVkODA3Li4yYzZkNWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQt
MjggIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBMb2NhbGl6ZWQgRGF0ZSBT
dHJpbmdzIGZvciBEYXRlIElucHV0IEZpZWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3NTIKKworICAgICAgICBUaGUgcmVuZGVyIHRyZWUgZHVt
cCBwcmludHMgb3V0IHRoZSB2aXNpYmxlIHN0cmluZworICAgICAgICBpbnNpZGUgdGhlIDxpbnB1
dD4gZmllbGQuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJp
bmdzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUt
aW5wdXQtdmlzaWJsZS1zdHJpbmdzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTEtMDQtMjgg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
dGVzdCBleHBlY3RhdGlvbnMgdXBkYXRlLiBNYXJrZWQgZmxha3kgYW5kIGNyYXNoaW5nIHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUt
c3RyaW5ncy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUt
c3RyaW5ncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNzIxODUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlz
aWJsZS1zdHJpbmdzLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDx0aXRsZT5EYXRlIElucHV0IFRlc3Q8L3RpdGxlPgorICAgIDxzdHls
ZT4KKyAgICBpbnB1dCB7IHdpZHRoOiAzMDBweDsgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8IS0tCisgICAgICBUaGUgdXNlci12aXNpYmxlIHZhbHVlcyBvZiB0aGUgaW5w
dXQgZmllbGRzIHNob3VsZCBiZSBsb2NhbGl6ZWQgaWYgdGhlIHBsYXRmb3JtIGhhcworICAgICAg
YSBMb2NhbGl6ZWREYXRlIGltcGxlbWVudGF0aW9uLiBPdGhlcndpc2UsIHRoZXkgc2hvdWxkIGJl
IGluIHRoZSBIVE1MNSBmb3JtYXRzLgorICAgIC0tPgorICAgIDxmb3JtIG1ldGhvZD0iZ2V0IiBh
Y3Rpb249IiMiPgorICAgICAgICA8aW5wdXQgdGl0bGU9InRlc3QiIHR5cGU9ImRhdGUiPjxicj4K
KyAgICAgICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lIj48YnI+CisgICAgICAgIDxpbnB1dCB0eXBl
PSJkYXRldGltZS1sb2NhbCI+PGJyPgorICAgICAgICA8aW5wdXQgdHlwZT0ibW9udGgiPjxicj4K
KyAgICAgICAgPGlucHV0IHR5cGU9InRpbWUiPjxicj4KKyAgICAgICAgPGlucHV0IHR5cGU9Indl
ZWsiPjxicj4KKyAgICA8L2Zvcm0+CisgICAgPHNjcmlwdD4KKyAgICAvLyBUdWUgQXByIDI2IDIw
MTEgMTg6NTY6MjAgR01ULTA3MDAgKFBEVCkgd2hpY2ggaXMgV2VkIEFwciAyNyAyMDExIDAxOjU2
OjIwIEdNVC4KKyAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKDEzMDM4NjkzODAzOTEpOworICAgIHZh
ciBkYXRlQXNOdW1iZXIgPSArZGF0ZTsKKyAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoImlucHV0Iik7CisgICAgZm9yICh2YXIgaT0wLCBsZW49aW5wdXRzLmxl
bmd0aDsgaTxsZW47ICsraSkgeworICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dHNbaV07CisgICAg
ICAgIGlucHV0Lm5hbWUgPSBpOworICAgICAgICBpZiAoInZhbHVlQXNOdW1iZXIiIGluIGlucHV0
ICYmIGlucHV0LnR5cGUgIT09ICJtb250aCIpCisgICAgICAgICAgICBpbnB1dC52YWx1ZUFzTnVt
YmVyID0gZGF0ZUFzTnVtYmVyOworICAgICAgICBlbHNlIGlmICgidmFsdWVBc0RhdGUiIGluIGlu
cHV0KQorICAgICAgICAgICAgaW5wdXQudmFsdWVBc0RhdGUgPSBkYXRlOworICAgIH0KKyAgICA8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJpbmdzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJs
ZS1zdHJpbmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hMzI0Y2NmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvZm9ybXMvZGF0ZS1pbnB1dC12aXNpYmxlLXN0cmluZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNTQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTU0CisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNTQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHgxMzgKKyAgICAgIFJlbmRlckJsb2NrIHtGT1JNfSBhdCAoMCwwKSBz
aXplIDc4NHgxMzgKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMCwyKSBz
aXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDAp
XQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsMikgc2l6ZSAweDE4CisgICAgICAgIFJl
bmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDAsMjUpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNG
RkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDMwNiwyNSkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBV
VH0gYXQgKDAsNDgpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHgg
aW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDMwNiw0OCkgc2l6ZSAw
eDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDAsNzEpIHNpemUgMzA2
eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAg
ICAgIFJlbmRlckJSIHtCUn0gYXQgKDMwNiw3MSkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJTlBVVH0gYXQgKDAsOTQpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNGRkZGRkZd
IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDMwNiw5NCkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQg
KDAsMTE3KSBzaXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0
ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsMTE3KSBzaXplIDB4MTgK
K2xheWVyIGF0ICgxMSwxMykgc2l6ZSAyODJ4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMs
Mykgc2l6ZSAyODJ4MTMKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA2OXgx
MworICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNjk6ICIyMDExLTA0LTI3IgorbGF5ZXIg
YXQgKDExLDM2KSBzaXplIDI4MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXpl
IDI4MngxMworICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE1NngxMworICAg
ICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTU2OiAiMjAxMS0wNC0yN1QwMTo1NjoyMC4zOTFa
IgorbGF5ZXIgYXQgKDExLDU5KSBzaXplIDI4MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MywzKSBzaXplIDI4MngxMworICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE0
OXgxMworICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTQ5OiAiMjAxMS0wNC0yN1QwMTo1
NjoyMC4zOTEiCitsYXllciBhdCAoMTEsODIpIHNpemUgMjgyeDEzCisgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgzLDMpIHNpemUgMjgyeDEzCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDAp
IHNpemUgNDl4MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDQ5OiAiMjAxMS0wNCIK
K2xheWVyIGF0ICgxMSwxMDUpIHNpemUgMjgyeDEzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgz
LDMpIHNpemUgMjgyeDEzCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgNzR4
MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDc0OiAiMDE6NTY6MjAuMzkxIgorbGF5
ZXIgYXQgKDExLDEyOCkgc2l6ZSAyODJ4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykg
c2l6ZSAyODJ4MTMKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA1OHgxMwor
ICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNTg6ICIyMDExLVcxNyIKK2xheWVyIGF0ICgy
OTgsMTIpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwzNSkgc2l6ZSAxM3gxNQor
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDI5MCwyKSBzaXpl
IDEzeDE1CitsYXllciBhdCAoMjk4LDU4KSBzaXplIDEzeDE1CisgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjkwLDIpIHNpemUgMTN4MTUKK2xheWVyIGF0ICgy
OTgsODEpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwxMDQpIHNpemUgMTN4MTUK
KyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyOTAsMikgc2l6
ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwxMjcpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA3MzA0YTliLi43NjM5MTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
NzE3LDcgKzcxNyw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0RPTVNldHRhYmxl
VG9rZW5MaXN0LmNwcAogICAgIGh0bWwvRE9NVG9rZW5MaXN0LmNwcAogICAgIGh0bWwvRE9NVVJM
LmNwcAotICAgIGh0bWwvRGF0ZUNvbXBvbmVudHMuY3BwCiAgICAgaHRtbC9EYXRlSW5wdXRUeXBl
LmNwcAogICAgIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9EYXRlVGltZUxv
Y2FsSW5wdXRUeXBlLmNwcApAQCAtMTAzOSw2ICsxMDM4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAKICAgICBwbGF0Zm9ybS9Db250ZW50
VHlwZS5jcHAKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5jcHAKKyAgICBwbGF0Zm9y
bS9EYXRlQ29tcG9uZW50cy5jcHAKICAgICBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9uU3Ry
YXRlZ3kuY3BwCiAgICAgcGxhdGZvcm0vRHJhZ0RhdGEuY3BwCiAgICAgcGxhdGZvcm0vRHJhZ0lt
YWdlLmNwcApAQCAtMTE2OSw2ICsxMTY5LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBs
YXRmb3JtL3RleHQvQmFzZTY0LmNwcAogICAgIHBsYXRmb3JtL3RleHQvQmlkaUNvbnRleHQuY3Bw
CiAgICAgcGxhdGZvcm0vdGV4dC9MaW5lRW5kaW5nLmNwcAorICAgIHBsYXRmb3JtL3RleHQvTG9j
YWxpemVkRGF0ZU5vbmUuY3BwCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25l
LmNwcAogICAgIHBsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uY3BwCiAgICAgcGxhdGZvcm0vdGV4
dC9SZWd1bGFyRXhwcmVzc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlZTU5Y2UyLi5kNGRjZGZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTEtMDQtMjggIEpvc2VwaCBQZWNvcmFybyAg
PGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBMb2NhbGl6ZWQgRGF0ZSBTdHJpbmdzIGZvciBEYXRlIElucHV0
IEZpZWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTk3NTIKKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJp
bmdzLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IHVwZGF0ZSBidWlsZCBmaWxlcyBmb3IKKyAgICAgICAgbW92aW5nIERhdGVDb21wb25lbnRz
IGZyb20gV2ViQ29yZS9odG1sIHRvIFdlYkNvcmUvcGxhdGZvcm0KKyAgICAgICAgYW5kIGFkZGlu
ZyB0aGUgTG9jYWxpemVkRGF0ZSBmaWxlcy4KKworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0
VHlwZTo6c2VyaWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0
VHlwZTo6c2VyaWFsaXplV2l0aENvbXBvbmVudHMpOgorICAgICAgICBzZXJpYWxpemluZyBmb3Ig
YSBkb3VibGUgdmFsdWUgbWF5IGJlIGRpZmZlcmVudCBmb3IgZGlmZmVyZW50CisgICAgICAgIHR5
cGVzLiBUaGUgbW9udGggdHlwZSBhc3N1bWVzIGl0IGlzIG1vbnRoZXMgaW5zdGVhZCBvZiBtc2Vj
cworICAgICAgICBsaWtlIHRoZSBvdGhlcnMuIFNvIHByb3ZpZGUgYSBtb3JlIGdlbmVyYWwgc2Vy
aWFsaXphdGlvbgorICAgICAgICBmdW5jdGlvbiB0aGF0IHdpbGwgYWx3YXlzIHNlcmlhbGl6ZSBh
IHN0cmluZyBjb3JyZWN0bHkgZm9yCisgICAgICAgIHRoZSBjdXJyZW50IHR5cGUgYnV0IGZyb20g
YSBEYXRlQ29tcG9uZW50cyBvYmplY3QuIFVzZWZ1bAorICAgICAgICB3aGVuIHdlIGNyZWF0ZSBv
dXIgb3duIERhdGVDb21wb25lbnRzIG9iamVjdCBmcm9tIHRoZSBtc2VjCisgICAgICAgIHZhbHVl
IHJldHVybmVkIGZyb20gYSBMb2NhbGl6ZWREYXRlIGltcGxlbWVudGF0aW9uLgorCisgICAgICAg
ICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjp2aXNpYmxlVmFsdWUpOiBhbGxvdworICAgICAgICBs
b2NhbGl6ZWQgZm9ybWF0dGluZyBvZiBhIGRhdGUgdmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpC
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNvbnZlcnRGcm9tVmlzaWJsZVZhbHVlKToKKyAgICAg
ICAgYWxsb3cgcGFyc2luZyBmb3IgYSBmb3JtYXR0ZWQgZGF0ZSB2YWx1ZS4KKworICAgICAgICAq
IGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0vRGF0
ZUNvbXBvbmVudHMuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29t
cG9uZW50cy5jcHAuCisgICAgICAgIEV4cG9zZSB0aGUgVHlwZSBlbnVtIHNvIGl0IGNhbiBiZSB1
c2VkIG91dHNpZGUgb2YgdGhlIERhdGVDb21wb25lbnRzIGNsYXNzLgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvTG9jYWxpemVkRGF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L0xvY2FsaXplZERhdGVOb25lLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpmb3JtYXRM
b2NhbGl6ZWREYXRlKTogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmYWxscyBiYWNrIHRvCisgICAg
ICAgIGV4aXN0aW5nIEhUTUw1IGRhdGUgaW5wdXQgdmFsdWUgZm9ybWF0dGluZy4KKworICAgICAg
ICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9EYXRl
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVJbnB1dFR5cGU6OmRhdGVUeXBl
KToKKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0RhdGVU
aW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lSW5wdXRUeXBlOjpk
YXRlVHlwZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oOgorICAgICAgICAq
IGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZUxvY2FsSW5wdXRUeXBlOjpkYXRlVHlwZSk6CisgICAgICAgICogaHRtbC9EYXRlVGltZUxv
Y2FsSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb250aElucHV0VHlwZTo6ZGF0ZVR5cGUpOgorICAgICAgICAqIGh0bWwv
TW9udGhJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGltZUlucHV0VHlwZTo6ZGF0ZVR5cGUpOgorICAgICAgICAqIGh0bWwv
VGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWVrSW5wdXRUeXBlOjpkYXRlVHlwZSk6CisgICAgICAgICogaHRtbC9X
ZWVrSW5wdXRUeXBlLmg6IEFjY2Vzc29ycyBmb3IgdGhlIGRlc2lyZWQgZGF0ZQorICAgICAgICB0
eXBlIG9mIGEgZGF0ZSBpbnB1dCB0eXBlLiBUaGlzIGFsbG93cyB0aGUgYmFzZSBjbGFzcworICAg
ICAgICB0byB3cml0ZSBhIGdlbmVyaWMgYWxnb3JpdGhtLgorCiAyMDExLTA0LTI4ICBLZW5uZXRo
IFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZp
eCBmb3IgV2ViIEF1ZGlvIHdpdGggc3RyaWN0IE93blB0ci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1
OTBhN2E1Li5hYmViNDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02MDAsNyArNjAwLDYgQEAKICAg
ICAgICAgICAgICdoaXN0b3J5L2NmL0hpc3RvcnlQcm9wZXJ0eUxpc3QuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCcsCiAgICAgICAgICAgICAnaHRtbC9Db2xsZWN0aW9u
VHlwZS5oJywKLSAgICAgICAgICAgICdodG1sL0RhdGVDb21wb25lbnRzLmgnLAogICAgICAgICAg
ICAgJ2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRN
TEFwcGxldEVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQ29sbGVjdGlvbi5oJywK
QEAgLTczOSw2ICs3MzgsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL0Nvb2tpZUphci5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9Db29raWVzU3RyYXRlZ3kuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vQ3Vyc29yLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL0RhdGVDb21wb25lbnRz
LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5o
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9EcmFnRGF0YS5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9EcmFnSW1hZ2UuaCcsCkBAIC0yODA5LDcgKzI4MDksNiBAQAogICAgICAgICAgICAgJ2h0
bWwvRE9NVG9rZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvRE9NVVJMLmNwcCcsCiAgICAg
ICAgICAgICAnaHRtbC9ET01VUkwuaCcsCi0gICAgICAgICAgICAnaHRtbC9EYXRlQ29tcG9uZW50
cy5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAnLAogICAgICAgICAg
ICAgJ2h0bWwvRGF0ZUlucHV0VHlwZS5oJywKICAgICAgICAgICAgICdodG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmNwcCcsCkBAIC0zNTMxLDYgKzM1MzAsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L0Nyb3NzVGhyZWFkQ29waWVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ3Jvc3NUaHJl
YWRDb3BpZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ3Vyc29yLmNwcCcsCisgICAgICAg
ICAgICAncGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9EZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3kuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9EcmFnRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0RyYWdJbWFnZS5jcHAnLApA
QCAtNDg5MCw2ICs0ODkwLDggQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0h5cGhlbmF0
aW9uLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9IeXBoZW5hdGlvbi5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0xpbmVFbmRpbmcuY3BwJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGUuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vdGV4
dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvTG9j
YWxpemVkTnVtYmVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVt
YmVySUNVLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJO
b25lLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGM1ZTIwYzUuLmFjYmNlNDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCkBAIC02NDAsNyArNjQwLDYgQEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9ET01TZXR0YWJs
ZVRva2VuTGlzdC5jcHAgXAogICAgIGh0bWwvRE9NVG9rZW5MaXN0LmNwcCBcCiAgICAgaHRtbC9E
T01VUkwuY3BwIFwKLSAgICBodG1sL0RhdGVDb21wb25lbnRzLmNwcCBcCiAgICAgaHRtbC9EYXRl
SW5wdXRUeXBlLmNwcCBcCiAgICAgaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgXAogICAgIGh0
bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgXApAQCAtOTQ2LDkgKzk0NSwxMSBAQCBTT1VS
Q0VTICs9IFwKICAgICBwbGF0Zm9ybS90ZXh0L0Jhc2U2NC5jcHAgXAogICAgIHBsYXRmb3JtL3Rl
eHQvQmlkaUNvbnRleHQuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0h5cGhlbmF0aW9uLmNwcCBc
CisgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHAgXAogICAgIHBsYXRmb3Jt
L3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAgXAogICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBl
LmNwcCBcCiAgICAgcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwIFwKKyAgICBwbGF0Zm9y
bS9EYXRlQ29tcG9uZW50cy5jcHAgXAogICAgIHBsYXRmb3JtL0RlZmF1bHRMb2NhbGl6YXRpb25T
dHJhdGVneS5jcHAgXAogICAgIHBsYXRmb3JtL0RyYWdEYXRhLmNwcCBcCiAgICAgcGxhdGZvcm0v
RHJhZ0ltYWdlLmNwcCBcCkBAIC0xNjE2LDcgKzE2MTcsNiBAQCBIRUFERVJTICs9IFwKICAgICBo
dG1sL2NhbnZhcy9VaW50OEFycmF5LmggXAogICAgIGh0bWwvQ2xhc3NMaXN0LmggXAogICAgIGh0
bWwvQ29sbGVjdGlvbkNhY2hlLmggXAotICAgIGh0bWwvRGF0ZUNvbXBvbmVudHMuaCBcCiAgICAg
aHRtbC9ET01Gb3JtRGF0YS5oIFwKICAgICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggXAog
ICAgIGh0bWwvRE9NVG9rZW5MaXN0LmggXApAQCAtMTg4Niw2ICsxODg2LDcgQEAgSEVBREVSUyAr
PSBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUuaCBcCiAgICAgcGxhdGZvcm0vQ29udGV4dE1l
bnUuaCBcCiAgICAgcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuaCBcCisgICAgcGxhdGZvcm0v
RGF0ZUNvbXBvbmVudHMuaCBcCiAgICAgcGxhdGZvcm0vRGVmYXVsdExvY2FsaXphdGlvblN0cmF0
ZWd5LmggXAogICAgIHBsYXRmb3JtL0RyYWdEYXRhLmggXAogICAgIHBsYXRmb3JtL0RyYWdJbWFn
ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggNzQyNzZkYi4uMTUzODY3ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTI1NzIyLDYgKzI1NzIyLDE0IEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXERhdGVDb21wb25lbnRz
LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
cGxhdGZvcm1cRGF0ZUNvbXBvbmVudHMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cRGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5
LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0zMDU1Myw2ICszMDU2MSwxNCBAQAogCQkJCQk+
CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1c
dGV4dFxMb2NhbGl6ZWREYXRlLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVx0ZXh0XExvY2FsaXplZERhdGVOb25lLmNwcCIK
KwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBs
YXRmb3JtXHRleHRcTG9jYWxpemVkTnVtYmVyLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CkBAIC01
MTE2MiwxNCArNTExNzgsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxodG1sXERhdGVDb21wb25lbnRzLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxEYXRlQ29tcG9uZW50cy5oIgot
CQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERh
dGVJbnB1dFR5cGUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwZWM1MDU3Li4yZWE2OTEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0zMjMxLDYgKzMyMzEsMTAgQEAKIAkJQTQ1NkZBMjcxMUFENEE4MzAwMjBCNDIwIC8q
IExhYmVsc05vZGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNDU2RkEyNTExQUQ0QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCAqLzsg
fTsKIAkJQTUxM0IzRDcxMTRCMTY2NjAwMUM0MjlCIC8qIEtleUV2ZW50Q29jb2EuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3NENGMTE0ODVGRjEw
MDY2RjJBQiAvKiBLZXlFdmVudENvY29hLmggKi87IH07CiAJCUE1MTNCM0Q4MTE0QjE2NkEwMDFD
NDI5QiAvKiBLZXlFdmVudENvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVDOTc0RDAxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2Eu
bW0gKi87IH07CisJCUE1NzMyQjBBMTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTczMkIw
ODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwICovOyB9OworCQlBNTczMkIw
QjEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NzMyQjA5MTM2QTE2MUQwMDVDOEQ3QyAvKiBE
YXRlQ29tcG9uZW50cy5oICovOyB9OworCQlBNTczMkIwRDEzNkExNkM0MDA1QzhEN0MgLyogTG9j
YWxpemVkRGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTU3MzJCMEMxMzZBMTZDNDAwNUM4RDdDIC8qIExvY2FsaXplZERhdGUuaCAqLzsgfTsKKwkJ
QTU3MzJCMEYxMzZBMTcxNTAwNUM4RDdDIC8qIExvY2FsaXplZERhdGVOb25lLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1NzMyQjBFMTM2QTE3MTUw
MDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRlTm9uZS5jcHAgKi87IH07CiAJCUE1OUUzQzFFMTE1ODBG
NTEwMDcyOTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTlFM0MxQzExNTgwRjUxMDA3MjkyOEUgLyogS2V5
RXZlbnRDb2Rlc0lQaG9uZS5oICovOyB9OwogCQlBNTlFM0MxRjExNTgwRjUxMDA3MjkyOEUgLyog
S2V5RXZlbnRJUGhvbmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNTlFM0MxRDExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRJUGhvbmUubW0gKi87
IH07CiAJCUE1QUZCMzRGMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVBRkIzNEQxMTUxNTFBNzAw
QjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgKi87IH07CkBAIC01NzgxLDggKzU3ODUsNiBAQAogCQlG
NUMwNDFFNjBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxpc3RFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1QzA0MUUxMEZGQ0E5
NkQwMDgzOUQ0QSAvKiBKU0hUTUxEYXRhTGlzdEVsZW1lbnQuY3BwICovOyB9OwogCQlGNUMwNDFF
NzBGRkNBOTZEMDA4MzlENEEgLyogSlNIVE1MRGF0YUxpc3RFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUMwNDFFMjBGRkNBOTZEMDA4MzlE
NEEgLyogSlNIVE1MRGF0YUxpc3RFbGVtZW50LmggKi87IH07CiAJCUY1Q0M0MkRDMTJGODAxQ0Ew
MEQ1RjdFMyAvKiBMb2NhbGl6ZWROdW1iZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUNDNDJEQjEyRjgwMUNBMDBENUY3RTMgLyogTG9jYWxp
emVkTnVtYmVyTWFjLm1tICovOyB9OwotCQlGNUQzQTU3QzEwNkI4M0IzMDA1NDUyOTcgLyogRGF0
ZUNvbXBvbmVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjVEM0E1N0ExMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmNwcCAqLzsg
fTsKLQkJRjVEM0E1N0QxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNUQzQTU3QjEwNkI4M0Iz
MDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlGN0EwMzRDNDEyNkJGNkJFMDA3REMxOUUgLyogRm9udE9y
aWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGN0EwMzRDMzEyNkJGNkJFMDA3REMxOUUgLyogRm9udE9yaWVudGF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjkxNkM0OEQwREI1MTBG
ODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5MTZDNDhCMERCNTEwRjgwMDc2
Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi87IH07CiAJCUY5MTZD
NDhFMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEMwREI1
MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi87IH07CkBA
IC05NzkzLDYgKzk3OTUsMTAgQEAKIAkJQTQ1NDQyNEQxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRl
ck1ldGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1ldGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0NTZGQTI0MTFBRDRBODMwMDIwQjQyMCAv
KiBMYWJlbHNOb2RlTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBMYWJlbHNOb2RlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0NTZG
QTI1MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMYWJlbHNOb2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBNTczMkIwODEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbXBvbmVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTczMkIwOTEzNkExNjFEMDA1QzhEN0MgLyog
RGF0ZUNvbXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNv
bXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTU3MzJCMEMxMzZBMTZD
NDAwNUM4RDdDIC8qIExvY2FsaXplZERhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTG9jYWxpemVkRGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTcz
MkIwRTEzNkExNzE1MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZU5vbmUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9jYWxpemVkRGF0ZU5vbmUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBNTlFM0MxQzExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZl
bnRDb2Rlc0lQaG9uZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBLZXlFdmVu
dENvZGVzSVBob25lLmg7IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNTlFM0MxRDExNTgwRjUxMDA3MjkyOEUgLyogS2V5
RXZlbnRJUGhvbmUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBL
ZXlFdmVudElQaG9uZS5tbTsgcGF0aCA9IGlwaG9uZS9LZXlFdmVudElQaG9uZS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVBRkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBS
YW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdGVwUmFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIzNDAsOCArMTIzNDYsNiBAQAog
CQlGNUMyODY5NDAyODQ2RENEMDE4NjM1Q0EgLyogQ2FyYm9uLmZyYW1ld29yayAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3Jr
OyBuYW1lID0gQ2FyYm9uLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0NhcmJvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCUY1
QzI4Njk1MDI4NDZEQ0QwMTg2MzVDQSAvKiBDb2NvYS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFt
ZSA9IENvY29hLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nv
Y29hLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJRjVDQzQyREIx
MkY4MDFDQTAwRDVGN0UzIC8qIExvY2FsaXplZE51bWJlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsaXplZE51bWJlck1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjVEM0E1N0ExMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21w
b25lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVDb21w
b25lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjVEM0E1N0IxMDZCODNC
MzAwNTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERhdGVDb21wb25lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY3
QTAzNEMzMTI2QkY2QkUwMDdEQzE5RSAvKiBGb250T3JpZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE9yaWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZhU2NyaXB0Q29yZS5m
cmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRjkxNkM0OEIwREI1MTBGODAwNzZD
RDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTgzNSw4ICsxNTgzOSw2IEBACiAJCQkJ
OTNDNDQxRkYwRjgxM0FFMTAwQzFBNjM0IC8qIENvbGxlY3Rpb25UeXBlLmggKi8sCiAJCQkJRjU1
QjNEN0YxMjUxRjEyRDAwM0VGMjY5IC8qIENvbG9ySW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVC
M0Q4MDEyNTFGMTJEMDAzRUYyNjkgLyogQ29sb3JJbnB1dFR5cGUuaCAqLywKLQkJCQlGNUQzQTU3
QTEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuY3BwICovLAotCQkJCUY1RDNBNTdC
MTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5oICovLAogCQkJCUY1NUIzRDgxMTI1
MUYxMkQwMDNFRjI2OSAvKiBEYXRlSW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q4MjEyNTFG
MTJEMDAzRUYyNjkgLyogRGF0ZUlucHV0VHlwZS5oICovLAogCQkJCUY1NUIzRDgzMTI1MUYxMkQw
MDNFRjI2OSAvKiBEYXRlVGltZUlucHV0VHlwZS5jcHAgKi8sCkBAIC0xNzk1MCw2ICsxNzk1Miw4
IEBACiAJCQkJMzc1Q0QyMzExMTlENDNDODAwQTJBODU5IC8qIEh5cGhlbmF0aW9uLmggKi8sCiAJ
CQkJODlCNUVBOUYxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuY3BwICovLAogCQkJCTg5
QjVFQUEwMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5nLmggKi8sCisJCQkJQTU3MzJCMEMx
MzZBMTZDNDAwNUM4RDdDIC8qIExvY2FsaXplZERhdGUuaCAqLywKKwkJCQlBNTczMkIwRTEzNkEx
NzE1MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZU5vbmUuY3BwICovLAogCQkJCUY1MTQyQzY4MTIz
RjEyQjAwMEY1QkQ0QyAvKiBMb2NhbGl6ZWROdW1iZXIuaCAqLywKIAkJCQlCQzc2QUMxMTBERDdB
RDVDMDA0MTVGMzQgLyogUGFyc2VyVXRpbGl0aWVzLmggKi8sCiAJCQkJQjJDM0Q5RkIwRDAwNkMx
RDAwRUY2RjI2IC8qIFBsYXRmb3JtU3RyaW5nLmggKi8sCkBAIC0xODY2Niw2ICsxODY3MCw4IEBA
CiAJCQkJMkU0MzQ2NTcwRjU0NkE5OTAwQjBGMUJBIC8qIENyb3NzVGhyZWFkQ29waWVyLmggKi8s
CiAJCQkJRTExQUYxNTAxMUI5QTFBMzAwODA1MTAzIC8qIEN1cnNvci5jcHAgKi8sCiAJCQkJRjU4
Nzg2ODQwMkRFM0I4NjAxRUE0MTIyIC8qIEN1cnNvci5oICovLAorCQkJCUE1NzMyQjA4MTM2QTE2
MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi8sCisJCQkJQTU3MzJCMDkxMzZBMTYx
RDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggKi8sCiAJCQkJQkNDMzZFQjYxMzQyQUEzRjAw
NEJFRUY3IC8qIERlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAgKi8sCiAJCQkJQkNDMzZF
QjcxMzQyQUEzRjAwNEJFRUY3IC8qIERlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5oICovLAog
CQkJCUE3OTU0NjQyMEI1QzRDQjQwMDdCNDM4RiAvKiBEcmFnRGF0YS5jcHAgKi8sCkBAIC0yMDE3
OCw3ICsyMDE4NCw2IEBACiAJCQkJODFBQzU5OTkxMzE2MzZFNjAwMDlBN0UwIC8qIERhdGFUcmFu
c2Zlckl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTgxQUM1OTlBMTMxNjM2RTYwMDA5QTdFMCAv
KiBEYXRhVHJhbnNmZXJJdGVtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU5N0NDRUIxMjkzOUNC
ODAwQzVDOEZGIC8qIERhdGFWaWV3LmggaW4gSGVhZGVycyAqLywKLQkJCQlGNUQzQTU3RDEwNkI4
M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIz
REI2MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlGNTVCM0RCODEyNTFGMTJEMDAzRUYyNjkgLyogRGF0ZVRpbWVJbnB1dFR5cGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUY1NUIzREJBMTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlVGltZUxvY2FsSW5w
dXRUeXBlLmggaW4gSGVhZGVycyAqLywKQEAgLTIyOTgwLDYgKzIyOTg1LDggQEAKIAkJCQk0MzU4
RTg4NjEzNjBBMzNCMDBFNDc0OEMgLyogU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjM4MTBDMUMxMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFn
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzgxMEMxRTEzNjVBNEQ0MDBFRDZFMzMgLyogV29y
a2VyQ29udGV4dEluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNTczMkIwQjEz
NkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1
NzMyQjBEMTM2QTE2QzQwMDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTIzNTE2LDcgKzIzNTIzLDYgQEAKIAkJCQlCQzY0NjQxRDExRDdGNDE2MDA2NDU1QjAgLyog
RGF0YXNldERPTVN0cmluZ01hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MTVFNjE2NzEzMjU4
N0FBMDBCNjIyQjAgLyogRGF0YVRyYW5zZmVySXRlbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RTk3Q0NFQTEyOTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJRjVEM0E1N0MxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUY1NUIzREI1MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlSW5wdXRUeXBlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREI3MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlVGlt
ZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNTVCM0RCOTEyNTFGMTJEMDAzRUYy
NjkgLyogRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1Njc4
LDYgKzI1Njg0LDggQEAKIAkJCQkxNEUwQkM1NjEzNjE0OEE4MDAyQUQxMkUgLyogSlNET01Ub2tl
bkxpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM4MTBDMUIxMzY1QTQ5NjAwRUQ2
RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc4MTc1
NTg2MTM2NUExQjAwMDkzQkUyRSAvKiBEYXRhVHJhbnNmZXJJdGVtcy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBNTczMkIwQTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTU3MzJCMEYxMzZBMTcxNTAwNUM4RDdDIC8qIExvY2FsaXplZERh
dGVOb25lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDIyODRlMjQuLmYxZjM0YzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTMx
LDEwICszMSwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZS5oIgogCi0jaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRl
ICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
S2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIkxvY2FsaXplZERhdGUuaCIKICNpbmNsdWRlIDxs
aW1pdHM+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL0RhdGVN
YXRoLmg+CkBAIC0xNjksNiArMTY5LDExIEBAIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OnNlcmlhbGl6ZShkb3VibGUgdmFsdWUpIGNvbnN0CiAgICAgRGF0ZUNvbXBvbmVudHMgZGF0
ZTsKICAgICBpZiAoIXNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9uZW50cyh2YWx1ZSwgJmRhdGUp
KQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIHNlcmlhbGl6ZVdpdGhDb21w
b25lbnRzKGRhdGUpOworfQorCitTdHJpbmcgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXJp
YWxpemVXaXRoQ29tcG9uZW50cyhjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSkgY29uc3QKK3sK
ICAgICBkb3VibGUgc3RlcDsKICAgICBpZiAoIWVsZW1lbnQoKS0+Z2V0QWxsb3dlZFZhbHVlU3Rl
cCgmc3RlcCkpCiAgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5nKCk7CkBAIC0xNzksNCArMTg0
LDMxIEBAIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZShkb3VibGUg
dmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6Ok1p
bGxpc2Vjb25kKTsKIH0KIAorU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6dmlzaWJs
ZVZhbHVlKCkgY29uc3QKK3sKKyAgICBTdHJpbmcgY3VycmVudFZhbHVlID0gZWxlbWVudCgpLT52
YWx1ZSgpOworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgaWYgKCFwYXJzZVRvRGF0ZUNv
bXBvbmVudHMoY3VycmVudFZhbHVlLCAmZGF0ZSkpCisgICAgICAgIHJldHVybiBjdXJyZW50VmFs
dWU7CisKKyAgICBTdHJpbmcgbG9jYWxpemVkID0gZm9ybWF0TG9jYWxpemVkRGF0ZShkYXRlKTsK
KyAgICByZXR1cm4gbG9jYWxpemVkLmlzRW1wdHkoKSA/IGN1cnJlbnRWYWx1ZSA6IGxvY2FsaXpl
ZDsKK30KKworU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6Y29udmVydEZyb21WaXNp
YmxlVmFsdWUoY29uc3QgU3RyaW5nJiB2aXNpYmxlVmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKHZp
c2libGVWYWx1ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiB2aXNpYmxlVmFsdWU7CisKKyAg
ICBkb3VibGUgcGFyc2VkVmFsdWUgPSBwYXJzZUxvY2FsaXplZERhdGUodmlzaWJsZVZhbHVlLCBk
YXRlVHlwZSgpKTsKKyAgICBpZiAoIWlzZmluaXRlKHBhcnNlZFZhbHVlKSkKKyAgICAgICAgcmV0
dXJuIHZpc2libGVWYWx1ZTsKKworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgaWYgKCFk
YXRlLnNldE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JEYXRlVGltZShwYXJzZWRWYWx1ZSkpCisg
ICAgICAgIHJldHVybiB2aXNpYmxlVmFsdWU7CisKKyAgICByZXR1cm4gc2VyaWFsaXplV2l0aENv
bXBvbmVudHMoZGF0ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oCmluZGV4IGE5ZTk1YjcuLjhi
NWViNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGVf
aAogI2RlZmluZSBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGVfaAogCisjaW5jbHVkZSAiRGF0ZUNv
bXBvbmVudHMuaCIKICNpbmNsdWRlICJUZXh0RmllbGRJbnB1dFR5cGUuaCIKICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKQEAgLTQ2LDYgKzQ3LDcgQEAgcHJvdGVjdGVkOgogcHJp
dmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgcGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29u
c3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgsIERhdGVDb21wb25lbnRzKikgY29uc3QgPSAwOwog
ICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxsaXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBE
YXRlQ29tcG9uZW50cyopIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpU
eXBlIGRhdGVUeXBlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgZG91YmxlIHZhbHVlQXNEYXRl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGRvdWJsZSwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHZhbHVlQXNOdW1iZXIoKSBjb25z
dDsKQEAgLTYyLDYgKzY0LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5
ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlV2hlZWxF
dmVudChXaGVlbEV2ZW50Kik7CiAgICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplKGRvdWJsZSkg
Y29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplV2l0aENvbXBvbmVudHMoY29uc3Qg
RGF0ZUNvbXBvbmVudHMmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyB2aXNpYmxlVmFsdWUo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyBjb252ZXJ0RnJvbVZpc2libGVWYWx1ZShjb25z
dCBTdHJpbmcmKSBjb25zdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDM0MDlkM2IuLjc0MjJlMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtNTMsNiArNTMsMTEgQEAgY29uc3QgQXRv
bWljU3RyaW5nJiBEYXRlSW5wdXRUeXBlOjpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAogICAgIHJl
dHVybiBJbnB1dFR5cGVOYW1lczo6ZGF0ZSgpOwogfQogCitEYXRlQ29tcG9uZW50czo6VHlwZSBE
YXRlSW5wdXRUeXBlOjpkYXRlVHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIERhdGVDb21wb25l
bnRzOjpEYXRlOworfQorCiBkb3VibGUgRGF0ZUlucHV0VHlwZTo6bWluaW11bSgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIHBhcnNlVG9Eb3VibGUoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1p
bkF0dHIpLCBEYXRlQ29tcG9uZW50czo6bWluaW11bURhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZUlucHV0VHlwZS5oCmluZGV4IDk2NWQ5ZWEuLjY4M2VjM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRGF0
ZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9y
bUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBEYXRlQ29tcG9uZW50czo6VHlwZSBk
YXRlVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgZGVm
YXVsdFN0ZXAoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRp
bWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5j
cHAKaW5kZXggMmFjYjk5Ny4uNDMxODljMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9EYXRlVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5jcHAKQEAgLTU0LDYgKzU0LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgRGF0
ZVRpbWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0
VHlwZU5hbWVzOjpkYXRldGltZSgpOwogfQogCitEYXRlQ29tcG9uZW50czo6VHlwZSBEYXRlVGlt
ZUlucHV0VHlwZTo6ZGF0ZVR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBEYXRlQ29tcG9uZW50
czo6RGF0ZVRpbWU7Cit9CisKIGRvdWJsZSBEYXRlVGltZUlucHV0VHlwZTo6ZGVmYXVsdFZhbHVl
Rm9yU3RlcFVwKCkgY29uc3QKIHsKICAgICByZXR1cm4gY3VycmVudFRpbWVNUygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCmluZGV4IDFiOWUwNmMuLmRjY2Q1OWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKQEAgLTQyLDYgKzQyLDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBEYXRlVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50
KiBlbGVtZW50KSA6IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAg
dmlydHVhbCBEYXRlQ29tcG9uZW50czo6VHlwZSBkYXRlVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgZG91YmxlIGRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91
YmxlIG1pbmltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRl
eCAzNjFmYWQ3Li4xYjlmZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVU
aW1lTG9jYWxJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVM
b2NhbElucHV0VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYg
RGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1
cm4gSW5wdXRUeXBlTmFtZXM6OmRhdGV0aW1lbG9jYWwoKTsKIH0KIAorRGF0ZUNvbXBvbmVudHM6
OlR5cGUgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6ZGF0ZVR5cGUoKSBjb25zdAoreworICAgIHJl
dHVybiBEYXRlQ29tcG9uZW50czo6RGF0ZVRpbWVMb2NhbDsKK30KKwogZG91YmxlIERhdGVUaW1l
TG9jYWxJbnB1dFR5cGU6OnZhbHVlQXNEYXRlKCkgY29uc3QKIHsKICAgICAvLyB2YWx1ZUFzRGF0
ZSBkb2Vzbid0IHdvcmsgZm9yIHRoZSBkYXRldGltZS1sb2NhbCB0eXBlIGFjY29yZGluZyB0byB0
aGUgc3RhbmRhcmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9j
YWxJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlw
ZS5oCmluZGV4IGFlMTE4YWYuLjY1MDlkNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVMb2NhbElucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgRGF0ZVRpbWVMb2NhbElucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6
IEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBEYXRl
Q29tcG9uZW50czo6VHlwZSBkYXRlVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHZh
bHVlQXNEYXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlQXNEYXRlKGRvdWJs
ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKaW5kZXggMzhmOWQwMC4u
NGU5MjExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKQEAgLTU2LDYg
KzU2LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgTW9udGhJbnB1dFR5cGU6OmZvcm1Db250cm9s
VHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjptb250aCgpOwogfQogCitE
YXRlQ29tcG9uZW50czo6VHlwZSBNb250aElucHV0VHlwZTo6ZGF0ZVR5cGUoKSBjb25zdAorewor
ICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6TW9udGg7Cit9CisKIGRvdWJsZSBNb250aElucHV0
VHlwZTo6dmFsdWVBc0RhdGUoKSBjb25zdAogewogICAgIERhdGVDb21wb25lbnRzIGRhdGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKaW5kZXggMjM1MzZlMi4uNjUxZGY0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIE1vbnRoSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQp
IDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERh
dGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUg
dmFsdWVBc0RhdGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoZG91
YmxlLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgcGFyc2VUb0Rv
dWJsZShjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlu
cHV0VHlwZS5jcHAKaW5kZXggMzM0MjNhOS4uZjg5ZWMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuY3BwCkBAIC01Niw2ICs1NiwxMSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFRp
bWVJbnB1dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlw
ZU5hbWVzOjp0aW1lKCk7CiB9CiAKK0RhdGVDb21wb25lbnRzOjpUeXBlIFRpbWVJbnB1dFR5cGU6
OmRhdGVUeXBlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gRGF0ZUNvbXBvbmVudHM6OlRpbWU7Cit9
CisKIGRvdWJsZSBUaW1lSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAog
ewogICAgIGRvdWJsZSBjdXJyZW50ID0gY3VycmVudFRpbWVNUygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuaAppbmRleCAzZTY4ZmFkLi5mNmFlYzJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRp
bWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZv
cm1Db250cm9sVHlwZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRGF0ZUNvbXBvbmVudHM6OlR5cGUg
ZGF0ZVR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0VmFsdWVGb3JTdGVw
VXAoKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtKCkgY29uc3Q7CiAgICAgdmly
dHVhbCBkb3VibGUgbWF4aW11bSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9XZWVrSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlw
ZS5jcHAKaW5kZXggYTU4MzZkYy4uOTNlNGMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9XZWVrSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1
dFR5cGUuY3BwCkBAIC01NCw2ICs1NCwxMSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFdlZWtJbnB1
dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVz
Ojp3ZWVrKCk7CiB9CiAKK0RhdGVDb21wb25lbnRzOjpUeXBlIFdlZWtJbnB1dFR5cGU6OmRhdGVU
eXBlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gRGF0ZUNvbXBvbmVudHM6OldlZWs7Cit9CisKIGRv
dWJsZSBXZWVrSW5wdXRUeXBlOjptaW5pbXVtKCkgY29uc3QKIHsKICAgICByZXR1cm4gcGFyc2VU
b0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIERhdGVDb21wb25l
bnRzOjptaW5pbXVtV2VlaygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vl
a0lucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmgKaW5kZXgg
NDM3MTY0Yi4uMGFlMjk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5w
dXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmgKQEAgLTQy
LDYgKzQyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBXZWVrSW5wdXRUeXBlKEhUTUxJbnB1
dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsg
fQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1h
eGltdW0oKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBzdGVwQmFzZSgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHAKc2ltaWxhcml0eSBpbmRleCAxMDAl
CnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNvbXBvbmVudHMuY3BwCnJlbmFt
ZSB0byBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNvbXBvbmVudHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmgKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZy
b20gU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5oCnJlbmFtZSB0byBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5oCmluZGV4IDliY2UwYzMuLmZkYjI2ODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNvbXBvbmVudHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5oCkBAIC01OCw2ICs1OCwxNiBA
QCBwdWJsaWM6CiAgICAgewogICAgIH0KIAorICAgIGVudW0gVHlwZSB7CisgICAgICAgIEludmFs
aWQsCisgICAgICAgIERhdGUsCisgICAgICAgIERhdGVUaW1lLAorICAgICAgICBEYXRlVGltZUxv
Y2FsLAorICAgICAgICBNb250aCwKKyAgICAgICAgVGltZSwKKyAgICAgICAgV2VlaywKKyAgICB9
OworCiAgICAgaW50IG1pbGxpc2Vjb25kKCkgY29uc3QgeyByZXR1cm4gbV9taWxsaXNlY29uZDsg
fQogICAgIGludCBzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX3NlY29uZDsgfQogICAgIGludCBt
aW51dGUoKSBjb25zdCB7IHJldHVybiBtX21pbnV0ZTsgfQpAQCAtNjYsNiArNzYsNyBAQCBwdWJs
aWM6CiAgICAgaW50IG1vbnRoKCkgY29uc3QgeyByZXR1cm4gbV9tb250aDsgfQogICAgIGludCBm
dWxsWWVhcigpIGNvbnN0IHsgcmV0dXJuIG1feWVhcjsgfQogICAgIGludCB3ZWVrKCkgY29uc3Qg
eyByZXR1cm4gbV93ZWVrOyB9CisgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBl
OyB9CiAKICAgICBlbnVtIFNlY29uZEZvcm1hdCB7CiAgICAgICAgIE5vbmUsIC8vIFN1cHByZXNz
IHRoZSBzZWNvbmQgcGFydCBhbmQgdGhlIG1pbGxpc2Vjb25kIHBhcnQgaWYgdGhleSBhcmUgMC4K
QEAgLTE4NCwxNSArMTk1LDYgQEAgcHJpdmF0ZToKICAgICBpbnQgbV95ZWFyOyAvLyAgMTU4MiAt
CiAgICAgaW50IG1fd2VlazsgLy8gMSAtIDUzCiAKLSAgICBlbnVtIFR5cGUgewotICAgICAgICBJ
bnZhbGlkLAotICAgICAgICBEYXRlLAotICAgICAgICBEYXRlVGltZSwKLSAgICAgICAgRGF0ZVRp
bWVMb2NhbCwKLSAgICAgICAgTW9udGgsCi0gICAgICAgIFRpbWUsCi0gICAgICAgIFdlZWssCi0g
ICAgfTsKICAgICBUeXBlIG1fdHlwZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZWREYXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MjgzZjY1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxpemVkRGF0ZS5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIExvY2FsaXplZERhdGVfaAorI2RlZmluZSBM
b2NhbGl6ZWREYXRlX2gKKworI2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gUGFyc2Vz
IGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgZGF0ZSBzdHJpbmcgbG9jYWxpemVkCisvLyBm
b3IgdGhlIGJyb3dzZXIncyBjdXJyZW50IGxvY2FsZSBmb3IgYSBwYXJ0aWN1bGFyIGRhdGUgdHlw
ZS4KKy8vIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IHZhbGlkIG9yIGFuIGltcGxlbWVudGF0
aW9uIGRvZXNuJ3QKKy8vIHN1cHBvcnQgbG9jYWxpemVkIGRhdGVzLCB0aGlzIGZ1bmN0aW9uIHJl
dHVybnMgTmFOLiBJZiB0aGUKKy8vIGlucHV0IHN0cmluZyBpcyB2YWxpZCB0aGlzIGZ1bmN0aW9u
IHJldHVybnMgdGhlIG51bWJlcgorLy8gb2YgbWlsbGlzZWNvbmRzIHNpbmNlIDE5NzAtMDEtMDEg
MDA6MDA6MDAuMDAwIFVUQy4KK2RvdWJsZSBwYXJzZUxvY2FsaXplZERhdGUoY29uc3QgU3RyaW5n
JiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpOworCisvLyBTZXJpYWxpemVzIHRoZSBzcGVjaWZpZWQg
ZGF0ZSBpbnRvIGEgZm9ybWF0dGVkIGRhdGUgc3RyaW5nCisvLyB0byBkaXNwbGF5IHRvIHRoZSB1
c2VyLiBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQKKy8vIGxvY2FsaXplZCBk
YXRlcyB0aGUgZnVuY3Rpb24gc2hvdWxkIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuCitTdHJpbmcg
Zm9ybWF0TG9jYWxpemVkRGF0ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZUNvbXBvbmVudHMp
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBMb2NhbGl6ZWREYXRlX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5v
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRjYTMzOTAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25l
LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvY2FsaXplZERhdGUu
aCIKKworI2luY2x1ZGUgPGxpbWl0cz4KKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitkb3VibGUgcGFyc2VMb2NhbGl6ZWREYXRlKGNvbnN0IFN0cmluZyYs
IERhdGVDb21wb25lbnRzOjpUeXBlKQoreworICAgIHJldHVybiBudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjpxdWlldF9OYU4oKTsKK30KKworU3RyaW5nIGZvcm1hdExvY2FsaXplZERhdGUoY29uc3Qg
RGF0ZUNvbXBvbmVudHMmKQoreworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="84486"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91633</attachid>
            <date>2011-04-28 21:18:15 -0700</date>
            <delta_ts>2011-04-29 18:34:58 -0700</delta_ts>
            <desc>[DIFF] Between Version 2 and 3</desc>
            <filename>diff.patch</filename>
            <type>text/plain</type>
            <size>3566</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApp
bmRleCBiOWY1NTllLi5mMWYzNGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xNjksNiArMTY5LDExIEBAIFN0cmluZyBCYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZShkb3VibGUgdmFsdWUpIGNvbnN0CiAgICAg
RGF0ZUNvbXBvbmVudHMgZGF0ZTsKICAgICBpZiAoIXNldE1pbGxpc2Vjb25kVG9EYXRlQ29tcG9u
ZW50cyh2YWx1ZSwgJmRhdGUpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJu
IHNlcmlhbGl6ZVdpdGhDb21wb25lbnRzKGRhdGUpOworfQorCitTdHJpbmcgQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlOjpzZXJpYWxpemVXaXRoQ29tcG9uZW50cyhjb25zdCBEYXRlQ29tcG9uZW50
cyYgZGF0ZSkgY29uc3QKK3sKICAgICBkb3VibGUgc3RlcDsKICAgICBpZiAoIWVsZW1lbnQoKS0+
Z2V0QWxsb3dlZFZhbHVlU3RlcCgmc3RlcCkpCiAgICAgICAgIHJldHVybiBkYXRlLnRvU3RyaW5n
KCk7CkBAIC0xOTUsOCArMjAwLDE1IEBAIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
OmNvbnZlcnRGcm9tVmlzaWJsZVZhbHVlKGNvbnN0IFN0cmluZyYgdmlzaWJsZVZhCiAgICAgaWYg
KHZpc2libGVWYWx1ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB2aXNpYmxlVmFsdWU7CiAK
LSAgICBTdHJpbmcgcGFyc2VkU3RyaW5nID0gcGFyc2VMb2NhbGl6ZWREYXRlKHZpc2libGVWYWx1
ZSwgZGF0ZVR5cGUoKSk7Ci0gICAgcmV0dXJuIHBhcnNlZFN0cmluZy5pc0VtcHR5KCkgPyB2aXNp
YmxlVmFsdWUgOiBwYXJzZWRTdHJpbmc7CisgICAgZG91YmxlIHBhcnNlZFZhbHVlID0gcGFyc2VM
b2NhbGl6ZWREYXRlKHZpc2libGVWYWx1ZSwgZGF0ZVR5cGUoKSk7CisgICAgaWYgKCFpc2Zpbml0
ZShwYXJzZWRWYWx1ZSkpCisgICAgICAgIHJldHVybiB2aXNpYmxlVmFsdWU7CisKKyAgICBEYXRl
Q29tcG9uZW50cyBkYXRlOworICAgIGlmICghZGF0ZS5zZXRNaWxsaXNlY29uZHNTaW5jZUVwb2No
Rm9yRGF0ZVRpbWUocGFyc2VkVmFsdWUpKQorICAgICAgICByZXR1cm4gdmlzaWJsZVZhbHVlOwor
CisgICAgcmV0dXJuIHNlcmlhbGl6ZVdpdGhDb21wb25lbnRzKGRhdGUpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaAppbmRleCBkM2YwNTc3Li44YjVlYjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKQEAgLTY0LDYgKzY0LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50Kik7CiAgICAgdmly
dHVhbCBTdHJpbmcgc2VyaWFsaXplKGRvdWJsZSkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcg
c2VyaWFsaXplV2l0aENvbXBvbmVudHMoY29uc3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdDsKICAg
ICB2aXJ0dWFsIFN0cmluZyB2aXNpYmxlVmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmlu
ZyBjb252ZXJ0RnJvbVZpc2libGVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZS5oCmluZGV4IDU5NTUzMTcu
LjI4M2Y2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxp
emVkRGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0
ZS5oCkBAIC0zNCw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBQYXJzZXMgYSBz
dHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBkYXRlIHN0cmluZyBsb2NhbGl6ZWQKIC8vIGZvciB0
aGUgYnJvd3NlcidzIGN1cnJlbnQgbG9jYWxlIGZvciBhIHBhcnRpY3VsYXIgZGF0ZSB0eXBlLgog
Ly8gSWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3QgdmFsaWQgb3IgYW4gaW1wbGVtZW50YXRpb24g
ZG9lc24ndAotLy8gc3VwcG9ydCBsb2NhbGl6ZWQgZGF0ZXMsIHRoaXMgZnVuY3Rpb24gcmV0dXJu
cyBhbiBlbXB0eSBzdHJpbmcuCi1TdHJpbmcgcGFyc2VMb2NhbGl6ZWREYXRlKGNvbnN0IFN0cmlu
ZyYsIERhdGVDb21wb25lbnRzOjpUeXBlKTsKKy8vIHN1cHBvcnQgbG9jYWxpemVkIGRhdGVzLCB0
aGlzIGZ1bmN0aW9uIHJldHVybnMgTmFOLiBJZiB0aGUKKy8vIGlucHV0IHN0cmluZyBpcyB2YWxp
ZCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlcgorLy8gb2YgbWlsbGlzZWNvbmRzIHNp
bmNlIDE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwIFVUQy4KK2RvdWJsZSBwYXJzZUxvY2FsaXplZERh
dGUoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpOwogCiAvLyBTZXJpYWxpemVz
IHRoZSBzcGVjaWZpZWQgZGF0ZSBpbnRvIGEgZm9ybWF0dGVkIGRhdGUgc3RyaW5nCiAvLyB0byBk
aXNwbGF5IHRvIHRoZSB1c2VyLiBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5v
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5j
cHAKaW5kZXggNDFiODc1Yi4uMTRjYTMzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUuY3BwCkBAIC0yNiwxMSArMjYsMTUgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWREYXRlLmgiCiAKKyNpbmNsdWRl
IDxsaW1pdHM+CisKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotU3RyaW5nIHBhcnNlTG9jYWxpemVkRGF0ZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50
czo6VHlwZSkKK2RvdWJsZSBwYXJzZUxvY2FsaXplZERhdGUoY29uc3QgU3RyaW5nJiwgRGF0ZUNv
bXBvbmVudHM6OlR5cGUpCiB7Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIHJldHVybiBudW1l
cmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKIH0KIAogU3RyaW5nIGZvcm1hdExvY2Fs
aXplZERhdGUoY29uc3QgRGF0ZUNvbXBvbmVudHMmKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91787</attachid>
            <date>2011-04-29 18:34:58 -0700</date>
            <delta_ts>2011-04-29 18:43:56 -0700</delta_ts>
            <desc>[PATCH] Add LocalizedDate Allow Formatting + Parsing</desc>
            <filename>localized-date-4.patch</filename>
            <type>text/plain</type>
            <size>44995</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">Y29tbWl0IGM3NzhmOTEwMmE2OTI2YTEzM2QwZDg5OWZjNjI2YWNkZGI2NDM4NTEKQXV0aG9yOiBK
b3NlcGggUGVjb3Jhcm8gPGpvZXBlY2tAd2Via2l0Lm9yZz4KRGF0ZTogICBUaHUgQXByIDI4IDIy
OjI5OjQ3IDIwMTEgLTA3MDAKCiAgICAyMDExLTA0LTI4ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2Vw
ZWNrQHdlYmtpdC5vcmc+CiAgICAKICAgICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCiAgICAKICAgICAgICAgICAgQWxsb3cgTG9jYWxpemVkIERhdGUgU3RyaW5ncyBmb3IgRGF0
ZSBJbnB1dCBGaWVsZHMKICAgICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5NzUyCiAgICAKICAgICAgICAgICAgVGhlIHJlbmRlciB0cmVlIGR1bXAgcHJp
bnRzIG91dCB0aGUgdmlzaWJsZSBzdHJpbmcKICAgICAgICAgICAgaW5zaWRlIHRoZSA8aW5wdXQ+
IGZpZWxkLgogICAgCiAgICAgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUt
c3RyaW5ncy5odG1sOiBBZGRlZC4KICAgICAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mb3Jt
cy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5ncy1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgCiAg
ICAyMDExLTA0LTI4ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CiAgICAK
ICAgICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAgICAKICAgICAgICAgICAg
QWxsb3cgTG9jYWxpemVkIERhdGUgU3RyaW5ncyBmb3IgRGF0ZSBJbnB1dCBGaWVsZHMKICAgICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5NzUyCiAgICAK
ICAgICAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5ncy5o
dG1sCiAgICAKICAgICAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKICAgICAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CiAgICAgICAgICAgICogV2ViQ29yZS5wcm86CiAgICAgICAgICAgICogV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CiAgICAgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiB1cGRhdGUgYnVpbGQgZmlsZXMgZm9yCiAgICAgICAgICAgIG1vdmlu
ZyBEYXRlQ29tcG9uZW50cyBmcm9tIFdlYkNvcmUvaHRtbCB0byBXZWJDb3JlL3BsYXRmb3JtCiAg
ICAgICAgICAgIGFuZCBhZGRpbmcgdGhlIExvY2FsaXplZERhdGUgZmlsZXMuCiAgICAKICAgICAg
ICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CiAgICAgICAgICAgIChX
ZWJDb3JlOjpCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZSk6CiAgICAgICAgICAg
IChXZWJDb3JlOjpCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZVdpdGhDb21wb25l
bnRzKToKICAgICAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2Vy
aWFsaXplV2l0aE1pbGxpc2Vjb25kcyk6CiAgICAgICAgICAgIElucHV0VHlwZTo6c2VyaWFsaXpl
IGZvciBhIGRvdWJsZSB2YWx1ZSB3aXRoIGRhdGUgdHlwZXMgaXMKICAgICAgICAgICAgZGlmZmVy
ZW50IGZvciB0aGUgbW9udGggdHlwZSBiZWNhdXNlIGl0IGFzc3VtZXMgdGhlIGluY29taW5nCiAg
ICAgICAgICAgIHZhbHVlIGlzIG1vbnRocyBpbnN0ZWFkIG9mIG1zZWNzIChtYXRjaGluZyB2YWx1
ZUFzTnVtYmVyIGluCiAgICAgICAgICAgIEhUTUw1KS4gIFNvIHByb3ZpZGUgYSBtb3JlIGdlbmVy
YWwgc2VyaWFsaXphdGlvbiBmdW5jdGlvbiwKICAgICAgICAgICAgc2VyaWFsaXplV2l0aENvbXBv
bmVudHMsIHRoYXQgd2lsbCBhbHdheXMgc2VyaWFsaXplIGEgc3RyaW5nCiAgICAgICAgICAgIGNv
cnJlY3RseSBmb3IgdGhlIGN1cnJlbnQgdHlwZSBidXQgdGFraW5nIGluIGEgRGF0ZUNvbXBvbmVu
dHMKICAgICAgICAgICAgb2JqZWN0LiBUaGUgZGVmYXVsdCBzZXJpYWxpemUsIGFuZCBuZXcgc2Vy
aWFsaXplV2l0aE1pbGxpc2Vjb25kcywKICAgICAgICAgICAgY2FuIGZhbGwgYmFjayB0byB0aGlz
IGFuZCBhbGxvd3MgYW4gb3ZlcnJpZGUgcG9pbnQgZm9yCiAgICAgICAgICAgIHRoZSBtb250aCB0
eXBlLgogICAgCiAgICAgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6CiAgICAgICAg
ICAgIChXZWJDb3JlOjpNb250aElucHV0VHlwZTo6c2VyaWFsaXplV2l0aE1pbGxpc2Vjb25kcyk6
IHRoZSBtb250aAogICAgICAgICAgICB0eXBlIGlzIGEgY2FzZSB3aGVyZSB0aGUgZGVmYXVsdCBz
ZXJpYWxpemUgZG9lcyBub3QgdGFrZSBtc2VjLAogICAgICAgICAgICBzbyBwcm92aWRlIGFuIGlt
cGxlbWVudGF0aW9uIGZvciBtb250aCB3aGljaCBoYW5kbGVzIG1zZWMgaW5wdXQuCiAgICAKICAg
ICAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA6CiAgICAgICAgICAg
IChXZWJDb3JlOjpCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnZpc2libGVWYWx1ZSk6IGFsbG93
CiAgICAgICAgICAgIGxvY2FsaXplZCBmb3JtYXR0aW5nIG9mIGEgZGF0ZSB2YWx1ZS4KICAgICAg
ICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6Y29udmVydEZyb21WaXNp
YmxlVmFsdWUpOgogICAgICAgICAgICBhbGxvdyBwYXJzaW5nIGZvciBhIGZvcm1hdHRlZCBkYXRl
IHZhbHVlLgogICAgCiAgICAgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
aDoKICAgICAgICAgICAgKiBwbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHA6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVDb21wb25lbnRzLmNwcC4KICAgICAgICAgICAgRXhw
b3NlIHRoZSBUeXBlIGVudW0gc28gaXQgY2FuIGJlIHVzZWQgb3V0c2lkZSBvZiB0aGUgRGF0ZUNv
bXBvbmVudHMgY2xhc3MuCiAgICAgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRl
Lmg6IEFkZGVkLgogICAgICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5vbmUu
Y3BwOiBBZGRlZC4KICAgICAgICAgICAgKFdlYkNvcmU6OmZvcm1hdExvY2FsaXplZERhdGUpOiBE
ZWZhdWx0IGltcGxlbWVudGF0aW9uIGZhbGxzIGJhY2sgdG8KICAgICAgICAgICAgZXhpc3Rpbmcg
SFRNTDUgZGF0ZSBpbnB1dCB2YWx1ZSBmb3JtYXR0aW5nLgogICAgCiAgICAgICAgICAgICogaHRt
bC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKICAgICAgICAgICAgKiBodG1sL0RhdGVJbnB1
dFR5cGUuY3BwOgogICAgICAgICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6ZGF0ZVR5cGUp
OgogICAgICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5oOgogICAgICAgICAgICAqIGh0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuY3BwOgogICAgICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1
dFR5cGU6OmRhdGVUeXBlKToKICAgICAgICAgICAgKiBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmg6
CiAgICAgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoKICAgICAgICAg
ICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmRhdGVUeXBlKToKICAgICAgICAg
ICAgKiBodG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaDoKICAgICAgICAgICAgKiBodG1sL01v
bnRoSW5wdXRUeXBlLmNwcDoKICAgICAgICAgICAgKFdlYkNvcmU6Ok1vbnRoSW5wdXRUeXBlOjpk
YXRlVHlwZSk6CiAgICAgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5oOgogICAgICAgICAg
ICAqIGh0bWwvVGltZUlucHV0VHlwZS5jcHA6CiAgICAgICAgICAgIChXZWJDb3JlOjpUaW1lSW5w
dXRUeXBlOjpkYXRlVHlwZSk6CiAgICAgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmg6CiAg
ICAgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKICAgICAgICAgICAgKFdlYkNvcmU6
OldlZWtJbnB1dFR5cGU6OmRhdGVUeXBlKToKICAgICAgICAgICAgKiBodG1sL1dlZWtJbnB1dFR5
cGUuaDogQWNjZXNzb3JzIGZvciB0aGUgZGVzaXJlZCBkYXRlCiAgICAgICAgICAgIHR5cGUgb2Yg
YSBkYXRlIGlucHV0IHR5cGUuIFRoaXMgYWxsb3dzIHRoZSBiYXNlIGNsYXNzCiAgICAgICAgICAg
IHRvIHdyaXRlIGEgZ2VuZXJpYyBhbGdvcml0aG0uCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMxYWZkOTAuLmI4MDRlYWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wNC0yOCAgSm9zZXBoIFBlY29yYXJvICA8am9l
cGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFsbG93IExvY2FsaXplZCBEYXRlIFN0cmluZ3MgZm9yIERhdGUgSW5wdXQgRmll
bGRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTc1
MgorCisgICAgICAgIFRoZSByZW5kZXIgdHJlZSBkdW1wIHByaW50cyBvdXQgdGhlIHZpc2libGUg
c3RyaW5nCisgICAgICAgIGluc2lkZSB0aGUgPGlucHV0PiBmaWVsZC4KKworICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1pbnB1dC12aXNpYmxlLXN0cmluZ3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZGF0ZS1pbnB1dC12aXNpYmxlLXN0cmluZ3MtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMS0wNC0yOSAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVj
a0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5n
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5n
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNzIxODUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1z
dHJpbmdzLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDx0aXRsZT5EYXRlIElucHV0IFRlc3Q8L3RpdGxlPgorICAgIDxzdHlsZT4KKyAg
ICBpbnB1dCB7IHdpZHRoOiAzMDBweDsgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8IS0tCisgICAgICBUaGUgdXNlci12aXNpYmxlIHZhbHVlcyBvZiB0aGUgaW5wdXQgZmll
bGRzIHNob3VsZCBiZSBsb2NhbGl6ZWQgaWYgdGhlIHBsYXRmb3JtIGhhcworICAgICAgYSBMb2Nh
bGl6ZWREYXRlIGltcGxlbWVudGF0aW9uLiBPdGhlcndpc2UsIHRoZXkgc2hvdWxkIGJlIGluIHRo
ZSBIVE1MNSBmb3JtYXRzLgorICAgIC0tPgorICAgIDxmb3JtIG1ldGhvZD0iZ2V0IiBhY3Rpb249
IiMiPgorICAgICAgICA8aW5wdXQgdGl0bGU9InRlc3QiIHR5cGU9ImRhdGUiPjxicj4KKyAgICAg
ICAgPGlucHV0IHR5cGU9ImRhdGV0aW1lIj48YnI+CisgICAgICAgIDxpbnB1dCB0eXBlPSJkYXRl
dGltZS1sb2NhbCI+PGJyPgorICAgICAgICA8aW5wdXQgdHlwZT0ibW9udGgiPjxicj4KKyAgICAg
ICAgPGlucHV0IHR5cGU9InRpbWUiPjxicj4KKyAgICAgICAgPGlucHV0IHR5cGU9IndlZWsiPjxi
cj4KKyAgICA8L2Zvcm0+CisgICAgPHNjcmlwdD4KKyAgICAvLyBUdWUgQXByIDI2IDIwMTEgMTg6
NTY6MjAgR01ULTA3MDAgKFBEVCkgd2hpY2ggaXMgV2VkIEFwciAyNyAyMDExIDAxOjU2OjIwIEdN
VC4KKyAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKDEzMDM4NjkzODAzOTEpOworICAgIHZhciBkYXRl
QXNOdW1iZXIgPSArZGF0ZTsKKyAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImlucHV0Iik7CisgICAgZm9yICh2YXIgaT0wLCBsZW49aW5wdXRzLmxlbmd0aDsg
aTxsZW47ICsraSkgeworICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dHNbaV07CisgICAgICAgIGlu
cHV0Lm5hbWUgPSBpOworICAgICAgICBpZiAoInZhbHVlQXNOdW1iZXIiIGluIGlucHV0ICYmIGlu
cHV0LnR5cGUgIT09ICJtb250aCIpCisgICAgICAgICAgICBpbnB1dC52YWx1ZUFzTnVtYmVyID0g
ZGF0ZUFzTnVtYmVyOworICAgICAgICBlbHNlIGlmICgidmFsdWVBc0RhdGUiIGluIGlucHV0KQor
ICAgICAgICAgICAgaW5wdXQudmFsdWVBc0RhdGUgPSBkYXRlOworICAgIH0KKyAgICA8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJpbmdzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJp
bmdzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzI0
Y2NmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9y
bXMvZGF0ZS1pbnB1dC12aXNpYmxlLXN0cmluZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTQg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTU0CisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNTQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHgxMzgKKyAgICAgIFJlbmRlckJsb2NrIHtGT1JNfSBhdCAoMCwwKSBzaXplIDc4
NHgxMzgKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMCwyKSBzaXplIDMw
NngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQorICAg
ICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsMikgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJTlBVVH0gYXQgKDAsMjUpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNGRkZGRkZd
IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDMwNiwyNSkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQg
KDAsNDgpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQg
IzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDMwNiw0OCkgc2l6ZSAweDE4Cisg
ICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDAsNzEpIHNpemUgMzA2eDE5IFti
Z2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJl
bmRlckJSIHtCUn0gYXQgKDMwNiw3MSkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHRDb250
cm9sIHtJTlBVVH0gYXQgKDAsOTQpIHNpemUgMzA2eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3Jk
ZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDMwNiw5
NCkgc2l6ZSAweDE4CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDAsMTE3
KSBzaXplIDMwNngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAw
MDApXQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzMDYsMTE3KSBzaXplIDB4MTgKK2xheWVy
IGF0ICgxMSwxMykgc2l6ZSAyODJ4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6
ZSAyODJ4MTMKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA2OXgxMworICAg
ICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNjk6ICIyMDExLTA0LTI3IgorbGF5ZXIgYXQgKDEx
LDM2KSBzaXplIDI4MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDI4Mngx
MworICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE1NngxMworICAgICAgdGV4
dCBydW4gYXQgKDEsMCkgd2lkdGggMTU2OiAiMjAxMS0wNC0yN1QwMTo1NjoyMC4zOTFaIgorbGF5
ZXIgYXQgKDExLDU5KSBzaXplIDI4MngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBz
aXplIDI4MngxMworICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE0OXgxMwor
ICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTQ5OiAiMjAxMS0wNC0yN1QwMTo1NjoyMC4z
OTEiCitsYXllciBhdCAoMTEsODIpIHNpemUgMjgyeDEzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgzLDMpIHNpemUgMjgyeDEzCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUg
NDl4MTMKKyAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDQ5OiAiMjAxMS0wNCIKK2xheWVy
IGF0ICgxMSwxMDUpIHNpemUgMjgyeDEzCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNp
emUgMjgyeDEzCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgNzR4MTMKKyAg
ICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDc0OiAiMDE6NTY6MjAuMzkxIgorbGF5ZXIgYXQg
KDExLDEyOCkgc2l6ZSAyODJ4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAy
ODJ4MTMKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA1OHgxMworICAgICAg
dGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNTg6ICIyMDExLVcxNyIKK2xheWVyIGF0ICgyOTgsMTIp
IHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgyOTAsMikgc2l6ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwzNSkgc2l6ZSAxM3gxNQorICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDI5MCwyKSBzaXplIDEzeDE1
CitsYXllciBhdCAoMjk4LDU4KSBzaXplIDEzeDE1CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMjkwLDIpIHNpemUgMTN4MTUKK2xheWVyIGF0ICgyOTgsODEp
IHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgyOTAsMikgc2l6ZSAxM3gxNQorbGF5ZXIgYXQgKDI5OCwxMDQpIHNpemUgMTN4MTUKKyAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gx
NQorbGF5ZXIgYXQgKDI5OCwxMjcpIHNpemUgMTN4MTUKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyOTAsMikgc2l6ZSAxM3gxNQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCA3MzA0YTliLi43NjM5MTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzE3LDcg
KzcxNyw2IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0RPTVNldHRhYmxlVG9rZW5M
aXN0LmNwcAogICAgIGh0bWwvRE9NVG9rZW5MaXN0LmNwcAogICAgIGh0bWwvRE9NVVJMLmNwcAot
ICAgIGh0bWwvRGF0ZUNvbXBvbmVudHMuY3BwCiAgICAgaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAog
ICAgIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9EYXRlVGltZUxvY2FsSW5w
dXRUeXBlLmNwcApAQCAtMTAzOSw2ICsxMDM4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAg
IHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5j
cHAKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5jcHAKKyAgICBwbGF0Zm9ybS9EYXRl
Q29tcG9uZW50cy5jcHAKICAgICBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxpemF0aW9uU3RyYXRlZ3ku
Y3BwCiAgICAgcGxhdGZvcm0vRHJhZ0RhdGEuY3BwCiAgICAgcGxhdGZvcm0vRHJhZ0ltYWdlLmNw
cApAQCAtMTE2OSw2ICsxMTY5LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3Jt
L3RleHQvQmFzZTY0LmNwcAogICAgIHBsYXRmb3JtL3RleHQvQmlkaUNvbnRleHQuY3BwCiAgICAg
cGxhdGZvcm0vdGV4dC9MaW5lRW5kaW5nLmNwcAorICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVk
RGF0ZU5vbmUuY3BwCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25lLmNwcAog
ICAgIHBsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uY3BwCiAgICAgcGxhdGZvcm0vdGV4dC9SZWd1
bGFyRXhwcmVzc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYzUxM2U3Li40ZjcxZTk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTEtMDQtMjggIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBl
Y2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBbGxvdyBMb2NhbGl6ZWQgRGF0ZSBTdHJpbmdzIGZvciBEYXRlIElucHV0IEZpZWxk
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3NTIK
KworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2RhdGUtaW5wdXQtdmlzaWJsZS1zdHJpbmdzLmh0
bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IHVw
ZGF0ZSBidWlsZCBmaWxlcyBmb3IKKyAgICAgICAgbW92aW5nIERhdGVDb21wb25lbnRzIGZyb20g
V2ViQ29yZS9odG1sIHRvIFdlYkNvcmUvcGxhdGZvcm0KKyAgICAgICAgYW5kIGFkZGluZyB0aGUg
TG9jYWxpemVkRGF0ZSBmaWxlcy4KKworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6
c2VyaWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6
c2VyaWFsaXplV2l0aENvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlOjpzZXJpYWxpemVXaXRoTWlsbGlzZWNvbmRzKToKKyAgICAgICAgSW5wdXRU
eXBlOjpzZXJpYWxpemUgZm9yIGEgZG91YmxlIHZhbHVlIHdpdGggZGF0ZSB0eXBlcyBpcworICAg
ICAgICBkaWZmZXJlbnQgZm9yIHRoZSBtb250aCB0eXBlIGJlY2F1c2UgaXQgYXNzdW1lcyB0aGUg
aW5jb21pbmcKKyAgICAgICAgdmFsdWUgaXMgbW9udGhzIGluc3RlYWQgb2YgbXNlY3MgKG1hdGNo
aW5nIHZhbHVlQXNOdW1iZXIgaW4KKyAgICAgICAgSFRNTDUpLiAgU28gcHJvdmlkZSBhIG1vcmUg
Z2VuZXJhbCBzZXJpYWxpemF0aW9uIGZ1bmN0aW9uLAorICAgICAgICBzZXJpYWxpemVXaXRoQ29t
cG9uZW50cywgdGhhdCB3aWxsIGFsd2F5cyBzZXJpYWxpemUgYSBzdHJpbmcKKyAgICAgICAgY29y
cmVjdGx5IGZvciB0aGUgY3VycmVudCB0eXBlIGJ1dCB0YWtpbmcgaW4gYSBEYXRlQ29tcG9uZW50
cworICAgICAgICBvYmplY3QuIFRoZSBkZWZhdWx0IHNlcmlhbGl6ZSwgYW5kIG5ldyBzZXJpYWxp
emVXaXRoTWlsbGlzZWNvbmRzLAorICAgICAgICBjYW4gZmFsbCBiYWNrIHRvIHRoaXMgYW5kIGFs
bG93cyBhbiBvdmVycmlkZSBwb2ludCBmb3IKKyAgICAgICAgdGhlIG1vbnRoIHR5cGUuCisKKyAg
ICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vbnRo
SW5wdXRUeXBlOjpzZXJpYWxpemVXaXRoTWlsbGlzZWNvbmRzKTogdGhlIG1vbnRoCisgICAgICAg
IHR5cGUgaXMgYSBjYXNlIHdoZXJlIHRoZSBkZWZhdWx0IHNlcmlhbGl6ZSBkb2VzIG5vdCB0YWtl
IG1zZWMsCisgICAgICAgIHNvIHByb3ZpZGUgYW4gaW1wbGVtZW50YXRpb24gZm9yIG1vbnRoIHdo
aWNoIGhhbmRsZXMgbXNlYyBpbnB1dC4KKworICAgICAgICAqIGh0bWwvQmFzZURhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VEYXRlQW5kVGltZUlucHV0VHlw
ZTo6dmlzaWJsZVZhbHVlKTogYWxsb3cKKyAgICAgICAgbG9jYWxpemVkIGZvcm1hdHRpbmcgb2Yg
YSBkYXRlIHZhbHVlLgorICAgICAgICAoV2ViQ29yZTo6QmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
Ojpjb252ZXJ0RnJvbVZpc2libGVWYWx1ZSk6CisgICAgICAgIGFsbG93IHBhcnNpbmcgZm9yIGEg
Zm9ybWF0dGVkIGRhdGUgdmFsdWUuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUNvbXBvbmVudHMuY3BwLgorICAgICAgICBF
eHBvc2UgdGhlIFR5cGUgZW51bSBzbyBpdCBjYW4gYmUgdXNlZCBvdXRzaWRlIG9mIHRoZSBEYXRl
Q29tcG9uZW50cyBjbGFzcy4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGUu
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Zm9ybWF0TG9jYWxpemVkRGF0ZSk6IERlZmF1bHQg
aW1wbGVtZW50YXRpb24gZmFsbHMgYmFjayB0bworICAgICAgICBleGlzdGluZyBIVE1MNSBkYXRl
IGlucHV0IHZhbHVlIGZvcm1hdHRpbmcuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEYXRlSW5wdXRUeXBlOjpkYXRlVHlwZSk6CisgICAgICAgICogaHRtbC9EYXRl
SW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRlVGltZUlucHV0VHlwZTo6ZGF0ZVR5cGUpOgorICAgICAgICAqIGh0
bWwvRGF0ZVRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0RhdGVUaW1lTG9jYWxJbnB1
dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6ZGF0
ZVR5cGUpOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oOgorICAgICAg
ICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9udGhJbnB1
dFR5cGU6OmRhdGVUeXBlKToKKyAgICAgICAgKiBodG1sL01vbnRoSW5wdXRUeXBlLmg6CisgICAg
ICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVJbnB1
dFR5cGU6OmRhdGVUeXBlKToKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuaDoKKyAgICAg
ICAgKiBodG1sL1dlZWtJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vla0lucHV0
VHlwZTo6ZGF0ZVR5cGUpOgorICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5oOiBBY2Nlc3Nv
cnMgZm9yIHRoZSBkZXNpcmVkIGRhdGUKKyAgICAgICAgdHlwZSBvZiBhIGRhdGUgaW5wdXQgdHlw
ZS4gVGhpcyBhbGxvd3MgdGhlIGJhc2UgY2xhc3MKKyAgICAgICAgdG8gd3JpdGUgYSBnZW5lcmlj
IGFsZ29yaXRobS4KKwogMjAxMS0wNC0yOSAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDU5MGE3YTUuLmFiZWI0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYwMCw3ICs2
MDAsNiBAQAogICAgICAgICAgICAgJ2hpc3RvcnkvY2YvSGlzdG9yeVByb3BlcnR5TGlzdC5oJywK
ICAgICAgICAgICAgICdodG1sL0NvbGxlY3Rpb25DYWNoZS5oJywKICAgICAgICAgICAgICdodG1s
L0NvbGxlY3Rpb25UeXBlLmgnLAotICAgICAgICAgICAgJ2h0bWwvRGF0ZUNvbXBvbmVudHMuaCcs
CiAgICAgICAgICAgICAnaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5oJywKICAgICAgICAgICAgICdodG1sL0hUTUxDb2xs
ZWN0aW9uLmgnLApAQCAtNzM5LDYgKzczOCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vQ29v
a2llSmFyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0Nvb2tpZXNTdHJhdGVneS5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9DdXJzb3IuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vRGF0
ZUNvbXBvbmVudHMuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vRGVmYXVsdExvY2FsaXphdGlv
blN0cmF0ZWd5LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0RyYWdEYXRhLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL0RyYWdJbWFnZS5oJywKQEAgLTI4MDksNyArMjgwOSw2IEBACiAgICAg
ICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9ET01VUkwu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0RPTVVSTC5oJywKLSAgICAgICAgICAgICdodG1sL0Rh
dGVDb21wb25lbnRzLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCcs
CiAgICAgICAgICAgICAnaHRtbC9EYXRlSW5wdXRUeXBlLmgnLAogICAgICAgICAgICAgJ2h0bWwv
RGF0ZVRpbWVJbnB1dFR5cGUuY3BwJywKQEAgLTM1MzEsNiArMzUzMCw3IEBACiAgICAgICAgICAg
ICAncGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9Dcm9zc1RocmVhZENvcGllci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9DdXJzb3IuY3Bw
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHAnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL0RlZmF1bHRMb2NhbGl6YXRpb25TdHJhdGVneS5jcHAnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL0RyYWdEYXRhLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vRHJhZ0lt
YWdlLmNwcCcsCkBAIC00ODkwLDYgKzQ4OTAsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL3Rl
eHQvSHlwaGVuYXRpb24uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0h5cGhlbmF0
aW9uLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL3RleHQvTGluZUVuZGluZy5jcHAnLAorICAg
ICAgICAgICAgJ3BsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZS5oJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZWROdW1iZXJJQ1UuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS90ZXh0L0xvY2Fs
aXplZE51bWJlck5vbmUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggYzVlMjBjNS4uYWNiY2U0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8KQEAgLTY0MCw3ICs2NDAsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1s
L0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCBcCiAgICAgaHRtbC9ET01Ub2tlbkxpc3QuY3BwIFwK
ICAgICBodG1sL0RPTVVSTC5jcHAgXAotICAgIGh0bWwvRGF0ZUNvbXBvbmVudHMuY3BwIFwKICAg
ICBodG1sL0RhdGVJbnB1dFR5cGUuY3BwIFwKICAgICBodG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNw
cCBcCiAgICAgaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcCBcCkBAIC05NDYsOSArOTQ1
LDExIEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL3RleHQvQmFzZTY0LmNwcCBcCiAgICAg
cGxhdGZvcm0vdGV4dC9CaWRpQ29udGV4dC5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvSHlwaGVu
YXRpb24uY3BwIFwKKyAgICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcCBcCiAg
ICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25lLmNwcCBcCiAgICAgcGxhdGZvcm0v
Q29udGVudFR5cGUuY3BwIFwKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5jcHAgXAor
ICAgIHBsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcCBcCiAgICAgcGxhdGZvcm0vRGVmYXVsdExv
Y2FsaXphdGlvblN0cmF0ZWd5LmNwcCBcCiAgICAgcGxhdGZvcm0vRHJhZ0RhdGEuY3BwIFwKICAg
ICBwbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwIFwKQEAgLTE2MTYsNyArMTYxNyw2IEBAIEhFQURFUlMg
Kz0gXAogICAgIGh0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaCBcCiAgICAgaHRtbC9DbGFzc0xpc3Qu
aCBcCiAgICAgaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBcCi0gICAgaHRtbC9EYXRlQ29tcG9uZW50
cy5oIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmggXAogICAgIGh0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaCBcCiAgICAgaHRtbC9ET01Ub2tlbkxpc3QuaCBcCkBAIC0xODg2LDYgKzE4ODYsNyBA
QCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5oIFwKICAgICBwbGF0Zm9y
bS9Db250ZXh0TWVudS5oIFwKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oIFwKKyAg
ICBwbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5oIFwKICAgICBwbGF0Zm9ybS9EZWZhdWx0TG9jYWxp
emF0aW9uU3RyYXRlZ3kuaCBcCiAgICAgcGxhdGZvcm0vRHJhZ0RhdGEuaCBcCiAgICAgcGxhdGZv
cm0vRHJhZ0ltYWdlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagppbmRleCA3NDI3NmRiLi4xNTM4NjdmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjU3MjIsNiArMjU3MjIsMTQgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cRGF0
ZUNvbXBvbmVudHMuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxEYXRlQ29tcG9uZW50cy5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxEZWZhdWx0TG9jYWxpemF0
aW9uU3RyYXRlZ3kuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTMwNTUzLDYgKzMwNTYxLDE0
IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVx0ZXh0XExvY2FsaXplZERhdGUuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJ
CQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXHRleHRcTG9jYWxpemVkRGF0
ZU5vbmUuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cdGV4dFxMb2NhbGl6ZWROdW1iZXIuaCIKIAkJCQkJPgogCQkJCTwv
RmlsZT4KQEAgLTUxMTYyLDE0ICs1MTE3OCw2IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRGF0ZUNvbXBvbmVudHMuY3BwIgotCQkJCT4K
LQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERhdGVDb21w
b25lbnRzLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGh0bWxcRGF0ZUlucHV0VHlwZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDBlYzUw
NTcuLjJlYTY5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTMyMzEsNiArMzIzMSwxMCBAQAogCQlBNDU2RkEyNzExQUQ0QTgz
MDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTZGQTI1MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2Rl
TGlzdC5oICovOyB9OwogCQlBNTEzQjNENzExNEIxNjY2MDAxQzQyOUIgLyogS2V5RXZlbnRDb2Nv
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0
Q0YxMTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EuaCAqLzsgfTsKIAkJQTUxM0IzRDgx
MTRCMTY2QTAwMUM0MjlCIC8qIEtleUV2ZW50Q29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzREMDExNDg1RkYxMDA2NkYyQUIgLyogS2V5
RXZlbnRDb2NvYS5tbSAqLzsgfTsKKwkJQTU3MzJCMEExMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVD
b21wb25lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE1NzMyQjA4MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi87IH07
CisJCUE1NzMyQjBCMTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3MzJCMDkxMzZBMTYxRDAw
NUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmggKi87IH07CisJCUE1NzMyQjBEMTM2QTE2QzQwMDVD
OEQ3QyAvKiBMb2NhbGl6ZWREYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBNTczMkIwQzEzNkExNkM0MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZS5o
ICovOyB9OworCQlBNTczMkIwRjEzNkExNzE1MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZU5vbmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3MzJC
MEUxMzZBMTcxNTAwNUM4RDdDIC8qIExvY2FsaXplZERhdGVOb25lLmNwcCAqLzsgfTsKIAkJQTU5
RTNDMUUxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OUUzQzFDMTE1ODBGNTEwMDcy
OTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggKi87IH07CiAJCUE1OUUzQzFGMTE1ODBGNTEw
MDcyOTI4RSAvKiBLZXlFdmVudElQaG9uZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OUUzQzFEMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudElQ
aG9uZS5tbSAqLzsgfTsKIAkJQTVBRkIzNEYxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUFGQjM0
RDExNTE1MUE3MDBCMDQ1Q0IgLyogU3RlcFJhbmdlLmNwcCAqLzsgfTsKQEAgLTU3ODEsOCArNTc4
NSw2IEBACiAJCUY1QzA0MUU2MEZGQ0E5NkQwMDgzOUQ0QSAvKiBKU0hUTUxEYXRhTGlzdEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjVD
MDQxRTEwRkZDQTk2RDAwODM5RDRBIC8qIEpTSFRNTERhdGFMaXN0RWxlbWVudC5jcHAgKi87IH07
CiAJCUY1QzA0MUU3MEZGQ0E5NkQwMDgzOUQ0QSAvKiBKU0hUTUxEYXRhTGlzdEVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1QzA0MUUyMEZG
Q0E5NkQwMDgzOUQ0QSAvKiBKU0hUTUxEYXRhTGlzdEVsZW1lbnQuaCAqLzsgfTsKIAkJRjVDQzQy
REMxMkY4MDFDQTAwRDVGN0UzIC8qIExvY2FsaXplZE51bWJlck1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1Q0M0MkRCMTJGODAxQ0EwMEQ1RjdF
MyAvKiBMb2NhbGl6ZWROdW1iZXJNYWMubW0gKi87IH07Ci0JCUY1RDNBNTdDMTA2QjgzQjMwMDU0
NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNUQzQTU3QTEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVu
dHMuY3BwICovOyB9OwotCQlGNUQzQTU3RDEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1RDNB
NTdCMTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY3QTAzNEM0MTI2QkY2QkUwMDdEQzE5
RSAvKiBGb250T3JpZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY3QTAzNEMzMTI2QkY2QkUwMDdEQzE5RSAvKiBGb250T3JpZW50YXRpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGOTE2
QzQ4RDBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEIw
REI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLzsg
fTsKIAkJRjkxNkM0OEUwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
OTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQu
aCAqLzsgfTsKQEAgLTk3OTMsNiArOTc5NSwxMCBAQAogCQlBNDU0NDI0RDExOUIzNjg3MDA5QkU5
MTIgLyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyTWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTQ1NkZBMjQxMUFENEE4
MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IExhYmVsc05vZGVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTQ1NkZBMjUxMUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExhYmVsc05vZGVMaXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUE1NzMyQjA4MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9u
ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRlQ29tcG9u
ZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1NzMyQjA5MTM2QTE2MUQw
MDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBEYXRlQ29tcG9uZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNTcz
MkIwQzEzNkExNkM0MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2NhbGl6ZWREYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUE1NzMyQjBFMTM2QTE3MTUwMDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRlTm9uZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NhbGl6ZWREYXRlTm9uZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OUUzQzFDMTE1ODBGNTEwMDcyOTI4
RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IEtleUV2ZW50Q29kZXNJUGhvbmUuaDsgcGF0aCA9IGlwaG9uZS9LZXlFdmVudENvZGVzSVBo
b25lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OUUzQzFEMTE1ODBGNTEwMDcy
OTI4RSAvKiBLZXlFdmVudElQaG9uZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IEtleUV2ZW50SVBob25lLm1tOyBwYXRoID0gaXBob25lL0tleUV2ZW50SVBob25l
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUFGQjM0RDExNTE1MUE3MDBCMDQ1
Q0IgLyogU3RlcFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN0ZXBSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjM0MCw4ICsx
MjM0Niw2IEBACiAJCUY1QzI4Njk0MDI4NDZEQ0QwMTg2MzVDQSAvKiBDYXJib24uZnJhbWV3b3Jr
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBl
ci5mcmFtZXdvcms7IG5hbWUgPSBDYXJib24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJRjVDMjg2OTUwMjg0NkRDRDAxODYzNUNBIC8qIENvY29hLmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9Owog
CQlGNUNDNDJEQjEyRjgwMUNBMDBENUY3RTMgLyogTG9jYWxpemVkTnVtYmVyTWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxpemVkTnVtYmVyTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGNUQzQTU3QTEwNkI4M0IzMDA1NDUyOTcg
LyogRGF0ZUNvbXBvbmVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRGF0ZUNvbXBvbmVudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGNUQz
QTU3QjEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNvbXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjdBMDM0QzMxMjZCRjZCRTAwN0RDMTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250T3JpZW50YXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjgyMTYyOTkwMjlGNEZCNTAxMDAwMTMxIC8qIEphdmFT
Y3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuZnJh
bWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlGOTE2QzQ4QjBE
QjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1ODM1LDggKzE1ODM5
LDYgQEAKIAkJCQk5M0M0NDFGRjBGODEzQUUxMDBDMUE2MzQgLyogQ29sbGVjdGlvblR5cGUuaCAq
LywKIAkJCQlGNTVCM0Q3RjEyNTFGMTJEMDAzRUYyNjkgLyogQ29sb3JJbnB1dFR5cGUuY3BwICov
LAogCQkJCUY1NUIzRDgwMTI1MUYxMkQwMDNFRjI2OSAvKiBDb2xvcklucHV0VHlwZS5oICovLAot
CQkJCUY1RDNBNTdBMTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5jcHAgKi8sCi0J
CQkJRjVEM0E1N0IxMDZCODNCMzAwNTQ1Mjk3IC8qIERhdGVDb21wb25lbnRzLmggKi8sCiAJCQkJ
RjU1QjNEODExMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVJbnB1dFR5cGUuY3BwICovLAogCQkJCUY1
NUIzRDgyMTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlSW5wdXRUeXBlLmggKi8sCiAJCQkJRjU1QjNE
ODMxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVUaW1lSW5wdXRUeXBlLmNwcCAqLywKQEAgLTE3OTUw
LDYgKzE3OTUyLDggQEAKIAkJCQkzNzVDRDIzMTExOUQ0M0M4MDBBMkE4NTkgLyogSHlwaGVuYXRp
b24uaCAqLywKIAkJCQk4OUI1RUE5RjExRTgwMDNEMDBGMjM2N0UgLyogTGluZUVuZGluZy5jcHAg
Ki8sCiAJCQkJODlCNUVBQTAxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuaCAqLywKKwkJ
CQlBNTczMkIwQzEzNkExNkM0MDA1QzhEN0MgLyogTG9jYWxpemVkRGF0ZS5oICovLAorCQkJCUE1
NzMyQjBFMTM2QTE3MTUwMDVDOEQ3QyAvKiBMb2NhbGl6ZWREYXRlTm9uZS5jcHAgKi8sCiAJCQkJ
RjUxNDJDNjgxMjNGMTJCMDAwRjVCRDRDIC8qIExvY2FsaXplZE51bWJlci5oICovLAogCQkJCUJD
NzZBQzExMEREN0FENUMwMDQxNUYzNCAvKiBQYXJzZXJVdGlsaXRpZXMuaCAqLywKIAkJCQlCMkMz
RDlGQjBEMDA2QzFEMDBFRjZGMjYgLyogUGxhdGZvcm1TdHJpbmcuaCAqLywKQEAgLTE4NjY2LDYg
KzE4NjcwLDggQEAKIAkJCQkyRTQzNDY1NzBGNTQ2QTk5MDBCMEYxQkEgLyogQ3Jvc3NUaHJlYWRD
b3BpZXIuaCAqLywKIAkJCQlFMTFBRjE1MDExQjlBMUEzMDA4MDUxMDMgLyogQ3Vyc29yLmNwcCAq
LywKIAkJCQlGNTg3ODY4NDAyREUzQjg2MDFFQTQxMjIgLyogQ3Vyc29yLmggKi8sCisJCQkJQTU3
MzJCMDgxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21wb25lbnRzLmNwcCAqLywKKwkJCQlBNTcz
MkIwOTEzNkExNjFEMDA1QzhEN0MgLyogRGF0ZUNvbXBvbmVudHMuaCAqLywKIAkJCQlCQ0MzNkVC
NjEzNDJBQTNGMDA0QkVFRjcgLyogRGVmYXVsdExvY2FsaXphdGlvblN0cmF0ZWd5LmNwcCAqLywK
IAkJCQlCQ0MzNkVCNzEzNDJBQTNGMDA0QkVFRjcgLyogRGVmYXVsdExvY2FsaXphdGlvblN0cmF0
ZWd5LmggKi8sCiAJCQkJQTc5NTQ2NDIwQjVDNENCNDAwN0I0MzhGIC8qIERyYWdEYXRhLmNwcCAq
LywKQEAgLTIwMTc4LDcgKzIwMTg0LDYgQEAKIAkJCQk4MUFDNTk5OTEzMTYzNkU2MDAwOUE3RTAg
LyogRGF0YVRyYW5zZmVySXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODFBQzU5OUExMzE2MzZF
NjAwMDlBN0UwIC8qIERhdGFUcmFuc2Zlckl0ZW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTk3
Q0NFQjEyOTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuaCBpbiBIZWFkZXJzICovLAotCQkJCUY1
RDNBNTdEMTA2QjgzQjMwMDU0NTI5NyAvKiBEYXRlQ29tcG9uZW50cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRjU1QjNEQjYxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVJbnB1dFR5cGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUY1NUIzREI4MTI1MUYxMkQwMDNFRjI2OSAvKiBEYXRlVGltZUlucHV0VHlw
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNEQkExMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVU
aW1lTG9jYWxJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjI5ODAsNiArMjI5ODUsOCBA
QAogCQkJCTQzNThFODg2MTM2MEEzM0IwMEU0NzQ4QyAvKiBTVkdGRURyb3BTaGFkb3dFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzgxMEMxQzEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVj
dG9yV29ya2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzODEwQzFFMTM2NUE0RDQwMEVE
NkUzMyAvKiBXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE1NzMyQjBCMTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9uZW50cy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTU3MzJCMEQxMzZBMTZDNDAwNUM4RDdDIC8qIExvY2FsaXplZERhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpAQCAtMjM1MTYsNyArMjM1MjMsNiBAQAogCQkJCUJDNjQ2NDFEMTFEN0Y0MTYw
MDY0NTVCMCAvKiBEYXRhc2V0RE9NU3RyaW5nTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgx
NUU2MTY3MTMyNTg3QUEwMEI2MjJCMCAvKiBEYXRhVHJhbnNmZXJJdGVtLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJFOTdDQ0VBMTI5MzlDQjgwMEM1QzhGRiAvKiBEYXRhVmlldy5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlGNUQzQTU3QzEwNkI4M0IzMDA1NDUyOTcgLyogRGF0ZUNvbXBvbmVudHMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU1QjNEQjUxMjUxRjEyRDAwM0VGMjY5IC8qIERhdGVJ
bnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU1QjNEQjcxMjUxRjEyRDAwM0VGMjY5
IC8qIERhdGVUaW1lSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzREI5MTI1
MUYxMkQwMDNFRjI2OSAvKiBEYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMjU2NzgsNiArMjU2ODQsOCBAQAogCQkJCTE0RTBCQzU2MTM2MTQ4QTgwMDJBRDEyRSAv
KiBKU0RPTVRva2VuTGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzgxMEMxQjEz
NjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNzgxNzU1ODYxMzY1QTFCMDAwOTNCRTJFIC8qIERhdGFUcmFuc2Zlckl0ZW1zLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE1NzMyQjBBMTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29tcG9u
ZW50cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBNTczMkIwRjEzNkExNzE1MDA1QzhEN0MgLyog
TG9jYWxpemVkRGF0ZU5vbmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggMjI4NGUyNC4uNWM3Nzky
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
LmNwcApAQCAtMzEsMTAgKzMxLDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
QmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgiCiAKLSNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5o
IgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTG9jYWxpemVkRGF0ZS5oIgog
I2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRl
IDx3dGYvRGF0ZU1hdGguaD4KQEAgLTE2OSw2ICsxNjksMTEgQEAgU3RyaW5nIEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZTo6c2VyaWFsaXplKGRvdWJsZSB2YWx1ZSkgY29uc3QKICAgICBEYXRlQ29t
cG9uZW50cyBkYXRlOwogICAgIGlmICghc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKHZh
bHVlLCAmZGF0ZSkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1cm4gc2VyaWFs
aXplV2l0aENvbXBvbmVudHMoZGF0ZSk7Cit9CisKK1N0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OnNlcmlhbGl6ZVdpdGhDb21wb25lbnRzKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRl
KSBjb25zdAorewogICAgIGRvdWJsZSBzdGVwOwogICAgIGlmICghZWxlbWVudCgpLT5nZXRBbGxv
d2VkVmFsdWVTdGVwKCZzdGVwKSkKICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoKTsKQEAg
LTE3OSw0ICsxODQsMzIgQEAgU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFs
aXplKGRvdWJsZSB2YWx1ZSkgY29uc3QKICAgICByZXR1cm4gZGF0ZS50b1N0cmluZyhEYXRlQ29t
cG9uZW50czo6TWlsbGlzZWNvbmQpOwogfQogCitTdHJpbmcgQmFzZURhdGVBbmRUaW1lSW5wdXRU
eXBlOjpzZXJpYWxpemVXaXRoTWlsbGlzZWNvbmRzKGRvdWJsZSB2YWx1ZSkgY29uc3QKK3sKKyAg
ICByZXR1cm4gc2VyaWFsaXplKHZhbHVlKTsKK30KKworU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZTo6dmlzaWJsZVZhbHVlKCkgY29uc3QKK3sKKyAgICBTdHJpbmcgY3VycmVudFZhbHVl
ID0gZWxlbWVudCgpLT52YWx1ZSgpOworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgaWYg
KCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMoY3VycmVudFZhbHVlLCAmZGF0ZSkpCisgICAgICAgIHJl
dHVybiBjdXJyZW50VmFsdWU7CisKKyAgICBTdHJpbmcgbG9jYWxpemVkID0gZm9ybWF0TG9jYWxp
emVkRGF0ZShkYXRlKTsKKyAgICByZXR1cm4gbG9jYWxpemVkLmlzRW1wdHkoKSA/IGN1cnJlbnRW
YWx1ZSA6IGxvY2FsaXplZDsKK30KKworU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6
Y29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3QgU3RyaW5nJiB2aXNpYmxlVmFsdWUpIGNvbnN0
Cit7CisgICAgaWYgKHZpc2libGVWYWx1ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiB2aXNp
YmxlVmFsdWU7CisKKyAgICBkb3VibGUgcGFyc2VkVmFsdWUgPSBwYXJzZUxvY2FsaXplZERhdGUo
dmlzaWJsZVZhbHVlLCBkYXRlVHlwZSgpKTsKKyAgICBpZiAoIWlzZmluaXRlKHBhcnNlZFZhbHVl
KSkKKyAgICAgICAgcmV0dXJuIHZpc2libGVWYWx1ZTsKKworICAgIHJldHVybiBzZXJpYWxpemVX
aXRoTWlsbGlzZWNvbmRzKHBhcnNlZFZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5k
ZXggYTllOTViNy4uZWMzNzI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZV9oCiAjZGVmaW5lIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAKKyNp
bmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUgIlRleHRGaWVsZElucHV0VHlwZS5o
IgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNDIsMTAgKzQzLDEyIEBA
IHByb3RlY3RlZDoKICAgICBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVu
dCogZWxlbWVudCkgOiBUZXh0RmllbGRJbnB1dFR5cGUoZWxlbWVudCkgeyB9CiAgICAgdmlydHVh
bCBkb3VibGUgcGFyc2VUb0RvdWJsZShjb25zdCBTdHJpbmcmLCBkb3VibGUpIGNvbnN0OwogICAg
IHZpcnR1YWwgYm9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVudHMoY29uc3QgU3RyaW5nJiwgRGF0ZUNv
bXBvbmVudHMqKSBjb25zdDsKKyAgICBTdHJpbmcgc2VyaWFsaXplV2l0aENvbXBvbmVudHMoY29u
c3QgRGF0ZUNvbXBvbmVudHMmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wg
cGFyc2VUb0RhdGVDb21wb25lbnRzSW50ZXJuYWwoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5n
dGgsIERhdGVDb21wb25lbnRzKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBzZXRNaWxs
aXNlY29uZFRvRGF0ZUNvbXBvbmVudHMoZG91YmxlLCBEYXRlQ29tcG9uZW50cyopIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgZG91YmxlIHZhbHVlQXNEYXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2
b2lkIHNldFZhbHVlQXNEYXRlKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZp
cnR1YWwgZG91YmxlIHZhbHVlQXNOdW1iZXIoKSBjb25zdDsKQEAgLTYyLDYgKzY1LDkgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQq
KTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50Kik7CiAgICAg
dmlydHVhbCBTdHJpbmcgc2VyaWFsaXplKGRvdWJsZSkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJp
bmcgc2VyaWFsaXplV2l0aE1pbGxpc2Vjb25kcyhkb3VibGUpIGNvbnN0OworICAgIHZpcnR1YWwg
U3RyaW5nIHZpc2libGVWYWx1ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIGNvbnZlcnRG
cm9tVmlzaWJsZVZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKaW5kZXggMzQwOWQz
Yi4uNzQyMmUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCkBAIC01Myw2
ICs1MywxMSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIERhdGVJbnB1dFR5cGU6OmZvcm1Db250cm9s
VHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIElucHV0VHlwZU5hbWVzOjpkYXRlKCk7CiB9CiAKK0Rh
dGVDb21wb25lbnRzOjpUeXBlIERhdGVJbnB1dFR5cGU6OmRhdGVUeXBlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gRGF0ZUNvbXBvbmVudHM6OkRhdGU7Cit9CisKIGRvdWJsZSBEYXRlSW5wdXRUeXBl
OjptaW5pbXVtKCkgY29uc3QKIHsKICAgICByZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCkt
PmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciksIERhdGVDb21wb25lbnRzOjptaW5pbXVtRGF0ZSgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmgKaW5kZXggOTY1ZDllYS4uNjgzZWMzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBEYXRlSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQp
IDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERh
dGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUg
bWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1heGltdW0oKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0U3RlcCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVUaW1lSW5wdXRUeXBlLmNwcAppbmRleCAyYWNiOTk3Li40MzE4OWMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcApAQCAtNTQsNiArNTQsMTEgQEAgY29u
c3QgQXRvbWljU3RyaW5nJiBEYXRlVGltZUlucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29u
c3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OmRhdGV0aW1lKCk7CiB9CiAKK0RhdGVDb21w
b25lbnRzOjpUeXBlIERhdGVUaW1lSW5wdXRUeXBlOjpkYXRlVHlwZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIERhdGVDb21wb25lbnRzOjpEYXRlVGltZTsKK30KKwogZG91YmxlIERhdGVUaW1lSW5w
dXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAogewogICAgIHJldHVybiBjdXJy
ZW50VGltZU1TKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5w
dXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmgKaW5kZXgg
MWI5ZTA2Yy4uZGNjZDU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGlt
ZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUu
aApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIERhdGVUaW1lSW5wdXRU
eXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
KGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJv
bFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91
YmxlIG1heGltdW0oKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9j
YWxJbnB1dFR5cGUuY3BwCmluZGV4IDM2MWZhZDcuLjFiOWZlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcApAQCAtNTMsNiArNTMsMTEgQEAg
Y29uc3QgQXRvbWljU3RyaW5nJiBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjpmb3JtQ29udHJvbFR5
cGUoKSBjb25zdAogICAgIHJldHVybiBJbnB1dFR5cGVOYW1lczo6ZGF0ZXRpbWVsb2NhbCgpOwog
fQogCitEYXRlQ29tcG9uZW50czo6VHlwZSBEYXRlVGltZUxvY2FsSW5wdXRUeXBlOjpkYXRlVHlw
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIERhdGVDb21wb25lbnRzOjpEYXRlVGltZUxvY2FsOwor
fQorCiBkb3VibGUgRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6dmFsdWVBc0RhdGUoKSBjb25zdAog
ewogICAgIC8vIHZhbHVlQXNEYXRlIGRvZXNuJ3Qgd29yayBmb3IgdGhlIGRhdGV0aW1lLWxvY2Fs
IHR5cGUgYWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
YXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKaW5kZXggYWUxMThhZi4uNjUwOWQ1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKQEAgLTQyLDYgKzQyLDcg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEYXRlVGltZUxvY2FsSW5wdXRUeXBlKEhUTUxJbnB1
dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsg
fQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBlKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc0RhdGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0VmFsdWVBc0RhdGUoZG91YmxlLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdmlydHVh
bCBkb3VibGUgbWluaW11bSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9Nb250aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBl
LmNwcAppbmRleCAzOGY5ZDAwLi5hNTZhYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5w
dXRUeXBlLmNwcApAQCAtNTYsNiArNTYsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBNb250aElu
cHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFt
ZXM6Om1vbnRoKCk7CiB9CiAKK0RhdGVDb21wb25lbnRzOjpUeXBlIE1vbnRoSW5wdXRUeXBlOjpk
YXRlVHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIERhdGVDb21wb25lbnRzOjpNb250aDsKK30K
KwogZG91YmxlIE1vbnRoSW5wdXRUeXBlOjp2YWx1ZUFzRGF0ZSgpIGNvbnN0CiB7CiAgICAgRGF0
ZUNvbXBvbmVudHMgZGF0ZTsKQEAgLTc2LDYgKzgxLDE0IEBAIHZvaWQgTW9udGhJbnB1dFR5cGU6
OnNldFZhbHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0CiAgICAg
ZWxlbWVudCgpLT5zZXRWYWx1ZShkYXRlLnRvU3RyaW5nKCkpOwogfQogCitTdHJpbmcgTW9udGhJ
bnB1dFR5cGU6OnNlcmlhbGl6ZVdpdGhNaWxsaXNlY29uZHMoZG91YmxlIHZhbHVlKSBjb25zdAor
eworICAgIERhdGVDb21wb25lbnRzIGRhdGU7CisgICAgaWYgKCFkYXRlLnNldE1pbGxpc2Vjb25k
c1NpbmNlRXBvY2hGb3JNb250aCh2YWx1ZSkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAg
ICByZXR1cm4gc2VyaWFsaXplV2l0aENvbXBvbmVudHMoZGF0ZSk7Cit9CisKIGRvdWJsZSBNb250
aElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3QKIHsKICAgICBkb3VibGUg
Y3VycmVudCA9IGN1cnJlbnRUaW1lTVMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTW9udGhJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUu
aAppbmRleCAyMzUzNmUyLi5lM2FkZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L01vbnRoSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlw
ZS5oCkBAIC00Miw4ICs0MiwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE1vbnRoSW5wdXRU
eXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
KGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJv
bFR5cGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIERhdGVDb21wb25lbnRzOjpUeXBlIGRhdGVUeXBl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBkb3VibGUgdmFsdWVBc0RhdGUoKSBjb25zdDsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0VmFsdWVBc0RhdGUoZG91YmxlLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7
CisgICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplV2l0aE1pbGxpc2Vjb25kcyhkb3VibGUpIGNv
bnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlVG9Eb3VibGUoY29uc3QgU3RyaW5nJiwgZG91
YmxlKSBjb25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCAzMzQyM2E5Li5mODllYzMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVGltZUlucHV0VHlwZS5jcHAKQEAgLTU2LDYgKzU2LDExIEBAIGNvbnN0IEF0b21pY1N0
cmluZyYgVGltZUlucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4g
SW5wdXRUeXBlTmFtZXM6OnRpbWUoKTsKIH0KIAorRGF0ZUNvbXBvbmVudHM6OlR5cGUgVGltZUlu
cHV0VHlwZTo6ZGF0ZVR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6
VGltZTsKK30KKwogZG91YmxlIFRpbWVJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgp
IGNvbnN0CiB7CiAgICAgZG91YmxlIGN1cnJlbnQgPSBjdXJyZW50VGltZU1TKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVGltZUlucHV0VHlwZS5oCmluZGV4IDNlNjhmYWQuLmY2YWVjMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVGltZUlucHV0VHlwZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KSA6IEJhc2VEYXRl
QW5kVGltZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0
cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisgICAgdmlydHVhbCBEYXRlQ29tcG9uZW50
czo6VHlwZSBkYXRlVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIGRlZmF1bHRWYWx1
ZUZvclN0ZXBVcCgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW0oKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGRvdWJsZSBtYXhpbXVtKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVr
SW5wdXRUeXBlLmNwcAppbmRleCBhNTgzNmRjLi45M2U0YzE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
V2Vla0lucHV0VHlwZS5jcHAKQEAgLTU0LDYgKzU0LDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYg
V2Vla0lucHV0VHlwZTo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRU
eXBlTmFtZXM6OndlZWsoKTsKIH0KIAorRGF0ZUNvbXBvbmVudHM6OlR5cGUgV2Vla0lucHV0VHlw
ZTo6ZGF0ZVR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBEYXRlQ29tcG9uZW50czo6V2VlazsK
K30KKwogZG91YmxlIFdlZWtJbnB1dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewogICAgIHJldHVy
biBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0
ZUNvbXBvbmVudHM6Om1pbmltdW1XZWVrKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9XZWVrSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUu
aAppbmRleCA0MzcxNjRiLi4wYWUyOTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1dlZWtJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUu
aApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFdlZWtJbnB1dFR5cGUo
SFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUoZWxl
bWVudCkgeyB9CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlw
ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgRGF0ZUNvbXBvbmVudHM6OlR5cGUgZGF0ZVR5cGUoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtKCkgY29uc3Q7CiAgICAgdmlydHVhbCBk
b3VibGUgbWF4aW11bSgpIGNvbnN0OwogICAgIHZpcnR1YWwgZG91YmxlIHN0ZXBCYXNlKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVDb21wb25lbnRzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcApzaW1pbGFyaXR5IGlu
ZGV4IDEwMCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5j
cHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuaApzaW1pbGFyaXR5IGluZGV4IDk5JQpy
ZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVDb21wb25lbnRzLmgKcmVuYW1lIHRv
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmgKaW5kZXggOWJjZTBjMy4u
ZmRiMjY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlQ29tcG9uZW50cy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmgKQEAgLTU4LDYg
KzU4LDE2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCisgICAgZW51bSBUeXBlIHsKKyAgICAg
ICAgSW52YWxpZCwKKyAgICAgICAgRGF0ZSwKKyAgICAgICAgRGF0ZVRpbWUsCisgICAgICAgIERh
dGVUaW1lTG9jYWwsCisgICAgICAgIE1vbnRoLAorICAgICAgICBUaW1lLAorICAgICAgICBXZWVr
LAorICAgIH07CisKICAgICBpbnQgbWlsbGlzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX21pbGxp
c2Vjb25kOyB9CiAgICAgaW50IHNlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vjb25kOyB9CiAg
ICAgaW50IG1pbnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWludXRlOyB9CkBAIC02Niw2ICs3Niw3
IEBAIHB1YmxpYzoKICAgICBpbnQgbW9udGgoKSBjb25zdCB7IHJldHVybiBtX21vbnRoOyB9CiAg
ICAgaW50IGZ1bGxZZWFyKCkgY29uc3QgeyByZXR1cm4gbV95ZWFyOyB9CiAgICAgaW50IHdlZWso
KSBjb25zdCB7IHJldHVybiBtX3dlZWs7IH0KKyAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVy
biBtX3R5cGU7IH0KIAogICAgIGVudW0gU2Vjb25kRm9ybWF0IHsKICAgICAgICAgTm9uZSwgLy8g
U3VwcHJlc3MgdGhlIHNlY29uZCBwYXJ0IGFuZCB0aGUgbWlsbGlzZWNvbmQgcGFydCBpZiB0aGV5
IGFyZSAwLgpAQCAtMTg0LDE1ICsxOTUsNiBAQCBwcml2YXRlOgogICAgIGludCBtX3llYXI7IC8v
ICAxNTgyIC0KICAgICBpbnQgbV93ZWVrOyAvLyAxIC0gNTMKIAotICAgIGVudW0gVHlwZSB7Ci0g
ICAgICAgIEludmFsaWQsCi0gICAgICAgIERhdGUsCi0gICAgICAgIERhdGVUaW1lLAotICAgICAg
ICBEYXRlVGltZUxvY2FsLAotICAgICAgICBNb250aCwKLSAgICAgICAgVGltZSwKLSAgICAgICAg
V2VlaywKLSAgICB9OwogICAgIFR5cGUgbV90eXBlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4yODNmNjVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Mb2NhbGl6ZWREYXRlLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTG9jYWxpemVkRGF0ZV9oCisj
ZGVmaW5lIExvY2FsaXplZERhdGVfaAorCisjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisv
LyBQYXJzZXMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBkYXRlIHN0cmluZyBsb2NhbGl6
ZWQKKy8vIGZvciB0aGUgYnJvd3NlcidzIGN1cnJlbnQgbG9jYWxlIGZvciBhIHBhcnRpY3VsYXIg
ZGF0ZSB0eXBlLgorLy8gSWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3QgdmFsaWQgb3IgYW4gaW1w
bGVtZW50YXRpb24gZG9lc24ndAorLy8gc3VwcG9ydCBsb2NhbGl6ZWQgZGF0ZXMsIHRoaXMgZnVu
Y3Rpb24gcmV0dXJucyBOYU4uIElmIHRoZQorLy8gaW5wdXQgc3RyaW5nIGlzIHZhbGlkIHRoaXMg
ZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyCisvLyBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3
MC0wMS0wMSAwMDowMDowMC4wMDAgVVRDLgorZG91YmxlIHBhcnNlTG9jYWxpemVkRGF0ZShjb25z
dCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50czo6VHlwZSk7CisKKy8vIFNlcmlhbGl6ZXMgdGhlIHNw
ZWNpZmllZCBkYXRlIGludG8gYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcKKy8vIHRvIGRpc3BsYXkg
dG8gdGhlIHVzZXIuIElmIGFuIGltcGxlbWVudGF0aW9uIGRvZXNuJ3Qgc3VwcG9ydAorLy8gbG9j
YWxpemVkIGRhdGVzIHRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IHN0cmluZy4K
K1N0cmluZyBmb3JtYXRMb2NhbGl6ZWREYXRlKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlQ29t
cG9uZW50cyk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIExvY2FsaXpl
ZERhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6
ZWREYXRlTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERh
dGVOb25lLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGNhMzM5MAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVk
RGF0ZU5vbmUuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9jYWxp
emVkRGF0ZS5oIgorCisjaW5jbHVkZSA8bGltaXRzPgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOwor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2RvdWJsZSBwYXJzZUxvY2FsaXplZERhdGUoY29uc3Qg
U3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpCit7CisgICAgcmV0dXJuIG51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworfQorCitTdHJpbmcgZm9ybWF0TG9jYWxpemVkRGF0
ZShjb25zdCBEYXRlQ29tcG9uZW50cyYpCit7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="84668"
          type_id="1"
          status="+"
          setter="tkent"
    />
    <flag name="commit-queue"
          id="84669"
          type_id="3"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91788</attachid>
            <date>2011-04-29 18:35:21 -0700</date>
            <delta_ts>2011-04-29 18:35:21 -0700</delta_ts>
            <desc>[DIFF] Between Version 3 and 4</desc>
            <filename>diff.patch</filename>
            <type>text/plain</type>
            <size>3449</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApp
bmRleCBmMWYzNGM2Li41Yzc3OTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xODQsNiArMTg0LDExIEBAIFN0cmluZyBCYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNlcmlhbGl6ZVdpdGhDb21wb25lbnRzKGNvbnN0IERhdGVD
b21wb25lbnRzJiBkCiAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoRGF0ZUNvbXBvbmVudHM6Ok1p
bGxpc2Vjb25kKTsKIH0KIAorU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6c2VyaWFs
aXplV2l0aE1pbGxpc2Vjb25kcyhkb3VibGUgdmFsdWUpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNl
cmlhbGl6ZSh2YWx1ZSk7Cit9CisKIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnZp
c2libGVWYWx1ZSgpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGN1cnJlbnRWYWx1ZSA9IGVsZW1lbnQo
KS0+dmFsdWUoKTsKQEAgLTIwNCwxMSArMjA5LDcgQEAgU3RyaW5nIEJhc2VEYXRlQW5kVGltZUlu
cHV0VHlwZTo6Y29udmVydEZyb21WaXNpYmxlVmFsdWUoY29uc3QgU3RyaW5nJiB2aXNpYmxlVmEK
ICAgICBpZiAoIWlzZmluaXRlKHBhcnNlZFZhbHVlKSkKICAgICAgICAgcmV0dXJuIHZpc2libGVW
YWx1ZTsKIAotICAgIERhdGVDb21wb25lbnRzIGRhdGU7Ci0gICAgaWYgKCFkYXRlLnNldE1pbGxp
c2Vjb25kc1NpbmNlRXBvY2hGb3JEYXRlVGltZShwYXJzZWRWYWx1ZSkpCi0gICAgICAgIHJldHVy
biB2aXNpYmxlVmFsdWU7Ci0KLSAgICByZXR1cm4gc2VyaWFsaXplV2l0aENvbXBvbmVudHMoZGF0
ZSk7CisgICAgcmV0dXJuIHNlcmlhbGl6ZVdpdGhNaWxsaXNlY29uZHMocGFyc2VkVmFsdWUpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAppbmRleCA4YjVlYjY5Li5lYzM3MjRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKQEAgLTQzLDYgKzQz
LDcgQEAgcHJvdGVjdGVkOgogICAgIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZShIVE1MSW5wdXRF
bGVtZW50KiBlbGVtZW50KSA6IFRleHRGaWVsZElucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2
aXJ0dWFsIGRvdWJsZSBwYXJzZVRvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIHBhcnNlVG9EYXRlQ29tcG9uZW50cyhjb25zdCBTdHJpbmcmLCBE
YXRlQ29tcG9uZW50cyopIGNvbnN0OworICAgIFN0cmluZyBzZXJpYWxpemVXaXRoQ29tcG9uZW50
cyhjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwg
Ym9vbCBwYXJzZVRvRGF0ZUNvbXBvbmVudHNJbnRlcm5hbChjb25zdCBVQ2hhciosIHVuc2lnbmVk
IGxlbmd0aCwgRGF0ZUNvbXBvbmVudHMqKSBjb25zdCA9IDA7CkBAIC02NCw3ICs2NSw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50
Kik7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2hlZWxFdmVudCopOwogICAg
IHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZShkb3VibGUpIGNvbnN0OwotICAgIHZpcnR1YWwgU3Ry
aW5nIHNlcmlhbGl6ZVdpdGhDb21wb25lbnRzKGNvbnN0IERhdGVDb21wb25lbnRzJikgY29uc3Q7
CisgICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplV2l0aE1pbGxpc2Vjb25kcyhkb3VibGUpIGNv
bnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHZpc2libGVWYWx1ZSgpIGNvbnN0OwogICAgIHZpcnR1
YWwgU3RyaW5nIGNvbnZlcnRGcm9tVmlzaWJsZVZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0Owog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKaW5kZXggNGU5MjExNC4uYTU2
YWFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAKQEAgLTgxLDYgKzgx
LDE0IEBAIHZvaWQgTW9udGhJbnB1dFR5cGU6OnNldFZhbHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0CiAgICAgZWxlbWVudCgpLT5zZXRWYWx1ZShkYXRlLnRvU3Ry
aW5nKCkpOwogfQogCitTdHJpbmcgTW9udGhJbnB1dFR5cGU6OnNlcmlhbGl6ZVdpdGhNaWxsaXNl
Y29uZHMoZG91YmxlIHZhbHVlKSBjb25zdAoreworICAgIERhdGVDb21wb25lbnRzIGRhdGU7Cisg
ICAgaWYgKCFkYXRlLnNldE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JNb250aCh2YWx1ZSkpCisg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICByZXR1cm4gc2VyaWFsaXplV2l0aENvbXBvbmVu
dHMoZGF0ZSk7Cit9CisKIGRvdWJsZSBNb250aElucHV0VHlwZTo6ZGVmYXVsdFZhbHVlRm9yU3Rl
cFVwKCkgY29uc3QKIHsKICAgICBkb3VibGUgY3VycmVudCA9IGN1cnJlbnRUaW1lTVMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuaAppbmRleCA2NTFkZjQ5Li5lM2FkZDhmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCkBAIC00NSw2ICs0NSw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBEYXRlQ29tcG9uZW50czo6VHlwZSBkYXRlVHlwZSgpIGNvbnN0OwogICAg
IHZpcnR1YWwgZG91YmxlIHZhbHVlQXNEYXRlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNl
dFZhbHVlQXNEYXRlKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZpcnR1YWwg
U3RyaW5nIHNlcmlhbGl6ZVdpdGhNaWxsaXNlY29uZHMoZG91YmxlKSBjb25zdDsKICAgICB2aXJ0
dWFsIGRvdWJsZSBwYXJzZVRvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgY29uc3Q7CiAg
ICAgdmlydHVhbCBkb3VibGUgZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCkgY29uc3Q7CiAgICAgdmly
dHVhbCBkb3VibGUgbWluaW11bSgpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92618</attachid>
            <date>2011-05-06 12:03:16 -0700</date>
            <delta_ts>2011-05-06 12:03:16 -0700</delta_ts>
            <desc>[UNREVIEWED] Pixel Test Result</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>18377</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5ODVmODEzLi5lODE4NTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOSBAQAorMjAxMS0wNS0w
NiAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2
aWV3ZWQuIEFkZCBwaXhlbCByZXN1bHRzIGZvciBtYWMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5ncy1leHBlY3RlZC5wbmc6IEFk
ZGVkLgorCiAyMDExLTA1LTA1ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4gU2tpcCBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLXNo
YWRvdy1kb20tYWNjZXNzLmh0bWwgKGNyYXNoZXMgaW4gZGVidWcpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9kYXRlLWlucHV0LXZpc2libGUtc3RyaW5n
cy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9kYXRl
LWlucHV0LXZpc2libGUtc3RyaW5ncy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4NTI4Y2Yy
N2MzNDkyYWI0NDQ4NmZkNjNmMmIzNjMxMGIxOThiZQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MjQxNzUKemNtZUh2Y3tyNWN8Rjxudmt8a1NaaUk4THFTO0NNdGRyOV5zaVkoRCY+PHJSa0RAeWlk
UkY7STE/Q1lxO2t9TShuCnpHVEYmOFM7c09uby1AP3ZgfXpLXiYrbURqPnZ1aXRiQGYrcSZEezY3
JndiQU97bzBPakx3KEk3aG1JZDJCT15PPAp6U3hmQ0k4NXQhSDg1eEJzRWo5UX12ZSo1KTsyJEJG
eCslPjVfQVByQzU2P1NmR1VEZ3UjQVQpSVpwaHd7dmNGK30KenspWEtSZHZXTy09akNvbE80Xjs1
bVI3OV9fekFBQzxmTik8Y3YpNEkkTUJ4SmdPbHFtR0JPfFhodTFuPm17cER1CnpGU3pBPzwpdC11
cD9+aWEhK1k1KkAzIzg0M2p7X3g3ckcodEdXRDM3bDl6a2tGM2N8cGx4QnJaaig0Nk5SYlBCYgp6
dm00Q2lfdyVOaF9Dc15eR295S0Q+fFV+b0VWc0dvbVN6MkBaLT1qciUzdVRDeSlhfSk/c1pBNjJV
QVRSWH1iRH4KeihhQU83a34yUHg/Q0duNkRwTEgkTGtzJCtzWn5OZncpfClNe2Y+ck1UPnM/MTxO
ZTtkQWkxazduZFNqT2BNWU5GCnp6fWFfTEhzflFVQ1c8ZngldUFzcjclZ1VeZWBPKEJQVCR3KEwr
TWRyTVlJYGpmVT5rbWR5cm0qUTUlMV5hO1RRPAp6aSpASyNyUFJMMjdrISpHUEhxbTMlP3p+JEcx
PTl2T0w9eExRfXM5S1ZgfGdaO1FHYSpOKl87c0pqX3U1KFdyUW0Keno4PSpCOE5WQD5JZ05nI2Mj
PlV1WlBTKmV7Q011Ql52N2QxNDA/akV1MGFQeGsxUXU1M0Q7TSZAODZBKVpNa19QCnoqdXp9UXBp
a0ZyditEN0lLIUhCeSFnMjVHU0hecyFuSEAqSmpiUE9XREdKNXVJcThubUJfR2k7V0tnSE5rQChJ
fgp6YEh7a0wzOTB3QEFiZmUkQ3UwNTJkIUJaI2hTe2tWc3JYK1FSeEgxZ0lpZiYzIXdZPyhUMXh2
SXVSPVVxX31PNX0KemNrN0dneVotQ0E3WD5ORlJWJnt3SGNUWnw5X1Etb1psM1ZhdmtyKis8YHJ3
QThLM1gjU0NoUE85SXt9TkFUZlBrCnpJdlZacVpmOUE8Q2F5ST5EQyRfbGd6QFNSb2Q9JWc1OzdR
c1l0VGktYW5UT1oocTR+KEBKTn5LREc4MVFYUlYjMwp6dz43Y1QjIzt1fj4mdGtASG5qYj9rYzVD
JiNMVEppZ2EqOyY9bHdjKWhzU08yR3x7SFRKcmU0PV5LQVFja0Y5TlQKeiZBT05zI0tOYW1CWnpN
TyRfdEx4dTUwMUFwcFIjN05+S2xPeUtoR2lIUjBKTmFTPTAhR1piUjMtPHktRj9pZkxfCnozQD5r
R3hwXlFkKmlmQjtLZy0tKVVjK1ZhUkhoMWZ0T1p4NDVqLXtJQyVxb35hbUAtUGNFYHVKJHo2U1g0
aVFeNQp6Kko1fEkpb0A3bD5lVzh9ekZSdTEjWXg2P2I2KSpQLUpFVkdVJj52PXA+d292I2NtZmFH
cmw5ZHlTbFpOZXt9JF4KemY0bnkmVmNXZ0ZoTS0+VzZCJGxNI3pTXmxQMzQqb2BRcGdJaWQpQGpr
ZnBlQCRERlJ3b3RpRShaKyp5TUw/PTt4CnolN09Rd2Z4PEkyNCEpeiQrMChDVShUYyQydzs0c0d4
KV9admBEakg3VyU2ZSNhLUo9YjNwK0peOSlJUitkciorYwp6T3pMaiN7SX1ZMlFPfnt0YjFYYzRC
RTEtPTxlMFhPd0NFISkpYjxXP0o0QEBsWFcmcnxDTF5ieXE2UG80V3Y5fE8KenFSSjhSd19nUC12
b2F7LWRIP24pYWFSaDg9NjY/dyErdzdZZTRRTVB7bzc5enA5Rlk8PX13ZzFDdGRUYCNsYzFCCnp8
TWU1a2Y5KWNQX0J7NndHN0RzRyVeKUNjYXg8eHZpX1JDcCgzS2NNeWhuV25ZcXgqbyVgRnNuNVM1
aVc5ezspKgp6cFFkZCsrNTI4fG0ja2F5VyYoa21wU1pjP0ZvUUN1bHhAcGNILW1QdXlJRD0jSz49
bVIqRFp7c3BAeF9ycHIrI3kKekYwOHB7OT1QN3EtQ3R6eUI3TjFKZzZmZig/YUpoNU1GVChsZFNR
QFdwU0F5O3MtR1ZaY04tWmYjK2VzZi1+UmVvCno9fCNNJFUzZHckWllPKU85SGFEdk9WS1k4UldR
Q2swVTtjVz9CYzwjJjVzOFh6JHs3WGQ+YD9+PT1FODg9djhmdwp6TXxOTSk8YyNZendTT1l6e08h
JUxkMkhvT2ByMyQqTDBpYnBDUWszeGRCPE1kJiZzYCo2SXtRO0VLVy14WjI4S04KelErenRqRiFD
Tip2KGZAPEtKXz9MeTNiUDVXLWc0MyR3WG9OP0JhdF5kaEctb3hOaWpFK147Vi12I3tTSV5QUEFp
CnooXmNHfEcqczsxVWJwNG94QUl4Zy16X3B1NDI4ZF48VEJ2JG17Xyh4MngqNWFaT157JENlJkRD
PWlFb1c8cj1Mawp6VnZqYW9wZzJKRkR6OWgwNVM0RTJ6Z1F+ZUhlNFpmdEt8aGdRT2ZCbWt0NEwl
IzFkKmJEITM2ejVjeiQ+VzkoUFMKeiFye0ZgdUVselRqKT1mNmZmVSMwKTs/bm9eJXE1SipTYm5a
e3BQYm1rMUVPRHNhYERXUEpMMXtgem8/KWQlaDZDCnozTypCJUB6dkw4SDR9QWJXWEJWTjB5RW1S
eGpmT2BzbVl6ejN2UnlsUnJSUStkd1lqRmltKU5vYmtidW9XK25ZZQp6O0MwPHBTJjQkO2NLSXpq
N3JIdnNWJWQ8cXw0QXNDdjlpIzJPfnhKYVJBSHNMLU9HVE1BK2VIekB4MHluc0xpZDcKekFAYGlp
SURLc30wMUxtI1hQVWA8TXFNXyReM3JWPXV7RkxzdHBvdzN3RVkkQjFFRWtvIzUwMmtmPTV2OXFf
fFpICnppR1QtfnQ2NlJUZjtyVkw1MSUtSihKQ0xsciZJT2daQz07ZXkhX3spbTZPbGdhZ3B6c3U7
Rj5FZmVCeiVONkhEPwp6bi1rRm5JUzlDNCl4IUhQUzA2bFBIYyUrNDcxfEEkaVppKlklVTEpSWZr
ODNjUHBvZGNyIVg2V0EzSGt0QmQ8YE8Kek10VmY5ajxEJE4/V0gmb0NBbmhPXlRzfTRfc05DOUdt
R3kmKFdmbkBHd19JZTkybSFwMkNUTHZlQTBYbjZFM0spCno+dDRIbFU0Q21hSHU8WkJ3NFQhP0Vo
K3tSaD1iZTNQMXhRQnt8UF92PSRKQ0ErMEFHQW00YCkyNEU+ZldYSUFFQwp6PV4yWTE4bWRnYTI1
dSQ1UkAtRHxXfGszJj9jVjlXKHtuWFRAR2VaKjVARTFvZkBmbD44bW4qTlIoWj8xYmlge1kKej4q
Nyt5PnNxOzhoM348WFR9NGU/RFhiUSpNTllqMipvTChxSj5JKnRtTzNKKCo5S3dUZE9MMF8keiZs
KFhCZiEmCno5Nm0tTXBEJHk3Oz1EKVYrNyh2d1Bpa043bzxDYj1Ab1NlbjZBe2xPPnEyJllJdG9j
R1dMLWUqNWBCIz13YFBfNAp6cWkyZlQ5TF9PJSpeeE9iKm9CfHFafHNsVilHdGMpVSNmSHBJbCFz
fnsmaj5hXjZpRWZ6cypVI3IhOX5GYDNiWEgKekh0V1Z9Vm17c3lgSChEUmozcTNYKFRheUo3O1BO
bVAyNzt3KkZzfGAkWnpAI3NYRmJLeSl6VzU+NXAqV0RSbGY3CnppWnMpc2dMO2ZqN1J8aE5HQlJj
d1JnZzdmazR+KCNVS3B3N19XMiY3SUl8dFNWeUJWMWdHRThveWF0X284JmxhYwp6eEkpSW0xPUY+
M0xAUklsTyghe0smelo5enN2QjQ+VkU0NWJzJnwmRWI4Mnk7N1gheCorc3VreWZKODN+VCE5YUoK
eipJeD4qfDlNRVFKfWlUQXFLWUBIQnc/MFNEN1p1I2V8b1FDQD4kcXdrKUwpV0U5PSgzbkJ+emZD
d1Frfj5gfmZyCnp4M1UzO0lqflclSFNxMVo5RWBWMlJeb2luaFhaVTIwUypkZztRZyZXVlZ1WiM5
ciZGd15zMFVFazklSzQ1PCllagp6XnFnIXlnbmdJO24/PCtrYH5BY0I/cnlGbXBjTDk+Tn5eNktJ
Q15OZ0UhPUI4PC14d244NCRFYSpIWVVoY2hFfCgKemZ8X1Q7TCF0RWBgcFJwfkVZK2lPUVZuWHlt
U3VQd1ojUjZWRjtSWW0odER3YFNKQHF8ZnF+dXhuXjkrWm1ZKH57CnpQdl5YWF8oRytjd0pzZXdE
TkFTcmlfb1JkSjclbV91K0MlQSk7Z2AlSlY2bzRFK2B2M2leKl5lSiN3TUJkYS1JQQp6RGE1dE5w
Uz43bVJ1KnBxLT5OejVRMXpvIXR2dGB2P19zb1E1VTVmIUF2MjZIUHxEfn5fNHc1ZUx9KzdUV248
PGkKemBpdGlSaUt+YlghUTwxKEYzNW9NeW5rQ3FLWjdYR0lERWdUdzJOUWUlNzhlZU1GPXg1Wj8+
NCFKJV5tQ1FWVz41CnppMX09eUlEWTZlczZkR3VnRCE+YklaYjdyZU81QjRye3UjRCR+Q29YPHBz
M3s3PSMyWFV2fD9JcV4pNDstQW5SSQp6NiUqU189VCFeczg8Qn13Y34qcj4kWGxIPTNkcDVeamJj
UkYlWj9JQmF0aUohV21yKUpOJjxRYGhWfj9zX1l8P00KelFJRURNaVgpY2hSZz0+NHlXYnRqPGh5
RUhNS35QVyYoZ2l2eGNqfjdEZCl2bWI5N3BtT343KTRnMy00T2oxLSNGCnpVTHpJc0I/WFpvKnEz
fFhDRGhkMWBOVGdgMl5nZk9FYGdPKXZmT3hMIytAfU4rbTBlXjkkNzdsUzxVaDl0PzZmRgp6SGJs
ITdDVVNeNXBkPFp7Y3QkZ0YrfmBeTCt9bTVxSnJ0QHg/bn1wKiFtYj1neEBtVn10NEIobUdxQVRu
XkRORioKemVofCklVkttX2ZySzMwQz5kbWFVPm4kVGk8RVBQLU0tXmZ5YiV0bDlIa2ckaCtQcFJq
NHVVN2hwYnRyNlF2USkpCnpxeXJYK2t1OWhuYFYjNUZgdG9ZdSEqVlA1MD9fam5JSyR6U1F1LVFi
STlOaVlvNyt3dnFMVUElYCljR2UrNTEoNwp6ND5WcWV1KU8wRSU+bnEkPHQrKHxZdWZ6I0x3cmE8
TmdjITkhSEMwKVNMOzRSYWxYfmZoXmZ5anRWPHF1a0FBcGMKemlXM1BgKUYmUyg/SEhScSopSko7
dTttUURaQyVVTmxAfFdyUD1tK3RXaVoqKjg/Vz11fEFJQjN1VjFDMCY9VF5VCnpWKV9lQHlmTChg
U0Q5ck4mfjJ2dEkrTjxyZSNyTSk1P0tmbjEtNTJZS08kcm5eZW5JTkB3bShUPSVyT0hncSpWMwp6
K0AmQ0g5UW87IXJ+UVd7UXhrNXo7UURqQzQzZjVyI0xiRH49Skl1RSgpQHMxP0tTJisoMy1jOXBY
ezVTcmFrS0AKejYkMWwjYldZck5XaW5rKmFsQTN+LXZHb29RNEphdCF5aitUeUk3NV9iSnwlZj9+
b0JWZEdFdk17c3lDTWdeX05xCnp5R3dsdFQpdiklWUJVZngwJkExKiVad0RPbGpaZE1jRSN6NWJn
JE5IalZJYmcjQn4zcSVOV0o9WnpyfDloTWBTMAp6YTBZSEN3KkErVDVnZT5DZCpDYX08PjMwTCEp
b1JFME9PcUp5d2BsbjMwJGV3TTRtU3xpYzMtNkNNKWdrU0N6U3kKekZKaik1cEV6Plg+RyFAWG89
PjRsJipOVVJ0bF9zWTtPR3dAa2lpNTxEdU8xWFNsLVlBZlFCNVJiZkh1PVh2bEFvCnorWSFQWXhZ
anVidz1UcjNtQW4xO21NZldzLTIlPC04RUUoZz5GU3k/Jmw5WnVhJWFqdUFPcGEyYzdyNyp7ezRl
Vgp6KEJjS3RGRzVEeW5VQV5yJlp2N1EqNjlRXkA8bDU9QU5TN2FUVCVIfCtCYWhePDlgXjlaVG1Y
X0lmZT5keyRHUFgKelBCUGZRSUBPJkI+d059PyNjSio8OFAzK15gdEcmOERnPyRHNlgqbjE+Zkck
PlhubUskU30mekRPUVQkV0xteXE8Cno3TU1PfSgwUytjaX1qVTA5U19DMjE0eio+cyhCS3N3JmNQ
XlhkOCtLazgoYmNGbUdlUHl9UX04WVR1ZUQ7cTtrNQp6VldIK31GZXtCTj0kaCpDMy0zTzQyYFZq
eiEkOUJoUkZXKVBlRSZ0WGEoRFooVkE/a2A0RFJ5RCtZTCNoNF9WRjYKekt0Mn13WjtjJWROPGBy
ZjNafSs8MzZzWn1aQFpMI0ZsfUBzUDRLe1dxVyNtJGQ3ISpYNigzVjF0YVM/dyg+dTRUCnpKeXRE
b0B9RGIyZzNhWEQ8VnhEI2IhP1YqUmR4I0NPd0dVRzVKIWxBUzhaJlVUbEhjKkMzZVcmej0+a3tu
LXRnegp6KH5IZ2ZKMXZDcSt9QmowMSNjKCVqfjBic1pBPE9vcl5KSGhZS1glI05gM05FRk57e15y
eCgwa0R5UU9JcShlQGwKemg9WUF+ejRHNyFAO2smaWdDSipWJEx8eTBac3V7Xjk1bXhMKmREc2pf
Uzh4JklXKVJnRU5KVVhPfTUtU19yMnlnCnpJT3JeR1ZyMVUtO2ZfbWdSeV9GOVJMKCV9eXQ7Ujd5
Q1FEKkkmKzVLVnNDXz5UUz0hejBTU2dBRlhyWEgqVXA9Sgp6dDwrWTk0Y2dyKWFFR3NeXyp5WSpu
WVJyTHdRbVRSUEdVWHIlVDQ3VW8mOXQ/clpQK1c/SVBFUTFGKkhZeSo2eyoKekJOKmYxazg0QGxf
QUl3cGtjXyN0PE1DPX5hakcwZXhaP3RGJj5mVmtIMkU5UFVOZ3QzelJxOytvJktpeCNgKX43CnpS
eld7UXhsN2Ake3BONlpJUEIxSj1Bbj95NnlfbFJLXl4/NGJnXkEyM0JaKmw9ZVpYTUVSPlpFeG1F
WCRNfmFPTwp6K0RESjkmaFBCdmgmNzVFXkYrbHZMNX5vPmFXVnNZN2ZYeWZ0NjMmPD9zemBscWVD
JmxNJDxiaVFDaGdTZnlvZ0UKemFRWll9Znltc3cpaF5rZ2trJlQ+PUJ+SGFYMjx0YSFjeUpOUXBy
QGojazZ0VDJkJTEhcnh5b1BSeSEhXldxQ0xPCnpndnBpakt7eWNCdGFTXm0xOTkkYGpHWnMoP0wj
cllqYD1yMXZncjIhWiVeYVkqfEpQWXo0UDBIJE1fbS1ra19kMQp6JXZ1VHRwTjsqMnQwQT97WlVG
ZXdKTHNCPkExITRhKU48LWojNFkzfVROOX01MlolOGgrdWhjJFk5fGd8XldQZmkKemZYNkZzZUt3
ZCo9dUJfPmFBUyM9UyRJM29XcnVKU2cxPWpyJTtLM0dNQkV6NkJiQCVxNyQkdE9iNnU9VHlBa3lY
CnpnWWgoeFV1YFgzVlJgbH5idWV1NGNlQSo4bT0yKHp5a2omYENOX2JkZ0YoQjUpd2k8VzdrXl93
PSs2QCkmJkxeYwp6aFI7WWVhLXpLPnZNVFJDVj5QdTZhaVh0WmVXWmRIWTs9fH5AJDRGViV1UChN
ZU8pfk9LdnwrYmdzX0hsb3YtR2wKelVrQyE1NVk/MTxAeF4rZSFIKHcoP3FXUWVpSDZZbTxYbHl1
eD04X0tjZEtKQDxYKyE8U31EWiN4MTI3QWxzb2FzCnohWTkmfSoqWmw7PlJkMmM/JHQrYjQmVnIm
VGotbTZrOWM8OU8wYkhEPDByVmlGU3dKeW5WWEEqWkFJbXc9a3U2Pgp6bWs3WiZqYDxQe2R9ailp
V2V+TDhPO35VO1lOS0VqQUlHUnQjbXEqbXdgMVVxc00xWGZwNVNsenBfZmFmKWdZY24KeitiWiEq
WWBmbitJIWtlKnBSYzB7MXRgU15LNTtgdXJRPURjclNHUkJHTHVQbnM9T2dUPm5aKSkqU1YofXFH
V05ICnpwZGs2aGxKMW8jSVNGTSYzVXhZKVh6ME5YZzttfHtqZElpbzBxUHMydjdAY0JhS2h4KyM7
OEJgOCpERHcwcC1JdQp6cTR4QDNmdnE9Oy18Iyo7VFB1T2d0VlE+UFpXNXRjYktKWWorXmU8cCNH
ajhMbFdvdXBaV3tZVkNed1k8M3tubGYKem5PWUk/NntyMnRjMkdwQTApXiF1RVR5PHpvenNNRFUp
ZGdLTG5YcXV5QWpoXnJqU0opbzkoT2dvRHl6UmVCNGBGCno1bTFSeHZzYm1lIXxGZlpHYkUtZlEk
XjdwWEtiITZZKllfc1FPP2VCUH43WCM+fURqMjEqTG9rMEpUczwob2ZtPgp6NSRrYX17Q2J9YTJB
KlZSeE1FdSs8VD82djs8RHVkKTRMeEk8UDNDMFVEU2Z3cWgpN3JiTmlxKHpPaVF2TXlZKU0Kenoo
KmY1V0ZsX1luOVZONU50d2JZOD9nMW9DVmhIISY/PEkzJUsxVGJMSFZkV3J7QzwkP2dlSkNhY2ZH
NkhwZDV2CnpBST9GOGtBPCQ7QDZ0a3dZUGUlSigqZm5TVHBDO2hGZiU2X3pWPj57IWB7JHUkTSlS
ZF94Nmp9UmBOYCZjZEIpRAp6Z1lDK2sqIztyWGhqVTgoWXE7P0YmYkc2Y3RZUTMtMUwxWnRleXpj
Kjc/SHQoaSgyZDNgS0VuUV9MbjhkPi1BKHQKenEoKCZqeThSMitKckFtcGg1d1hyVVY4KFpKQHEm
e1FRO0koQk5mYG51ezlZZyU7UU49ZEx1JWJrayh8MSpOO3w4CnpVKzN2NlJESUc2Jl9DSlMqejxW
ZiNkfD1yKWd2ZyFhbUREMEBXaUNJSkIqSUs2VHVmOUVVTiRAVHkxSlAoc0g1Uwp6SFdWTXdYWFVN
ajApPEZFbndDPzcmKiZ0TnJxJiFXLS1sfkwmZHYhRGgtRmMtK3hhWXJOY0hOIUBmZ3BzPj9mfUMK
elpGZEg7PnBMb2FVa2lwdjk8N0w4PldJdSRuYHFJJUBMd3tGc3QlKlhvNyZ8ITFBeUZAdl5DPzYr
T2N3TXk8N3VQCnolQmpeWTlOOHw4IWZENzwoe2REezxEUDlXZyRVNFpAOy1veGpkN1NEP0tKWTkk
YyRGX2NsKVBuJlBIQXwpaWlhRAp6PUp4SC16c3w2a3FITmgyblVgdW1lTFU3TktHRz5gIWRub0Bx
Iy1gJS0qRUtnSzR1ZkFJRkwtKTAjQiRid3ZgP1UKejk7WXBsI3NzWEVDUUdueGJ5e0FUNFFTKn51
PFVaYXVhI0dNMC1CZmZ3IUcmZ25SbDdBNn5lcllKUDAxLSE3JD5DCnopVFZRYGFMaUZNQVp8ODZy
ciMkNjBkTS07P2ZETmgrelo3YHlSe14wTEwrX25kYUdSei1FLV9XVmU5Z1FZMzBoRQp6bGZ4ek88
dyU8bmxpQ0BfTGJHPylLbV9XWVBIYFZ+ekpFISR0algxQ2s+QkMpO3BvSiV4ME99VDVLVk1TTU47
PFgKeiUtZDd+OzlUcEBBQzJjRjVuSC0+MkxsVFA/b09eUkJjQHhfaDRDcFduMWJtRHdOYiZ8aElA
O3BlYldPfjw2RnYkCnp5QCo/cXh5cEghZ0RsK0xCcWdjWFNNcl9HWnEmZlghN3NRdlQmLW5hOys0
RkUlLXg5d2d+O1V7N0wtQW9haCF0Nwp6XzEwOURYYXMmemE0fndsXyk+XjltPlFHYjZ8OCNlZVV7
P2MyMjh4ZXQ0OWl5bU5qbVQ3ZlEjbTFgQjtlOE4qWCkKelhQTmd2RFdsbFdteiQzV1E/Si05Nztz
S3VxNlZRPmM5dElqZzZ5dytGVyEka2F0b0VubT9MLUY7TEMtUF9rKXlPCnprNX1YKmNOQ1g3UXor
K0VxUWhzMk59WCFaKG87WUJhTCVnIUQwVD9yZ3k8dnIzO2Fyc0A4VXRsY2YrdDtIK15YcAp6Rnlq
YzVoK01LPDZtPzhIbEZwRHc5d0p+a2lTJTYqelA7P3UxODxzZXckVmo/UmRsZy1qWFplOUY3O1kj
NngjQDgKemJ2MXZ4YSpAfEI9PkFCPlI/QStRZGZVM1FPXkVBTGsoemhaMmJrMEdyYFJxVjRyc205
SH51UUVCUVJ4ZDhjVkQ8CnpOQiU4WE5UZz1yRWtFKkhmSFdBe15PZi1AIWp8OT9XOW1fbzV3WDBU
NFB0T2RLM1AoIWx6V0crJG18IX1ERjRtQgp6akJLOzFWeEV+OVY8Tn54JSo7cD5yaFRHPDdYfSMy
LTBOUXEjPjMrKUFlMC0kenJTSylgPDQ3PWFKbzVQYEoqfXgKeno/bUtAVGxSI2hPaUxWOCNUXmxN
akJMckorRlB9NncxQyppRyRBKVclSUpgZ0o2bkZxX34wP3QrWEMpZCVqSGQlCnplbFpDKzF0dDlA
MW1TSkkjeSRrdFY+VTBDKnQtSWl3RkF4bU1vQFVmVEBLVW82bnBKI1pUI3ojNG5wTVFIeytjfQp6
WlF9UEM1czRBeGktPj5jU3AlfUBCPjV+KjNURT1IajQ8aW8oS05vTmQ1Pk99VT8yY1ZIMnFkeHY2
JU0kNWF7JU8Kek51cEVMXmhmKWk5SDdDS0V+KkZERlAhXyRXanQ3VnA2cCV6bnl8UG5uVklpWSte
V0BNS3ZPTTVvPH1oQWh9VGZXCnozTDVDdz5pZU9lJj1sNWc0OHExOXZTc0lfYDwtbmRncFUoPmJq
fXMyNEZjNU00SFB6bnlSS3t2PUs4K00wKkQ3Swp6OWxOcl88ZmpFNEskRFhBZSolMXc/U2labnVt
YTM/PyM9NmArQWpHOzhwb3hidVNLbG1oQ0t8bm12VkVhbUVRd3cKekdyY1ozQDRzb2UmdCQkNjR6
ZlFXNjdlLURXRmFAMCFyYVZFdGJLM0VQc1hUcjBXNmJMMnZafkRRMXBZPFg8cj02CnoyPEA2bXV2
d3loXnl3UXsjSGxAY3NRVHxwPTxwdlpeRGlPd3t9KEY1O2M3THN2dldENFEyOVg9SX54OyhAMil8
Vwp6X3RuOFc8czxqTDJrdEJpPkc3bHxQbEw1elE7WVNsNzEmbj1HLTh4SnZmcDh7PFk/ViVTNllP
LTdnaUhjX15qMSEKejU1JGg7ezBrJWYmeEkrKW07ISpPa3YmdztAIUt2b0pMZEMxPERGbUYkJD0x
WmRzMEs5amJhTk5Wd0BaVTczU1FCCnpxJUx+Wi1sa1ZGTSokTUZubWs9IXhCZ0hwO0g4VThVWFBg
b1EkZ01La0FrZHReUzM+emFSPipDTGJqMjBkOWEpPAp6Xm4hbnNTX3VFQj85QDA+PklSNkNRKDU4
cm1hXyVmKGM0bjxiLU0mP2RFSGk8YD9STVhrQ1V7Y2BeQkxZK2g/ZjAKejx0QT4tcH1hWWZ3eiR8
e3lHVzU8azUhPW00NEsyWHJZemRYO1ErMSpTSV9zMnhEfENNJDFpcS1TQ3VEVmgjVGJ2CnowR081
JC11Rjt0MFEhO15YUVN5NFUkRSE/YT1wbXpvIyRkZXFNLTMlRyR3VShzTX5yUmhmSEcwVGtrMV5t
LWJpJgp6eD03ekJDbj53N3RVIXRDPD8+JWh4NTRiOWE1SVpWSGFNKSlqXnI8OGwxayVJZUdEQEEt
MX16VUcrR3dOREZsI1QKekAkeXh3PXpPeXgoUmtWRnBrRTN5JCF9QDx8QnRvNm5iQF4+a2F5TWtQ
X3QoX2NJa3RIYG1FKyFCfEJQNylVSjlzCnpeWmlYQHtGaGRaMVRWWn5tJCkteTQ2UHB1ZTg9NWtL
aGtQQ3sjfll1emt4NWw7KS0zPSNXM3RLOWdoUWlCSmIpYwp6eD0ja3I5MH1idGkwWmtHe0UtUXla
b0h6dXJndCZXTkY+c0xyaSZmdV47U1JHenF7UnNmPTZIV0p+T3xRekE9OVcKejs7PEZZUHJ2Pjhn
Yy1+eDVAe1g7YmtDdmNEZGE4MitlKylYMjNjKHZoUiNXd1QjJW0tZHUzckIme3dCfUBqQjdgCno5
PXA+NEVWN2NOc2A+ME1xU2ZhSjAwJTkoal42IXI8bDshTFVIeDRUbWVZTng7IXJgVihIc0VGSCpw
TilyPnBGMAp6U0laSTA/amw1MVN7XktPfEluVklSV0Q4PUNnO0l8Q0BOezxAfUp6PUdfbXNSTiQy
aVhJeHx9ZGpTKGkxQUJBRSkKeishNzYhazhNWEtAcFZsaTt8eV5KWW1rJVhXdTdofU5jfjFMQlRW
SkhneT5rM1dCTyYlMDxESUtNdDl6fTVlZl5PCnppMS1NMk5te2F+UnJkbSRtfGV9fjd1K35iX0xl
VDxRXzVQSSM8LUclM09AITYxU3YoQmZEckJMYGFXPDJXPk88Wgp6emN5aTt1ZWlqQXEtdXhAVkBG
NT10fiNUKzwxcyExeFhII20pP1dqKWxhKmpDUG5ndyZYeHJlJip9NiMtJXR3ZGIKeiluPmFaO29m
VypSRzUzS1NAVVhDV0Qmej0xe0pUWitTZjRVKExpYkIrJiV1XzBLO2FiJDl2dGNePThQYTEyR2xr
Cnp7clZSZFV5U1NlcV5gUyhMOCp5QWVSb0ljTn1UWihBOSozfktEJkd4TnBZXj9gfjdaTHIkKX1x
M0pKVER1IyUkKwp6YzgxUCRoSWJrPkNjaVYlRyVwSVhPVn1JSENEO0FDXyU4NkRpdG5Majw3N2hB
YjReND54U2NPVlV8Qkk1bUBVSmwKemJITWdBOzA4fiVJQDZmM3coLUhWPE84VTNOdDlYYHRaYzFV
PGNHPWI7KU5aS1clLXVLM30leT91VHFSMylYWndMCno3QmVeU3RTNkYtKUxFMlJjKnAhJEh8dTNn
V0RLRkBWTn13MSFXQm9hSVFqS2h0Uk5aX0NmUDJfaFh9WlA7SEhNdQp6Qkl3VG0oNnJGdlpGYUxi
JmlWZ1ZfbT4lPUpTUi1KMmFRXitOeTxLYjdeWmAxTGNxQDk/VUg3eVN2MktSQjZQMHQKemduS0pE
eDZHTCMrdDRFYHQ1KTc0KHU1eC1zMj5YQiZnIWtyJDdxQHZ1VTB7WCkwPSNybiFYd2BJIz5IcUdh
bXdrCnojQlRiRjNvI0hyPiFTfGcrcT9Kfk5KcTU+TC0+K1dfWCU3bCFCLTtndyZsUVZ3SGo+JWxu
b2xwdHJOdmszRCZlYwp6YzxXMnZzUUQ8bGE5cTwmTnkxI0lNTnNfbT0mUz9WRFh7NnpjVWtqKE1V
JmUraCp7IVNtfXUkSTdBfDtrVmJvYDAKek5pVXQqJEEkdUdFUVktSUd8NUZiLUFwdCk/a1YjVFhx
QD17JWRVU3hNOVUxaGowTnd4aS0pZ3dBMzVfPiojZVhfCnpuPi1IdFhXVlRwNThFOXI/fHRTazVD
fCh0dTRYSngmaC1QOF9eeld4X2orIzYkKTdWZzhKZjw1PjlePk5HRWM3YAp6dENQX3xjemU7ak82
Tn1KX1dOYUEwWTUofGBRdEhQU09BZVRFVmdZcGNmRX5nT1RUdjkpODdnQ3Y/TXQrckhDd3UKejtk
ZDZHUn0zKGJqa2hAYmc3bzJEQWwoZlAwLXcpOSYrdkFgTXEpdTtFIXk/UTdeOUA2dzI5MmhZVF5n
TWMhd3pVCnpKaGB4cmpAUTxENzAhWHZrX2FkMW14Vm80UGl2SGotSWtUTjl8bFJ6UmAqeXdZdS1V
dW5JWnZkUT9Ne207Qz0pNgp6bzJ2bEpaRTJKMGFlSCQlWW84a3orXkt0SzVFMiVxeyMmRUN4YGdA
VGxGcmhob2pEVE5MZ1hTMl5qd2p6RjBBPn0KekUjfnVya2dkejwyWlM5dUJUKnU0WURhdmpEfHwr
eD9sP0RLNWREUCZfWTh0QntGbTB3cn08clYqPzlZbG1QQT1iCnpRcCpLei15aU8lcjh9UytHX2N0
JFNlbmdfWm0yK19JaVNnKjh6cnZZQjYqNURnaXo2bSg5TjM3cik/IUFzPmhpYgp6Xl5UZEdjbSlx
RXlpa0kmcG5EbihXbUR4JFZNMGluZXdxRipVWERFXm9jfnB7WmRJfT5RUWFIcWx+Q01IWjl2LV4K
enRqdjdvcyQ+SWY9OCFwezEoQFpFTEFGPzdTVnVEM2tSMyQ/eUM5Mz9nZ1VOJSR0XyZjRnlIRXpZ
SlVTTGFxS1o2CnpidFcqNmheRCplSXl2cGR0JiQmMlJJaXo2b0RASWU4N19MMmxKaElCUiZMQyY8
QGdgK3V9NjNRa2RPWnA8aWtgRwp6UCZ8R0hzey1wRiF1bEY7RTM9PnpqYWs0Z25RWTN1OUp8dU5V
USN6NkZ8bmRsV1Y3SkQmdkI/VXZnPjBnd0FQQTgKemZyUXptdzZoUjxWYz0lJCtRLTlVRmxYPCV0
YzJ8S1VKRWYhUD5oXzA/diRyWnlIMlhKUy10NEIyX2xwTEMxUXMxCnpWUzdybEFtUHNaWHlNS2x1
JG1HWXFxen1KS2BOdktTZngzQHA/VHgpMGZ6KGtDUCF7TWs/LSpmb05MS182NUhndAp6cSFEI0U5
MEJOclMyN0huU3B3QVdFS00lb09rWUtRIWdgQG1IJGMtVjxzSWthUkBDPSlvYnRvfUVMSCk3X0Fa
fm0KelktJl5pR35RKXdWaWtBWT57YzhNSTNfU3R6ST9SKl8qLT5NN1YxdFE/aFotYElCKHJeSWYh
KTg+VkB9RyZ+WT5qCnoqempkQ1F3WlF0WGglM2JVO3t3YnNuPWZ4T3JSaGBrUFElVz5QezswS0cw
UXcrNXh3dXliR3ZjLXlTXjhiPCQ/Twp6IzJafChFaXFxTztJMnoqZVZ6d18zUWE8fG9MTUI+MS1L
NiRUYns3VFZQP2c0Ul9ET0liZ0goZFEmdnx1Skk7U08KejdZaHZrXiFFOXN7VjV8VCg0WVU4RyFO
JDI+T1g0cFBES3JAREdzJTRkb214UnhTYz9MdTJJZjNHZEJ0fmtBIzcxCnpPJkxCPHdsKm1tYDZV
PWN4c3AoYlJ+IzM3YX0yaUxXMEZJX1ZJWU1PIXJVVj9KSWV+YVpCaEltXzM0ektYcjY8PAp6TXpp
fWZWVDlzPWk2QkVsbmsyISN3VUY9X3lkMj08WXZAKj1BVX08flVqcTt4XmIjKSM7VDZNQTxkS3Ro
YXgzd2wKekAoKTVpfE1MSig9ODBnczUzZE1fekJuTihyKypPN2JSMSt6ZTdGeS1wak0xKGdGM01K
VzZGY2FfblNoPFVlYmR9CnpoSFNfd0MjPyZCKVl1RWRjUiVTTGtwWGNiN19pfkl0JH05Vz9iTkwm
dnNsQmA2MXlMOU5TIVZLRnhFQlYxWWVfeQp6PTF4NXlieWchOzRfRzNpR3x9dVNfY3E1SyYpXiFx
dWh+RDk2Ui1qenVgaEwrbFR6enAzTXZQVmY1JHFeU05ASzUKejsrP2NAVVhaWlBTeW04TzhVVHk7
RG9KdT5OMHRwYlp+Z2VCQlVieEReJUgyPCZ2OytkQVp+VDR2Knw2Km1nYmxDCnpudjtOenVFbXtG
PDJzY0E+SnpScC1hfGtpSEJ1UFYoSC1JX2JgP1M0Un5DKUkhLV5rMSlDJD9mJWlXRndVfU1rYgp6
MTRgPnd6XmhZOCpUJkNie2NnV0VZKzMjOGsmTUk7Pj9UbTJYRmBkSW9AYkd8PW19dylFcDZoMVMq
R1BRWT1FSDYKemRZSkkocWVgMiRwYWomKUJlO2ZvMGxMRD1CY3NxeyVOeE0wKyl4UyhZUm9zO15C
b1UpZUxOX2IzNHt8UVJANTN1CnpIWXYxZlk8Wmd9bX5tdmBeK29PU15PSSY5KktHcFZyNXN1bDYm
TXNaIVhOKUsqeDQmN3hTYnBJKjhIMjBpRWM3UAp6OGc4cH0+U3tEK0JxXkZ1XjZqZTVrcXJebVFJ
SWUyMS1AR01kJWZ+PUcrZTM8WVo/QE0rTjV+ZzlEd3FBQyl7aEcKek1DKWI4dnI5NnQ1em9GVWY4
dCsjY0x3eWBoQTFDczttYWluVWNSXlk+Z2V7YCRRdyZyRXZ0OWI9T2NeUW0pVzI0CnpRPlY/Rk9Q
fW0mO1c1PGJgS1Q2ITRMZDAyX1ROYit3M05tQC09YF9jNnE1WUdibDJXMjA9WD5sTihqaSZUe1Bm
agp6NnkpVCtpQHI5QHM1SV81PzBAXzlsTTV8XmUwR3EtYHdkTHwtVGBWKFckTXtuPjNjNC1EVTNZ
ZzdQTSZOQytzKHMKejtQXzJecVI4MVNyYWtFYDt9VVMtd1c0T2l7TmFnSyomaXxWI3NZPn4tK040
S14hfkBmcDE5NGV8QnlSU0NkKy0tCnpYYEhtakYtUVdWR1NLdWdVKTA+JjJPXnxfVHw0dHtpa3s7
YGd9MXVGJF9NdkNqdCRDZEFqNE8hdyVvRUc2cnlyPwp6UlViQCN2IUp3QjhgP0tFUiNvJn1IJE58
MEstcmQrRl51Q0tSfWc7TFk7dEhqZDAjQEBTS3pLJmAlVlMpalRQQjkKendLdlpVa3xLJCF0Y2VQ
fl9jfiZecGM1YSE+YmhWQmw2ckh3SXFCTmFwalE9O1crdDY7Jm8pNDJ2NHBUT0c7QE5QCnp6Uzdx
SF9zeSRGSF9yfkRKT0d9PW1WcEFLXzF2bX1yYFFGK1VGdVckQTgkJDtrR29gRWQ5OUlVOFUpSHdD
Tnx5QQp6bmZeM2pHeHBZeXU7YExzdWZiNWNvQGIzPkhzWjloWlIzR2c3UUp5TSk9QmhvbFFBWFdP
NEd1ZWpMSTYoVHhvP30KemBtKGJidSZ0P3Q+WDVPaFphPHA2U0lCLW48UD1TZT9FRUoxPWNrTEtZ
d01RM2hAbGlsPyRtQnpPR1QrKUR1R3kmCno2Tm4reVVod1dFUnE7OUNEUGNqVlozUSZMT2l+b1Yt
PyhGajxkXnZvd2BUbV5RcUpHZl81LUVGMih+KzBpciQhdQp6IT8qO15nVmlKdkdWOUU7K3hSPkNj
eC1vaVQqOWQ8NkU4XyFQKl5jdVFEZDtjdykwbnRPJGFDaF9iYEZEdG1UUU8Kem9ZJkR4QCZ5Mkgl
YmhPQ145Sj1KM2soMXZRdUZnOGYkUE9DaCsqbTRIJTQ3MU1lKlBacGd9SDFZZUJgS18yZXtACnoj
OV8+NHFmOWJvQiNTP25xMXg+Kkh9Klh1T052bmpjYDBUM3U5T3hBaWpjQlhwbmBnN1dBTXs1KWlR
ZGszTjI0Tgp6YHUoeEI5KVc9Q0paYXdtNE50RDFxKVU0KVZ8dX12dTVsTiF5TTxeaythK1JtXit+
eWRaOXRIZC1LeXJZK3g8V2AKemFgWEZ2YXFLMUNNfm8yUVRQe2s/amIzJnRBTXcoT1IjPyRtXzAj
c2FafGpeNFFuc3JiTjkkbVNVKHU4UkxzQW5iCnpDMX5ZQSFRTH1PMUB1IUJeJWEpVT9ZTTlyMkFU
PXohPCFsV15qeX1VZlojV2BJKVgrQTIjK0U3OHhibVJ6X2wlXgp6I3ZfRWc1WDd8e2d8OCpXcERe
aHBCMFVGbTxCcmcpenxoQyFmTU95KzA0KG98I1lGMllpUitSbyFQLTI/WF84b0YKemk7MyR0VCUo
M2FHTjYkdDt4P1dMZlEqIykjQkQ1X1hFbiRJOCZQRnJMRCp8PDJ0KU1wSCF9QnwlanlRUUsoYng3
CnpJOVBYKkNPazt6UnZgYiUxKnAqYGBIWjkyZE0oX3VWaHhtWDR7e29Iell1dCFNaDBFQ3BEcWhF
NVpxR2B1X21eVQp6RDdFayVneEBKaFFHYnkwKEQ1RklZUj5xaGpxbSRUQypgYkc1aG1NWUZ1R3N+
OyRoVmlyTU81MFdWPHRaZyhZMEoKekJGdjMtPGNtO0Y+VH17OGYreiRVXz9ndVhORCFQV0BCPHQw
dWFBdXMqQFgrVUwydk9uRz42fVR2WWhUK0hAOEVXCnp6UkskKHJMWVIkcVVVRWRTV2h7Q3t2Vndu
THx2fHQ7bCV3TjlUIzEzLXlTNUhlTW8pUXE8T1I0ND48VCl6biU0YQp6WEQ7ZyU9S2EwSig5eShI
eWwwP1VUTXB4UUdoYHAqWlBaI1RTMkdQMDdMYyUmaWwtSFZ1SmROTTtyb0lKZVJ6JlYKelR2UHZa
Y0hRRyswIyFhfjBWfCZ1XzJ2JVNZK2wtNGFEKXVgaj0tNXJ3QyUhMHVNYGJ+Z2RxdmZlQ2UyZ0VD
PXxKCnpwVDQ5Nj5vRXM4I0JSdiREI1JPa1RQLTc4blo+SFdGOG5VampzfXwpbkQ8WCZBUEIwQDRz
NmdvOXhRJipHNClzJgp6Pk19KzEmKz40bHtXMmJQRDFmSz9YWDdxQD0hMmJ+NEclcCVOeUtjUW9f
KUtIVztVMnk9OTM4OEJgeDQ9NWNVO3oKemp+O0x2dVpPaFgpdT1FN3FgVnVmK2t+TFRmWmYxXlN0
UzskKlJOOCh0K14la1c0eG5+bVpUOGhjQUdtcW1MN3V0Cnp4JU1uTjtQam9FPDtLY0hxbSoxbClM
TkY8NiFnck1yWjxgb2dub35hYyUpc1Q+MH4kVE9PejtyR2BgMmIjJUQ8Nwp6QVJDK3lAUFRpRD0x
JFAyMWlLWGRiXl4kd3luS09oRVJoM0FvQEA/SHJWeEEzYGBRcH1DZmVoXlFPalpMZmVHeUgKek9x
NHhmUWckVXBOWGx0aiVBR1FeMiRkZztRdmtvfWdJS1pDJlhnMm4hZDlUbHRZTHhfTTN0Yjw7IzRN
Q3Z9O0ZxCnplOyhiK2M3IUBrUn4lSnxCN2h2QklHJSEwY15vdFVydEB7eiVmfX5eM3BFPG1qeWF9
NkhJeHBIQU5zZWNZYHgydAp6S1RCaT9NY1VWVXBNeHNiZVZ7JTtfalZXPENSc0ReQVB8UHt4Xjhp
JlhNb2pTMV98PVpLKmNweiohJil2d2tSUWIKem55VSFDUndkIWxnQ1khfV5xN19HRVUwNEc2fVV7
NFVVbTJjU20jSWJTNEI0OSt7QjZ1e0tKPVFwdnY4fj0lZ04/CnpkN25MY0okaiYkNmU/TTJPOSNN
MW1xS0QlN155fipTfFhVKUI8IXMkT1FWOGY4RmRIa0tSJWs5S2w1bjYzOXtkPgp6cj9WanNLWDIj
bzI5ISRTSyMtfkU3fl5TbERNPzVhZGFLQ0FobT1MTE41fF5SM3Q+KjRZckxrMFQ5aD5tdExBOFcK
elE0OVVhe2M7K0ZfbmQ7JXd0TEkjOz5LRygwYlN5PWZAPCVCZ1VucVIhVSQkK1FHKExzcSR9RHtn
RXFxNytaQnxMCnpHI20mdkNrYSktOGhXQjtTNHNocHBDTnc+JGpUaXFEKDtKQSl2Z1czJnJJITdG
VClsaUl3RyhZQnZ9XyZ4Z0NLXgp6OT1gSHB2eGhFdEUlZEtwITIoUlgxTVQ2amJCUWA0SHkqfmZW
ajImRW44QE4wV15mb21IYmo8QEF4UE5IRUBIRXMKemVZWnt3Zk1VRzZCQ0AkTEZ3X3A9V0JNeWte
LVRFWk85MytjWnFCWk1Lbk1GN0V9R1M0MiE0cWxjfiZoVV5IeGc4CnprbT9wVW9hJmlSNUcqQm0p
YSorPypIbUwtKUpzdnV2JUVqbS1YKUdRZDQ/fmFrJDcjNCE3PmRJenYpdCpvS1Z9fAp6aUpBKjZU
TCk7cUxSdDR5QWptbStSYjZVQzxXfVV+cm96a0tfXkxQcm9MNlM1V3BgUEoqfnJocjw0UzZiKloo
Pm4KenopWHJFejByViRoQjxqWXUwaylFS3w/PGY8N0p6RFAmJkdDN3IhIWpDWEtTa19tX1A8QnV1
eClTTyM3IV44c0Y2CnpeeVg3USYhaTA9YXRmLUNRQD5vc082b0pBamhrdURMN0JoeDgqQzxxS04p
K3l6byZQT2s8SzM9cnU7fiFINXwwfAp6SmxFTGtZT2BWV2o3SWwwSF5jZyU+LVlBY25mbV8jbiQ3
YWN7UyExQmpeKWVGVWM3a1cpZ0B0TDBEVGd2PzM4YCsKemkkJVplK2hSbjBhT2hWQClZJn03SjxM
RWQjS3xlTHM5SF9UdzVALWd0c3BKTHYmUl5lJiRgMEU3NTN5JEBTK1UwCnptQzF6bzN4NjRwcX5F
ZH1xTFphblQpTTxYYEV7YT5sYXlNYmQjcFZDTXZEM3NCNS01aSkwTmNvenV4YlNXOGxhSwp6aTc5
ey1DYHErYHl6QytiNENtd25jR1VUeFZiKFpNYzx3aXI7c08kYzB0VyV+MGUmTjR2TkdEVThvfjk9
T2U5RzUKeiE/VE9lT35ENVEyZUxzbFE1KztZamY5cEFqXlN2YD84NW9HS207dE0zXmVOaWA7WDZ6
UGhmdVNyZGR7U1hCYyl0Cno0bV5fZiE1Uj1ocDlBfnhHOWJmSDBMV2Y8OWUycnBydCMhPm9FLXJt
cVMha0JBR3ZaZDNsJFNqZUZKbGB4eFhHWQp6Qlp4Zm8+a2g2Y2p4MjxjX24lSWhvY0NMczRUJHNs
czZ2d2t5NH47KkkhIUpBdD5iJHIpN0owYjxEeUZkZyhSaGUKekNYem02SHc4WU4rRmB5aV8hMCNt
OHNlRiFTbCNBJClQa0UwMShpbWFHT1d9T3UpbDdBSztzKnFvSmgjbE8/dTg5CnpFMT1mYHZIIVhx
QV5ofnE0ak52QmBifH1tTllKQ1IhdyhlRiVSMzlqMjdAPGFefTRfJGVhIyZxYiRRVXVZaGdiPgp6
KEJ1R0gmP353NDhKaVhDaWFBaEZ4JmlWX0okZyp1LThtaF55IX14ZHRBTzR+ajZqPD43WldPdlpY
U2pJM35pcVcKejZDKmhTPGtxZUFYUFI2fE8ycDtwOTF5Qn1UZGJJRjJAKVpkeUZQMkQrI3d8WDwr
UU8zI0UpbUU3KjZwdUsxNnF2CnpXOGZGe2V0RDV5QW9rZitsbTQ4ei1Jd2JHOGd0dV9XfjBvOCRn
a3lMe2FnTDAwKzw+US1Ie2loUCQzTF9abVEjSAp6QGx6N2A+az1zK2VvbV4oQmBzKDNHUXJ0YE9l
NDFrYVh0b1gxNTRGbD0tOWV0NVY8MTRLKGREano7Q3U9eH5+OE0KemJaP1V5UzkmI0tHSkl6VWxU
QTctZj5JKSMmX0xuOHBlQVFWYl9XMW5UdUpLTTk5YGE9bU8mK3Y4cUFXRmZ9cGJQCnoxNm5reTZC
SStTJEktTj5tPD5gQk5yNiVyTlooN3B3MEJQS2RKc2QpUS10X0VfbSFtNE4xbDdIbTgwPmAkNEpf
Wgp6IStkSTYmd3Q0VHJCKlAjJkpsUX57JDZnXlR8dTVQanFEemZNWTNwX1FOWnE4TDg1aj51ekxy
NUVJciFkWTwzQmwKelR8JShyIzRyZEQldFooendLVFp7VlRJJVFBVH59I3Q1elN6T2xPcCUtektP
OHw4Mns/SlN8PU0mI3FqeCNOd3xMCnpCJk0hSzRJbXg0WUFQY2NQc2BKSkt6UkZwUSVAcCQ7eDtN
ZjFyRnVONjk1b3p3TCZ7JjR3Q31PZncqZG45dVFHKgp6UThqSUtWMUteYF9TbWNfJDZ3K300PEJ7
clZWK09APj1DP3NnK2xjaGAtKVVld0JtKi0yem5+NjFtTj9LUm44c2IKekxvXjJ6VyQ1b3M5ZyFL
MWFWKG5+UnM0OSNhKlRBdyMtbHRCb0gzRk4xT1Y0UzA/dD07IXdNfFJJUzZxQVFpYldsCnp1Q2ZP
KTElODM3Q1V2WTtCYzQjdno5NX1sUTMwflhiaEFuKDttI3xJOUl+JDdwUnMkNWI2Kj4oQVVCMmkl
N2F2NQp6KlB8MHx7a2RiTCt+UUg8a25wJU9JeT1RfTVINlJBa20lZEplXl53dSY3YVEpJjE5bW9t
KF8haEw4b31AYm0tMVMKekN6Vl9gejQ1VDdMd1BxYFglWWgoWCYxMDlDUEtWUSk1dDxUMDtJdGs1
T3JNZkVUPj1kT1E5PEwjKGsmQXlCS3lMCnpeRGQ9T2ByYmgzRjgkamZrWTNVdWtSPnF0OzFyMTEp
Sz49a3Z3eFJRKDhfQ3g7cXpnOVBuJU9GYzFXeWVqLSshRwp6amAkLVokPThibGVpJEtzUkV9dGFn
N0VZb2ooWnE5PTcjJWxWT2RPNj81Y21TI3NMYVIxP3Rte1gyWEU8SUV8eWoKejwhKypUIVoqbCsq
NGx7ZS1nVThzZXJUNUdHfjVCPXBvJl5eaFY9S1FQaFVWcm9ka0FmPXdSPGFaYiQ1OSlHU1JNCno9
fWQqbDNEPFdqVHA3b15jZkdfdzZ5Slh2a2M/ejVhT2hfKCsjckNMMEtvNk8+KGgoRVAyTiNocHhs
Nmk0SjF7Pwp6YH1qbmktVGlQNzYmQ0R4VWsrJFRqKVo7VldYTm9oZng9KHltMVdhVlF2V3FaUFNg
JSE4LUVuTyZ8ZWdhUjM5I3EKemI9eGl7c1ZkdXdVVnUrNFRsXk1MN0U+KzVBVnlIc09WYTVNNV97
fSFlWnd8MUtBbUhydSZoPUUzVk9ISyg0N1JWCnpea244R2kqNXRaZzgoRmFQeGF7QTBoZiVrPS17
UDJqUFg7MlJ4TDRYbk53bnswVkUlajRJPVVaNTNJYStVSDhpZwp6NkIpakQ9cUxMMmtnPHRTTG1i
Q2AoVm5KbGVMOzVLcXdjSyV6akI1e05hQWd+O1I+aTZESFhMdHVmRUFuTzROWHAKejlYPSVmRWZl
Un1oQzJPMnBWU1lGQUprYDFIal5vcUkpdH11S0xfQlczWWNxcilKYVhwaFd8UzhRaylHcy0wNE9T
Cnp2PzhRY1JNTz9iSjlqPFg+JkpXbW5LQW1gKXVkXjhTVDBvVU44azJae3V6RnI7MXx6TE1Ffm1s
QSVfbDcjVCtfZQp6NzU2WEk8cG1SaXZpNF9Ua3srX0ptSD4mR0xoSW9aV1h0fUtxfkJ7RnF+Knop
ak5BN3xOdUBtRjUpZn1iWU05Km0Kel4mUmtgRUdudil8SDUmVXt+MXxgQy1fP2JFWU5+fTQ+OThm
SU95X1V6JVlOTj1mNFpfeyFHdUc9PmMyJnxMKjNKCnprbHJqTkJSaF5Je2F0YFJiPzhyLTIySlFz
N3lDQ1J7LTtkO0RieFNnJWstYnB7SEhZa0RiND47Qj5odkd8Q0h1Rwp6clRJVUVJe3ZXdC1AMyY9
Vz91ZUcmITZlfT1mQmtRTTtpTXJOJmUjPnZpVVBUZjJRWTs/KSpvVnxLblF4Rj9JZlUKdlVaaD57
UHIwMnhsPUtmSntYPEZyQUUlX2QrYD5teyQ2bUlwa0FsQS1Qaio+ZFVrIVE1X1dwa1pkb3NWPwoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>