<?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>95883</bug_id>
          
          <creation_ts>2012-09-05 12:23:58 -0700</creation_ts>
          <short_desc>Prevent overflows in FractionalLayoutUnit</short_desc>
          <delta_ts>2012-09-07 16:16:22 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95053</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>inferno</cc>
    
    <cc>leviw</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>712416</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-05 12:23:58 -0700</bug_when>
    <thetext>snapSizeToPixel overflows if the size and/or location is close to MAX_INT/60.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712454</commentid>
    <comment_count>1</comment_count>
      <attachid>162314</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-05 13:08:32 -0700</bug_when>
    <thetext>Created attachment 162314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712502</commentid>
    <comment_count>2</comment_count>
      <attachid>162314</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-09-05 13:54:49 -0700</bug_when>
    <thetext>Comment on attachment 162314
Patch

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

Seems like another step in the right direction, but we need to catch all the cases where we do this.

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests, covered by existing tests if SATURATED_LAYOUT_ARITHMETIC is enabled.

Can we not write a test case otherwise? Should it be gated by the same flag?

&gt; Source/WebCore/ChangeLog:14
&gt; +        (WebCore::snapSizeToPixel): Change to use long longs and roundRawValue.

I&apos;m a little concerned about performance here given we perform this operation a lot.

&gt; Source/WebCore/platform/FractionalLayoutUnit.h:798
&gt; +inline long long roundRawValue(long long value)
&gt; +{
&gt; +    if (value &gt; 0)
&gt; +        return (value + (kFixedPointDenominator / 2)) / kFixedPointDenominator;
&gt; +    return (value - (kFixedPointDenominator / 2)) / kFixedPointDenominator;
&gt; +}

We need to change pixelSnappedIntRect (and anywhere else we may be implicitly doing this) to use this logic to be consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713709</commentid>
    <comment_count>3</comment_count>
      <attachid>162587</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-06 14:28:07 -0700</bug_when>
    <thetext>Created attachment 162587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713725</commentid>
    <comment_count>4</comment_count>
      <attachid>162587</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-09-06 14:41:20 -0700</bug_when>
    <thetext>Comment on attachment 162587
Patch

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

&gt; Source/WebCore/platform/FractionalLayoutUnit.h:238
&gt; -        m.m_value = std::numeric_limits&lt;int&gt;::max();
&gt; +        m.m_value = std::numeric_limits&lt;int&gt;::max() - kFixedPointDenominator / 2;

This is confusing without a comment or named constant.

&gt; Source/WebCore/platform/FractionalLayoutUnit.h:244
&gt; -        m.m_value = std::numeric_limits&lt;int&gt;::min();
&gt; +        m.m_value = std::numeric_limits&lt;int&gt;::min() + kFixedPointDenominator / 2;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713730</commentid>
    <comment_count>5</comment_count>
      <attachid>162591</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-06 14:44:58 -0700</bug_when>
    <thetext>Created attachment 162591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713738</commentid>
    <comment_count>6</comment_count>
      <attachid>162591</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-09-06 14:50:25 -0700</bug_when>
    <thetext>Comment on attachment 162591
Patch

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

&gt; Source/WebCore/platform/FractionalLayoutUnit.h:239
&gt; +        // Reduce max value by kFixedPointDenominator / 2 to prevent max().round() from overflowing.
&gt; +        m.m_value = std::numeric_limits&lt;int&gt;::max() - kFixedPointDenominator / 2;

So there&apos;s some weird things to think about here... Now it&apos;s possible that FractionalLayoutUnit::max() + (1.0f / 60) &gt; FractionalLayoutUnit::max()! Also, without actually double-checking the math, might it also be possible that max().round() &gt; max()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713742</commentid>
    <comment_count>7</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-06 14:56:49 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 162591 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=162591&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/FractionalLayoutUnit.h:239
&gt; &gt; +        // Reduce max value by kFixedPointDenominator / 2 to prevent max().round() from overflowing.
&gt; &gt; +        m.m_value = std::numeric_limits&lt;int&gt;::max() - kFixedPointDenominator / 2;
&gt; 
&gt; So there&apos;s some weird things to think about here... Now it&apos;s possible that FractionalLayoutUnit::max() + (1.0f / 60) &gt; FractionalLayoutUnit::max()! Also, without actually double-checking the math, might it also be possible that max().round() &gt; max()?

max() and max().round() have different types so that shouldn&apos;t matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713774</commentid>
    <comment_count>8</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-09-06 15:40:15 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 162591 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=162591&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/FractionalLayoutUnit.h:239
&gt; &gt; &gt; +        // Reduce max value by kFixedPointDenominator / 2 to prevent max().round() from overflowing.
&gt; &gt; &gt; +        m.m_value = std::numeric_limits&lt;int&gt;::max() - kFixedPointDenominator / 2;
&gt; &gt; 
&gt; &gt; So there&apos;s some weird things to think about here... Now it&apos;s possible that FractionalLayoutUnit::max() + (1.0f / 60) &gt; FractionalLayoutUnit::max()! Also, without actually double-checking the math, might it also be possible that max().round() &gt; max()?
&gt; 
&gt; max() and max().round() have different types so that shouldn&apos;t matter.

But FractionalLayoutUnit::max() + FractionalLayoutUnit::epsilon() do</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713777</commentid>
    <comment_count>9</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-06 15:43:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; But FractionalLayoutUnit::max() + FractionalLayoutUnit::epsilon() do

Uhm, no. epsilon returns a float and max returns a FractionalLayoutUnit.

Either way I get what you are saying that max and min no longer represents the true maximum and minimum values but this seems like a better option than manually subtracting from the value when using them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714567</commentid>
    <comment_count>10</comment_count>
      <attachid>162591</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 08:57:36 -0700</bug_when>
    <thetext>Comment on attachment 162591
Patch

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

New failing tests:
media/video-zoom-controls.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714585</commentid>
    <comment_count>11</comment_count>
      <attachid>162785</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-07 09:15:03 -0700</bug_when>
    <thetext>Created attachment 162785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714601</commentid>
    <comment_count>12</comment_count>
      <attachid>162785</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-07 09:34:50 -0700</bug_when>
    <thetext>Comment on attachment 162785
Patch

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

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:470
&gt; +    return Length(static_cast&lt;float&gt;(value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit ? 0.0 : value), Fixed);

This feels like a helper function. :)

&gt; LayoutTests/platform/chromium/fast/css/large-number-round-trip-expected.txt:1
&gt; +PASS: read 90010000px back as 0px, read again as 0px

What was our old behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714609</commentid>
    <comment_count>13</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-07 09:38:11 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 162785 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=162785&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSPrimitiveValue.cpp:470
&gt; &gt; +    return Length(static_cast&lt;float&gt;(value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit ? 0.0 : value), Fixed);
&gt; 
&gt; This feels like a helper function. :)

It does but it is only used in a single place right now.


&gt; &gt; LayoutTests/platform/chromium/fast/css/large-number-round-trip-expected.txt:1
&gt; &gt; +PASS: read 90010000px back as 0px, read again as 0px
&gt; 
&gt; What was our old behavior?

computed style would return 90010000px but offsetWidth would not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714898</commentid>
    <comment_count>14</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-07 13:19:47 -0700</bug_when>
    <thetext>ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715000</commentid>
    <comment_count>15</comment_count>
      <attachid>162872</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-07 14:44:23 -0700</bug_when>
    <thetext>Created attachment 162872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715028</commentid>
    <comment_count>16</comment_count>
      <attachid>162872</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-07 15:03:42 -0700</bug_when>
    <thetext>Comment on attachment 162872
Patch

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

&gt; Source/WebCore/platform/FractionalLayoutUnit.h:249
&gt; +    static const FractionalLayoutUnit safeMax()

I think we could come up with a better name than &quot;safeMax&quot;.  Maybe &quot;nearlyMax&quot; or &quot;almostMax&quot;?

&gt; Source/WebCore/platform/graphics/FractionalLayoutRect.h:170
&gt; +        return FractionalLayoutRect(FractionalLayoutUnit::safeMin() / 2, FractionalLayoutUnit::safeMin() / 2, FractionalLayoutUnit::safeMax(), FractionalLayoutUnit::safeMax());

we should document here why this uses &quot;safeMax&quot;, something like:

infiniteRect is slightly smaller than INT_MAX, INT_MAX, to allow pixelSnapping to round up to the nearest value  w/o overflowing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715055</commentid>
    <comment_count>17</comment_count>
      <attachid>162884</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-09-07 15:37:21 -0700</bug_when>
    <thetext>Created attachment 162884
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715092</commentid>
    <comment_count>18</comment_count>
      <attachid>162884</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 16:16:17 -0700</bug_when>
    <thetext>Comment on attachment 162884
Patch for landing

Clearing flags on attachment: 162884

Committed r127933: &lt;http://trac.webkit.org/changeset/127933&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715093</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 16:16:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162314</attachid>
            <date>2012-09-05 13:08:32 -0700</date>
            <delta_ts>2012-09-06 14:28:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95883-20120905130813.patch</filename>
            <type>text/plain</type>
            <size>1837</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTA1ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggb3ZlcmZsb3cgaW4gV2Vi
Q29yZTo6c25hcFNpemVUb1BpeGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEF2b2lkIG92ZXJmbG93IGluIHNuYXBTaXplVG9QaXhlbCBieSB1c2luZyBs
b25nIGxvbmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzIGlmIFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyBpcyBlbmFibGVkLgorCisgICAgICAg
ICogcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OnJv
dW5kUmF3VmFsdWUpOiBBZGQgcm91bmRSYXdWYWx1ZSB0aGF0IG9wZXJhdGVzIG9uIGxvbmcgbG9u
Z3MuCisgICAgICAgIChXZWJDb3JlOjpzbmFwU2l6ZVRvUGl4ZWwpOiBDaGFuZ2UgdG8gdXNlIGxv
bmcgbG9uZ3MgYW5kIHJvdW5kUmF3VmFsdWUuCisKIDIwMTItMDktMDUgIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFB1dCB3ZWJjb3Jl
X3BsYXRmb3JtX2ZpbGVzIGluIHNlcGFyYXRlIGd5cCB0YXJnZXQgaW5zdGVhZCBvZiByZWx5aW5n
IG9uIGV4Y2x1c2lvbiBwYXR0ZXJucwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJh
Y3Rpb25hbExheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCShyZXZpc2lvbiAxMjc1OTkpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCSh3b3JraW5nIGNvcHkpCkBAIC03
OTAsOSArNzkwLDE3IEBAIGlubGluZSBmbG9hdCYgb3BlcmF0b3IvPShmbG9hdCYgYSwgY29uc3QK
ICAgICByZXR1cm4gYTsKIH0KIAoraW5saW5lIGxvbmcgbG9uZyByb3VuZFJhd1ZhbHVlKGxvbmcg
bG9uZyB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUgPiAwKQorICAgICAgICByZXR1cm4gKHZhbHVl
ICsgKGtGaXhlZFBvaW50RGVub21pbmF0b3IgLyAyKSkgLyBrRml4ZWRQb2ludERlbm9taW5hdG9y
OworICAgIHJldHVybiAodmFsdWUgLSAoa0ZpeGVkUG9pbnREZW5vbWluYXRvciAvIDIpKSAvIGtG
aXhlZFBvaW50RGVub21pbmF0b3I7Cit9CisKIGlubGluZSBpbnQgc25hcFNpemVUb1BpeGVsKEZy
YWN0aW9uYWxMYXlvdXRVbml0IHNpemUsIEZyYWN0aW9uYWxMYXlvdXRVbml0IGxvY2F0aW9uKSAK
IHsKLSAgICByZXR1cm4gKGxvY2F0aW9uICsgc2l6ZSkucm91bmQoKSAtIGxvY2F0aW9uLnJvdW5k
KCk7CisgICAgbG9uZyBsb25nIHZhbHVlID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihzaXplLnJh
d1ZhbHVlKCkpICsgbG9jYXRpb24ucmF3VmFsdWUoKTsKKyAgICByZXR1cm4gcm91bmRSYXdWYWx1
ZSh2YWx1ZSkgLSByb3VuZFJhd1ZhbHVlKGxvY2F0aW9uLnJhd1ZhbHVlKCkpOwogfQogCiAjaWYg
UExBVEZPUk0oUVQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162587</attachid>
            <date>2012-09-06 14:28:07 -0700</date>
            <delta_ts>2012-09-06 14:44:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95883-20120906142747.patch</filename>
            <type>text/plain</type>
            <size>16765</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzc4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA5LTA2ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBQcmV2ZW50IG92ZXJmbG93cyBp
biBGcmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTU4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAtIEF2b2lkIG92ZXJmbG93IGluIHNuYXBTaXplVG9QaXhlbCBieSB1c2lu
ZyB0aGUgZnJhY3Rpb24gb2YgdGhlCisgICAgICAgIGxvY2F0aW9uIGluc3RlYWQgb2YgdGhlIGZ1
bGwgdmFsdWUuCisgICAgICAgIAorICAgICAgICBBdm9pZCBvdmVyZmxvdyBpbiByb3VuZCBieSBh
ZGp1c3RpbmcgdGhlIG1heC9taW4gdmFsdWVzIGJ5IDEvMzAuCisgICAgICAgIFRoaXMgYWxsb3dz
IHJvdW5kIHRvIGJlIGNhbGxlZCBvbiBhbnkgdmFsdWUgd2l0aG91dCBvdmVyZmxvd2luZy4KKyAg
ICAgICAgCisgICAgICAgIEF2b2lkIG92ZXJmbG93IHdoZW4gY29udmVydGluZyBmcm9tIGEgTGVu
Z3RoIHRvIGEgTGF5b3V0VW5pdCBieQorICAgICAgICBsaW1pdGluZyB0aGUgdmFsdWUgdG8gRnJh
Y3Rpb25hbExheW91dFVuaXQgbWluL21heC4gVGhpcyBtYXRjaGVzCisgICAgICAgIHRoZSBiZWhh
dmlvciBvZiB0aGUgbm9uLXN1YnBpeGVsIGNvZGUgcGF0aCB3aGVyZSB0aGUgdmFsdWVzIGFyZQor
ICAgICAgICBzaW1pbGFybHkgbGltaXRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L3N1Yi1waXhl
bC9sYXJnZS1zaXplcy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgpOgor
ICAgICAgICBMaW1pdCB0byBGcmFjdGlvbmFsTGF5b3V0VW5pdCBtaW4vbWF4LgorICAgICAgICAK
KyAgICAgICAgKiBwbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhY3Rpb25hbExheW91dFVuaXQ6Om1heCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFj
dGlvbmFsTGF5b3V0VW5pdDo6bWluKToKKyAgICAgICAgUmVkdWNlIG1heC9pbmNyZWFzZSBtaW4g
YnkgMS8zMCB0byBhbGxvdyByb3VuZCB0byBvcGVyYXRlCisgICAgICAgIHdpdGhvdXQgb3ZlcmZs
b3dpbmcuCisgICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6c25hcFNpemVUb1BpeGVsKToKKyAg
ICAgICAgQ2hhbmdlIHNuYXBTaXplVG9QaXhlbCB0byBhZGQgdGhlIGZyYWN0aW9uIG9mIHRoZSBs
b2NhdGlvbgorICAgICAgICByYXRoZXIgdGhhbiB0aGUgZnVsbCB2YWx1ZS4KKyAgICAgICAgCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OnBpeGVsU25hcHBlZEludFJlY3QpOgorICAgICAgICBDaGFuZ2UgcGl4ZWxT
bmFwcGVkSW50UmVjdCB0byB1c2Ugc25hcFNpemVUb1BpeGVsLgorCiAyMDEyLTA5LTA2ICBBbmRy
ZWkgUG9lbmFydSAgPHBvZW5hcnVAYWRvYmUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFByb3RvY29sIEV4dGVuc2lvbjogQWRkICJyZWdpb25MYXlvdXRVcGRhdGUiIGV2ZW50CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDEyNzU5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2Niw3ICs0NjYsOCBAQCB0ZW1wbGF0ZTw+IHVuc2lnbmVkIENTU1ByaW1pdGl2
ZVZhbHVlOjpjCiB0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxl
bmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0IG11
bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CiAjaWYgRU5BQkxFKFNVQlBJWEVM
X0xBWU9VVCkKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pihjb21wdXRlTGVu
Z3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KSksIEZpeGVkKTsKKyAgICBkb3VibGUgdmFsdWUgPSBjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxl
LCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICByZXR1cm4g
TGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGludE1heEZvckxheW91dFVuaXQgfHwg
dmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDogdmFsdWUpLCBGaXhlZCk7CiAjZWxz
ZQogICAgIHJldHVybiBMZW5ndGgocm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPGZsb2F0Pihj
b21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGlu
Z0ZvbnRTaXplKSksIEZpeGVkKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRnJhY3Rpb25hbExheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCShyZXZpc2lvbiAxMjc1OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMzUsMTMgKzIzNSwxMyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEZyYWN0aW9u
YWxMYXlvdXRVbml0IG1heCgpCiAgICAgewogICAgICAgICBGcmFjdGlvbmFsTGF5b3V0VW5pdCBt
OwotICAgICAgICBtLm1fdmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwor
ICAgICAgICBtLm1fdmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpIC0ga0Zp
eGVkUG9pbnREZW5vbWluYXRvciAvIDI7CiAgICAgICAgIHJldHVybiBtOwogICAgIH0KICAgICBz
dGF0aWMgY29uc3QgRnJhY3Rpb25hbExheW91dFVuaXQgbWluKCkKICAgICB7CiAgICAgICAgIEZy
YWN0aW9uYWxMYXlvdXRVbml0IG07Ci0gICAgICAgIG0ubV92YWx1ZSA9IHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50Pjo6bWluKCk7CisgICAgICAgIG0ubV92YWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1p
dHM8aW50Pjo6bWluKCkgKyBrRml4ZWRQb2ludERlbm9taW5hdG9yIC8gMjsKICAgICAgICAgcmV0
dXJuIG07CiAgICAgfQogICAgIHN0YXRpYyBGcmFjdGlvbmFsTGF5b3V0VW5pdCBjbGFtcChkb3Vi
bGUgdmFsdWUpCkBAIC03OTIsNyArNzkyLDggQEAgaW5saW5lIGZsb2F0JiBvcGVyYXRvci89KGZs
b2F0JiBhLCBjb25zdAogCiBpbmxpbmUgaW50IHNuYXBTaXplVG9QaXhlbChGcmFjdGlvbmFsTGF5
b3V0VW5pdCBzaXplLCBGcmFjdGlvbmFsTGF5b3V0VW5pdCBsb2NhdGlvbikgCiB7Ci0gICAgcmV0
dXJuIChsb2NhdGlvbiArIHNpemUpLnJvdW5kKCkgLSBsb2NhdGlvbi5yb3VuZCgpOworICAgIEZy
YWN0aW9uYWxMYXlvdXRVbml0IGZyYWN0aW9uID0gbG9jYXRpb24gLSBsb2NhdGlvbi5mbG9vcigp
OworICAgIHJldHVybiAoZnJhY3Rpb24gKyBzaXplKS5yb3VuZCgpIC0gZnJhY3Rpb24ucm91bmQo
KTsKIH0KIAogI2lmIFBMQVRGT1JNKFFUKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5b3V0UmVjdC5oCShyZXZpc2lvbiAx
Mjc1OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5
b3V0UmVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDcsOSArMjA3LDkgQEAgaW5saW5lIGJvb2wg
b3BlcmF0b3IhPShjb25zdCBGcmFjdGlvbmFsTAogaW5saW5lIEludFJlY3QgcGl4ZWxTbmFwcGVk
SW50UmVjdChjb25zdCBGcmFjdGlvbmFsTGF5b3V0UmVjdCYgcmVjdCkKIHsKICNpZiBFTkFCTEUo
U1VCUElYRUxfTEFZT1VUKQotICAgIEludFBvaW50IHJvdW5kZWRMb2NhdGlvbiA9IHJvdW5kZWRJ
bnRQb2ludChyZWN0LmxvY2F0aW9uKCkpOwotICAgIHJldHVybiBJbnRSZWN0KHJvdW5kZWRMb2Nh
dGlvbiwgSW50U2l6ZSgocmVjdC54KCkgKyByZWN0LndpZHRoKCkpLnJvdW5kKCkgLSByb3VuZGVk
TG9jYXRpb24ueCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAocmVjdC55KCkgKyByZWN0LmhlaWdodCgpKS5yb3VuZCgpIC0gcm91bmRlZExvY2F0aW9uLnko
KSkpOworICAgIHJldHVybiBJbnRSZWN0KHJvdW5kZWRJbnRQb2ludChyZWN0LmxvY2F0aW9uKCkp
LCBJbnRTaXplKHNuYXBTaXplVG9QaXhlbChyZWN0LndpZHRoKCksIHJlY3QueCgpKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
bmFwU2l6ZVRvUGl4ZWwocmVjdC5oZWlnaHQoKSwgcmVjdC55KCkpKSk7CisKICNlbHNlCiAgICAg
cmV0dXJuIEludFJlY3QocmVjdCk7CiAjZW5kaWYKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzc4MikK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA5LTA2ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBQcmV2ZW50IG92ZXJmbG93cyBpbiBGcmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU4ODMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBmb3IgaGFuZGxpbmcg
b2YgbGFyZ2UgdmFsdWVzLgorCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXpl
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJn
ZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA5LTA2ICBB
bmRyZWkgUG9lbmFydSAgPHBvZW5hcnVAYWRvYmUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFByb3RvY29sIEV4dGVuc2lvbjogQWRkICJyZWdpb25MYXlvdXRVcGRhdGUiIGV2ZW50Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFy
Z2Utc2l6ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACitQQVNT
IGVsZW1lbnQud2lkdGggPSA1MDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMCwgcmVjdC53
aWR0aCA1MDAwIGFuZCBjb21wdXRlZCB3aWR0aCA1MDAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQud2lkdGggPSA1MDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDUwMDAwLCByZWN0Lndp
ZHRoIDUwMDAwIGFuZCBjb21wdXRlZCB3aWR0aCA1MDAwMHB4IGFzIGV4cGVjdGVkLgorUEFTUyBl
bGVtZW50LndpZHRoID0gNTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMDAwLCByZWN0
LndpZHRoIDUwMDAwMCBhbmQgY29tcHV0ZWQgd2lkdGggNTAwMDAwcHggYXMgZXhwZWN0ZWQuCitQ
QVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMDAw
MCwgcmVjdC53aWR0aCA1MDAwMDAwIGFuZCBjb21wdXRlZCB3aWR0aCA1MDAwMDAwcHggYXMgZXhw
ZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdp
ZHRoIDAsIHJlY3Qud2lkdGggMCBhbmQgY29tcHV0ZWQgd2lkdGggMHB4IGFzIGV4cGVjdGVkLgor
UEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEzODhweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAzNTc5
MTM4OCwgcmVjdC53aWR0aCAzNTc5MTM4OCBhbmQgY29tcHV0ZWQgd2lkdGggMzU3OTEzODhweCBh
cyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzkwcHgsIHJldHVybnMgb2Zm
c2V0V2lkdGggMzU3OTEzOTIsIHJlY3Qud2lkdGggMzU3OTEzOTIgYW5kIGNvbXB1dGVkIHdpZHRo
IDM1NzkxMzkycHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAzNTc5MTM5MnB4
LCByZXR1cm5zIG9mZnNldFdpZHRoIDM1NzkxMzkyLCByZWN0LndpZHRoIDM1NzkxMzkyIGFuZCBj
b21wdXRlZCB3aWR0aCAzNTc5MTM5MnB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRo
ID0gMzU3OTEzOTRweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAzNTc5MTM5MiwgcmVjdC53aWR0aCAz
NTc5MTM5MiBhbmQgY29tcHV0ZWQgd2lkdGggMzU3OTEzOTJweCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC53aWR0aCA9IDM1NzkxMzk1cHgsIHJldHVybnMgb2Zmc2V0V2lkdGggMCwgcmVjdC53
aWR0aCAwIGFuZCBjb21wdXRlZCB3aWR0aCAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQu
d2lkdGggPSAzNTc5MTM5NnB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDAsIHJlY3Qud2lkdGggMCBh
bmQgY29tcHV0ZWQgd2lkdGggMHB4IGFzIGV4cGVjdGVkLgorVGVzdCBoYW5kbGluZyBvZiBzaXpl
cyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD4KKyAgICAgICAgICAgIFRlc3Qg
aGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4K
KyAgICAgICAgPC9wPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dFNpemUod2lkdGgsIGV4cGVjdGVkV2lkdGgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgZWwuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7CisgICAgICAgICAgICAgICAgdmFyIHN0
eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpOworICAgICAgICAgICAgICAg
IHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICAgICAg
aWYgKGVsLm9mZnNldFdpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgcmVjdC53aWR0aCA9PSBleHBl
Y3RlZFdpZHRoICYmIHN0eWxlLndpZHRoID09IGV4cGVjdGVkV2lkdGggKyAncHgnKQorICAgICAg
ICAgICAgICAgICAgICAvL3Rlc3RQYXNzZWQoJ0VsZW1lbnQgZ2l2ZW4gYSB3aWR0aCBvZiAnICsg
d2lkdGggKyAnIHJldHVybnMgCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1l
bnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9m
ZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVk
IHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcgYXMgZXhwZWN0ZWQuJyk7CisgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LndpZHRoID0g
JyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoICcgKyBlbC5vZmZzZXRXaWR0aCAr
ICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAnIGFuZCBjb21wdXRlZCB3aWR0aCAnICsg
c3R5bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRXaWR0aCArICcuJyk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChlbCk7CisKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAsIDUwMDApOworICAgICAgICAgICAg
dGVzdFNpemUoNTAwMDAsIDUwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMCwgNTAw
MDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAsIDUwMDAwMDApOworICAgICAgICAg
ICAgdGVzdFNpemUoNTAwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzODgs
IDM1NzkxMzg4KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzkwLCAzNTc5MTM5Mik7IC8v
IGZsb2F0IGltcHJlc3Npb24KKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzkyLCAzNTc5MTM5
Mik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NCwgMzU3OTEzOTIpOyAvLyBmbG9hdCBp
bXByZXNzaW9uCisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9s
YXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxIEBACitQQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAwcHgsIHJl
YWQgYWdhaW4gYXMgMHB4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGlvbi9Ta2lw
cGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1saW9uL1NraXBwZWQJ
KHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1saW9uL1NraXBw
ZWQJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9h
dC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxk
LW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5o
dG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qv
c3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13
aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgt
Y29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1h
dC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXNub3dsZW9wYXJkL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXNub3dsZW9wYXJkL1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0yMDUs
NiArMjA1LDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFz
dC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1w
aXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5l
LWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1s
CiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBp
eGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1w
aXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBlZAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBlZAkod29ya2luZyBjb3B5KQpA
QCAtMjA5LDYgKzIwOSw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhl
bC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFz
dC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVs
L2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6
ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0
L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFz
dC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0
cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTgx
Nyw2ICs4MTcsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBm
YXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3Vi
LXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxp
bmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWIt
cGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3Vi
LXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRt
bApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNC44L1NraXBwZWQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNC44L1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0LTQuOC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBA
IC05OCw2ICs5OCw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0K
IGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9z
dWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lu
bGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMu
aHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1
Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9z
dWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5o
dG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTI5OSw2ICsy
OTksNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1
Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVs
L2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxv
Y2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZh
c3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwv
cG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVs
L3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXdrMi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi13azIvU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXdrMi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC05
NDQsNiArOTQ0LDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQog
ZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1
Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5s
aW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5o
dG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3Vi
LXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1
Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0
bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi14cC9Ta2lwcGVkCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi14cC9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1OTkp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4teHAvU2tpcHBlZAkod29ya2luZyBjb3B5KQpA
QCAtNDEsNiArNDEsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgtc3VicGl4ZWwt
CiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qv
c3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1Yi1waXhlbC9p
bmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVz
Lmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRtbAogZmFzdC9z
dWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0bWwKIGZhc3Qv
c3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFsLW9mZnNldHMu
aHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQy
LDYgKzE3NDIsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBm
YXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3Vi
LXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxp
bmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWIt
cGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3Vi
LXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRt
bApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1
OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCSh3b3JraW5nIGNv
cHkpCkBAIC0yMTI3LDYgKzIxMjcsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgt
c3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1
Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xh
cmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRt
bAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFs
LW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQJKHJldmlzaW9uIDEy
NzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw2ICs5NCw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhl
bC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFz
dC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVs
L2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6
ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0
L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFz
dC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0
cy5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162591</attachid>
            <date>2012-09-06 14:44:58 -0700</date>
            <delta_ts>2012-09-07 09:15:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95883-20120906144438.patch</filename>
            <type>text/plain</type>
            <size>16971</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzc4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA5LTA2ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBQcmV2ZW50IG92ZXJmbG93cyBp
biBGcmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTU4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAtIEF2b2lkIG92ZXJmbG93IGluIHNuYXBTaXplVG9QaXhlbCBieSB1c2lu
ZyB0aGUgZnJhY3Rpb24gb2YgdGhlCisgICAgICAgIGxvY2F0aW9uIGluc3RlYWQgb2YgdGhlIGZ1
bGwgdmFsdWUuCisgICAgICAgIAorICAgICAgICBBdm9pZCBvdmVyZmxvdyBpbiByb3VuZCBieSBh
ZGp1c3RpbmcgdGhlIG1heC9taW4gdmFsdWVzIGJ5IDEvMzAuCisgICAgICAgIFRoaXMgYWxsb3dz
IHJvdW5kIHRvIGJlIGNhbGxlZCBvbiBhbnkgdmFsdWUgd2l0aG91dCBvdmVyZmxvd2luZy4KKyAg
ICAgICAgCisgICAgICAgIEF2b2lkIG92ZXJmbG93IHdoZW4gY29udmVydGluZyBmcm9tIGEgTGVu
Z3RoIHRvIGEgTGF5b3V0VW5pdCBieQorICAgICAgICBsaW1pdGluZyB0aGUgdmFsdWUgdG8gRnJh
Y3Rpb25hbExheW91dFVuaXQgbWluL21heC4gVGhpcyBtYXRjaGVzCisgICAgICAgIHRoZSBiZWhh
dmlvciBvZiB0aGUgbm9uLXN1YnBpeGVsIGNvZGUgcGF0aCB3aGVyZSB0aGUgdmFsdWVzIGFyZQor
ICAgICAgICBzaW1pbGFybHkgbGltaXRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L3N1Yi1waXhl
bC9sYXJnZS1zaXplcy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgpOgor
ICAgICAgICBMaW1pdCB0byBGcmFjdGlvbmFsTGF5b3V0VW5pdCBtaW4vbWF4LgorICAgICAgICAK
KyAgICAgICAgKiBwbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhY3Rpb25hbExheW91dFVuaXQ6Om1heCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFj
dGlvbmFsTGF5b3V0VW5pdDo6bWluKToKKyAgICAgICAgUmVkdWNlIG1heC9pbmNyZWFzZSBtaW4g
YnkgMS8zMCB0byBhbGxvdyByb3VuZCB0byBvcGVyYXRlCisgICAgICAgIHdpdGhvdXQgb3ZlcmZs
b3dpbmcuCisgICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6c25hcFNpemVUb1BpeGVsKToKKyAg
ICAgICAgQ2hhbmdlIHNuYXBTaXplVG9QaXhlbCB0byBhZGQgdGhlIGZyYWN0aW9uIG9mIHRoZSBs
b2NhdGlvbgorICAgICAgICByYXRoZXIgdGhhbiB0aGUgZnVsbCB2YWx1ZS4KKyAgICAgICAgCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OnBpeGVsU25hcHBlZEludFJlY3QpOgorICAgICAgICBDaGFuZ2UgcGl4ZWxT
bmFwcGVkSW50UmVjdCB0byB1c2Ugc25hcFNpemVUb1BpeGVsLgorCiAyMDEyLTA5LTA2ICBBbmRy
ZWkgUG9lbmFydSAgPHBvZW5hcnVAYWRvYmUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFByb3RvY29sIEV4dGVuc2lvbjogQWRkICJyZWdpb25MYXlvdXRVcGRhdGUiIGV2ZW50CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDEyNzU5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2Niw3ICs0NjYsOCBAQCB0ZW1wbGF0ZTw+IHVuc2lnbmVkIENTU1ByaW1pdGl2
ZVZhbHVlOjpjCiB0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxl
bmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0IG11
bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CiAjaWYgRU5BQkxFKFNVQlBJWEVM
X0xBWU9VVCkKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pihjb21wdXRlTGVu
Z3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KSksIEZpeGVkKTsKKyAgICBkb3VibGUgdmFsdWUgPSBjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxl
LCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICByZXR1cm4g
TGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGludE1heEZvckxheW91dFVuaXQgfHwg
dmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDogdmFsdWUpLCBGaXhlZCk7CiAjZWxz
ZQogICAgIHJldHVybiBMZW5ndGgocm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPGZsb2F0Pihj
b21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGlu
Z0ZvbnRTaXplKSksIEZpeGVkKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRnJhY3Rpb25hbExheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCShyZXZpc2lvbiAxMjc1OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMzUsMTMgKzIzNSwxNSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEZyYWN0aW9u
YWxMYXlvdXRVbml0IG1heCgpCiAgICAgewogICAgICAgICBGcmFjdGlvbmFsTGF5b3V0VW5pdCBt
OwotICAgICAgICBtLm1fdmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwor
ICAgICAgICAvLyBSZWR1Y2UgbWF4IHZhbHVlIGJ5IGtGaXhlZFBvaW50RGVub21pbmF0b3IgLyAy
IHRvIHByZXZlbnQgbWF4KCkucm91bmQoKSBmcm9tIG92ZXJmbG93aW5nLgorICAgICAgICBtLm1f
dmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpIC0ga0ZpeGVkUG9pbnREZW5v
bWluYXRvciAvIDI7CiAgICAgICAgIHJldHVybiBtOwogICAgIH0KICAgICBzdGF0aWMgY29uc3Qg
RnJhY3Rpb25hbExheW91dFVuaXQgbWluKCkKICAgICB7CiAgICAgICAgIEZyYWN0aW9uYWxMYXlv
dXRVbml0IG07Ci0gICAgICAgIG0ubV92YWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6
bWluKCk7CisgICAgICAgIC8vIEluY3JlYXNlIG1pbiB2YWx1ZSBieSBrRml4ZWRQb2ludERlbm9t
aW5hdG9yIC8gMiB0byBwcmV2ZW50IG1pbigpLnJvdW5kKCkgZnJvbSBvdmVyZmxvd2luZy4KKyAg
ICAgICAgbS5tX3ZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSArIGtGaXhl
ZFBvaW50RGVub21pbmF0b3IgLyAyOwogICAgICAgICByZXR1cm4gbTsKICAgICB9CiAgICAgc3Rh
dGljIEZyYWN0aW9uYWxMYXlvdXRVbml0IGNsYW1wKGRvdWJsZSB2YWx1ZSkKQEAgLTc5Miw3ICs3
OTQsOCBAQCBpbmxpbmUgZmxvYXQmIG9wZXJhdG9yLz0oZmxvYXQmIGEsIGNvbnN0CiAKIGlubGlu
ZSBpbnQgc25hcFNpemVUb1BpeGVsKEZyYWN0aW9uYWxMYXlvdXRVbml0IHNpemUsIEZyYWN0aW9u
YWxMYXlvdXRVbml0IGxvY2F0aW9uKSAKIHsKLSAgICByZXR1cm4gKGxvY2F0aW9uICsgc2l6ZSku
cm91bmQoKSAtIGxvY2F0aW9uLnJvdW5kKCk7CisgICAgRnJhY3Rpb25hbExheW91dFVuaXQgZnJh
Y3Rpb24gPSBsb2NhdGlvbiAtIGxvY2F0aW9uLmZsb29yKCk7CisgICAgcmV0dXJuIChmcmFjdGlv
biArIHNpemUpLnJvdW5kKCkgLSBmcmFjdGlvbi5yb3VuZCgpOwogfQogCiAjaWYgUExBVEZPUk0o
UVQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5
b3V0UmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZyYWN0aW9uYWxMYXlvdXRSZWN0LmgJKHJldmlzaW9uIDEyNzU5OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRSZWN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIwNyw5ICsyMDcsOSBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEZyYWN0
aW9uYWxMCiBpbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBwZWRJbnRSZWN0KGNvbnN0IEZyYWN0aW9u
YWxMYXlvdXRSZWN0JiByZWN0KQogewogI2lmIEVOQUJMRShTVUJQSVhFTF9MQVlPVVQpCi0gICAg
SW50UG9pbnQgcm91bmRlZExvY2F0aW9uID0gcm91bmRlZEludFBvaW50KHJlY3QubG9jYXRpb24o
KSk7Ci0gICAgcmV0dXJuIEludFJlY3Qocm91bmRlZExvY2F0aW9uLCBJbnRTaXplKChyZWN0Lngo
KSArIHJlY3Qud2lkdGgoKSkucm91bmQoKSAtIHJvdW5kZWRMb2NhdGlvbi54KCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWN0LnkoKSArIHJlY3QuaGVp
Z2h0KCkpLnJvdW5kKCkgLSByb3VuZGVkTG9jYXRpb24ueSgpKSk7CisgICAgcmV0dXJuIEludFJl
Y3Qocm91bmRlZEludFBvaW50KHJlY3QubG9jYXRpb24oKSksIEludFNpemUoc25hcFNpemVUb1Bp
eGVsKHJlY3Qud2lkdGgoKSwgcmVjdC54KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBTaXplVG9QaXhlbChyZWN0Lmhl
aWdodCgpLCByZWN0LnkoKSkpKTsKKwogI2Vsc2UKICAgICByZXR1cm4gSW50UmVjdChyZWN0KTsK
ICNlbmRpZgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3NzgyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMDYgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFByZXZlbnQgb3ZlcmZsb3dzIGlu
IEZyYWN0aW9uYWxMYXlvdXRVbml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBoYW5kbGluZyBvZiBsYXJnZSB2YWx1ZXMuCisKKyAg
ICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTItMDktMDYgIEFuZHJlaSBQb2VuYXJ1ICA8cG9lbmFy
dUBhZG9iZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUHJvdG9jb2wgRXh0ZW5zaW9u
OiBBZGQgInJlZ2lvbkxheW91dFVwZGF0ZSIgZXZlbnQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKK1BBU1MgZWxlbWVudC53aWR0aCA9IDUwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwLCByZWN0LndpZHRoIDUwMDAgYW5kIGNvbXB1dGVk
IHdpZHRoIDUwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMDAsIHJlY3Qud2lkdGggNTAwMDAgYW5kIGNvbXB1dGVk
IHdpZHRoIDUwMDAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwMDAsIHJlY3Qud2lkdGggNTAwMDAwIGFuZCBjb21w
dXRlZCB3aWR0aCA1MDAwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDUw
MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwMDAwLCByZWN0LndpZHRoIDUwMDAwMDAg
YW5kIGNvbXB1dGVkIHdpZHRoIDUwMDAwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53
aWR0aCA9IDUwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggMCwgcmVjdC53aWR0aCAwIGFu
ZCBjb21wdXRlZCB3aWR0aCAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAz
NTc5MTM4OHB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDM1NzkxMzg4LCByZWN0LndpZHRoIDM1Nzkx
Mzg4IGFuZCBjb21wdXRlZCB3aWR0aCAzNTc5MTM4OHB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gMzU3OTEzOTBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAzNTc5MTM5MiwgcmVj
dC53aWR0aCAzNTc5MTM5MiBhbmQgY29tcHV0ZWQgd2lkdGggMzU3OTEzOTJweCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzkycHgsIHJldHVybnMgb2Zmc2V0V2lkdGgg
MzU3OTEzOTIsIHJlY3Qud2lkdGggMzU3OTEzOTIgYW5kIGNvbXB1dGVkIHdpZHRoIDM1NzkxMzky
cHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAzNTc5MTM5NHB4LCByZXR1cm5z
IG9mZnNldFdpZHRoIDM1NzkxMzkyLCByZWN0LndpZHRoIDM1NzkxMzkyIGFuZCBjb21wdXRlZCB3
aWR0aCAzNTc5MTM5MnB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEz
OTVweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAwLCByZWN0LndpZHRoIDAgYW5kIGNvbXB1dGVkIHdp
ZHRoIDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzk2cHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGggMCwgcmVjdC53aWR0aCAwIGFuZCBjb21wdXRlZCB3aWR0aCAwcHgg
YXMgZXhwZWN0ZWQuCitUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11
bSBzdXBwb3J0ZWQgdmFsdWUuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJn
ZS1zaXplcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xh
cmdlLXNpemVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhl
bC9sYXJnZS1zaXplcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBzaXplcyBleGNl
ZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgorICAgICAgICA8L3A+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0ZWRX
aWR0aCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdp
ZHRoICsgJ3B4JzsKKyAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwub2Zmc2V0V2lkdGggPT0g
ZXhwZWN0ZWRXaWR0aCAmJiByZWN0LndpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgc3R5bGUud2lk
dGggPT0gZXhwZWN0ZWRXaWR0aCArICdweCcpCisgICAgICAgICAgICAgICAgICAgIC8vdGVzdFBh
c3NlZCgnRWxlbWVudCBnaXZlbiBhIHdpZHRoIG9mICcgKyB3aWR0aCArICcgcmV0dXJucyAKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCAr
ICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0Lndp
ZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndpZHRo
ICsgJyBhcyBleHBlY3RlZC4nKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVj
dC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcsIGV4cGVj
dGVkICcgKyBleHBlY3RlZFdpZHRoICsgJy4nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IAorICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTsKKworICAgICAgICAgICAg
dGVzdFNpemUoNTAwMCwgNTAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAwMDAp
OworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwLCA1MDAwMDApOworICAgICAgICAgICAgdGVz
dFNpemUoNTAwMDAwMCwgNTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwMCwg
MCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM4OCwgMzU3OTEzODgpOworICAgICAgICAg
ICAgdGVzdFNpemUoMzU3OTEzOTAsIDM1NzkxMzkyKTsgLy8gZmxvYXQgaW1wcmVzc2lvbgorICAg
ICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTIsIDM1NzkxMzkyKTsKKyAgICAgICAgICAgIHRlc3RT
aXplKDM1NzkxMzk0LCAzNTc5MTM5Mik7IC8vIGZsb2F0IGltcHJlc3Npb24KKyAgICAgICAgICAg
IHRlc3RTaXplKDM1NzkxMzk1LCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk2LCAw
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChl
bCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlw
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1i
ZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1BB
U1M6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFzIDBweCwgcmVhZCBhZ2FpbiBhcyAwcHgKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1saW9uL1NraXBwZWQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxpb24vU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxpb24vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAt
MTExLDYgKzExMSw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0K
IGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9z
dWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lu
bGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMu
aHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1
Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9z
dWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5o
dG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBl
ZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXNub3dsZW9w
YXJkL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw2ICsyMDUsNyBAQCBmYXN0L3N1Yi1w
aXhlbC9mbG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxv
Y2stc2hvdWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRo
LW1hcmdpbi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0
bWwKK2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91
dC1ib3hlcy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxp
Z25zLXdpdGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rp
b24tZ2Fwcy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0yMDksNiArMjA5LDcgQEAgZmFz
dC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5s
aW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxv
Y2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFk
ZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhl
bC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJp
Z2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24v
c2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtODE3LDYgKzgxNyw3IEBAIGZhc3Qvc3Vi
LXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1i
bG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdp
dGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcu
aHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5
b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1h
bGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVj
dGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC00LjgvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC00LjgvU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQtNC44L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4LDcgQEAgZmFzdC9z
dWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5l
LWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2st
d2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGlu
Zy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9s
YXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0
LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2Vs
ZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSw3IEBAIGZhc3Qvc3ViLXBpeGVs
L2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1z
aG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFy
Z2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAor
ZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJv
eGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMt
d2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1n
YXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4td2syL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
LXdrMi9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4td2syL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTk0NCw2ICs5NDQsNyBAQCBmYXN0L3N1
Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUt
YmxvY2stc2hvdWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13
aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5n
Lmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xh
eW91dC1ib3hlcy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQt
YWxpZ25zLXdpdGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxl
Y3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luLXhwL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luLXhwL1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi14cC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBAIGZhc3Qv
c3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGlu
ZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2Nr
LXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRp
bmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwv
bGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdo
dC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3Nl
bGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTE3NDIsNiArMTc0Miw3IEBAIGZhc3Qvc3Vi
LXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1i
bG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdp
dGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcu
aHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5
b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1h
bGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVj
dGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTIxMjcsNiArMjEyNyw3
IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBp
eGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5s
aW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13
aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9z
dWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3Np
dGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2Vs
ZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93azIvU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2syL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcgQEAgZmFz
dC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5s
aW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxv
Y2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFk
ZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhl
bC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJp
Z2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24v
c2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162785</attachid>
            <date>2012-09-07 09:15:03 -0700</date>
            <delta_ts>2012-09-07 14:44:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95883-20120907091442.patch</filename>
            <type>text/plain</type>
            <size>18254</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzc4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA5LTA2ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBQcmV2ZW50IG92ZXJmbG93cyBp
biBGcmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTU4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAtIEF2b2lkIG92ZXJmbG93IGluIHNuYXBTaXplVG9QaXhlbCBieSB1c2lu
ZyB0aGUgZnJhY3Rpb24gb2YgdGhlCisgICAgICAgIGxvY2F0aW9uIGluc3RlYWQgb2YgdGhlIGZ1
bGwgdmFsdWUuCisgICAgICAgIAorICAgICAgICBBdm9pZCBvdmVyZmxvdyBpbiByb3VuZCBieSBh
ZGp1c3RpbmcgdGhlIG1heC9taW4gdmFsdWVzIGJ5IDEvMzAuCisgICAgICAgIFRoaXMgYWxsb3dz
IHJvdW5kIHRvIGJlIGNhbGxlZCBvbiBhbnkgdmFsdWUgd2l0aG91dCBvdmVyZmxvd2luZy4KKyAg
ICAgICAgCisgICAgICAgIEF2b2lkIG92ZXJmbG93IHdoZW4gY29udmVydGluZyBmcm9tIGEgTGVu
Z3RoIHRvIGEgTGF5b3V0VW5pdCBieQorICAgICAgICBsaW1pdGluZyB0aGUgdmFsdWUgdG8gRnJh
Y3Rpb25hbExheW91dFVuaXQgbWluL21heC4gVGhpcyBtYXRjaGVzCisgICAgICAgIHRoZSBiZWhh
dmlvciBvZiB0aGUgbm9uLXN1YnBpeGVsIGNvZGUgcGF0aCB3aGVyZSB0aGUgdmFsdWVzIGFyZQor
ICAgICAgICBzaW1pbGFybHkgbGltaXRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L3N1Yi1waXhl
bC9sYXJnZS1zaXplcy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgpOgor
ICAgICAgICBMaW1pdCB0byBGcmFjdGlvbmFsTGF5b3V0VW5pdCBtaW4vbWF4LgorICAgICAgICAK
KyAgICAgICAgKiBwbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhY3Rpb25hbExheW91dFVuaXQ6Om1heCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFj
dGlvbmFsTGF5b3V0VW5pdDo6bWluKToKKyAgICAgICAgUmVkdWNlIG1heC9pbmNyZWFzZSBtaW4g
YnkgMS8zMCB0byBhbGxvdyByb3VuZCB0byBvcGVyYXRlCisgICAgICAgIHdpdGhvdXQgb3ZlcmZs
b3dpbmcuCisgICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6c25hcFNpemVUb1BpeGVsKToKKyAg
ICAgICAgQ2hhbmdlIHNuYXBTaXplVG9QaXhlbCB0byBhZGQgdGhlIGZyYWN0aW9uIG9mIHRoZSBs
b2NhdGlvbgorICAgICAgICByYXRoZXIgdGhhbiB0aGUgZnVsbCB2YWx1ZS4KKyAgICAgICAgCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OnBpeGVsU25hcHBlZEludFJlY3QpOgorICAgICAgICBDaGFuZ2UgcGl4ZWxT
bmFwcGVkSW50UmVjdCB0byB1c2Ugc25hcFNpemVUb1BpeGVsLgorCiAyMDEyLTA5LTA2ICBBbmRy
ZWkgUG9lbmFydSAgPHBvZW5hcnVAYWRvYmUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFByb3RvY29sIEV4dGVuc2lvbjogQWRkICJyZWdpb25MYXlvdXRVcGRhdGUiIGV2ZW50CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDEyNzU5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2Niw3ICs0NjYsOCBAQCB0ZW1wbGF0ZTw+IHVuc2lnbmVkIENTU1ByaW1pdGl2
ZVZhbHVlOjpjCiB0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxl
bmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0IG11
bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CiAjaWYgRU5BQkxFKFNVQlBJWEVM
X0xBWU9VVCkKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pihjb21wdXRlTGVu
Z3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KSksIEZpeGVkKTsKKyAgICBkb3VibGUgdmFsdWUgPSBjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxl
LCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICByZXR1cm4g
TGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGludE1heEZvckxheW91dFVuaXQgfHwg
dmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDogdmFsdWUpLCBGaXhlZCk7CiAjZWxz
ZQogICAgIHJldHVybiBMZW5ndGgocm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPGZsb2F0Pihj
b21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGlu
Z0ZvbnRTaXplKSksIEZpeGVkKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRnJhY3Rpb25hbExheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCShyZXZpc2lvbiAxMjc1OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMzUsMTMgKzIzNSwxNSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEZyYWN0aW9u
YWxMYXlvdXRVbml0IG1heCgpCiAgICAgewogICAgICAgICBGcmFjdGlvbmFsTGF5b3V0VW5pdCBt
OwotICAgICAgICBtLm1fdmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwor
ICAgICAgICAvLyBSZWR1Y2UgbWF4IHZhbHVlIGJ5IGtGaXhlZFBvaW50RGVub21pbmF0b3IgLyAy
IHRvIHByZXZlbnQgbWF4KCkucm91bmQoKSBmcm9tIG92ZXJmbG93aW5nLgorICAgICAgICBtLm1f
dmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpIC0ga0ZpeGVkUG9pbnREZW5v
bWluYXRvciAvIDI7CiAgICAgICAgIHJldHVybiBtOwogICAgIH0KICAgICBzdGF0aWMgY29uc3Qg
RnJhY3Rpb25hbExheW91dFVuaXQgbWluKCkKICAgICB7CiAgICAgICAgIEZyYWN0aW9uYWxMYXlv
dXRVbml0IG07Ci0gICAgICAgIG0ubV92YWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6
bWluKCk7CisgICAgICAgIC8vIEluY3JlYXNlIG1pbiB2YWx1ZSBieSBrRml4ZWRQb2ludERlbm9t
aW5hdG9yIC8gMiB0byBwcmV2ZW50IG1pbigpLnJvdW5kKCkgZnJvbSBvdmVyZmxvd2luZy4KKyAg
ICAgICAgbS5tX3ZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSArIGtGaXhl
ZFBvaW50RGVub21pbmF0b3IgLyAyOwogICAgICAgICByZXR1cm4gbTsKICAgICB9CiAgICAgc3Rh
dGljIEZyYWN0aW9uYWxMYXlvdXRVbml0IGNsYW1wKGRvdWJsZSB2YWx1ZSkKQEAgLTc5Miw3ICs3
OTQsOCBAQCBpbmxpbmUgZmxvYXQmIG9wZXJhdG9yLz0oZmxvYXQmIGEsIGNvbnN0CiAKIGlubGlu
ZSBpbnQgc25hcFNpemVUb1BpeGVsKEZyYWN0aW9uYWxMYXlvdXRVbml0IHNpemUsIEZyYWN0aW9u
YWxMYXlvdXRVbml0IGxvY2F0aW9uKSAKIHsKLSAgICByZXR1cm4gKGxvY2F0aW9uICsgc2l6ZSku
cm91bmQoKSAtIGxvY2F0aW9uLnJvdW5kKCk7CisgICAgRnJhY3Rpb25hbExheW91dFVuaXQgZnJh
Y3Rpb24gPSBsb2NhdGlvbiAtIGxvY2F0aW9uLmZsb29yKCk7CisgICAgcmV0dXJuIChmcmFjdGlv
biArIHNpemUpLnJvdW5kKCkgLSBmcmFjdGlvbi5yb3VuZCgpOwogfQogCiAjaWYgUExBVEZPUk0o
UVQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GcmFjdGlvbmFsTGF5
b3V0UmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZyYWN0aW9uYWxMYXlvdXRSZWN0LmgJKHJldmlzaW9uIDEyNzU5OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRSZWN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIwNyw5ICsyMDcsOSBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEZyYWN0
aW9uYWxMCiBpbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBwZWRJbnRSZWN0KGNvbnN0IEZyYWN0aW9u
YWxMYXlvdXRSZWN0JiByZWN0KQogewogI2lmIEVOQUJMRShTVUJQSVhFTF9MQVlPVVQpCi0gICAg
SW50UG9pbnQgcm91bmRlZExvY2F0aW9uID0gcm91bmRlZEludFBvaW50KHJlY3QubG9jYXRpb24o
KSk7Ci0gICAgcmV0dXJuIEludFJlY3Qocm91bmRlZExvY2F0aW9uLCBJbnRTaXplKChyZWN0Lngo
KSArIHJlY3Qud2lkdGgoKSkucm91bmQoKSAtIHJvdW5kZWRMb2NhdGlvbi54KCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWN0LnkoKSArIHJlY3QuaGVp
Z2h0KCkpLnJvdW5kKCkgLSByb3VuZGVkTG9jYXRpb24ueSgpKSk7CisgICAgcmV0dXJuIEludFJl
Y3Qocm91bmRlZEludFBvaW50KHJlY3QubG9jYXRpb24oKSksIEludFNpemUoc25hcFNpemVUb1Bp
eGVsKHJlY3Qud2lkdGgoKSwgcmVjdC54KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuYXBTaXplVG9QaXhlbChyZWN0Lmhl
aWdodCgpLCByZWN0LnkoKSkpKTsKKwogI2Vsc2UKICAgICByZXR1cm4gSW50UmVjdChyZWN0KTsK
ICNlbmRpZgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3NzgyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMDYgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFByZXZlbnQgb3ZlcmZsb3dzIGlu
IEZyYWN0aW9uYWxMYXlvdXRVbml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTg4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBoYW5kbGluZyBvZiBsYXJnZSB2YWx1ZXMuCisKKyAg
ICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTItMDktMDYgIEFuZHJlaSBQb2VuYXJ1ICA8cG9lbmFy
dUBhZG9iZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUHJvdG9jb2wgRXh0ZW5zaW9u
OiBBZGQgInJlZ2lvbkxheW91dFVwZGF0ZSIgZXZlbnQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKK1BBU1MgZWxlbWVudC53aWR0aCA9IDUwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwLCByZWN0LndpZHRoIDUwMDAgYW5kIGNvbXB1dGVk
IHdpZHRoIDUwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMDAsIHJlY3Qud2lkdGggNTAwMDAgYW5kIGNvbXB1dGVk
IHdpZHRoIDUwMDAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwMDAsIHJlY3Qud2lkdGggNTAwMDAwIGFuZCBjb21w
dXRlZCB3aWR0aCA1MDAwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDUw
MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwMDAwLCByZWN0LndpZHRoIDUwMDAwMDAg
YW5kIGNvbXB1dGVkIHdpZHRoIDUwMDAwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53
aWR0aCA9IDUwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggMCwgcmVjdC53aWR0aCAwIGFu
ZCBjb21wdXRlZCB3aWR0aCAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAz
NTc5MTM4OHB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDM1NzkxMzg4LCByZWN0LndpZHRoIDM1Nzkx
Mzg4IGFuZCBjb21wdXRlZCB3aWR0aCAzNTc5MTM4OHB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gMzU3OTEzOTBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAzNTc5MTM5MiwgcmVj
dC53aWR0aCAzNTc5MTM5MiBhbmQgY29tcHV0ZWQgd2lkdGggMzU3OTEzOTJweCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzkycHgsIHJldHVybnMgb2Zmc2V0V2lkdGgg
MzU3OTEzOTIsIHJlY3Qud2lkdGggMzU3OTEzOTIgYW5kIGNvbXB1dGVkIHdpZHRoIDM1NzkxMzky
cHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAzNTc5MTM5NHB4LCByZXR1cm5z
IG9mZnNldFdpZHRoIDM1NzkxMzkyLCByZWN0LndpZHRoIDM1NzkxMzkyIGFuZCBjb21wdXRlZCB3
aWR0aCAzNTc5MTM5MnB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEz
OTVweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAwLCByZWN0LndpZHRoIDAgYW5kIGNvbXB1dGVkIHdp
ZHRoIDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzk2cHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGggMCwgcmVjdC53aWR0aCAwIGFuZCBjb21wdXRlZCB3aWR0aCAwcHgg
YXMgZXhwZWN0ZWQuCitUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11
bSBzdXBwb3J0ZWQgdmFsdWUuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJn
ZS1zaXplcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xh
cmdlLXNpemVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhl
bC9sYXJnZS1zaXplcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBzaXplcyBleGNl
ZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgorICAgICAgICA8L3A+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0ZWRX
aWR0aCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdp
ZHRoICsgJ3B4JzsKKyAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwub2Zmc2V0V2lkdGggPT0g
ZXhwZWN0ZWRXaWR0aCAmJiByZWN0LndpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgc3R5bGUud2lk
dGggPT0gZXhwZWN0ZWRXaWR0aCArICdweCcpCisgICAgICAgICAgICAgICAgICAgIC8vdGVzdFBh
c3NlZCgnRWxlbWVudCBnaXZlbiBhIHdpZHRoIG9mICcgKyB3aWR0aCArICcgcmV0dXJucyAKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCAr
ICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0Lndp
ZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndpZHRo
ICsgJyBhcyBleHBlY3RlZC4nKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVj
dC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcsIGV4cGVj
dGVkICcgKyBleHBlY3RlZFdpZHRoICsgJy4nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IAorICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTsKKworICAgICAgICAgICAg
dGVzdFNpemUoNTAwMCwgNTAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAwMDAp
OworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwLCA1MDAwMDApOworICAgICAgICAgICAgdGVz
dFNpemUoNTAwMDAwMCwgNTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwMCwg
MCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM4OCwgMzU3OTEzODgpOworICAgICAgICAg
ICAgdGVzdFNpemUoMzU3OTEzOTAsIDM1NzkxMzkyKTsgLy8gZmxvYXQgaW1wcmVzc2lvbgorICAg
ICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTIsIDM1NzkxMzkyKTsKKyAgICAgICAgICAgIHRlc3RT
aXplKDM1NzkxMzk0LCAzNTc5MTM5Mik7IC8vIGZsb2F0IGltcHJlc3Npb24KKyAgICAgICAgICAg
IHRlc3RTaXplKDM1NzkxMzk1LCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk2LCAw
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChl
bCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9tZWRpYS92aWRlby16b29tLWNvbnRyb2xzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13
aW4vbWVkaWEvdmlkZW8tem9vbS1jb250cm9scy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEyNzU5
OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9tZWRpYS92aWRlby16b29t
LWNvbnRyb2xzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQCBs
YXllciBhdCAoNjUsMjEzKSBzaXplIDIyNXg0NSBzY3JvbGxXaWR0CiAgICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgNngzNgogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoLTQsMSkgc2l6ZSAzNngzNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyODQsMCkg
c2l6ZSA0Nng0NQotbGF5ZXIgYXQgKDEyNywyMTcpIHNpemUgNDl4MzYKK2xheWVyIGF0ICgxMjcs
MjE3KSBzaXplIDQ4eDM2CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElW
fSBhdCAoLTExLC0xMikgc2l6ZSA0OXgzNgogbGF5ZXIgYXQgKDU3LDMxMCkgc2l6ZSAyNDB4MTgw
CiAgIFJlbmRlclZpZGVvIHtWSURFT30gYXQgKDQ1LDI5OCkgc2l6ZSAyNDB4MTgwCkBAIC01Miw1
ICs1Miw1IEBAIGxheWVyIGF0ICg2NSw0MzgpIHNpemUgMjI1eDQ1IHNjcm9sbFdpZHQKICAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEsMSkgc2l6ZSA2eDM2CiAgICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgtNCwxKSBzaXplIDM2eDM2CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0g
YXQgKDI4NCwwKSBzaXplIDQ2eDQ1Ci1sYXllciBhdCAoMTI3LDQ0Mikgc2l6ZSA0OXgzNiBiYWNr
Z3JvdW5kQ2xpcCBhdCAoNjAsNDE3KSBzaXplIDIyNXg0NSBjbGlwIGF0ICg2MCw0MTcpIHNpemUg
MjI1eDQ1IG91dGxpbmVDbGlwIGF0ICg2MCw0MTcpIHNpemUgMjI1eDQ1CitsYXllciBhdCAoMTI3
LDQ0Mikgc2l6ZSA0OHgzNiBiYWNrZ3JvdW5kQ2xpcCBhdCAoNjAsNDE3KSBzaXplIDIyNXg0NSBj
bGlwIGF0ICg2MCw0MTcpIHNpemUgMjI1eDQ1IG91dGxpbmVDbGlwIGF0ICg2MCw0MTcpIHNpemUg
MjI1eDQ1CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoLTEx
LC0xMikgc2l6ZSA0OXgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3Vu
ZC10cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorUEFTUzogcmVhZCA5MDAxMDAwMHB4IGJhY2sgYXMg
MHB4LCByZWFkIGFnYWluIGFzIDBweApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxp
b24vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGlvbi9T
a2lwcGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGlv
bi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDcgQEAgZmFzdC9zdWItcGl4
ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2Nr
LXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1t
YXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1s
CitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQt
Ym94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWdu
cy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9u
LWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1zbm93bGVvcGFyZC9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1zbm93bGVvcGFyZC9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAkod29ya2luZyBjb3B5KQpA
QCAtMjA1LDYgKzIwNSw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhl
bC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFz
dC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVs
L2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6
ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0
L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFz
dC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0
cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCShyZXZpc2lvbiAx
Mjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTIwOSw2ICsyMDksNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgt
c3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1
Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xh
cmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRt
bAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFs
LW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDEy
NzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCSh3b3JraW5nIGNvcHkp
CkBAIC04MTcsNiArODE3LDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBp
eGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBm
YXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4
ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1z
aXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZh
c3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBm
YXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZz
ZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0LTQuOC9Ta2lwcGVkCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0LTQuOC9Ta2lwcGVkCShyZXZpc2lvbiAx
Mjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC00LjgvU2tpcHBlZAkod29ya2luZyBj
b3B5KQpAQCAtOTgsNiArOTgsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgtc3Vi
cGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0bWwK
IGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1Yi1w
aXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xhcmdl
LXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRtbAog
ZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0bWwK
IGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFsLW9m
ZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1OTkp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTksNiArMjk5LDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQog
ZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1
Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5s
aW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5o
dG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3Vi
LXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1
Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0
bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi13azIvU2tpcHBlZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4td2syL1NraXBwZWQJKHJldmlzaW9uIDEyNzU5
OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi13azIvU2tpcHBlZAkod29ya2luZyBjb3B5
KQpAQCAtOTQ0LDYgKzk0NCw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJw
aXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAog
ZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBp
eGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Ut
c2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBm
YXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAog
ZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zm
c2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4teHAvU2tpcHBlZAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4teHAvU2tpcHBlZAkocmV2aXNpb24g
MTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXhwL1NraXBwZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTQxLDYgKzQxLDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1
YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1s
CiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWIt
cGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJn
ZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwK
IGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1s
CiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1v
ZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1
OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5KQpA
QCAtMTc0Miw2ICsxNzQyLDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBp
eGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBm
YXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4
ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1z
aXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZh
c3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBm
YXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZz
ZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAkocmV2aXNp
b24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAkod29y
a2luZyBjb3B5KQpAQCAtMjEyNyw2ICsyMTI3LDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3Jh
cC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qt
d3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAog
ZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1w
aXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16
b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRh
aW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJh
Y3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lw
cGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCShyZXZp
c2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZAkod29ya2lu
ZyBjb3B5KQpAQCAtOTQsNiArOTQsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9hdC13cmFwLXdpdGgt
c3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxkLW5vdC13cmFwLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5odG1sCiBmYXN0L3N1
Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qvc3ViLXBpeGVsL2xh
cmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13aXRoLXpvb20uaHRt
bAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgtY29udGFpbmVyLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1hdC1mcmFjdGlvbmFs
LW9mZnNldHMuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162872</attachid>
            <date>2012-09-07 14:44:23 -0700</date>
            <delta_ts>2012-09-07 15:37:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95883-20120907144402.patch</filename>
            <type>text/plain</type>
            <size>19527</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzkyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA5LTA3ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBQcmV2ZW50IG92ZXJmbG93cyBp
biBGcmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTU4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdm9pZCBvdmVyZmxvdyBpbiBzbmFwU2l6ZVRvUGl4ZWwgYnkgdXNpbmcg
dGhlIGZyYWN0aW9uIG9mIHRoZQorICAgICAgICBsb2NhdGlvbiBpbnN0ZWFkIG9mIHRoZSBmdWxs
IHZhbHVlLgorICAgICAgICAKKyAgICAgICAgQWRkIHNhZmUgdmVyc2lvbnMgb2YgbWluL21heCwg
YWRqdXN0ZWQgYnkgaGFsZiBhIHBpeGVsIHRvIGFsbG93CisgICAgICAgIHJvdW5kIHRvIGFsbG93
IHJvdW5kaW5nIHdpdGhvdXQgb3ZlcmZsb3dpbmcuCisgICAgICAgIAorICAgICAgICBBdm9pZCBv
dmVyZmxvdyB3aGVuIHNuYXBwaW5nIGEgRnJhY3Rpb25hbExheW91dFJlY3QgYnkgdXNpbmcgdGhl
CisgICAgICAgIHNhZmUgdmVyc2lvbnMgb2YgbWluL21heCBpbiBpbmZpbml0ZVJlY3QuCisgICAg
ICAgIAorICAgICAgICBBdm9pZCBvdmVyZmxvdyB3aGVuIGNvbnZlcnRpbmcgZnJvbSBhIExlbmd0
aCB0byBhIExheW91dFVuaXQgYnkKKyAgICAgICAgbGltaXRpbmcgdGhlIHZhbHVlIHRvIEZyYWN0
aW9uYWxMYXlvdXRVbml0IG1pbi9tYXguIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZp
b3Igb2YgdGhlIG5vbi1zdWJwaXhlbCBjb2RlIHBhdGggd2hlcmUgdGhlIHZhbHVlcyBhcmUKKyAg
ICAgICAgc2ltaWxhcmx5IGxpbWl0ZWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9zdWItcGl4ZWwv
bGFyZ2Utc2l6ZXMuaHRtbAorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKToKKyAg
ICAgICAgTGltaXQgdG8gRnJhY3Rpb25hbExheW91dFVuaXQgbWluL21heC4KKyAgICAgICAgCisg
ICAgICAgICogcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaDoKKyAgICAgICAgKEZyYWN0
aW9uYWxMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYWN0aW9uYWxMYXlvdXRVbml0
OjpzYWZlTWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYWN0aW9uYWxMYXlvdXRVbml0OjpzYWZl
TWluKToKKyAgICAgICAgUmVkdWNlIG1heC9pbmNyZWFzZSBtaW4gYnkgMS8yIHRvIGFsbG93IHJv
dW5kIHRvIG9wZXJhdGUKKyAgICAgICAgd2l0aG91dCBvdmVyZmxvd2luZy4KKworICAgICAgICAo
V2ViQ29yZTo6c25hcFNpemVUb1BpeGVsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
cmFjdGlvbmFsTGF5b3V0UmVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25hbExheW91
dFJlY3Q6OmluZmluaXRlUmVjdCk6CisgICAgICAgIFVzZSBzYWZlTWluL3NhZmVNYXguCisgICAg
ICAgIAorICAgICAgICAoV2ViQ29yZTo6cGl4ZWxTbmFwcGVkSW50UmVjdCk6CisgICAgICAgIENo
YW5nZSBwaXhlbFNuYXBwZWRJbnRSZWN0IHRvIHVzZSBzbmFwU2l6ZVRvUGl4ZWwuCisKIDIwMTIt
MDktMDcgIExlbyBZYW5nICA8bGVveWFuZ0ByaW0uY29tPgogCiAgICAgICAgIEFwcGNhY2hlIGZh
bGxiYWNrIFVSTCBtYXRjaCBzaG91bGQgdXNlIHRoZSBsb25nZXN0IGNhbmRpZGF0ZQpJbmRleDog
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCShyZXZpc2lvbiAxMjc1OTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NjYsNyArNDY2LDggQEAgdGVtcGxhdGU8PiB1bnNpZ25lZCBDU1NQcmltaXRpdmVW
YWx1ZTo6YwogdGVtcGxhdGU8PiBMZW5ndGggQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5n
dGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBmbG9hdCBtdWx0
aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKQogewogI2lmIEVOQUJMRShTVUJQSVhFTF9M
QVlPVVQpCi0gICAgcmV0dXJuIExlbmd0aChzdGF0aWNfY2FzdDxmbG9hdD4oY29tcHV0ZUxlbmd0
aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkp
LCBGaXhlZCk7CisgICAgZG91YmxlIHZhbHVlID0gY29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwg
cm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSk7CisgICAgcmV0dXJuIExl
bmd0aChzdGF0aWNfY2FzdDxmbG9hdD4odmFsdWUgPiBpbnRNYXhGb3JMYXlvdXRVbml0IHx8IHZh
bHVlIDwgaW50TWluRm9yTGF5b3V0VW5pdCA/IDAuMCA6IHZhbHVlKSwgRml4ZWQpOwogI2Vsc2UK
ICAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbjxmbG9hdD4oY29t
cHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdG
b250U2l6ZSkpLCBGaXhlZCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0ZyYWN0aW9uYWxMYXlvdXRVbml0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaAkocmV2aXNpb24gMTI3NTk5KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjQ0LDYgKzI0NCwyMSBAQCBwdWJsaWM6CiAgICAgICAgIG0ubV92YWx1ZSA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8aW50Pjo6bWluKCk7CiAgICAgICAgIHJldHVybiBtOwogICAgIH0KKworICAg
IC8vIFZlcnNpb25zIG9mIG1heC9taW4gdGhhdCBhcmUgc2xpZ2h0bHkgc21hbGxlci9sYXJnZXIg
dGhhbiBtYXgvbWluKCkgdG8gYWxsb3cgZm9yIHJvaW5kaW5nIHdpdGhvdXQgb3ZlcmZsb3dpbmcu
CisgICAgc3RhdGljIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0IHNhZmVNYXgoKQorICAgIHsK
KyAgICAgICAgRnJhY3Rpb25hbExheW91dFVuaXQgbTsKKyAgICAgICAgbS5tX3ZhbHVlID0gc3Rk
OjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAtIGtGaXhlZFBvaW50RGVub21pbmF0b3IgLyAy
OworICAgICAgICByZXR1cm4gbTsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0IEZyYWN0aW9uYWxM
YXlvdXRVbml0IHNhZmVNaW4oKQorICAgIHsKKyAgICAgICAgRnJhY3Rpb25hbExheW91dFVuaXQg
bTsKKyAgICAgICAgbS5tX3ZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSAr
IGtGaXhlZFBvaW50RGVub21pbmF0b3IgLyAyOworICAgICAgICByZXR1cm4gbTsKKyAgICB9Cisg
ICAgCiAgICAgc3RhdGljIEZyYWN0aW9uYWxMYXlvdXRVbml0IGNsYW1wKGRvdWJsZSB2YWx1ZSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBjbGFtcFRvPEZyYWN0aW9uYWxMYXlvdXRVbml0Pih2YWx1
ZSwgRnJhY3Rpb25hbExheW91dFVuaXQ6Om1pbigpLCBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6bWF4
KCkpOwpAQCAtNzkyLDcgKzgwNyw4IEBAIGlubGluZSBmbG9hdCYgb3BlcmF0b3IvPShmbG9hdCYg
YSwgY29uc3QKIAogaW5saW5lIGludCBzbmFwU2l6ZVRvUGl4ZWwoRnJhY3Rpb25hbExheW91dFVu
aXQgc2l6ZSwgRnJhY3Rpb25hbExheW91dFVuaXQgbG9jYXRpb24pIAogewotICAgIHJldHVybiAo
bG9jYXRpb24gKyBzaXplKS5yb3VuZCgpIC0gbG9jYXRpb24ucm91bmQoKTsKKyAgICBGcmFjdGlv
bmFsTGF5b3V0VW5pdCBmcmFjdGlvbiA9IGxvY2F0aW9uIC0gbG9jYXRpb24uZmxvb3IoKTsKKyAg
ICByZXR1cm4gKGZyYWN0aW9uICsgc2l6ZSkucm91bmQoKSAtIGZyYWN0aW9uLnJvdW5kKCk7CiB9
CiAKICNpZiBQTEFURk9STShRVCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZyYWN0aW9uYWxMYXlvdXRSZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaAkocmV2aXNpb24gMTI3NTk5
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJl
Y3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSwxMCBAQCBwdWJsaWM6CiAKICAgICBG
cmFjdGlvbmFsTGF5b3V0UmVjdCB0cmFuc3Bvc2VkUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEZyYWN0
aW9uYWxMYXlvdXRSZWN0KG1fbG9jYXRpb24udHJhbnNwb3NlZFBvaW50KCksIG1fc2l6ZS50cmFu
c3Bvc2VkU2l6ZSgpKTsgfQogCi0gICAgc3RhdGljIEZyYWN0aW9uYWxMYXlvdXRSZWN0IGluZmlu
aXRlUmVjdCgpIHtyZXR1cm4gRnJhY3Rpb25hbExheW91dFJlY3QoRnJhY3Rpb25hbExheW91dFVu
aXQ6Om1pbigpIC8gMiwgRnJhY3Rpb25hbExheW91dFVuaXQ6Om1pbigpIC8gMiwgRnJhY3Rpb25h
bExheW91dFVuaXQ6Om1heCgpLCBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6bWF4KCkpOyB9CisgICAg
c3RhdGljIEZyYWN0aW9uYWxMYXlvdXRSZWN0IGluZmluaXRlUmVjdCgpCisgICAgeworICAgICAg
ICByZXR1cm4gRnJhY3Rpb25hbExheW91dFJlY3QoRnJhY3Rpb25hbExheW91dFVuaXQ6OnNhZmVN
aW4oKSAvIDIsIEZyYWN0aW9uYWxMYXlvdXRVbml0OjpzYWZlTWluKCkgLyAyLCBGcmFjdGlvbmFs
TGF5b3V0VW5pdDo6c2FmZU1heCgpLCBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6c2FmZU1heCgpKTsK
KyAgICB9CiAKICNpZiBQTEFURk9STShRVCkKICAgICBleHBsaWNpdCBGcmFjdGlvbmFsTGF5b3V0
UmVjdChjb25zdCBRUmVjdCYpOwpAQCAtMjA3LDkgKzIxMCw5IEBAIGlubGluZSBib29sIG9wZXJh
dG9yIT0oY29uc3QgRnJhY3Rpb25hbEwKIGlubGluZSBJbnRSZWN0IHBpeGVsU25hcHBlZEludFJl
Y3QoY29uc3QgRnJhY3Rpb25hbExheW91dFJlY3QmIHJlY3QpCiB7CiAjaWYgRU5BQkxFKFNVQlBJ
WEVMX0xBWU9VVCkKLSAgICBJbnRQb2ludCByb3VuZGVkTG9jYXRpb24gPSByb3VuZGVkSW50UG9p
bnQocmVjdC5sb2NhdGlvbigpKTsKLSAgICByZXR1cm4gSW50UmVjdChyb3VuZGVkTG9jYXRpb24s
IEludFNpemUoKHJlY3QueCgpICsgcmVjdC53aWR0aCgpKS5yb3VuZCgpIC0gcm91bmRlZExvY2F0
aW9uLngoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJl
Y3QueSgpICsgcmVjdC5oZWlnaHQoKSkucm91bmQoKSAtIHJvdW5kZWRMb2NhdGlvbi55KCkpKTsK
KyAgICByZXR1cm4gSW50UmVjdChyb3VuZGVkSW50UG9pbnQocmVjdC5sb2NhdGlvbigpKSwgSW50
U2l6ZShzbmFwU2l6ZVRvUGl4ZWwocmVjdC53aWR0aCgpLCByZWN0LngoKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc25hcFNp
emVUb1BpeGVsKHJlY3QuaGVpZ2h0KCksIHJlY3QueSgpKSkpOworCiAjZWxzZQogICAgIHJldHVy
biBJbnRSZWN0KHJlY3QpOwogI2VuZGlmCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjc5MjIpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAx
Mi0wOS0wNyAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUHJl
dmVudCBvdmVyZmxvd3MgaW4gRnJhY3Rpb25hbExheW91dFVuaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1ODgzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGhhbmRsaW5nIG9mIGxh
cmdlIHZhbHVlcy4KKworICAgICAgICAqIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL21lZGlhL3ZpZGVvLXpv
b20tY29udHJvbHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLWxpb24vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
c25vd2xlb3BhcmQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQt
NC44L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4td2syL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luLXhwL1NraXBw
ZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
d2luY2Fpcm8vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvU2tpcHBlZDoKKwogMjAx
Mi0wOS0wNyAgTGVvIFlhbmcgIDxsZW95YW5nQHJpbS5jb20+CiAKICAgICAgICAgQXBwY2FjaGUg
ZmFsbGJhY2sgVVJMIG1hdGNoIHNob3VsZCB1c2UgdGhlIGxvbmdlc3QgY2FuZGlkYXRlCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Ut
c2l6ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACitQQVNTIGVs
ZW1lbnQud2lkdGggPSA1MDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMCwgcmVjdC53aWR0
aCA1MDAwIGFuZCBjb21wdXRlZCB3aWR0aCA1MDAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSA1MDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDUwMDAwLCByZWN0LndpZHRo
IDUwMDAwIGFuZCBjb21wdXRlZCB3aWR0aCA1MDAwMHB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gNTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMDAwLCByZWN0Lndp
ZHRoIDUwMDAwMCBhbmQgY29tcHV0ZWQgd2lkdGggNTAwMDAwcHggYXMgZXhwZWN0ZWQuCitQQVNT
IGVsZW1lbnQud2lkdGggPSA1MDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMDAwMCwg
cmVjdC53aWR0aCA1MDAwMDAwIGFuZCBjb21wdXRlZCB3aWR0aCA1MDAwMDAwcHggYXMgZXhwZWN0
ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRo
IDAsIHJlY3Qud2lkdGggMCBhbmQgY29tcHV0ZWQgd2lkdGggMHB4IGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LndpZHRoID0gMzU3OTEzODhweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAzNTc5MTM4
OCwgcmVjdC53aWR0aCAzNTc5MTM4OCBhbmQgY29tcHV0ZWQgd2lkdGggMzU3OTEzODhweCBhcyBl
eHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzkwcHgsIHJldHVybnMgb2Zmc2V0
V2lkdGggMzU3OTEzOTIsIHJlY3Qud2lkdGggMzU3OTEzOTIgYW5kIGNvbXB1dGVkIHdpZHRoIDM1
NzkxMzkycHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAzNTc5MTM5MnB4LCBy
ZXR1cm5zIG9mZnNldFdpZHRoIDM1NzkxMzkyLCByZWN0LndpZHRoIDM1NzkxMzkyIGFuZCBjb21w
dXRlZCB3aWR0aCAzNTc5MTM5MnB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0g
MzU3OTEzOTRweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAzNTc5MTM5MiwgcmVjdC53aWR0aCAzNTc5
MTM5MiBhbmQgY29tcHV0ZWQgd2lkdGggMzU3OTEzOTJweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxl
bWVudC53aWR0aCA9IDM1NzkxMzk1cHgsIHJldHVybnMgb2Zmc2V0V2lkdGggMCwgcmVjdC53aWR0
aCAwIGFuZCBjb21wdXRlZCB3aWR0aCAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lk
dGggPSAzNTc5MTM5NnB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDAsIHJlY3Qud2lkdGggMCBhbmQg
Y29tcHV0ZWQgd2lkdGggMHB4IGFzIGV4cGVjdGVkLgorVGVzdCBoYW5kbGluZyBvZiBzaXplcyBl
eGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cisg
ICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD4KKyAgICAgICAgICAgIFRlc3QgaGFu
ZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4KKyAg
ICAgICAgPC9wPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNp
emUod2lkdGgsIGV4cGVjdGVkV2lkdGgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ZWwuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7CisgICAgICAgICAgICAgICAgdmFyIHN0eWxl
ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpOworICAgICAgICAgICAgICAgIHZh
ciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICAgICAgaWYg
KGVsLm9mZnNldFdpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgcmVjdC53aWR0aCA9PSBleHBlY3Rl
ZFdpZHRoICYmIHN0eWxlLndpZHRoID09IGV4cGVjdGVkV2lkdGggKyAncHgnKQorICAgICAgICAg
ICAgICAgICAgICAvL3Rlc3RQYXNzZWQoJ0VsZW1lbnQgZ2l2ZW4gYSB3aWR0aCBvZiAnICsgd2lk
dGggKyAnIHJldHVybnMgCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQu
d2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNl
dFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdp
ZHRoICcgKyBzdHlsZS53aWR0aCArICcgYXMgZXhwZWN0ZWQuJyk7CisgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyAr
IHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcs
IHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAnIGFuZCBjb21wdXRlZCB3aWR0aCAnICsgc3R5
bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRXaWR0aCArICcuJyk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChl
bCk7CisKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAsIDUwMDApOworICAgICAgICAgICAgdGVz
dFNpemUoNTAwMDAsIDUwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMCwgNTAwMDAw
KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAsIDUwMDAwMDApOworICAgICAgICAgICAg
dGVzdFNpemUoNTAwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzODgsIDM1
NzkxMzg4KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzkwLCAzNTc5MTM5Mik7IC8vIGZs
b2F0IGltcHJlc3Npb24KKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzkyLCAzNTc5MTM5Mik7
CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NCwgMzU3OTEzOTIpOyAvLyBmbG9hdCBpbXBy
ZXNzaW9uCisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vbWVkaWEvdmlk
ZW8tem9vbS1jb250cm9scy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0td2luL21lZGlhL3ZpZGVvLXpvb20tY29udHJvbHMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13
aW4vbWVkaWEvdmlkZW8tem9vbS1jb250cm9scy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDcgKzI4LDcgQEAgbGF5ZXIgYXQgKDY1LDIxMykgc2l6ZSAyMjV4NDUgc2Nyb2xsV2lk
dAogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMSwxKSBzaXplIDZ4MzYKICAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKC00LDEpIHNpemUgMzZ4MzYKICAgICBSZW5kZXJCdXR0b24g
e0lOUFVUfSBhdCAoMjg0LDApIHNpemUgNDZ4NDUKLWxheWVyIGF0ICgxMjcsMjE3KSBzaXplIDQ5
eDM2CitsYXllciBhdCAoMTI3LDIxNykgc2l6ZSA0OHgzNgogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKC0xMSwtMTIpIHNpemUgNDl4MzYKIGxheWVyIGF0ICg1
NywzMTApIHNpemUgMjQweDE4MAogICBSZW5kZXJWaWRlbyB7VklERU99IGF0ICg0NSwyOTgpIHNp
emUgMjQweDE4MApAQCAtNTIsNSArNTIsNSBAQCBsYXllciBhdCAoNjUsNDM4KSBzaXplIDIyNXg0
NSBzY3JvbGxXaWR0CiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgNngz
NgogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoLTQsMSkgc2l6ZSAzNngzNgogICAgIFJl
bmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyODQsMCkgc2l6ZSA0Nng0NQotbGF5ZXIgYXQgKDEyNyw0
NDIpIHNpemUgNDl4MzYgYmFja2dyb3VuZENsaXAgYXQgKDYwLDQxNykgc2l6ZSAyMjV4NDUgY2xp
cCBhdCAoNjAsNDE3KSBzaXplIDIyNXg0NSBvdXRsaW5lQ2xpcCBhdCAoNjAsNDE3KSBzaXplIDIy
NXg0NQorbGF5ZXIgYXQgKDEyNyw0NDIpIHNpemUgNDh4MzYgYmFja2dyb3VuZENsaXAgYXQgKDYw
LDQxNykgc2l6ZSAyMjV4NDUgY2xpcCBhdCAoNjAsNDE3KSBzaXplIDIyNXg0NSBvdXRsaW5lQ2xp
cCBhdCAoNjAsNDE3KSBzaXplIDIyNXg0NQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge0RJVn0gYXQgKC0xMSwtMTIpIHNpemUgNDl4MzYKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nz
cy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQt
dHJpcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1BBU1M6IHJlYWQg
OTAwMTAwMDBweCBiYWNrIGFzIDBweCwgcmVhZCBhZ2FpbiBhcyAwcHgKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1saW9uL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLWxpb24vU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWxpb24vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTExLDYgKzEx
MSw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3Vi
LXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwv
aW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9j
ay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFz
dC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9w
b3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwv
c2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAkocmV2aXNp
b24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkL1NraXBw
ZWQJKHdvcmtpbmcgY29weSkKQEAgLTIwNSw2ICsyMDUsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9h
dC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxk
LW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5o
dG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qv
c3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13
aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgt
Y29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1h
dC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
U2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0yMDksNiArMjA5LDcgQEAgZmFzdC9zdWItcGl4
ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2Nr
LXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1t
YXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1s
CitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQt
Ym94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWdu
cy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9u
LWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9T
a2lwcGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZAkod29ya2luZyBjb3B5KQpAQCAtODE3LDYgKzgxNyw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zs
b2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91
bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2lu
Lmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFz
dC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVz
LXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0
aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBz
LWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC00LjgvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC00Ljgv
U2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNC44
L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4LDcgQEAgZmFzdC9zdWItcGl4ZWwv
ZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNo
b3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJn
aW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitm
YXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94
ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13
aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdh
cHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAko
d29ya2luZyBjb3B5KQpAQCAtMjk5LDYgKzI5OSw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdy
YXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90
LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwK
IGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWIt
cGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgt
em9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250
YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZy
YWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4td2sy
L1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXdrMi9Ta2lw
cGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4td2syL1Nr
aXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTk0NCw2ICs5NDQsNyBAQCBmYXN0L3N1Yi1waXhlbC9m
bG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hv
dWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdp
bi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zh
c3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hl
cy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdp
dGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fw
cy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luLXhwL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXhw
L1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi14
cC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBAIGZhc3Qvc3ViLXBpeGVs
L2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1z
aG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFy
Z2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAor
ZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJv
eGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMt
d2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1n
YXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBw
ZWQJKHdvcmtpbmcgY29weSkKQEAgLTE3NDIsNiArMTc0Miw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zs
b2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91
bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2lu
Lmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFz
dC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVz
LXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0
aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBz
LWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL1NraXBwZWQJKHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bmNhaXJvL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTIxMjcsNiArMjEyNyw3IEBAIGZhc3Qv
c3ViLXBpeGVsL2Zsb2F0LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGlu
ZS1ibG9jay1zaG91bGQtbm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2Nr
LXdpdGgtbWFyZ2luLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRp
bmcuaHRtbAorZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwv
bGF5b3V0LWJveGVzLXdpdGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdo
dC1hbGlnbnMtd2l0aC1jb250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3Nl
bGVjdGlvbi1nYXBzLWF0LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS93azIvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS93azIvU2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2syL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcgQEAgZmFzdC9zdWItcGl4
ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2Nr
LXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1t
YXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1s
CitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQt
Ym94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWdu
cy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9u
LWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162884</attachid>
            <date>2012-09-07 15:37:21 -0700</date>
            <delta_ts>2012-09-07 16:16:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-95883-20120907153700.patch</filename>
            <type>text/plain</type>
            <size>19694</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzkyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA5LTA3ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBQcmV2ZW50IG92ZXJmbG93cyBp
biBGcmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTU4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
KworICAgICAgICBBdm9pZCBvdmVyZmxvdyBpbiBzbmFwU2l6ZVRvUGl4ZWwgYnkgdXNpbmcgdGhl
IGZyYWN0aW9uIG9mIHRoZQorICAgICAgICBsb2NhdGlvbiBpbnN0ZWFkIG9mIHRoZSBmdWxsIHZh
bHVlLgorICAgICAgICAKKyAgICAgICAgQWRkIHNhZmUgdmVyc2lvbnMgb2YgbWluL21heCwgYWRq
dXN0ZWQgYnkgaGFsZiBhIHBpeGVsIHRvIGFsbG93CisgICAgICAgIHJvdW5kIHRvIGFsbG93IHJv
dW5kaW5nIHdpdGhvdXQgb3ZlcmZsb3dpbmcuCisgICAgICAgIAorICAgICAgICBBdm9pZCBvdmVy
ZmxvdyB3aGVuIHNuYXBwaW5nIGEgRnJhY3Rpb25hbExheW91dFJlY3QgYnkgdXNpbmcgdGhlCisg
ICAgICAgIHNhZmUgdmVyc2lvbnMgb2YgbWluL21heCBpbiBpbmZpbml0ZVJlY3QuCisgICAgICAg
IAorICAgICAgICBBdm9pZCBvdmVyZmxvdyB3aGVuIGNvbnZlcnRpbmcgZnJvbSBhIExlbmd0aCB0
byBhIExheW91dFVuaXQgYnkKKyAgICAgICAgbGltaXRpbmcgdGhlIHZhbHVlIHRvIEZyYWN0aW9u
YWxMYXlvdXRVbml0IG1pbi9tYXguIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3Ig
b2YgdGhlIG5vbi1zdWJwaXhlbCBjb2RlIHBhdGggd2hlcmUgdGhlIHZhbHVlcyBhcmUKKyAgICAg
ICAgc2ltaWxhcmx5IGxpbWl0ZWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9zdWItcGl4ZWwvbGFy
Z2Utc2l6ZXMuaHRtbAorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKToKKyAgICAg
ICAgTGltaXQgdG8gRnJhY3Rpb25hbExheW91dFVuaXQgbWluL21heC4KKyAgICAgICAgCisgICAg
ICAgICogcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaDoKKyAgICAgICAgKEZyYWN0aW9u
YWxMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYWN0aW9uYWxMYXlvdXRVbml0Ojpu
ZWFybHlNYXgpOgorICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25hbExheW91dFVuaXQ6Om5lYXJs
eU1pbik6CisgICAgICAgIFJlZHVjZSBtYXgvaW5jcmVhc2UgbWluIGJ5IDEvMiB0byBhbGxvdyBy
b3VuZCB0byBvcGVyYXRlCisgICAgICAgIHdpdGhvdXQgb3ZlcmZsb3dpbmcuCisKKyAgICAgICAg
KFdlYkNvcmU6OnNuYXBTaXplVG9QaXhlbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
RnJhY3Rpb25hbExheW91dFJlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYWN0aW9uYWxMYXlv
dXRSZWN0OjppbmZpbml0ZVJlY3QpOgorICAgICAgICBVc2UgbmVhcmx5TWluL25lYXJseU1heC4K
KyAgICAgICAgCisgICAgICAgIChXZWJDb3JlOjpwaXhlbFNuYXBwZWRJbnRSZWN0KToKKyAgICAg
ICAgQ2hhbmdlIHBpeGVsU25hcHBlZEludFJlY3QgdG8gdXNlIHNuYXBTaXplVG9QaXhlbC4KKwog
MjAxMi0wOS0wNyAgTGVvIFlhbmcgIDxsZW95YW5nQHJpbS5jb20+CiAKICAgICAgICAgQXBwY2Fj
aGUgZmFsbGJhY2sgVVJMIG1hdGNoIHNob3VsZCB1c2UgdGhlIGxvbmdlc3QgY2FuZGlkYXRlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDEy
NzU5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ2Niw3ICs0NjYsOCBAQCB0ZW1wbGF0ZTw+IHVuc2lnbmVkIENTU1ByaW1p
dGl2ZVZhbHVlOjpjCiB0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0
ZUxlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0
IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CiAjaWYgRU5BQkxFKFNVQlBJ
WEVMX0xBWU9VVCkKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pihjb21wdXRl
TGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRT
aXplKSksIEZpeGVkKTsKKyAgICBkb3VibGUgdmFsdWUgPSBjb21wdXRlTGVuZ3RoRG91YmxlKHN0
eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICByZXR1
cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGludE1heEZvckxheW91dFVuaXQg
fHwgdmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDogdmFsdWUpLCBGaXhlZCk7CiAj
ZWxzZQogICAgIHJldHVybiBMZW5ndGgocm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPGZsb2F0
Pihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1
dGluZ0ZvbnRTaXplKSksIEZpeGVkKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCShyZXZpc2lvbiAxMjc1OTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDQsNiArMjQ0LDIxIEBAIHB1YmxpYzoKICAgICAgICAgbS5tX3ZhbHVlID0gc3Rk
OjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICAgICAgcmV0dXJuIG07CiAgICAgfQor
CisgICAgLy8gVmVyc2lvbnMgb2YgbWF4L21pbiB0aGF0IGFyZSBzbGlnaHRseSBzbWFsbGVyL2xh
cmdlciB0aGFuIG1heC9taW4oKSB0byBhbGxvdyBmb3Igcm9pbmRpbmcgd2l0aG91dCBvdmVyZmxv
d2luZy4KKyAgICBzdGF0aWMgY29uc3QgRnJhY3Rpb25hbExheW91dFVuaXQgbmVhcmx5TWF4KCkK
KyAgICB7CisgICAgICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0IG07CisgICAgICAgIG0ubV92YWx1
ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLSBrRml4ZWRQb2ludERlbm9taW5h
dG9yIC8gMjsKKyAgICAgICAgcmV0dXJuIG07CisgICAgfQorICAgIHN0YXRpYyBjb25zdCBGcmFj
dGlvbmFsTGF5b3V0VW5pdCBuZWFybHlNaW4oKQorICAgIHsKKyAgICAgICAgRnJhY3Rpb25hbExh
eW91dFVuaXQgbTsKKyAgICAgICAgbS5tX3ZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+
OjptaW4oKSArIGtGaXhlZFBvaW50RGVub21pbmF0b3IgLyAyOworICAgICAgICByZXR1cm4gbTsK
KyAgICB9CisgICAgCiAgICAgc3RhdGljIEZyYWN0aW9uYWxMYXlvdXRVbml0IGNsYW1wKGRvdWJs
ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBjbGFtcFRvPEZyYWN0aW9uYWxMYXlvdXRV
bml0Pih2YWx1ZSwgRnJhY3Rpb25hbExheW91dFVuaXQ6Om1pbigpLCBGcmFjdGlvbmFsTGF5b3V0
VW5pdDo6bWF4KCkpOwpAQCAtNzkyLDcgKzgwNyw4IEBAIGlubGluZSBmbG9hdCYgb3BlcmF0b3Iv
PShmbG9hdCYgYSwgY29uc3QKIAogaW5saW5lIGludCBzbmFwU2l6ZVRvUGl4ZWwoRnJhY3Rpb25h
bExheW91dFVuaXQgc2l6ZSwgRnJhY3Rpb25hbExheW91dFVuaXQgbG9jYXRpb24pIAogewotICAg
IHJldHVybiAobG9jYXRpb24gKyBzaXplKS5yb3VuZCgpIC0gbG9jYXRpb24ucm91bmQoKTsKKyAg
ICBGcmFjdGlvbmFsTGF5b3V0VW5pdCBmcmFjdGlvbiA9IGxvY2F0aW9uIC0gbG9jYXRpb24uZmxv
b3IoKTsKKyAgICByZXR1cm4gKGZyYWN0aW9uICsgc2l6ZSkucm91bmQoKSAtIGZyYWN0aW9uLnJv
dW5kKCk7CiB9CiAKICNpZiBQTEFURk9STShRVCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZyYWN0aW9uYWxMYXlvdXRSZWN0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25hbExheW91dFJlY3QuaAkocmV2aXNp
b24gMTI3NTk5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRnJhY3Rpb25h
bExheW91dFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSwxMSBAQCBwdWJsaWM6
CiAKICAgICBGcmFjdGlvbmFsTGF5b3V0UmVjdCB0cmFuc3Bvc2VkUmVjdCgpIGNvbnN0IHsgcmV0
dXJuIEZyYWN0aW9uYWxMYXlvdXRSZWN0KG1fbG9jYXRpb24udHJhbnNwb3NlZFBvaW50KCksIG1f
c2l6ZS50cmFuc3Bvc2VkU2l6ZSgpKTsgfQogCi0gICAgc3RhdGljIEZyYWN0aW9uYWxMYXlvdXRS
ZWN0IGluZmluaXRlUmVjdCgpIHtyZXR1cm4gRnJhY3Rpb25hbExheW91dFJlY3QoRnJhY3Rpb25h
bExheW91dFVuaXQ6Om1pbigpIC8gMiwgRnJhY3Rpb25hbExheW91dFVuaXQ6Om1pbigpIC8gMiwg
RnJhY3Rpb25hbExheW91dFVuaXQ6Om1heCgpLCBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6bWF4KCkp
OyB9CisgICAgc3RhdGljIEZyYWN0aW9uYWxMYXlvdXRSZWN0IGluZmluaXRlUmVjdCgpCisgICAg
eworICAgICAgICAvLyBSZXR1cm4gYSByZWN0IHRoYXQgaXMgc2xpZ2h0bHkgc21hbGxlciB0aGFu
IHRoZSB0cnVlIG1heCByZWN0IHRvIGFsbG93IHBpeGVsU25hcHBpbmcgdG8gcm91bmQgdXAgdG8g
dGhlIG5lYXJlc3QgSW50UmVjdCB3aXRob3V0IG92ZXJmbG93aW5nLgorICAgICAgICByZXR1cm4g
RnJhY3Rpb25hbExheW91dFJlY3QoRnJhY3Rpb25hbExheW91dFVuaXQ6Om5lYXJseU1pbigpIC8g
MiwgRnJhY3Rpb25hbExheW91dFVuaXQ6Om5lYXJseU1pbigpIC8gMiwgRnJhY3Rpb25hbExheW91
dFVuaXQ6Om5lYXJseU1heCgpLCBGcmFjdGlvbmFsTGF5b3V0VW5pdDo6bmVhcmx5TWF4KCkpOwor
ICAgIH0KIAogI2lmIFBMQVRGT1JNKFFUKQogICAgIGV4cGxpY2l0IEZyYWN0aW9uYWxMYXlvdXRS
ZWN0KGNvbnN0IFFSZWN0Jik7CkBAIC0yMDcsOSArMjExLDkgQEAgaW5saW5lIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBGcmFjdGlvbmFsTAogaW5saW5lIEludFJlY3QgcGl4ZWxTbmFwcGVkSW50UmVj
dChjb25zdCBGcmFjdGlvbmFsTGF5b3V0UmVjdCYgcmVjdCkKIHsKICNpZiBFTkFCTEUoU1VCUElY
RUxfTEFZT1VUKQotICAgIEludFBvaW50IHJvdW5kZWRMb2NhdGlvbiA9IHJvdW5kZWRJbnRQb2lu
dChyZWN0LmxvY2F0aW9uKCkpOwotICAgIHJldHVybiBJbnRSZWN0KHJvdW5kZWRMb2NhdGlvbiwg
SW50U2l6ZSgocmVjdC54KCkgKyByZWN0LndpZHRoKCkpLnJvdW5kKCkgLSByb3VuZGVkTG9jYXRp
b24ueCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVj
dC55KCkgKyByZWN0LmhlaWdodCgpKS5yb3VuZCgpIC0gcm91bmRlZExvY2F0aW9uLnkoKSkpOwor
ICAgIHJldHVybiBJbnRSZWN0KHJvdW5kZWRJbnRQb2ludChyZWN0LmxvY2F0aW9uKCkpLCBJbnRT
aXplKHNuYXBTaXplVG9QaXhlbChyZWN0LndpZHRoKCksIHJlY3QueCgpKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmFwU2l6
ZVRvUGl4ZWwocmVjdC5oZWlnaHQoKSwgcmVjdC55KCkpKSk7CisKICNlbHNlCiAgICAgcmV0dXJu
IEludFJlY3QocmVjdCk7CiAjZW5kaWYKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzkyMikKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEy
LTA5LTA3ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBQcmV2
ZW50IG92ZXJmbG93cyBpbiBGcmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU4ODMKKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KKworICAgICAgICBBZGQgdGVzdCBmb3IgaGFuZGxpbmcgb2YgbGFyZ2Ug
dmFsdWVzLgorCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vbWVkaWEvdmlkZW8tem9vbS1j
b250cm9scy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9j
c3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtbGlvbi9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1zbm93
bGVvcGFyZC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC00Ljgv
U2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRm
b3JtL3dpbi13azIvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4teHAvU2tpcHBlZDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5j
YWlyby9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3drMi9Ta2lwcGVkOgorCiAyMDEyLTA5
LTA3ICBMZW8gWWFuZyAgPGxlb3lhbmdAcmltLmNvbT4KIAogICAgICAgICBBcHBjYWNoZSBmYWxs
YmFjayBVUkwgbWF0Y2ggc2hvdWxkIHVzZSB0aGUgbG9uZ2VzdCBjYW5kaWRhdGUKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXpl
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKK1BBU1MgZWxlbWVu
dC53aWR0aCA9IDUwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwLCByZWN0LndpZHRoIDUw
MDAgYW5kIGNvbXB1dGVkIHdpZHRoIDUwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53
aWR0aCA9IDUwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggNTAwMDAsIHJlY3Qud2lkdGggNTAw
MDAgYW5kIGNvbXB1dGVkIHdpZHRoIDUwMDAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQu
d2lkdGggPSA1MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwMDAsIHJlY3Qud2lkdGgg
NTAwMDAwIGFuZCBjb21wdXRlZCB3aWR0aCA1MDAwMDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxl
bWVudC53aWR0aCA9IDUwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCA1MDAwMDAwLCByZWN0
LndpZHRoIDUwMDAwMDAgYW5kIGNvbXB1dGVkIHdpZHRoIDUwMDAwMDBweCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGggMCwg
cmVjdC53aWR0aCAwIGFuZCBjb21wdXRlZCB3aWR0aCAwcHggYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQud2lkdGggPSAzNTc5MTM4OHB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDM1NzkxMzg4LCBy
ZWN0LndpZHRoIDM1NzkxMzg4IGFuZCBjb21wdXRlZCB3aWR0aCAzNTc5MTM4OHB4IGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEzOTBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCAzNTc5MTM5MiwgcmVjdC53aWR0aCAzNTc5MTM5MiBhbmQgY29tcHV0ZWQgd2lkdGggMzU3OTEz
OTJweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzkycHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGggMzU3OTEzOTIsIHJlY3Qud2lkdGggMzU3OTEzOTIgYW5kIGNvbXB1dGVk
IHdpZHRoIDM1NzkxMzkycHggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAzNTc5
MTM5NHB4LCByZXR1cm5zIG9mZnNldFdpZHRoIDM1NzkxMzkyLCByZWN0LndpZHRoIDM1NzkxMzky
IGFuZCBjb21wdXRlZCB3aWR0aCAzNTc5MTM5MnB4IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50
LndpZHRoID0gMzU3OTEzOTVweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAwLCByZWN0LndpZHRoIDAg
YW5kIGNvbXB1dGVkIHdpZHRoIDBweCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9
IDM1NzkxMzk2cHgsIHJldHVybnMgb2Zmc2V0V2lkdGggMCwgcmVjdC53aWR0aCAwIGFuZCBjb21w
dXRlZCB3aWR0aCAwcHggYXMgZXhwZWN0ZWQuCitUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2Vl
ZGluZyB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGVzdCBoYW5kbGlu
ZyBvZiBzaXplcyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgorICAgICAg
ICA8L3A+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3
aWR0aCwgZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlbC5z
dHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKyAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAgICAgdmFyIHJl
Y3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwu
b2Zmc2V0V2lkdGggPT0gZXhwZWN0ZWRXaWR0aCAmJiByZWN0LndpZHRoID09IGV4cGVjdGVkV2lk
dGggJiYgc3R5bGUud2lkdGggPT0gZXhwZWN0ZWRXaWR0aCArICdweCcpCisgICAgICAgICAgICAg
ICAgICAgIC8vdGVzdFBhc3NlZCgnRWxlbWVudCBnaXZlbiBhIHdpZHRoIG9mICcgKyB3aWR0aCAr
ICcgcmV0dXJucyAKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0
aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lk
dGggKyAnLCByZWN0LndpZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGgg
JyArIHN0eWxlLndpZHRoICsgJyBhcyBleHBlY3RlZC4nKTsKKyAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lk
dGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdpZHRoICsgJywgcmVj
dC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRoICcgKyBzdHlsZS53
aWR0aCArICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZFdpZHRoICsgJy4nKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTsK
KworICAgICAgICAgICAgdGVzdFNpemUoNTAwMCwgNTAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6
ZSg1MDAwMCwgNTAwMDApOworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwLCA1MDAwMDApOwor
ICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMCwgNTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSg1MDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM4OCwgMzU3OTEz
ODgpOworICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTAsIDM1NzkxMzkyKTsgLy8gZmxvYXQg
aW1wcmVzc2lvbgorICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTIsIDM1NzkxMzkyKTsKKyAg
ICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk0LCAzNTc5MTM5Mik7IC8vIGZsb2F0IGltcHJlc3Np
b24KKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk1LCAwKTsKKyAgICAgICAgICAgIHRlc3RT
aXplKDM1NzkxMzk2LCAwKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChlbCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9tZWRpYS92aWRlby16
b29tLWNvbnRyb2xzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vbWVkaWEvdmlkZW8tem9vbS1jb250cm9scy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9t
ZWRpYS92aWRlby16b29tLWNvbnRyb2xzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNyBAQCBsYXllciBhdCAoNjUsMjEzKSBzaXplIDIyNXg0NSBzY3JvbGxXaWR0CiAg
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxLDEpIHNpemUgNngzNgogICAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoLTQsMSkgc2l6ZSAzNngzNgogICAgIFJlbmRlckJ1dHRvbiB7SU5Q
VVR9IGF0ICgyODQsMCkgc2l6ZSA0Nng0NQotbGF5ZXIgYXQgKDEyNywyMTcpIHNpemUgNDl4MzYK
K2xheWVyIGF0ICgxMjcsMjE3KSBzaXplIDQ4eDM2CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoLTExLC0xMikgc2l6ZSA0OXgzNgogbGF5ZXIgYXQgKDU3LDMx
MCkgc2l6ZSAyNDB4MTgwCiAgIFJlbmRlclZpZGVvIHtWSURFT30gYXQgKDQ1LDI5OCkgc2l6ZSAy
NDB4MTgwCkBAIC01Miw1ICs1Miw1IEBAIGxheWVyIGF0ICg2NSw0MzgpIHNpemUgMjI1eDQ1IHNj
cm9sbFdpZHQKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEsMSkgc2l6ZSA2eDM2CiAg
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgtNCwxKSBzaXplIDM2eDM2CiAgICAgUmVuZGVy
QnV0dG9uIHtJTlBVVH0gYXQgKDI4NCwwKSBzaXplIDQ2eDQ1Ci1sYXllciBhdCAoMTI3LDQ0Mikg
c2l6ZSA0OXgzNiBiYWNrZ3JvdW5kQ2xpcCBhdCAoNjAsNDE3KSBzaXplIDIyNXg0NSBjbGlwIGF0
ICg2MCw0MTcpIHNpemUgMjI1eDQ1IG91dGxpbmVDbGlwIGF0ICg2MCw0MTcpIHNpemUgMjI1eDQ1
CitsYXllciBhdCAoMTI3LDQ0Mikgc2l6ZSA0OHgzNiBiYWNrZ3JvdW5kQ2xpcCBhdCAoNjAsNDE3
KSBzaXplIDIyNXg0NSBjbGlwIGF0ICg2MCw0MTcpIHNpemUgMjI1eDQ1IG91dGxpbmVDbGlwIGF0
ICg2MCw0MTcpIHNpemUgMjI1eDQ1CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7RElWfSBhdCAoLTExLC0xMikgc2l6ZSA0OXgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xh
cmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlw
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorUEFTUzogcmVhZCA5MDAx
MDAwMHB4IGJhY2sgYXMgMHB4LCByZWFkIGFnYWluIGFzIDBweApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLWxpb24vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGlvbi9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtbGlvbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDcg
QEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4
ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxp
bmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdp
dGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1
Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0
aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxl
Y3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9Ta2lwcGVkCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9Ta2lwcGVkCShyZXZpc2lvbiAx
Mjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAko
d29ya2luZyBjb3B5KQpAQCAtMjA1LDYgKzIwNSw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0LXdy
YXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQtbm90
LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0bWwK
IGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9zdWIt
cGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdpdGgt
em9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1jb250
YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0LWZy
YWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lw
cGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Nr
aXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTIwOSw2ICsyMDksNyBAQCBmYXN0L3N1Yi1waXhlbC9m
bG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hv
dWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdp
bi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zh
c3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hl
cy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdp
dGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fw
cy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBw
ZWQJKHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
CSh3b3JraW5nIGNvcHkpCkBAIC04MTcsNiArODE3LDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQt
d3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1u
b3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRt
bAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1
Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0
aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNv
bnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQt
ZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0LTQu
OC9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0LTQuOC9Ta2lw
cGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC00LjgvU2tp
cHBlZAkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBmYXN0L3N1Yi1waXhlbC9mbG9h
dC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hvdWxk
LW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdpbi5o
dG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zhc3Qv
c3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hlcy13
aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdpdGgt
Y29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fwcy1h
dC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShy
ZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTksNiArMjk5LDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQtd3JhcC13
aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1ub3Qtd3Jh
cC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRtbAogZmFz
dC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1Yi1waXhl
bC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0aC16b29t
Lmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNvbnRhaW5l
ci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQtZnJhY3Rp
b25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi13azIvU2tp
cHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4td2syL1NraXBwZWQJ
KHJldmlzaW9uIDEyNzU5OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi13azIvU2tpcHBl
ZAkod29ya2luZyBjb3B5KQpAQCAtOTQ0LDYgKzk0NCw3IEBAIGZhc3Qvc3ViLXBpeGVsL2Zsb2F0
LXdyYXAtd2l0aC1zdWJwaXhlbC0KIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay1zaG91bGQt
bm90LXdyYXAuaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtbWFyZ2luLmh0
bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLXBhZGRpbmcuaHRtbAorZmFzdC9z
dWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAogZmFzdC9zdWItcGl4ZWwvbGF5b3V0LWJveGVzLXdp
dGgtem9vbS5odG1sCiBmYXN0L3N1Yi1waXhlbC9wb3NpdGlvbi1yaWdodC1hbGlnbnMtd2l0aC1j
b250YWluZXIuaHRtbAogZmFzdC9zdWItcGl4ZWwvc2VsZWN0aW9uL3NlbGVjdGlvbi1nYXBzLWF0
LWZyYWN0aW9uYWwtb2Zmc2V0cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4t
eHAvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4teHAvU2tp
cHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXhwL1Nr
aXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxv
YXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3Vs
ZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4u
aHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0
L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMt
d2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRo
LWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMt
YXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAko
d29ya2luZyBjb3B5KQpAQCAtMTc0Miw2ICsxNzQyLDcgQEAgZmFzdC9zdWItcGl4ZWwvZmxvYXQt
d3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXNob3VsZC1u
b3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1tYXJnaW4uaHRt
bAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5odG1sCitmYXN0L3N1
Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlvdXQtYm94ZXMtd2l0
aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFsaWducy13aXRoLWNv
bnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0aW9uLWdhcHMtYXQt
ZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
U2tpcHBlZAkocmV2aXNpb24gMTI3NTk5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fp
cm8vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMjEyNyw2ICsyMTI3LDcgQEAgZmFzdC9zdWIt
cGl4ZWwvZmxvYXQtd3JhcC13aXRoLXN1YnBpeGVsLQogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJs
b2NrLXNob3VsZC1ub3Qtd3JhcC5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0
aC1tYXJnaW4uaHRtbAogZmFzdC9zdWItcGl4ZWwvaW5saW5lLWJsb2NrLXdpdGgtcGFkZGluZy5o
dG1sCitmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCiBmYXN0L3N1Yi1waXhlbC9sYXlv
dXQtYm94ZXMtd2l0aC16b29tLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3Bvc2l0aW9uLXJpZ2h0LWFs
aWducy13aXRoLWNvbnRhaW5lci5odG1sCiBmYXN0L3N1Yi1waXhlbC9zZWxlY3Rpb24vc2VsZWN0
aW9uLWdhcHMtYXQtZnJhY3Rpb25hbC1vZmZzZXRzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9Ta2lwcGVkCShyZXZpc2lvbiAxMjc1OTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIv
U2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQsNyBAQCBmYXN0L3N1Yi1waXhlbC9m
bG9hdC13cmFwLXdpdGgtc3VicGl4ZWwtCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2stc2hv
dWxkLW5vdC13cmFwLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2lubGluZS1ibG9jay13aXRoLW1hcmdp
bi5odG1sCiBmYXN0L3N1Yi1waXhlbC9pbmxpbmUtYmxvY2std2l0aC1wYWRkaW5nLmh0bWwKK2Zh
c3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL2xheW91dC1ib3hl
cy13aXRoLXpvb20uaHRtbAogZmFzdC9zdWItcGl4ZWwvcG9zaXRpb24tcmlnaHQtYWxpZ25zLXdp
dGgtY29udGFpbmVyLmh0bWwKIGZhc3Qvc3ViLXBpeGVsL3NlbGVjdGlvbi9zZWxlY3Rpb24tZ2Fw
cy1hdC1mcmFjdGlvbmFsLW9mZnNldHMuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>