<?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>169988</bug_id>
          
          <creation_ts>2017-03-22 18:58:29 -0700</creation_ts>
          <short_desc>[GTK][WPE] Support for backdrop-filter</short_desc>
          <delta_ts>2020-08-05 20:50:23 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=215209</see_also>
          <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>
          
          <blocked>68469</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>magomez</cc>
    
    <cc>noam</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yoshiaki.jitsukawa</cc>
    
    <cc>zan</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1290316</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-22 18:58:29 -0700</bug_when>
    <thetext>The GTK port misses support for CSS backdrop filters.

This was implemented in bug 138384 for Mac/iOS.

More info: https://webkit.org/blog/3632/introducing-backdrop-filters/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290337</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-22 20:27:56 -0700</bug_when>
    <thetext>Status of support for the feature in other browsers: http://caniuse.com/#feat=css-backdrop-filter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362388</commentid>
    <comment_count>2</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-10-19 15:22:40 -0700</bug_when>
    <thetext>On the surface it looks like the feature could be enabled by
adding the following in “PlatformGTK.cmake”:

  WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS_LEVEL_2 PRIVATE ON)

but this alone is not enough for backdrop-filter to work. After
looking at how this was implemented in Cocoa, I think the crux of
the matter is that we have somehow to render normally the content
that falls behind the element to which backdrop filters are applied,
so then the result can be used to apply them. Cocoa seems to do
this using CoreAnimation, so with my (extremely) limited knowledge
of the graphics stack, we would need to implement the needed bits
in the texture mapper, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673183</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 12:43:37 -0700</bug_when>
    <thetext>Would be nice to support this at some point. results.webkit.org relies on this feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674618</commentid>
    <comment_count>4</comment_count>
      <attachid>405139</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-24 07:00:23 -0700</bug_when>
    <thetext>Created attachment 405139
Patch

