<?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>215956</bug_id>
          
          <creation_ts>2020-08-28 16:28:35 -0700</creation_ts>
          <short_desc>CoreImage Implementation of CSS Filters invert(), opacity(), brightness(), contrast()</short_desc>
          <delta_ts>2020-09-08 12:25:19 -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>CSS</component>
          <version>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>213673</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>frankhome61</reporter>
          <assigned_to>frankhome61</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1683814</commentid>
    <comment_count>0</comment_count>
    <who name="">frankhome61</who>
    <bug_when>2020-08-28 16:28:35 -0700</bug_when>
    <thetext>Implementing invert(), opacity(), brightness(), contrast(), which are based on FEComponentTransfer using CoreImage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683815</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-28 16:29:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/67968206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684239</commentid>
    <comment_count>2</comment_count>
      <attachid>407622</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-08-31 13:52:52 -0700</bug_when>
    <thetext>Created attachment 407622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684240</commentid>
    <comment_count>3</comment_count>
    <who name="">frankhome61</who>
    <bug_when>2020-08-31 13:55:11 -0700</bug_when>
    <thetext>This patch depends on path 213673, so it will temporarily contain changes already introduced in 213673. Once 213673 is landed, the only changes in this patch should only be the two additional functions, 
  - feComponentTransferLinearFunctionImage
  - componentTransferLinearFunctionOnly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684251</commentid>
    <comment_count>4</comment_count>
      <attachid>407625</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-08-31 14:11:34 -0700</bug_when>
    <thetext>Created attachment 407625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685461</commentid>
    <comment_count>5</comment_count>
      <attachid>407920</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-09-03 15:23:08 -0700</bug_when>
    <thetext>Created attachment 407920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685473</commentid>
    <comment_count>6</comment_count>
      <attachid>407920</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-03 16:03:16 -0700</bug_when>
    <thetext>Comment on attachment 407920
Patch

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

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.h:31
&gt; +#import &quot;FEComponentTransfer.h&quot;

Could forward declare this instead of including it in the header. Nothing in the header requires the full definition.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.h:62
&gt; +    static bool isNullOrLinearComponentTransferFunction(const FEComponentTransfer&amp;);

Could just make this a free function in the .cpp file instead of a static member function.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:72
&gt; +    if (effect.redFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; +        &amp;&amp; effect.redFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        return false;
&gt; +    if (effect.greenFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; +        &amp;&amp; effect.greenFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        return false;
&gt; +    if (effect.blueFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; +        &amp;&amp; effect.blueFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        return false;
&gt; +    if (effect.alphaFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; +        &amp;&amp; effect.alphaFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        return false;
&gt; +    return true;

This very wordy thing could be cut down to size with a lambda:

    auto isNullOrLinear = [] (const ComponentTransferFunction&amp; function) {
        return function.type == FECOMPONENTTRANSFER_TYPE_UNKNOWN || function.type == FECOMPONENTTRANSFER_TYPE_LINEAR;
    };
    return isNullOrLinear(effect.redFunction()) &amp;&amp; isNullOrLinear(effect.greenFunction())
        &amp;&amp; isNullOrLinear(effect.blueFunction()) &amp;&amp; isNullOrLinear(effect.alphaFunction());

I think the &amp;&amp; is also easier to read than the backwards logic and early returns.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:243
&gt; +    if (!isNullOrLinearComponentTransferFunction(effect))
&gt; +        return nullptr;

Seems like this should be an assertion instead of a &quot;return null&quot; thing.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:245
&gt; +    
&gt; +

Extra blank line here.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:247
&gt; +    CIFilter* componentTransferFilter = [CIFilter filterWithName:@&quot;CIColorPolynomial&quot;];

auto

Also how about using a shorter local variable name, like &quot;filter&quot;? The function is a narrow enough scope that the meaning of the name is clear enough, I think.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:252
&gt; +    ComponentTransferFunction redFunction = effect.redFunction();
&gt; +    ComponentTransferFunction greenFunction = effect.greenFunction();
&gt; +    ComponentTransferFunction blueFunction = effect.blueFunction();
&gt; +    ComponentTransferFunction alphaFunction = effect.alphaFunction();

auto&amp;

There is no need to copy these functions out of the effect object.

Could also consider shorter names. I think we could call the locals just red, green, blue, alpha given the scope of a short function like this. No real ambiguity about what they mean.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:263
&gt; +    if (redFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:redFunction.intercept   Y:redFunction.slope    Z:0  W:0] forKey:@&quot;inputRedCoefficients&quot;];
&gt; +    if (greenFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:greenFunction.intercept Y:greenFunction.slope  Z:0  W:0] forKey:@&quot;inputGreenCoefficients&quot;];
&gt; +    if (blueFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:blueFunction.intercept  Y:blueFunction.slope   Z:0  W:0] forKey:@&quot;inputBlueCoefficients&quot;];
&gt; +    if (alphaFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:alphaFunction.intercept Y:alphaFunction.slope  Z:0  W:0] forKey:@&quot;inputAlphaCoefficients&quot;];