There are still a few tests failing (some of them due to other bugs like -webkit-box-reflect not working on compositing), but the examples I&apos;ve been trying are all working (https://webkit.org/demos/backdrop-filter and https://results.webkit.org).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674866</commentid>
    <comment_count>5</comment_count>
      <attachid>405139</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-07-24 15:26:09 -0700</bug_when>
    <thetext>Comment on attachment 405139
Patch

Wow, this is quite a neat patch overall, somehow before starting reading
it I thought it would end up being much more complicated 💪️

I made just one comment below about the isFilterProperty lambda.

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

&gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:1358
&gt; +    auto isFilterProperty = [&amp;]() -&gt; bool {

The lambda here only uses “valueList.property()” so I would only capture
that explicitly 

  auto isFilterProperty = [property = valueList.property()]() -&gt; bool { /* ... */ };

Though, honestly I do not see the need to use a lambda here, as it is used
only once immediately and it calculates a simple value. Why not calculate
the value directly? One possible way:

      bool isFilterProperty;
      switch (valueList.property()) {
  #if ENABLE(FILTERS_LEVEL_2)
      case AnimatedPropertyWebkitBackdropFilter:
  #endif
      case AnimatedPropertyFilter:
          isFilterProperty = true;
          break;
      default:
          isFilterProperty = false;
      }

      if (isFilterProperty) {
          /* ... */
      }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675169</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-27 00:02:46 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #5)
&gt; Comment on attachment 405139 [details]
&gt; Patch
&gt; 
&gt; Wow, this is quite a neat patch overall, somehow before starting reading
&gt; it I thought it would end up being much more complicated 💪️
&gt; 
&gt; I made just one comment below about the isFilterProperty lambda.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=405139&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:1358
&gt; &gt; +    auto isFilterProperty = [&amp;]() -&gt; bool {
&gt; 
&gt; The lambda here only uses “valueList.property()” so I would only capture
&gt; that explicitly 
&gt; 
&gt;   auto isFilterProperty = [property = valueList.property()]() -&gt; bool { /*
&gt; ... */ };
&gt; 
&gt; Though, honestly I do not see the need to use a lambda here, as it is used
&gt; only once immediately and it calculates a simple value. Why not calculate
&gt; the value directly? One possible way:
&gt; 
&gt;       bool isFilterProperty;
&gt;       switch (valueList.property()) {
&gt;   #if ENABLE(FILTERS_LEVEL_2)
&gt;       case AnimatedPropertyWebkitBackdropFilter:
&gt;   #endif
&gt;       case AnimatedPropertyFilter:
&gt;           isFilterProperty = true;
&gt;           break;
&gt;       default:
&gt;           isFilterProperty = false;
&gt;       }
&gt; 
&gt;       if (isFilterProperty) {
&gt;           /* ... */
&gt;       }

Ended up adding the lambda because with the if and the #ifdef it looked bad and the style checker always complained. The switch is a good idea and then we don&apos;t even need the isFilterProperty variable, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675551</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-28 02:03:39 -0700</bug_when>
    <thetext>Committed r264968: &lt;https://trac.webkit.org/changeset/264968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675552</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-28 02:04:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/66207065&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405139</attachid>
            <date>2020-07-24 07:00:23 -0700</date>
            <delta_ts>2020-07-24 15:26:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-backdrop-filters.diff</filename>
            <type>text/plain</type>
            <size>45658</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0YzhjMTNlYjdjYzUuLmM3
ODJlOTEzNWJjNSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDIwLTA3LTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFN1cHBvcnQgZm9yIGJhY2tkcm9wLWZpbHRl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5OTg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxl
IEZJTFRFUlNfTEVWRUxfMiBieSBkZWZhdWx0IGZvciBXUEUgYW5kIEdUSy4KKworICAgICAgICAq
IFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9P
cHRpb25zV1BFLmNtYWtlOgorCiAyMDIwLTA3LTIxICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8
YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE9wdGlvbnNX
UEUuY21ha2UgYW5kIE5FV1MgZm9yIHRoZSAyLjI5LjEgcmVsZWFzZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZmM2JjZDY1
MTZjYS4uZjUwMWQwNzBjYTdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjAtMDctMjQgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtd
W1dQRV0gU3VwcG9ydCBmb3IgYmFja2Ryb3AtZmlsdGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk5ODgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZv
cm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLWRvZXMtbm90LXNp
emUtcHJvcGVybHktYWJzb2x1dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1maWx0ZXItZG9lcy1ub3Qt
c2l6ZS1wcm9wZXJseS1ib3JkZXItYW5kLXBhZGRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1maWx0
ZXItd2l0aC1jbGlwLXBhdGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1maWx0ZXItd2l0aC1jbGlwcmVj
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvY3NzMy9maWx0
ZXJzL2JhY2tkcm9wL2JhY2tkcm9wLWZpbHRlci13aXRoLW1hc2stZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJv
cC13aXRoLXZpc2liaWxpdHktaGlkZGVuLWNoYW5naW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3Atd2l0
aC12aXNpYmlsaXR5LWhpZGRlbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL3Jlc291cmNlLXVzZS1hZGQtbW9yZS1sYXll
cnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2NzczMvZmls
dGVycy9iYWNrZHJvcC9yZXNvdXJjZS11c2UtZXhjZXNzaXZlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvcmVzb3VyY2Ut
dXNlLW9rLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9jc3Mz
L2ZpbHRlcnMvYmFja2Ryb3AvcmVzb3VyY2UtdXNlLXJlbW92ZS1zb21lLWxheWVycy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA3LTIxICBL
ZW5uZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtXZWJHTDJdIElt
cGxlbWVudCBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0IGVudHJ5IHBvaW50cwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFmN2U1NzZkMTQ5Yy4uYjljOWEw
MTg0MDEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xNjgsNiArMTY4LDE2IEBAIHdlYmtpdC5vcmcvYi8yMTMxMTQgZmFzdC9mbGV4Ym94L2xpbmUt
Y2xhbXAtd2l0aC1hbmNob3ItY29udGVudC1vbmx5Lmh0bWwgWyBJbWFnCiAjIFBhc3MgaW5zdGVh
ZCBvZiByZW1vdmluZyB0aGlzIGxpbmUuCiB3ZWJraXQub3JnL2IvMjE0MjU5IGZhc3QvZ3JhZGll
bnRzL2NvbmljLWdyYWRpZW50LWFscGhhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAord2Vi
a2l0Lm9yZy9iLzE2OTk4OCBjc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXVu
ZXZlbi1jb3JuZXItcmFkaWkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9i
LzE2OTk4OCBjc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXdpdGgtYm9yZGVy
LXJhZGl1cy1hbmQtcmVmbGVjdGlvbi1hZGQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Vi
a2l0Lm9yZy9iLzE2OTk4OCBjc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXdp
dGgtYm9yZGVyLXJhZGl1cy1hbmQtcmVmbGVjdGlvbi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Cit3ZWJraXQub3JnL2IvMTY5OTg4IGNzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1maWx0
ZXItd2l0aC1ib3JkZXItcmFkaXVzLXZhbHVlLWNoYW5nZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvMTY5OTg4IGNzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1m
aWx0ZXItd2l0aC1ib3JkZXItcmFkaXVzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xNjk5ODggY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2JhY2tkcm9wLWZpbHRlci13aXRo
LXJlZmxlY3Rpb24tYWRkLWJhY2tkcm9wLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xNjk5ODggY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2JhY2tkcm9wLWZpbHRlci13aXRo
LXJlZmxlY3Rpb24tdmFsdWUtY2hhbmdlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xNjk5ODggY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2JhY2tkcm9wLWZpbHRlci13aXRo
LXJlZmxlY3Rpb24uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE2OTk4
OCBjc3MzL2ZpbHRlcnMvYmFja2Ryb3AvZWZmZWN0LWh3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIENTUy1yZWxh
dGVkIGJ1Z3MKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1m
aWx0ZXItZG9lcy1ub3Qtc2l6ZS1wcm9wZXJseS1hYnNvbHV0ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1maWx0
ZXItZG9lcy1ub3Qtc2l6ZS1wcm9wZXJseS1hYnNvbHV0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wMWE4YjJjNDc1NjIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9i
YWNrZHJvcC1maWx0ZXItZG9lcy1ub3Qtc2l6ZS1wcm9wZXJseS1hYnNvbHV0ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMCBAQAorZm9vIGZvb2JhcgorKEdyYXBoaWNzTGF5ZXIKKyAgKGFuY2hv
ciAwLjAwIDAuMDApCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNv
bnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXll
cgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDguMDApCisgICAgICAgICAgKGJvdW5kcyAzNDEu
MDAgMzE4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ry
b3AgbGF5ZXIgMC4wMCwgMC4wMCAxMDAuMDAgeCAyMDAuMDApCisgICAgICAgICkKKyAgICAgICkK
KyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9j
c3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLWRvZXMtbm90LXNpemUtcHJvcGVy
bHktYm9yZGVyLWFuZC1wYWRkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2JhY2tkcm9wLWZpbHRlci1kb2VzLW5vdC1zaXpl
LXByb3Blcmx5LWJvcmRlci1hbmQtcGFkZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41NTUwOGY1NzlkMTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJv
cC1maWx0ZXItZG9lcy1ub3Qtc2l6ZS1wcm9wZXJseS1ib3JkZXItYW5kLXBhZGRpbmctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK2ZvbworKEdyYXBoaWNzTGF5ZXIKKyAgKGFuY2hvciAw
LjAwIDAuMDApCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRl
bnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgor
ICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDguMDApCisgICAgICAgICAgKGJvdW5kcyAxODAuMDAg
MjgwLjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3Ag
bGF5ZXIgMC4wMCwgMC4wMCAxODAuMDAgeCAyODAuMDApCisgICAgICAgICkKKyAgICAgICkKKyAg
ICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9jc3Mz
L2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXdpdGgtY2xpcC1wYXRoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2Jh
Y2tkcm9wLWZpbHRlci13aXRoLWNsaXAtcGF0aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xZDQ5MTQxYjBhOTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJv
cC1maWx0ZXItd2l0aC1jbGlwLXBhdGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKK0NP
TlNPTEUgTUVTU0FHRTogVmlld3BvcnQgYXJndW1lbnQgdmFsdWUgIjIwMHB4IiBmb3Iga2V5ICJ3
aWR0aCIgd2FzIHRydW5jYXRlZCB0byBpdHMgbnVtZXJpYyBwcmVmaXguCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDgKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDgKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgwCitsYXllciBh
dCAoOCw4KSBzaXplIDIwMHgyMDAgc2Nyb2xsSGVpZ2h0IDM0MgorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6ZSAyMDB4MjAwCisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMTk4eDM0MQorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MTc3OiAiTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIgorICAgICAgdGV4dCBydW4gYXQgKDAs
MTgpIHdpZHRoIDE2NjogImNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4iCisgICAgICB0ZXh0
IHJ1biBhdCAoMCwzNikgd2lkdGggMTcxOiAiVmVzdGlidWx1bSBhIG51bmMgdWx0cmljZXMsIgor
ICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDE5ODogImZhdWNpYnVzIGxpZ3VsYSBhYywg
ZXVpc21vZCBlbGl0LiIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCAxMjg6ICJVdCBp
biB2ZWhpY3VsYSBlbmltLiIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCAxNzA6ICJT
dXNwZW5kaXNzZSBzb2RhbGVzIGF1Y3RvciIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDEwOCkgd2lk
dGggMTc1OiAibnVuYywgc2l0IGFtZXQgdmVoaWN1bGEgdmVsaXQiCisgICAgICB0ZXh0IHJ1biBh
dCAoMCwxMjYpIHdpZHRoIDE3MDogImN1cnN1cyB2dWxwdXRhdGUuIE51bmMgc2VkIgorICAgICAg
dGV4dCBydW4gYXQgKDAsMTQ0KSB3aWR0aCAxNjc6ICJpcHN1bSB2aXRhZSBtYXNzYSBkYXBpYnVz
IgorICAgICAgdGV4dCBydW4gYXQgKDAsMTYyKSB3aWR0aCAxNTY6ICJzb2RhbGVzIHNpdCBhbWV0
IHF1aXMgZHVpLiIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4MCkgd2lkdGggMTk2OiAiQWVuZWFu
IHNpdCBhbWV0IGludGVyZHVtIGFyY3UsIgorICAgICAgdGV4dCBydW4gYXQgKDAsMTk4KSB3aWR0
aCAxNjg6ICJldCBmYWNpbGlzaXMgZGlhbS4gVXQgYSBsYWN1cyIKKyAgICAgIHRleHQgcnVuIGF0
ICgwLDIxNikgd2lkdGggMTY1OiAiZWxlaWZlbmQsIGZldWdpYXQgdGVsbHVzIHZlbCwiCisgICAg
ICB0ZXh0IHJ1biBhdCAoMCwyMzQpIHdpZHRoIDE5MTogIm1vbGVzdGllIGxvcmVtLiBOdWxsYSBw
dWx2aW5hciIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDI1Mikgd2lkdGggMTU5OiAiZGFwaWJ1cyBz
ZW1wZXIuIFF1aXNxdWUiCisgICAgICB0ZXh0IHJ1biBhdCAoMCwyNzApIHdpZHRoIDE1MzogIm1v
bGxpcywgbmVxdWUgbm9uIGx1Y3R1cyIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDI4OCkgd2lkdGgg
MTk3OiAiYWxpcXVhbSwgZXggcmlzdXMgbGFjaW5pYSBhdWd1ZSwiCisgICAgICB0ZXh0IHJ1biBh
dCAoMCwzMDYpIHdpZHRoIDE3MjogInZlbCBlbGVpZmVuZCBhdWd1ZSBlcmF0IGVnZXQiCisgICAg
ICB0ZXh0IHJ1biBhdCAoMCwzMjQpIHdpZHRoIDMwOiAiYW50ZS4iCitsYXllciBhdCAoNTAsNTAp
IHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDUwLDUw
KSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0ZGMDAwMDgwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXdp
dGgtY2xpcHJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9jc3Mz
L2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXdpdGgtY2xpcHJlY3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYzk2NDA2ODY2N2Iy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9jc3MzL2ZpbHRl
cnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXdpdGgtY2xpcHJlY3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjEgQEAKK2ZvbworYmFyCisoR3JhcGhpY3NMYXllcgorICAoYW5jaG9yIDAuMDAg
MC4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFw
aGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNP
cGFxdWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgKHBvc2l0aW9uIDguMDAgMjYuMDApCisgICAgICAgICAgKGJvdW5kcyAxMjAuMDAgMTIw
LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5
ZXIgMC4wMCwgMC4wMCAxMjAuMDAgeCAxMjAuMDApCisgICAgICAgICkKKyAgICAgICkKKyAgICAp
CisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9jc3MzL2Zp
bHRlcnMvYmFja2Ryb3AvYmFja2Ryb3AtZmlsdGVyLXdpdGgtbWFzay1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9iYWNrZHJvcC1m
aWx0ZXItd2l0aC1tYXNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjZlOWMwYTJiNmJjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2JhY2tkcm9wLWZpbHRlci13aXRo
LW1hc2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK2ZvbworYmFyCisoR3JhcGhpY3NM
YXllcgorICAoYW5jaG9yIDAuMDAgMC4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAo
Y2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAu
MDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDguMDAgMjYuMDApCisgICAgICAg
ICAgKGJvdW5kcyAxMjAuMDAgMTIwLjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAobWFzayBsYXllcikKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgICAgIChib3VuZHMgMTIwLjAwIDEyMC4wMCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVu
dCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgIChiYWNrZHJvcCBsYXllciAwLjAwLCAwLjAw
IDEyMC4wMCB4IDEyMC4wMCkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJv
cC9iYWNrZHJvcC13aXRoLXZpc2liaWxpdHktaGlkZGVuLWNoYW5naW5nLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2JhY2tkcm9w
LXdpdGgtdmlzaWJpbGl0eS1oaWRkZW4tY2hhbmdpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYWFhY2JhNGRiZmFhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFj
a2Ryb3Atd2l0aC12aXNpYmlsaXR5LWhpZGRlbi1jaGFuZ2luZy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1OCBAQAorRHVtcCB3aGVuIGZpbHRlciBpcyB2aXNpYmxlOgorKEdyYXBoaWNzTGF5ZXIK
KyAgKGFuY2hvciAwLjAwIDAuMDApCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxk
cmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQor
ICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDE1MC4wMCkKKyAgICAgICAgICAo
Ym91bmRzIDQwMi4wMCA1Mi4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICAgKGJhY2tkcm9wIGxheWVyIDAuMDAsIDAuMDAgNDAyLjAwIHggNTIuMDApCisgICAgICAgICkK
KyAgICAgICkKKyAgICApCisgICkKKykKK0R1bXAgd2hlbiBmaWx0ZXIgaXMgaGlkZGVuOgorKEdy
YXBoaWNzTGF5ZXIKKyAgKGFuY2hvciAwLjAwIDAuMDApCisgIChib3VuZHMgODAwLjAwIDYwMC4w
MCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAu
MDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQor
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDE1MC4wMCkK
KyAgICAgICAgICAoYm91bmRzIDQwMi4wMCA1Mi4wMCkKKyAgICAgICAgICAoY29udGVudHNWaXNp
YmxlIDApCisgICAgICAgICAgKGJhY2tkcm9wIGxheWVyIDAuMDAsIDAuMDAgNDAyLjAwIHggNTIu
MDAgaGlkZGVuKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCitEdW1wIHdoZW4g
ZmlsdGVyIGlzIHZpc2libGUgYWdhaW46CisoR3JhcGhpY3NMYXllcgorICAoYW5jaG9yIDAuMDAg
MC4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFw
aGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNP
cGFxdWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgKHBvc2l0aW9uIDAuMDAgMTUwLjAwKQorICAgICAgICAgIChib3VuZHMgNDAyLjAwIDUy
LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5
ZXIgMC4wMCwgMC4wMCA0MDIuMDAgeCA1Mi4wMCkKKyAgICAgICAgKQorICAgICAgKQorICAgICkK
KyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmls
dGVycy9iYWNrZHJvcC9iYWNrZHJvcC13aXRoLXZpc2liaWxpdHktaGlkZGVuLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2JhY2tk
cm9wLXdpdGgtdmlzaWJpbGl0eS1oaWRkZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDcyYzk3YzY0MWM0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvYmFja2Ryb3At
d2l0aC12aXNpYmlsaXR5LWhpZGRlbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorKEdy
YXBoaWNzTGF5ZXIKKyAgKGFuY2hvciAwLjAwIDAuMDApCisgIChib3VuZHMgODAwLjAwIDYwMC4w
MCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAu
MDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQor
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDE1MC4wMCkK
KyAgICAgICAgICAoYm91bmRzIDQwMi4wMCA1Mi4wMCkKKyAgICAgICAgICAoY29udGVudHNWaXNp
YmxlIDApCisgICAgICAgICAgKGJhY2tkcm9wIGxheWVyIDAuMDAsIDAuMDAgNDAyLjAwIHggNTIu
MDAgaGlkZGVuKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL3Jlc291
cmNlLXVzZS1hZGQtbW9yZS1sYXllcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvcmVzb3VyY2UtdXNlLWFkZC1tb3JlLWxheWVy
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5h
NTU3MGE0ZWM2MDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L2NzczMvZmlsdGVycy9iYWNrZHJvcC9yZXNvdXJjZS11c2UtYWRkLW1vcmUtbGF5ZXJzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDkwIEBACisoR3JhcGhpY3NMYXllcgorICAoYW5jaG9yIDAuMDAg
MC4wMCkKKyAgKGJvdW5kcyAxMjQzLjAwIDIyMDkuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgMTI0My4wMCAyMjA5LjAwKQorICAgICAgKGNvbnRl
bnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMworICAgICAgICAoR3JhcGhpY3NMYXllcgor
ICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRl
bnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIw
OC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMTAKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVy
CisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDEuMDApCisgICAgICAgICAgICAgIChib3Vu
ZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAg
ICAgICAgICAgIChiYWNrZHJvcCBsYXllciAwLjAwLCAwLjAwIDEyNDIuMDAgeCAyMjA4LjAwKQor
ICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAg
KHBvc2l0aW9uIDEuMDAgMS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMjQyLjAwIDIyMDgu
MDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKGJhY2tk
cm9wIGxheWVyIDAuMDAsIDAuMDAgMTI0Mi4wMCB4IDIyMDguMDApCisgICAgICAgICAgICApCisg
ICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRpb24gMS4wMCAx
LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDEyNDIuMDAgMjIwOC4wMCkKKyAgICAgICAgICAg
ICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwg
MC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIChHcmFw
aGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDEuMDApCisgICAgICAgICAg
ICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCisgICAgICAgICAgICAgIChiYWNrZHJvcCBsYXllciAwLjAwLCAwLjAwIDEyNDIuMDAgeCAy
MjA4LjAwKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMjQy
LjAwIDIyMDguMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAg
ICAgKGJhY2tkcm9wIGxheWVyIDAuMDAsIDAuMDAgMTI0Mi4wMCB4IDIyMDguMDApCisgICAgICAg
ICAgICApCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRp
b24gMS4wMCAxLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDEyNDIuMDAgMjIwOC4wMCkKKyAg
ICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAoYmFja2Ryb3AgbGF5
ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgICAgICkKKyAgICAgICAg
ICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDEuMDApCisg
ICAgICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgICAgICAoZHJh
d3NDb250ZW50IDEpCisgICAgICAgICAgICAgIChiYWNrZHJvcCBsYXllciAwLjAwLCAwLjAwIDEy
NDIuMDAgeCAyMjA4LjAwKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMS4wMCkKKyAgICAgICAgICAgICAgKGJv
dW5kcyAxMjQyLjAwIDIyMDguMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAgICAgKGJhY2tkcm9wIGxheWVyIDAuMDAsIDAuMDAgMTI0Mi4wMCB4IDIyMDguMDAp
CisgICAgICAgICAgICApCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAg
ICAocG9zaXRpb24gMS4wMCAxLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDEyNDIuMDAgMjIw
OC4wMCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAoYmFj
a2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgICAgICkK
KyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAw
IDEuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgIChiYWNrZHJvcCBsYXllciAwLjAw
LCAwLjAwIDEyNDIuMDAgeCAyMjA4LjAwKQorICAgICAgICAgICAgKQorICAgICAgICAgICkKKyAg
ICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4w
MCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ry
b3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgKQorICAgICAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAg
ICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwg
MC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQor
KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9i
YWNrZHJvcC9yZXNvdXJjZS11c2UtZXhjZXNzaXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2dsaWIvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL3Jlc291cmNlLXVzZS1leGNlc3Np
dmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u
ZTEyNmEzNDFmNGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xp
Yi9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvcmVzb3VyY2UtdXNlLWV4Y2Vzc2l2ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw5MyBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGFuY2hvciAwLjAwIDAuMDAp
CisgIChib3VuZHMgMTI0NS4wMCAyMjExLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDEyNDUuMDAgMjIxMS4wMCkKKyAgICAgIChjb250ZW50c09w
YXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDgKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAoYm91bmRzIDEyNDIuMDAgMjIwOC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEp
CisgICAgICAgICAgKGJhY2tkcm9wIGxheWVyIDAuMDAsIDAuMDAgMTI0Mi4wMCB4IDIyMDguMDAp
CisgICAgICAgICkKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAoYm91bmRzIDEy
NDIuMDAgMjIwOC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGJh
Y2tkcm9wIGxheWVyIDAuMDAsIDAuMDAgMTI0Mi4wMCB4IDIyMDguMDApCisgICAgICAgICAgKGNo
aWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3Np
dGlvbiAxLjAwIDEuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQor
ICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgIChiYWNrZHJvcCBs
YXllciAwLjAwLCAwLjAwIDEyNDIuMDAgeCAyMjA4LjAwKQorICAgICAgICAgICAgKQorICAgICAg
ICAgICkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3Vu
ZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAg
ICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAg
KQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4
LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5
ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMQor
ICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDEuMDAg
MS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMjQyLjAwIDIyMDguMDApCisgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKGJhY2tkcm9wIGxheWVyIDAuMDAs
IDAuMDAgMTI0Mi4wMCB4IDIyMDguMDApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAg
ICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAx
LjAwIDEuMDApCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDEyNDIuMDAgMjIwOC4wMCkKKyAg
ICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgIChiYWNr
ZHJvcCBsYXllciAwLjAwLCAwLjAwIDEyNDIuMDAgeCAyMjA4LjAwKQorICAgICAgICAgICAgICAg
ICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAgICAgICAgICAgICAocG9zaXRpb24gMS4wMCAxLjAwKQorICAgICAgICAgICAgICAgICAg
ICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwg
MC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgKQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQg
MSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4w
MCkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMg
MTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAo
YmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgKQor
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAw
KQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIg
MC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAg
ICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMS4w
MCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMjQyLjAwIDIyMDguMDApCisgICAgICAgICAgICAg
IChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKGJhY2tkcm9wIGxheWVyIDAuMDAsIDAu
MDAgMTI0Mi4wMCB4IDIyMDguMDApCisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAg
ICApCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKGJvdW5kcyAxMjQyLjAwIDIy
MDguMDApCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgIChiYWNrZHJvcCBs
YXllciAwLjAwLCAwLjAwIDEyNDIuMDAgeCAyMjA4LjAwKQorICAgICAgICApCisgICAgICApCisg
ICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvY3Nz
My9maWx0ZXJzL2JhY2tkcm9wL3Jlc291cmNlLXVzZS1vay1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9yZXNvdXJjZS11c2Utb2st
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjVl
ZmViZmJkM2RhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9j
c3MzL2ZpbHRlcnMvYmFja2Ryb3AvcmVzb3VyY2UtdXNlLW9rLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDM2IEBACisoR3JhcGhpY3NMYXllcgorICAoYW5jaG9yIDAuMDAgMC4wMCkKKyAgKGJvdW5k
cyAxMjQzLjAwIDIyMDkuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgIChib3VuZHMgMTI0My4wMCAyMjA5LjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisg
ICAgICAoY2hpbGRyZW4gMworICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3Vu
ZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAg
ICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAg
KQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4
LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5
ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMQor
ICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIDEuMDAg
MS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMjQyLjAwIDIyMDguMDApCisgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKGJhY2tkcm9wIGxheWVyIDAuMDAs
IDAuMDAgMTI0Mi4wMCB4IDIyMDguMDApCisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAg
ICAgICApCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKGJvdW5kcyAxMjQyLjAw
IDIyMDguMDApCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgIChiYWNrZHJv
cCBsYXllciAwLjAwLCAwLjAwIDEyNDIuMDAgeCAyMjA4LjAwKQorICAgICAgICApCisgICAgICAp
CisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIv
Y3NzMy9maWx0ZXJzL2JhY2tkcm9wL3Jlc291cmNlLXVzZS1yZW1vdmUtc29tZS1sYXllcnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9jc3MzL2ZpbHRlcnMvYmFja2Ry
b3AvcmVzb3VyY2UtdXNlLXJlbW92ZS1zb21lLWxheWVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42YjY3NjFkNTBmY2UKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2NzczMvZmlsdGVycy9iYWNrZHJvcC9y
ZXNvdXJjZS11c2UtcmVtb3ZlLXNvbWUtbGF5ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ4
IEBACisoR3JhcGhpY3NMYXllcgorICAoYW5jaG9yIDAuMDAgMC4wMCkKKyAgKGJvdW5kcyAxMjQy
LjAwIDIyMDguMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChi
b3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAo
Y2hpbGRyZW4gNworICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0
Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFj
a2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgKQorICAg
ICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQor
ICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4w
MCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NM
YXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAw
IHggMjIwOC4wMCkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
IChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAg
ICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4w
MCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ry
b3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgKQorICAgICAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAg
ICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwg
MC4wMCAxMjQyLjAwIHggMjIwOC4wMCkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXll
cgorICAgICAgICAgIChib3VuZHMgMTI0Mi4wMCAyMjA4LjAwKQorICAgICAgICAgIChkcmF3c0Nv
bnRlbnQgMSkKKyAgICAgICAgICAoYmFja2Ryb3AgbGF5ZXIgMC4wMCwgMC4wMCAxMjQyLjAwIHgg
MjIwOC4wMCkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ1YjVhMzg1ZDBhNi4uNDlkMTM1
NWIzNzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
Njc3LDkgKzY3Nyw2IEBAIHdlYmtpdC5vcmcvYi8xMzEzNDcgaHR0cC90ZXN0cy9sb2FkaW5nL2hp
ZHBpLXByZWxvYWQtcGljdHVyZS1zaXplcy5odG1sIFsgRmFpbHVyCiB3ZWJraXQub3JnL2IvMTMx
MzQ3IHN2Zy9jdXN0b20vaGlkcGktbWFza2luZy1jbGlwcGluZy5zdmcgWyBGYWlsdXJlIEltYWdl
T25seUZhaWx1cmUgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTMxMzQ3IHN2Zy90ZXh0L2hpZHBp
LXRleHQtc2VsZWN0aW9uLXJlY3QtcG9zaXRpb24uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
Ci0jIE5vIHN1cHBvcnQgZm9yIEZpbHRlcnMgTGV2ZWwgMiBvbiBHVEsgeWV0Ci13ZWJraXQub3Jn
L2IvMTY5OTg4IGNzczMvZmlsdGVycy9iYWNrZHJvcCBbIFNraXAgXQotCiB3ZWJraXQub3JnL2Iv
MTE2MjU5IGh0dHAvdGVzdHMvY2FjaGUvd2lsbHNlbmRyZXF1ZXN0LXJldHVybnMtbnVsbC1mb3It
bWVtb3J5LWNhY2hlLWxvYWQuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTQxNDY3
IGZhc3QvbXVsdGljb2wvcGFnaW5hdGlvbi9MZWZ0VG9SaWdodC10Yi1oaXR0ZXN0Lmh0bWwgWyBG
YWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
MGIyNzRkZDE3ZWY0Li44NDE3NjM5NDU1MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC02MjYsNyArNjI2LDYgQEAgd2Via2l0Lm9yZy9iLzIxMDQ4NyBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdh
dGkKIHdlYmtpdC5vcmcvYi8yMTE1NjMgZmFzdC90ZXh0LWluZGljYXRvci90ZXh0LWluZGljYXRv
ci1lc3RpbWF0ZWQtY29sb3Itd2l0aC1pbXBsaWNpdC1uZXdsaW5lLmh0bWwgWyBGYWlsdXJlIF0K
IAogIyBOb3QgeWV0IHN1cHBvcnRlZCBvbiBXUEUKLXdlYmtpdC5vcmcvYi8xNjk5ODggY3NzMy9m
aWx0ZXJzL2JhY2tkcm9wIFsgU2tpcCBdCiBCdWcoV1BFKSBjc3MzL3Njcm9sbC1zbmFwIFsgU2tp
cCBdCiAKICMgT25seSBlbmFibGVkIG9uIE1hYy9pT1Mgc28gZmFyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRi
N2U0MDlhZDViMi4uYjI5ZjI4Y2E5MWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIw
MjAtMDctMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gU3VwcG9ydCBmb3IgYmFja2Ryb3AtZmlsdGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk5ODgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgaW5pdGlhbCBzdXBwb3J0
IGZvciBiYWNrZHJvcCBmaWx0ZXJzIHRvIGNvb3JkaW5hdGVkIGdyYXBoaWNzLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhUGxhdGZvcm1MYXllci5oOgorICAg
ICAgICAoTmljb3NpYTo6Q29tcG9zaXRpb25MYXllcjo6Zmx1c2hTdGF0ZSk6IFVwZGF0ZSB0aGUg
YmFja2Ryb3AgbGF5ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6Y29t
cHV0ZVRyYW5zZm9ybXNSZWN1cnNpdmUpOiBDYWxsIGl0IG9uIGJhY2tkcm9wIGxheWVyIHRvby4K
KyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRy
ZW4pOiBQYWludCB0aGUgYmFja2Ryb3AgbGF5ZXIgYmVmb3JlIGN1cnJlbnQgbGF5ZXIgdG8gYXBw
bHkKKyAgICAgICAgYmFja2Ryb3AgZmlsdGVycyBvbiBwcmV2aW91cyBjb250ZW50cywgdGhlbiB0
aGUgbGF5ZXIgaXMgcGFpbnRlZCBvbiB0b3AuCisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyTGF5ZXI6OnBhaW50SW50b1N1cmZhY2UpOiBJbiBjYXNlIG9mIGJhY2tkcm9wIGxheWVyIHBh
aW50IHRoZSByb290IGxheWVyIHVwIHRvIHRoZSB0YXJnZXQKKyAgICAgICAgbGF5ZXIgaW50byB0
aGUgaW50ZXJtZWRpYXRlIHN1cmZhY2UuCisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVy
TGF5ZXI6OnNldEJhY2tkcm9wTGF5ZXIpOiBTZXQgdGhlIGJha2Ryb3AgbGF5ZXIgYW5kIG1hcmsg
aXQgYXMgc3VjaC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6YXBwbHlB
bmltYXRpb25zUmVjdXJzaXZlbHkpOiBBbHNvIGNhbGwgc3luY0FuaW1hdGlvbnMgb24gYmFja2Ry
b3AgbGF5ZXIgdG8gZ2V0IHRoZQorICAgICAgICBmaWx0ZXJzIHVwZGF0ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpk
aWRDaGFuZ2VCYWNrZHJvcEZpbHRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyOjpkaWRDaGFuZ2VCYWNrZHJvcEZpbHRlcnNSZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0U2hvdWxkVXBkYXRlVmlzaWJsZVJl
Y3QpOiBBbHNvIGNhbGwgaXQgZm9yIGJhY2tkcm9wIGxheWVyLgorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRDb250ZW50c1Zpc2libGUpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0QmFja2Ryb3BGaWx0
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0QmFj
a2Ryb3BGaWx0ZXJzUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNz
TGF5ZXI6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSk6IEFsc28gY2FsbCBpdCBmb3IgYmFja2Ryb3Ag
bGF5ZXIuCisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmZsdXNo
Q29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkpOiBIYW5kbGUgdGhlIGNoYW5nZXMgaW4g
YmFja2Ryb3AKKyAgICAgICAgZmlsdGVycyBhbmQgdGhlIHJlY3QsIGNyZWF0aW5nIHRoZSBiYWNr
ZHJvcCBsYXllciBvciB1cGRhdGluZyBpdC4KKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcjo6c3luY1BlbmRpbmdTdGF0ZUNoYW5nZXNJbmNsdWRpbmdTdWJMYXllcnMp
OiBBbHNvIGNhbGwgaXQgZm9yIGJhY2tkcm9wIGxheWVyLgorICAgICAgICAoV2ViQ29yZTo6Q29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOiBIYW5kbGUgQW5pbWF0ZWRQcm9w
ZXJ0eVdlYmtpdEJhY2tkcm9wRmlsdGVyIHByb3BlcnR5LgorICAgICAgICAoV2ViQ29yZTo6ZHVt
cElubmVyTGF5ZXIpOiBEdW1wIGludGVybmFsIGxheWVyIGluZm8uCisgICAgICAgIChXZWJDb3Jl
OjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyBjb25z
dCk6IER1bXAgYmFja2Ryb3AgbGF5ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorCiAyMDIwLTA3LTE5
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbGl2ZSBy
YW5nZXMgZnJvbSBFZGl0b3IuaCBhbmQgRWRpdG9yQ2xpZW50LmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYVBsYXRmb3JtTGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYVBsYXRm
b3JtTGF5ZXIuaAppbmRleCA1NWRkNzQwYWJhZWMuLjJlMjk2Mzc3NWI5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhUGxhdGZvcm1M
YXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmlj
b3NpYVBsYXRmb3JtTGF5ZXIuaApAQCAtMTIxLDYgKzEyMSw4IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBvcGFjaXR5Q2hhbmdlZCA6IDE7CiAgICAgICAgICAgICAgICAgICAg
IGJvb2wgc29saWRDb2xvckNoYW5nZWQgOiAxOwogICAgICAgICAgICAgICAgICAgICBib29sIGZp
bHRlcnNDaGFuZ2VkIDogMTsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBiYWNrZHJvcEZpbHRl
cnNDaGFuZ2VkIDogMTsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBiYWNrZHJvcEZpbHRlcnNS
ZWN0Q2hhbmdlZCA6IDE7CiAgICAgICAgICAgICAgICAgICAgIGJvb2wgYW5pbWF0aW9uc0NoYW5n
ZWQgOiAxOwogICAgICAgICAgICAgICAgICAgICBib29sIGNoaWxkcmVuQ2hhbmdlZCA6IDE7CiAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgbWFza0NoYW5nZWQgOiAxOwpAQCAtMTgwLDYgKzE4Miw3
IEBAIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPFJlZlB0cjxDb21wb3NpdGlvbkxheWVyPj4gY2hp
bGRyZW47CiAgICAgICAgIFJlZlB0cjxDb21wb3NpdGlvbkxheWVyPiByZXBsaWNhOwogICAgICAg
ICBSZWZQdHI8Q29tcG9zaXRpb25MYXllcj4gbWFzazsKKyAgICAgICAgUmVmUHRyPENvbXBvc2l0
aW9uTGF5ZXI+IGJhY2tkcm9wTGF5ZXI7CiAKICAgICAgICAgUmVmUHRyPENvbnRlbnRMYXllcj4g
Y29udGVudExheWVyOwogICAgICAgICBSZWZQdHI8QmFja2luZ1N0b3JlPiBiYWNraW5nU3RvcmU7
CkBAIC0yNDMsNiArMjQ2LDggQEAgcHVibGljOgogCiAgICAgICAgIGlmIChwZW5kaW5nLmRlbHRh
LmZpbHRlcnNDaGFuZ2VkKQogICAgICAgICAgICAgc3RhZ2luZy5maWx0ZXJzID0gcGVuZGluZy5m
aWx0ZXJzOworICAgICAgICBpZiAocGVuZGluZy5kZWx0YS5iYWNrZHJvcEZpbHRlcnNDaGFuZ2Vk
KQorICAgICAgICAgICAgc3RhZ2luZy5iYWNrZHJvcExheWVyID0gcGVuZGluZy5iYWNrZHJvcExh
eWVyOwogICAgICAgICBpZiAocGVuZGluZy5kZWx0YS5hbmltYXRpb25zQ2hhbmdlZCkKICAgICAg
ICAgICAgIHN0YWdpbmcuYW5pbWF0aW9ucyA9IHBlbmRpbmcuYW5pbWF0aW9uczsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyLmgKaW5kZXggMmVmNmQyNDQ2ZTc5Li5iMzkzMjc0YjdjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaApA
QCAtMTEyLDYgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTWFza01vZGUgeyBmYWxz
ZSB9OwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fcGF0dGVyblRyYW5zZm9ybTsKICAgICBX
cmFwTW9kZSBtX3dyYXBNb2RlIHsgU3RyZXRjaFdyYXAgfTsKKyAgICBib29sIG1faXNCYWNrZHJv
cCB7IGZhbHNlIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCmluZGV4IGFh
MjUyYTgwNDE3OC4uNzY3NmQ2ZjhiMzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcApA
QCAtMzgsNiArMzgsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IHN1cmZh
Y2U7CiAgICAgZmxvYXQgb3BhY2l0eSB7IDEgfTsKICAgICBJbnRTaXplIG9mZnNldDsKKyAgICBU
ZXh0dXJlTWFwcGVyTGF5ZXIqIGJhY2tkcm9wTGF5ZXIgeyBudWxscHRyIH07CiB9OwogCiBUZXh0
dXJlTWFwcGVyTGF5ZXI6OlRleHR1cmVNYXBwZXJMYXllcigpID0gZGVmYXVsdDsKQEAgLTExMSw2
ICsxMTIsOCBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZVRyYW5zZm9ybXNSZWN1
cnNpdmUoKQogICAgICAgICBtX3N0YXRlLm1hc2tMYXllci0+Y29tcHV0ZVRyYW5zZm9ybXNSZWN1
cnNpdmUoKTsKICAgICBpZiAobV9zdGF0ZS5yZXBsaWNhTGF5ZXIpCiAgICAgICAgIG1fc3RhdGUu
cmVwbGljYUxheWVyLT5jb21wdXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpOworICAgIGlmIChtX3N0
YXRlLmJhY2tkcm9wTGF5ZXIpCisgICAgICAgIG1fc3RhdGUuYmFja2Ryb3BMYXllci0+Y29tcHV0
ZVRyYW5zZm9ybXNSZWN1cnNpdmUoKTsKICAgICBmb3IgKGF1dG8qIGNoaWxkIDogbV9jaGlsZHJl
bikgewogICAgICAgICBBU1NFUlQoY2hpbGQtPm1fcGFyZW50ID09IHRoaXMpOwogICAgICAgICBj
aGlsZC0+Y29tcHV0ZVRyYW5zZm9ybXNSZWN1cnNpdmUoKTsKQEAgLTIxNSw2ICsyMTgsMTkgQEAg
dm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNvcnRCeVpPcmRlcihWZWN0b3I8VGV4dHVyZU1hcHBl
ckxheWVyKiA+JiBhcnJheSkKIAogdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFu
ZENoaWxkcmVuKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCiB7Cisg
ICAgaWYgKG1fc3RhdGUuYmFja2Ryb3BMYXllciAmJiBtX3N0YXRlLmJhY2tkcm9wTGF5ZXIgPT0g
b3B0aW9ucy5iYWNrZHJvcExheWVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9zdGF0
ZS5iYWNrZHJvcExheWVyICYmICFvcHRpb25zLmJhY2tkcm9wTGF5ZXIpIHsKKyAgICAgICAgVHJh
bnNmb3JtYXRpb25NYXRyaXggY2xpcFRyYW5zZm9ybTsKKyAgICAgICAgY2xpcFRyYW5zZm9ybS50
cmFuc2xhdGUob3B0aW9ucy5vZmZzZXQud2lkdGgoKSwgb3B0aW9ucy5vZmZzZXQuaGVpZ2h0KCkp
OworICAgICAgICBjbGlwVHJhbnNmb3JtLm11bHRpcGx5KG9wdGlvbnMudHJhbnNmb3JtKTsKKyAg
ICAgICAgY2xpcFRyYW5zZm9ybS5tdWx0aXBseShtX2xheWVyVHJhbnNmb3Jtcy5jb21iaW5lZCk7
CisgICAgICAgIG9wdGlvbnMudGV4dHVyZU1hcHBlci5iZWdpbkNsaXAoY2xpcFRyYW5zZm9ybSwg
bGF5ZXJSZWN0KCkpOworICAgICAgICBtX3N0YXRlLmJhY2tkcm9wTGF5ZXItPnBhaW50UmVjdXJz
aXZlKG9wdGlvbnMpOworICAgICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXIuZW5kQ2xpcCgpOwor
ICAgIH0KKwogICAgIHBhaW50U2VsZihvcHRpb25zKTsKIAogICAgIGlmIChtX2NoaWxkcmVuLmlz
RW1wdHkoKSkKQEAgLTQyMSw3ICs0MzcsMTIgQEAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IFRleHR1
cmVNYXBwZXJMYXllcjo6cGFpbnRJbnRvU3VyZmFjZShjb25zdCBUZXh0dXJlTWFwcGVyUGEKICAg
ICBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zIHBhaW50T3B0aW9ucyhvcHRpb25zKTsKICAgICBw
YWludE9wdGlvbnMuc3VyZmFjZSA9IHN1cmZhY2U7CiAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVy
LmJpbmRTdXJmYWNlKHN1cmZhY2UuZ2V0KCkpOwotICAgIHBhaW50U2VsZkFuZENoaWxkcmVuKHBh
aW50T3B0aW9ucyk7CisgICAgaWYgKG1faXNCYWNrZHJvcCkgeworICAgICAgICBwYWludE9wdGlv
bnMuYmFja2Ryb3BMYXllciA9IHRoaXM7CisgICAgICAgIHJvb3RMYXllcigpLnBhaW50U2VsZkFu
ZENoaWxkcmVuKHBhaW50T3B0aW9ucyk7CisgICAgICAgIHBhaW50T3B0aW9ucy5iYWNrZHJvcExh
eWVyID0gbnVsbHB0cjsKKyAgICB9IGVsc2UKKyAgICAgICAgcGFpbnRTZWxmQW5kQ2hpbGRyZW4o
cGFpbnRPcHRpb25zKTsKICAgICBpZiAobV9zdGF0ZS5tYXNrTGF5ZXIpCiAgICAgICAgIG1fc3Rh
dGUubWFza0xheWVyLT5hcHBseU1hc2sob3B0aW9ucyk7CiAgICAgc3VyZmFjZSA9IHN1cmZhY2Ut
PmFwcGx5RmlsdGVycyhvcHRpb25zLnRleHR1cmVNYXBwZXIsIG1fY3VycmVudEZpbHRlcnMpOwpA
QCAtNTQ4LDYgKzU2OSwxNiBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0UmVwbGljYUxh
eWVyKFRleHR1cmVNYXBwZXJMYXllciogcmVwbGljYUxheWVyKQogICAgICAgICBtX3N0YXRlLnJl
cGxpY2FMYXllciA9IG51bGxwdHI7CiB9CiAKK3ZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzZXRC
YWNrZHJvcExheWVyKFRleHR1cmVNYXBwZXJMYXllciogYmFja2Ryb3BMYXllcikKK3sKKyAgICBp
ZiAoYmFja2Ryb3BMYXllcikgeworICAgICAgICBiYWNrZHJvcExheWVyLT5tX2lzQmFja2Ryb3Ag
PSB0cnVlOworICAgICAgICBiYWNrZHJvcExheWVyLT5tX2VmZmVjdFRhcmdldCA9IG1ha2VXZWFr
UHRyKCp0aGlzKTsKKyAgICAgICAgbV9zdGF0ZS5iYWNrZHJvcExheWVyID0gbWFrZVdlYWtQdHIo
KmJhY2tkcm9wTGF5ZXIpOworICAgIH0gZWxzZQorICAgICAgICBtX3N0YXRlLmJhY2tkcm9wTGF5
ZXIgPSBudWxscHRyOworfQorCiB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c2V0UG9zaXRpb24o
Y29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pCiB7CiAgICAgbV9zdGF0ZS5wb3MgPSBwb3NpdGlv
bjsKQEAgLTY5Miw2ICs3MjMsOCBAQCBib29sIFRleHR1cmVNYXBwZXJMYXllcjo6ZGVzY2VuZGFu
dHNPclNlbGZIYXZlUnVubmluZ0FuaW1hdGlvbnMoKSBjb25zdAogYm9vbCBUZXh0dXJlTWFwcGVy
TGF5ZXI6OmFwcGx5QW5pbWF0aW9uc1JlY3Vyc2l2ZWx5KE1vbm90b25pY1RpbWUgdGltZSkKIHsK
ICAgICBib29sIGhhc1J1bm5pbmdBbmltYXRpb25zID0gc3luY0FuaW1hdGlvbnModGltZSk7Cisg
ICAgaWYgKG1fc3RhdGUuYmFja2Ryb3BMYXllcikKKyAgICAgICAgaGFzUnVubmluZ0FuaW1hdGlv
bnMgfD0gbV9zdGF0ZS5iYWNrZHJvcExheWVyLT5zeW5jQW5pbWF0aW9ucyh0aW1lKTsKICAgICBm
b3IgKGF1dG8qIGNoaWxkIDogbV9jaGlsZHJlbikKICAgICAgICAgaGFzUnVubmluZ0FuaW1hdGlv
bnMgfD0gY2hpbGQtPmFwcGx5QW5pbWF0aW9uc1JlY3Vyc2l2ZWx5KHRpbWUpOwogICAgIHJldHVy
biBoYXNSdW5uaW5nQW5pbWF0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAppbmRleCA1NTQx
OGMwZDIwMGYuLjZkMjNlNDQ2NzliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaApAQCAtMTcs
OCArMTcsNyBAQAogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKLSNpZm5kZWYg
VGV4dHVyZU1hcHBlckxheWVyX2gKLSNkZWZpbmUgVGV4dHVyZU1hcHBlckxheWVyX2gKKyNwcmFn
bWEgb25jZQogCiAjaW5jbHVkZSAiRmlsdGVyT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkZsb2F0
UmVjdC5oIgpAQCAtNTksNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDaGlsZHJlbihj
b25zdCBWZWN0b3I8VGV4dHVyZU1hcHBlckxheWVyKj4mKTsKICAgICB2b2lkIHNldE1hc2tMYXll
cihUZXh0dXJlTWFwcGVyTGF5ZXIqKTsKICAgICB2b2lkIHNldFJlcGxpY2FMYXllcihUZXh0dXJl
TWFwcGVyTGF5ZXIqKTsKKyAgICB2b2lkIHNldEJhY2tkcm9wTGF5ZXIoVGV4dHVyZU1hcHBlckxh
eWVyKik7CiAgICAgdm9pZCBzZXRQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jik7CiAgICAgdm9p
ZCBzZXRCb3VuZHNPcmlnaW4oY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZvaWQgc2V0U2l6ZShj
b25zdCBGbG9hdFNpemUmKTsKQEAgLTEwNywxMyArMTA3LDEzIEBAIHB1YmxpYzoKICAgICB2b2lk
IGFkZENoaWxkKFRleHR1cmVNYXBwZXJMYXllciopOwogCiBwcml2YXRlOgotICAgIGNvbnN0IFRl
eHR1cmVNYXBwZXJMYXllciYgcm9vdExheWVyKCkgY29uc3QKKyAgICBUZXh0dXJlTWFwcGVyTGF5
ZXImIHJvb3RMYXllcigpIGNvbnN0CiAgICAgewogICAgICAgICBpZiAobV9lZmZlY3RUYXJnZXQp
CiAgICAgICAgICAgICByZXR1cm4gbV9lZmZlY3RUYXJnZXQtPnJvb3RMYXllcigpOwogICAgICAg
ICBpZiAobV9wYXJlbnQpCiAgICAgICAgICAgICByZXR1cm4gbV9wYXJlbnQtPnJvb3RMYXllcigp
OwotICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgICAgIHJldHVybiBjb25zdF9jYXN0PFRleHR1
cmVNYXBwZXJMYXllciY+KCp0aGlzKTsKICAgICB9CiAgICAgdm9pZCBjb21wdXRlVHJhbnNmb3Jt
c1JlY3Vyc2l2ZSgpOwogCkBAIC0xNzAsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgRmxv
YXRSb3VuZGVkUmVjdCBjb250ZW50c0NsaXBwaW5nUmVjdDsKICAgICAgICAgV2Vha1B0cjxUZXh0
dXJlTWFwcGVyTGF5ZXI+IG1hc2tMYXllcjsKICAgICAgICAgV2Vha1B0cjxUZXh0dXJlTWFwcGVy
TGF5ZXI+IHJlcGxpY2FMYXllcjsKKyAgICAgICAgV2Vha1B0cjxUZXh0dXJlTWFwcGVyTGF5ZXI+
IGJhY2tkcm9wTGF5ZXI7CiAgICAgICAgIENvbG9yIHNvbGlkQ29sb3I7CiAgICAgICAgIEZpbHRl
ck9wZXJhdGlvbnMgZmlsdGVyczsKICAgICAgICAgQ29sb3IgZGVidWdCb3JkZXJDb2xvcjsKQEAg
LTIxMSw2ICsyMTIsNyBAQCBwcml2YXRlOgogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
ICAgICBSZWZQdHI8Tmljb3NpYTo6QW5pbWF0ZWRCYWNraW5nU3RvcmVDbGllbnQ+IG1fYW5pbWF0
ZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAjZW5kaWYKKyAgICBib29sIG1faXNCYWNrZHJvcCB7IGZh
bHNlIH07CiAKICAgICBzdHJ1Y3QgewogICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBsb2Nh
bFRyYW5zZm9ybTsKQEAgLTIyNCw2ICsyMjYsNCBAQCBwcml2YXRlOgogICAgIH0gbV9sYXllclRy
YW5zZm9ybXM7CiB9OwogCi19Ci0KLSNlbmRpZiAvLyBUZXh0dXJlTWFwcGVyTGF5ZXJfaAorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAppbmRleCBlNzU0Mzk0ZDRjY2MuLmQ4NzE0NzQyMDMy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5jcHAKQEAgLTg3LDYgKzg3LDE4IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyOjpkaWRDaGFuZ2VGaWx0ZXJzKCkKICAgICBub3RpZnlGbHVzaFJlcXVpcmVkKCk7CiB9CiAK
K3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkaWRDaGFuZ2VCYWNrZHJvcEZpbHRlcnMo
KQoreworICAgIG1fbmljb3NpYS5kZWx0YS5iYWNrZHJvcEZpbHRlcnNDaGFuZ2VkID0gdHJ1ZTsK
KyAgICBub3RpZnlGbHVzaFJlcXVpcmVkKCk7Cit9CisKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyOjpkaWRDaGFuZ2VCYWNrZHJvcEZpbHRlcnNSZWN0KCkKK3sKKyAgICBtX25pY29zaWEu
ZGVsdGEuYmFja2Ryb3BGaWx0ZXJzUmVjdENoYW5nZWQgPSB0cnVlOworICAgIG5vdGlmeUZsdXNo
UmVxdWlyZWQoKTsKK30KKwogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmRpZFVwZGF0
ZVRpbGVCdWZmZXJzKCkKIHsKICAgICBpZiAoIWlzU2hvd2luZ1JlcGFpbnRDb3VudGVyKCkpCkBA
IC0xMDQsNiArMTE2LDggQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldFNob3Vs
ZFVwZGF0ZVZpc2libGVSZWN0KCkKICAgICAgICAgZG93bmNhc3Q8Q29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyPihjaGlsZC5nZXQoKSkuc2V0U2hvdWxkVXBkYXRlVmlzaWJsZVJlY3QoKTsKICAgICBp
ZiAocmVwbGljYUxheWVyKCkpCiAgICAgICAgIGRvd25jYXN0PENvb3JkaW5hdGVkR3JhcGhpY3NM
YXllcj4oKnJlcGxpY2FMYXllcigpKS5zZXRTaG91bGRVcGRhdGVWaXNpYmxlUmVjdCgpOworICAg
IGlmIChtX2JhY2tkcm9wTGF5ZXIpCisgICAgICAgIG1fYmFja2Ryb3BMYXllci0+c2V0U2hvdWxk
VXBkYXRlVmlzaWJsZVJlY3QoKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6
OmRpZENoYW5nZUdlb21ldHJ5KEZsdXNoTm90aWZpY2F0aW9uIGZsdXNoTm90aWZpY2F0aW9uKQpA
QCAtMzUzLDYgKzM2Nyw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRDb250
ZW50c1Zpc2libGUoYm9vbCBiKQogICAgIGlmIChtYXNrTGF5ZXIoKSkKICAgICAgICAgbWFza0xh
eWVyKCktPnNldENvbnRlbnRzVmlzaWJsZShiKTsKIAorICAgIGlmIChtX2JhY2tkcm9wTGF5ZXIp
CisgICAgICAgIG1fYmFja2Ryb3BMYXllci0+c2V0Q29udGVudHNWaXNpYmxlKGIpOworCiAgICAg
bm90aWZ5Rmx1c2hSZXF1aXJlZCgpOwogfQogCkBAIC01MDEsNiArNTE4LDMxIEBAIGJvb2wgQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRGaWx0ZXJzKGNvbnN0IEZpbHRlck9wZXJhdGlvbnMm
IG5ld0ZpbHRlcnMpCiAgICAgcmV0dXJuIGNhbkNvbXBvc2l0ZUZpbHRlcnM7CiB9CiAKK2Jvb2wg
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRCYWNrZHJvcEZpbHRlcnMoY29uc3QgRmlsdGVy
T3BlcmF0aW9ucyYgZmlsdGVycykKK3sKKyAgICBib29sIGNhbkNvbXBvc2l0ZUZpbHRlcnMgPSBm
aWx0ZXJzQ2FuQmVDb21wb3NpdGVkKGZpbHRlcnMpOworICAgIGlmIChtX2JhY2tkcm9wRmlsdGVy
cyA9PSBmaWx0ZXJzKQorICAgICAgICByZXR1cm4gY2FuQ29tcG9zaXRlRmlsdGVyczsKKworICAg
IGlmIChjYW5Db21wb3NpdGVGaWx0ZXJzKSB7CisgICAgICAgIGlmICghR3JhcGhpY3NMYXllcjo6
c2V0QmFja2Ryb3BGaWx0ZXJzKGZpbHRlcnMpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0gZWxzZQorICAgICAgICBjbGVhckJhY2tkcm9wRmlsdGVycygpOworICAgIGRpZENoYW5n
ZUJhY2tkcm9wRmlsdGVycygpOworCisgICAgcmV0dXJuIGNhbkNvbXBvc2l0ZUZpbHRlcnM7Cit9
CisKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRCYWNrZHJvcEZpbHRlcnNSZWN0
KGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIGJhY2tkcm9wRmlsdGVyc1JlY3QpCit7CisgICAgaWYg
KG1fYmFja2Ryb3BGaWx0ZXJzUmVjdCA9PSBiYWNrZHJvcEZpbHRlcnNSZWN0KQorICAgICAgICBy
ZXR1cm47CisKKyAgICBHcmFwaGljc0xheWVyOjpzZXRCYWNrZHJvcEZpbHRlcnNSZWN0KGJhY2tk
cm9wRmlsdGVyc1JlY3QpOworICAgIGRpZENoYW5nZUJhY2tkcm9wRmlsdGVyc1JlY3QoKTsKK30K
Kwogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzVG9Tb2xpZENvbG9y
KGNvbnN0IENvbG9yJiBjb2xvcikKIHsKICAgICBpZiAobV9zb2xpZENvbG9yID09IGNvbG9yKQpA
QCAtNjQyLDYgKzY4NCw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpmbHVzaENv
bXBvc2l0aW5nU3RhdGUoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogCiAgICAgZmx1c2hDb21wb3Np
dGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwogCisgICAgaWYgKG1fYmFja2Ryb3BMYXllcikK
KyAgICAgICAgbV9iYWNrZHJvcExheWVyLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5
ZXJPbmx5KCk7CisKICAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW4oKSkKICAgICAgICAg
Y2hpbGQtPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZShyZWN0KTsKIH0KQEAgLTg4Myw2ICs5MjgsMzEg
QEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZv
clRoaXNMYXllck9ubHkoKQogCiAgICAgICAgICAgICAgICAgaWYgKGxvY2FsRGVsdGEuZmlsdGVy
c0NoYW5nZWQpCiAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmZpbHRlcnMgPSBmaWx0ZXJzKCk7
CisKKyAgICAgICAgICAgICAgICBib29sIG1hZGVCYWNrZHJvcExheWVyID0gZmFsc2U7CisgICAg
ICAgICAgICAgICAgaWYgKGxvY2FsRGVsdGEuYmFja2Ryb3BGaWx0ZXJzQ2hhbmdlZCB8fCBuZWVk
c0JhY2tkcm9wKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFuZWVkc0JhY2tkcm9wKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fYmFja2Ryb3BMYXllciA9IG51bGxwdHI7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5iYWNrZHJvcExheWVyID0gbnVsbHB0cjsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChsb2NhbERlbHRhLmJhY2tkcm9wRmlsdGVyc0No
YW5nZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9iYWNrZHJvcExheWVyKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFkZUJhY2tkcm9wTGF5ZXIgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fYmFja2Ryb3BMYXllciA9IGFkb3B0UmVmKCpu
ZXcgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKFR5cGU6Ok5vcm1hbCwgY2xpZW50KCkpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2JhY2tkcm9wTGF5ZXItPnNldEFuY2hvclBvaW50
KEZsb2F0UG9pbnQzRCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2JhY2tkcm9w
TGF5ZXItPnNldE1hc2tzVG9Cb3VuZHModHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9iYWNrZHJvcExheWVyLT5zZXROYW1lKCJiYWNrZHJvcCIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fYmFja2Ryb3BMYXllci0+c2V0Q29vcmRpbmF0b3JJbmNsdWRpbmdTdWJM
YXllcnNJZk5lZWRlZChtX2Nvb3JkaW5hdG9yKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgICAgIG1fYmFja2Ryb3BMYXllci0+c2V0Q29udGVudHNWaXNp
YmxlKG1fY29udGVudHNWaXNpYmxlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fYmFja2Ry
b3BMYXllci0+c2V0RmlsdGVycyhtX2JhY2tkcm9wRmlsdGVycyk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0ZS5iYWNrZHJvcExheWVyID0gbV9iYWNrZHJvcExheWVyLT5tX25pY29zaWEu
bGF5ZXI7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgaWYgKChsb2NhbERlbHRhLmJhY2tkcm9wRmlsdGVyc1JlY3RDaGFuZ2VkICYmIG1f
YmFja2Ryb3BMYXllcikgfHwgbWFkZUJhY2tkcm9wTGF5ZXIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgbV9iYWNrZHJvcExheWVyLT5zZXRTaXplKG1fYmFja2Ryb3BGaWx0ZXJzUmVjdC5yZWN0KCku
c2l6ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9iYWNrZHJvcExheWVyLT5zZXRQb3NpdGlv
bihtX2JhY2tkcm9wRmlsdGVyc1JlY3QucmVjdCgpLmxvY2F0aW9uKCkpOworICAgICAgICAgICAg
ICAgIH0KKwogICAgICAgICAgICAgICAgIGlmIChsb2NhbERlbHRhLmFuaW1hdGlvbnNDaGFuZ2Vk
KQogICAgICAgICAgICAgICAgICAgICBzdGF0ZS5hbmltYXRpb25zID0gbV9hbmltYXRpb25zOwog
CkBAIC05NDEsNiArMTAxMSw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzeW5j
UGVuZGluZ1N0YXRlQ2hhbmdlc0luY2x1ZGluZ1N1YkxheWVycygpCiAgICAgaWYgKG1hc2tMYXll
cigpKQogICAgICAgICBkb3duY2FzdDxDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI+KCptYXNrTGF5
ZXIoKSkuc3luY1BlbmRpbmdTdGF0ZUNoYW5nZXNJbmNsdWRpbmdTdWJMYXllcnMoKTsKIAorICAg
IGlmIChtX2JhY2tkcm9wTGF5ZXIpCisgICAgICAgIG1fYmFja2Ryb3BMYXllci0+c3luY1BlbmRp
bmdTdGF0ZUNoYW5nZXNJbmNsdWRpbmdTdWJMYXllcnMoKTsKKwogICAgIGZvciAoYXV0byYgY2hp
bGQgOiBjaGlsZHJlbigpKQogICAgICAgICBkb3duY2FzdDxDb29yZGluYXRlZEdyYXBoaWNzTGF5
ZXI+KGNoaWxkLmdldCgpKS5zeW5jUGVuZGluZ1N0YXRlQ2hhbmdlc0luY2x1ZGluZ1N1YkxheWVy
cygpOwogfQpAQCAtMTI4Miw3ICsxMzU1LDE2IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwKICAg
ICBpZiAoIWFuaW0gfHwgYW5pbS0+aXNFbXB0eU9yWmVyb0R1cmF0aW9uKCkgfHwgdmFsdWVMaXN0
LnNpemUoKSA8IDIgfHwgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpICE9IEFuaW1hdGVkUHJvcGVydHlU
cmFuc2Zvcm0gJiYgdmFsdWVMaXN0LnByb3BlcnR5KCkgIT0gQW5pbWF0ZWRQcm9wZXJ0eU9wYWNp
dHkgJiYgdmFsdWVMaXN0LnByb3BlcnR5KCkgIT0gQW5pbWF0ZWRQcm9wZXJ0eUZpbHRlcikpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICh2YWx1ZUxpc3QucHJvcGVydHkoKSA9PSBB
bmltYXRlZFByb3BlcnR5RmlsdGVyKSB7CisgICAgYXV0byBpc0ZpbHRlclByb3BlcnR5ID0gWyZd
KCkgLT4gYm9vbCB7CisgICAgICAgIGlmICh2YWx1ZUxpc3QucHJvcGVydHkoKSA9PSBBbmltYXRl
ZFByb3BlcnR5RmlsdGVyKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisjaWYgRU5BQkxFKEZJ
TFRFUlNfTEVWRUxfMikKKyAgICAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1h
dGVkUHJvcGVydHlXZWJraXRCYWNrZHJvcEZpbHRlcikKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworI2VuZGlmCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9OworICAgIGlmIChpc0ZpbHRl
clByb3BlcnR5KCkpIHsKICAgICAgICAgaW50IGxpc3RJbmRleCA9IHZhbGlkYXRlRmlsdGVyT3Bl
cmF0aW9ucyh2YWx1ZUxpc3QpOwogICAgICAgICBpZiAobGlzdEluZGV4IDwgMCkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTEzNTEsNiArMTQzMywyNiBAQCBQbGF0Zm9ybUxheWVyKiBD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogfQogI2VuZGlm
CiAKK3N0YXRpYyB2b2lkIGR1bXBJbm5lckxheWVyKFRleHRTdHJlYW0mIHRleHRTdHJlYW0sIGNv
bnN0IFN0cmluZyYgbGFiZWwsIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciogbGF5ZXIsIExheWVy
VHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQoreworICAgIGlmICghbGF5ZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIHRleHRTdHJlYW0gPDwgaW5kZW50IDw8ICIoIiA8PCBsYWJlbCA8PCAi
ICI7CisgICAgaWYgKGJlaGF2aW9yICYgTGF5ZXJUcmVlQXNUZXh0RGVidWcpCisgICAgICAgIHRl
eHRTdHJlYW0gPDwgIiAiIDw8IHN0YXRpY19jYXN0PHZvaWQqPihsYXllcik7CisgICAgdGV4dFN0
cmVhbSA8PCBsYXllci0+Ym91bmRzT3JpZ2luKCkueCgpIDw8ICIsICIgPDwgbGF5ZXItPmJvdW5k
c09yaWdpbigpLnkoKSA8PCAiICIgPDwgbGF5ZXItPnNpemUoKS53aWR0aCgpIDw8ICIgeCAiIDw8
IGxheWVyLT5zaXplKCkuaGVpZ2h0KCk7CisgICAgaWYgKCFsYXllci0+Y29udGVudHNBcmVWaXNp
YmxlKCkpCisgICAgICAgIHRleHRTdHJlYW0gPDwgIiBoaWRkZW4iOworICAgIHRleHRTdHJlYW0g
PDwgIilcbiI7Cit9CisKK3ZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpkdW1wQWRkaXRp
b25hbFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdGV4dFN0cmVhbSwgTGF5ZXJUcmVlQXNUZXh0QmVo
YXZpb3IgYmVoYXZpb3IpIGNvbnN0Cit7CisgICAgaWYgKGJlaGF2aW9yICYgTGF5ZXJUcmVlQXNU
ZXh0SW5jbHVkZUNvbnRlbnRMYXllcnMpCisgICAgICAgIGR1bXBJbm5lckxheWVyKHRleHRTdHJl
YW0sICJiYWNrZHJvcCBsYXllciIsIG1fYmFja2Ryb3BMYXllci5nZXQoKSwgYmVoYXZpb3IpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQU5J
TUFURURCQUNLSU5HU1RPUkVDTElFTlQoV2ViQ29yZTo6Q29vcmRpbmF0ZWRBbmltYXRlZEJhY2tp
bmdTdG9yZUNsaWVudCwgdHlwZSgpID09IE5pY29zaWE6OkFuaW1hdGVkQmFja2luZ1N0b3JlQ2xp
ZW50OjpUeXBlOjpDb29yZGluYXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAppbmRleCAxZDM0YTA0N2Y4MTEuLmU2M2I0OGE4MGFl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuaApAQCAtMTgsOCArMTgsNyBAQAogICovCiAKIAotI2lmbmRlZiBDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXJfaAotI2RlZmluZSBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJfaAorI3ByYWdt
YSBvbmNlCiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKQEAgLTEwNiwxMiArMTA1
LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIGZsdXNoQ29tcG9zaXRpbmdTdGF0ZShjb25zdCBGbG9h
dFJlY3QmKSBvdmVycmlkZTsKICAgICB2b2lkIGZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNM
YXllck9ubHkoKSBvdmVycmlkZTsKICAgICBib29sIHNldEZpbHRlcnMoY29uc3QgRmlsdGVyT3Bl
cmF0aW9ucyYpIG92ZXJyaWRlOworICAgIGJvb2wgc2V0QmFja2Ryb3BGaWx0ZXJzKGNvbnN0IEZp
bHRlck9wZXJhdGlvbnMmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldEJhY2tkcm9wRmlsdGVyc1Jl
Y3QoY29uc3QgRmxvYXRSb3VuZGVkUmVjdCYpIG92ZXJyaWRlOwogICAgIGJvb2wgYWRkQW5pbWF0
aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiwgY29uc3QgRmxvYXRTaXplJiwgY29uc3QgQW5p
bWF0aW9uKiwgY29uc3QgU3RyaW5nJiwgZG91YmxlKSBvdmVycmlkZTsKICAgICB2b2lkIHBhdXNl
QW5pbWF0aW9uKGNvbnN0IFN0cmluZyYsIGRvdWJsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW1v
dmVBbmltYXRpb24oY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdXNwZW5kQW5p
bWF0aW9ucyhNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIHJlc3VtZUFuaW1hdGlv
bnMoKSBvdmVycmlkZTsKICAgICBib29sIHVzZXNDb250ZW50c0xheWVyKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgdm9pZCBkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMoV1RGOjpUZXh0U3RyZWFtJiwg
TGF5ZXJUcmVlQXNUZXh0QmVoYXZpb3IpIGNvbnN0IG92ZXJyaWRlOwogCiAjaWYgVVNFKE5JQ09T
SUEpCiAgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtMTczLDYgKzE3NSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRDaGFuZ2VHZW9tZXRyeShG
bHVzaE5vdGlmaWNhdGlvbiA9IEZsdXNoTm90aWZpY2F0aW9uOjpSZXF1aXJlZCk7CiAgICAgdm9p
ZCBkaWRDaGFuZ2VDaGlsZHJlbigpOwogICAgIHZvaWQgZGlkQ2hhbmdlRmlsdGVycygpOworICAg
IHZvaWQgZGlkQ2hhbmdlQmFja2Ryb3BGaWx0ZXJzKCk7CisgICAgdm9pZCBkaWRDaGFuZ2VCYWNr
ZHJvcEZpbHRlcnNSZWN0KCk7CiAgICAgdm9pZCBkaWRVcGRhdGVUaWxlQnVmZmVycygpOwogCiAg
ICAgdm9pZCBjb21wdXRlVHJhbnNmb3JtZWRWaXNpYmxlUmVjdCgpOwpAQCAtMjQwLDYgKzI0NCw3
IEBAIHByaXZhdGU6CiAgICAgfSBtX25pY29zaWE7CiAKICAgICBSZWZQdHI8QW5pbWF0ZWRCYWNr
aW5nU3RvcmVIb3N0PiBtX2FuaW1hdGVkQmFja2luZ1N0b3JlSG9zdDsKKyAgICBSZWZQdHI8Q29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyPiBtX2JhY2tkcm9wTGF5ZXI7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkBAIC0yNDcsNSArMjUyLDMgQEAgcHJpdmF0ZToKIFNQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfR1JBUEhJQ1NMQVlFUihXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIs
IGlzQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKCkpCiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCi0KLSNlbmRpZiAvLyBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2M2NkZDJhYTdiNGEuLjUwNjdmYWE0ZmFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMC0wNy0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0dUS11bV1BFXSBTdXBwb3J0IGZvciBiYWNrZHJvcC1maWx0ZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTk4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCB0aGUgYmFj
a2Ryb3AgbGF5ZXIgaWYgY2hhbmdlZCB3aGVuIHVwZGF0aW5nIHRoZSBzY2VuZSBzdGF0ZS4KKwor
ICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6dXBk
YXRlU2NlbmVTdGF0ZSk6CisKIDIwMjAtMDctMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gSVRQOiB1c2UgdGhlIGRhdGFi
YXNlIHN0b3JlIHVuY29uZGl0aW9uYWxseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuY3BwCmluZGV4IDg0ODcyZWQyYjdjNS4uYzZlMzNhMTY3NmY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0zMDQsNiArMzA0LDggQEAgdm9pZCBD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnVwZGF0ZVNjZW5lU3RhdGUoKQogCiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAobGF5ZXJTdGF0ZS5kZWx0YS5maWx0ZXJzQ2hhbmdlZCkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsYXllci5zZXRGaWx0ZXJzKGxheWVyU3RhdGUuZmlsdGVy
cyk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5ZXJTdGF0ZS5kZWx0YS5iYWNrZHJv
cEZpbHRlcnNDaGFuZ2VkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLnNldEJh
Y2tkcm9wTGF5ZXIobGF5ZXJTdGF0ZS5iYWNrZHJvcExheWVyID8gJnRleG1hcExheWVyKCpsYXll
clN0YXRlLmJhY2tkcm9wTGF5ZXIpIDogbnVsbHB0cik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAobGF5ZXJTdGF0ZS5kZWx0YS5hbmltYXRpb25zQ2hhbmdlZCkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsYXllci5zZXRBbmltYXRpb25zKGxheWVyU3RhdGUuYW5pbWF0aW9ucyk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggMTc1NGRkM2JhOThkLi5lNjQwMTc3ODgzNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFr
ZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0xNzYsNiArMTc2LDcgQEAgV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RBUktfTU9ERV9DU1MgUFJJVkFURSBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UIFBSSVZBVEUg
T04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRE9XTkxPQURfQVRU
UklCVVRFIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfRU5DUllQVEVEX01FRElBIFBSSVZBVEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
fSkKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9G
VFBESVIgUFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfR0FNRVBBRCBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9HUFVfUFJPQ0VTUyBQUklWQVRFICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJF
U30pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZSBiL1NvdXJjZS9j
bWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4IDViYWZkYzVkN2NlNC4uYzMyYmM2MWMzNTk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZQorKysgYi9Tb3VyY2UvY21h
a2UvT3B0aW9uc1dQRS5jbWFrZQpAQCAtNjEsNiArNjEsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TIFBSSVZBVEUgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUyBQ
UklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19Q
QUlOVElOR19BUEkgUFJJVkFURSAke0VOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVN9KQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19UWVBFRF9PTSBQUklWQVRF
ICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFU30pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfRklMVEVSU19MRVZFTF8yIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfR1BVX1BST0NFU1MgUFJJVkFURSAke0VOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVN9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQgUFJJVkFURSAke0VOQUJMRV9FWFBF
UklNRU5UQUxfRkVBVFVSRVN9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX01FRElBX1NUUkVBTSBQUklWQVRFICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFU30p
Cg==
</data>
<flag name="review"
          id="420533"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>