Code can be simplified with a lambda:

    auto setCoefficients = [&amp;] (NSString *key, const ComponentFunction&amp; function) {
        if (function.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
            [componentTransferFilter setValue:[CIVector vectorWithX:function.intercept Y:function.slope Z:0 W:0] forKey:key];
    };
    setCoefficients(@&quot;inputRedCoefficients&quot;, effect.redFunction());
    setCoefficients(@&quot;inputGreenCoefficients&quot;, effect.greenFunction());
    setCoefficients(@&quot;inputBlueCoefficients&quot;, effect.blueFunction());
    setCoefficients(@&quot;inputAlphaCoefficients&quot;, effect.alphaFunction());

This replaces 12 lines of more hard-to-read code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685476</commentid>
    <comment_count>7</comment_count>
      <attachid>407926</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-09-03 16:08:18 -0700</bug_when>
    <thetext>Created attachment 407926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685477</commentid>
    <comment_count>8</comment_count>
      <attachid>407926</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-03 16:10:29 -0700</bug_when>
    <thetext>Comment on attachment 407926
Patch

Please check out my comments on the earlier version of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685479</commentid>
    <comment_count>9</comment_count>
    <who name="">frankhome61</who>
    <bug_when>2020-09-03 16:11:57 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; Comment on attachment 407926 [details]
&gt; Patch
&gt; 
&gt; Please check out my comments on the earlier version of the patch.

Oh whoops just saw the comments, I immediately obsoleted the one you commented on because I forgot to include the test files. Working on it right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685746</commentid>
    <comment_count>10</comment_count>
    <who name="">frankhome61</who>
    <bug_when>2020-09-04 10:24:28 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 407920 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=407920&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.h:31
&gt; &gt; +#import &quot;FEComponentTransfer.h&quot;
&gt; 
&gt; Could forward declare this instead of including it in the header. Nothing in
&gt; the header requires the full definition.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.h:62
&gt; &gt; +    static bool isNullOrLinearComponentTransferFunction(const FEComponentTransfer&amp;);
&gt; 
&gt; Could just make this a free function in the .cpp file instead of a static
&gt; member function.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:72
&gt; &gt; +    if (effect.redFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; &gt; +        &amp;&amp; effect.redFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        return false;
&gt; &gt; +    if (effect.greenFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; &gt; +        &amp;&amp; effect.greenFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        return false;
&gt; &gt; +    if (effect.blueFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; &gt; +        &amp;&amp; effect.blueFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        return false;
&gt; &gt; +    if (effect.alphaFunction().type != FECOMPONENTTRANSFER_TYPE_UNKNOWN
&gt; &gt; +        &amp;&amp; effect.alphaFunction().type != FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        return false;
&gt; &gt; +    return true;
&gt; 
&gt; This very wordy thing could be cut down to size with a lambda:
&gt; 
&gt;     auto isNullOrLinear = [] (const ComponentTransferFunction&amp; function) {
&gt;         return function.type == FECOMPONENTTRANSFER_TYPE_UNKNOWN ||
&gt; function.type == FECOMPONENTTRANSFER_TYPE_LINEAR;
&gt;     };
&gt;     return isNullOrLinear(effect.redFunction()) &amp;&amp;
&gt; isNullOrLinear(effect.greenFunction())
&gt;         &amp;&amp; isNullOrLinear(effect.blueFunction()) &amp;&amp;
&gt; isNullOrLinear(effect.alphaFunction());
&gt; 
&gt; I think the &amp;&amp; is also easier to read than the backwards logic and early
&gt; returns.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:243
&gt; &gt; +    if (!isNullOrLinearComponentTransferFunction(effect))
&gt; &gt; +        return nullptr;
&gt; 
&gt; Seems like this should be an assertion instead of a &quot;return null&quot; thing.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:245
&gt; &gt; +    
&gt; &gt; +
&gt; 
&gt; Extra blank line here.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:247
&gt; &gt; +    CIFilter* componentTransferFilter = [CIFilter filterWithName:@&quot;CIColorPolynomial&quot;];
&gt; 
&gt; auto
&gt; 
&gt; Also how about using a shorter local variable name, like &quot;filter&quot;? The
&gt; function is a narrow enough scope that the meaning of the name is clear
&gt; enough, I think.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:252
&gt; &gt; +    ComponentTransferFunction redFunction = effect.redFunction();
&gt; &gt; +    ComponentTransferFunction greenFunction = effect.greenFunction();
&gt; &gt; +    ComponentTransferFunction blueFunction = effect.blueFunction();
&gt; &gt; +    ComponentTransferFunction alphaFunction = effect.alphaFunction();
&gt; 
&gt; auto&amp;
since redFunction(), and those function are all marked const, we need &quot;const auto&amp;&quot;
&gt; 
&gt; There is no need to copy these functions out of the effect object.
&gt; 
&gt; Could also consider shorter names. I think we could call the locals just
&gt; red, green, blue, alpha given the scope of a short function like this. No
&gt; real ambiguity about what they mean.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:263
&gt; &gt; +    if (redFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:redFunction.intercept   Y:redFunction.slope    Z:0  W:0] forKey:@&quot;inputRedCoefficients&quot;];
&gt; &gt; +    if (greenFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:greenFunction.intercept Y:greenFunction.slope  Z:0  W:0] forKey:@&quot;inputGreenCoefficients&quot;];
&gt; &gt; +    if (blueFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:blueFunction.intercept  Y:blueFunction.slope   Z:0  W:0] forKey:@&quot;inputBlueCoefficients&quot;];
&gt; &gt; +    if (alphaFunction.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt; &gt; +        [componentTransferFilter setValue:[CIVector vectorWithX:alphaFunction.intercept Y:alphaFunction.slope  Z:0  W:0] forKey:@&quot;inputAlphaCoefficients&quot;];
&gt; 
&gt; Code can be simplified with a lambda:
&gt; 
&gt;     auto setCoefficients = [&amp;] (NSString *key, const ComponentFunction&amp;
&gt; function) {
&gt;         if (function.type == FECOMPONENTTRANSFER_TYPE_LINEAR)
&gt;             [componentTransferFilter setValue:[CIVector
&gt; vectorWithX:function.intercept Y:function.slope Z:0 W:0] forKey:key];
&gt;     };
&gt;     setCoefficients(@&quot;inputRedCoefficients&quot;, effect.redFunction());
&gt;     setCoefficients(@&quot;inputGreenCoefficients&quot;, effect.greenFunction());
&gt;     setCoefficients(@&quot;inputBlueCoefficients&quot;, effect.blueFunction());
&gt;     setCoefficients(@&quot;inputAlphaCoefficients&quot;, effect.alphaFunction());
&gt; 
&gt; This replaces 12 lines of more hard-to-read code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685786</commentid>
    <comment_count>11</comment_count>
      <attachid>408006</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-09-04 11:37:03 -0700</bug_when>
    <thetext>Created attachment 408006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685809</commentid>
    <comment_count>12</comment_count>
      <attachid>408006</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-04 12:14:43 -0700</bug_when>
    <thetext>Comment on attachment 408006
Patch

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

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:68
&gt; +        return isNullOrLinear(effect.redFunction()) &amp;&amp; isNullOrLinear(effect.greenFunction())
&gt; +            &amp;&amp; isNullOrLinear(effect.blueFunction()) &amp;&amp; isNullOrLinear(effect.alphaFunction());

This is indented too much.

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:241
&gt; +    CIFilter* filter = [CIFilter filterWithName:@&quot;CIColorPolynomial&quot;];

I suggest auto here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685842</commentid>
    <comment_count>13</comment_count>
      <attachid>408019</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-09-04 13:39:47 -0700</bug_when>
    <thetext>Created attachment 408019
Ready for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685853</commentid>
    <comment_count>14</comment_count>
      <attachid>408024</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-09-04 14:16:20 -0700</bug_when>
    <thetext>Created attachment 408024
Ready for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685860</commentid>
    <comment_count>15</comment_count>
      <attachid>408026</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-09-04 14:48:57 -0700</bug_when>
    <thetext>Created attachment 408026
Patch (missing reviewer name)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686647</commentid>
    <comment_count>16</comment_count>
      <attachid>408247</attachid>
    <who name="">frankhome61</who>
    <bug_when>2020-09-08 11:46:02 -0700</bug_when>
    <thetext>Created attachment 408247
Ready for Commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686675</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-08 12:25:18 -0700</bug_when>
    <thetext>Committed r266740: &lt;https://trac.webkit.org/changeset/266740&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408247.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407622</attachid>
            <date>2020-08-31 13:52:52 -0700</date>
            <delta_ts>2020-08-31 14:11:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215956-20200831135251.patch</filename>
            <type>text/plain</type>
            <size>16890</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMxZjViYzkyNTFjNDRm
ZTM5OTQ1YmJlNjkzMzUzNTNhMGFiZmJmZC4uMTQ2ZGFmZmEwMjE1ODkwZjk5NDdjOTgwNjQ1OTI0
ZWUyMzAxYWEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA4LTMxICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBp
bnZlcnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxs
IHVzZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlv
bi4gUGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8g
c3VwcG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdv
cmsgcHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDogYWRkZWQKKyAgICAgICAgICAgIGFkZGVkIGNv
bXBvbmVudFRyYW5zZmVyTGluZWFyRnVuY3Rpb25Pbmx5IGFuZCBmZUNvbXBvbmVudFRyYW5zZmVy
TGluZWFyRnVuY3Rpb25JbWFnZQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFn
ZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZp
bHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpjb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1bmN0
aW9uT25seSk6IHNpbmNlIAorICAgICAgICAgICAgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24g
Y2FuIG9ubHkgaGFuZGxlIGNvbXBvbmVudCB0cmFuc2ZlciBmaWx0ZXJzIHdpdGggbGluZWFyIAor
ICAgICAgICAgICAgdHJhbnNmZXIgZnVuY3Rpb25zLCBjb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1
bmN0aW9uT25seSB0ZXN0cyB3aGV0aGVyIHRoZSB0cmFuc2ZlcgorICAgICAgICAgICAgZnVuY3Rp
b25zIGFjcm9zcyBhbGwgY2hhbm5lbHMgYXJlIGxpbmVhciBvciBudWxsLiBSZXR1cm5zIHRydWUg
aWYgdHJhbnNmZXIgZnVuY3Rpb25zIAorICAgICAgICAgICAgYXJlIGVpdGhlciBudWxsIG9yIGxp
bmVhciwgcmV0dXJucyBmYWxzZSBvdGhlcndpc2UuCisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6ZmVDb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1bmN0aW9u
SW1hZ2UpOgorICAgICAgICAgICAgUmV0dXJucyBhIENJSW1hZ2UgdGhhdCBpcyB0aGUgb3V0cHV0
IG9mIGNvbXBvbmVudCB0cmFuc2ZlciB3aXRoIGxpbmVhciBmdW5jdGlvbgorCiAyMDIwLTA4LTI4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBhZG9w
dGVkIG5vZGUgZnJvbSBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1h
Z2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaAppbmRleCA4MWVjNTdlNjhiMTkyZWM4
MzZhN2JkMThhMjhhZTNkZTczNTQxZDExLi44ODk5NDY2NjQ2NTBmMTAzNWYzMmUxMDM4N2M5NmI4
MjFiNTk2MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3Jl
SW1hZ2UuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgVVNFKENPUkVfSU1BR0UpCiAKKyNpbXBv
cnQgIkZFQ29tcG9uZW50VHJhbnNmZXIuaCIKICNpbXBvcnQgIkZpbHRlckVmZmVjdFJlbmRlcmVy
LmgiCiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgpAQCAt
NTIsMTMgKzUzLDE2IEBAIHB1YmxpYzoKICAgICBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZSgpOwogICAgIAogcHJpdmF0ZToKLSAgICBDSUltYWdlKiBjb25uZWN0Q0lGaWx0ZXJzKEZpbHRl
ckVmZmVjdCYpOworICAgIENJSW1hZ2UqIGNvbm5lY3RDSUZpbHRlcnMoRmlsdGVyRWZmZWN0Jiwg
aW50KTsKICAgICB2b2lkIHJlbmRlclRvSW1hZ2VCdWZmZXIoRmlsdGVyRWZmZWN0JikgZmluYWw7
CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0
Jik7CiAgICAgc3RhdGljIGJvb2wgY2FuUmVuZGVyVXNpbmdDSUZpbHRlcnMoRmlsdGVyRWZmZWN0
Jik7CisgICAgc3RhdGljIGJvb2wgY29tcG9uZW50VHJhbnNmZXJMaW5lYXJGdW5jdGlvbk9ubHko
RmlsdGVyRWZmZWN0Jik7CisgICAgCisgICAgQ0lJbWFnZSogZmVDb21wb25lbnRUcmFuc2Zlckxp
bmVhckZ1bmN0aW9uSW1hZ2UoRmlsdGVyRWZmZWN0JiwgVmVjdG9yPENJSW1hZ2UqPiYsIGludCk7
CiAgICAgCiAgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBtX291dHB1dEltYWdlQnVm
ZmVyOwotICAgIEhhc2hNYXA8UmVmPEZpbHRlckVmZmVjdD4sIFZlY3RvcjxSZXRhaW5QdHI8Q0lG
aWx0ZXI+Pj4gbV9jaUZpbHRlclN0b3JhZ2VNYXA7CisgICAgSGFzaE1hcDxpbnQsIFZlY3RvcjxS
ZXRhaW5QdHI8Q0lGaWx0ZXI+Pj4gbV9jaUZpbHRlclN0b3JhZ2VNYXA7CiAgICAgUmV0YWluUHRy
PENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7CiAgICAgUmV0YWluUHRyPENJQ29udGV4dD4gbV9jb250
ZXh0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
cmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZS5tbQppbmRleCA5MzEzZjcxZTZlZmJhODQ2ZDY2NTUxZTEzMDkzOTE5ZTA4M2RkODRjLi40OTI3
MjljYzM3ZDQ5NjM5NGVjOWE5NGYwMzNhN2FmMGYyZmMwOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWlt
YWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCkBAIC0zMCw2ICszMCw4IEBACiAK
ICNpbXBvcnQgIkZpbHRlci5oIgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0LmgiCisjaW1wb3J0ICJG
aWx0ZXJPcGVyYXRpb24uaCIKKyNpbXBvcnQgIkZsb2F0Q29udmVyc2lvbi5oIgogI2ltcG9ydCAi
R3JhcGhpY3NDb250ZXh0Q0cuaCIKICNpbXBvcnQgIkltYWdlQnVmZmVyLmgiCiAjaW1wb3J0ICJQ
bGF0Zm9ybUltYWdlQnVmZmVyLmgiCkBAIC00Niw2ICs0OCwyMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U+IEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjp0cgogICAgIHJldHVybiBudWxscHRyOwogfQogCitib29sIEZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpjb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1bmN0aW9uT25seShGaWx0ZXJF
ZmZlY3QmIGVmZmVjdCkKK3sKKyAgICBGRUNvbXBvbmVudFRyYW5zZmVyJiBjb21wb25lbnRUcmFu
c2ZlckVmZmVjdCA9IHN0YXRpY19jYXN0PEZFQ29tcG9uZW50VHJhbnNmZXImPihlZmZlY3QpOwor
ICAgIGlmIChjb21wb25lbnRUcmFuc2ZlckVmZmVjdC5yZWRGdW5jdGlvbigpLnR5cGUgIT0gRkVD
T01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV04gJiYgY29tcG9uZW50VHJhbnNmZXJFZmZlY3Qu
cmVkRnVuY3Rpb24oKS50eXBlICE9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoY29tcG9uZW50VHJhbnNmZXJFZmZlY3QuZ3Jl
ZW5GdW5jdGlvbigpLnR5cGUgIT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV04gJiYg
Y29tcG9uZW50VHJhbnNmZXJFZmZlY3QuZ3JlZW5GdW5jdGlvbigpLnR5cGUgIT0gRkVDT01QT05F
TlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChj
b21wb25lbnRUcmFuc2ZlckVmZmVjdC5ibHVlRnVuY3Rpb24oKS50eXBlICE9IEZFQ09NUE9ORU5U
VFJBTlNGRVJfVFlQRV9VTktOT1dOICYmIGNvbXBvbmVudFRyYW5zZmVyRWZmZWN0LmJsdWVGdW5j
dGlvbigpLnR5cGUgIT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmIChjb21wb25lbnRUcmFuc2ZlckVmZmVjdC5hbHBoYUZ1bmN0
aW9uKCkudHlwZSAhPSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTiAmJiBjb21wb25l
bnRUcmFuc2ZlckVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkudHlwZSAhPSBGRUNPTVBPTkVOVFRSQU5T
RkVSX1RZUEVfTElORUFSKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRzQ29yZUlt
YWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIC8vIEZJWE1FOiBjaGFu
Z2UgcmV0dXJuIHZhbHVlIHRvIHRydWUgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZApAQCAtNTMs
NiArNjksNyBAQCBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpzdXBwb3J0c0Nv
cmVJbWFnZVJlbmRlcmluZyhGaWx0ZXJFZmZlY3QmIGVmZgogICAgIGNhc2UgRmlsdGVyRWZmZWN0
OjpUeXBlOjpCbGVuZDoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29sb3JNYXRyaXg6
CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvbmVudFRyYW5zZmVyOgorICAgICAg
ICByZXR1cm4gY29tcG9uZW50VHJhbnNmZXJMaW5lYXJGdW5jdGlvbk9ubHkoZWZmZWN0KTsKICAg
ICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29tcG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZm
ZWN0OjpUeXBlOjpDb252b2x2ZU1hdHJpeDoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6
RGlmZnVzZUxpZ2h0aW5nOgpAQCAtNzcsMTggKzk0LDE4IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVu
ZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRzQ29yZUltYWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYg
ZWZmCiAKIHZvaWQgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmFwcGx5RWZmZWN0cyhG
aWx0ZXJFZmZlY3QmIGxhc3RFZmZlY3QpCiB7Ci0gICAgbV9vdXRwdXRJbWFnZSA9IGNvbm5lY3RD
SUZpbHRlcnMobGFzdEVmZmVjdCk7CisgICAgbV9vdXRwdXRJbWFnZSA9IGNvbm5lY3RDSUZpbHRl
cnMobGFzdEVmZmVjdCwgMSk7CiAgICAgaWYgKCFtX291dHB1dEltYWdlKQogICAgICAgICByZXR1
cm47CiAgICAgcmVuZGVyVG9JbWFnZUJ1ZmZlcihsYXN0RWZmZWN0KTsKIH0KIAotQ0lJbWFnZSog
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5lY3RDSUZpbHRlcnMoRmlsdGVyRWZm
ZWN0JiBlZmZlY3QpCitDSUltYWdlKiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29u
bmVjdENJRmlsdGVycyhGaWx0ZXJFZmZlY3QmIGVmZmVjdCwgaW50IHRyYXZlcnNhbE9yZGVyKQog
ewogICAgIFZlY3RvcjxDSUltYWdlKj4gaW5wdXRJbWFnZXM7CiAgICAgCiAgICAgZm9yIChhdXRv
IGluIDogZWZmZWN0LmlucHV0RWZmZWN0cygpKSB7Ci0gICAgICAgIENJSW1hZ2UqIGlucHV0SW1h
Z2UgPSBjb25uZWN0Q0lGaWx0ZXJzKCppbik7CisgICAgICAgIENJSW1hZ2UqIGlucHV0SW1hZ2Ug
PSBjb25uZWN0Q0lGaWx0ZXJzKCppbiwgdHJhdmVyc2FsT3JkZXIpOwogICAgICAgICBpZiAoIWlu
cHV0SW1hZ2UpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgaW5wdXRJbWFn
ZXMuYXBwZW5kKGlucHV0SW1hZ2UpOwpAQCAtMTA0LDYgKzEyMSw5IEBAIENJSW1hZ2UqIEZpbHRl
ckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpjb25uZWN0Q0lGaWx0ZXJzKEZpbHRlckVmZmVjdCYg
ZWZmZWN0KQogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpCbGVuZDoKICAgICBjYXNlIEZp
bHRlckVmZmVjdDo6VHlwZTo6Q29sb3JNYXRyaXg6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5
cGU6OkNvbXBvbmVudFRyYW5zZmVyOgorICAgICAgICBpZiAoY29tcG9uZW50VHJhbnNmZXJMaW5l
YXJGdW5jdGlvbk9ubHkoZWZmZWN0KSkKKyAgICAgICAgICAgIHJldHVybiBmZUNvbXBvbmVudFRy
YW5zZmVyTGluZWFyRnVuY3Rpb25JbWFnZShlZmZlY3QsIGlucHV0SW1hZ2VzLCB0cmF2ZXJzYWxP
cmRlcik7CisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBl
OjpDb21wb3NpdGU6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbnZvbHZlTWF0cml4
OgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpEaWZmdXNlTGlnaHRpbmc6CkBAIC0xMjcs
NiArMTQ3LDQyIEBAIENJSW1hZ2UqIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpjb25u
ZWN0Q0lGaWx0ZXJzKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogICAgIHJldHVybiBudWxscHRyOwog
fQogCitDSUltYWdlKiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6ZmVDb21wb25lbnRU
cmFuc2ZlckxpbmVhckZ1bmN0aW9uSW1hZ2UoRmlsdGVyRWZmZWN0JiBlZmZlY3QsIFZlY3RvcjxD
SUltYWdlKj4mIGlucHV0SW1hZ2VzLCBpbnQgdHJhdmVyc2FsT3JkZXIpCit7CisgICAgRkVDb21w
b25lbnRUcmFuc2ZlciYgY29tcG9uZW50VHJhbnNmZXJFZmZlY3QgPSBzdGF0aWNfY2FzdDxGRUNv
bXBvbmVudFRyYW5zZmVyJj4oZWZmZWN0KTsKKyAgICBDSUltYWdlKiBpbnB1dEltYWdlID0gaW5w
dXRJbWFnZXMuYXQoMCk7CisgICAgVmVjdG9yPFJldGFpblB0cjxDSUZpbHRlcj4+IGNhY2hlZENJ
RmlsdGVycyA9IG1fY2lGaWx0ZXJTdG9yYWdlTWFwLmdldCh0cmF2ZXJzYWxPcmRlcik7CisgICAg
CisgICAgQ0lGaWx0ZXIqIGNvbXBvbmVudFRyYW5zZmVyRmlsdGVyOworICAgIGlmIChtX2NpRmls
dGVyU3RvcmFnZU1hcC5jb250YWlucyh0cmF2ZXJzYWxPcmRlcikpIHsKKyAgICAgICAgVmVjdG9y
PFJldGFpblB0cjxDSUZpbHRlcj4+IGNhY2hlZENJRmlsdGVycyA9IG1fY2lGaWx0ZXJTdG9yYWdl
TWFwLmdldCh0cmF2ZXJzYWxPcmRlcik7CisgICAgICAgIGNvbXBvbmVudFRyYW5zZmVyRmlsdGVy
ID0gY2FjaGVkQ0lGaWx0ZXJzLmF0KDApLmdldCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGNv
bXBvbmVudFRyYW5zZmVyRmlsdGVyID0gW0NJRmlsdGVyIGZpbHRlcldpdGhOYW1lOkAiQ0lDb2xv
clBvbHlub21pYWwiXTsKKyAgICAgICAgVmVjdG9yPFJldGFpblB0cjxDSUZpbHRlcj4+IGZpbHRl
cnNUb0JlQ2FjaGVkOworICAgICAgICBmaWx0ZXJzVG9CZUNhY2hlZC5pbnNlcnQoMCwgY29tcG9u
ZW50VHJhbnNmZXJGaWx0ZXIpOworICAgICAgICBtX2NpRmlsdGVyU3RvcmFnZU1hcC5hZGQodHJh
dmVyc2FsT3JkZXIsIGZpbHRlcnNUb0JlQ2FjaGVkKTsKKyAgICB9CisgICAgCisgICAgQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbiByZWRGdW5jdGlvbiA9IGNvbXBvbmVudFRyYW5zZmVyRWZmZWN0
LnJlZEZ1bmN0aW9uKCk7CisgICAgQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbiBncmVlbkZ1bmN0
aW9uID0gY29tcG9uZW50VHJhbnNmZXJFZmZlY3QuZ3JlZW5GdW5jdGlvbigpOworICAgIENvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb24gYmx1ZUZ1bmN0aW9uID0gY29tcG9uZW50VHJhbnNmZXJFZmZl
Y3QuYmx1ZUZ1bmN0aW9uKCk7CisgICAgQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbiBhbHBoYUZ1
bmN0aW9uID0gY29tcG9uZW50VHJhbnNmZXJFZmZlY3QuYWxwaGFGdW5jdGlvbigpOworICAgIAor
ICAgIFtjb21wb25lbnRUcmFuc2ZlckZpbHRlciBzZXRWYWx1ZTppbnB1dEltYWdlIGZvcktleTpr
Q0lJbnB1dEltYWdlS2V5XTsKKyAgICAKKyAgICBpZiAocmVkRnVuY3Rpb24udHlwZSA9PSBGRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICBbY29tcG9uZW50VHJhbnNmZXJG
aWx0ZXIgc2V0VmFsdWU6W0NJVmVjdG9yIHZlY3RvcldpdGhYOnJlZEZ1bmN0aW9uLmludGVyY2Vw
dCAgIFk6cmVkRnVuY3Rpb24uc2xvcGUgICAgWjowICBXOjBdIGZvcktleTpAImlucHV0UmVkQ29l
ZmZpY2llbnRzIl07CisgICAgaWYgKGdyZWVuRnVuY3Rpb24udHlwZSA9PSBGRUNPTVBPTkVOVFRS
QU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICBbY29tcG9uZW50VHJhbnNmZXJGaWx0ZXIgc2V0
VmFsdWU6W0NJVmVjdG9yIHZlY3RvcldpdGhYOmdyZWVuRnVuY3Rpb24uaW50ZXJjZXB0IFk6Z3Jl
ZW5GdW5jdGlvbi5zbG9wZSAgWjowICBXOjBdIGZvcktleTpAImlucHV0R3JlZW5Db2VmZmljaWVu
dHMiXTsKKyAgICBpZiAoYmx1ZUZ1bmN0aW9uLnR5cGUgPT0gRkVDT01QT05FTlRUUkFOU0ZFUl9U
WVBFX0xJTkVBUikKKyAgICAgICAgW2NvbXBvbmVudFRyYW5zZmVyRmlsdGVyIHNldFZhbHVlOltD
SVZlY3RvciB2ZWN0b3JXaXRoWDpibHVlRnVuY3Rpb24uaW50ZXJjZXB0ICBZOmJsdWVGdW5jdGlv
bi5zbG9wZSAgIFo6MCAgVzowXSBmb3JLZXk6QCJpbnB1dEJsdWVDb2VmZmljaWVudHMiXTsKKyAg
ICBpZiAoYWxwaGFGdW5jdGlvbi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5F
QVIpCisgICAgICAgIFtjb21wb25lbnRUcmFuc2ZlckZpbHRlciBzZXRWYWx1ZTpbQ0lWZWN0b3Ig
dmVjdG9yV2l0aFg6YWxwaGFGdW5jdGlvbi5pbnRlcmNlcHQgWTphbHBoYUZ1bmN0aW9uLnNsb3Bl
ICBaOjAgIFc6MF0gZm9yS2V5OkAiaW5wdXRBbHBoYUNvZWZmaWNpZW50cyJdOworICAgIAorICAg
IHJldHVybiBjb21wb25lbnRUcmFuc2ZlckZpbHRlci5vdXRwdXRJbWFnZTsKK30KKwogYm9vbCBG
aWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y2FuUmVuZGVyVXNpbmdDSUZpbHRlcnMoRmls
dGVyRWZmZWN0JiBlZmZlY3QpCiB7CiAgICAgaWYgKCFzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmlu
ZyhlZmZlY3QpKQpAQCAtMTgyLDYgKzIzOCw3IEBAIHZvaWQgRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2U6OmNsZWFyUmVzdWx0KCkKIAogRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6
OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlKCkKICAgICA6IEZpbHRlckVmZmVjdFJlbmRl
cmVyKCkKKyAgICAsIG1fY2lGaWx0ZXJTdG9yYWdlTWFwKCkKIHsKICAgICBDR0NvbG9yU3BhY2VS
ZWYgY29sb3JTcGFjZSA9IGNhY2hlZENHQ29sb3JTcGFjZShDb2xvclNwYWNlOjpTUkdCKTsKICAg
ICBtX2NvbnRleHQgPSBbQ0lDb250ZXh0IGNvbnRleHRXaXRoT3B0aW9uczogQHsga0NJQ29udGV4
dFdvcmtpbmdDb2xvclNwYWNlOiAoX19icmlkZ2UgaWQpY29sb3JTcGFjZX1dOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQw
NDQ3YzE5OTg0MDg0OTQxY2MxYzFkMTRjZWJkMjA1ODUwZjNmNzUuLjhjMGQ1MTk2M2E1ODc1Zjkz
MDI4Yjg2NjMyYWY0N2I5MzA0ZThkMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOC0z
MSAgRnJhbmsgWWFuZyAgPGd1b3dlaV95YW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JlSW1h
Z2UgSW1wbGVtZW50YXRpb24gb2YgQ1NTIEZpbHRlcnMgaW52ZXJ0KCksIG9wYWNpdHkoKSwgYnJp
Z2h0bmVzcygpLCBjb250cmFzdCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTU5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGNzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNv
bnRyYXN0LXNxdWFyZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRl
cnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Zp
bHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sOiBB
ZGRlZC4KKwogMjAyMC0wOC0yOCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSRUdSRVNTSU9OIChyMjYzNTA2KTogc2NhbGUgdHJhbnNmb3JtIHRyYW5zaXRp
b25zIHdvbid0IG92ZXJzaG9vdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJmZDAzNThjMzQzMTdkNjcyNzQyMjllYTFjZTI1ODc4MWJkZTg4NDEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5lc3Mtc3F1YXJl
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNo
b3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsK
KyAgICAgICAgd2lkdGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAg
YmFja2dyb3VuZDogcmdiKDEyNywgMCwgMCApOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVkIHJlY3RhbmdsZS48
L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRlMTk3MGM5ZTM3MmI0ZmJmYThlNTNkYmNhYzUzNzUwN2NmODE1N2UKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5lc3Mtc3F1
YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhh
bmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAg
ICAgd2lkdGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dy
b3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKTsKKyAgICAgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVkIHJlY3RhbmdsZS48L3A+CisgICAgPGRp
dj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWRhN2MzN2UzZmVjMmQxMmQyOWQ4MTI4YjM1OGViMTcyMWZhMjFlMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1
YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRl
IHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2
IHsKKyAgICAgICAgd2lkdGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAg
ICAgYmFja2dyb3VuZDogcmdiKDEyNywgMTI3LCAxMjcpOworICAgIH0KKworICAgIDwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3Rhbmds
ZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTcxMTEzZDk0OTQ5YWIwYjkxZjU1YTZmM2NkNmE3YjNhMTgyNzI1ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJl
Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
ICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8
L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAg
d2lkdGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dyb3Vu
ZDogcmVkOworICAgICAgICBmaWx0ZXI6IGNvbnRyYXN0KDAlKTsKKyAgICAgICAgcG9zaXRpb246
IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8
cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGUz
MmNmYjZjNjA4M2RkYWRjOWY4ZTQ0MzBhNTE2MjgwNTYwYWViCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3Rp
dGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lk
dGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDog
cmdiKDAsIDI1NSwgMjU1KTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBjeWFuIHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48
L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvZWZmZWN0LWludmVydC1zcXVhcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYmMxZmQ0MGVhOWM4YWUx
MTliMDE1MjBkZDUxYzhhMzgwN2UxOWNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRl
c3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDYwMHB4OworICAgICAgICBo
ZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6
IGludmVydCgxMDAlKTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPHA+WW91IHNob3VsZCBzZWUgYSBjeWFuIHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQxODNhYTUwMGZhMjA3MzU3MTJlODk0YTk4NzI2NjY1ODg0NzZlYWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhh
bmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAg
ICAgd2lkdGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dy
b3VuZDogcmdiKDI1NSwgMTI4LCAxMjgpOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGJyaWdodCByZWQgcmVjdGFuZ2xlLjwv
cD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjdiZThkZjgzNGI3MGQ0ZTBkNjljMDI0ODFjOGY2MjUyZjAxOWFiMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUuaHRtbApA
QCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRp
dGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+
CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDog
NjAwcHg7CisgICAgICAgIGhlaWdodDogNjAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7
CisgICAgICAgIGZpbHRlcjogb3BhY2l0eSg1MCUpOworICAgICAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBz
aG91bGQgc2VlIGEgYnJpZ2h0IHJlZCByZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407625</attachid>
            <date>2020-08-31 14:11:34 -0700</date>
            <delta_ts>2020-09-03 15:23:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215956-20200831141133.patch</filename>
            <type>text/plain</type>
            <size>16894</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMxZjViYzkyNTFjNDRm
ZTM5OTQ1YmJlNjkzMzUzNTNhMGFiZmJmZC4uMTQ2ZGFmZmEwMjE1ODkwZjk5NDdjOTgwNjQ1OTI0
ZWUyMzAxYWEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA4LTMxICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBp
bnZlcnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxs
IHVzZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlv
bi4gUGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8g
c3VwcG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdv
cmsgcHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDogYWRkZWQKKyAgICAgICAgICAgIGFkZGVkIGNv
bXBvbmVudFRyYW5zZmVyTGluZWFyRnVuY3Rpb25Pbmx5IGFuZCBmZUNvbXBvbmVudFRyYW5zZmVy
TGluZWFyRnVuY3Rpb25JbWFnZQorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFn
ZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZp
bHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpjb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1bmN0
aW9uT25seSk6IHNpbmNlIAorICAgICAgICAgICAgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24g
Y2FuIG9ubHkgaGFuZGxlIGNvbXBvbmVudCB0cmFuc2ZlciBmaWx0ZXJzIHdpdGggbGluZWFyIAor
ICAgICAgICAgICAgdHJhbnNmZXIgZnVuY3Rpb25zLCBjb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1
bmN0aW9uT25seSB0ZXN0cyB3aGV0aGVyIHRoZSB0cmFuc2ZlcgorICAgICAgICAgICAgZnVuY3Rp
b25zIGFjcm9zcyBhbGwgY2hhbm5lbHMgYXJlIGxpbmVhciBvciBudWxsLiBSZXR1cm5zIHRydWUg
aWYgdHJhbnNmZXIgZnVuY3Rpb25zIAorICAgICAgICAgICAgYXJlIGVpdGhlciBudWxsIG9yIGxp
bmVhciwgcmV0dXJucyBmYWxzZSBvdGhlcndpc2UuCisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6ZmVDb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1bmN0aW9u
SW1hZ2UpOgorICAgICAgICAgICAgUmV0dXJucyBhIENJSW1hZ2UgdGhhdCBpcyB0aGUgb3V0cHV0
IG9mIGNvbXBvbmVudCB0cmFuc2ZlciB3aXRoIGxpbmVhciBmdW5jdGlvbgorCiAyMDIwLTA4LTI4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBhZG9w
dGVkIG5vZGUgZnJvbSBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1h
Z2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaAppbmRleCA4MWVjNTdlNjhiMTkyZWM4
MzZhN2JkMThhMjhhZTNkZTczNTQxZDExLi44ODk5NDY2NjQ2NTBmMTAzNWYzMmUxMDM4N2M5NmI4
MjFiNTk2MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3Jl
SW1hZ2UuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgVVNFKENPUkVfSU1BR0UpCiAKKyNpbXBv
cnQgIkZFQ29tcG9uZW50VHJhbnNmZXIuaCIKICNpbXBvcnQgIkZpbHRlckVmZmVjdFJlbmRlcmVy
LmgiCiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgpAQCAt
NTIsMTMgKzUzLDE2IEBAIHB1YmxpYzoKICAgICBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZSgpOwogICAgIAogcHJpdmF0ZToKLSAgICBDSUltYWdlKiBjb25uZWN0Q0lGaWx0ZXJzKEZpbHRl
ckVmZmVjdCYpOworICAgIENJSW1hZ2UqIGNvbm5lY3RDSUZpbHRlcnMoRmlsdGVyRWZmZWN0Jiwg
aW50KTsKICAgICB2b2lkIHJlbmRlclRvSW1hZ2VCdWZmZXIoRmlsdGVyRWZmZWN0JikgZmluYWw7
CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0
Jik7CiAgICAgc3RhdGljIGJvb2wgY2FuUmVuZGVyVXNpbmdDSUZpbHRlcnMoRmlsdGVyRWZmZWN0
Jik7CisgICAgc3RhdGljIGJvb2wgY29tcG9uZW50VHJhbnNmZXJMaW5lYXJGdW5jdGlvbk9ubHko
RmlsdGVyRWZmZWN0Jik7CisgICAgCisgICAgQ0lJbWFnZSogZmVDb21wb25lbnRUcmFuc2Zlckxp
bmVhckZ1bmN0aW9uSW1hZ2UoRmlsdGVyRWZmZWN0JiwgVmVjdG9yPENJSW1hZ2UqPiYsIGludCk7
CiAgICAgCiAgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBtX291dHB1dEltYWdlQnVm
ZmVyOwotICAgIEhhc2hNYXA8UmVmPEZpbHRlckVmZmVjdD4sIFZlY3RvcjxSZXRhaW5QdHI8Q0lG
aWx0ZXI+Pj4gbV9jaUZpbHRlclN0b3JhZ2VNYXA7CisgICAgSGFzaE1hcDxpbnQsIFZlY3RvcjxS
ZXRhaW5QdHI8Q0lGaWx0ZXI+Pj4gbV9jaUZpbHRlclN0b3JhZ2VNYXA7CiAgICAgUmV0YWluUHRy
PENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7CiAgICAgUmV0YWluUHRyPENJQ29udGV4dD4gbV9jb250
ZXh0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
cmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZS5tbQppbmRleCA5MzEzZjcxZTZlZmJhODQ2ZDY2NTUxZTEzMDkzOTE5ZTA4M2RkODRjLi5mYjQ2
NzBkMTg4YWU2N2M4MzdhM2UwZTYzMmRlOGY5MTM5MTFlZGI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWlt
YWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCkBAIC0zMCw2ICszMCw4IEBACiAK
ICNpbXBvcnQgIkZpbHRlci5oIgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0LmgiCisjaW1wb3J0ICJG
aWx0ZXJPcGVyYXRpb24uaCIKKyNpbXBvcnQgIkZsb2F0Q29udmVyc2lvbi5oIgogI2ltcG9ydCAi
R3JhcGhpY3NDb250ZXh0Q0cuaCIKICNpbXBvcnQgIkltYWdlQnVmZmVyLmgiCiAjaW1wb3J0ICJQ
bGF0Zm9ybUltYWdlQnVmZmVyLmgiCkBAIC00Niw2ICs0OCwyMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U+IEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjp0cgogICAgIHJldHVybiBudWxscHRyOwogfQogCitib29sIEZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpjb21wb25lbnRUcmFuc2ZlckxpbmVhckZ1bmN0aW9uT25seShGaWx0ZXJF
ZmZlY3QmIGVmZmVjdCkKK3sKKyAgICBGRUNvbXBvbmVudFRyYW5zZmVyJiBjb21wb25lbnRUcmFu
c2ZlckVmZmVjdCA9IHN0YXRpY19jYXN0PEZFQ29tcG9uZW50VHJhbnNmZXImPihlZmZlY3QpOwor
ICAgIGlmIChjb21wb25lbnRUcmFuc2ZlckVmZmVjdC5yZWRGdW5jdGlvbigpLnR5cGUgIT0gRkVD
T01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV04gJiYgY29tcG9uZW50VHJhbnNmZXJFZmZlY3Qu
cmVkRnVuY3Rpb24oKS50eXBlICE9IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoY29tcG9uZW50VHJhbnNmZXJFZmZlY3QuZ3Jl
ZW5GdW5jdGlvbigpLnR5cGUgIT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV04gJiYg
Y29tcG9uZW50VHJhbnNmZXJFZmZlY3QuZ3JlZW5GdW5jdGlvbigpLnR5cGUgIT0gRkVDT01QT05F
TlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChj
b21wb25lbnRUcmFuc2ZlckVmZmVjdC5ibHVlRnVuY3Rpb24oKS50eXBlICE9IEZFQ09NUE9ORU5U
VFJBTlNGRVJfVFlQRV9VTktOT1dOICYmIGNvbXBvbmVudFRyYW5zZmVyRWZmZWN0LmJsdWVGdW5j
dGlvbigpLnR5cGUgIT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmIChjb21wb25lbnRUcmFuc2ZlckVmZmVjdC5hbHBoYUZ1bmN0
aW9uKCkudHlwZSAhPSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTiAmJiBjb21wb25l
bnRUcmFuc2ZlckVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkudHlwZSAhPSBGRUNPTVBPTkVOVFRSQU5T
RkVSX1RZUEVfTElORUFSKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRzQ29yZUlt
YWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIC8vIEZJWE1FOiBjaGFu
Z2UgcmV0dXJuIHZhbHVlIHRvIHRydWUgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZApAQCAtNTMs
NiArNjksNyBAQCBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpzdXBwb3J0c0Nv
cmVJbWFnZVJlbmRlcmluZyhGaWx0ZXJFZmZlY3QmIGVmZgogICAgIGNhc2UgRmlsdGVyRWZmZWN0
OjpUeXBlOjpCbGVuZDoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29sb3JNYXRyaXg6
CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvbmVudFRyYW5zZmVyOgorICAgICAg
ICByZXR1cm4gY29tcG9uZW50VHJhbnNmZXJMaW5lYXJGdW5jdGlvbk9ubHkoZWZmZWN0KTsKICAg
ICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29tcG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZm
ZWN0OjpUeXBlOjpDb252b2x2ZU1hdHJpeDoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6
RGlmZnVzZUxpZ2h0aW5nOgpAQCAtNzcsMTggKzk0LDE4IEBAIGJvb2wgRmlsdGVyRWZmZWN0UmVu
ZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRzQ29yZUltYWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYg
ZWZmCiAKIHZvaWQgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmFwcGx5RWZmZWN0cyhG
aWx0ZXJFZmZlY3QmIGxhc3RFZmZlY3QpCiB7Ci0gICAgbV9vdXRwdXRJbWFnZSA9IGNvbm5lY3RD
SUZpbHRlcnMobGFzdEVmZmVjdCk7CisgICAgbV9vdXRwdXRJbWFnZSA9IGNvbm5lY3RDSUZpbHRl
cnMobGFzdEVmZmVjdCwgMSk7CiAgICAgaWYgKCFtX291dHB1dEltYWdlKQogICAgICAgICByZXR1
cm47CiAgICAgcmVuZGVyVG9JbWFnZUJ1ZmZlcihsYXN0RWZmZWN0KTsKIH0KIAotQ0lJbWFnZSog
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5lY3RDSUZpbHRlcnMoRmlsdGVyRWZm
ZWN0JiBlZmZlY3QpCitDSUltYWdlKiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29u
bmVjdENJRmlsdGVycyhGaWx0ZXJFZmZlY3QmIGVmZmVjdCwgaW50IHRyYXZlcnNhbE9yZGVyKQog
ewogICAgIFZlY3RvcjxDSUltYWdlKj4gaW5wdXRJbWFnZXM7CiAgICAgCiAgICAgZm9yIChhdXRv
IGluIDogZWZmZWN0LmlucHV0RWZmZWN0cygpKSB7Ci0gICAgICAgIENJSW1hZ2UqIGlucHV0SW1h
Z2UgPSBjb25uZWN0Q0lGaWx0ZXJzKCppbik7CisgICAgICAgIENJSW1hZ2UqIGlucHV0SW1hZ2Ug
PSBjb25uZWN0Q0lGaWx0ZXJzKCppbiwgdHJhdmVyc2FsT3JkZXIgKyAxKTsKICAgICAgICAgaWYg
KCFpbnB1dEltYWdlKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIGlucHV0
SW1hZ2VzLmFwcGVuZChpbnB1dEltYWdlKTsKQEAgLTEwNCw2ICsxMjEsOSBAQCBDSUltYWdlKiBG
aWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29ubmVjdENJRmlsdGVycyhGaWx0ZXJFZmZl
Y3QmIGVmZmVjdCkKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6QmxlbmQ6CiAgICAgY2Fz
ZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbG9yTWF0cml4OgogICAgIGNhc2UgRmlsdGVyRWZmZWN0
OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKKyAgICAgICAgaWYgKGNvbXBvbmVudFRyYW5zZmVy
TGluZWFyRnVuY3Rpb25Pbmx5KGVmZmVjdCkpCisgICAgICAgICAgICByZXR1cm4gZmVDb21wb25l
bnRUcmFuc2ZlckxpbmVhckZ1bmN0aW9uSW1hZ2UoZWZmZWN0LCBpbnB1dEltYWdlcywgdHJhdmVy
c2FsT3JkZXIpOworICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6
VHlwZTo6Q29tcG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb252b2x2ZU1h
dHJpeDoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6RGlmZnVzZUxpZ2h0aW5nOgpAQCAt
MTI3LDYgKzE0Nyw0MiBAQCBDSUltYWdlKiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6
Y29ubmVjdENJRmlsdGVycyhGaWx0ZXJFZmZlY3QmIGVmZmVjdCkKICAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAorQ0lJbWFnZSogRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmZlQ29tcG9u
ZW50VHJhbnNmZXJMaW5lYXJGdW5jdGlvbkltYWdlKEZpbHRlckVmZmVjdCYgZWZmZWN0LCBWZWN0
b3I8Q0lJbWFnZSo+JiBpbnB1dEltYWdlcywgaW50IHRyYXZlcnNhbE9yZGVyKQoreworICAgIEZF
Q29tcG9uZW50VHJhbnNmZXImIGNvbXBvbmVudFRyYW5zZmVyRWZmZWN0ID0gc3RhdGljX2Nhc3Q8
RkVDb21wb25lbnRUcmFuc2ZlciY+KGVmZmVjdCk7CisgICAgQ0lJbWFnZSogaW5wdXRJbWFnZSA9
IGlucHV0SW1hZ2VzLmF0KDApOworICAgIFZlY3RvcjxSZXRhaW5QdHI8Q0lGaWx0ZXI+PiBjYWNo
ZWRDSUZpbHRlcnMgPSBtX2NpRmlsdGVyU3RvcmFnZU1hcC5nZXQodHJhdmVyc2FsT3JkZXIpOwor
ICAgIAorICAgIENJRmlsdGVyKiBjb21wb25lbnRUcmFuc2ZlckZpbHRlcjsKKyAgICBpZiAobV9j
aUZpbHRlclN0b3JhZ2VNYXAuY29udGFpbnModHJhdmVyc2FsT3JkZXIpKSB7CisgICAgICAgIFZl
Y3RvcjxSZXRhaW5QdHI8Q0lGaWx0ZXI+PiBjYWNoZWRDSUZpbHRlcnMgPSBtX2NpRmlsdGVyU3Rv
cmFnZU1hcC5nZXQodHJhdmVyc2FsT3JkZXIpOworICAgICAgICBjb21wb25lbnRUcmFuc2ZlckZp
bHRlciA9IGNhY2hlZENJRmlsdGVycy5hdCgwKS5nZXQoKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBjb21wb25lbnRUcmFuc2ZlckZpbHRlciA9IFtDSUZpbHRlciBmaWx0ZXJXaXRoTmFtZTpAIkNJ
Q29sb3JQb2x5bm9taWFsIl07CisgICAgICAgIFZlY3RvcjxSZXRhaW5QdHI8Q0lGaWx0ZXI+PiBm
aWx0ZXJzVG9CZUNhY2hlZDsKKyAgICAgICAgZmlsdGVyc1RvQmVDYWNoZWQuaW5zZXJ0KDAsIGNv
bXBvbmVudFRyYW5zZmVyRmlsdGVyKTsKKyAgICAgICAgbV9jaUZpbHRlclN0b3JhZ2VNYXAuYWRk
KHRyYXZlcnNhbE9yZGVyLCBmaWx0ZXJzVG9CZUNhY2hlZCk7CisgICAgfQorICAgIAorICAgIENv
bXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gcmVkRnVuY3Rpb24gPSBjb21wb25lbnRUcmFuc2ZlckVm
ZmVjdC5yZWRGdW5jdGlvbigpOworICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gZ3JlZW5G
dW5jdGlvbiA9IGNvbXBvbmVudFRyYW5zZmVyRWZmZWN0LmdyZWVuRnVuY3Rpb24oKTsKKyAgICBD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIGJsdWVGdW5jdGlvbiA9IGNvbXBvbmVudFRyYW5zZmVy
RWZmZWN0LmJsdWVGdW5jdGlvbigpOworICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gYWxw
aGFGdW5jdGlvbiA9IGNvbXBvbmVudFRyYW5zZmVyRWZmZWN0LmFscGhhRnVuY3Rpb24oKTsKKyAg
ICAKKyAgICBbY29tcG9uZW50VHJhbnNmZXJGaWx0ZXIgc2V0VmFsdWU6aW5wdXRJbWFnZSBmb3JL
ZXk6a0NJSW5wdXRJbWFnZUtleV07CisgICAgCisgICAgaWYgKHJlZEZ1bmN0aW9uLnR5cGUgPT0g
RkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgW2NvbXBvbmVudFRyYW5z
ZmVyRmlsdGVyIHNldFZhbHVlOltDSVZlY3RvciB2ZWN0b3JXaXRoWDpyZWRGdW5jdGlvbi5pbnRl
cmNlcHQgICBZOnJlZEZ1bmN0aW9uLnNsb3BlICAgIFo6MCAgVzowXSBmb3JLZXk6QCJpbnB1dFJl
ZENvZWZmaWNpZW50cyJdOworICAgIGlmIChncmVlbkZ1bmN0aW9uLnR5cGUgPT0gRkVDT01QT05F
TlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgW2NvbXBvbmVudFRyYW5zZmVyRmlsdGVy
IHNldFZhbHVlOltDSVZlY3RvciB2ZWN0b3JXaXRoWDpncmVlbkZ1bmN0aW9uLmludGVyY2VwdCBZ
OmdyZWVuRnVuY3Rpb24uc2xvcGUgIFo6MCAgVzowXSBmb3JLZXk6QCJpbnB1dEdyZWVuQ29lZmZp
Y2llbnRzIl07CisgICAgaWYgKGJsdWVGdW5jdGlvbi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNG
RVJfVFlQRV9MSU5FQVIpCisgICAgICAgIFtjb21wb25lbnRUcmFuc2ZlckZpbHRlciBzZXRWYWx1
ZTpbQ0lWZWN0b3IgdmVjdG9yV2l0aFg6Ymx1ZUZ1bmN0aW9uLmludGVyY2VwdCAgWTpibHVlRnVu
Y3Rpb24uc2xvcGUgICBaOjAgIFc6MF0gZm9yS2V5OkAiaW5wdXRCbHVlQ29lZmZpY2llbnRzIl07
CisgICAgaWYgKGFscGhhRnVuY3Rpb24udHlwZSA9PSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVf
TElORUFSKQorICAgICAgICBbY29tcG9uZW50VHJhbnNmZXJGaWx0ZXIgc2V0VmFsdWU6W0NJVmVj
dG9yIHZlY3RvcldpdGhYOmFscGhhRnVuY3Rpb24uaW50ZXJjZXB0IFk6YWxwaGFGdW5jdGlvbi5z
bG9wZSAgWjowICBXOjBdIGZvcktleTpAImlucHV0QWxwaGFDb2VmZmljaWVudHMiXTsKKyAgICAK
KyAgICByZXR1cm4gY29tcG9uZW50VHJhbnNmZXJGaWx0ZXIub3V0cHV0SW1hZ2U7Cit9CisKIGJv
b2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNhblJlbmRlclVzaW5nQ0lGaWx0ZXJz
KEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIGlmICghc3VwcG9ydHNDb3JlSW1hZ2VSZW5k
ZXJpbmcoZWZmZWN0KSkKQEAgLTE4Miw2ICsyMzgsNyBAQCB2b2lkIEZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpjbGVhclJlc3VsdCgpCiAKIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZSgpCiAgICAgOiBGaWx0ZXJFZmZlY3RS
ZW5kZXJlcigpCisgICAgLCBtX2NpRmlsdGVyU3RvcmFnZU1hcCgpCiB7CiAgICAgQ0dDb2xvclNw
YWNlUmVmIGNvbG9yU3BhY2UgPSBjYWNoZWRDR0NvbG9yU3BhY2UoQ29sb3JTcGFjZTo6U1JHQik7
CiAgICAgbV9jb250ZXh0ID0gW0NJQ29udGV4dCBjb250ZXh0V2l0aE9wdGlvbnM6IEB7IGtDSUNv
bnRleHRXb3JraW5nQ29sb3JTcGFjZTogKF9fYnJpZGdlIGlkKWNvbG9yU3BhY2V9XTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBkMDQ0N2MxOTk4NDA4NDk0MWNjMWMxZDE0Y2ViZDIwNTg1MGYzZjc1Li44YzBkNTE5NjNhNTg3
NWY5MzAyOGI4NjYzMmFmNDdiOTMwNGU4ZDMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAt
MDgtMzEgIEZyYW5rIFlhbmcgIDxndW93ZWlfeWFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQ29y
ZUltYWdlIEltcGxlbWVudGF0aW9uIG9mIENTUyBGaWx0ZXJzIGludmVydCgpLCBvcGFjaXR5KCks
IGJyaWdodG5lc3MoKSwgY29udHJhc3QoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE1OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5lc3Mtc3F1YXJl
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9lZmZlY3QtYnJp
Z2h0bmVzcy1zcXVhcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVj
dC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9m
aWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUuaHRt
bDogQWRkZWQuCisKIDIwMjAtMDgtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI2MzUwNik6IHNjYWxlIHRyYW5zZm9ybSB0cmFu
c2l0aW9ucyB3b24ndCBvdmVyc2hvb3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZmQwMzU4YzM0MzE3ZDY3Mjc0MjI5ZWExY2UyNTg3ODFiZGU4ODQxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNx
dWFyZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0
ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRp
diB7CisgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgaGVpZ2h0OiA2MDBweDsgCisgICAg
ICAgIGJhY2tncm91bmQ6IHJnYigxMjcsIDAsIDAgKTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBkYXJrIHJlZCByZWN0YW5n
bGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUuaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kZTE5NzBjOWUzNzJiNGZiZmE4ZTUzZGJjYWM1Mzc1MDdjZjgxNTdlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNz
LXNxdWFyZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9y
dCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7Cisg
ICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgaGVpZ2h0OiA2MDBweDsgCisgICAgICAgIGJh
Y2tncm91bmQ6IHJlZDsKKyAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDUwJSk7CisgICAgICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBkYXJrIHJlZCByZWN0YW5nbGUuPC9wPgorICAg
IDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjlkYTdjMzdlM2ZlYzJkMTJkMjlkODEyOGIzNThlYjE3MjFmYTIxZTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0
LXNxdWFyZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1
cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAg
IGRpdiB7CisgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgaGVpZ2h0OiA2MDBweDsgCisg
ICAgICAgIGJhY2tncm91bmQ6IHJnYigxMjcsIDEyNywgMTI3KTsKKyAgICB9CisKKyAgICA8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0
YW5nbGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk3MTExM2Q5NDk0OWFiMGI5MWY1NWE2ZjNjZDZhN2IzYTE4MjcyNWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNx
dWFyZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBo
YW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAg
ICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgaGVpZ2h0OiA2MDBweDsgCisgICAgICAgIGJhY2tn
cm91bmQ6IHJlZDsKKyAgICAgICAgZmlsdGVyOiBjb250cmFzdCgwJSk7CisgICAgICAgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPHA+WW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+PC9k
aXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjRlMzJjZmI2YzYwODNkZGFkYzlmOGU0NDMwYTUxNjI4MDU2MGFlYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5k
PC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAg
IHdpZHRoOiA2MDBweDsKKyAgICAgICAgaGVpZ2h0OiA2MDBweDsgCisgICAgICAgIGJhY2tncm91
bmQ6IHJnYigwLCAyNTUsIDI1NSk7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgY3lhbiByZWN0YW5nbGUuPC9wPgorICAgIDxk
aXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmJjMWZkNDBlYTlj
OGFlMTE5YjAxNTIwZGQ1MWM4YTM4MDdlMTljYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sCkBAIC0wLDAgKzEsMjAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRl
ciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAg
ICAgaGVpZ2h0OiA2MDBweDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICAgICAgZmls
dGVyOiBpbnZlcnQoMTAwJSk7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgY3lhbiByZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMTgzYWE1MDBmYTIwNzM1NzEyZTg5NGE5ODcyNjY2NTg4NDc2ZWFkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9y
dCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7Cisg
ICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgaGVpZ2h0OiA2MDBweDsgCisgICAgICAgIGJh
Y2tncm91bmQ6IHJnYigyNTUsIDEyOCwgMTI4KTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBicmlnaHQgcmVkIHJlY3Rhbmds
ZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI3YmU4ZGY4MzRiNzBkNGUwZDY5YzAyNDgxYzhmNjI1MmYwMTlhYjIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0
bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3Rp
dGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lk
dGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDog
cmVkOworICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoNTAlKTsKKyAgICAgICAgcG9zaXRpb246IGFi
c29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Z
b3Ugc2hvdWxkIHNlZSBhIGJyaWdodCByZWQgcmVjdGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407920</attachid>
            <date>2020-09-03 15:23:08 -0700</date>
            <delta_ts>2020-09-03 15:23:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215956-20200903152308.patch</filename>
            <type>text/plain</type>
            <size>8238</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2N2IyZDhlNjk4OTQx
NTAwNTIxZmU1YTQ0YTc4NTkwZDM2MWU0NC4uN2U5MWFmZTAxM2RkNmRiMjZkOTEyZGQ3OTUxZjZl
NGQ4MTU4NzY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdl
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6Omlz
TnVsbE9yTGluZWFyQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6c3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNv
bm5lY3RDSUZpbHRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2U6OmltYWdlRm9yRkVDb2xvck1hdHJpeCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0
ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VGb3JGRUNvbXBvbmVudFRyYW5zZmVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIu
aDoKKyAgICAgICAgKGlzVHlwZSk6CisKIDIwMjAtMDktMDMgIEZyYW5rIFlhbmcgIDxndW93ZWlf
eWFuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29yZUltYWdlIEltcGxlbWVudGF0aW9uIG9mIFNv
dXJjZUdyYXBoaWMgYW5kIHNhdHVyYXRlKCksIGh1ZS1yb3RhdGUoKSwgZ3JheXNjYWxlKCkgYW5k
IHNlcGlhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
cmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdl
LmgKaW5kZXggNGYxZTczMWI4YTIwM2FmMDI4Y2FiMmI0NTZjODRiOWEyMDE4OWY0NS4uYWRmNjFi
MDNjYTA5NDU2ZDhhYmU3ZDQxMTM2NjNiNDMyYmEwNjI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29y
ZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdl
L0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBV
U0UoQ09SRV9JTUFHRSkKIAogI2ltcG9ydCAiRkVDb2xvck1hdHJpeC5oIgorI2ltcG9ydCAiRkVD
b21wb25lbnRUcmFuc2Zlci5oIgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCIKICNp
bXBvcnQgIlNvdXJjZUdyYXBoaWMuaCIKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CkBAIC01OCw4
ICs1OSwxMSBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzQ29yZUltYWdlUmVu
ZGVyaW5nKEZpbHRlckVmZmVjdCYpOwogICAgIHN0YXRpYyBib29sIGNhblJlbmRlclVzaW5nQ0lG
aWx0ZXJzKEZpbHRlckVmZmVjdCYpOwogICAgIAorICAgIHN0YXRpYyBib29sIGlzTnVsbE9yTGlu
ZWFyQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbihjb25zdCBGRUNvbXBvbmVudFRyYW5zZmVyJik7
CisgICAgCiAgICAgUmV0YWluUHRyPENJSW1hZ2U+IGltYWdlRm9yU291cmNlR3JhcGhpYyhTb3Vy
Y2VHcmFwaGljJik7CiAgICAgUmV0YWluUHRyPENJSW1hZ2U+IGltYWdlRm9yRkVDb2xvck1hdHJp
eChjb25zdCBGRUNvbG9yTWF0cml4JiwgY29uc3QgVmVjdG9yPFJldGFpblB0cjxDSUltYWdlPj4m
KTsKKyAgICBSZXRhaW5QdHI8Q0lJbWFnZT4gaW1hZ2VGb3JGRUNvbXBvbmVudFRyYW5zZmVyKGNv
bnN0IEZFQ29tcG9uZW50VHJhbnNmZXImLCBWZWN0b3I8UmV0YWluUHRyPENJSW1hZ2U+PiYpOwog
ICAgIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gbV9vdXRwdXRJbWFnZUJ1ZmZl
cjsKICAgICBSZXRhaW5QdHI8Q0lJbWFnZT4gbV9vdXRwdXRJbWFnZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5k
ZXJlckNvcmVJbWFnZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVp
bWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbQppbmRleCA1MzA2YmYwZTQxYmRm
Y2M5Mjg3Y2JkYWI4MTFkM2M5OWQ2NTJkZGFiLi5hZTUyODU2ZDZiZDFiYWJiN2NkMWM5YmM1YTZl
MzhiNjA2N2Y0MTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVy
Q29yZUltYWdlLm1tCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJGaWx0ZXIuaCIKICNpbXBv
cnQgIkZpbHRlckVmZmVjdC5oIgogI2ltcG9ydCAiRmlsdGVyT3BlcmF0aW9uLmgiCisjaW1wb3J0
ICJGbG9hdENvbnZlcnNpb24uaCIKICNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dENHLmgiCiAjaW1w
b3J0ICJJbWFnZUJ1ZmZlci5oIgogI2ltcG9ydCAiUGxhdGZvcm1JbWFnZUJ1ZmZlci5oIgpAQCAt
NTQsNiArNTUsMjMgQEAgUmV0YWluUHRyPENJQ29udGV4dD4gRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2U6OnNoYXJlZENJQ29udGV4dCgpCiAgICAgcmV0dXJuIGNpQ29udGV4dDsKIH0KIAor
Ym9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aXNOdWxsT3JMaW5lYXJDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uKGNvbnN0IEZFQ29tcG9uZW50VHJhbnNmZXImIGVmZmVjdCkKK3sK
KyAgICBpZiAoZWZmZWN0LnJlZEZ1bmN0aW9uKCkudHlwZSAhPSBGRUNPTVBPTkVOVFRSQU5TRkVS
X1RZUEVfVU5LTk9XTgorICAgICAgICAmJiBlZmZlY3QucmVkRnVuY3Rpb24oKS50eXBlICE9IEZF
Q09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoZWZmZWN0LmdyZWVuRnVuY3Rpb24oKS50eXBlICE9IEZFQ09NUE9ORU5UVFJBTlNGRVJf
VFlQRV9VTktOT1dOCisgICAgICAgICYmIGVmZmVjdC5ncmVlbkZ1bmN0aW9uKCkudHlwZSAhPSBG
RUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaWYgKGVmZmVjdC5ibHVlRnVuY3Rpb24oKS50eXBlICE9IEZFQ09NUE9ORU5UVFJBTlNGRVJf
VFlQRV9VTktOT1dOCisgICAgICAgICYmIGVmZmVjdC5ibHVlRnVuY3Rpb24oKS50eXBlICE9IEZF
Q09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoZWZmZWN0LmFscGhhRnVuY3Rpb24oKS50eXBlICE9IEZFQ09NUE9ORU5UVFJBTlNGRVJf
VFlQRV9VTktOT1dOCisgICAgICAgICYmIGVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkudHlwZSAhPSBG
RUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6
OnN1cHBvcnRzQ29yZUltYWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAg
IC8vIEZJWE1FOiBjaGFuZ2UgcmV0dXJuIHZhbHVlIHRvIHRydWUgb25jZSB0aGV5IGFyZSBpbXBs
ZW1lbnRlZApAQCAtNzMsOCArOTEsMTAgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJ
bWFnZTo6c3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0JiBlZmYKICAgICAg
ICAgfQogICAgIH0KIAotICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpCbGVuZDoKICAgICBj
YXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVy
biBpc051bGxPckxpbmVhckNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24oZG93bmNhc3Q8RkVDb21w
b25lbnRUcmFuc2Zlcj4oZWZmZWN0KSk7CisKKyAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6
QmxlbmQ6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvc2l0ZToKICAgICBjYXNl
IEZpbHRlckVmZmVjdDo6VHlwZTo6Q29udm9sdmVNYXRyaXg6CiAgICAgY2FzZSBGaWx0ZXJFZmZl
Y3Q6OlR5cGU6OkRpZmZ1c2VMaWdodGluZzoKQEAgLTEyNSwxMCArMTQ1LDExIEBAIFJldGFpblB0
cjxDSUltYWdlPiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29ubmVjdENJRmlsdGVy
cyhGaWx0ZXJFZmZlY3QmCiAgICAgICAgIHJldHVybiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoZG93
bmNhc3Q8U291cmNlR3JhcGhpYz4oZWZmZWN0KSk7CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5
cGU6OkNvbG9yTWF0cml4OgogICAgICAgICByZXR1cm4gaW1hZ2VGb3JGRUNvbG9yTWF0cml4KGRv
d25jYXN0PEZFQ29sb3JNYXRyaXg+KGVmZmVjdCksIGlucHV0SW1hZ2VzKTsKKyAgICBjYXNlIEZp
bHRlckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpbWFn
ZUZvckZFQ29tcG9uZW50VHJhbnNmZXIoZG93bmNhc3Q8RkVDb21wb25lbnRUcmFuc2Zlcj4oZWZm
ZWN0KSwgaW5wdXRJbWFnZXMpOwogCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aG9zZSBmaWx0
ZXJzIHVzaW5nIENJRmlsdGVyIHNvIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybnMgYSB2YWxpZCBD
SUltYWdlCiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkJsZW5kOgotICAgIGNhc2UgRmls
dGVyRWZmZWN0OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKICAgICBjYXNlIEZpbHRlckVmZmVj
dDo6VHlwZTo6Q29tcG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb252b2x2
ZU1hdHJpeDoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6RGlmZnVzZUxpZ2h0aW5nOgpA
QCAtMjE1LDYgKzIzNiwzNCBAQCBSZXRhaW5QdHI8Q0lJbWFnZT4gRmlsdGVyRWZmZWN0UmVuZGVy
ZXJDb3JlSW1hZ2U6OmltYWdlRm9yRkVDb2xvck1hdHJpeChjb25zdCBGRQogICAgIHJldHVybiBj
b2xvck1hdHJpeEZpbHRlci5vdXRwdXRJbWFnZTsKIH0KIAorUmV0YWluUHRyPENJSW1hZ2U+IEZp
bHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIo
Y29uc3QgRkVDb21wb25lbnRUcmFuc2ZlciYgZWZmZWN0LCBWZWN0b3I8UmV0YWluUHRyPENJSW1h
Z2U+PiYgaW5wdXRJbWFnZXMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgcmVzdCBv
ZiBGRUNvbXBvbmVudFRyYW5zZmVyIGZ1bmN0aW9ucworICAgIGlmICghaXNOdWxsT3JMaW5lYXJD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uKGVmZmVjdCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIAorCisgICAgYXV0byBpbnB1dEltYWdlID0gaW5wdXRJbWFnZXMuYXQoMCk7CisgICAg
Q0lGaWx0ZXIqIGNvbXBvbmVudFRyYW5zZmVyRmlsdGVyID0gW0NJRmlsdGVyIGZpbHRlcldpdGhO
YW1lOkAiQ0lDb2xvclBvbHlub21pYWwiXTsKKworICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b24gcmVkRnVuY3Rpb24gPSBlZmZlY3QucmVkRnVuY3Rpb24oKTsKKyAgICBDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uIGdyZWVuRnVuY3Rpb24gPSBlZmZlY3QuZ3JlZW5GdW5jdGlvbigpOworICAg
IENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gYmx1ZUZ1bmN0aW9uID0gZWZmZWN0LmJsdWVGdW5j
dGlvbigpOworICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gYWxwaGFGdW5jdGlvbiA9IGVm
ZmVjdC5hbHBoYUZ1bmN0aW9uKCk7CisgICAgCisgICAgW2NvbXBvbmVudFRyYW5zZmVyRmlsdGVy
IHNldFZhbHVlOmlucHV0SW1hZ2UuZ2V0KCkgZm9yS2V5OmtDSUlucHV0SW1hZ2VLZXldOworICAg
IAorICAgIGlmIChyZWRGdW5jdGlvbi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9M
SU5FQVIpCisgICAgICAgIFtjb21wb25lbnRUcmFuc2ZlckZpbHRlciBzZXRWYWx1ZTpbQ0lWZWN0
b3IgdmVjdG9yV2l0aFg6cmVkRnVuY3Rpb24uaW50ZXJjZXB0ICAgWTpyZWRGdW5jdGlvbi5zbG9w
ZSAgICBaOjAgIFc6MF0gZm9yS2V5OkAiaW5wdXRSZWRDb2VmZmljaWVudHMiXTsKKyAgICBpZiAo
Z3JlZW5GdW5jdGlvbi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIpCisg
ICAgICAgIFtjb21wb25lbnRUcmFuc2ZlckZpbHRlciBzZXRWYWx1ZTpbQ0lWZWN0b3IgdmVjdG9y
V2l0aFg6Z3JlZW5GdW5jdGlvbi5pbnRlcmNlcHQgWTpncmVlbkZ1bmN0aW9uLnNsb3BlICBaOjAg
IFc6MF0gZm9yS2V5OkAiaW5wdXRHcmVlbkNvZWZmaWNpZW50cyJdOworICAgIGlmIChibHVlRnVu
Y3Rpb24udHlwZSA9PSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICBb
Y29tcG9uZW50VHJhbnNmZXJGaWx0ZXIgc2V0VmFsdWU6W0NJVmVjdG9yIHZlY3RvcldpdGhYOmJs
dWVGdW5jdGlvbi5pbnRlcmNlcHQgIFk6Ymx1ZUZ1bmN0aW9uLnNsb3BlICAgWjowICBXOjBdIGZv
cktleTpAImlucHV0Qmx1ZUNvZWZmaWNpZW50cyJdOworICAgIGlmIChhbHBoYUZ1bmN0aW9uLnR5
cGUgPT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgW2NvbXBvbmVu
dFRyYW5zZmVyRmlsdGVyIHNldFZhbHVlOltDSVZlY3RvciB2ZWN0b3JXaXRoWDphbHBoYUZ1bmN0
aW9uLmludGVyY2VwdCBZOmFscGhhRnVuY3Rpb24uc2xvcGUgIFo6MCAgVzowXSBmb3JLZXk6QCJp
bnB1dEFscGhhQ29lZmZpY2llbnRzIl07CisgICAgcmV0dXJuIGNvbXBvbmVudFRyYW5zZmVyRmls
dGVyLm91dHB1dEltYWdlOworfQorCiBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdl
OjpjYW5SZW5kZXJVc2luZ0NJRmlsdGVycyhGaWx0ZXJFZmZlY3QmIGVmZmVjdCkKIHsKICAgICBp
ZiAoIXN1cHBvcnRzQ29yZUltYWdlUmVuZGVyaW5nKGVmZmVjdCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRU
cmFuc2Zlci5oCmluZGV4IGZjZjRlYzJhMGRjNmE2NzBjNDFlZTZhZThiNTUwZTg1MGUxNmUxYWIu
LjJiNTg2ZGVmN2ZiNDJhMzdiMmUxMjNlZGE4NzExOWM0ZWIzNDhhNTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21w
b25lbnRUcmFuc2Zlci5oCkBAIC04OSwzICs4OSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpGRUNv
bXBvbmVudFRyYW5zZmVyKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpG
aWx0ZXJFZmZlY3QmIGVmZmVjdCkgeyByZXR1cm4gZWZmZWN0LmZpbHRlckVmZmVjdENsYXNzVHlw
ZSgpID09IFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407926</attachid>
            <date>2020-09-03 16:08:18 -0700</date>
            <delta_ts>2020-09-04 11:37:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215956-20200903160817.patch</filename>
            <type>text/plain</type>
            <size>16068</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2N2IyZDhlNjk4OTQx
NTAwNTIxZmU1YTQ0YTc4NTkwZDM2MWU0NC4uYmYyNGU4ZTcwOTNiZWQ0NDg4NzY3YWNhMWI2Yjdh
ZDc4YzBkZDFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBp
bnZlcnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxs
IHVzZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlv
bi4gUGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8g
c3VwcG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdv
cmsgcHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChX
ZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aXNOdWxsT3JMaW5lYXJDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uKToKKyAgICAgICAgICAgIGN1cnJlbnRseSBDb3JlSW1hZ2Ug
Y2FuIG9ubHkgcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIgZmlsdGVycyBpZiB0aGUgdHJhbnNm
ZXIgZnVudGlvbgorICAgICAgICAgICAgaXMgb25seSBsaW5lYXIuIEEgRkVDb21wb25lbnRUcmFu
c2ZlciBmaWx0ZXIgdXNpbmcgb25seSBsaW5lYXIgZnVuY3Rpb24gd291bGQgaGF2ZSBpdCdzIAor
ICAgICAgICAgICAgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgZnVuY3Rpb25zIHR5cGVzIGVpdGhl
ciBiZSBsaW5lYXIgb3IgbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyk6CisgICAgICAgICAgICBj
dXJyZW50bHkgQ29yZUltYWdlIGNhbiBvbmx5IHJlbmRlciBGRUNvbXBvbmVudFRyYW5zZmVyIGZp
bHRlcnMgaWYgdGhlIHRyYW5zZmVyIGZ1bnRpb24KKyAgICAgICAgICAgIGlzIG9ubHkgbGluZWFy
LgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5l
Y3RDSUZpbHRlcnMpOgorICAgICAgICAgICAgbm93IHJldHVybnMgaW1hZ2UgZm9yIEZFQ29tcG9u
ZW50VHJhbnNmZXIKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIpOiAKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRoYXQgdXNlcyBDSUZpbHRlcnMgdG8gcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg6Cisg
ICAgICAgIChpc1R5cGUpOiBhZGRlZCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTIHNvIHRoYXQgd2Ug
Y2FuIGRvd25jYXN0IHRvIEZFQ29tcG9uZW50VHJhbnNmZXIKKworCiAyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBTb3VyY2VHcmFwaGljIGFuZCBzYXR1cmF0ZSgpLCBodWUtcm90YXRlKCks
IGdyYXlzY2FsZSgpIGFuZCBzZXBpYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RS
ZW5kZXJlckNvcmVJbWFnZS5oCmluZGV4IDRmMWU3MzFiOGEyMDNhZjAyOGNhYjJiNDU2Yzg0Yjlh
MjAxODlmNDUuLmFkZjYxYjAzY2EwOTQ1NmQ4YWJlN2Q0MTEzNjYzYjQzMmJhMDYyNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCkBAIC0yOCw2
ICsyOCw3IEBACiAjaWYgVVNFKENPUkVfSU1BR0UpCiAKICNpbXBvcnQgIkZFQ29sb3JNYXRyaXgu
aCIKKyNpbXBvcnQgIkZFQ29tcG9uZW50VHJhbnNmZXIuaCIKICNpbXBvcnQgIkZpbHRlckVmZmVj
dFJlbmRlcmVyLmgiCiAjaW1wb3J0ICJTb3VyY2VHcmFwaGljLmgiCiAjaW1wb3J0IDx3dGYvSGFz
aE1hcC5oPgpAQCAtNTgsOCArNTksMTEgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBzdXBw
b3J0c0NvcmVJbWFnZVJlbmRlcmluZyhGaWx0ZXJFZmZlY3QmKTsKICAgICBzdGF0aWMgYm9vbCBj
YW5SZW5kZXJVc2luZ0NJRmlsdGVycyhGaWx0ZXJFZmZlY3QmKTsKICAgICAKKyAgICBzdGF0aWMg
Ym9vbCBpc051bGxPckxpbmVhckNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24oY29uc3QgRkVDb21w
b25lbnRUcmFuc2ZlciYpOworICAgIAogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvclNv
dXJjZUdyYXBoaWMoU291cmNlR3JhcGhpYyYpOwogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFn
ZUZvckZFQ29sb3JNYXRyaXgoY29uc3QgRkVDb2xvck1hdHJpeCYsIGNvbnN0IFZlY3RvcjxSZXRh
aW5QdHI8Q0lJbWFnZT4+Jik7CisgICAgUmV0YWluUHRyPENJSW1hZ2U+IGltYWdlRm9yRkVDb21w
b25lbnRUcmFuc2Zlcihjb25zdCBGRUNvbXBvbmVudFRyYW5zZmVyJiwgVmVjdG9yPFJldGFpblB0
cjxDSUltYWdlPj4mKTsKICAgICAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1f
b3V0cHV0SW1hZ2VCdWZmZXI7CiAgICAgUmV0YWluUHRyPENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2Uv
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KaW5k
ZXggNTMwNmJmMGU0MWJkZmNjOTI4N2NiZGFiODExZDNjOTlkNjUyZGRhYi4uNWNlYTgyNmE5ZmU0
ZjQ2N2UzMDA2NWM3NWQ1ZDZhMjgxNGZlZmE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdl
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0
ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAi
RmlsdGVyLmgiCiAjaW1wb3J0ICJGaWx0ZXJFZmZlY3QuaCIKICNpbXBvcnQgIkZpbHRlck9wZXJh
dGlvbi5oIgorI2ltcG9ydCAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW1wb3J0ICJHcmFwaGljc0Nv
bnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlBsYXRmb3JtSW1h
Z2VCdWZmZXIuaCIKQEAgLTU0LDYgKzU1LDIzIEBAIFJldGFpblB0cjxDSUNvbnRleHQ+IEZpbHRl
ckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpzaGFyZWRDSUNvbnRleHQoKQogICAgIHJldHVybiBj
aUNvbnRleHQ7CiB9CiAKK2Jvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmlzTnVs
bE9yTGluZWFyQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbihjb25zdCBGRUNvbXBvbmVudFRyYW5z
ZmVyJiBlZmZlY3QpCit7CisgICAgaWYgKGVmZmVjdC5yZWRGdW5jdGlvbigpLnR5cGUgIT0gRkVD
T01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV04KKyAgICAgICAgJiYgZWZmZWN0LnJlZEZ1bmN0
aW9uKCkudHlwZSAhPSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKGVmZmVjdC5ncmVlbkZ1bmN0aW9uKCkudHlwZSAhPSBGRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTgorICAgICAgICAmJiBlZmZlY3QuZ3JlZW5GdW5j
dGlvbigpLnR5cGUgIT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmIChlZmZlY3QuYmx1ZUZ1bmN0aW9uKCkudHlwZSAhPSBGRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTgorICAgICAgICAmJiBlZmZlY3QuYmx1ZUZ1bmN0
aW9uKCkudHlwZSAhPSBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKGVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkudHlwZSAhPSBGRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTgorICAgICAgICAmJiBlZmZlY3QuYWxwaGFGdW5j
dGlvbigpLnR5cGUgIT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIEZpbHRlckVmZmVjdFJl
bmRlcmVyQ29yZUltYWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyhGaWx0ZXJFZmZlY3Qm
IGVmZmVjdCkKIHsKICAgICAvLyBGSVhNRTogY2hhbmdlIHJldHVybiB2YWx1ZSB0byB0cnVlIG9u
Y2UgdGhleSBhcmUgaW1wbGVtZW50ZWQKQEAgLTczLDggKzkxLDEwIEBAIGJvb2wgRmlsdGVyRWZm
ZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRzQ29yZUltYWdlUmVuZGVyaW5nKEZpbHRlckVm
ZmVjdCYgZWZmCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlw
ZTo6QmxlbmQ6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvbmVudFRyYW5zZmVy
OgorICAgICAgICByZXR1cm4gaXNOdWxsT3JMaW5lYXJDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
KGRvd25jYXN0PEZFQ29tcG9uZW50VHJhbnNmZXI+KGVmZmVjdCkpOworCisgICAgY2FzZSBGaWx0
ZXJFZmZlY3Q6OlR5cGU6OkJsZW5kOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb21w
b3NpdGU6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbnZvbHZlTWF0cml4OgogICAg
IGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpEaWZmdXNlTGlnaHRpbmc6CkBAIC0xMjUsMTAgKzE0
NSwxMSBAQCBSZXRhaW5QdHI8Q0lJbWFnZT4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6
OmNvbm5lY3RDSUZpbHRlcnMoRmlsdGVyRWZmZWN0JgogICAgICAgICByZXR1cm4gaW1hZ2VGb3JT
b3VyY2VHcmFwaGljKGRvd25jYXN0PFNvdXJjZUdyYXBoaWM+KGVmZmVjdCkpOwogICAgIGNhc2Ug
RmlsdGVyRWZmZWN0OjpUeXBlOjpDb2xvck1hdHJpeDoKICAgICAgICAgcmV0dXJuIGltYWdlRm9y
RkVDb2xvck1hdHJpeChkb3duY2FzdDxGRUNvbG9yTWF0cml4PihlZmZlY3QpLCBpbnB1dEltYWdl
cyk7CisgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvbmVudFRyYW5zZmVyOgorICAg
ICAgICByZXR1cm4gaW1hZ2VGb3JGRUNvbXBvbmVudFRyYW5zZmVyKGRvd25jYXN0PEZFQ29tcG9u
ZW50VHJhbnNmZXI+KGVmZmVjdCksIGlucHV0SW1hZ2VzKTsKIAogICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgdGhvc2UgZmlsdGVycyB1c2luZyBDSUZpbHRlciBzbyB0aGF0IHRoZSBmdW5jdGlvbiBy
ZXR1cm5zIGEgdmFsaWQgQ0lJbWFnZQogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpCbGVu
ZDoKLSAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CiAgICAg
Y2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvc2l0ZToKICAgICBjYXNlIEZpbHRlckVmZmVj
dDo6VHlwZTo6Q29udm9sdmVNYXRyaXg6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkRp
ZmZ1c2VMaWdodGluZzoKQEAgLTIxNSw2ICsyMzYsMzUgQEAgUmV0YWluUHRyPENJSW1hZ2U+IEZp
bHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjppbWFnZUZvckZFQ29sb3JNYXRyaXgoY29uc3Qg
RkUKICAgICByZXR1cm4gY29sb3JNYXRyaXhGaWx0ZXIub3V0cHV0SW1hZ2U7CiB9CiAKK1JldGFp
blB0cjxDSUltYWdlPiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VGb3JGRUNv
bXBvbmVudFRyYW5zZmVyKGNvbnN0IEZFQ29tcG9uZW50VHJhbnNmZXImIGVmZmVjdCwgVmVjdG9y
PFJldGFpblB0cjxDSUltYWdlPj4mIGlucHV0SW1hZ2VzKQoreworICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgdGhlIHJlc3Qgb2YgRkVDb21wb25lbnRUcmFuc2ZlciBmdW5jdGlvbnMKKyAgICBpZiAo
IWlzTnVsbE9yTGluZWFyQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbihlZmZlY3QpKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICAKKworICAgIGF1dG8gaW5wdXRJbWFnZSA9IGlucHV0SW1h
Z2VzLmF0KDApOworICAgIENJRmlsdGVyKiBjb21wb25lbnRUcmFuc2ZlckZpbHRlciA9IFtDSUZp
bHRlciBmaWx0ZXJXaXRoTmFtZTpAIkNJQ29sb3JQb2x5bm9taWFsIl07CisKKyAgICBDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uIHJlZEZ1bmN0aW9uID0gZWZmZWN0LnJlZEZ1bmN0aW9uKCk7Cisg
ICAgQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbiBncmVlbkZ1bmN0aW9uID0gZWZmZWN0LmdyZWVu
RnVuY3Rpb24oKTsKKyAgICBDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIGJsdWVGdW5jdGlvbiA9
IGVmZmVjdC5ibHVlRnVuY3Rpb24oKTsKKyAgICBDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIGFs
cGhhRnVuY3Rpb24gPSBlZmZlY3QuYWxwaGFGdW5jdGlvbigpOworICAgIAorICAgIFtjb21wb25l
bnRUcmFuc2ZlckZpbHRlciBzZXRWYWx1ZTppbnB1dEltYWdlLmdldCgpIGZvcktleTprQ0lJbnB1
dEltYWdlS2V5XTsKKyAgICAKKyAgICBpZiAocmVkRnVuY3Rpb24udHlwZSA9PSBGRUNPTVBPTkVO
VFRSQU5TRkVSX1RZUEVfTElORUFSKQorICAgICAgICBbY29tcG9uZW50VHJhbnNmZXJGaWx0ZXIg
c2V0VmFsdWU6W0NJVmVjdG9yIHZlY3RvcldpdGhYOnJlZEZ1bmN0aW9uLmludGVyY2VwdCAgIFk6
cmVkRnVuY3Rpb24uc2xvcGUgICAgWjowICBXOjBdIGZvcktleTpAImlucHV0UmVkQ29lZmZpY2ll
bnRzIl07CisgICAgaWYgKGdyZWVuRnVuY3Rpb24udHlwZSA9PSBGRUNPTVBPTkVOVFRSQU5TRkVS
X1RZUEVfTElORUFSKQorICAgICAgICBbY29tcG9uZW50VHJhbnNmZXJGaWx0ZXIgc2V0VmFsdWU6
W0NJVmVjdG9yIHZlY3RvcldpdGhYOmdyZWVuRnVuY3Rpb24uaW50ZXJjZXB0IFk6Z3JlZW5GdW5j
dGlvbi5zbG9wZSAgWjowICBXOjBdIGZvcktleTpAImlucHV0R3JlZW5Db2VmZmljaWVudHMiXTsK
KyAgICBpZiAoYmx1ZUZ1bmN0aW9uLnR5cGUgPT0gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJ
TkVBUikKKyAgICAgICAgW2NvbXBvbmVudFRyYW5zZmVyRmlsdGVyIHNldFZhbHVlOltDSVZlY3Rv
ciB2ZWN0b3JXaXRoWDpibHVlRnVuY3Rpb24uaW50ZXJjZXB0ICBZOmJsdWVGdW5jdGlvbi5zbG9w
ZSAgIFo6MCAgVzowXSBmb3JLZXk6QCJpbnB1dEJsdWVDb2VmZmljaWVudHMiXTsKKyAgICBpZiAo
YWxwaGFGdW5jdGlvbi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIpCisg
ICAgICAgIFtjb21wb25lbnRUcmFuc2ZlckZpbHRlciBzZXRWYWx1ZTpbQ0lWZWN0b3IgdmVjdG9y
V2l0aFg6YWxwaGFGdW5jdGlvbi5pbnRlcmNlcHQgWTphbHBoYUZ1bmN0aW9uLnNsb3BlICBaOjAg
IFc6MF0gZm9yS2V5OkAiaW5wdXRBbHBoYUNvZWZmaWNpZW50cyJdOworICAgIAorICAgIHJldHVy
biBjb21wb25lbnRUcmFuc2ZlckZpbHRlci5vdXRwdXRJbWFnZTsKK30KKwogYm9vbCBGaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y2FuUmVuZGVyVXNpbmdDSUZpbHRlcnMoRmlsdGVyRWZm
ZWN0JiBlZmZlY3QpCiB7CiAgICAgaWYgKCFzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyhlZmZl
Y3QpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUNvbXBvbmVudFRyYW5zZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuaAppbmRleCBmY2Y0ZWMyYTBkYzZhNjcwYzQx
ZWU2YWU4YjU1MGU4NTBlMTZlMWFiLi4yYjU4NmRlZjdmYjQyYTM3YjJlMTIzZWRhODcxMTljNGVi
MzQ4YTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuaApAQCAtODksMyArODksNiBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfQkVHSU4oV2ViQ29yZTo6RkVDb21wb25lbnRUcmFuc2ZlcikKKyAgICBzdGF0aWMgYm9vbCBp
c1R5cGUoY29uc3QgV2ViQ29yZTo6RmlsdGVyRWZmZWN0JiBlZmZlY3QpIHsgcmV0dXJuIGVmZmVj
dC5maWx0ZXJFZmZlY3RDbGFzc1R5cGUoKSA9PSBXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6OlR5cGU6
OkNvbXBvbmVudFRyYW5zZmVyOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNzk4M2QwMTAzOTRhZTljN2E2NDhkYzYzMWRhZWFjMWQ1OGU0ZWFjNy4uZTg0NGEwOTc4MGFj
OGViYjM3Y2UzYmE3MmVjZTQ0ZmZhNmQ5MzE5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIw
LTA5LTAzICBGcmFuayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENv
cmVJbWFnZSBJbXBsZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgp
LCBicmlnaHRuZXNzKCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFy
ZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWJy
aWdodG5lc3Mtc3F1YXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9lZmZl
Y3QtY29udHJhc3Qtc3F1YXJlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMv
ZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0
bWw6IEFkZGVkLgorCiAyMDIwLTA5LTAzICBGcmFuayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUu
Y29tPgogCiAgICAgICAgIENvcmVJbWFnZSBJbXBsZW1lbnRhdGlvbiBvZiBTb3VyY2VHcmFwaGlj
IGFuZCBzYXR1cmF0ZSgpLCBodWUtcm90YXRlKCksIGdyYXlzY2FsZSgpIGFuZCBzZXBpYSgpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5lc3Mtc3F1
YXJlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdo
dG5lc3Mtc3F1YXJlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmZkMDM1OGMzNDMxN2Q2NzI3
NDIyOWVhMWNlMjU4NzgxYmRlODg0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNT
UyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAg
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogNjAwcHg7
CisgICAgICAgIGhlaWdodDogNjAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMTI3LCAw
LCAwICk7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllv
dSBzaG91bGQgc2VlIGEgZGFyayByZWQgcmVjdGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
ZWZmZWN0LWJyaWdodG5lc3Mtc3F1YXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
ZWZmZWN0LWJyaWdodG5lc3Mtc3F1YXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGUxOTcwYzllMzcyYjRm
YmZhOGU1M2RiY2FjNTM3NTA3Y2Y4MTU3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUuaHRtbApAQCAtMCwwICsxLDIx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNTUyBGaWx0
ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogNjAwcHg7CisgICAg
ICAgIGhlaWdodDogNjAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7CisgICAgICAgIGZp
bHRlcjogYnJpZ2h0bmVzcyg1MCUpOworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
fQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2Vl
IGEgZGFyayByZWQgcmVjdGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVj
dC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWUxZWM0YTkxY2Yy
YTQyYmI1YzY5NzhkYWY1NzkxODI4ZjliYWZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxl
PkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+Cisg
ICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogNjAw
cHg7CisgICAgICAgIGhlaWdodDogNjAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMTI3
LCAxMjcsIDEyNyk7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxwPllvdSBzaG91bGQgc2VlIGEgZ3JheSByZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+PC9kaXY+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
ZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiMjVlNDBjY2MzZmQyNjI4
NmUxNzhhYzU1NDc3MTIxNmFhY2E1NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBU
ZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAg
aGVpZ2h0OiA2MDBweDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICAgICAgZmlsdGVy
OiBjb250cmFzdCgwJSk7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB9CisKKyAg
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBncmF5
IHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVh
cmUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGUzMmNmYjZjNjA4M2RkYWRjOWY4ZTQ0MzBh
NTE2MjgwNTYwYWViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6
IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDYwMHB4OworICAgICAgICBoZWln
aHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmdiKDAsIDI1NSwgMjU1KTsKKyAgICB9
CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUg
YSBjeWFuIHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1
YXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mYmMxZmQ0MGVhOWM4YWUxMTliMDE1MjBkZDUxYzhhMzgwN2UxOWNj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZl
cnQtc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNo
b3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsK
KyAgICAgICAgd2lkdGg6IDYwMHB4OworICAgICAgICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAg
YmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IGludmVydCgxMDAlKTsKKyAgICB9CisK
KyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBj
eWFuIHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFy
ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxODNhYTUwMGZhMjA3MzU3MTJlODk0
YTk4NzI2NjY1ODg0NzZlYWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVy
IFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDYwMHB4OworICAgICAg
ICBoZWlnaHQ6IDYwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMTI4LCAxMjgp
OworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hv
dWxkIHNlZSBhIGJyaWdodCByZWQgcmVjdGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZm
ZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0
LW9wYWNpdHktc3F1YXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdiZThkZjgzNGI3MGQ0ZTBkNjljMDI0
ODFjOGY2MjUyZjAxOWFiMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVz
dCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogNjAwcHg7CisgICAgICAgIGhlaWdodDog
NjAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7CisgICAgICAgIGZpbHRlcjogb3BhY2l0
eSg1MCUpOworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgfQorCisgICAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgYnJpZ2h0IHJlZCBy
ZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408006</attachid>
            <date>2020-09-04 11:37:03 -0700</date>
            <delta_ts>2020-09-04 12:14:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215956-20200904113702.patch</filename>
            <type>text/plain</type>
            <size>15319</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2N2IyZDhlNjk4OTQx
NTAwNTIxZmU1YTQ0YTc4NTkwZDM2MWU0NC4uYmYyNGU4ZTcwOTNiZWQ0NDg4NzY3YWNhMWI2Yjdh
ZDc4YzBkZDFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBp
bnZlcnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxs
IHVzZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlv
bi4gUGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8g
c3VwcG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdv
cmsgcHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChX
ZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aXNOdWxsT3JMaW5lYXJDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uKToKKyAgICAgICAgICAgIGN1cnJlbnRseSBDb3JlSW1hZ2Ug
Y2FuIG9ubHkgcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIgZmlsdGVycyBpZiB0aGUgdHJhbnNm
ZXIgZnVudGlvbgorICAgICAgICAgICAgaXMgb25seSBsaW5lYXIuIEEgRkVDb21wb25lbnRUcmFu
c2ZlciBmaWx0ZXIgdXNpbmcgb25seSBsaW5lYXIgZnVuY3Rpb24gd291bGQgaGF2ZSBpdCdzIAor
ICAgICAgICAgICAgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgZnVuY3Rpb25zIHR5cGVzIGVpdGhl
ciBiZSBsaW5lYXIgb3IgbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyk6CisgICAgICAgICAgICBj
dXJyZW50bHkgQ29yZUltYWdlIGNhbiBvbmx5IHJlbmRlciBGRUNvbXBvbmVudFRyYW5zZmVyIGZp
bHRlcnMgaWYgdGhlIHRyYW5zZmVyIGZ1bnRpb24KKyAgICAgICAgICAgIGlzIG9ubHkgbGluZWFy
LgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5l
Y3RDSUZpbHRlcnMpOgorICAgICAgICAgICAgbm93IHJldHVybnMgaW1hZ2UgZm9yIEZFQ29tcG9u
ZW50VHJhbnNmZXIKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIpOiAKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRoYXQgdXNlcyBDSUZpbHRlcnMgdG8gcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg6Cisg
ICAgICAgIChpc1R5cGUpOiBhZGRlZCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTIHNvIHRoYXQgd2Ug
Y2FuIGRvd25jYXN0IHRvIEZFQ29tcG9uZW50VHJhbnNmZXIKKworCiAyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBTb3VyY2VHcmFwaGljIGFuZCBzYXR1cmF0ZSgpLCBodWUtcm90YXRlKCks
IGdyYXlzY2FsZSgpIGFuZCBzZXBpYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RS
ZW5kZXJlckNvcmVJbWFnZS5oCmluZGV4IDRmMWU3MzFiOGEyMDNhZjAyOGNhYjJiNDU2Yzg0Yjlh
MjAxODlmNDUuLmRlNTRlNGRlMDA3MTBiMTQzYjhkNTY4NmIxMGY1ZWNhYTk1MTk3OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCkBAIC0yNyw5
ICsyNyw3IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAotI2ltcG9ydCAiRkVDb2xvck1hdHJp
eC5oIgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCIKLSNpbXBvcnQgIlNvdXJjZUdy
YXBoaWMuaCIKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTM5LDYgKzM3LDEwIEBAIE9CSkNfQ0xBU1MgQ0lDb250ZXh0OwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIEZFQ29sb3JNYXRyaXg7CitjbGFzcyBGRUNvbXBvbmVudFRyYW5z
ZmVyOworY2xhc3MgU291cmNlR3JhcGhpYzsKKwogY2xhc3MgRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UgOiBwdWJsaWMgRmlsdGVyRWZmZWN0UmVuZGVyZXIgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIApAQCAtNjAsNiArNjIsNyBAQCBwcml2YXRlOgogICAgIAogICAg
IFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoU291cmNlR3JhcGhpYyYp
OwogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvckZFQ29sb3JNYXRyaXgoY29uc3QgRkVD
b2xvck1hdHJpeCYsIGNvbnN0IFZlY3RvcjxSZXRhaW5QdHI8Q0lJbWFnZT4+Jik7CisgICAgUmV0
YWluUHRyPENJSW1hZ2U+IGltYWdlRm9yRkVDb21wb25lbnRUcmFuc2Zlcihjb25zdCBGRUNvbXBv
bmVudFRyYW5zZmVyJiwgVmVjdG9yPFJldGFpblB0cjxDSUltYWdlPj4mKTsKICAgICAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1fb3V0cHV0SW1hZ2VCdWZmZXI7CiAgICAgUmV0
YWluUHRyPENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVy
RWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KaW5kZXggNTMwNmJmMGU0MWJkZmNjOTI4N2NiZGFi
ODExZDNjOTlkNjUyZGRhYi4uMDkyOTRiNTBkZjIwZTkwMzY0ZDgwMTM0MDBkY2IzMmNjMTAxZTI5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdl
L0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5t
bQpAQCAtMjgsMTIgKzI4LDE2IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAorI2ltcG9ydCAi
RkVDb2xvck1hdHJpeC5oIgorI2ltcG9ydCAiRkVDb21wb25lbnRUcmFuc2Zlci5oIgogI2ltcG9y
dCAiRmlsdGVyLmgiCiAjaW1wb3J0ICJGaWx0ZXJFZmZlY3QuaCIKICNpbXBvcnQgIkZpbHRlck9w
ZXJhdGlvbi5oIgorI2ltcG9ydCAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW1wb3J0ICJHcmFwaGlj
c0NvbnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlBsYXRmb3Jt
SW1hZ2VCdWZmZXIuaCIKKyNpbXBvcnQgIlNvdXJjZUdyYXBoaWMuaCIKICNpbXBvcnQgPENvcmVJ
bWFnZS9DSUNvbnRleHQuaD4KICNpbXBvcnQgPENvcmVJbWFnZS9DSUZpbHRlci5oPgogI2ltcG9y
dCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgpAQCAtNTQsNiArNTgsMTYgQEAgUmV0YWluUHRyPENJ
Q29udGV4dD4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnNoYXJlZENJQ29udGV4dCgp
CiAgICAgcmV0dXJuIGNpQ29udGV4dDsKIH0KIAorc3RhdGljIGJvb2wgaXNOdWxsT3JMaW5lYXJD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uKGNvbnN0IEZFQ29tcG9uZW50VHJhbnNmZXImIGVmZmVj
dCkKK3sKKyAgICBhdXRvIGlzTnVsbE9yTGluZWFyID0gW10gKGNvbnN0IENvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb24mIGZ1bmN0aW9uKSB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbi50eXBlID09
IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9VTktOT1dOCisgICAgICAgICAgICB8fCBmdW5jdGlv
bi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CisgICAgfTsKKyAgICAg
ICAgcmV0dXJuIGlzTnVsbE9yTGluZWFyKGVmZmVjdC5yZWRGdW5jdGlvbigpKSAmJiBpc051bGxP
ckxpbmVhcihlZmZlY3QuZ3JlZW5GdW5jdGlvbigpKQorICAgICAgICAgICAgJiYgaXNOdWxsT3JM
aW5lYXIoZWZmZWN0LmJsdWVGdW5jdGlvbigpKSAmJiBpc051bGxPckxpbmVhcihlZmZlY3QuYWxw
aGFGdW5jdGlvbigpKTsKK30KKwogYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6
c3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0JiBlZmZlY3QpCiB7CiAgICAg
Ly8gRklYTUU6IGNoYW5nZSByZXR1cm4gdmFsdWUgdG8gdHJ1ZSBvbmNlIHRoZXkgYXJlIGltcGxl
bWVudGVkCkBAIC03Myw4ICs4NywxMCBAQCBib29sIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyhGaWx0ZXJFZmZlY3QmIGVmZgogICAgICAg
ICB9CiAgICAgfQogCi0gICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkJsZW5kOgogICAgIGNh
c2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKKyAgICAgICAgcmV0dXJu
IGlzTnVsbE9yTGluZWFyQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbihkb3duY2FzdDxGRUNvbXBv
bmVudFRyYW5zZmVyPihlZmZlY3QpKTsKKworICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpC
bGVuZDoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29tcG9zaXRlOgogICAgIGNhc2Ug
RmlsdGVyRWZmZWN0OjpUeXBlOjpDb252b2x2ZU1hdHJpeDoKICAgICBjYXNlIEZpbHRlckVmZmVj
dDo6VHlwZTo6RGlmZnVzZUxpZ2h0aW5nOgpAQCAtMTI1LDEwICsxNDEsMTEgQEAgUmV0YWluUHRy
PENJSW1hZ2U+IEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpjb25uZWN0Q0lGaWx0ZXJz
KEZpbHRlckVmZmVjdCYKICAgICAgICAgcmV0dXJuIGltYWdlRm9yU291cmNlR3JhcGhpYyhkb3du
Y2FzdDxTb3VyY2VHcmFwaGljPihlZmZlY3QpKTsKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlw
ZTo6Q29sb3JNYXRyaXg6CiAgICAgICAgIHJldHVybiBpbWFnZUZvckZFQ29sb3JNYXRyaXgoZG93
bmNhc3Q8RkVDb2xvck1hdHJpeD4oZWZmZWN0KSwgaW5wdXRJbWFnZXMpOworICAgIGNhc2UgRmls
dGVyRWZmZWN0OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKKyAgICAgICAgcmV0dXJuIGltYWdl
Rm9yRkVDb21wb25lbnRUcmFuc2Zlcihkb3duY2FzdDxGRUNvbXBvbmVudFRyYW5zZmVyPihlZmZl
Y3QpLCBpbnB1dEltYWdlcyk7CiAKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRob3NlIGZpbHRl
cnMgdXNpbmcgQ0lGaWx0ZXIgc28gdGhhdCB0aGUgZnVuY3Rpb24gcmV0dXJucyBhIHZhbGlkIENJ
SW1hZ2UKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6QmxlbmQ6Ci0gICAgY2FzZSBGaWx0
ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvbmVudFRyYW5zZmVyOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0
OjpUeXBlOjpDb21wb3NpdGU6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbnZvbHZl
TWF0cml4OgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpEaWZmdXNlTGlnaHRpbmc6CkBA
IC0yMTUsNiArMjMyLDI4IEBAIFJldGFpblB0cjxDSUltYWdlPiBGaWx0ZXJFZmZlY3RSZW5kZXJl
ckNvcmVJbWFnZTo6aW1hZ2VGb3JGRUNvbG9yTWF0cml4KGNvbnN0IEZFCiAgICAgcmV0dXJuIGNv
bG9yTWF0cml4RmlsdGVyLm91dHB1dEltYWdlOwogfQogCitSZXRhaW5QdHI8Q0lJbWFnZT4gRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmltYWdlRm9yRkVDb21wb25lbnRUcmFuc2Zlcihj
b25zdCBGRUNvbXBvbmVudFRyYW5zZmVyJiBlZmZlY3QsIFZlY3RvcjxSZXRhaW5QdHI8Q0lJbWFn
ZT4+JiBpbnB1dEltYWdlcykKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoZSByZXN0IG9m
IEZFQ29tcG9uZW50VHJhbnNmZXIgZnVuY3Rpb25zCisgICAgQVNTRVJUKGlzTnVsbE9yTGluZWFy
Q29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbihlZmZlY3QpKTsKKworICAgIGF1dG8gaW5wdXRJbWFn
ZSA9IGlucHV0SW1hZ2VzLmF0KDApOworICAgIENJRmlsdGVyKiBmaWx0ZXIgPSBbQ0lGaWx0ZXIg
ZmlsdGVyV2l0aE5hbWU6QCJDSUNvbG9yUG9seW5vbWlhbCJdOworICAgIAorICAgIFtmaWx0ZXIg
c2V0VmFsdWU6aW5wdXRJbWFnZS5nZXQoKSBmb3JLZXk6a0NJSW5wdXRJbWFnZUtleV07CisgICAg
CisgICAgYXV0byBzZXRDb2VmZmljaWVudHMgPSBbJl0gKE5TU3RyaW5nICprZXksIGNvbnN0IENv
bXBvbmVudFRyYW5zZmVyRnVuY3Rpb24mIGZ1bmN0aW9uKSB7CisgICAgICAgIGlmIChmdW5jdGlv
bi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVIpCisgICAgICAgICAgICBb
ZmlsdGVyIHNldFZhbHVlOltDSVZlY3RvciB2ZWN0b3JXaXRoWDpmdW5jdGlvbi5pbnRlcmNlcHQg
WTpmdW5jdGlvbi5zbG9wZSBaOjAgVzowXSBmb3JLZXk6a2V5XTsKKyAgICB9OworICAgIHNldENv
ZWZmaWNpZW50cyhAImlucHV0UmVkQ29lZmZpY2llbnRzIiwgZWZmZWN0LnJlZEZ1bmN0aW9uKCkp
OworICAgIHNldENvZWZmaWNpZW50cyhAImlucHV0R3JlZW5Db2VmZmljaWVudHMiLCBlZmZlY3Qu
Z3JlZW5GdW5jdGlvbigpKTsKKyAgICBzZXRDb2VmZmljaWVudHMoQCJpbnB1dEJsdWVDb2VmZmlj
aWVudHMiLCBlZmZlY3QuYmx1ZUZ1bmN0aW9uKCkpOworICAgIHNldENvZWZmaWNpZW50cyhAImlu
cHV0QWxwaGFDb2VmZmljaWVudHMiLCBlZmZlY3QuYWxwaGFGdW5jdGlvbigpKTsKKyAgICAKKyAg
ICByZXR1cm4gZmlsdGVyLm91dHB1dEltYWdlOworfQorCiBib29sIEZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpjYW5SZW5kZXJVc2luZ0NJRmlsdGVycyhGaWx0ZXJFZmZlY3QmIGVmZmVj
dCkKIHsKICAgICBpZiAoIXN1cHBvcnRzQ29yZUltYWdlUmVuZGVyaW5nKGVmZmVjdCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9u
ZW50VHJhbnNmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVDb21wb25lbnRUcmFuc2Zlci5oCmluZGV4IGZjZjRlYzJhMGRjNmE2NzBjNDFlZTZhZThiNTUw
ZTg1MGUxNmUxYWIuLjJiNTg2ZGVmN2ZiNDJhMzdiMmUxMjNlZGE4NzExOWM0ZWIzNDhhNTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21w
b25lbnRUcmFuc2Zlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5oCkBAIC04OSwzICs4OSw2IEBAIHByaXZhdGU6CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpGRUNvbXBvbmVudFRyYW5zZmVyKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpGaWx0ZXJFZmZlY3QmIGVmZmVjdCkgeyByZXR1cm4gZWZmZWN0LmZpbHRlckVm
ZmVjdENsYXNzVHlwZSgpID09IFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50
VHJhbnNmZXI7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3OTgzZDAx
MDM5NGFlOWM3YTY0OGRjNjMxZGFlYWMxZDU4ZTRlYWM3Li5lODQ0YTA5NzgwYWM4ZWJiMzdjZTNi
YTcyZWNlNDRmZmE2ZDkzMTlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDktMDMgIEZy
YW5rIFlhbmcgIDxndW93ZWlfeWFuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQ29yZUltYWdlIElt
cGxlbWVudGF0aW9uIG9mIENTUyBGaWx0ZXJzIGludmVydCgpLCBvcGFjaXR5KCksIGJyaWdodG5l
c3MoKSwgY29udHJhc3QoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE1OTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5lc3Mtc3F1YXJlLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1z
cXVhcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFz
dC1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2Vm
ZmVjdC1jb250cmFzdC1zcXVhcmUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJz
L2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUuaHRtbDogQWRkZWQu
CisKIDIwMjAtMDktMDMgIEZyYW5rIFlhbmcgIDxndW93ZWlfeWFuZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQ29yZUltYWdlIEltcGxlbWVudGF0aW9uIG9mIFNvdXJjZUdyYXBoaWMgYW5kIHNhdHVy
YXRlKCksIGh1ZS1yb3RhdGUoKSwgZ3JheXNjYWxlKCkgYW5kIHNlcGlhKCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVh
cmUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWJkM2I3N2FiYTc5Y2ExNWUyNjc3YzllOGUw
ZjY5YWZiOGE0NTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBU
ZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAg
aGVpZ2h0OiA1MDBweDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJnYigxMjcsIDAsIDAgKTsKKyAg
ICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBz
ZWUgYSBkYXJrIHJlZCByZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtYnJp
Z2h0bmVzcy1zcXVhcmUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtYnJp
Z2h0bmVzcy1zcXVhcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDUzMGZiZTM1NDUxYjc0NjJjYzI2NTQw
ZWM4MzMxNmU1MzQyY2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBU
ZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAgaGVpZ2h0
OiA1MDBweDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAgICAgICAgZmlsdGVyOiBicmln
aHRuZXNzKDUwJSk7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB9CisKKyAgICA8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBkYXJrIHJl
ZCByZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJl
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0
LXNxdWFyZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5NGVjOTdkNjIyNTY1N2Q5YjY5MGUy
NDk3Yzg4NzRmZWNkNGQxZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRl
ciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAg
ICAgaGVpZ2h0OiA1MDBweDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJnYigxMjgsIDEyOCwgMTI4
KTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNo
b3VsZCBzZWUgYSBncmF5IHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1j
b250cmFzdC1zcXVhcmUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29u
dHJhc3Qtc3F1YXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGVhNDM5ZTk2MDkzZjhlMmMwMmM1NzEyM2Q4
N2QyZGY4MmM2Nzc1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3Qg
Zm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUw
MHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IGNvbnRyYXN0
KDAlKTsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyYXkgcmVjdGFuZ2xl
LjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFhOWU0MzY0NzllMWFhMGMyZTAxODU0OWM3ZDQyNzlhMDgxNjQy
ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWlu
dmVydC1zcXVhcmUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3Ig
U2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
KyAgICBkaXYgeworICAgICAgICB3aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7
IAorICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgMjU1LCAyNTUpOworICAgIH0KKworICAgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGN5YW4gcmVj
dGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUuaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkxYzVlYzU5Yjk5YTllZDk0MjI1NDdjMjlmMDdmZTc4ZTdkNjEwYjUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUu
aHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwv
dGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3
aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5k
OiByZWQ7CisgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpOworICAgIH0KKworICAgIDwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGN5YW4gcmVjdGFu
Z2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ2YTdhYTYxMzE4Yjg2MzkzYzQxNDA2YTgyYjg0OWRh
OWQyNWI3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZl
Y3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVz
dCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdodDog
NTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgMCwgMC41KTsKKyAgICB9
CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUg
YSBicmlnaHQgcmVkIHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFj
aXR5LXNxdWFyZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0ZTEwYWY2YjEwNjM2NGM0YWI1NTVjYmU3YTdiNmEy
ZGRmZTdmMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZm
ZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNh
dHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cisg
ICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAK
KyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMC41KTsK
KyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGJyaWdodCByZWQgcmVjdGFuZ2xl
LjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="423384"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408019</attachid>
            <date>2020-09-04 13:39:47 -0700</date>
            <delta_ts>2020-09-04 14:16:31 -0700</delta_ts>
            <desc>Ready for commit</desc>
            <filename>bug-215956-20200904133946.patch</filename>
            <type>text/plain</type>
            <size>15262</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2N2IyZDhlNjk4OTQx
NTAwNTIxZmU1YTQ0YTc4NTkwZDM2MWU0NC4uYmYyNGU4ZTcwOTNiZWQ0NDg4NzY3YWNhMWI2Yjdh
ZDc4YzBkZDFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBp
bnZlcnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxs
IHVzZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlv
bi4gUGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8g
c3VwcG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdv
cmsgcHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChX
ZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aXNOdWxsT3JMaW5lYXJDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uKToKKyAgICAgICAgICAgIGN1cnJlbnRseSBDb3JlSW1hZ2Ug
Y2FuIG9ubHkgcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIgZmlsdGVycyBpZiB0aGUgdHJhbnNm
ZXIgZnVudGlvbgorICAgICAgICAgICAgaXMgb25seSBsaW5lYXIuIEEgRkVDb21wb25lbnRUcmFu
c2ZlciBmaWx0ZXIgdXNpbmcgb25seSBsaW5lYXIgZnVuY3Rpb24gd291bGQgaGF2ZSBpdCdzIAor
ICAgICAgICAgICAgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgZnVuY3Rpb25zIHR5cGVzIGVpdGhl
ciBiZSBsaW5lYXIgb3IgbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyk6CisgICAgICAgICAgICBj
dXJyZW50bHkgQ29yZUltYWdlIGNhbiBvbmx5IHJlbmRlciBGRUNvbXBvbmVudFRyYW5zZmVyIGZp
bHRlcnMgaWYgdGhlIHRyYW5zZmVyIGZ1bnRpb24KKyAgICAgICAgICAgIGlzIG9ubHkgbGluZWFy
LgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5l
Y3RDSUZpbHRlcnMpOgorICAgICAgICAgICAgbm93IHJldHVybnMgaW1hZ2UgZm9yIEZFQ29tcG9u
ZW50VHJhbnNmZXIKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIpOiAKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRoYXQgdXNlcyBDSUZpbHRlcnMgdG8gcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg6Cisg
ICAgICAgIChpc1R5cGUpOiBhZGRlZCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTIHNvIHRoYXQgd2Ug
Y2FuIGRvd25jYXN0IHRvIEZFQ29tcG9uZW50VHJhbnNmZXIKKworCiAyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBTb3VyY2VHcmFwaGljIGFuZCBzYXR1cmF0ZSgpLCBodWUtcm90YXRlKCks
IGdyYXlzY2FsZSgpIGFuZCBzZXBpYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RS
ZW5kZXJlckNvcmVJbWFnZS5oCmluZGV4IDRmMWU3MzFiOGEyMDNhZjAyOGNhYjJiNDU2Yzg0Yjlh
MjAxODlmNDUuLmRlNTRlNGRlMDA3MTBiMTQzYjhkNTY4NmIxMGY1ZWNhYTk1MTk3OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCkBAIC0yNyw5
ICsyNyw3IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAotI2ltcG9ydCAiRkVDb2xvck1hdHJp
eC5oIgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCIKLSNpbXBvcnQgIlNvdXJjZUdy
YXBoaWMuaCIKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTM5LDYgKzM3LDEwIEBAIE9CSkNfQ0xBU1MgQ0lDb250ZXh0OwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIEZFQ29sb3JNYXRyaXg7CitjbGFzcyBGRUNvbXBvbmVudFRyYW5z
ZmVyOworY2xhc3MgU291cmNlR3JhcGhpYzsKKwogY2xhc3MgRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UgOiBwdWJsaWMgRmlsdGVyRWZmZWN0UmVuZGVyZXIgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIApAQCAtNjAsNiArNjIsNyBAQCBwcml2YXRlOgogICAgIAogICAg
IFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoU291cmNlR3JhcGhpYyYp
OwogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvckZFQ29sb3JNYXRyaXgoY29uc3QgRkVD
b2xvck1hdHJpeCYsIGNvbnN0IFZlY3RvcjxSZXRhaW5QdHI8Q0lJbWFnZT4+Jik7CisgICAgUmV0
YWluUHRyPENJSW1hZ2U+IGltYWdlRm9yRkVDb21wb25lbnRUcmFuc2Zlcihjb25zdCBGRUNvbXBv
bmVudFRyYW5zZmVyJiwgVmVjdG9yPFJldGFpblB0cjxDSUltYWdlPj4mKTsKICAgICAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1fb3V0cHV0SW1hZ2VCdWZmZXI7CiAgICAgUmV0
YWluUHRyPENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVy
RWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KaW5kZXggNTMwNmJmMGU0MWJkZmNjOTI4N2NiZGFi
ODExZDNjOTlkNjUyZGRhYi4uNTEzZjQ1NWNhZDhlNWU2MDUyNzI4ZDM0N2MzOTNkOWY0NDdmZTM4
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdl
L0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5t
bQpAQCAtMjgsMTIgKzI4LDE2IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAorI2ltcG9ydCAi
RkVDb2xvck1hdHJpeC5oIgorI2ltcG9ydCAiRkVDb21wb25lbnRUcmFuc2Zlci5oIgogI2ltcG9y
dCAiRmlsdGVyLmgiCiAjaW1wb3J0ICJGaWx0ZXJFZmZlY3QuaCIKICNpbXBvcnQgIkZpbHRlck9w
ZXJhdGlvbi5oIgorI2ltcG9ydCAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW1wb3J0ICJHcmFwaGlj
c0NvbnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlBsYXRmb3Jt
SW1hZ2VCdWZmZXIuaCIKKyNpbXBvcnQgIlNvdXJjZUdyYXBoaWMuaCIKICNpbXBvcnQgPENvcmVJ
bWFnZS9DSUNvbnRleHQuaD4KICNpbXBvcnQgPENvcmVJbWFnZS9DSUZpbHRlci5oPgogI2ltcG9y
dCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgpAQCAtNTQsNiArNTgsMTYgQEAgUmV0YWluUHRyPENJ
Q29udGV4dD4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnNoYXJlZENJQ29udGV4dCgp
CiAgICAgcmV0dXJuIGNpQ29udGV4dDsKIH0KIAorc3RhdGljIGJvb2wgaXNOdWxsT3JMaW5lYXJD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uKGNvbnN0IEZFQ29tcG9uZW50VHJhbnNmZXImIGVmZmVj
dCkKK3sKKyAgICBhdXRvIGlzTnVsbE9yTGluZWFyID0gW10gKGNvbnN0IENvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb24mIGZ1bmN0aW9uKSB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbi50eXBlID09
IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9VTktOT1dOCisgICAgICAgICAgICB8fCBmdW5jdGlv
bi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CisgICAgfTsKKyAgICBy
ZXR1cm4gaXNOdWxsT3JMaW5lYXIoZWZmZWN0LnJlZEZ1bmN0aW9uKCkpICYmIGlzTnVsbE9yTGlu
ZWFyKGVmZmVjdC5ncmVlbkZ1bmN0aW9uKCkpCisgICAgICAgICYmIGlzTnVsbE9yTGluZWFyKGVm
ZmVjdC5ibHVlRnVuY3Rpb24oKSkgJiYgaXNOdWxsT3JMaW5lYXIoZWZmZWN0LmFscGhhRnVuY3Rp
b24oKSk7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRz
Q29yZUltYWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIC8vIEZJWE1F
OiBjaGFuZ2UgcmV0dXJuIHZhbHVlIHRvIHRydWUgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZApA
QCAtNzMsOCArODcsMTAgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6c3Vw
cG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0JiBlZmYKICAgICAgICAgfQogICAg
IH0KIAotICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpCbGVuZDoKICAgICBjYXNlIEZpbHRl
ckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpc051bGxP
ckxpbmVhckNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24oZG93bmNhc3Q8RkVDb21wb25lbnRUcmFu
c2Zlcj4oZWZmZWN0KSk7CisKKyAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6QmxlbmQ6CiAg
ICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvc2l0ZToKICAgICBjYXNlIEZpbHRlckVm
ZmVjdDo6VHlwZTo6Q29udm9sdmVNYXRyaXg6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6
OkRpZmZ1c2VMaWdodGluZzoKQEAgLTEyNSwxMCArMTQxLDExIEBAIFJldGFpblB0cjxDSUltYWdl
PiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29ubmVjdENJRmlsdGVycyhGaWx0ZXJF
ZmZlY3QmCiAgICAgICAgIHJldHVybiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoZG93bmNhc3Q8U291
cmNlR3JhcGhpYz4oZWZmZWN0KSk7CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbG9y
TWF0cml4OgogICAgICAgICByZXR1cm4gaW1hZ2VGb3JGRUNvbG9yTWF0cml4KGRvd25jYXN0PEZF
Q29sb3JNYXRyaXg+KGVmZmVjdCksIGlucHV0SW1hZ2VzKTsKKyAgICBjYXNlIEZpbHRlckVmZmVj
dDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpbWFnZUZvckZFQ29t
cG9uZW50VHJhbnNmZXIoZG93bmNhc3Q8RkVDb21wb25lbnRUcmFuc2Zlcj4oZWZmZWN0KSwgaW5w
dXRJbWFnZXMpOwogCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aG9zZSBmaWx0ZXJzIHVzaW5n
IENJRmlsdGVyIHNvIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybnMgYSB2YWxpZCBDSUltYWdlCiAg
ICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkJsZW5kOgotICAgIGNhc2UgRmlsdGVyRWZmZWN0
OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6
Q29tcG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb252b2x2ZU1hdHJpeDoK
ICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6RGlmZnVzZUxpZ2h0aW5nOgpAQCAtMjE1LDYg
KzIzMiwyOCBAQCBSZXRhaW5QdHI8Q0lJbWFnZT4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2U6OmltYWdlRm9yRkVDb2xvck1hdHJpeChjb25zdCBGRQogICAgIHJldHVybiBjb2xvck1hdHJp
eEZpbHRlci5vdXRwdXRJbWFnZTsKIH0KIAorUmV0YWluUHRyPENJSW1hZ2U+IEZpbHRlckVmZmVj
dFJlbmRlcmVyQ29yZUltYWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIoY29uc3QgRkVD
b21wb25lbnRUcmFuc2ZlciYgZWZmZWN0LCBWZWN0b3I8UmV0YWluUHRyPENJSW1hZ2U+PiYgaW5w
dXRJbWFnZXMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgcmVzdCBvZiBGRUNvbXBv
bmVudFRyYW5zZmVyIGZ1bmN0aW9ucworICAgIEFTU0VSVChpc051bGxPckxpbmVhckNvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb24oZWZmZWN0KSk7CisKKyAgICBhdXRvIGlucHV0SW1hZ2UgPSBpbnB1
dEltYWdlcy5hdCgwKTsKKyAgICBhdXRvIGZpbHRlciA9IFtDSUZpbHRlciBmaWx0ZXJXaXRoTmFt
ZTpAIkNJQ29sb3JQb2x5bm9taWFsIl07CisgICAgCisgICAgW2ZpbHRlciBzZXRWYWx1ZTppbnB1
dEltYWdlLmdldCgpIGZvcktleTprQ0lJbnB1dEltYWdlS2V5XTsKKyAgICAKKyAgICBhdXRvIHNl
dENvZWZmaWNpZW50cyA9IFsmXSAoTlNTdHJpbmcgKmtleSwgY29uc3QgQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbiYgZnVuY3Rpb24pIHsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLnR5cGUgPT0gRkVD
T01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgICAgIFtmaWx0ZXIgc2V0VmFs
dWU6W0NJVmVjdG9yIHZlY3RvcldpdGhYOmZ1bmN0aW9uLmludGVyY2VwdCBZOmZ1bmN0aW9uLnNs
b3BlIFo6MCBXOjBdIGZvcktleTprZXldOworICAgIH07CisgICAgc2V0Q29lZmZpY2llbnRzKEAi
aW5wdXRSZWRDb2VmZmljaWVudHMiLCBlZmZlY3QucmVkRnVuY3Rpb24oKSk7CisgICAgc2V0Q29l
ZmZpY2llbnRzKEAiaW5wdXRHcmVlbkNvZWZmaWNpZW50cyIsIGVmZmVjdC5ncmVlbkZ1bmN0aW9u
KCkpOworICAgIHNldENvZWZmaWNpZW50cyhAImlucHV0Qmx1ZUNvZWZmaWNpZW50cyIsIGVmZmVj
dC5ibHVlRnVuY3Rpb24oKSk7CisgICAgc2V0Q29lZmZpY2llbnRzKEAiaW5wdXRBbHBoYUNvZWZm
aWNpZW50cyIsIGVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkpOworICAgIAorICAgIHJldHVybiBmaWx0
ZXIub3V0cHV0SW1hZ2U7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6
OmNhblJlbmRlclVzaW5nQ0lGaWx0ZXJzKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIGlm
ICghc3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoZWZmZWN0KSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRy
YW5zZmVyLmgKaW5kZXggZmNmNGVjMmEwZGM2YTY3MGM0MWVlNmFlOGI1NTBlODUwZTE2ZTFhYi4u
MmI1ODZkZWY3ZmI0MmEzN2IyZTEyM2VkYTg3MTE5YzRlYjM0OGE1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBv
bmVudFRyYW5zZmVyLmgKQEAgLTg5LDMgKzg5LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkZFQ29t
cG9uZW50VHJhbnNmZXIpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkZp
bHRlckVmZmVjdCYgZWZmZWN0KSB7IHJldHVybiBlZmZlY3QuZmlsdGVyRWZmZWN0Q2xhc3NUeXBl
KCkgPT0gV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjsgfQor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc5ODNkMDEwMzk0YWU5YzdhNjQ4
ZGM2MzFkYWVhYzFkNThlNGVhYzcuLmU4NDRhMDk3ODBhYzhlYmIzN2NlM2JhNzJlY2U0NGZmYTZk
OTMxOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOS0wMyAgRnJhbmsgWWFuZyAgPGd1
b3dlaV95YW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JlSW1hZ2UgSW1wbGVtZW50YXRpb24g
b2YgQ1NTIEZpbHRlcnMgaW52ZXJ0KCksIG9wYWNpdHkoKSwgYnJpZ2h0bmVzcygpLCBjb250cmFz
dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNz
czMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0
LXNxdWFyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2Vm
ZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9l
ZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOS0w
MyAgRnJhbmsgWWFuZyAgPGd1b3dlaV95YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JlSW1h
Z2UgSW1wbGVtZW50YXRpb24gb2YgU291cmNlR3JhcGhpYyBhbmQgc2F0dXJhdGUoKSwgaHVlLXJv
dGF0ZSgpLCBncmF5c2NhbGUoKSBhbmQgc2VwaWEoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMxYmQzYjc3YWJhNzljYTE1ZTI2NzdjOWU4ZTBmNjlhZmI4YTQ1NmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdo
dG5lc3Mtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9y
IFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4
OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmdiKDEyNywgMCwgMCApOworICAgIH0KKworICAgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVk
IHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFy
ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFy
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVkNTMwZmJlMzU0NTFiNzQ2MmNjMjY1NDBlYzgzMzE2ZTUzNDJj
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJy
aWdodG5lc3Mtc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVy
YXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAg
ZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAg
ICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKTsK
KyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVkIHJlY3RhbmdsZS48
L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI1NTk0Y2RkY2FiMzk0ZjM2Zjc2MTQ5ZDY3MDYyNzNlMzk4
OWI5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qt
Y29udHJhc3Qtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3Qg
Zm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUw
MHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogZ3JheTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBncmF5IHJlY3RhbmdsZS48
L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUuaHRtbCBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGVhNDM5ZTk2MDkzZjhlMmMwMmM1NzEyM2Q4N2QyZGY4MmM2Nzc1MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0
bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3Rp
dGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lk
dGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDog
cmVkOworICAgICAgICBmaWx0ZXI6IGNvbnRyYXN0KDAlKTsKKyAgICAgICAgcG9zaXRpb246IGFi
c29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Z
b3Ugc2hvdWxkIHNlZSBhIGdyYXkgcmVjdGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZm
ZWN0LWludmVydC1zcXVhcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhOWU0MzY0
NzllMWFhMGMyZTAxODU0OWM3ZDQyNzlhMDgxNjQyZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRp
dGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+
CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDog
NTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZ2Io
MCwgMjU1LCAyNTUpOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGN5YW4gcmVjdGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvZWZmZWN0LWludmVydC1zcXVhcmUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9l
ZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxYzVlYzU5Yjk5YTllZDk0MjI1
NDdjMjlmMDdmZTc4ZTdkNjEwYjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDog
VGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdo
dDogNTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7CisgICAgICAgIGZpbHRlcjogaW52
ZXJ0KDEwMCUpOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8
cD5Zb3Ugc2hvdWxkIHNlZSBhIGN5YW4gcmVjdGFuZ2xlLjwvcD4KKyAgICA8ZGl2PjwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
ZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Rj
ODFiMGFiNTA3MWY5NGM2YmFmZDIyMDFjNjBlNzVhYWZiYTJhNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwv
dGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3
aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5k
OiByZ2JhKDI1NSwgMCwgMCwgMCk7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIG5vIHNxdWFyZS48L3A+CisgICAgPGRpdj48L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzOTMxNTE1YzgyOTgxMDky
MDQxMmFkMzA5ZGJmNmMzYWMyMmZkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRl
c3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBo
ZWlnaHQ6IDUwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6
IG9wYWNpdHkoMCk7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB9CisKKyAgICA8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgbm8gc3F1YXJl
LjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408024</attachid>
            <date>2020-09-04 14:16:20 -0700</date>
            <delta_ts>2020-09-04 14:49:30 -0700</delta_ts>
            <desc>Ready for commit</desc>
            <filename>bug-215956-20200904141620.patch</filename>
            <type>text/plain</type>
            <size>15277</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2N2IyZDhlNjk4OTQx
NTAwNTIxZmU1YTQ0YTc4NTkwZDM2MWU0NC4uYmYyNGU4ZTcwOTNiZWQ0NDg4NzY3YWNhMWI2Yjdh
ZDc4YzBkZDFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBp
bnZlcnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxs
IHVzZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlv
bi4gUGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8g
c3VwcG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdv
cmsgcHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChX
ZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aXNOdWxsT3JMaW5lYXJDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uKToKKyAgICAgICAgICAgIGN1cnJlbnRseSBDb3JlSW1hZ2Ug
Y2FuIG9ubHkgcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIgZmlsdGVycyBpZiB0aGUgdHJhbnNm
ZXIgZnVudGlvbgorICAgICAgICAgICAgaXMgb25seSBsaW5lYXIuIEEgRkVDb21wb25lbnRUcmFu
c2ZlciBmaWx0ZXIgdXNpbmcgb25seSBsaW5lYXIgZnVuY3Rpb24gd291bGQgaGF2ZSBpdCdzIAor
ICAgICAgICAgICAgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgZnVuY3Rpb25zIHR5cGVzIGVpdGhl
ciBiZSBsaW5lYXIgb3IgbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyk6CisgICAgICAgICAgICBj
dXJyZW50bHkgQ29yZUltYWdlIGNhbiBvbmx5IHJlbmRlciBGRUNvbXBvbmVudFRyYW5zZmVyIGZp
bHRlcnMgaWYgdGhlIHRyYW5zZmVyIGZ1bnRpb24KKyAgICAgICAgICAgIGlzIG9ubHkgbGluZWFy
LgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5l
Y3RDSUZpbHRlcnMpOgorICAgICAgICAgICAgbm93IHJldHVybnMgaW1hZ2UgZm9yIEZFQ29tcG9u
ZW50VHJhbnNmZXIKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIpOiAKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRoYXQgdXNlcyBDSUZpbHRlcnMgdG8gcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg6Cisg
ICAgICAgIChpc1R5cGUpOiBhZGRlZCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTIHNvIHRoYXQgd2Ug
Y2FuIGRvd25jYXN0IHRvIEZFQ29tcG9uZW50VHJhbnNmZXIKKworCiAyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBTb3VyY2VHcmFwaGljIGFuZCBzYXR1cmF0ZSgpLCBodWUtcm90YXRlKCks
IGdyYXlzY2FsZSgpIGFuZCBzZXBpYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RS
ZW5kZXJlckNvcmVJbWFnZS5oCmluZGV4IDRmMWU3MzFiOGEyMDNhZjAyOGNhYjJiNDU2Yzg0Yjlh
MjAxODlmNDUuLmRlNTRlNGRlMDA3MTBiMTQzYjhkNTY4NmIxMGY1ZWNhYTk1MTk3OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCkBAIC0yNyw5
ICsyNyw3IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAotI2ltcG9ydCAiRkVDb2xvck1hdHJp
eC5oIgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCIKLSNpbXBvcnQgIlNvdXJjZUdy
YXBoaWMuaCIKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTM5LDYgKzM3LDEwIEBAIE9CSkNfQ0xBU1MgQ0lDb250ZXh0OwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIEZFQ29sb3JNYXRyaXg7CitjbGFzcyBGRUNvbXBvbmVudFRyYW5z
ZmVyOworY2xhc3MgU291cmNlR3JhcGhpYzsKKwogY2xhc3MgRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UgOiBwdWJsaWMgRmlsdGVyRWZmZWN0UmVuZGVyZXIgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIApAQCAtNjAsNiArNjIsNyBAQCBwcml2YXRlOgogICAgIAogICAg
IFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoU291cmNlR3JhcGhpYyYp
OwogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvckZFQ29sb3JNYXRyaXgoY29uc3QgRkVD
b2xvck1hdHJpeCYsIGNvbnN0IFZlY3RvcjxSZXRhaW5QdHI8Q0lJbWFnZT4+Jik7CisgICAgUmV0
YWluUHRyPENJSW1hZ2U+IGltYWdlRm9yRkVDb21wb25lbnRUcmFuc2Zlcihjb25zdCBGRUNvbXBv
bmVudFRyYW5zZmVyJiwgVmVjdG9yPFJldGFpblB0cjxDSUltYWdlPj4mKTsKICAgICAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1fb3V0cHV0SW1hZ2VCdWZmZXI7CiAgICAgUmV0
YWluUHRyPENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVy
RWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KaW5kZXggNTMwNmJmMGU0MWJkZmNjOTI4N2NiZGFi
ODExZDNjOTlkNjUyZGRhYi4uNTEzZjQ1NWNhZDhlNWU2MDUyNzI4ZDM0N2MzOTNkOWY0NDdmZTM4
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdl
L0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5t
bQpAQCAtMjgsMTIgKzI4LDE2IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAorI2ltcG9ydCAi
RkVDb2xvck1hdHJpeC5oIgorI2ltcG9ydCAiRkVDb21wb25lbnRUcmFuc2Zlci5oIgogI2ltcG9y
dCAiRmlsdGVyLmgiCiAjaW1wb3J0ICJGaWx0ZXJFZmZlY3QuaCIKICNpbXBvcnQgIkZpbHRlck9w
ZXJhdGlvbi5oIgorI2ltcG9ydCAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW1wb3J0ICJHcmFwaGlj
c0NvbnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlBsYXRmb3Jt
SW1hZ2VCdWZmZXIuaCIKKyNpbXBvcnQgIlNvdXJjZUdyYXBoaWMuaCIKICNpbXBvcnQgPENvcmVJ
bWFnZS9DSUNvbnRleHQuaD4KICNpbXBvcnQgPENvcmVJbWFnZS9DSUZpbHRlci5oPgogI2ltcG9y
dCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgpAQCAtNTQsNiArNTgsMTYgQEAgUmV0YWluUHRyPENJ
Q29udGV4dD4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnNoYXJlZENJQ29udGV4dCgp
CiAgICAgcmV0dXJuIGNpQ29udGV4dDsKIH0KIAorc3RhdGljIGJvb2wgaXNOdWxsT3JMaW5lYXJD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uKGNvbnN0IEZFQ29tcG9uZW50VHJhbnNmZXImIGVmZmVj
dCkKK3sKKyAgICBhdXRvIGlzTnVsbE9yTGluZWFyID0gW10gKGNvbnN0IENvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb24mIGZ1bmN0aW9uKSB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbi50eXBlID09
IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9VTktOT1dOCisgICAgICAgICAgICB8fCBmdW5jdGlv
bi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CisgICAgfTsKKyAgICBy
ZXR1cm4gaXNOdWxsT3JMaW5lYXIoZWZmZWN0LnJlZEZ1bmN0aW9uKCkpICYmIGlzTnVsbE9yTGlu
ZWFyKGVmZmVjdC5ncmVlbkZ1bmN0aW9uKCkpCisgICAgICAgICYmIGlzTnVsbE9yTGluZWFyKGVm
ZmVjdC5ibHVlRnVuY3Rpb24oKSkgJiYgaXNOdWxsT3JMaW5lYXIoZWZmZWN0LmFscGhhRnVuY3Rp
b24oKSk7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRz
Q29yZUltYWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIC8vIEZJWE1F
OiBjaGFuZ2UgcmV0dXJuIHZhbHVlIHRvIHRydWUgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZApA
QCAtNzMsOCArODcsMTAgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6c3Vw
cG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0JiBlZmYKICAgICAgICAgfQogICAg
IH0KIAotICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpCbGVuZDoKICAgICBjYXNlIEZpbHRl
ckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpc051bGxP
ckxpbmVhckNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24oZG93bmNhc3Q8RkVDb21wb25lbnRUcmFu
c2Zlcj4oZWZmZWN0KSk7CisKKyAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6QmxlbmQ6CiAg
ICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvc2l0ZToKICAgICBjYXNlIEZpbHRlckVm
ZmVjdDo6VHlwZTo6Q29udm9sdmVNYXRyaXg6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6
OkRpZmZ1c2VMaWdodGluZzoKQEAgLTEyNSwxMCArMTQxLDExIEBAIFJldGFpblB0cjxDSUltYWdl
PiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29ubmVjdENJRmlsdGVycyhGaWx0ZXJF
ZmZlY3QmCiAgICAgICAgIHJldHVybiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoZG93bmNhc3Q8U291
cmNlR3JhcGhpYz4oZWZmZWN0KSk7CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbG9y
TWF0cml4OgogICAgICAgICByZXR1cm4gaW1hZ2VGb3JGRUNvbG9yTWF0cml4KGRvd25jYXN0PEZF
Q29sb3JNYXRyaXg+KGVmZmVjdCksIGlucHV0SW1hZ2VzKTsKKyAgICBjYXNlIEZpbHRlckVmZmVj
dDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpbWFnZUZvckZFQ29t
cG9uZW50VHJhbnNmZXIoZG93bmNhc3Q8RkVDb21wb25lbnRUcmFuc2Zlcj4oZWZmZWN0KSwgaW5w
dXRJbWFnZXMpOwogCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aG9zZSBmaWx0ZXJzIHVzaW5n
IENJRmlsdGVyIHNvIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybnMgYSB2YWxpZCBDSUltYWdlCiAg
ICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkJsZW5kOgotICAgIGNhc2UgRmlsdGVyRWZmZWN0
OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6
Q29tcG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb252b2x2ZU1hdHJpeDoK
ICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6RGlmZnVzZUxpZ2h0aW5nOgpAQCAtMjE1LDYg
KzIzMiwyOCBAQCBSZXRhaW5QdHI8Q0lJbWFnZT4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2U6OmltYWdlRm9yRkVDb2xvck1hdHJpeChjb25zdCBGRQogICAgIHJldHVybiBjb2xvck1hdHJp
eEZpbHRlci5vdXRwdXRJbWFnZTsKIH0KIAorUmV0YWluUHRyPENJSW1hZ2U+IEZpbHRlckVmZmVj
dFJlbmRlcmVyQ29yZUltYWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIoY29uc3QgRkVD
b21wb25lbnRUcmFuc2ZlciYgZWZmZWN0LCBWZWN0b3I8UmV0YWluUHRyPENJSW1hZ2U+PiYgaW5w
dXRJbWFnZXMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgcmVzdCBvZiBGRUNvbXBv
bmVudFRyYW5zZmVyIGZ1bmN0aW9ucworICAgIEFTU0VSVChpc051bGxPckxpbmVhckNvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb24oZWZmZWN0KSk7CisKKyAgICBhdXRvIGlucHV0SW1hZ2UgPSBpbnB1
dEltYWdlcy5hdCgwKTsKKyAgICBhdXRvIGZpbHRlciA9IFtDSUZpbHRlciBmaWx0ZXJXaXRoTmFt
ZTpAIkNJQ29sb3JQb2x5bm9taWFsIl07CisgICAgCisgICAgW2ZpbHRlciBzZXRWYWx1ZTppbnB1
dEltYWdlLmdldCgpIGZvcktleTprQ0lJbnB1dEltYWdlS2V5XTsKKyAgICAKKyAgICBhdXRvIHNl
dENvZWZmaWNpZW50cyA9IFsmXSAoTlNTdHJpbmcgKmtleSwgY29uc3QgQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbiYgZnVuY3Rpb24pIHsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLnR5cGUgPT0gRkVD
T01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgICAgIFtmaWx0ZXIgc2V0VmFs
dWU6W0NJVmVjdG9yIHZlY3RvcldpdGhYOmZ1bmN0aW9uLmludGVyY2VwdCBZOmZ1bmN0aW9uLnNs
b3BlIFo6MCBXOjBdIGZvcktleTprZXldOworICAgIH07CisgICAgc2V0Q29lZmZpY2llbnRzKEAi
aW5wdXRSZWRDb2VmZmljaWVudHMiLCBlZmZlY3QucmVkRnVuY3Rpb24oKSk7CisgICAgc2V0Q29l
ZmZpY2llbnRzKEAiaW5wdXRHcmVlbkNvZWZmaWNpZW50cyIsIGVmZmVjdC5ncmVlbkZ1bmN0aW9u
KCkpOworICAgIHNldENvZWZmaWNpZW50cyhAImlucHV0Qmx1ZUNvZWZmaWNpZW50cyIsIGVmZmVj
dC5ibHVlRnVuY3Rpb24oKSk7CisgICAgc2V0Q29lZmZpY2llbnRzKEAiaW5wdXRBbHBoYUNvZWZm
aWNpZW50cyIsIGVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkpOworICAgIAorICAgIHJldHVybiBmaWx0
ZXIub3V0cHV0SW1hZ2U7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6
OmNhblJlbmRlclVzaW5nQ0lGaWx0ZXJzKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIGlm
ICghc3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoZWZmZWN0KSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRy
YW5zZmVyLmgKaW5kZXggZmNmNGVjMmEwZGM2YTY3MGM0MWVlNmFlOGI1NTBlODUwZTE2ZTFhYi4u
MmI1ODZkZWY3ZmI0MmEzN2IyZTEyM2VkYTg3MTE5YzRlYjM0OGE1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBv
bmVudFRyYW5zZmVyLmgKQEAgLTg5LDMgKzg5LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkZFQ29t
cG9uZW50VHJhbnNmZXIpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkZp
bHRlckVmZmVjdCYgZWZmZWN0KSB7IHJldHVybiBlZmZlY3QuZmlsdGVyRWZmZWN0Q2xhc3NUeXBl
KCkgPT0gV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjsgfQor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc5ODNkMDEwMzk0YWU5YzdhNjQ4
ZGM2MzFkYWVhYzFkNThlNGVhYzcuLmU4NDRhMDk3ODBhYzhlYmIzN2NlM2JhNzJlY2U0NGZmYTZk
OTMxOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOS0wMyAgRnJhbmsgWWFuZyAgPGd1
b3dlaV95YW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JlSW1hZ2UgSW1wbGVtZW50YXRpb24g
b2YgQ1NTIEZpbHRlcnMgaW52ZXJ0KCksIG9wYWNpdHkoKSwgYnJpZ2h0bmVzcygpLCBjb250cmFz
dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNz
czMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0
LXNxdWFyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2Vm
ZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9l
ZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOS0w
MyAgRnJhbmsgWWFuZyAgPGd1b3dlaV95YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JlSW1h
Z2UgSW1wbGVtZW50YXRpb24gb2YgU291cmNlR3JhcGhpYyBhbmQgc2F0dXJhdGUoKSwgaHVlLXJv
dGF0ZSgpLCBncmF5c2NhbGUoKSBhbmQgc2VwaWEoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMxYmQzYjc3YWJhNzljYTE1ZTI2NzdjOWU4ZTBmNjlhZmI4YTQ1NmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdo
dG5lc3Mtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9y
IFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4
OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmdiKDEyNywgMCwgMCApOworICAgIH0KKworICAgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVk
IHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFy
ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFy
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVkNTMwZmJlMzU0NTFiNzQ2MmNjMjY1NDBlYzgzMzE2ZTUzNDJj
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJy
aWdodG5lc3Mtc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVy
YXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAg
ZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAg
ICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKTsK
KyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVkIHJlY3RhbmdsZS48
L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI1NTk0Y2RkY2FiMzk0ZjM2Zjc2MTQ5ZDY3MDYyNzNlMzk4
OWI5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qt
Y29udHJhc3Qtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3Qg
Zm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUw
MHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogZ3JheTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBncmF5IHJlY3RhbmdsZS48
L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUuaHRtbCBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWNmMmViNzQxZjE1NzFkODllZmIwY2Q0ZDhkMzAwNmQzZjRjMTA2NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0
bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3Rp
dGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lk
dGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDog
cmdiKDI1NSwgMjU1LCAyNTUpOworICAgICAgICBmaWx0ZXI6IGNvbnRyYXN0KDAlKTsKKyAgICAg
ICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyYXkgcmVjdGFuZ2xlLjwvcD4KKyAgICA8
ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFhOWU0MzY0NzllMWFhMGMyZTAxODU0OWM3ZDQyNzlhMDgxNjQyZjUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hv
cnQgaGFuZDwvdGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgewor
ICAgICAgICB3aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAgICAgICBi
YWNrZ3JvdW5kOiByZ2IoMCwgMjU1LCAyNTUpOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGN5YW4gcmVjdGFuZ2xlLjwvcD4K
KyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxYzVl
YzU5Yjk5YTllZDk0MjI1NDdjMjlmMDdmZTc4ZTdkNjEwYjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVhcmUuaHRtbApAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNT
UyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAg
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDogNTAwcHg7
CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7CisgICAg
ICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGN5YW4gcmVjdGFuZ2xlLjwvcD4KKyAg
ICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2RjODFiMGFiNTA3MWY5NGM2YmFmZDIyMDFjNjBlNzVhYWZiYTJhNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1z
cXVhcmUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJh
dGUgc2hvcnQgaGFuZDwvdGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBk
aXYgeworICAgICAgICB3aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAg
ICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgMCwgMCk7CisgICAgfQorCisgICAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIG5vIHNxdWFyZS48L3A+
CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYz
OTMxNTE1YzgyOTgxMDkyMDQxMmFkMzA5ZGJmNmMzYWMyMmZkNmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwKQEAg
LTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRs
ZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgor
ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUw
MHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmVkOwor
ICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMCk7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
KyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3Vs
ZCBzZWUgbm8gc3F1YXJlLjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408026</attachid>
            <date>2020-09-04 14:48:57 -0700</date>
            <delta_ts>2020-09-08 11:48:08 -0700</delta_ts>
            <desc>Patch (missing reviewer name)</desc>
            <filename>bug-215956-20200904144856.patch</filename>
            <type>text/plain</type>
            <size>15285</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2N2IyZDhlNjk4OTQx
NTAwNTIxZmU1YTQ0YTc4NTkwZDM2MWU0NC4uYmYyNGU4ZTcwOTNiZWQ0NDg4NzY3YWNhMWI2Yjdh
ZDc4YzBkZDFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBp
bnZlcnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxs
IHVzZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlv
bi4gUGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8g
c3VwcG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdv
cmsgcHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRu
ZXNzLXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRy
YXN0LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChX
ZWJDb3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aXNOdWxsT3JMaW5lYXJDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uKToKKyAgICAgICAgICAgIGN1cnJlbnRseSBDb3JlSW1hZ2Ug
Y2FuIG9ubHkgcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIgZmlsdGVycyBpZiB0aGUgdHJhbnNm
ZXIgZnVudGlvbgorICAgICAgICAgICAgaXMgb25seSBsaW5lYXIuIEEgRkVDb21wb25lbnRUcmFu
c2ZlciBmaWx0ZXIgdXNpbmcgb25seSBsaW5lYXIgZnVuY3Rpb24gd291bGQgaGF2ZSBpdCdzIAor
ICAgICAgICAgICAgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgZnVuY3Rpb25zIHR5cGVzIGVpdGhl
ciBiZSBsaW5lYXIgb3IgbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyk6CisgICAgICAgICAgICBj
dXJyZW50bHkgQ29yZUltYWdlIGNhbiBvbmx5IHJlbmRlciBGRUNvbXBvbmVudFRyYW5zZmVyIGZp
bHRlcnMgaWYgdGhlIHRyYW5zZmVyIGZ1bnRpb24KKyAgICAgICAgICAgIGlzIG9ubHkgbGluZWFy
LgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5l
Y3RDSUZpbHRlcnMpOgorICAgICAgICAgICAgbm93IHJldHVybnMgaW1hZ2UgZm9yIEZFQ29tcG9u
ZW50VHJhbnNmZXIKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIpOiAKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHRoYXQgdXNlcyBDSUZpbHRlcnMgdG8gcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg6Cisg
ICAgICAgIChpc1R5cGUpOiBhZGRlZCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTIHNvIHRoYXQgd2Ug
Y2FuIGRvd25jYXN0IHRvIEZFQ29tcG9uZW50VHJhbnNmZXIKKworCiAyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBTb3VyY2VHcmFwaGljIGFuZCBzYXR1cmF0ZSgpLCBodWUtcm90YXRlKCks
IGdyYXlzY2FsZSgpIGFuZCBzZXBpYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RS
ZW5kZXJlckNvcmVJbWFnZS5oCmluZGV4IDRmMWU3MzFiOGEyMDNhZjAyOGNhYjJiNDU2Yzg0Yjlh
MjAxODlmNDUuLmRlNTRlNGRlMDA3MTBiMTQzYjhkNTY4NmIxMGY1ZWNhYTk1MTk3OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCkBAIC0yNyw5
ICsyNyw3IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAotI2ltcG9ydCAiRkVDb2xvck1hdHJp
eC5oIgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCIKLSNpbXBvcnQgIlNvdXJjZUdy
YXBoaWMuaCIKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTM5LDYgKzM3LDEwIEBAIE9CSkNfQ0xBU1MgQ0lDb250ZXh0OwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIEZFQ29sb3JNYXRyaXg7CitjbGFzcyBGRUNvbXBvbmVudFRyYW5z
ZmVyOworY2xhc3MgU291cmNlR3JhcGhpYzsKKwogY2xhc3MgRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UgOiBwdWJsaWMgRmlsdGVyRWZmZWN0UmVuZGVyZXIgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIApAQCAtNjAsNiArNjIsNyBAQCBwcml2YXRlOgogICAgIAogICAg
IFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoU291cmNlR3JhcGhpYyYp
OwogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvckZFQ29sb3JNYXRyaXgoY29uc3QgRkVD
b2xvck1hdHJpeCYsIGNvbnN0IFZlY3RvcjxSZXRhaW5QdHI8Q0lJbWFnZT4+Jik7CisgICAgUmV0
YWluUHRyPENJSW1hZ2U+IGltYWdlRm9yRkVDb21wb25lbnRUcmFuc2Zlcihjb25zdCBGRUNvbXBv
bmVudFRyYW5zZmVyJiwgVmVjdG9yPFJldGFpblB0cjxDSUltYWdlPj4mKTsKICAgICAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1fb3V0cHV0SW1hZ2VCdWZmZXI7CiAgICAgUmV0
YWluUHRyPENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVy
RWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KaW5kZXggNTMwNmJmMGU0MWJkZmNjOTI4N2NiZGFi
ODExZDNjOTlkNjUyZGRhYi4uNTEzZjQ1NWNhZDhlNWU2MDUyNzI4ZDM0N2MzOTNkOWY0NDdmZTM4
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdl
L0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5t
bQpAQCAtMjgsMTIgKzI4LDE2IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAorI2ltcG9ydCAi
RkVDb2xvck1hdHJpeC5oIgorI2ltcG9ydCAiRkVDb21wb25lbnRUcmFuc2Zlci5oIgogI2ltcG9y
dCAiRmlsdGVyLmgiCiAjaW1wb3J0ICJGaWx0ZXJFZmZlY3QuaCIKICNpbXBvcnQgIkZpbHRlck9w
ZXJhdGlvbi5oIgorI2ltcG9ydCAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW1wb3J0ICJHcmFwaGlj
c0NvbnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlBsYXRmb3Jt
SW1hZ2VCdWZmZXIuaCIKKyNpbXBvcnQgIlNvdXJjZUdyYXBoaWMuaCIKICNpbXBvcnQgPENvcmVJ
bWFnZS9DSUNvbnRleHQuaD4KICNpbXBvcnQgPENvcmVJbWFnZS9DSUZpbHRlci5oPgogI2ltcG9y
dCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgpAQCAtNTQsNiArNTgsMTYgQEAgUmV0YWluUHRyPENJ
Q29udGV4dD4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnNoYXJlZENJQ29udGV4dCgp
CiAgICAgcmV0dXJuIGNpQ29udGV4dDsKIH0KIAorc3RhdGljIGJvb2wgaXNOdWxsT3JMaW5lYXJD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uKGNvbnN0IEZFQ29tcG9uZW50VHJhbnNmZXImIGVmZmVj
dCkKK3sKKyAgICBhdXRvIGlzTnVsbE9yTGluZWFyID0gW10gKGNvbnN0IENvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb24mIGZ1bmN0aW9uKSB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbi50eXBlID09
IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9VTktOT1dOCisgICAgICAgICAgICB8fCBmdW5jdGlv
bi50eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CisgICAgfTsKKyAgICBy
ZXR1cm4gaXNOdWxsT3JMaW5lYXIoZWZmZWN0LnJlZEZ1bmN0aW9uKCkpICYmIGlzTnVsbE9yTGlu
ZWFyKGVmZmVjdC5ncmVlbkZ1bmN0aW9uKCkpCisgICAgICAgICYmIGlzTnVsbE9yTGluZWFyKGVm
ZmVjdC5ibHVlRnVuY3Rpb24oKSkgJiYgaXNOdWxsT3JMaW5lYXIoZWZmZWN0LmFscGhhRnVuY3Rp
b24oKSk7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRz
Q29yZUltYWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIC8vIEZJWE1F
OiBjaGFuZ2UgcmV0dXJuIHZhbHVlIHRvIHRydWUgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZApA
QCAtNzMsOCArODcsMTAgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6c3Vw
cG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0JiBlZmYKICAgICAgICAgfQogICAg
IH0KIAotICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpCbGVuZDoKICAgICBjYXNlIEZpbHRl
ckVmZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpc051bGxP
ckxpbmVhckNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24oZG93bmNhc3Q8RkVDb21wb25lbnRUcmFu
c2Zlcj4oZWZmZWN0KSk7CisKKyAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6QmxlbmQ6CiAg
ICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvc2l0ZToKICAgICBjYXNlIEZpbHRlckVm
ZmVjdDo6VHlwZTo6Q29udm9sdmVNYXRyaXg6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6
OkRpZmZ1c2VMaWdodGluZzoKQEAgLTEyNSwxMCArMTQxLDExIEBAIFJldGFpblB0cjxDSUltYWdl
PiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29ubmVjdENJRmlsdGVycyhGaWx0ZXJF
ZmZlY3QmCiAgICAgICAgIHJldHVybiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoZG93bmNhc3Q8U291
cmNlR3JhcGhpYz4oZWZmZWN0KSk7CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbG9y
TWF0cml4OgogICAgICAgICByZXR1cm4gaW1hZ2VGb3JGRUNvbG9yTWF0cml4KGRvd25jYXN0PEZF
Q29sb3JNYXRyaXg+KGVmZmVjdCksIGlucHV0SW1hZ2VzKTsKKyAgICBjYXNlIEZpbHRlckVmZmVj
dDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpbWFnZUZvckZFQ29t
cG9uZW50VHJhbnNmZXIoZG93bmNhc3Q8RkVDb21wb25lbnRUcmFuc2Zlcj4oZWZmZWN0KSwgaW5w
dXRJbWFnZXMpOwogCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aG9zZSBmaWx0ZXJzIHVzaW5n
IENJRmlsdGVyIHNvIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybnMgYSB2YWxpZCBDSUltYWdlCiAg
ICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkJsZW5kOgotICAgIGNhc2UgRmlsdGVyRWZmZWN0
OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6
Q29tcG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb252b2x2ZU1hdHJpeDoK
ICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6RGlmZnVzZUxpZ2h0aW5nOgpAQCAtMjE1LDYg
KzIzMiwyOCBAQCBSZXRhaW5QdHI8Q0lJbWFnZT4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2U6OmltYWdlRm9yRkVDb2xvck1hdHJpeChjb25zdCBGRQogICAgIHJldHVybiBjb2xvck1hdHJp
eEZpbHRlci5vdXRwdXRJbWFnZTsKIH0KIAorUmV0YWluUHRyPENJSW1hZ2U+IEZpbHRlckVmZmVj
dFJlbmRlcmVyQ29yZUltYWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIoY29uc3QgRkVD
b21wb25lbnRUcmFuc2ZlciYgZWZmZWN0LCBWZWN0b3I8UmV0YWluUHRyPENJSW1hZ2U+PiYgaW5w
dXRJbWFnZXMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgcmVzdCBvZiBGRUNvbXBv
bmVudFRyYW5zZmVyIGZ1bmN0aW9ucworICAgIEFTU0VSVChpc051bGxPckxpbmVhckNvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb24oZWZmZWN0KSk7CisKKyAgICBhdXRvIGlucHV0SW1hZ2UgPSBpbnB1
dEltYWdlcy5hdCgwKTsKKyAgICBhdXRvIGZpbHRlciA9IFtDSUZpbHRlciBmaWx0ZXJXaXRoTmFt
ZTpAIkNJQ29sb3JQb2x5bm9taWFsIl07CisgICAgCisgICAgW2ZpbHRlciBzZXRWYWx1ZTppbnB1
dEltYWdlLmdldCgpIGZvcktleTprQ0lJbnB1dEltYWdlS2V5XTsKKyAgICAKKyAgICBhdXRvIHNl
dENvZWZmaWNpZW50cyA9IFsmXSAoTlNTdHJpbmcgKmtleSwgY29uc3QgQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbiYgZnVuY3Rpb24pIHsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLnR5cGUgPT0gRkVD
T01QT05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgICAgIFtmaWx0ZXIgc2V0VmFs
dWU6W0NJVmVjdG9yIHZlY3RvcldpdGhYOmZ1bmN0aW9uLmludGVyY2VwdCBZOmZ1bmN0aW9uLnNs
b3BlIFo6MCBXOjBdIGZvcktleTprZXldOworICAgIH07CisgICAgc2V0Q29lZmZpY2llbnRzKEAi
aW5wdXRSZWRDb2VmZmljaWVudHMiLCBlZmZlY3QucmVkRnVuY3Rpb24oKSk7CisgICAgc2V0Q29l
ZmZpY2llbnRzKEAiaW5wdXRHcmVlbkNvZWZmaWNpZW50cyIsIGVmZmVjdC5ncmVlbkZ1bmN0aW9u
KCkpOworICAgIHNldENvZWZmaWNpZW50cyhAImlucHV0Qmx1ZUNvZWZmaWNpZW50cyIsIGVmZmVj
dC5ibHVlRnVuY3Rpb24oKSk7CisgICAgc2V0Q29lZmZpY2llbnRzKEAiaW5wdXRBbHBoYUNvZWZm
aWNpZW50cyIsIGVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkpOworICAgIAorICAgIHJldHVybiBmaWx0
ZXIub3V0cHV0SW1hZ2U7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6
OmNhblJlbmRlclVzaW5nQ0lGaWx0ZXJzKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIGlm
ICghc3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoZWZmZWN0KSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRy
YW5zZmVyLmgKaW5kZXggZmNmNGVjMmEwZGM2YTY3MGM0MWVlNmFlOGI1NTBlODUwZTE2ZTFhYi4u
MmI1ODZkZWY3ZmI0MmEzN2IyZTEyM2VkYTg3MTE5YzRlYjM0OGE1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBv
bmVudFRyYW5zZmVyLmgKQEAgLTg5LDMgKzg5LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkZFQ29t
cG9uZW50VHJhbnNmZXIpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkZp
bHRlckVmZmVjdCYgZWZmZWN0KSB7IHJldHVybiBlZmZlY3QuZmlsdGVyRWZmZWN0Q2xhc3NUeXBl
KCkgPT0gV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjsgfQor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc5ODNkMDEwMzk0YWU5YzdhNjQ4
ZGM2MzFkYWVhYzFkNThlNGVhYzcuLmU4NDRhMDk3ODBhYzhlYmIzN2NlM2JhNzJlY2U0NGZmYTZk
OTMxOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOS0wMyAgRnJhbmsgWWFuZyAgPGd1
b3dlaV95YW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JlSW1hZ2UgSW1wbGVtZW50YXRpb24g
b2YgQ1NTIEZpbHRlcnMgaW52ZXJ0KCksIG9wYWNpdHkoKSwgYnJpZ2h0bmVzcygpLCBjb250cmFz
dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNz
czMvZmlsdGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0
LXNxdWFyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVy
dC1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2Vm
ZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9l
ZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOS0w
MyAgRnJhbmsgWWFuZyAgPGd1b3dlaV95YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JlSW1h
Z2UgSW1wbGVtZW50YXRpb24gb2YgU291cmNlR3JhcGhpYyBhbmQgc2F0dXJhdGUoKSwgaHVlLXJv
dGF0ZSgpLCBncmF5c2NhbGUoKSBhbmQgc2VwaWEoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMxYmQzYjc3YWJhNzljYTE1ZTI2NzdjOWU4ZTBmNjlhZmI4YTQ1NmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdo
dG5lc3Mtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9y
IFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4
OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmdiKDEyNywgMCwgMCApOworICAgIH0KKworICAgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVk
IHJlY3RhbmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFy
ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFy
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVkNTMwZmJlMzU0NTFiNzQ2MmNjMjY1NDBlYzgzMzE2ZTUzNDJj
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJy
aWdodG5lc3Mtc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVy
YXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAg
ZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAg
ICAgICAgYmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKTsK
KyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVkIHJlY3RhbmdsZS48
L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJhZjcwYmUzNzBmOTdlY2M5OWVhOWEwNjNkYWMzZmJjMDdh
N2E4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qt
Y29udHJhc3Qtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3Qg
Zm9yIFNhdHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUw
MHB4OyAKKyAgICAgICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMCwgMCk7CisgICAgfQorCisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgZ3JheSBy
ZWN0YW5nbGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRjN2UzMzRmM2ExNTNhZTZjNDJkY2QxZjNiZWIzYjhjMzlhNmY5Y2YKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0
LXNxdWFyZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9y
dCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7Cisg
ICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAgaGVpZ2h0OiA1MDBweDsgCisgICAgICAgIGJh
Y2tncm91bmQ6IHJnYigyNTUsIDAsIDApOworICAgICAgICBmaWx0ZXI6IGNvbnRyYXN0KDEwMCUp
OworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgZ3JheSByZWN0YW5nbGUuPC9w
PgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWE5ZTQzNjQ3OWUxYWEwYzJlMDE4NTQ5YzdkNDI3OWEwODE2NDJmNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0
LXNxdWFyZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1
cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAg
IGRpdiB7CisgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAgaGVpZ2h0OiA1MDBweDsgCisg
ICAgICAgIGJhY2tncm91bmQ6IHJnYigwLCAyNTUsIDI1NSk7CisgICAgfQorCisgICAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgY3lhbiByZWN0YW5n
bGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTFjNWVjNTliOTlhOWVkOTQyMjU0N2MyOWYwN2ZlNzhlN2Q2MTBiNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1s
CkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRs
ZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAgIHdpZHRo
OiA1MDBweDsKKyAgICAgICAgaGVpZ2h0OiA1MDBweDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJl
ZDsKKyAgICAgICAgZmlsdGVyOiBpbnZlcnQoMTAwJSk7CisgICAgfQorCisgICAgPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgY3lhbiByZWN0YW5nbGUu
PC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZGM4MWIwYWI1MDcxZjk0YzZiYWZkMjIwMWM2MGU3NWFhZmJh
MmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1v
cGFjaXR5LXNxdWFyZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZv
ciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAgaGVpZ2h0OiA1MDBw
eDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwKTsKKyAgICB9CisKKyAg
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgbm8gc3F1
YXJlLjwvcD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwgYi9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjM5MzE1MTVjODI5ODEwOTIwNDEyYWQzMDlkYmY2YzNhYzIyZmQ2ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUu
aHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHRpdGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwv
dGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3
aWR0aDogNTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5k
OiByZWQ7CisgICAgICAgIGZpbHRlcjogb3BhY2l0eSgwKTsKKyAgICAgICAgcG9zaXRpb246IGFi
c29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Z
b3Ugc2hvdWxkIHNlZSBubyBzcXVhcmUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408247</attachid>
            <date>2020-09-08 11:46:02 -0700</date>
            <delta_ts>2020-09-08 12:25:19 -0700</delta_ts>
            <desc>Ready for Commit</desc>
            <filename>bug-215956-20200908114601.patch</filename>
            <type>text/plain</type>
            <size>15279</size>
            <attacher>frankhome61</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM2N2IyZDhlNjk4OTQx
NTAwNTIxZmU1YTQ0YTc4NTkwZDM2MWU0NC4uN2VhMDY0YmM5MzNjYmM2NjA2ZGRlZDU5NGE0NjEy
OTUwMDgzMWFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA5LTAzICBGcmFu
ayBZYW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgorCisgICAgICAgIENvcmVJbWFnZSBJbXBs
ZW1lbnRhdGlvbiBvZiBDU1MgRmlsdGVycyBpbnZlcnQoKSwgb3BhY2l0eSgpLCBicmlnaHRuZXNz
KCksIGNvbnRyYXN0KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIEFkZGluZyBDb3JlSW1hZ2Ugc3VwcG9ydCBmb3IgNCBtb3JlIENTUyBmaWx0ZXJzLCBpbnZl
cnQsIG9wYWNpdHksIGJyaWdodG5lc3MsIGNvbnRyYXN0LCAKKyAgICAgICAgd2hpY2ggYWxsIHVz
ZXMgRkVDb21wb25lbnRUcmFuc2ZlciBhbmQgdGhlIGxpbmVhciB0cmFuc2ZlciBmdW5jdGlvbi4g
UGFydGlhbGx5IGltcGxlbWVudGVkCisgICAgICAgIEZFQ29tcG9uZW50VHJhbnNmZXIgdG8gc3Vw
cG9ydCBsaW5lYXIgZnVuY3Rpb24gdHlwZSBzbyB0aGF0IHRoZSA0IENTUyBmaWx0ZXJzIHdvcmsg
cHJvcGVybHkKKworICAgICAgICBUZXN0czogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNz
LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0
LXNxdWFyZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1z
cXVhcmUuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5LXNx
dWFyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVy
RWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChXZWJD
b3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aXNOdWxsT3JMaW5lYXJDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uKToKKyAgICAgICAgICAgIGN1cnJlbnRseSBDb3JlSW1hZ2UgY2Fu
IG9ubHkgcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIgZmlsdGVycyBpZiB0aGUgdHJhbnNmZXIg
ZnVudGlvbgorICAgICAgICAgICAgaXMgb25seSBsaW5lYXIuIEEgRkVDb21wb25lbnRUcmFuc2Zl
ciBmaWx0ZXIgdXNpbmcgb25seSBsaW5lYXIgZnVuY3Rpb24gd291bGQgaGF2ZSBpdCdzIAorICAg
ICAgICAgICAgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgZnVuY3Rpb25zIHR5cGVzIGVpdGhlciBi
ZSBsaW5lYXIgb3IgbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVy
Q29yZUltYWdlOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZyk6CisgICAgICAgICAgICBjdXJy
ZW50bHkgQ29yZUltYWdlIGNhbiBvbmx5IHJlbmRlciBGRUNvbXBvbmVudFRyYW5zZmVyIGZpbHRl
cnMgaWYgdGhlIHRyYW5zZmVyIGZ1bnRpb24KKyAgICAgICAgICAgIGlzIG9ubHkgbGluZWFyLgor
ICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNvbm5lY3RD
SUZpbHRlcnMpOgorICAgICAgICAgICAgbm93IHJldHVybnMgaW1hZ2UgZm9yIEZFQ29tcG9uZW50
VHJhbnNmZXIKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdl
OjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIpOiAKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRo
YXQgdXNlcyBDSUZpbHRlcnMgdG8gcmVuZGVyIEZFQ29tcG9uZW50VHJhbnNmZXIuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmg6CisgICAg
ICAgIChpc1R5cGUpOiBhZGRlZCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTIHNvIHRoYXQgd2UgY2Fu
IGRvd25jYXN0IHRvIEZFQ29tcG9uZW50VHJhbnNmZXIKKworCiAyMDIwLTA5LTAzICBGcmFuayBZ
YW5nICA8Z3Vvd2VpX3lhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENvcmVJbWFnZSBJbXBsZW1l
bnRhdGlvbiBvZiBTb3VyY2VHcmFwaGljIGFuZCBzYXR1cmF0ZSgpLCBodWUtcm90YXRlKCksIGdy
YXlzY2FsZSgpIGFuZCBzZXBpYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5k
ZXJlckNvcmVJbWFnZS5oCmluZGV4IDRmMWU3MzFiOGEyMDNhZjAyOGNhYjJiNDU2Yzg0YjlhMjAx
ODlmNDUuLmRlNTRlNGRlMDA3MTBiMTQzYjhkNTY4NmIxMGY1ZWNhYTk1MTk3OTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZl
Y3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCkBAIC0yNyw5ICsy
Nyw3IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAotI2ltcG9ydCAiRkVDb2xvck1hdHJpeC5o
IgogI2ltcG9ydCAiRmlsdGVyRWZmZWN0UmVuZGVyZXIuaCIKLSNpbXBvcnQgIlNvdXJjZUdyYXBo
aWMuaCIKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTM5LDYgKzM3LDEwIEBAIE9CSkNfQ0xBU1MgQ0lDb250ZXh0OwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIEZFQ29sb3JNYXRyaXg7CitjbGFzcyBGRUNvbXBvbmVudFRyYW5zZmVy
OworY2xhc3MgU291cmNlR3JhcGhpYzsKKwogY2xhc3MgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3Jl
SW1hZ2UgOiBwdWJsaWMgRmlsdGVyRWZmZWN0UmVuZGVyZXIgewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIApAQCAtNjAsNiArNjIsNyBAQCBwcml2YXRlOgogICAgIAogICAgIFJl
dGFpblB0cjxDSUltYWdlPiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoU291cmNlR3JhcGhpYyYpOwog
ICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvckZFQ29sb3JNYXRyaXgoY29uc3QgRkVDb2xv
ck1hdHJpeCYsIGNvbnN0IFZlY3RvcjxSZXRhaW5QdHI8Q0lJbWFnZT4+Jik7CisgICAgUmV0YWlu
UHRyPENJSW1hZ2U+IGltYWdlRm9yRkVDb21wb25lbnRUcmFuc2Zlcihjb25zdCBGRUNvbXBvbmVu
dFRyYW5zZmVyJiwgVmVjdG9yPFJldGFpblB0cjxDSUltYWdlPj4mKTsKICAgICAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IG1fb3V0cHV0SW1hZ2VCdWZmZXI7CiAgICAgUmV0YWlu
UHRyPENJSW1hZ2U+IG1fb3V0cHV0SW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2Uu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZm
ZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KaW5kZXggNTMwNmJmMGU0MWJkZmNjOTI4N2NiZGFiODEx
ZDNjOTlkNjUyZGRhYi4uNTEzZjQ1NWNhZDhlNWU2MDUyNzI4ZDM0N2MzOTNkOWY0NDdmZTM4OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0Zp
bHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbQpA
QCAtMjgsMTIgKzI4LDE2IEBACiAKICNpZiBVU0UoQ09SRV9JTUFHRSkKIAorI2ltcG9ydCAiRkVD
b2xvck1hdHJpeC5oIgorI2ltcG9ydCAiRkVDb21wb25lbnRUcmFuc2Zlci5oIgogI2ltcG9ydCAi
RmlsdGVyLmgiCiAjaW1wb3J0ICJGaWx0ZXJFZmZlY3QuaCIKICNpbXBvcnQgIkZpbHRlck9wZXJh
dGlvbi5oIgorI2ltcG9ydCAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW1wb3J0ICJHcmFwaGljc0Nv
bnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlBsYXRmb3JtSW1h
Z2VCdWZmZXIuaCIKKyNpbXBvcnQgIlNvdXJjZUdyYXBoaWMuaCIKICNpbXBvcnQgPENvcmVJbWFn
ZS9DSUNvbnRleHQuaD4KICNpbXBvcnQgPENvcmVJbWFnZS9DSUZpbHRlci5oPgogI2ltcG9ydCA8
Q29yZUltYWdlL0NvcmVJbWFnZS5oPgpAQCAtNTQsNiArNTgsMTYgQEAgUmV0YWluUHRyPENJQ29u
dGV4dD4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnNoYXJlZENJQ29udGV4dCgpCiAg
ICAgcmV0dXJuIGNpQ29udGV4dDsKIH0KIAorc3RhdGljIGJvb2wgaXNOdWxsT3JMaW5lYXJDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uKGNvbnN0IEZFQ29tcG9uZW50VHJhbnNmZXImIGVmZmVjdCkK
K3sKKyAgICBhdXRvIGlzTnVsbE9yTGluZWFyID0gW10gKGNvbnN0IENvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb24mIGZ1bmN0aW9uKSB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbi50eXBlID09IEZF
Q09NUE9ORU5UVFJBTlNGRVJfVFlQRV9VTktOT1dOCisgICAgICAgICAgICB8fCBmdW5jdGlvbi50
eXBlID09IEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9MSU5FQVI7CisgICAgfTsKKyAgICByZXR1
cm4gaXNOdWxsT3JMaW5lYXIoZWZmZWN0LnJlZEZ1bmN0aW9uKCkpICYmIGlzTnVsbE9yTGluZWFy
KGVmZmVjdC5ncmVlbkZ1bmN0aW9uKCkpCisgICAgICAgICYmIGlzTnVsbE9yTGluZWFyKGVmZmVj
dC5ibHVlRnVuY3Rpb24oKSkgJiYgaXNOdWxsT3JMaW5lYXIoZWZmZWN0LmFscGhhRnVuY3Rpb24o
KSk7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnN1cHBvcnRzQ29y
ZUltYWdlUmVuZGVyaW5nKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIC8vIEZJWE1FOiBj
aGFuZ2UgcmV0dXJuIHZhbHVlIHRvIHRydWUgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZApAQCAt
NzMsOCArODcsMTAgQEAgYm9vbCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6c3VwcG9y
dHNDb3JlSW1hZ2VSZW5kZXJpbmcoRmlsdGVyRWZmZWN0JiBlZmYKICAgICAgICAgfQogICAgIH0K
IAotICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpCbGVuZDoKICAgICBjYXNlIEZpbHRlckVm
ZmVjdDo6VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpc051bGxPckxp
bmVhckNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24oZG93bmNhc3Q8RkVDb21wb25lbnRUcmFuc2Zl
cj4oZWZmZWN0KSk7CisKKyAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6QmxlbmQ6CiAgICAg
Y2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbXBvc2l0ZToKICAgICBjYXNlIEZpbHRlckVmZmVj
dDo6VHlwZTo6Q29udm9sdmVNYXRyaXg6CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkRp
ZmZ1c2VMaWdodGluZzoKQEAgLTEyNSwxMCArMTQxLDExIEBAIFJldGFpblB0cjxDSUltYWdlPiBG
aWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6Y29ubmVjdENJRmlsdGVycyhGaWx0ZXJFZmZl
Y3QmCiAgICAgICAgIHJldHVybiBpbWFnZUZvclNvdXJjZUdyYXBoaWMoZG93bmNhc3Q8U291cmNl
R3JhcGhpYz4oZWZmZWN0KSk7CiAgICAgY2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkNvbG9yTWF0
cml4OgogICAgICAgICByZXR1cm4gaW1hZ2VGb3JGRUNvbG9yTWF0cml4KGRvd25jYXN0PEZFQ29s
b3JNYXRyaXg+KGVmZmVjdCksIGlucHV0SW1hZ2VzKTsKKyAgICBjYXNlIEZpbHRlckVmZmVjdDo6
VHlwZTo6Q29tcG9uZW50VHJhbnNmZXI6CisgICAgICAgIHJldHVybiBpbWFnZUZvckZFQ29tcG9u
ZW50VHJhbnNmZXIoZG93bmNhc3Q8RkVDb21wb25lbnRUcmFuc2Zlcj4oZWZmZWN0KSwgaW5wdXRJ
bWFnZXMpOwogCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aG9zZSBmaWx0ZXJzIHVzaW5nIENJ
RmlsdGVyIHNvIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybnMgYSB2YWxpZCBDSUltYWdlCiAgICAg
Y2FzZSBGaWx0ZXJFZmZlY3Q6OlR5cGU6OkJsZW5kOgotICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpU
eXBlOjpDb21wb25lbnRUcmFuc2ZlcjoKICAgICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6Q29t
cG9zaXRlOgogICAgIGNhc2UgRmlsdGVyRWZmZWN0OjpUeXBlOjpDb252b2x2ZU1hdHJpeDoKICAg
ICBjYXNlIEZpbHRlckVmZmVjdDo6VHlwZTo6RGlmZnVzZUxpZ2h0aW5nOgpAQCAtMjE1LDYgKzIz
MiwyOCBAQCBSZXRhaW5QdHI8Q0lJbWFnZT4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6
OmltYWdlRm9yRkVDb2xvck1hdHJpeChjb25zdCBGRQogICAgIHJldHVybiBjb2xvck1hdHJpeEZp
bHRlci5vdXRwdXRJbWFnZTsKIH0KIAorUmV0YWluUHRyPENJSW1hZ2U+IEZpbHRlckVmZmVjdFJl
bmRlcmVyQ29yZUltYWdlOjppbWFnZUZvckZFQ29tcG9uZW50VHJhbnNmZXIoY29uc3QgRkVDb21w
b25lbnRUcmFuc2ZlciYgZWZmZWN0LCBWZWN0b3I8UmV0YWluUHRyPENJSW1hZ2U+PiYgaW5wdXRJ
bWFnZXMpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGUgcmVzdCBvZiBGRUNvbXBvbmVu
dFRyYW5zZmVyIGZ1bmN0aW9ucworICAgIEFTU0VSVChpc051bGxPckxpbmVhckNvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb24oZWZmZWN0KSk7CisKKyAgICBhdXRvIGlucHV0SW1hZ2UgPSBpbnB1dElt
YWdlcy5hdCgwKTsKKyAgICBhdXRvIGZpbHRlciA9IFtDSUZpbHRlciBmaWx0ZXJXaXRoTmFtZTpA
IkNJQ29sb3JQb2x5bm9taWFsIl07CisgICAgCisgICAgW2ZpbHRlciBzZXRWYWx1ZTppbnB1dElt
YWdlLmdldCgpIGZvcktleTprQ0lJbnB1dEltYWdlS2V5XTsKKyAgICAKKyAgICBhdXRvIHNldENv
ZWZmaWNpZW50cyA9IFsmXSAoTlNTdHJpbmcgKmtleSwgY29uc3QgQ29tcG9uZW50VHJhbnNmZXJG
dW5jdGlvbiYgZnVuY3Rpb24pIHsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLnR5cGUgPT0gRkVDT01Q
T05FTlRUUkFOU0ZFUl9UWVBFX0xJTkVBUikKKyAgICAgICAgICAgIFtmaWx0ZXIgc2V0VmFsdWU6
W0NJVmVjdG9yIHZlY3RvcldpdGhYOmZ1bmN0aW9uLmludGVyY2VwdCBZOmZ1bmN0aW9uLnNsb3Bl
IFo6MCBXOjBdIGZvcktleTprZXldOworICAgIH07CisgICAgc2V0Q29lZmZpY2llbnRzKEAiaW5w
dXRSZWRDb2VmZmljaWVudHMiLCBlZmZlY3QucmVkRnVuY3Rpb24oKSk7CisgICAgc2V0Q29lZmZp
Y2llbnRzKEAiaW5wdXRHcmVlbkNvZWZmaWNpZW50cyIsIGVmZmVjdC5ncmVlbkZ1bmN0aW9uKCkp
OworICAgIHNldENvZWZmaWNpZW50cyhAImlucHV0Qmx1ZUNvZWZmaWNpZW50cyIsIGVmZmVjdC5i
bHVlRnVuY3Rpb24oKSk7CisgICAgc2V0Q29lZmZpY2llbnRzKEAiaW5wdXRBbHBoYUNvZWZmaWNp
ZW50cyIsIGVmZmVjdC5hbHBoYUZ1bmN0aW9uKCkpOworICAgIAorICAgIHJldHVybiBmaWx0ZXIu
b3V0cHV0SW1hZ2U7Cit9CisKIGJvb2wgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmNh
blJlbmRlclVzaW5nQ0lGaWx0ZXJzKEZpbHRlckVmZmVjdCYgZWZmZWN0KQogewogICAgIGlmICgh
c3VwcG9ydHNDb3JlSW1hZ2VSZW5kZXJpbmcoZWZmZWN0KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5z
ZmVyLmgKaW5kZXggZmNmNGVjMmEwZGM2YTY3MGM0MWVlNmFlOGI1NTBlODUwZTE2ZTFhYi4uMmI1
ODZkZWY3ZmI0MmEzN2IyZTEyM2VkYTg3MTE5YzRlYjM0OGE1MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVu
dFRyYW5zZmVyLmgKQEAgLTg5LDMgKzg5LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkZFQ29tcG9u
ZW50VHJhbnNmZXIpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkZpbHRl
ckVmZmVjdCYgZWZmZWN0KSB7IHJldHVybiBlZmZlY3QuZmlsdGVyRWZmZWN0Q2xhc3NUeXBlKCkg
PT0gV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpUeXBlOjpDb21wb25lbnRUcmFuc2ZlcjsgfQorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc5ODNkMDEwMzk0YWU5YzdhNjQ4ZGM2
MzFkYWVhYzFkNThlNGVhYzcuLjkyOGVmM2U1YWMxOTcxNDQ3YmFjNWQwNGJhZDRhNWZlNGQ1MGI2
YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOS0wMyAgRnJhbmsgWWFuZyAgPGd1b3dl
aV95YW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JlSW1hZ2UgSW1wbGVtZW50YXRpb24gb2Yg
Q1NTIEZpbHRlcnMgaW52ZXJ0KCksIG9wYWNpdHkoKSwgYnJpZ2h0bmVzcygpLCBjb250cmFzdCgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU5NTYK
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGNzczMvZmls
dGVycy9lZmZlY3QtYnJpZ2h0bmVzcy1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFy
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvZWZmZWN0LWludmVydC1zcXVh
cmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2VmZmVjdC1p
bnZlcnQtc3F1YXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9lZmZlY3Qt
b3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0
ZXJzL2VmZmVjdC1vcGFjaXR5LXNxdWFyZS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOS0wMyAgRnJh
bmsgWWFuZyAgPGd1b3dlaV95YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JlSW1hZ2UgSW1w
bGVtZW50YXRpb24gb2YgU291cmNlR3JhcGhpYyBhbmQgc2F0dXJhdGUoKSwgaHVlLXJvdGF0ZSgp
LCBncmF5c2NhbGUoKSBhbmQgc2VwaWEoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMxYmQzYjc3YWJhNzljYTE1ZTI2NzdjOWU4ZTBmNjlhZmI4YTQ1NmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5lc3Mt
c3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVy
YXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAg
ZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAg
ICAgICAgYmFja2dyb3VuZDogcmdiKDEyNywgMCwgMCApOworICAgIH0KKworICAgIDwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVkIHJlY3Rh
bmdsZS48L3A+CisgICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1s
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1icmlnaHRuZXNzLXNxdWFyZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVkNTMwZmJlMzU0NTFiNzQ2MmNjMjY1NDBlYzgzMzE2ZTUzNDJjZGMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWJyaWdodG5l
c3Mtc3F1YXJlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNhdHVyYXRlIHNo
b3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgZGl2IHsK
KyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAKKyAgICAgICAg
YmFja2dyb3VuZDogcmVkOworICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKTsKKyAgICAg
ICAgcG9zaXRpb246IGFic29sdXRlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8cD5Zb3Ugc2hvdWxkIHNlZSBhIGRhcmsgcmVkIHJlY3RhbmdsZS48L3A+Cisg
ICAgPGRpdj48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1jb250cmFzdC1zcXVhcmUtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWJhZjcwYmUzNzBmOTdlY2M5OWVhOWEwNjNkYWMzZmJjMDdhN2E4YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJh
c3Qtc3F1YXJlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgRmlsdGVyIFRlc3Q6IFRlc3QgZm9yIFNh
dHVyYXRlIHNob3J0IGhhbmQ8L3RpdGxlPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cisg
ICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OyAK
KyAgICAgICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMCwgMCk7CisgICAgfQorCisgICAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgZ3JheSByZWN0YW5n
bGUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtY29udHJhc3Qtc3F1YXJlLmh0bWwgYi9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFyZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRjN2UzMzRmM2ExNTNhZTZjNDJkY2QxZjNiZWIzYjhjMzlhNmY5Y2YKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LWNvbnRyYXN0LXNxdWFy
ZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5k
PC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAg
IHdpZHRoOiA1MDBweDsKKyAgICAgICAgaGVpZ2h0OiA1MDBweDsgCisgICAgICAgIGJhY2tncm91
bmQ6IHJnYigyNTUsIDAsIDApOworICAgICAgICBmaWx0ZXI6IGNvbnRyYXN0KDEwMCUpOworICAg
ICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgZ3JheSByZWN0YW5nbGUuPC9wPgorICAg
IDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWE5ZTQzNjQ3OWUxYWEwYzJlMDE4NTQ5YzdkNDI3OWEwODE2NDJmNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFy
ZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBz
aG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7
CisgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAgaGVpZ2h0OiA1MDBweDsgCisgICAgICAg
IGJhY2tncm91bmQ6IHJnYigwLCAyNTUsIDI1NSk7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgY3lhbiByZWN0YW5nbGUuPC9w
PgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1pbnZlcnQtc3F1YXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFj
NWVjNTliOTlhOWVkOTQyMjU0N2MyOWYwN2ZlNzhlN2Q2MTBiNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3QtaW52ZXJ0LXNxdWFyZS5odG1sCkBAIC0w
LDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+
Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAg
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiA1MDBw
eDsKKyAgICAgICAgaGVpZ2h0OiA1MDBweDsgCisgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKKyAg
ICAgICAgZmlsdGVyOiBpbnZlcnQoMTAwJSk7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgY3lhbiByZWN0YW5nbGUuPC9wPgor
ICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZGM4MWIwYWI1MDcxZjk0YzZiYWZkMjIwMWM2MGU3NWFhZmJhMmE3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2VmZmVjdC1vcGFjaXR5
LXNxdWFyZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIEZpbHRlciBUZXN0OiBUZXN0IGZvciBTYXR1
cmF0ZSBzaG9ydCBoYW5kPC90aXRsZT4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAg
IGRpdiB7CisgICAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgICAgaGVpZ2h0OiA1MDBweDsgCisg
ICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwKTsKKyAgICB9CisKKyAgICA8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgbm8gc3F1YXJlLjwv
cD4KKyAgICA8ZGl2PjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvZWZmZWN0LW9wYWNpdHktc3F1YXJlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjM5MzE1MTVjODI5ODEwOTIwNDEyYWQzMDlkYmY2YzNhYzIyZmQ2ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9lZmZlY3Qtb3BhY2l0eS1zcXVhcmUuaHRtbApA
QCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRp
dGxlPkNTUyBGaWx0ZXIgVGVzdDogVGVzdCBmb3IgU2F0dXJhdGUgc2hvcnQgaGFuZDwvdGl0bGU+
CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBkaXYgeworICAgICAgICB3aWR0aDog
NTAwcHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7IAorICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7
CisgICAgICAgIGZpbHRlcjogb3BhY2l0eSgwKTsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRl
OworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8cD5Zb3Ugc2hv
dWxkIHNlZSBubyBzcXVhcmUuPC9wPgorICAgIDxkaXY+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>