<?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>210469</bug_id>
          
          <creation_ts>2020-04-13 17:08:37 -0700</creation_ts>
          <short_desc>Scroll snap specified on :root doesn&apos;t work</short_desc>
          <delta_ts>2020-11-06 01:45:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>Safari Technology Preview</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=200643</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=210476</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>218115</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cathiechen</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1641184</commentid>
    <comment_count>0</comment_count>
      <attachid>396361</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 17:08:37 -0700</bug_when>
    <thetext>Created attachment 396361
test

This doesn&apos;t work:

        :root {
            scroll-snap-type: mandatory;
            margin: 20px;
        }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641185</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-13 17:09:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/61746676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641251</commentid>
    <comment_count>2</comment_count>
      <attachid>396380</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 22:19:06 -0700</bug_when>
    <thetext>Created attachment 396380
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641252</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 22:22:24 -0700</bug_when>
    <thetext>Cathie or Frederic, feel free to pick this up.

I&apos;m a bit concerned about ignoring scroll-snap style on the body for compat reasons (bug 200643), but I think it&apos;s important to make it work on :root { } and html { }.

The element argument passed to updateSnapOffsetsForScrollableArea is pretty suspect, and we should certainly not be using the body&apos;s geometry.

Tests should include an example where the body is independently scrollable from the document (overflow:scroll style on the body).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704942</commentid>
    <comment_count>4</comment_count>
      <attachid>413329</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-05 11:14:33 -0800</bug_when>
    <thetext>Created attachment 413329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704945</commentid>
    <comment_count>5</comment_count>
      <attachid>413330</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-05 11:16:10 -0800</bug_when>
    <thetext>Created attachment 413330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704963</commentid>
    <comment_count>6</comment_count>
      <attachid>413330</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-05 11:58:59 -0800</bug_when>
    <thetext>Comment on attachment 413330
Patch

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

&gt; Source/WebCore/page/scrolling/AxisScrollSnapOffsets.cpp:166
&gt; +    const HashSet&lt;const RenderBox*&gt;&amp; boxesWithScrollSnapPositions = scrollingElementBox.view().boxesWithScrollSnapPositions();

auto

&gt; Source/WebCore/rendering/RenderLayer.cpp:3595
&gt; +    updateSnapOffsetsForScrollableArea(*this, *box, box-&gt;style(), box-&gt;paddingBoxRect());

Does paddingBoxRect() do the right thing if scrollbars are visible? (e.g. bottom snap with vertical and horizontal scrollbar)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705155</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-06 00:58:54 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #6)

Thanks for the review.

&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:3595
&gt; &gt; +    updateSnapOffsetsForScrollableArea(*this, *box, box-&gt;style(), box-&gt;paddingBoxRect());
&gt; 
&gt; Does paddingBoxRect() do the right thing if scrollbars are visible? (e.g.
&gt; bottom snap with vertical and horizontal scrollbar)?

It seems like this is working properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705159</commentid>
    <comment_count>8</comment_count>
      <attachid>413411</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-06 01:01:00 -0800</bug_when>
    <thetext>Created attachment 413411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705172</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-06 01:45:00 -0800</bug_when>
    <thetext>Committed r269506: &lt;https://trac.webkit.org/changeset/269506&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413411.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>396361</attachid>
            <date>2020-04-13 17:08:37 -0700</date>
            <delta_ts>2020-04-13 17:08:37 -0700</delta_ts>
            <desc>test</desc>
            <filename>main-frame-snap.html</filename>
            <type>text/html</type>
            <size>592</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">CjwhRE9DVFlQRSBodG1sPgoKPGh0bWw+CjxoZWFkPgogICAgPHN0eWxlPgogICAgICAgIDpyb290
IHsKICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogbWFuZGF0b3J5OwogICAgICAgICAgICBt
YXJnaW46IDIwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRpdiB7CiAgICAgICAgICAg
IHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgICAgICBzY3Jv
bGwtc25hcC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJv
ZHk+CiAgICA8ZGl2IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiByZWQnPjwvZGl2PgogICAgPGRp
diBzdHlsZT0nYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4nPjwvZGl2PgogICAgPGRpdiBzdHlsZT0n
YmFja2dyb3VuZC1jb2xvcjogYmx1ZSc+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSdiYWNrZ3JvdW5k
LWNvbG9yOiBhcXVhJz48L2Rpdj4KICAgIDxkaXYgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6IHll
bGxvdyc+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhJz48
L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396380</attachid>
            <date>2020-04-13 22:19:06 -0700</date>
            <delta_ts>2020-11-05 11:14:29 -0800</delta_ts>
            <desc>Work in progress</desc>
            <filename>bug-210469-20200413221905.patch</filename>
            <type>text/plain</type>
            <size>5483</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFhNDk0NWU4YjcwMWM0
NjRkNWQyODNkMDU5YjY2NDQ0YmI4OTY3OS4uMGZhNDliM2FlMzVjOWZkMTE3ZDIxNjcxMjcxY2Fh
ZmQxODU4OGJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFNjcm9sbCBzbmFw
IHNwZWNpZmllZCBvbiA6cm9vdCBkb2Vzbid0IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDQ2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1cGRh
dGVTbmFwT2Zmc2V0cyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXhpc1Njcm9sbFNuYXBP
ZmZzZXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNsZWFyU25hcE9mZnNldHNGb3JTY3JvbGxh
YmxlQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFi
bGVBcmVhKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9BeGlzU2Nyb2xsU25hcE9mZnNldHMu
aDoKKwogMjAyMC0wNC0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgRU5BQkxFX0NVU1RPTV9TQ1JPTExCQVJTIGFuZCBkZWZpbmUgaXQgZm9y
IG1hY09TIGFuZCBmb3Igbm9uLUNvY29hIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCmluZGV4IGE0MzQ1Y2MwYzVjMGE5NTEyOWZlZThkYjAxMjQxYzIzNDM0M2UyMDIuLjY3NmQz
NzAyZTA0ZjQ0OWIzOWE4MzM5ZGRhZjBmMDQyYWVkMDc1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKQEAgLTk3LDYgKzk3LDcgQEAKICNpbmNsdWRlICJTY3JvbGxpbmdDb29yZGluYXRv
ci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgor
I2luY2x1ZGUgIlN0eWxlU2Nyb2xsU25hcFBvaW50cy5oIgogI2luY2x1ZGUgIlN0eWxlU2NvcGUu
aCIKICNpbmNsdWRlICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiVGlsZWRCYWNr
aW5nLmgiCkBAIC05MzIsMTIgKzkzMywzMiBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlU25hcE9m
ZnNldHMoKQogICAgIGlmICghZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICAvLyBGSVhNRTogU2hvdWxkIHdlIGFsbG93IHNwZWNpZnlpbmcgc25hcCBwb2ludHMgdGhy
b3VnaCA8aHRtbD4gdGFncyB0b28/Ci0gICAgSFRNTEVsZW1lbnQqIGJvZHkgPSBmcmFtZSgpLmRv
Y3VtZW50KCktPmJvZHlPckZyYW1lc2V0KCk7Ci0gICAgaWYgKCFyZW5kZXJWaWV3KCkgfHwgIWJv
ZHkgfHwgIWJvZHktPnJlbmRlcmVyKCkpCisgICAgYXV0byByZW5kZXJlclN5bGVIYXNTY3JvbGxT
bmFwID0gW10oY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgeworICAgICAgICBpZiAoIXJl
bmRlcmVyKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gcmVuZGVy
ZXItPnN0eWxlKCkuc2Nyb2xsU25hcFR5cGUoKS5zdHJpY3RuZXNzICE9IFNjcm9sbFNuYXBTdHJp
Y3RuZXNzOjpOb25lOworICAgIH07CisKKyAgICBhdXRvJiBkb2N1bWVudCA9ICpmcmFtZSgpLmRv
Y3VtZW50KCk7CisgICAgYXV0byogYm9keSA9IGRvY3VtZW50LmJvZHlPckZyYW1lc2V0KCk7Cisg
ICAgUmVuZGVyQm94KiByb290UmVuZGVyZXIgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKSA/
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJCb3goKSA6IG51bGxwdHI7CisgICAg
UmVuZGVyQm94KiBib2R5UmVuZGVyZXIgPSByb290UmVuZGVyZXIgJiYgYm9keSA/IGJvZHktPnJl
bmRlckJveCgpIDogbnVsbHB0cjsKKworICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZVRvVXNl
ID0gbnVsbHB0cjsKKyAgICBpZiAocmVuZGVyZXJTeWxlSGFzU2Nyb2xsU25hcChib2R5UmVuZGVy
ZXIpKSB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgY29uc3VsdCBzY3JvbGwt
c25hcCBvbiB0aGUgYm9keSAod2Via2l0Lm9yZy9iLzIwMDY0MykuCisgICAgICAgIHN0eWxlVG9V
c2UgPSAmYm9keVJlbmRlcmVyLT5zdHlsZSgpOworICAgIH0gZWxzZSBpZiAocmVuZGVyZXJTeWxl
SGFzU2Nyb2xsU25hcChyb290UmVuZGVyZXIpKSB7CisgICAgICAgIHN0eWxlVG9Vc2UgPSAmcm9v
dFJlbmRlcmVyLT5zdHlsZSgpOworICAgIH0KKworICAgIGlmICghc3R5bGVUb1VzZSB8fCAhYm9k
eSkgeworICAgICAgICBjbGVhclNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoKnRoaXMpOwog
ICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgdXBkYXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxl
QXJlYSgqdGhpcywgKmJvZHksICpyZW5kZXJWaWV3KCksIGJvZHktPnJlbmRlcmVyKCktPnN0eWxl
KCkpOworICAgIH0KKworICAgIC8vIEZJWE1FOiBQYXNzaW5nIGJvZHkgaXMgd3JvbmcgaGVyZS4g
dXBkYXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxlQXJlYSgpIHNob3VsZG4ndCBiZSB1c2luZyBi
b2R5IGdlb21ldHJ5IChwcm9iYWJseSBjYXVzZSBvZiB3ZWJraXQub3JnL2IvMjEwNDc2KS4KKyAg
ICB1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKCp0aGlzLCAqYm9keSwgKnJlbmRl
clZpZXcoKSwgKnN0eWxlVG9Vc2UpOwogfQogCiBib29sIEZyYW1lVmlldzo6aXNTY3JvbGxTbmFw
SW5Qcm9ncmVzcygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9BeGlzU2Nyb2xsU25hcE9mZnNldHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmNwcAppbmRleCBmODBhMTg1NDg5OGNjODRmNWQw
ZTBmNjcwYmZhZjI1MzA2MGFmMTg1Li44MmVhOTkzY2ViNzY0MTUxNWQyNzkxYzI3M2Y0MDNiOGE0
MTAzMzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9BeGlzU2Ny
b2xsU25hcE9mZnNldHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4
aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHAKQEAgLTE5NCwxMyArMTk0LDE4IEBAIHN0YXRpYyB2b2lk
IGNvbXB1dGVBeGlzUHJveGltaXR5U25hcE9mZnNldFJhbmdlcyhjb25zdCBWZWN0b3I8TGF5b3V0
VW5pdD4mIHNuYXBPCiAgICAgfQogfQogCit2b2lkIGNsZWFyU25hcE9mZnNldHNGb3JTY3JvbGxh
YmxlQXJlYShTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEpCit7CisgICAgc2Nyb2xsYWJs
ZUFyZWEuY2xlYXJIb3Jpem9udGFsU25hcE9mZnNldHMoKTsKKyAgICBzY3JvbGxhYmxlQXJlYS5j
bGVhclZlcnRpY2FsU25hcE9mZnNldHMoKTsKK30KKwogdm9pZCB1cGRhdGVTbmFwT2Zmc2V0c0Zv
clNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgSFRNTEVsZW1l
bnQmIHNjcm9sbGluZ0VsZW1lbnQsIGNvbnN0IFJlbmRlckJveCYgc2Nyb2xsaW5nRWxlbWVudEJv
eCwgY29uc3QgUmVuZGVyU3R5bGUmIHNjcm9sbGluZ0VsZW1lbnRTdHlsZSkKIHsKICAgICBhdXRv
KiBzY3JvbGxDb250YWluZXIgPSBzY3JvbGxpbmdFbGVtZW50LnJlbmRlcmVyKCk7CiAgICAgYXV0
byBzY3JvbGxTbmFwVHlwZSA9IHNjcm9sbGluZ0VsZW1lbnRTdHlsZS5zY3JvbGxTbmFwVHlwZSgp
OwogICAgIGlmICghc2Nyb2xsQ29udGFpbmVyIHx8IHNjcm9sbFNuYXBUeXBlLnN0cmljdG5lc3Mg
PT0gU2Nyb2xsU25hcFN0cmljdG5lc3M6Ok5vbmUgfHwgc2Nyb2xsQ29udGFpbmVyLT52aWV3KCku
Ym94ZXNXaXRoU2Nyb2xsU25hcFBvc2l0aW9ucygpLmlzRW1wdHkoKSkgewotICAgICAgICBzY3Jv
bGxhYmxlQXJlYS5jbGVhckhvcml6b250YWxTbmFwT2Zmc2V0cygpOwotICAgICAgICBzY3JvbGxh
YmxlQXJlYS5jbGVhclZlcnRpY2FsU25hcE9mZnNldHMoKTsKKyAgICAgICAgY2xlYXJTbmFwT2Zm
c2V0c0ZvclNjcm9sbGFibGVBcmVhKHNjcm9sbGFibGVBcmVhKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXhpc1Nj
cm9sbFNuYXBPZmZzZXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9BeGlzU2Ny
b2xsU25hcE9mZnNldHMuaAppbmRleCBlMTM5M2ZiN2I5YWE4Yzc5YjhjNzQwNGEyN2FmZjcxYjY1
M2IxZDFhLi5iZjUyMTFmMzdkOGQ2YjcyM2I0MmE2MWI2NDNmZTBjZTUzYjdiMDJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9BeGlzU2Nyb2xsU25hcE9mZnNldHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9BeGlzU2Nyb2xsU25hcE9mZnNl
dHMuaApAQCAtNDEsNiArNDEsOCBAQCBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIAogdm9pZCB1cGRh
dGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiwgSFRNTEVsZW1l
bnQmIHNjcm9sbGluZ0VsZW1lbnQsIGNvbnN0IFJlbmRlckJveCYgc2Nyb2xsaW5nRWxlbWVudEJv
eCwgY29uc3QgUmVuZGVyU3R5bGUmIHNjcm9sbGluZ0VsZW1lbnRTdHlsZSk7CiAKK3ZvaWQgY2xl
YXJTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJik7CisKIGNvbnN0
IHVuc2lnbmVkIGludmFsaWRTbmFwT2Zmc2V0SW5kZXggPSBVSU5UX01BWDsKIFdFQkNPUkVfRVhQ
T1JUIExheW91dFVuaXQgY2xvc2VzdFNuYXBPZmZzZXQoY29uc3QgVmVjdG9yPExheW91dFVuaXQ+
JiBzbmFwT2Zmc2V0cywgY29uc3QgVmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+
PiYgc25hcE9mZnNldFJhbmdlcywgTGF5b3V0VW5pdCBzY3JvbGxEZXN0aW5hdGlvbiwgZmxvYXQg
dmVsb2NpdHksIHVuc2lnbmVkJiBhY3RpdmVTbmFwSW5kZXgpOwogV0VCQ09SRV9FWFBPUlQgZmxv
YXQgY2xvc2VzdFNuYXBPZmZzZXQoY29uc3QgVmVjdG9yPGZsb2F0PiYgc25hcE9mZnNldHMsIGNv
bnN0IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5nZTxmbG9hdD4+JiBzbmFwT2Zmc2V0UmFuZ2VzLCBm
bG9hdCBzY3JvbGxEZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIHVuc2lnbmVkJiBhY3RpdmVT
bmFwSW5kZXgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413329</attachid>
            <date>2020-11-05 11:14:33 -0800</date>
            <delta_ts>2020-11-05 11:16:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210469-20201105201431.patch</filename>
            <type>text/plain</type>
            <size>42460</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlNTYzNThmNDQ1NGNk
NDI4Nzc0YTMwMTFmZTc2YzkyNTk5ZDAyMi4uNzYwY2U2OTI1ZGJjNzM1YTYxZWJiYzljZjI4MDlm
ZDQzYWIxODZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTExLTA1ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwgc25h
cCBzcGVjaWZpZWQgb24gOnJvb3QgZG9lc24ndCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxNzQ2Njc2PgorCisgICAgICAgIFByb3Blcmx5IGhhbmRsZSBzY3JvbGwtc25hcC10eXBlIG9u
IHRoZSByb290IGVsZW1lbnQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdHM6IHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC1sZWdhY3kuaHRtbAorICAg
ICAgICAgICAgICAgdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC1sZWdhY3kuaHRtbAorICAgICAgICAgICAg
ICAgdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGlt
aXR5LW1haW5mcmFtZS1sZWdhY3kuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1cGRhdGVTbmFwT2Zmc2V0cyk6IFNlbmQg
dGhlIGJvZHkgb3Igcm9vdCBlbGVtZW50IHN0eWxlIGRlcGVuZGluZworICAgICAgICBvbiB3aGVy
ZSB0aGUgc2Nyb2xsLXNuYXAgcHJvcGVydGllcyBhcmUgc2V0LCBidXQgYWx3YXlzIHVzZSB0aGUg
RnJhbWVWaWV3IHZpZXdwb3J0CisgICAgICAgIHdoZW4gY2FsY3VsYXRpbmcgZ2VvbWV0cnkgZm9y
IHNjcm9sbCBzbmFwLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zm
c2V0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFi
bGVBcmVhKTogQWNjZXB0IGEgdmlld3BvcnQgcmVjdGFuZ2xlIGZyb20gdGhlCisgICAgICAgIGNh
bGxlciBhbmQgYWxzbyBlbGltaW5hdGUgcmVkdW5kYW50IGFyZ3VtZW50IHRoYXQgd2FzIGNhdXNp
bmcgYSBiaXQgb2YgY29uZnVzaW9uLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3Jv
bGxTbmFwT2Zmc2V0cy5oOiBVcGRhdGUgdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGFibGVBcmVhOjpjbGVhclNuYXBPZmZzZXRzKTogIEFkZGVkIGEgaGVscGVyIHRvIGNsZWFyIGJv
dGggdmVydGljYWwgYW5kIGhvcml6b250YWwgc25hcCBpbmZvLgorICAgICAgICAqIHBsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFp
bmVyRm9yU25hcHBpbmcgY29uc3QpOiBSZW5hbWVkIGZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29u
dGFpbmVyCisgICAgICAgIHRvIHRoaXMgYmVjYXVzZSBub3cgaXQgaXMgb25seSB1c2VmdWwgZm9y
IHNjcm9sbCBzbmFwcGluZy4gVGhlIG9ubHkgcHJlZXhpc3RpbmcgY2FsbGVyIHdhcworICAgICAg
ICB0aGUgc2Nyb2xsIHNuYXAgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Zmlu
ZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guaDogVXBkYXRlZCBtZXRob2QgbmFtZS4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OnVwZGF0ZVNuYXBPZmZzZXRzKTogVXBkYXRlIHRvIHJlZmxlY3QgY2hhbmdlcyB0byB1cGRhdGVT
bmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjplbmNsb3NpbmdTY3Jv
bGxhYmxlQ29udGFpbmVyRm9yU25hcHBpbmcgY29uc3QpOiBBbHdheXMgcmV0dXJuIHRoZQorICAg
ICAgICBkb2N1bWVudCByb290IGFzIHRoZSBjb250YWluZXIgaW5zdGVhZCBvZiB0aGUgYm9keS4g
VGhlIGJvZHkgbmV2ZXIgY2FwdHVyZXMgc2Nyb2xsCisgICAgICAgIHNuYXAgcG9pbnRzLgorCiAy
MDIwLTExLTAyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bSUZDXSBFbXB0eSBsaW5lcyBzdGF5IGVtcHR5IGV2ZW4gd2hlbiB0aGUgaW1hZ2luYXJ5IHN0
cnV0IGlzIHByZXNlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBmNmJhNDM4ZGRk
YzU2ZDhlNDRmN2E2MjIxOWMzZDAzMDE5Mjg1ZjI4Li5hMDgzMzhmMGVhYzJiNjdjYjU4ZDdiOTE3
MGJmNTM1NWIwYTAyZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC05MTAsMTIg
KzkxMCwzMCBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlU25hcE9mZnNldHMoKQogICAgIGlmICgh
ZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBGSVhNRTogU2hv
dWxkIHdlIGFsbG93IHNwZWNpZnlpbmcgc25hcCBwb2ludHMgdGhyb3VnaCA8aHRtbD4gdGFncyB0
b28/Ci0gICAgSFRNTEVsZW1lbnQqIGJvZHkgPSBmcmFtZSgpLmRvY3VtZW50KCktPmJvZHlPckZy
YW1lc2V0KCk7Ci0gICAgaWYgKCFyZW5kZXJWaWV3KCkgfHwgIWJvZHkgfHwgIWJvZHktPnJlbmRl
cmVyKCkpCisgICAgYXV0byYgZG9jdW1lbnQgPSAqZnJhbWUoKS5kb2N1bWVudCgpOworICAgIGF1
dG8qIGRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpOworICAgIFJl
bmRlckJveCogYm9keVJlbmRlcmVyID0gZG9jdW1lbnQuYm9keU9yRnJhbWVzZXQoKSA/IGRvY3Vt
ZW50LmJvZHlPckZyYW1lc2V0KCktPnJlbmRlckJveCgpIDogbnVsbHB0cjsKKyAgICBSZW5kZXJC
b3gqIHJvb3RSZW5kZXJlciA9IGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+cmVu
ZGVyQm94KCkgOiBudWxscHRyOworICAgIGF1dG8gcmVuZGVyZXJTeWxlSGFzU2Nyb2xsU25hcCA9
IFtdKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIpIHsKKyAgICAgICAgcmV0dXJuIHJlbmRl
cmVyICYmIHJlbmRlcmVyLT5zdHlsZSgpLnNjcm9sbFNuYXBUeXBlKCkuc3RyaWN0bmVzcyAhPSBT
Y3JvbGxTbmFwU3RyaWN0bmVzczo6Tm9uZTsKKyAgICB9OworCisgICAgY29uc3QgUmVuZGVyU3R5
bGUqIHN0eWxlVG9Vc2UgPSBudWxscHRyOworICAgIGlmIChyZW5kZXJlclN5bGVIYXNTY3JvbGxT
bmFwKGJvZHlSZW5kZXJlcikpIHsKKyAgICAgICAgLy8gIFRoZSBzcGVjaWZpY2F0aW9uIGRvZXNu
J3QgYWxsb3cgc2V0dGluZyBzY3JvbGwtc25hcC10eXBlIG9uIHRoZSBib2R5LCBidXQKKyAgICAg
ICAgLy8gIHdlIGRvIHRoaXMgdG8gZW5zdXJlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGgg
YW4gZWFybGllciB2ZXJzaW9uIG9mIHRoZQorICAgICAgICAvLyAgc3BlY2lmaWNhdGlvbjogU2Vl
IHdlYmtpdC5vcmcvYi8yMDA2NDMuCisgICAgICAgIHN0eWxlVG9Vc2UgPSAmYm9keVJlbmRlcmVy
LT5zdHlsZSgpOworICAgIH0gZWxzZSBpZiAocmVuZGVyZXJTeWxlSGFzU2Nyb2xsU25hcChyb290
UmVuZGVyZXIpKQorICAgICAgICBzdHlsZVRvVXNlID0gJnJvb3RSZW5kZXJlci0+c3R5bGUoKTsK
KworICAgIGlmICghc3R5bGVUb1VzZSB8fCAhZG9jdW1lbnRFbGVtZW50KSB7CisgICAgICAgIGNs
ZWFyU25hcE9mZnNldHMoKTsKICAgICAgICAgcmV0dXJuOwotICAgIAotICAgIHVwZGF0ZVNuYXBP
ZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoKnRoaXMsICpib2R5LCAqcmVuZGVyVmlldygpLCBib2R5
LT5yZW5kZXJlcigpLT5zdHlsZSgpKTsKKyAgICB9CisKKyAgICBMYXlvdXRSZWN0IHZpZXdwb3J0
ID0gTGF5b3V0UmVjdChJbnRQb2ludCgpLCBiYXNlTGF5b3V0Vmlld3BvcnRTaXplKCkpOworICAg
IHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoKnRoaXMsICpyb290UmVuZGVyZXIs
ICpzdHlsZVRvVXNlLCB2aWV3cG9ydCk7CiB9CiAKIGJvb2wgRnJhbWVWaWV3Ojppc1Njcm9sbFNu
YXBJblByb2dyZXNzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9BeGlzU2Nyb2xsU25hcE9mZnNldHMuY3BwCmluZGV4IDY4ZDJjMDA1NDIwZjA5YzU2
MmY1Njg4ZDhmMzE5MDE2ZTA3NGY3NjYuLjFiNzc3OTVhMmY4MTFhODk1MmQ1MTY4NGU5ZmYxNjhm
ODFkMmQ4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNT
Y3JvbGxTbmFwT2Zmc2V0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
QXhpc1Njcm9sbFNuYXBPZmZzZXRzLmNwcApAQCAtMTYwLDEzICsxNjAsMTIgQEAgc3RhdGljIHZv
aWQgY29tcHV0ZUF4aXNQcm94aW1pdHlTbmFwT2Zmc2V0UmFuZ2VzKGNvbnN0IFZlY3RvcjxMYXlv
dXRVbml0PiYgc25hcE8KICAgICB9CiB9CiAKLXZvaWQgdXBkYXRlU25hcE9mZnNldHNGb3JTY3Jv
bGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEsIEhUTUxFbGVtZW50JiBz
Y3JvbGxpbmdFbGVtZW50LCBjb25zdCBSZW5kZXJCb3gmIHNjcm9sbGluZ0VsZW1lbnRCb3gsIGNv
bnN0IFJlbmRlclN0eWxlJiBzY3JvbGxpbmdFbGVtZW50U3R5bGUpCit2b2lkIHVwZGF0ZVNuYXBP
ZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBj
b25zdCBSZW5kZXJCb3gmIHNjcm9sbGluZ0VsZW1lbnRCb3gsIGNvbnN0IFJlbmRlclN0eWxlJiBz
Y3JvbGxpbmdFbGVtZW50U3R5bGUsIExheW91dFJlY3Qgdmlld3BvcnRSZWN0SW5Cb3JkZXJCb3hD
b29yZGluYXRlcykKIHsKLSAgICBhdXRvKiBzY3JvbGxDb250YWluZXIgPSBzY3JvbGxpbmdFbGVt
ZW50LnJlbmRlcmVyKCk7CiAgICAgYXV0byBzY3JvbGxTbmFwVHlwZSA9IHNjcm9sbGluZ0VsZW1l
bnRTdHlsZS5zY3JvbGxTbmFwVHlwZSgpOwotICAgIGlmICghc2Nyb2xsQ29udGFpbmVyIHx8IHNj
cm9sbFNuYXBUeXBlLnN0cmljdG5lc3MgPT0gU2Nyb2xsU25hcFN0cmljdG5lc3M6Ok5vbmUgfHwg
c2Nyb2xsQ29udGFpbmVyLT52aWV3KCkuYm94ZXNXaXRoU2Nyb2xsU25hcFBvc2l0aW9ucygpLmlz
RW1wdHkoKSkgewotICAgICAgICBzY3JvbGxhYmxlQXJlYS5jbGVhckhvcml6b250YWxTbmFwT2Zm
c2V0cygpOwotICAgICAgICBzY3JvbGxhYmxlQXJlYS5jbGVhclZlcnRpY2FsU25hcE9mZnNldHMo
KTsKKyAgICBjb25zdCBIYXNoU2V0PGNvbnN0IFJlbmRlckJveCo+JiBib3hlc1dpdGhTY3JvbGxT
bmFwUG9zaXRpb25zID0gc2Nyb2xsaW5nRWxlbWVudEJveC52aWV3KCkuYm94ZXNXaXRoU2Nyb2xs
U25hcFBvc2l0aW9ucygpOworICAgIGlmIChzY3JvbGxTbmFwVHlwZS5zdHJpY3RuZXNzID09IFNj
cm9sbFNuYXBTdHJpY3RuZXNzOjpOb25lIHx8IGJveGVzV2l0aFNjcm9sbFNuYXBQb3NpdGlvbnMu
aXNFbXB0eSgpKSB7CisgICAgICAgIHNjcm9sbGFibGVBcmVhLmNsZWFyU25hcE9mZnNldHMoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTg0LDE2ICsxODMsMTYgQEAgdm9pZCB1cGRh
dGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxl
QXJlYSwgSFRNTEVsZW0KICAgICBib29sIHNjcm9sbGVySXNSVEwgPSAhc2Nyb2xsaW5nRWxlbWVu
dEJveC5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKIAogICAgIC8vIFRoZSBib3Vu
ZHMgb2YgdGhlIHNjcm9sbGluZyBjb250YWluZXIncyBzbmFwIHBvcnQsIHdoZXJlIHRoZSB0b3Ag
bGVmdCBvZiB0aGUgc2Nyb2xsaW5nIGNvbnRhaW5lcidzIGJvcmRlciBib3ggaXMgdGhlIG9yaWdp
bi4KLSAgICBhdXRvIHNjcm9sbFNuYXBQb3J0ID0gY29tcHV0ZVNjcm9sbFNuYXBQb3J0T3JBcmVh
UmVjdChzY3JvbGxpbmdFbGVtZW50Qm94LnBhZGRpbmdCb3hSZWN0KCksIHNjcm9sbGluZ0VsZW1l
bnRTdHlsZS5zY3JvbGxQYWRkaW5nKCksIEluc2V0T3JPdXRzZXQ6Okluc2V0KTsKKyAgICBhdXRv
IHNjcm9sbFNuYXBQb3J0ID0gY29tcHV0ZVNjcm9sbFNuYXBQb3J0T3JBcmVhUmVjdCh2aWV3cG9y
dFJlY3RJbkJvcmRlckJveENvb3JkaW5hdGVzLCBzY3JvbGxpbmdFbGVtZW50U3R5bGUuc2Nyb2xs
UGFkZGluZygpLCBJbnNldE9yT3V0c2V0OjpJbnNldCk7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNj
cm9sbFNuYXAsIHN0cmVhbSA8PCAiQ29tcHV0aW5nIHNjcm9sbCBzbmFwIG9mZnNldHMgZm9yICIg
PDwgc2Nyb2xsYWJsZUFyZWEgPDwgIiBpbiBzbmFwIHBvcnQgIiA8PCBzY3JvbGxTbmFwUG9ydCk7
Ci0gICAgZm9yIChhdXRvKiBjaGlsZCA6IHNjcm9sbENvbnRhaW5lci0+dmlldygpLmJveGVzV2l0
aFNjcm9sbFNuYXBQb3NpdGlvbnMoKSkgewotICAgICAgICBpZiAoY2hpbGQtPmVuY2xvc2luZ1Nj
cm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpICE9IHNjcm9sbENvbnRhaW5lcikKKyAgICBm
b3IgKGF1dG8qIGNoaWxkIDogYm94ZXNXaXRoU2Nyb2xsU25hcFBvc2l0aW9ucykgeworICAgICAg
ICBpZiAoY2hpbGQtPmVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpICE9
ICZzY3JvbGxpbmdFbGVtZW50Qm94KQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAg
Ly8gVGhlIGJvdW5kcyBvZiB0aGUgY2hpbGQgZWxlbWVudCdzIHNuYXAgYXJlYSwgd2hlcmUgdGhl
IHRvcCBsZWZ0IG9mIHRoZSBzY3JvbGxpbmcgY29udGFpbmVyJ3MgYm9yZGVyIGJveCBpcyB0aGUg
b3JpZ2luLgogICAgICAgICAvLyBUaGUgc25hcCBhcmVhIGlzIHRoZSBib3VuZGluZyBib3ggb2Yg
dGhlIGNoaWxkIGVsZW1lbnQncyBib3JkZXIgYm94LCBhZnRlciBhcHBseWluZyB0cmFuc2Zvcm1h
dGlvbnMuCiAgICAgICAgIC8vIEZJWE1FOiBGb3Igbm93LCBqdXN0IGNvbnNpZGVyIHdoZXRoZXIg
dGhlIHNjcm9sbGVyIGlzIFJUTC4gVGhlIGJlaGF2aW9yIG9mIExUUiBib3hlcyBpbnNpZGUgYSBS
VEwgc2Nyb2xsZXIgaXMgcG9vcmx5IGRlZmluZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nz
d2ctZHJhZnRzL2lzc3Vlcy81MzYxLgotICAgICAgICBhdXRvIHNjcm9sbFNuYXBBcmVhID0gTGF5
b3V0UmVjdChjaGlsZC0+bG9jYWxUb0NvbnRhaW5lclF1YWQoRmxvYXRRdWFkKGNoaWxkLT5ib3Jk
ZXJCb3VuZGluZ0JveCgpKSwgc2Nyb2xsaW5nRWxlbWVudC5yZW5kZXJCb3goKSkuYm91bmRpbmdC
b3goKSk7CisgICAgICAgIGF1dG8gc2Nyb2xsU25hcEFyZWEgPSBMYXlvdXRSZWN0KGNoaWxkLT5s
b2NhbFRvQ29udGFpbmVyUXVhZChGbG9hdFF1YWQoY2hpbGQtPmJvcmRlckJvdW5kaW5nQm94KCkp
LCAmc2Nyb2xsaW5nRWxlbWVudEJveCkuYm91bmRpbmdCb3goKSk7CiAKICAgICAgICAgLy8gbG9j
YWxUb0NvbnRhaW5lclF1YWQgd2lsbCB0cmFuc2Zvcm0gdGhlIHNjcm9sbCBzbmFwIGFyZWEgYnkg
dGhlIHNjcm9sbCBwb3NpdGlvbiwgZXhjZXB0IGluIHRoZSBjYXNlIHRoYXQgdGhpcyBwb3NpdGlv
biBpcwogICAgICAgICAvLyBjb21pbmcgZnJvbSBhIFNjcm9sbFZpZXcuIFdlIHdhbnQgdGhlIHRy
YW5zZm9ybWVkIGFyZWEsIGJ1dCB3aXRob3V0IHNjcm9sbCBwb3NpdGlvbiB0YWtlbiBpbnRvIGFj
Y291bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9BeGlzU2Ny
b2xsU25hcE9mZnNldHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3Jv
bGxTbmFwT2Zmc2V0cy5oCmluZGV4IGUxMzkzZmI3YjlhYThjNzliOGM3NDA0YTI3YWZmNzFiNjUz
YjFkMWEuLmJkYjY4YWViZDQwMjdhMTJlMThlYTVkNzk0MDc5ZjdhOWIwODI2NGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0
cy5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogCisj
aW5jbHVkZSAiTGF5b3V0UmVjdC5oIgogI2luY2x1ZGUgIkxheW91dFVuaXQuaCIKICNpbmNsdWRl
ICJTY3JvbGxTbmFwT2Zmc2V0c0luZm8uaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgpAQCAt
MzksNyArNDAsMTAgQEAgY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyU3R5bGU7CiBjbGFz
cyBTY3JvbGxhYmxlQXJlYTsKIAotdm9pZCB1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVB
cmVhKFNjcm9sbGFibGVBcmVhJiwgSFRNTEVsZW1lbnQmIHNjcm9sbGluZ0VsZW1lbnQsIGNvbnN0
IFJlbmRlckJveCYgc2Nyb2xsaW5nRWxlbWVudEJveCwgY29uc3QgUmVuZGVyU3R5bGUmIHNjcm9s
bGluZ0VsZW1lbnRTdHlsZSk7CisvLyBVcGRhdGUgdGhlIHNuYXAgb2Zmc2V0cyBmb3IgdGhpcyBz
Y3JvbGxhYmxlIGFyZWEsIGdpdmVuIHRoZSBSZW5kZXJCb3ggb2YgdGhlIHNjcm9sbCBjb250YWlu
ZXIsIHRoZSBSZW5kZXJTdHlsZQorLy8gd2hpY2ggZGVmaW5lcyB0aGUgc2Nyb2xsLXNuYXAgcHJv
cGVydGllcywgYW5kIHRoZSB2aWV3cG9ydCByZWN0YW5nbGUgd2l0aCB0aGUgb3JpZ2luIGF0IHRo
ZSB0b3AgbGVmdCBvZgorLy8gdGhlIHNjcm9sbGluZyBjb250YWluZXIncyBib3JkZXIgYm94Lgor
dm9pZCB1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiwg
Y29uc3QgUmVuZGVyQm94JiBzY3JvbGxpbmdFbGVtZW50Qm94LCBjb25zdCBSZW5kZXJTdHlsZSYg
c2Nyb2xsaW5nRWxlbWVudFN0eWxlLCBMYXlvdXRSZWN0IHZpZXdwb3J0UmVjdEluQm9yZGVyQm94
Q29vcmRpbmF0ZXMpOwogCiBjb25zdCB1bnNpZ25lZCBpbnZhbGlkU25hcE9mZnNldEluZGV4ID0g
VUlOVF9NQVg7CiBXRUJDT1JFX0VYUE9SVCBMYXlvdXRVbml0IGNsb3Nlc3RTbmFwT2Zmc2V0KGNv
bnN0IFZlY3RvcjxMYXlvdXRVbml0PiYgc25hcE9mZnNldHMsIGNvbnN0IFZlY3RvcjxTY3JvbGxP
ZmZzZXRSYW5nZTxMYXlvdXRVbml0Pj4mIHNuYXBPZmZzZXRSYW5nZXMsIExheW91dFVuaXQgc2Ny
b2xsRGVzdGluYXRpb24sIGZsb2F0IHZlbG9jaXR5LCB1bnNpZ25lZCYgYWN0aXZlU25hcEluZGV4
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCA2NmM4
M2U3ZGRhNWQwYWQ3ZWYwMjEwMzQxZjU0YmY1M2E0NjIwOTI1Li5iZTFhOWE0ZDZlODI2NmZlNDgz
ZGY3MmQwMDlhZjc2Zjk3MWNhMWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuY3BwCkBAIC01MjEsNiArNTIxLDEyIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNl
dFZlcnRpY2FsU25hcE9mZnNldFJhbmdlcyhjb25zdCBWZWN0b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8
CiAgICAgZW5zdXJlU25hcE9mZnNldHNJbmZvKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzID0g
dmVydGljYWxSYW5nZXM7CiB9CiAKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OmNsZWFyU25hcE9mZnNl
dHMoKQoreworICAgIGNsZWFySG9yaXpvbnRhbFNuYXBPZmZzZXRzKCk7CisgICAgY2xlYXJWZXJ0
aWNhbFNuYXBPZmZzZXRzKCk7Cit9CisKIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OmNsZWFySG9yaXpv
bnRhbFNuYXBPZmZzZXRzKCkKIHsKICAgICBpZiAoIW1fc25hcE9mZnNldHNJbmZvKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggMzg3YWQyODVjMjBkZDhmZDVl
YmEyN2Y2NjVlZWU4NTE4M2U3N2M2Zi4uZTgxZGVhZjUwZDA1N2JhYzRkNTc2MjYxNjljZGVmMmY1
NTYwNzJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC05
NSw2ICs5NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZlcnRpY2FsU25hcE9mZnNldHMoY29u
c3QgVmVjdG9yPExheW91dFVuaXQ+Jik7CiAgICAgdm9pZCBzZXRIb3Jpem9udGFsU25hcE9mZnNl
dFJhbmdlcyhjb25zdCBWZWN0b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8TGF5b3V0VW5pdD4+Jik7CiAg
ICAgdm9pZCBzZXRWZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoY29uc3QgVmVjdG9yPFNjcm9sbE9m
ZnNldFJhbmdlPExheW91dFVuaXQ+PiYpOworICAgIHZvaWQgY2xlYXJTbmFwT2Zmc2V0cygpOwog
ICAgIHZvaWQgY2xlYXJIb3Jpem9udGFsU25hcE9mZnNldHMoKTsKICAgICB2b2lkIGNsZWFyVmVy
dGljYWxTbmFwT2Zmc2V0cygpOwogICAgIHVuc2lnbmVkIGN1cnJlbnRIb3Jpem9udGFsU25hcFBv
aW50SW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5k
ZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNjM5NTJkMGVh
MTg4OWRkNTZlOTZmMjBiZmJkMzE4MmExMTNmYmY2YS4uMWMxZGI5ODJhZjNlNTFiNTIwNDJlYzQ5
MGQ4OWE3YzljNDdjZTM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
QEAgLTUwNDAsMTcgKzUwNDAsMTggQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6Om9mZnNldEZyb21M
b2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSBjb25zdAogICAgIHJldHVybiBjb250YWluZXJCbG9jay0+
b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpICsgbG9naWNhbFRvcCgpOwogfQogCi1j
b25zdCBSZW5kZXJCb3gqIFJlbmRlckJveDo6ZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWlu
ZXIoKSBjb25zdAorY29uc3QgUmVuZGVyQm94KiBSZW5kZXJCb3g6OmZpbmRFbmNsb3NpbmdTY3Jv
bGxhYmxlQ29udGFpbmVyRm9yU25hcHBpbmcoKSBjb25zdAogewogICAgIGZvciAoYXV0byYgY2Fu
ZGlkYXRlIDogbGluZWFnZU9mVHlwZTxSZW5kZXJCb3g+KCp0aGlzKSkgewogICAgICAgICBpZiAo
Y2FuZGlkYXRlLmhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICAgICAgcmV0dXJuICZjYW5kaWRh
dGU7CiAgICAgfQotICAgIC8vIElmIGFsbCBwYXJlbnQgZWxlbWVudHMgYXJlIG5vdCBvdmVyZmxv
dyBzY3JvbGxhYmxlLCBjaGVjayB0aGUgYm9keS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG5v
dCB0cmVhdCB0aGUgYm9keSBhcyB0aGUgc2Nyb2xsYWJsZSBlbGVtZW50IChzZWUgd2Via2l0Lm9y
Zy9iLzIxMDQ2OSkuCi0gICAgaWYgKGRvY3VtZW50KCkuYm9keSgpICYmIGZyYW1lKCkudmlldygp
ICYmIGZyYW1lKCkudmlldygpLT5pc1Njcm9sbGFibGUoKSkKLSAgICAgICAgcmV0dXJuIGRvY3Vt
ZW50KCkuYm9keSgpLT5yZW5kZXJCb3goKTsKLSAgICAKKworICAgIC8vIElmIGFsbCBwYXJlbnQg
ZWxlbWVudHMgYXJlIG5vdCBvdmVyZmxvdyBzY3JvbGxhYmxlIGFuZCB0aGUgZnJhbWUgaXMsIHRo
ZW4gcmV0dXJuCisgICAgLy8gdGhlIHJvb3QgZWxlbWVudC4KKyAgICBpZiAoZG9jdW1lbnQoKS5k
b2N1bWVudEVsZW1lbnQoKSAmJiBmcmFtZSgpLnZpZXcoKSAmJiBmcmFtZSgpLnZpZXcoKS0+aXNT
Y3JvbGxhYmxlKCkpCisgICAgICAgIHJldHVybiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgp
LT5yZW5kZXJCb3goKTsKKwogICAgIHJldHVybiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggZTA4MTQ1ZDhlMGU5ZjYyNjEzMDM5YjE2ZTRhMTYwYWMx
NzljYWVjMC4uODU2YTQyMjM3NTM0ZTEwNTY1NWI0NzRlNGYzYjI3YWJiOWYyOTg2YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApAQCAtNjM3LDcgKzYzNyw3IEBAIG92ZXJyaWRl
OwogICAgIGJvb2wgY2FuSGF2ZU91dHNpZGVGcmFnbWVudFJhbmdlKCkgY29uc3QgeyByZXR1cm4g
IWlzSW5GbG93UmVuZGVyRnJhZ21lbnRlZEZsb3coKTsgfQogICAgIHZpcnR1YWwgYm9vbCBuZWVk
c0xheW91dEFmdGVyRnJhZ21lbnRSYW5nZUNoYW5nZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAKLSAgICBjb25zdCBSZW5kZXJCb3gqIGZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVy
KCkgY29uc3Q7CisgICAgY29uc3QgUmVuZGVyQm94KiBmaW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNv
bnRhaW5lckZvclNuYXBwaW5nKCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBpc0dyaWRJdGVtKCkg
Y29uc3QgeyByZXR1cm4gcGFyZW50KCkgJiYgcGFyZW50KCktPmlzUmVuZGVyR3JpZCgpICYmICFp
c0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpOyB9CiAgICAgYm9vbCBpc0ZsZXhJdGVtKCkgY29u
c3QgeyByZXR1cm4gcGFyZW50KCkgJiYgcGFyZW50KCktPmlzRmxleGlibGVCb3goKSAmJiAhaXNF
eGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKaW5kZXggZTAyODBjODJmNWMyMmIzNWZiZDMyMjJmOGJkOGZjNjQ5MzcxNDk2
ZC4uMjJmZmMzOGY3YTMxYjkzYzM3NDkzYjk2MWE5YTBjNTdhNWM5MTliZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zNTkyLDcgKzM1OTIsNyBAQCB2b2lk
IFJlbmRlckxheWVyOjp1cGRhdGVTbmFwT2Zmc2V0cygpCiAgICAgICAgIHJldHVybjsKIAogICAg
IFJlbmRlckJveCogYm94ID0gZW5jbG9zaW5nRWxlbWVudCgpLT5yZW5kZXJCb3goKTsKLSAgICB1
cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKCp0aGlzLCAqZG93bmNhc3Q8SFRNTEVs
ZW1lbnQ+KGVuY2xvc2luZ0VsZW1lbnQoKSksICpib3gsIGJveC0+c3R5bGUoKSk7CisgICAgdXBk
YXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxlQXJlYSgqdGhpcywgKmJveCwgYm94LT5zdHlsZSgp
LCBib3gtPnBhZGRpbmdCb3hSZWN0KCkpOwogfQogCiBib29sIFJlbmRlckxheWVyOjppc1Njcm9s
bFNuYXBJblByb2dyZXNzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKaW5kZXggODhhMTdjNTAwZTIwZmNmYzMzMjQ4MDA1OGRjYWNiZmJjZjgyODhhNC4u
Y2RiN2ZmMzYyZWMxMzhjYmJlZDM5YzdkYmE3MGZiNTgyNTU5YTRmOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQ1NSwxMiArNDU1LDEyIEBAIFJlbmRl
ckJveE1vZGVsT2JqZWN0JiBSZW5kZXJPYmplY3Q6OmVuY2xvc2luZ0JveE1vZGVsT2JqZWN0KCkg
Y29uc3QKIGNvbnN0IFJlbmRlckJveCogUmVuZGVyT2JqZWN0OjplbmNsb3NpbmdTY3JvbGxhYmxl
Q29udGFpbmVyRm9yU25hcHBpbmcoKSBjb25zdAogewogICAgIGF1dG8mIHJlbmRlckJveCA9IGVu
Y2xvc2luZ0JveCgpOwotICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQ29udGFpbmVyID0gcmVuZGVy
Qm94LmZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKCkpIHsKKyAgICBpZiAoYXV0byog
c2Nyb2xsYWJsZUNvbnRhaW5lciA9IHJlbmRlckJveC5maW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNv
bnRhaW5lckZvclNuYXBwaW5nKCkpIHsKICAgICAgICAgLy8gVGhlIHNjcm9sbGFibGUgY29udGFp
bmVyIGZvciBzbmFwcGluZyBjYW5ub3QgYmUgdGhlIG5vZGUgaXRzZWxmLgogICAgICAgICBpZiAo
c2Nyb2xsYWJsZUNvbnRhaW5lciAhPSB0aGlzKQogICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGFi
bGVDb250YWluZXI7CiAgICAgICAgIGlmIChyZW5kZXJCb3gucGFyZW50Qm94KCkpCi0gICAgICAg
ICAgICByZXR1cm4gcmVuZGVyQm94LnBhcmVudEJveCgpLT5maW5kRW5jbG9zaW5nU2Nyb2xsYWJs
ZUNvbnRhaW5lcigpOworICAgICAgICAgICAgcmV0dXJuIHJlbmRlckJveC5wYXJlbnRCb3goKS0+
ZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpOwogICAgIH0KICAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzMyZTEzYmRlZDc4ZjMxZTEwNTg3NDg0N2Ez
NjBkZmQ1ZWNjODU1Li43ZTNkODEwMGVkYmI5OTYzM2ExMGIyYTI1MmVmNjQ4ODNjMWUwNGU1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMTEtMDUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFNjcm9sbCBzbmFwIHNwZWNpZmllZCBvbiA6cm9v
dCBkb2Vzbid0IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMDQ2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjE3NDY2NzY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZpZWQgbWFpbiBm
cmFtZSBzY3JvbGwgc25hcCB0ZXN0cyB0byByZWZsZWN0IHRoZSBzcGVjaWZpY2F0aW9uIGFuZCBh
ZGQgYQorICAgICAgICBmZXcgbW9yZSB0ZXN0cyB0byB0ZXN0IHRoZSBsZWdhY3kgYmVoYXZpb3Ig
d2hpY2ggdGhpcyBjaGFuZ2UgbWFpbnRhaW5zIGZvcgorICAgICAgICBiYWNrd2FyZHMgY29tcGF0
aWJpbGl0eS4KKworICAgICAgICAqIGNzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRp
b25zLW1haW5mcmFtZS5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC1sZWdh
Y3ktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwt
bGVnYWN5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRh
bC5odG1sLgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC5odG1sOgorICAgICAgICAq
IHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9y
eS1tYWluZnJhbWUtc2xvdy1ob3Jpem9udGFsLmh0bWw6CisgICAgICAgICogdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1z
bG93LXZlcnRpY2FsLmh0bWw6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC1sZWdhY3kt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9z
Y3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLWxlZ2Fj
eS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9z
Y3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLmh0bWwu
CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC10aGVuLWhvcml6b250YWwuaHRtbDoKKyAg
ICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1t
YW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLmh0bWw6CisgICAgICAgICogdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS1s
ZWdhY3ktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9s
bGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS5o
dG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLmh0bWwuCisgICAgICAgICog
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5
LW1haW5mcmFtZS5odG1sOgorCiAyMDIwLTExLTAxICBNYXNvbiBYaWFvICA8bWVAbWFzb254LmNh
PgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTI2ODkpOiBib3gtc2hhZG93IHdpdGggaW5zZXQg
YW5kIG5lZ2F0aXZlIHNwcmVhZCByZW5kZXJzIGluY29ycmVjdGx5CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWluZnJhbWUu
aHRtbCBiL0xheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25z
LW1haW5mcmFtZS5odG1sCmluZGV4IGQxN2NkNjdlNWZiNzg2ZjNmZjhhOTFjYTgwNDRhMTNjNTEw
MDM4OWQuLmVmZGM4YTNlYWFkYmI0NjhkZWJiMWE1ODdjMjIwMTA5NzE5N2RiMzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRpb25zLW1h
aW5mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtcG9zaXRpb25zLW1haW5mcmFtZS5odG1sCkBAIC0xLDExICsxLDEzIEBACiA8aHRtbD4KIDxo
ZWFkPgogICAgIDxzdHlsZT4KLSAgICAgICAgYm9keSB7CisgICAgICAgIGh0bWwgewogICAgICAg
ICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRv
cnk7CiAgICAgICAgIH0KLQorICAgICAgICBib2R5IHsKKyAgICAgICAgICAgIG1hcmdpbjogMDsK
KyAgICAgICAgfQogICAgICAgICAudmVydGljYWwgewogICAgICAgICAgICAgd2lkdGg6IDEwMCU7
CiAgICAgICAgICAgICBoZWlnaHQ6IDYwMHB4OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1h
aW5mcmFtZS1ob3Jpem9udGFsLWxlZ2FjeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLWhvcml6b250YWwtbGVnYWN5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDlkNDg2
OGU5ZDIwNGM1ZDQ4ZTYzMDQwMDY4NmU0NDA4MDEwZjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
bWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLWxlZ2FjeS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACitQQVNTIGRpdiBzY3JvbGxlZCB0byBuZXh0IHdpbmRvdy4KK1BBU1MgZGl2IGhv
bm9yZWQgc25hcCBwb2ludHMuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9u
dGFsLWxlZ2FjeS5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLWxlZ2Fj
eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNkNDBhZmY4MGYwZDQ5NDIzMGZkZTAxNGQwM2FmMjJhMjc4NTU5
MDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwt
bGVnYWN5Lmh0bWwKQEAgLTAsMCArMSwxMTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5ob3Jpem9udGFsR2FsbGVy
eSB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDYwMHZ3OworICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwdmg7CisgICAgICAgICAgICAgICAgbWFyZ2luOiAwOworICAgICAgICAgICAgICAgIHBh
ZGRpbmc6IDA7CisgICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuY29sb3JCb3ggeworICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwdmg7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3OworICAgICAgICAg
ICAgICAgIGZsb2F0OiBsZWZ0OworICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBz
dGFydDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNpdGVtMCB7IGJhY2tncm91bmQtY29s
b3I6IHJlZDsgfQorICAgICAgICAgICAgI2l0ZW0xIHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
IH0KKyAgICAgICAgICAgICNpdGVtMiB7IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IH0KKyAgICAg
ICAgICAgICNpdGVtMyB7IGJhY2tncm91bmQtY29sb3I6IGFxdWE7IH0KKyAgICAgICAgICAgICNp
dGVtNCB7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsgfQorICAgICAgICAgICAgI2l0ZW01IHsg
YmFja2dyb3VuZC1jb2xvcjogZnVjaHNpYTsgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgdmFyIHRhcmdldFNjcm9sbGVyOworICAgICAgICB2YXIgc2Nyb2xsUG9zaXRpb25CZWZv
cmVHbGlkZTsKKyAgICAgICAgdmFyIHNjcm9sbFBvc2l0aW9uQmVmb3JlU25hcDsKKworICAgICAg
ICBmdW5jdGlvbiBjaGVja0ZvclNjcm9sbFNuYXAoKQorICAgICAgICB7CisgICAgICAgICAgICAv
LyBUaGUgZGl2IHNob3VsZCBoYXZlIHNuYXBwZWQgYmFjayB0byB0aGUgcHJldmlvdXMgcG9zaXRp
b24KKyAgICAgICAgICAgIGlmICh0YXJnZXRTY3JvbGxlci5zY3JvbGxMZWZ0ICE9IHNjcm9sbFBv
c2l0aW9uQmVmb3JlU25hcCkKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJkaXYgZGlkIG5v
dCBzbmFwIGJhY2sgdG8gcHJvcGVyIGxvY2F0aW9uLiBFeHBlY3RlZCAiICsgc2Nyb2xsUG9zaXRp
b25CZWZvcmVTbmFwICsgIiwgYnV0IGdvdCAiICsgdGFyZ2V0U2Nyb2xsZXIuc2Nyb2xsTGVmdCk7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiZGl2IGhvbm9y
ZWQgc25hcCBwb2ludHMuIik7CisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICB9CisKKyAgICAgICAgZnVuY3Rpb24gc2Nyb2xsU25hcFRlc3QoKQorICAgICAgICB7CisgICAg
ICAgICAgICBzY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXAgPSB0YXJnZXRTY3JvbGxlci5zY3JvbGxM
ZWZ0OworCisgICAgICAgICAgICB2YXIgc3RhcnRQb3NYID0gdGFyZ2V0U2Nyb2xsZXIub2Zmc2V0
TGVmdCArIDIwOworICAgICAgICAgICAgdmFyIHN0YXJ0UG9zWSA9IHRhcmdldFNjcm9sbGVyLm9m
ZnNldFRvcCArIDIwOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRz
KCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0
UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSBpRnJhbWUKKyAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygtMSwgMCwgJ2JlZ2FuJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
U2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygtMSwgMCwgJ2NoYW5nZWQnLCAnbm9u
ZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKC0xLCAwLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2Vu
ZGVkJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNhbGxBZnRlclNjcm9sbGlu
Z0NvbXBsZXRlcyhjaGVja0ZvclNjcm9sbFNuYXApOworICAgICAgICB9CisKKyAgICAgICAgZnVu
Y3Rpb24gY2hlY2tGb3JTY3JvbGxHbGlkZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFRo
ZSBkaXYgc2hvdWxkIGhhdmUgc2Nyb2xsZWQgKGdsaWRlZCkgdG8gdGhlIG5leHQgc25hcCBwb2lu
dC4KKyAgICAgICAgICAgIGlmICh0YXJnZXRTY3JvbGxlci5zY3JvbGxMZWZ0ID09IHdpbmRvdy5p
bm5lcldpZHRoKQorICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoImRpdiBzY3JvbGxlZCB0byBu
ZXh0IHdpbmRvdy4iKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJkaXYgZGlkIG5vdCBob25vciBzbmFwIHBvaW50cy4gRXhwZWN0ZWQgIiArIHdpbmRvdy5p
bm5lcldpZHRoICsgIiwgYnV0IGdvdCAiICsgdGFyZ2V0U2Nyb2xsZXIuc2Nyb2xsTGVmdCk7CisK
KyAgICAgICAgICAgIHNldFRpbWVvdXQoc2Nyb2xsU25hcFRlc3QsIDApOworICAgICAgICB9CisK
KyAgICAgICAgZnVuY3Rpb24gc2Nyb2xsR2xpZGVUZXN0KCkKKyAgICAgICAgeworICAgICAgICAg
ICAgc2Nyb2xsUG9zaXRpb25CZWZvcmVHbGlkZSA9IHRhcmdldFNjcm9sbGVyLnNjcm9sbExlZnQ7
CisKKyAgICAgICAgICAgIHZhciBzdGFydFBvc1ggPSB0YXJnZXRTY3JvbGxlci5vZmZzZXRMZWZ0
ICsgMjA7CisgICAgICAgICAgICB2YXIgc3RhcnRQb3NZID0gdGFyZ2V0U2Nyb2xsZXIub2Zmc2V0
VG9wICsgMjA7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZ
KTsgLy8gTWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUgdGhlIGlGcmFtZQorICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKC0x
LCAwLCAnYmVnYW4nLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKC0xLCAwLCAnY2hhbmdlZCcsICdub25lJyk7
CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoLTEsIDAsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygtMSwgMCwgJ2NoYW5n
ZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25lJyk7CisgICAgICAgICAg
ICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoLTEs
IDAsICdub25lJywgJ2JlZ2luJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoLTEsIDAsICdub25lJywgJ2NvbnRpbnVlJyk7
CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgMCwgJ25vbmUnLCAnZW5kJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5j
YWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoY2hlY2tGb3JTY3JvbGxHbGlkZSk7CisgICAgICAg
IH0KKworICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQorICAgICAgICB7CisgICAgICAgICAgICB0
YXJnZXRTY3JvbGxlciA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQ7CisgICAgICAgICAgICBp
ZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldFBs
YXRmb3JtTW9tZW50dW1TY3JvbGxpbmdQcmVkaWN0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAg
ICAgICAgICAgc2V0VGltZW91dChzY3JvbGxHbGlkZVRlc3QsIDApOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2l0ZW0wJyk7CisgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVy
SFRNTCA9ICI8cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4g
VG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKKyAgICAg
ICAgICAgICAgICAgICAgKyAiaW5zaWRlIHRoZSByZWQgcmVnaW9uIGF0IHRoZSB0b3Agb2YgdGhl
IHBhZ2UsIGFuZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBl
IHRvIG1ha2UgYTxici8+IgorICAgICAgICAgICAgICAgICAgICArICJzbWFsbCBzd2lwZSBnZXN0
dXJlIHdpdGggc29tZSBtb21lbnR1bS48YnIvPjxici8+IgorICAgICAgICAgICAgICAgICAgICAr
ICJUaGUgcmVnaW9uIHNob3VsZCBzY3JvbGwgdG8gc2hvdyBhIGdyZWVuIHJlZ2lvbi48YnIvPjxi
ci8+IgorICAgICAgICAgICAgICAgICAgICArICJOZXh0LCBwZXJmb3JtIGEgc21hbGwgc2Nyb2xs
IGdlc3R1cmUgdGhhdCBkb2VzIG5vdCBpbnZvbHZlIG1vbWVudHVtLiBZb3Ugc2hvdWxkIGJlZ2lu
IHRvIHNlZSBvbmUgb2YgdGhlIGNvbG9yczxici8+IgorICAgICAgICAgICAgICAgICAgICArICJ0
byB0aGUgbGVmdCAob3IgcmlnaHQpIG9mIHRoZSBjdXJyZW50IGdyZWVuIGJveC4gV2hlbiB5b3Ug
cmVsZWFzZSB0aGUgd2hlZWwsIHRoZSByZWdpb24gc2hvdWxkIHNjcm9sbCBiYWNrIHNvPGJyLz4i
CisgICAgICAgICAgICAgICAgICAgICsgInRoYXQgdGhlIHJlZ2lvbiBpcyBhIHNpbmdsZSBjb2xv
ci48YnIvPjxici8+IgorICAgICAgICAgICAgICAgICAgICArICJZb3Ugc2hvdWxkIGFsc28gYmUg
YWJsZSB0byByZXBlYXQgdGhlc2UgdGVzdCBzdGVwcyBmb3IgdGhlIHZlcnRpY2FsIHJlZ2lvbiBi
ZWxvdy48L3A+IjsKKyAgICAgICAgICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQo
bWVzc2FnZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCk7IiBjbGFzcz0iaG9yaXpvbnRh
bEdhbGxlcnkiPgorICAgICAgICA8ZGl2IGlkPSJpdGVtMCIgY2xhc3M9ImNvbG9yQm94Ij48ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iaXRlbTEiIGNsYXNz
PSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9Iml0ZW0yIiBjbGFzcz0iY29sb3JC
b3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJpdGVtMyIgY2xhc3M9ImNvbG9yQm94Ij48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iaXRlbTQiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9Iml0ZW01IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC5o
dG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLmh0bWwKaW5kZXggM2Q0MGFm
ZjgwZjBkNDk0MjMwZmRlMDE0ZDAzYWYyMmEyNzg1NTkwMC4uNDY3ZmEzNWRiOTQzOGRlYzEwYzBj
Y2ZmYmZmN2RjYTA0N2Y0NWIxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1o
b3Jpem9udGFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
c2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLmh0
bWwKQEAgLTIsMTIgKzIsMTQgQEAKIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBodG1sIHsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4
IG1hbmRhdG9yeTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIC5ob3Jpem9udGFsR2FsbGVy
eSB7CiAgICAgICAgICAgICAgICAgd2lkdGg6IDYwMHZ3OwogICAgICAgICAgICAgICAgIGhlaWdo
dDogMTAwdmg7CiAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICAgICAgIHBh
ZGRpbmc6IDA7Ci0gICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAuY29sb3JCb3ggewogICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwdmg7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXNsb3ct
aG9yaXpvbnRhbC5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LWhvcml6b250YWwu
aHRtbAppbmRleCBlODFhNzlhZDI1ZjVmNzlkNjI4Nzc5YTdlNjU1MTQ0NTBjYTIwMjllLi5jMWNi
Y2M4YjBhMmNkY2RkNmQyM2IwYWIyZjg5N2FlZTcxMzEyNTJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5k
YXRvcnktbWFpbmZyYW1lLXNsb3ctaG9yaXpvbnRhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1t
YWluZnJhbWUtc2xvdy1ob3Jpem9udGFsLmh0bWwKQEAgLTIsMTIgKzIsMTQgQEAKIDxodG1sPgog
ICAgIDxoZWFkPgogICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBodG1sIHsKKyAgICAgICAg
ICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIC5ob3Jpem9udGFsR2FsbGVyeSB7CiAgICAgICAgICAgICAgICAgd2lkdGg6IDYw
MHZ3OwogICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgICAgICAgICAgbWFy
Z2luOiAwOwogICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7Ci0gICAgICAgICAgICAgICAgc2Ny
b2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAu
Y29sb3JCb3ggewogICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1tYW5kYXRvcnktbWFpbmZyYW1lLXNsb3ctdmVydGljYWwuaHRtbCBiL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1t
YWluZnJhbWUtc2xvdy12ZXJ0aWNhbC5odG1sCmluZGV4IDRhMzY1MTdhMmZiYzczNzE4MmRkNzU1
ZjkzOGE2MTIwNTNhMTdhZDIuLjBlZmRiOGJmY2EyMzQ4ZmQ1MjU3NTZiMTEyZDc0NTFmOGZmNGFj
ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy12ZXJ0aWNhbC5odG1s
CisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy12ZXJ0aWNhbC5odG1sCkBAIC0yLDEy
ICsyLDE0IEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgaHRtbCB7CisgICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7
CisgICAgICAgICAgICB9CiAgICAgICAgICAgICAudmVydGljYWxHYWxsZXJ5IHsKICAgICAgICAg
ICAgICAgICB3aWR0aDogMTAwdnc7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MDB2aDsKICAg
ICAgICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgICAgICAgcGFkZGluZzogMDsKLSAg
ICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIC5jb2xvckJveCB7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2
aDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtbGVnYWN5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtbGVnYWN5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jMDlkNDg2OGU5ZDIwNGM1ZDQ4ZTYzMDQwMDY4NmU0NDA4MDEw
ZjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC1s
ZWdhY3ktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorUEFTUyBkaXYgc2Nyb2xsZWQgdG8g
bmV4dCB3aW5kb3cuCitQQVNTIGRpdiBob25vcmVkIHNuYXAgcG9pbnRzLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1h
bmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtbGVnYWN5Lmh0bWwgYi9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLXZlcnRpY2FsLWxlZ2FjeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3OGFhZDRhZTU5NDBiMjdl
YmZlYWI5NjU3MzIxNDM5YjAxMDI0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnkt
bWFpbmZyYW1lLXZlcnRpY2FsLWxlZ2FjeS5odG1sCkBAIC0wLDAgKzEsMTE5IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICAudmVydGljYWxHYWxsZXJ5IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7CisgICAg
ICAgICAgICAgICAgaGVpZ2h0OiA2MDB2aDsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDA7Cisg
ICAgICAgICAgICAgICAgcGFkZGluZzogMDsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10
eXBlOiB5IG1hbmRhdG9yeTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5jb2xvckJveCB7
CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKKyAgICAgICAgICAgICAgICB3aWR0aDog
MTAwdnc7CisgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICAgICAgICAgICAgc2Ny
b2xsLXNuYXAtYWxpZ246IHN0YXJ0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2l0ZW0w
IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjaXRlbTEgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICAgICAgI2l0ZW0yIHsgYmFja2dyb3VuZC1jb2xv
cjogYmx1ZTsgfQorICAgICAgICAgICAgI2l0ZW0zIHsgYmFja2dyb3VuZC1jb2xvcjogYXF1YTsg
fQorICAgICAgICAgICAgI2l0ZW00IHsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyB9CisgICAg
ICAgICAgICAjaXRlbTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CisgICAgICAgIDwv
c3R5bGU+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworICAgICAgICB2YXIgc2Nyb2xsaW5nVGFyZ2V0OworICAgICAgICB2YXIg
c2Nyb2xsUG9zaXRpb25CZWZvcmVHbGlkZTsKKyAgICAgICAgdmFyIHNjcm9sbFBvc2l0aW9uQmVm
b3JlU25hcDsKKworICAgICAgICBmdW5jdGlvbiBjaGVja0ZvclNjcm9sbFNuYXAoKQorICAgICAg
ICB7CisgICAgICAgICAgICAvLyBUaGUgZGl2IHNob3VsZCBoYXZlIHNuYXBwZWQgYmFjayB0byB0
aGUgcHJldmlvdXMgcG9zaXRpb24KKyAgICAgICAgICAgIGlmIChzY3JvbGxpbmdUYXJnZXQuc2Ny
b2xsVG9wICE9IHNjcm9sbFBvc2l0aW9uQmVmb3JlU25hcCkKKyAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKGBkaXYgZGlkIG5vdCBzbmFwIGJhY2sgdG8gcHJvcGVyIGxvY2F0aW9uLiAoJHtzY3Jv
bGxpbmdUYXJnZXQuc2Nyb2xsVG9wfSB2cy4gJHtzY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXB9KWAp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoImRpdiBob25v
cmVkIHNuYXAgcG9pbnRzLiIpOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHNjcm9sbFNuYXBUZXN0KCkKKyAgICAgICAgeworICAg
ICAgICAgICAgc2Nyb2xsUG9zaXRpb25CZWZvcmVTbmFwID0gc2Nyb2xsaW5nVGFyZ2V0LnNjcm9s
bFRvcDsKKworICAgICAgICAgICAgdmFyIHN0YXJ0UG9zWCA9IHNjcm9sbGluZ1RhcmdldC5vZmZz
ZXRMZWZ0ICsgMjA7CisgICAgICAgICAgICB2YXIgc3RhcnRQb3NZID0gc2Nyb2xsaW5nVGFyZ2V0
Lm9mZnNldFRvcCArIDIwOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZl
bnRzKCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0
YXJ0UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSBpRnJhbWUKKyAg
ICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAn
bm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwg
J2VuZGVkJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNhbGxBZnRlclNjcm9s
bGluZ0NvbXBsZXRlcyhjaGVja0ZvclNjcm9sbFNuYXApOworICAgICAgICB9CisKKyAgICAgICAg
ZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGxHbGlkZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8v
IFRoZSBkaXYgc2hvdWxkIGhhdmUgc2Nyb2xsZWQgKGdsaWRlZCkgdG8gdGhlIG5leHQgc25hcCBw
b2ludC4KKyAgICAgICAgICAgIGlmIChzY3JvbGxpbmdUYXJnZXQuc2Nyb2xsVG9wID09IHdpbmRv
dy5pbm5lckhlaWdodCkKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJkaXYgc2Nyb2xsZWQg
dG8gbmV4dCB3aW5kb3cuIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgZGl2IGRpZCBub3QgaG9ub3Igc25hcCBwb2ludHMuICgke3Njcm9sbGluZ1Rhcmdl
dC5zY3JvbGxUb3B9IHZzLiAke3dpbmRvdy5pbm5lckhlaWdodH0pYCk7CisKKyAgICAgICAgICAg
IHNldFRpbWVvdXQoc2Nyb2xsU25hcFRlc3QsIDApOworICAgICAgICB9CisKKyAgICAgICAgZnVu
Y3Rpb24gc2Nyb2xsR2xpZGVUZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgc2Nyb2xsUG9z
aXRpb25CZWZvcmVHbGlkZSA9IHNjcm9sbGluZ1RhcmdldC5zY3JvbGxUb3A7CisKKyAgICAgICAg
ICAgIHZhciBzdGFydFBvc1ggPSBzY3JvbGxpbmdUYXJnZXQub2Zmc2V0TGVmdCArIDIwOworICAg
ICAgICAgICAgdmFyIHN0YXJ0UG9zWSA9IHNjcm9sbGluZ1RhcmdldC5vZmZzZXRUb3AgKyAyMDsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOyAvLyBNYWtl
IHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCisgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdiZWdh
bicsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdo
ZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygw
LCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25l
Jyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9t
ZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ25vbmUn
LCAnYmVnaW4nKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtNCwgJ25vbmUnLCAnY29udGludWUnKTsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygw
LCAwLCAnbm9uZScsICdlbmQnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNhbGxBZnRlclNj
cm9sbGluZ0NvbXBsZXRlcyhjaGVja0ZvclNjcm9sbEdsaWRlKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNjcm9sbGluZ1Rh
cmdldCA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQ7CisgICAgICAgICAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldFBsYXRmb3JtTW9t
ZW50dW1TY3JvbGxpbmdQcmVkaWN0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgICAgICAgICAg
c2V0VGltZW91dChzY3JvbGxHbGlkZVRlc3QsIDApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2l0ZW0wJyk7CisgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8
cD5UaGlzIHRlc3QgaXMgYmV0dGVyIHJ1biB1bmRlciBEdW1wUmVuZGVyVHJlZS4gVG8gbWFudWFs
bHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNlIHBvaW50ZXI8YnIvPiIKKyAgICAgICAgICAgICAg
ICAgICAgKyAiaW5zaWRlIHRoZSByZWQgcmVnaW9uIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGFu
ZCB0aGVuIHVzZSB0aGUgbW91c2Ugd2hlZWwgb3IgYSB0d28tZmluZ2VyIHN3aXBlIHRvIG1ha2Ug
YTxici8+IgorICAgICAgICAgICAgICAgICAgICArICJzbWFsbCBzd2lwZSBnZXN0dXJlIHdpdGgg
c29tZSBtb21lbnR1bS48YnIvPjxici8+IgorICAgICAgICAgICAgICAgICAgICArICJUaGUgcmVn
aW9uIHNob3VsZCBzY3JvbGwgdG8gc2hvdyBhIGdyZWVuIHJlZ2lvbi48YnIvPjxici8+IgorICAg
ICAgICAgICAgICAgICAgICArICJOZXh0LCBwZXJmb3JtIGEgc21hbGwgc2Nyb2xsIGdlc3R1cmUg
dGhhdCBkb2VzIG5vdCBpbnZvbHZlIG1vbWVudHVtLiBZb3Ugc2hvdWxkIGJlZ2luIHRvIHNlZSBv
bmUgb2YgdGhlIGNvbG9yczxici8+IgorICAgICAgICAgICAgICAgICAgICArICJ0byB0aGUgbGVm
dCAob3IgcmlnaHQpIG9mIHRoZSBjdXJyZW50IGdyZWVuIGJveC4gV2hlbiB5b3UgcmVsZWFzZSB0
aGUgd2hlZWwsIHRoZSByZWdpb24gc2hvdWxkIHNjcm9sbCBiYWNrIHNvPGJyLz4iCisgICAgICAg
ICAgICAgICAgICAgICsgInRoYXQgdGhlIHJlZ2lvbiBpcyBhIHNpbmdsZSBjb2xvci48YnIvPjxi
ci8+IgorICAgICAgICAgICAgICAgICAgICArICJZb3Ugc2hvdWxkIGFsc28gYmUgYWJsZSB0byBy
ZXBlYXQgdGhlc2UgdGVzdCBzdGVwcyBmb3IgdGhlIHZlcnRpY2FsIHJlZ2lvbiBiZWxvdy48L3A+
IjsKKyAgICAgICAgICAgICAgICBtZXNzYWdlTG9jYXRpb24uYXBwZW5kQ2hpbGQobWVzc2FnZSk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFk
PgorICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCk7IiBjbGFzcz0idmVydGljYWxHYWxsZXJ5Ij4K
KyAgICAgICAgPGRpdiBpZD0iaXRlbTAiIGNsYXNzPSJjb2xvckJveCI+PGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9Iml0ZW0xIiBjbGFzcz0iY29sb3JCb3gi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJpdGVtMiIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iaXRlbTMiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9Iml0ZW00IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJpdGVtNSIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLXRoZW4taG9yaXpvbnRh
bC5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC10aGVuLWhvcml6b250YWwu
aHRtbAppbmRleCAxOWUwY2MwOTFlZDBmZGVmMDE4MWMxYWFiM2Q1ZTg4NzVhNTQ0MTk2Li5kOGQw
ZWZhZTQzNzcxZjMwNmM0MjRjZmZmZDRiMmQ3MmNhZWE0OTc3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5k
YXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLXRoZW4taG9yaXpvbnRhbC5odG1sCisrKyBiL0xheW91
dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1h
bmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtdGhlbi1ob3Jpem9udGFsLmh0bWwKQEAgLTIsMTIg
KzIsMTQgQEAKIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICBodG1sIHsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgICAgIC52ZXJ0aWNhbEdhbGxlcnkgewogICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDB2dzsKICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwMHZoOwogICAg
ICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOwotICAg
ICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgLmNvbG9yQm94IHsKICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZo
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xs
LXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC5odG1sIGIvTGF5
b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
bWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC5odG1sCmluZGV4IGU3OGFhZDRhZTU5NDBiMjdl
YmZlYWI5NjU3MzIxNDM5YjAxMDI0NmYuLjRmNjgyN2JiZjRmMjNiN2ViNjE0N2U1OGEyNTkwMjRh
NDA5NjllZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLmh0bWwKQEAgLTIsMTIgKzIs
MTQgQEAKIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBo
dG1sIHsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIC52ZXJ0aWNhbEdhbGxlcnkgewogICAgICAgICAgICAg
ICAgIHdpZHRoOiAxMDB2dzsKICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwMHZoOwogICAgICAg
ICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOwotICAgICAg
ICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgLmNvbG9yQm94IHsKICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNu
YXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS1sZWdhY3ktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtcHJveGltaXR5LW1haW5mcmFtZS1sZWdhY3ktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdk
NDEwYWY2ODEzMWIzY2IyYjNiZjlmNGYwMmFkOGMxODMzOWVkN2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwt
c25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MCBAQAorU2Nyb2xsaW5nIGJvZHkgd2l0aCAyIGRyYWcgdGlja3MKKy0gRGlkIHRoZSBzY3JvbGxp
bmcgc25hcCB0byB0aGUgdG9wPyBZRVMKKy0gRGlkIHNjcm9sbGluZyBzbmFwIHRvIHRoZSBzZWNv
bmQgYm94PyBOTworU2Nyb2xsaW5nIGJvZHkgd2l0aCAzMCBkcmFnIHRpY2tzCistIERpZCB0aGUg
c2Nyb2xsaW5nIHNuYXAgdG8gdGhlIHRvcD8gTk8KKy0gRGlkIHNjcm9sbGluZyBzbmFwIHRvIHRo
ZSBzZWNvbmQgYm94PyBOTworU2Nyb2xsaW5nIGJvZHkgd2l0aCA2MCBkcmFnIHRpY2tzCistIERp
ZCB0aGUgc2Nyb2xsaW5nIHNuYXAgdG8gdGhlIHRvcD8gTk8KKy0gRGlkIHNjcm9sbGluZyBzbmFw
IHRvIHRoZSBzZWNvbmQgYm94PyBZRVMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5m
cmFtZS1sZWdhY3kuaHRtbCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUtbGVnYWN5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjUzMTM3ZmEzYmFmMjQ5ZjFmMDUyNDFiZWE1MzcwOGUwY2Y2NTk2YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUtbGVnYWN5Lmh0bWwKQEAgLTAsMCAr
MSw3OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgYm9keSB7CisgICAgICAgICAgICAgICAgbWFyZ2luOiAwOworICAg
ICAgICAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsK
KyAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBub25lOworICAgICAgICAgICAgICAgIG92ZXJm
bG93LXk6IHNjcm9sbDsKKyAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
ICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBwcm94aW1pdHk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIC5hcmVhIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKKyAg
ICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7
CisgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41OworICAgICAgICAgICAgICAgIHNjcm9sbC1z
bmFwLWFsaWduOiBzdGFydDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI291dHB1dCB7
CisgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICBsZXQgd3JpdGUgPSBzID0+IG91
dHB1dC5pbm5lckhUTUwgKz0gcyArICI8YnI+IjsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rp
b24gdmVydGljYWxTY3JvbGxJbkJvZHkoZHJhZ0RlbHRhcykKKyAgICAgICAgeworICAgICAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICAgICAgICAgIHdyaXRl
KGBTY3JvbGxpbmcgYm9keSB3aXRoICR7ZHJhZ0RlbHRhcy5sZW5ndGh9IGRyYWcgdGlja3NgKTsK
KyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAg
ICAgICAgICAgICBpbnRlcm5hbHMuc2V0UGxhdGZvcm1Nb21lbnR1bVNjcm9sbGluZ1ByZWRpY3Rp
b25FbmFibGVkKGZhbHNlKTsKKyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byh3aW5kb3cuaW5uZXJXaWR0aCAvIDIsIHdpbmRvdy5pbm5lckhlaWdodCAvIDIpOworICAgICAg
ICAgICAgICAgIGRyYWdEZWx0YXMuZm9yRWFjaCgoZGVsdGEsIGkpID0+IGV2ZW50U2VuZGVyLm1v
dXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCBkZWx0YSwgaSA9PSAwID8g
ImJlZ2FuIiA6ICJjaGFuZ2VkIiwgIm5vbmUiKSk7CisgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICJlbmRlZCIs
ICJub25lIik7CisgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVyU2Nyb2xsaW5n
Q29tcGxldGVzKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IGFyZWFIZWlnaHQgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYXJlYSIpLmNsaWVudEhlaWdodDsKKyAgICAgICAgICAg
ICAgICAgICAgd3JpdGUoYC0gRGlkIHRoZSBzY3JvbGxpbmcgc25hcCB0byB0aGUgdG9wPyAke2Rv
Y3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID09IDAgPyAiWUVTIiA6ICJOTyJ9YCk7
CisgICAgICAgICAgICAgICAgICAgIHdyaXRlKGAtIERpZCBzY3JvbGxpbmcgc25hcCB0byB0aGUg
c2Vjb25kIGJveD8gJHtkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9PSBhcmVh
SGVpZ2h0ID8gIllFUyIgOiAiTk8ifWApOworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5z
Y3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IDA7CisgICAgICAgICAgICAgICAgICAgIHNldFRp
bWVvdXQocmVzb2x2ZSwgMCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KTsK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHJ1bigpIHsKKyAgICAgICAgICAgIGlmICgh
d2luZG93LnRlc3RSdW5uZXIgfHwgIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAg
ICAgIHdyaXRlKCJUbyBtYW51YWxseSB0ZXN0LCB2ZXJpZnkgdGhhdCBzY3JvbGxpbmcgbmVhciBv
bmUgb2YgdGhlIGJvdW5kYXJpZXMgYmV0d2VlbiB0aGUgY29sb3JlZCBib3hlcyIpOworICAgICAg
ICAgICAgICAgIHdyaXRlKCJzbmFwcyB0byB0aGUgZWRnZSBvZiB0aGUgbmVhcmVzdCBjb2xvcmVk
IGJveCwgYnV0IHNjcm9sbGluZyBzb21ld2hlcmUgbmVhciB0aGUgbWlkZGxlIG9mIHR3byIpOwor
ICAgICAgICAgICAgICAgIHdyaXRlKCJib3hlcyBkb2VzIG5vdCBjYXVzZSB0aGUgc2Nyb2xsIG9m
ZnNldCB0byBzbmFwLiIpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgbGV0IGFyZWFIZWlnaHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIu
YXJlYSIpLmNsaWVudEhlaWdodDsKKyAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsSW5Cb2R5KG5l
dyBBcnJheSgyKS5maWxsKC0xKSkKKyAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB2ZXJ0aWNh
bFNjcm9sbEluQm9keShuZXcgQXJyYXkoTWF0aC5yb3VuZChhcmVhSGVpZ2h0IC8gMjApKS5maWxs
KC0xKSkpCisgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gdmVydGljYWxTY3JvbGxJbkJvZHko
bmV3IEFycmF5KE1hdGgucm91bmQoYXJlYUhlaWdodCAvIDEwKSkuZmlsbCgtMSkpKQorICAgICAg
ICAgICAgICAgIC50aGVuKCgpID0+IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpKTsKKyAgICAgICAg
fQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPXJ1bigp
PgorICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVk
OyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImFyZWEiIHN0eWxlPSJiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhIiBzdHlsZT0iYmFj
a2dyb3VuZC1jb2xvcjogYmx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhIiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYXF1YTsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJhcmVhIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9ImFyZWEiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyI+PC9k
aXY+CisgICAgPC9ib2R5PgorICAgIDxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFp
bmZyYW1lLmh0bWwKaW5kZXggMDA4YjExYzk2YjRmZDdiYTQ1OTFkMjJhMWU4YTgyZWQxM2FjM2Y1
Zi4uMjU5ZTZhNzdjMzBmMjYwZjc2OTk1MDc5ZmM4NjVlZmRjZGU3ZTEwZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtcHJveGltaXR5LW1haW5mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUu
aHRtbApAQCAtMiw2ICsyLDkgQEAKIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICBodG1sIHsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB5
IHByb3hpbWl0eTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJvZHkgewogICAgICAgICAg
ICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKQEAgLTksOSAr
MTIsNiBAQAogICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IG5vbmU7CiAgICAgICAgICAgICAg
ICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKLSAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB5IHByb3hpbWl0eTsKLSAgICAg
ICAgICAgICAgICAtd2Via2l0LXNjcm9sbC1zbmFwLXR5cGU6IHByb3hpbWl0eTsKLSAgICAgICAg
ICAgICAgICBzY3JvbGwtc25hcC10eXBlOiBwcm94aW1pdHk7CiAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIC5hcmVhIHsKQEAgLTIwLDggKzIwLDYgQEAKICAgICAgICAgICAgICAgICBmbG9h
dDogbGVmdDsKICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgICAgICAgICAg
c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OwotICAgICAgICAgICAgICAgIC13ZWJraXQtc2Nyb2xs
LXNuYXAtY29vcmRpbmF0ZTogMCAwOwotICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLWNvb3Jk
aW5hdGU6IDAgMDsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgI291dHB1dCB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413330</attachid>
            <date>2020-11-05 11:16:10 -0800</date>
            <delta_ts>2020-11-06 01:00:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210469-20201105201608.patch</filename>
            <type>text/plain</type>
            <size>42531</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlNTYzNThmNDQ1NGNk
NDI4Nzc0YTMwMTFmZTc2YzkyNTk5ZDAyMi4uYmQwMDlhOTE1NzU4ZDU1MzdjMjI4ZmI4ZDgwMTgw
NTZkZjI0MTA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIwLTExLTA1ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwgc25h
cCBzcGVjaWZpZWQgb24gOnJvb3QgZG9lc24ndCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxNzQ2Njc2PgorCisgICAgICAgIFByb3Blcmx5IGhhbmRsZSBzY3JvbGwtc25hcC10eXBlIG9u
IHRoZSByb290IGVsZW1lbnQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgb3JpZ2luYWxseSBi
YXNlZCBvbiBhIHBhdGNoIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
c2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLWxl
Z2FjeS5odG1sCisgICAgICAgICAgICAgICB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLWxlZ2FjeS5odG1s
CisgICAgICAgICAgICAgICB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3Jv
bGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS5odG1sCisKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVwZGF0ZVNuYXBP
ZmZzZXRzKTogU2VuZCB0aGUgYm9keSBvciByb290IGVsZW1lbnQgc3R5bGUgZGVwZW5kaW5nCisg
ICAgICAgIG9uIHdoZXJlIHRoZSBzY3JvbGwtc25hcCBwcm9wZXJ0aWVzIGFyZSBzZXQsIGJ1dCBh
bHdheXMgdXNlIHRoZSBGcmFtZVZpZXcgdmlld3BvcnQKKyAgICAgICAgd2hlbiBjYWxjdWxhdGlu
ZyBnZW9tZXRyeSBmb3Igc2Nyb2xsIHNuYXAuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXhp
c1Njcm9sbFNuYXBPZmZzZXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0ZVNuYXBPZmZz
ZXRzRm9yU2Nyb2xsYWJsZUFyZWEpOiBBY2NlcHQgYSB2aWV3cG9ydCByZWN0YW5nbGUgZnJvbSB0
aGUKKyAgICAgICAgY2FsbGVyIGFuZCBhbHNvIGVsaW1pbmF0ZSByZWR1bmRhbnQgYXJndW1lbnQg
dGhhdCB3YXMgY2F1c2luZyBhIGJpdCBvZiBjb25mdXNpb24uCisgICAgICAgICogcGFnZS9zY3Jv
bGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmg6IFVwZGF0ZSB0aGUgZnVuY3Rpb24gZGVjbGFy
YXRpb24uCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNsZWFyU25hcE9mZnNldHMpOiAgQWRkZWQgYSBoZWxw
ZXIgdG8gY2xlYXIgYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBzbmFwIGluZm8uCisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6ZmluZEVuY2xvc2luZ1Nj
cm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZyBjb25zdCk6IFJlbmFtZWQgZmluZEVuY2xvc2lu
Z1Njcm9sbGFibGVDb250YWluZXIKKyAgICAgICAgdG8gdGhpcyBiZWNhdXNlIG5vdyBpdCBpcyBv
bmx5IHVzZWZ1bCBmb3Igc2Nyb2xsIHNuYXBwaW5nLiBUaGUgb25seSBwcmVleGlzdGluZyBjYWxs
ZXIgd2FzCisgICAgICAgIHRoZSBzY3JvbGwgc25hcCBjb2RlLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94OjpmaW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lciBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOiBVcGRhdGVkIG1ldGhvZCBuYW1l
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6dXBkYXRlU25hcE9mZnNldHMpOiBVcGRhdGUgdG8gcmVmbGVjdCBjaGFu
Z2VzIHRvIHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEuCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6
OmVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZyBjb25zdCk6IEFsd2F5cyBy
ZXR1cm4gdGhlCisgICAgICAgIGRvY3VtZW50IHJvb3QgYXMgdGhlIGNvbnRhaW5lciBpbnN0ZWFk
IG9mIHRoZSBib2R5LiBUaGUgYm9keSBuZXZlciBjYXB0dXJlcyBzY3JvbGwKKyAgICAgICAgc25h
cCBwb2ludHMuCisKIDIwMjAtMTEtMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtJRkNdIEVtcHR5IGxpbmVzIHN0YXkgZW1wdHkgZXZlbiB3aGVuIHRo
ZSBpbWFnaW5hcnkgc3RydXQgaXMgcHJlc2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmlu
ZGV4IGY2YmE0MzhkZGRjNTZkOGU0NGY3YTYyMjE5YzNkMDMwMTkyODVmMjguLmEwODMzOGYwZWFj
MmI2N2NiNThkN2I5MTcwYmY1MzU1YjBhMDJlYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKQEAgLTkxMCwxMiArOTEwLDMwIEBAIHZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVTbmFwT2Zmc2V0
cygpCiAgICAgaWYgKCFmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IC8vIEZJWE1FOiBTaG91bGQgd2UgYWxsb3cgc3BlY2lmeWluZyBzbmFwIHBvaW50cyB0aHJvdWdo
IDxodG1sPiB0YWdzIHRvbz8KLSAgICBIVE1MRWxlbWVudCogYm9keSA9IGZyYW1lKCkuZG9jdW1l
bnQoKS0+Ym9keU9yRnJhbWVzZXQoKTsKLSAgICBpZiAoIXJlbmRlclZpZXcoKSB8fCAhYm9keSB8
fCAhYm9keS0+cmVuZGVyZXIoKSkKKyAgICBhdXRvJiBkb2N1bWVudCA9ICpmcmFtZSgpLmRvY3Vt
ZW50KCk7CisgICAgYXV0byogZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50KCk7CisgICAgUmVuZGVyQm94KiBib2R5UmVuZGVyZXIgPSBkb2N1bWVudC5ib2R5T3JGcmFt
ZXNldCgpID8gZG9jdW1lbnQuYm9keU9yRnJhbWVzZXQoKS0+cmVuZGVyQm94KCkgOiBudWxscHRy
OworICAgIFJlbmRlckJveCogcm9vdFJlbmRlcmVyID0gZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1l
bnRFbGVtZW50LT5yZW5kZXJCb3goKSA6IG51bGxwdHI7CisgICAgYXV0byByZW5kZXJlclN5bGVI
YXNTY3JvbGxTbmFwID0gW10oY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgeworICAgICAg
ICByZXR1cm4gcmVuZGVyZXIgJiYgcmVuZGVyZXItPnN0eWxlKCkuc2Nyb2xsU25hcFR5cGUoKS5z
dHJpY3RuZXNzICE9IFNjcm9sbFNuYXBTdHJpY3RuZXNzOjpOb25lOworICAgIH07CisKKyAgICBj
b25zdCBSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSA9IG51bGxwdHI7CisgICAgaWYgKHJlbmRlcmVy
U3lsZUhhc1Njcm9sbFNuYXAoYm9keVJlbmRlcmVyKSkgeworICAgICAgICAvLyAgVGhlIHNwZWNp
ZmljYXRpb24gZG9lc24ndCBhbGxvdyBzZXR0aW5nIHNjcm9sbC1zbmFwLXR5cGUgb24gdGhlIGJv
ZHksIGJ1dAorICAgICAgICAvLyAgd2UgZG8gdGhpcyB0byBlbnN1cmUgYmFja3dhcmRzIGNvbXBh
dGliaWxpdHkgd2l0aCBhbiBlYXJsaWVyIHZlcnNpb24gb2YgdGhlCisgICAgICAgIC8vICBzcGVj
aWZpY2F0aW9uOiBTZWUgd2Via2l0Lm9yZy9iLzIwMDY0My4KKyAgICAgICAgc3R5bGVUb1VzZSA9
ICZib2R5UmVuZGVyZXItPnN0eWxlKCk7CisgICAgfSBlbHNlIGlmIChyZW5kZXJlclN5bGVIYXNT
Y3JvbGxTbmFwKHJvb3RSZW5kZXJlcikpCisgICAgICAgIHN0eWxlVG9Vc2UgPSAmcm9vdFJlbmRl
cmVyLT5zdHlsZSgpOworCisgICAgaWYgKCFzdHlsZVRvVXNlIHx8ICFkb2N1bWVudEVsZW1lbnQp
IHsKKyAgICAgICAgY2xlYXJTbmFwT2Zmc2V0cygpOwogICAgICAgICByZXR1cm47Ci0gICAgCi0g
ICAgdXBkYXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxlQXJlYSgqdGhpcywgKmJvZHksICpyZW5k
ZXJWaWV3KCksIGJvZHktPnJlbmRlcmVyKCktPnN0eWxlKCkpOworICAgIH0KKworICAgIExheW91
dFJlY3Qgdmlld3BvcnQgPSBMYXlvdXRSZWN0KEludFBvaW50KCksIGJhc2VMYXlvdXRWaWV3cG9y
dFNpemUoKSk7CisgICAgdXBkYXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxlQXJlYSgqdGhpcywg
KnJvb3RSZW5kZXJlciwgKnN0eWxlVG9Vc2UsIHZpZXdwb3J0KTsKIH0KIAogYm9vbCBGcmFtZVZp
ZXc6OmlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHAKaW5kZXggNjhk
MmMwMDU0MjBmMDljNTYyZjU2ODhkOGYzMTkwMTZlMDc0Zjc2Ni4uMWI3Nzc5NWEyZjgxMWE4OTUy
ZDUxNjg0ZTlmZjE2OGY4MWQyZDgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9BeGlzU2Nyb2xsU25hcE9mZnNldHMuY3BwCkBAIC0xNjAsMTMgKzE2MCwx
MiBAQCBzdGF0aWMgdm9pZCBjb21wdXRlQXhpc1Byb3hpbWl0eVNuYXBPZmZzZXRSYW5nZXMoY29u
c3QgVmVjdG9yPExheW91dFVuaXQ+JiBzbmFwTwogICAgIH0KIH0KIAotdm9pZCB1cGRhdGVTbmFw
T2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwg
SFRNTEVsZW1lbnQmIHNjcm9sbGluZ0VsZW1lbnQsIGNvbnN0IFJlbmRlckJveCYgc2Nyb2xsaW5n
RWxlbWVudEJveCwgY29uc3QgUmVuZGVyU3R5bGUmIHNjcm9sbGluZ0VsZW1lbnRTdHlsZSkKK3Zv
aWQgdXBkYXRlU25hcE9mZnNldHNGb3JTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSYgc2Ny
b2xsYWJsZUFyZWEsIGNvbnN0IFJlbmRlckJveCYgc2Nyb2xsaW5nRWxlbWVudEJveCwgY29uc3Qg
UmVuZGVyU3R5bGUmIHNjcm9sbGluZ0VsZW1lbnRTdHlsZSwgTGF5b3V0UmVjdCB2aWV3cG9ydFJl
Y3RJbkJvcmRlckJveENvb3JkaW5hdGVzKQogewotICAgIGF1dG8qIHNjcm9sbENvbnRhaW5lciA9
IHNjcm9sbGluZ0VsZW1lbnQucmVuZGVyZXIoKTsKICAgICBhdXRvIHNjcm9sbFNuYXBUeXBlID0g
c2Nyb2xsaW5nRWxlbWVudFN0eWxlLnNjcm9sbFNuYXBUeXBlKCk7Ci0gICAgaWYgKCFzY3JvbGxD
b250YWluZXIgfHwgc2Nyb2xsU25hcFR5cGUuc3RyaWN0bmVzcyA9PSBTY3JvbGxTbmFwU3RyaWN0
bmVzczo6Tm9uZSB8fCBzY3JvbGxDb250YWluZXItPnZpZXcoKS5ib3hlc1dpdGhTY3JvbGxTbmFw
UG9zaXRpb25zKCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHNjcm9sbGFibGVBcmVhLmNsZWFySG9y
aXpvbnRhbFNuYXBPZmZzZXRzKCk7Ci0gICAgICAgIHNjcm9sbGFibGVBcmVhLmNsZWFyVmVydGlj
YWxTbmFwT2Zmc2V0cygpOworICAgIGNvbnN0IEhhc2hTZXQ8Y29uc3QgUmVuZGVyQm94Kj4mIGJv
eGVzV2l0aFNjcm9sbFNuYXBQb3NpdGlvbnMgPSBzY3JvbGxpbmdFbGVtZW50Qm94LnZpZXcoKS5i
b3hlc1dpdGhTY3JvbGxTbmFwUG9zaXRpb25zKCk7CisgICAgaWYgKHNjcm9sbFNuYXBUeXBlLnN0
cmljdG5lc3MgPT0gU2Nyb2xsU25hcFN0cmljdG5lc3M6Ok5vbmUgfHwgYm94ZXNXaXRoU2Nyb2xs
U25hcFBvc2l0aW9ucy5pc0VtcHR5KCkpIHsKKyAgICAgICAgc2Nyb2xsYWJsZUFyZWEuY2xlYXJT
bmFwT2Zmc2V0cygpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xODQsMTYgKzE4Mywx
NiBAQCB2b2lkIHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFy
ZWEmIHNjcm9sbGFibGVBcmVhLCBIVE1MRWxlbQogICAgIGJvb2wgc2Nyb2xsZXJJc1JUTCA9ICFz
Y3JvbGxpbmdFbGVtZW50Qm94LnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOwogCiAg
ICAgLy8gVGhlIGJvdW5kcyBvZiB0aGUgc2Nyb2xsaW5nIGNvbnRhaW5lcidzIHNuYXAgcG9ydCwg
d2hlcmUgdGhlIHRvcCBsZWZ0IG9mIHRoZSBzY3JvbGxpbmcgY29udGFpbmVyJ3MgYm9yZGVyIGJv
eCBpcyB0aGUgb3JpZ2luLgotICAgIGF1dG8gc2Nyb2xsU25hcFBvcnQgPSBjb21wdXRlU2Nyb2xs
U25hcFBvcnRPckFyZWFSZWN0KHNjcm9sbGluZ0VsZW1lbnRCb3gucGFkZGluZ0JveFJlY3QoKSwg
c2Nyb2xsaW5nRWxlbWVudFN0eWxlLnNjcm9sbFBhZGRpbmcoKSwgSW5zZXRPck91dHNldDo6SW5z
ZXQpOworICAgIGF1dG8gc2Nyb2xsU25hcFBvcnQgPSBjb21wdXRlU2Nyb2xsU25hcFBvcnRPckFy
ZWFSZWN0KHZpZXdwb3J0UmVjdEluQm9yZGVyQm94Q29vcmRpbmF0ZXMsIHNjcm9sbGluZ0VsZW1l
bnRTdHlsZS5zY3JvbGxQYWRkaW5nKCksIEluc2V0T3JPdXRzZXQ6Okluc2V0KTsKICAgICBMT0df
V0lUSF9TVFJFQU0oU2Nyb2xsU25hcCwgc3RyZWFtIDw8ICJDb21wdXRpbmcgc2Nyb2xsIHNuYXAg
b2Zmc2V0cyBmb3IgIiA8PCBzY3JvbGxhYmxlQXJlYSA8PCAiIGluIHNuYXAgcG9ydCAiIDw8IHNj
cm9sbFNuYXBQb3J0KTsKLSAgICBmb3IgKGF1dG8qIGNoaWxkIDogc2Nyb2xsQ29udGFpbmVyLT52
aWV3KCkuYm94ZXNXaXRoU2Nyb2xsU25hcFBvc2l0aW9ucygpKSB7Ci0gICAgICAgIGlmIChjaGls
ZC0+ZW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZvclNuYXBwaW5nKCkgIT0gc2Nyb2xsQ29u
dGFpbmVyKQorICAgIGZvciAoYXV0byogY2hpbGQgOiBib3hlc1dpdGhTY3JvbGxTbmFwUG9zaXRp
b25zKSB7CisgICAgICAgIGlmIChjaGlsZC0+ZW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZv
clNuYXBwaW5nKCkgIT0gJnNjcm9sbGluZ0VsZW1lbnRCb3gpCiAgICAgICAgICAgICBjb250aW51
ZTsKIAogICAgICAgICAvLyBUaGUgYm91bmRzIG9mIHRoZSBjaGlsZCBlbGVtZW50J3Mgc25hcCBh
cmVhLCB3aGVyZSB0aGUgdG9wIGxlZnQgb2YgdGhlIHNjcm9sbGluZyBjb250YWluZXIncyBib3Jk
ZXIgYm94IGlzIHRoZSBvcmlnaW4uCiAgICAgICAgIC8vIFRoZSBzbmFwIGFyZWEgaXMgdGhlIGJv
dW5kaW5nIGJveCBvZiB0aGUgY2hpbGQgZWxlbWVudCdzIGJvcmRlciBib3gsIGFmdGVyIGFwcGx5
aW5nIHRyYW5zZm9ybWF0aW9ucy4KICAgICAgICAgLy8gRklYTUU6IEZvciBub3csIGp1c3QgY29u
c2lkZXIgd2hldGhlciB0aGUgc2Nyb2xsZXIgaXMgUlRMLiBUaGUgYmVoYXZpb3Igb2YgTFRSIGJv
eGVzIGluc2lkZSBhIFJUTCBzY3JvbGxlciBpcyBwb29ybHkgZGVmaW5lZDogaHR0cHM6Ly9naXRo
dWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzUzNjEuCi0gICAgICAgIGF1dG8gc2Nyb2xs
U25hcEFyZWEgPSBMYXlvdXRSZWN0KGNoaWxkLT5sb2NhbFRvQ29udGFpbmVyUXVhZChGbG9hdFF1
YWQoY2hpbGQtPmJvcmRlckJvdW5kaW5nQm94KCkpLCBzY3JvbGxpbmdFbGVtZW50LnJlbmRlckJv
eCgpKS5ib3VuZGluZ0JveCgpKTsKKyAgICAgICAgYXV0byBzY3JvbGxTbmFwQXJlYSA9IExheW91
dFJlY3QoY2hpbGQtPmxvY2FsVG9Db250YWluZXJRdWFkKEZsb2F0UXVhZChjaGlsZC0+Ym9yZGVy
Qm91bmRpbmdCb3goKSksICZzY3JvbGxpbmdFbGVtZW50Qm94KS5ib3VuZGluZ0JveCgpKTsKIAog
ICAgICAgICAvLyBsb2NhbFRvQ29udGFpbmVyUXVhZCB3aWxsIHRyYW5zZm9ybSB0aGUgc2Nyb2xs
IHNuYXAgYXJlYSBieSB0aGUgc2Nyb2xsIHBvc2l0aW9uLCBleGNlcHQgaW4gdGhlIGNhc2UgdGhh
dCB0aGlzIHBvc2l0aW9uIGlzCiAgICAgICAgIC8vIGNvbWluZyBmcm9tIGEgU2Nyb2xsVmlldy4g
V2Ugd2FudCB0aGUgdHJhbnNmb3JtZWQgYXJlYSwgYnV0IHdpdGhvdXQgc2Nyb2xsIHBvc2l0aW9u
IHRha2VuIGludG8gYWNjb3VudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmgKaW5kZXggZTEzOTNmYjdiOWFhOGM3OWI4Yzc0
MDRhMjdhZmY3MWI2NTNiMWQxYS4uYmRiNjhhZWJkNDAyN2ExMmUxOGVhNWQ3OTQwNzlmN2E5YjA4
MjY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXhpc1Njcm9s
bFNuYXBPZmZzZXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXhpc1Nj
cm9sbFNuYXBPZmZzZXRzLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShDU1NfU0NS
T0xMX1NOQVApCiAKKyNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0VW5p
dC5oIgogI2luY2x1ZGUgIlNjcm9sbFNuYXBPZmZzZXRzSW5mby5oIgogI2luY2x1ZGUgIlNjcm9s
bFR5cGVzLmgiCkBAIC0zOSw3ICs0MCwxMCBAQCBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5k
ZXJTdHlsZTsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogCi12b2lkIHVwZGF0ZVNuYXBPZmZzZXRz
Rm9yU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEmLCBIVE1MRWxlbWVudCYgc2Nyb2xsaW5n
RWxlbWVudCwgY29uc3QgUmVuZGVyQm94JiBzY3JvbGxpbmdFbGVtZW50Qm94LCBjb25zdCBSZW5k
ZXJTdHlsZSYgc2Nyb2xsaW5nRWxlbWVudFN0eWxlKTsKKy8vIFVwZGF0ZSB0aGUgc25hcCBvZmZz
ZXRzIGZvciB0aGlzIHNjcm9sbGFibGUgYXJlYSwgZ2l2ZW4gdGhlIFJlbmRlckJveCBvZiB0aGUg
c2Nyb2xsIGNvbnRhaW5lciwgdGhlIFJlbmRlclN0eWxlCisvLyB3aGljaCBkZWZpbmVzIHRoZSBz
Y3JvbGwtc25hcCBwcm9wZXJ0aWVzLCBhbmQgdGhlIHZpZXdwb3J0IHJlY3RhbmdsZSB3aXRoIHRo
ZSBvcmlnaW4gYXQgdGhlIHRvcCBsZWZ0IG9mCisvLyB0aGUgc2Nyb2xsaW5nIGNvbnRhaW5lcidz
IGJvcmRlciBib3guCit2b2lkIHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoU2Ny
b2xsYWJsZUFyZWEmLCBjb25zdCBSZW5kZXJCb3gmIHNjcm9sbGluZ0VsZW1lbnRCb3gsIGNvbnN0
IFJlbmRlclN0eWxlJiBzY3JvbGxpbmdFbGVtZW50U3R5bGUsIExheW91dFJlY3Qgdmlld3BvcnRS
ZWN0SW5Cb3JkZXJCb3hDb29yZGluYXRlcyk7CiAKIGNvbnN0IHVuc2lnbmVkIGludmFsaWRTbmFw
T2Zmc2V0SW5kZXggPSBVSU5UX01BWDsKIFdFQkNPUkVfRVhQT1JUIExheW91dFVuaXQgY2xvc2Vz
dFNuYXBPZmZzZXQoY29uc3QgVmVjdG9yPExheW91dFVuaXQ+JiBzbmFwT2Zmc2V0cywgY29uc3Qg
VmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+PiYgc25hcE9mZnNldFJhbmdlcywg
TGF5b3V0VW5pdCBzY3JvbGxEZXN0aW5hdGlvbiwgZmxvYXQgdmVsb2NpdHksIHVuc2lnbmVkJiBh
Y3RpdmVTbmFwSW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEu
Y3BwCmluZGV4IDY2YzgzZTdkZGE1ZDBhZDdlZjAyMTAzNDFmNTRiZjUzYTQ2MjA5MjUuLmJlMWE5
YTRkNmU4MjY2ZmU0ODNkZjcyZDAwOWFmNzZmOTcxY2ExYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTUyMSw2ICs1MjEsMTIgQEAgdm9pZCBTY3Jv
bGxhYmxlQXJlYTo6c2V0VmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKGNvbnN0IFZlY3RvcjxTY3Jv
bGxPZmZzZXRSYW5nZTwKICAgICBlbnN1cmVTbmFwT2Zmc2V0c0luZm8oKS52ZXJ0aWNhbFNuYXBP
ZmZzZXRSYW5nZXMgPSB2ZXJ0aWNhbFJhbmdlczsKIH0KIAordm9pZCBTY3JvbGxhYmxlQXJlYTo6
Y2xlYXJTbmFwT2Zmc2V0cygpCit7CisgICAgY2xlYXJIb3Jpem9udGFsU25hcE9mZnNldHMoKTsK
KyAgICBjbGVhclZlcnRpY2FsU25hcE9mZnNldHMoKTsKK30KKwogdm9pZCBTY3JvbGxhYmxlQXJl
YTo6Y2xlYXJIb3Jpem9udGFsU25hcE9mZnNldHMoKQogewogICAgIGlmICghbV9zbmFwT2Zmc2V0
c0luZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCAzODdh
ZDI4NWMyMGRkOGZkNWViYTI3ZjY2NWVlZTg1MTgzZTc3YzZmLi5lODFkZWFmNTBkMDU3YmFjNGQ1
NzYyNjE2OWNkZWYyZjU1NjA3MmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmgKQEAgLTk1LDYgKzk1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmVydGljYWxT
bmFwT2Zmc2V0cyhjb25zdCBWZWN0b3I8TGF5b3V0VW5pdD4mKTsKICAgICB2b2lkIHNldEhvcml6
b250YWxTbmFwT2Zmc2V0UmFuZ2VzKGNvbnN0IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5nZTxMYXlv
dXRVbml0Pj4mKTsKICAgICB2b2lkIHNldFZlcnRpY2FsU25hcE9mZnNldFJhbmdlcyhjb25zdCBW
ZWN0b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8TGF5b3V0VW5pdD4+Jik7CisgICAgdm9pZCBjbGVhclNu
YXBPZmZzZXRzKCk7CiAgICAgdm9pZCBjbGVhckhvcml6b250YWxTbmFwT2Zmc2V0cygpOwogICAg
IHZvaWQgY2xlYXJWZXJ0aWNhbFNuYXBPZmZzZXRzKCk7CiAgICAgdW5zaWduZWQgY3VycmVudEhv
cml6b250YWxTbmFwUG9pbnRJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudEhvcml6b250
YWxTbmFwUG9pbnRJbmRleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApp
bmRleCA2Mzk1MmQwZWExODg5ZGQ1NmU5NmYyMGJmYmQzMTgyYTExM2ZiZjZhLi4xYzFkYjk4MmFm
M2U1MWI1MjA0MmVjNDkwZDg5YTdjOWM0N2NlMzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcApAQCAtNTA0MCwxNyArNTA0MCwxOCBAQCBMYXlvdXRVbml0IFJlbmRlckJv
eDo6b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIGNv
bnRhaW5lckJsb2NrLT5vZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2Fs
VG9wKCk7CiB9CiAKLWNvbnN0IFJlbmRlckJveCogUmVuZGVyQm94OjpmaW5kRW5jbG9zaW5nU2Ny
b2xsYWJsZUNvbnRhaW5lcigpIGNvbnN0Citjb25zdCBSZW5kZXJCb3gqIFJlbmRlckJveDo6Zmlu
ZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpIGNvbnN0CiB7CiAgICAg
Zm9yIChhdXRvJiBjYW5kaWRhdGUgOiBsaW5lYWdlT2ZUeXBlPFJlbmRlckJveD4oKnRoaXMpKSB7
CiAgICAgICAgIGlmIChjYW5kaWRhdGUuaGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gJmNhbmRpZGF0ZTsKICAgICB9Ci0gICAgLy8gSWYgYWxsIHBhcmVudCBlbGVtZW50cyBh
cmUgbm90IG92ZXJmbG93IHNjcm9sbGFibGUsIGNoZWNrIHRoZSBib2R5LgotICAgIC8vIEZJWE1F
OiBXZSBzaG91bGQgbm90IHRyZWF0IHRoZSBib2R5IGFzIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQg
KHNlZSB3ZWJraXQub3JnL2IvMjEwNDY5KS4KLSAgICBpZiAoZG9jdW1lbnQoKS5ib2R5KCkgJiYg
ZnJhbWUoKS52aWV3KCkgJiYgZnJhbWUoKS52aWV3KCktPmlzU2Nyb2xsYWJsZSgpKQotICAgICAg
ICByZXR1cm4gZG9jdW1lbnQoKS5ib2R5KCktPnJlbmRlckJveCgpOwotICAgIAorCisgICAgLy8g
SWYgYWxsIHBhcmVudCBlbGVtZW50cyBhcmUgbm90IG92ZXJmbG93IHNjcm9sbGFibGUgYW5kIHRo
ZSBmcmFtZSBpcywgdGhlbiByZXR1cm4KKyAgICAvLyB0aGUgcm9vdCBlbGVtZW50LgorICAgIGlm
IChkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpICYmIGZyYW1lKCkudmlldygpICYmIGZyYW1l
KCkudmlldygpLT5pc1Njcm9sbGFibGUoKSkKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50KCkuZG9j
dW1lbnRFbGVtZW50KCktPnJlbmRlckJveCgpOworCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBlMDgxNDVkOGUwZTlmNjI2MTMw
MzliMTZlNGExNjBhYzE3OWNhZWMwLi44NTZhNDIyMzc1MzRlMTA1NjU1YjQ3NGU0ZjNiMjdhYmI5
ZjI5ODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC02MzcsNyArNjM3
LDcgQEAgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5IYXZlT3V0c2lkZUZyYWdtZW50UmFuZ2UoKSBj
b25zdCB7IHJldHVybiAhaXNJbkZsb3dSZW5kZXJGcmFnbWVudGVkRmxvdygpOyB9CiAgICAgdmly
dHVhbCBib29sIG5lZWRzTGF5b3V0QWZ0ZXJGcmFnbWVudFJhbmdlQ2hhbmdlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIAotICAgIGNvbnN0IFJlbmRlckJveCogZmluZEVuY2xvc2luZ1Njcm9s
bGFibGVDb250YWluZXIoKSBjb25zdDsKKyAgICBjb25zdCBSZW5kZXJCb3gqIGZpbmRFbmNsb3Np
bmdTY3JvbGxhYmxlQ29udGFpbmVyRm9yU25hcHBpbmcoKSBjb25zdDsKICAgICAKICAgICBib29s
IGlzR3JpZEl0ZW0oKSBjb25zdCB7IHJldHVybiBwYXJlbnQoKSAmJiBwYXJlbnQoKS0+aXNSZW5k
ZXJHcmlkKCkgJiYgIWlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCk7IH0KICAgICBib29sIGlz
RmxleEl0ZW0oKSBjb25zdCB7IHJldHVybiBwYXJlbnQoKSAmJiBwYXJlbnQoKS0+aXNGbGV4aWJs
ZUJveCgpICYmICFpc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBlMDI4MGM4MmY1YzIyYjM1ZmJkMzIyMmY4
YmQ4ZmM2NDkzNzE0OTZkLi4yMmZmYzM4ZjdhMzFiOTNjMzc0OTNiOTYxYTlhMGM1N2E1YzkxOWJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTM1OTIsNyAr
MzU5Miw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNuYXBPZmZzZXRzKCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgUmVuZGVyQm94KiBib3ggPSBlbmNsb3NpbmdFbGVtZW50KCktPnJlbmRl
ckJveCgpOwotICAgIHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoKnRoaXMsICpk
b3duY2FzdDxIVE1MRWxlbWVudD4oZW5jbG9zaW5nRWxlbWVudCgpKSwgKmJveCwgYm94LT5zdHls
ZSgpKTsKKyAgICB1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKCp0aGlzLCAqYm94
LCBib3gtPnN0eWxlKCksIGJveC0+cGFkZGluZ0JveFJlY3QoKSk7CiB9CiAKIGJvb2wgUmVuZGVy
TGF5ZXI6OmlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA4OGExN2M1MDBlMjBmY2ZjMzMyNDgwMDU4ZGNh
Y2JmYmNmODI4OGE0Li5jZGI3ZmYzNjJlYzEzOGNiYmVkMzljN2RiYTcwZmI1ODI1NTlhNGY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNDU1LDEyICs0
NTUsMTIgQEAgUmVuZGVyQm94TW9kZWxPYmplY3QmIFJlbmRlck9iamVjdDo6ZW5jbG9zaW5nQm94
TW9kZWxPYmplY3QoKSBjb25zdAogY29uc3QgUmVuZGVyQm94KiBSZW5kZXJPYmplY3Q6OmVuY2xv
c2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpIGNvbnN0CiB7CiAgICAgYXV0byYg
cmVuZGVyQm94ID0gZW5jbG9zaW5nQm94KCk7Ci0gICAgaWYgKGF1dG8qIHNjcm9sbGFibGVDb250
YWluZXIgPSByZW5kZXJCb3guZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIoKSkgewor
ICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQ29udGFpbmVyID0gcmVuZGVyQm94LmZpbmRFbmNsb3Np
bmdTY3JvbGxhYmxlQ29udGFpbmVyRm9yU25hcHBpbmcoKSkgewogICAgICAgICAvLyBUaGUgc2Ny
b2xsYWJsZSBjb250YWluZXIgZm9yIHNuYXBwaW5nIGNhbm5vdCBiZSB0aGUgbm9kZSBpdHNlbGYu
CiAgICAgICAgIGlmIChzY3JvbGxhYmxlQ29udGFpbmVyICE9IHRoaXMpCiAgICAgICAgICAgICBy
ZXR1cm4gc2Nyb2xsYWJsZUNvbnRhaW5lcjsKICAgICAgICAgaWYgKHJlbmRlckJveC5wYXJlbnRC
b3goKSkKLSAgICAgICAgICAgIHJldHVybiByZW5kZXJCb3gucGFyZW50Qm94KCktPmZpbmRFbmNs
b3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKCk7CisgICAgICAgICAgICByZXR1cm4gcmVuZGVyQm94
LnBhcmVudEJveCgpLT5maW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZvclNuYXBwaW5n
KCk7CiAgICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY3MzJlMTNiZGVkNzhm
MzFlMTA1ODc0ODQ3YTM2MGRmZDVlY2M4NTUuLjdlM2Q4MTAwZWRiYjk5NjMzYTEwYjJhMjUyZWY2
NDg4M2MxZTA0ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMC0xMS0wNSAgTWFydGluIFJv
Ymluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgU2Nyb2xsIHNuYXAgc3Bl
Y2lmaWVkIG9uIDpyb290IGRvZXNuJ3Qgd29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDY5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MTc0
NjY3Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
b2RpZmllZCBtYWluIGZyYW1lIHNjcm9sbCBzbmFwIHRlc3RzIHRvIHJlZmxlY3QgdGhlIHNwZWNp
ZmljYXRpb24gYW5kIGFkZCBhCisgICAgICAgIGZldyBtb3JlIHRlc3RzIHRvIHRlc3QgdGhlIGxl
Z2FjeSBiZWhhdmlvciB3aGljaCB0aGlzIGNoYW5nZSBtYWludGFpbnMgZm9yCisgICAgICAgIGJh
Y2t3YXJkcyBjb21wYXRpYmlsaXR5LgorCisgICAgICAgICogY3NzMy9zY3JvbGwtc25hcC9zY3Jv
bGwtc25hcC1wb3NpdGlvbnMtbWFpbmZyYW1lLmh0bWw6CisgICAgICAgICogdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1o
b3Jpem9udGFsLWxlZ2FjeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHRpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJh
bWUtaG9yaXpvbnRhbC1sZWdhY3kuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5m
cmFtZS1ob3Jpem9udGFsLmh0bWwuCisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
c2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLmh0
bWw6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xs
LXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LWhvcml6b250YWwuaHRtbDoKKyAgICAgICAg
KiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRv
cnktbWFpbmZyYW1lLXNsb3ctdmVydGljYWwuaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZl
cnRpY2FsLWxlZ2FjeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHRpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUt
dmVydGljYWwtbGVnYWN5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUt
dmVydGljYWwuaHRtbC4KKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLXRoZW4taG9yaXpv
bnRhbC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFw
L3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwuaHRtbDoKKyAgICAgICAg
KiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1p
dHktbWFpbmZyYW1lLWxlZ2FjeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHRpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWlu
ZnJhbWUtbGVnYWN5Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUuaHRt
bC4KKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwt
c25hcC1wcm94aW1pdHktbWFpbmZyYW1lLmh0bWw6CisKIDIwMjAtMTEtMDEgIE1hc29uIFhpYW8g
IDxtZUBtYXNvbnguY2E+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1MjY4OSk6IGJveC1zaGFk
b3cgd2l0aCBpbnNldCBhbmQgbmVnYXRpdmUgc3ByZWFkIHJlbmRlcnMgaW5jb3JyZWN0bHkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcG9zaXRp
b25zLW1haW5mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwt
c25hcC1wb3NpdGlvbnMtbWFpbmZyYW1lLmh0bWwKaW5kZXggZDE3Y2Q2N2U1ZmI3ODZmM2ZmOGE5
MWNhODA0NGExM2M1MTAwMzg5ZC4uZWZkYzhhM2VhYWRiYjQ2OGRlYmIxYTU4N2MyMjAxMDk3MTk3
ZGIzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1wb3NpdGlvbnMtbWFpbmZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1wb3NpdGlvbnMtbWFpbmZyYW1lLmh0bWwKQEAgLTEsMTEgKzEsMTMg
QEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHN0eWxlPgotICAgICAgICBib2R5IHsKKyAgICAgICAg
aHRtbCB7CiAgICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgICBzY3JvbGwtc25hcC10
eXBlOiB5IG1hbmRhdG9yeTsKICAgICAgICAgfQotCisgICAgICAgIGJvZHkgeworICAgICAgICAg
ICAgbWFyZ2luOiAwOworICAgICAgICB9CiAgICAgICAgIC52ZXJ0aWNhbCB7CiAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgIGhlaWdodDogNjAwcHg7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtbGVnYWN5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC1sZWdhY3ktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMwOWQ0ODY4ZTlkMjA0YzVkNDhlNjMwNDAwNjg2ZTQ0MDgwMTBmODAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtbGVnYWN5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1BBU1MgZGl2IHNjcm9sbGVkIHRvIG5leHQgd2luZG93
LgorUEFTUyBkaXYgaG9ub3JlZCBzbmFwIHBvaW50cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLWhvcml6b250YWwtbGVnYWN5Lmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhv
cml6b250YWwtbGVnYWN5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q0MGFmZjgwZjBkNDk0MjMwZmRlMDE0
ZDAzYWYyMmEyNzg1NTkwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJh
bWUtaG9yaXpvbnRhbC1sZWdhY3kuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLmhv
cml6b250YWxHYWxsZXJ5IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogNjAwdnc7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKKyAgICAgICAgICAgICAgICBtYXJnaW46IDA7CisgICAg
ICAgICAgICAgICAgcGFkZGluZzogMDsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBl
OiB4IG1hbmRhdG9yeTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5jb2xvckJveCB7Cisg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAw
dnc7CisgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICAgICAgICAgICAgc2Nyb2xs
LXNuYXAtYWxpZ246IHN0YXJ0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2l0ZW0wIHsg
YmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjaXRlbTEgeyBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsgfQorICAgICAgICAgICAgI2l0ZW0yIHsgYmFja2dyb3VuZC1jb2xvcjog
Ymx1ZTsgfQorICAgICAgICAgICAgI2l0ZW0zIHsgYmFja2dyb3VuZC1jb2xvcjogYXF1YTsgfQor
ICAgICAgICAgICAgI2l0ZW00IHsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyB9CisgICAgICAg
ICAgICAjaXRlbTUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CisgICAgICAgIDwvc3R5
bGU+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICB2YXIgdGFyZ2V0U2Nyb2xsZXI7CisgICAgICAgIHZhciBzY3Jv
bGxQb3NpdGlvbkJlZm9yZUdsaWRlOworICAgICAgICB2YXIgc2Nyb2xsUG9zaXRpb25CZWZvcmVT
bmFwOworCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsU25hcCgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIC8vIFRoZSBkaXYgc2hvdWxkIGhhdmUgc25hcHBlZCBiYWNrIHRvIHRoZSBw
cmV2aW91cyBwb3NpdGlvbgorICAgICAgICAgICAgaWYgKHRhcmdldFNjcm9sbGVyLnNjcm9sbExl
ZnQgIT0gc2Nyb2xsUG9zaXRpb25CZWZvcmVTbmFwKQorICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoImRpdiBkaWQgbm90IHNuYXAgYmFjayB0byBwcm9wZXIgbG9jYXRpb24uIEV4cGVjdGVkICIg
KyBzY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXAgKyAiLCBidXQgZ290ICIgKyB0YXJnZXRTY3JvbGxl
ci5zY3JvbGxMZWZ0KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJkaXYgaG9ub3JlZCBzbmFwIHBvaW50cy4iKTsKKworICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzY3JvbGxTbmFwVGVzdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uQmVmb3JlU25hcCA9IHRhcmdldFNj
cm9sbGVyLnNjcm9sbExlZnQ7CisKKyAgICAgICAgICAgIHZhciBzdGFydFBvc1ggPSB0YXJnZXRT
Y3JvbGxlci5vZmZzZXRMZWZ0ICsgMjA7CisgICAgICAgICAgICB2YXIgc3RhcnRQb3NZID0gdGFy
Z2V0U2Nyb2xsZXIub2Zmc2V0VG9wICsgMjA7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb25p
dG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0
YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8gTWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUgdGhl
IGlGcmFtZQorICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFu
ZE1vbWVudHVtUGhhc2VzKC0xLCAwLCAnYmVnYW4nLCAnbm9uZScpOworICAgICAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKC0xLCAwLCAn
Y2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoLTEsIDAsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAg
ICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAwLCAnZW5kZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY2Fs
bEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsU25hcCk7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBjaGVja0ZvclNjcm9sbEdsaWRlKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgLy8gVGhlIGRpdiBzaG91bGQgaGF2ZSBzY3JvbGxlZCAoZ2xpZGVkKSB0byB0aGUg
bmV4dCBzbmFwIHBvaW50LgorICAgICAgICAgICAgaWYgKHRhcmdldFNjcm9sbGVyLnNjcm9sbExl
ZnQgPT0gd2luZG93LmlubmVyV2lkdGgpCisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiZGl2
IHNjcm9sbGVkIHRvIG5leHQgd2luZG93LiIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoImRpdiBkaWQgbm90IGhvbm9yIHNuYXAgcG9pbnRzLiBFeHBlY3Rl
ZCAiICsgd2luZG93LmlubmVyV2lkdGggKyAiLCBidXQgZ290ICIgKyB0YXJnZXRTY3JvbGxlci5z
Y3JvbGxMZWZ0KTsKKworICAgICAgICAgICAgc2V0VGltZW91dChzY3JvbGxTbmFwVGVzdCwgMCk7
CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzY3JvbGxHbGlkZVRlc3QoKQorICAgICAg
ICB7CisgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbkJlZm9yZUdsaWRlID0gdGFyZ2V0U2Nyb2xs
ZXIuc2Nyb2xsTGVmdDsKKworICAgICAgICAgICAgdmFyIHN0YXJ0UG9zWCA9IHRhcmdldFNjcm9s
bGVyLm9mZnNldExlZnQgKyAyMDsKKyAgICAgICAgICAgIHZhciBzdGFydFBvc1kgPSB0YXJnZXRT
Y3JvbGxlci5vZmZzZXRUb3AgKyAyMDsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JX
aGVlbEV2ZW50cygpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQ
b3NYLCBzdGFydFBvc1kpOyAvLyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZy
YW1lCisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9t
ZW50dW1QaGFzZXMoLTEsIDAsICdiZWdhbicsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoLTEsIDAsICdjaGFu
Z2VkJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygtMSwgMCwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KC0xLCAwLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUn
KTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21l
bnR1bVBoYXNlcygtMSwgMCwgJ25vbmUnLCAnYmVnaW4nKTsKKyAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygtMSwgMCwgJ25vbmUn
LCAnY29udGludWUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnbm9uZScsICdlbmQnKTsKKyAgICAgICAgICAg
IGV2ZW50U2VuZGVyLmNhbGxBZnRlclNjcm9sbGluZ0NvbXBsZXRlcyhjaGVja0ZvclNjcm9sbEds
aWRlKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHRhcmdldFNjcm9sbGVyID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudDsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0UGxhdGZvcm1Nb21lbnR1bVNjcm9sbGluZ1ByZWRpY3Rpb25FbmFibGVkKGZh
bHNlKTsKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbEdsaWRlVGVzdCwgMCk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaXRlbTAnKTsKKyAgICAgICAgICAgICAgICB2YXIg
bWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgICAg
IG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxwPlRoaXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVyIER1
bXBSZW5kZXJUcmVlLiBUbyBtYW51YWxseSB0ZXN0IGl0LCBwbGFjZSB0aGUgbW91c2UgcG9pbnRl
cjxici8+IgorICAgICAgICAgICAgICAgICAgICArICJpbnNpZGUgdGhlIHJlZCByZWdpb24gYXQg
dGhlIHRvcCBvZiB0aGUgcGFnZSwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBhIHR3
by1maW5nZXIgc3dpcGUgdG8gbWFrZSBhPGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgInNt
YWxsIHN3aXBlIGdlc3R1cmUgd2l0aCBzb21lIG1vbWVudHVtLjxici8+PGJyLz4iCisgICAgICAg
ICAgICAgICAgICAgICsgIlRoZSByZWdpb24gc2hvdWxkIHNjcm9sbCB0byBzaG93IGEgZ3JlZW4g
cmVnaW9uLjxici8+PGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgIk5leHQsIHBlcmZvcm0g
YSBzbWFsbCBzY3JvbGwgZ2VzdHVyZSB0aGF0IGRvZXMgbm90IGludm9sdmUgbW9tZW50dW0uIFlv
dSBzaG91bGQgYmVnaW4gdG8gc2VlIG9uZSBvZiB0aGUgY29sb3JzPGJyLz4iCisgICAgICAgICAg
ICAgICAgICAgICsgInRvIHRoZSBsZWZ0IChvciByaWdodCkgb2YgdGhlIGN1cnJlbnQgZ3JlZW4g
Ym94LiBXaGVuIHlvdSByZWxlYXNlIHRoZSB3aGVlbCwgdGhlIHJlZ2lvbiBzaG91bGQgc2Nyb2xs
IGJhY2sgc288YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAidGhhdCB0aGUgcmVnaW9uIGlz
IGEgc2luZ2xlIGNvbG9yLjxici8+PGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgIllvdSBz
aG91bGQgYWxzbyBiZSBhYmxlIHRvIHJlcGVhdCB0aGVzZSB0ZXN0IHN0ZXBzIGZvciB0aGUgdmVy
dGljYWwgcmVnaW9uIGJlbG93LjwvcD4iOworICAgICAgICAgICAgICAgIG1lc3NhZ2VMb2NhdGlv
bi5hcHBlbmRDaGlsZChtZXNzYWdlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
ICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKTsiIGNs
YXNzPSJob3Jpem9udGFsR2FsbGVyeSI+CisgICAgICAgIDxkaXYgaWQ9Iml0ZW0wIiBjbGFzcz0i
Y29sb3JCb3giPjxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJpdGVtMSIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iaXRlbTIi
IGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9Iml0ZW0zIiBjbGFzcz0i
Y29sb3JCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJpdGVtNCIgY2xhc3M9ImNvbG9yQm94
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iaXRlbTUiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFt
ZS1ob3Jpem9udGFsLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9z
Y3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwuaHRt
bAppbmRleCAzZDQwYWZmODBmMGQ0OTQyMzBmZGUwMTRkMDNhZjIyYTI3ODU1OTAwLi40NjdmYTM1
ZGI5NDM4ZGVjMTBjMGNjZmZiZmY3ZGNhMDQ3ZjQ1YjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRv
cnktbWFpbmZyYW1lLWhvcml6b250YWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1l
LWhvcml6b250YWwuaHRtbApAQCAtMiwxMiArMiwxNCBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGh0bWwgeworICAgICAgICAgICAgICAgIHNjcm9s
bC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OworICAgICAgICAgICAgfQogICAgICAgICAgICAgLmhv
cml6b250YWxHYWxsZXJ5IHsKICAgICAgICAgICAgICAgICB3aWR0aDogNjAwdnc7CiAgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgICAgICBtYXJnaW46IDA7CiAgICAg
ICAgICAgICAgICAgcGFkZGluZzogMDsKLSAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBl
OiB4IG1hbmRhdG9yeTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC5jb2xvckJveCB7CiAg
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1t
YWluZnJhbWUtc2xvdy1ob3Jpem9udGFsLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXNs
b3ctaG9yaXpvbnRhbC5odG1sCmluZGV4IGU4MWE3OWFkMjVmNWY3OWQ2Mjg3NzlhN2U2NTUxNDQ1
MGNhMjAyOWUuLmMxY2JjYzhiMGEyY2RjZGQ2ZDIzYjBhYjJmODk3YWVlNzEzMTI1MmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy1ob3Jpem9udGFsLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LWhvcml6b250YWwuaHRtbApAQCAtMiwxMiArMiwx
NCBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGh0
bWwgeworICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OworICAg
ICAgICAgICAgfQogICAgICAgICAgICAgLmhvcml6b250YWxHYWxsZXJ5IHsKICAgICAgICAgICAg
ICAgICB3aWR0aDogNjAwdnc7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAg
ICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgICAgICAgcGFkZGluZzogMDsKLSAgICAg
ICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIC5jb2xvckJveCB7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy12ZXJ0aWNhbC5odG1sIGIv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LXZlcnRpY2FsLmh0bWwKaW5kZXggNGEzNjUxN2Ey
ZmJjNzM3MTgyZGQ3NTVmOTM4YTYxMjA1M2ExN2FkMi4uMGVmZGI4YmZjYTIzNDhmZDUyNTc1NmIx
MTJkNzQ1MWY4ZmY0YWNmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93
LXZlcnRpY2FsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
c2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LXZlcnRpY2Fs
Lmh0bWwKQEAgLTIsMTIgKzIsMTQgQEAKIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgICBodG1sIHsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBl
OiB5IG1hbmRhdG9yeTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIC52ZXJ0aWNhbEdhbGxl
cnkgewogICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dzsKICAgICAgICAgICAgICAgICBoZWln
aHQ6IDYwMHZoOwogICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgICBw
YWRkaW5nOiAwOwotICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLmNvbG9yQm94IHsKICAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHZoOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0
aWNhbC1sZWdhY3ktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNh
bC1sZWdhY3ktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwOWQ0ODY4ZTlkMjA0YzVkNDhlNjMw
NDAwNjg2ZTQ0MDgwMTBmODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1k
cmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZy
YW1lLXZlcnRpY2FsLWxlZ2FjeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitQQVNTIGRp
diBzY3JvbGxlZCB0byBuZXh0IHdpbmRvdy4KK1BBU1MgZGl2IGhvbm9yZWQgc25hcCBwb2ludHMu
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC1sZWdhY3kuaHRtbCBiL0xh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtbGVnYWN5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTc4
YWFkNGFlNTk0MGIyN2ViZmVhYjk2NTczMjE0MzliMDEwMjQ2ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1z
bmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtbGVnYWN5Lmh0bWwKQEAgLTAsMCArMSwx
MTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIC52ZXJ0aWNhbEdhbGxlcnkgeworICAgICAgICAgICAgICAgIHdpZHRo
OiAxMDB2dzsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwMHZoOworICAgICAgICAgICAgICAg
IG1hcmdpbjogMDsKKyAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOworICAgICAgICAgICAgICAg
IHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgLmNvbG9yQm94IHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOworICAgICAgICAg
ICAgICAgIHdpZHRoOiAxMDB2dzsKKyAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsKKyAgICAg
ICAgICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICAjaXRlbTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgICNp
dGVtMSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAjaXRlbTIgeyBi
YWNrZ3JvdW5kLWNvbG9yOiBibHVlOyB9CisgICAgICAgICAgICAjaXRlbTMgeyBiYWNrZ3JvdW5k
LWNvbG9yOiBhcXVhOyB9CisgICAgICAgICAgICAjaXRlbTQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5
ZWxsb3c7IH0KKyAgICAgICAgICAgICNpdGVtNSB7IGJhY2tncm91bmQtY29sb3I6IGZ1Y2hzaWE7
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgd2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIHZhciBzY3JvbGxpbmdUYXJnZXQ7
CisgICAgICAgIHZhciBzY3JvbGxQb3NpdGlvbkJlZm9yZUdsaWRlOworICAgICAgICB2YXIgc2Ny
b2xsUG9zaXRpb25CZWZvcmVTbmFwOworCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xs
U25hcCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFRoZSBkaXYgc2hvdWxkIGhhdmUgc25h
cHBlZCBiYWNrIHRvIHRoZSBwcmV2aW91cyBwb3NpdGlvbgorICAgICAgICAgICAgaWYgKHNjcm9s
bGluZ1RhcmdldC5zY3JvbGxUb3AgIT0gc2Nyb2xsUG9zaXRpb25CZWZvcmVTbmFwKQorICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYGRpdiBkaWQgbm90IHNuYXAgYmFjayB0byBwcm9wZXIgbG9j
YXRpb24uICgke3Njcm9sbGluZ1RhcmdldC5zY3JvbGxUb3B9IHZzLiAke3Njcm9sbFBvc2l0aW9u
QmVmb3JlU25hcH0pYCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiZGl2IGhvbm9yZWQgc25hcCBwb2ludHMuIik7CisKKyAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gc2Nyb2xsU25hcFRlc3QoKQor
ICAgICAgICB7CisgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXAgPSBzY3JvbGxp
bmdUYXJnZXQuc2Nyb2xsVG9wOworCisgICAgICAgICAgICB2YXIgc3RhcnRQb3NYID0gc2Nyb2xs
aW5nVGFyZ2V0Lm9mZnNldExlZnQgKyAyMDsKKyAgICAgICAgICAgIHZhciBzdGFydFBvc1kgPSBz
Y3JvbGxpbmdUYXJnZXQub2Zmc2V0VG9wICsgMjA7CisgICAgICAgICAgICBldmVudFNlbmRlci5t
b25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8gTWFrZSBzdXJlIHdlIGFyZSBqdXN0IG91dHNpZGUg
dGhlIGlGcmFtZQorICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScpOworICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0x
LCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnKTsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1
bVBoYXNlcygwLCAwLCAnZW5kZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIu
Y2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsU25hcCk7CisgICAgICAg
IH0KKworICAgICAgICBmdW5jdGlvbiBjaGVja0ZvclNjcm9sbEdsaWRlKCkKKyAgICAgICAgewor
ICAgICAgICAgICAgLy8gVGhlIGRpdiBzaG91bGQgaGF2ZSBzY3JvbGxlZCAoZ2xpZGVkKSB0byB0
aGUgbmV4dCBzbmFwIHBvaW50LgorICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1RhcmdldC5zY3Jv
bGxUb3AgPT0gd2luZG93LmlubmVySGVpZ2h0KQorICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQo
ImRpdiBzY3JvbGxlZCB0byBuZXh0IHdpbmRvdy4iKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKGBkaXYgZGlkIG5vdCBob25vciBzbmFwIHBvaW50cy4gKCR7
c2Nyb2xsaW5nVGFyZ2V0LnNjcm9sbFRvcH0gdnMuICR7d2luZG93LmlubmVySGVpZ2h0fSlgKTsK
KworICAgICAgICAgICAgc2V0VGltZW91dChzY3JvbGxTbmFwVGVzdCwgMCk7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBzY3JvbGxHbGlkZVRlc3QoKQorICAgICAgICB7CisgICAgICAg
ICAgICBzY3JvbGxQb3NpdGlvbkJlZm9yZUdsaWRlID0gc2Nyb2xsaW5nVGFyZ2V0LnNjcm9sbFRv
cDsKKworICAgICAgICAgICAgdmFyIHN0YXJ0UG9zWCA9IHNjcm9sbGluZ1RhcmdldC5vZmZzZXRM
ZWZ0ICsgMjA7CisgICAgICAgICAgICB2YXIgc3RhcnRQb3NZID0gc2Nyb2xsaW5nVGFyZ2V0Lm9m
ZnNldFRvcCArIDIwOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRz
KCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0
UG9zWSk7IC8vIE1ha2Ugc3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSBpRnJhbWUKKyAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygwLCAtMSwgJ2JlZ2FuJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
U2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9u
ZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdj
aGFuZ2VkJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlX
aXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAnZW5kZWQnLCAnbm9uZScpOworICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIC0xLCAnbm9uZScsICdiZWdpbicpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC00LCAnbm9uZScsICdjb250aW51
ZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcpOworICAgICAgICAgICAgZXZlbnRTZW5k
ZXIuY2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsR2xpZGUpOworICAg
ICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgc2Nyb2xsaW5nVGFyZ2V0ID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudDsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMu
c2V0UGxhdGZvcm1Nb21lbnR1bVNjcm9sbGluZ1ByZWRpY3Rpb25FbmFibGVkKGZhbHNlKTsKKyAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KHNjcm9sbEdsaWRlVGVzdCwgMCk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlTG9jYXRpb24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnaXRlbTAnKTsKKyAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgICAgIG1lc3NhZ2Uu
aW5uZXJIVE1MID0gIjxwPlRoaXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVyIER1bXBSZW5kZXJU
cmVlLiBUbyBtYW51YWxseSB0ZXN0IGl0LCBwbGFjZSB0aGUgbW91c2UgcG9pbnRlcjxici8+Igor
ICAgICAgICAgICAgICAgICAgICArICJpbnNpZGUgdGhlIHJlZCByZWdpb24gYXQgdGhlIHRvcCBv
ZiB0aGUgcGFnZSwgYW5kIHRoZW4gdXNlIHRoZSBtb3VzZSB3aGVlbCBvciBhIHR3by1maW5nZXIg
c3dpcGUgdG8gbWFrZSBhPGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgInNtYWxsIHN3aXBl
IGdlc3R1cmUgd2l0aCBzb21lIG1vbWVudHVtLjxici8+PGJyLz4iCisgICAgICAgICAgICAgICAg
ICAgICsgIlRoZSByZWdpb24gc2hvdWxkIHNjcm9sbCB0byBzaG93IGEgZ3JlZW4gcmVnaW9uLjxi
ci8+PGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgIk5leHQsIHBlcmZvcm0gYSBzbWFsbCBz
Y3JvbGwgZ2VzdHVyZSB0aGF0IGRvZXMgbm90IGludm9sdmUgbW9tZW50dW0uIFlvdSBzaG91bGQg
YmVnaW4gdG8gc2VlIG9uZSBvZiB0aGUgY29sb3JzPGJyLz4iCisgICAgICAgICAgICAgICAgICAg
ICsgInRvIHRoZSBsZWZ0IChvciByaWdodCkgb2YgdGhlIGN1cnJlbnQgZ3JlZW4gYm94LiBXaGVu
IHlvdSByZWxlYXNlIHRoZSB3aGVlbCwgdGhlIHJlZ2lvbiBzaG91bGQgc2Nyb2xsIGJhY2sgc288
YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAidGhhdCB0aGUgcmVnaW9uIGlzIGEgc2luZ2xl
IGNvbG9yLjxici8+PGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgIllvdSBzaG91bGQgYWxz
byBiZSBhYmxlIHRvIHJlcGVhdCB0aGVzZSB0ZXN0IHN0ZXBzIGZvciB0aGUgdmVydGljYWwgcmVn
aW9uIGJlbG93LjwvcD4iOworICAgICAgICAgICAgICAgIG1lc3NhZ2VMb2NhdGlvbi5hcHBlbmRD
aGlsZChtZXNzYWdlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKTsiIGNsYXNzPSJ2ZXJ0
aWNhbEdhbGxlcnkiPgorICAgICAgICA8ZGl2IGlkPSJpdGVtMCIgY2xhc3M9ImNvbG9yQm94Ij48
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iaXRlbTEiIGNs
YXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9Iml0ZW0yIiBjbGFzcz0iY29s
b3JCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJpdGVtMyIgY2xhc3M9ImNvbG9yQm94Ij48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iaXRlbTQiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9Iml0ZW01IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwt
dGhlbi1ob3Jpem9udGFsLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLXRo
ZW4taG9yaXpvbnRhbC5odG1sCmluZGV4IDE5ZTBjYzA5MWVkMGZkZWYwMTgxYzFhYWIzZDVlODg3
NWE1NDQxOTYuLmQ4ZDBlZmFlNDM3NzFmMzA2YzQyNGNmZmZkNGIyZDcyY2FlYTQ5NzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtdGhlbi1ob3Jpem9udGFsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC10aGVuLWhvcml6b250YWwu
aHRtbApAQCAtMiwxMiArMiwxNCBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzdHls
ZT4KKyAgICAgICAgICAgIGh0bWwgeworICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6
IHkgbWFuZGF0b3J5OworICAgICAgICAgICAgfQogICAgICAgICAgICAgLnZlcnRpY2FsR2FsbGVy
eSB7CiAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgICAgICAgICAgIGhlaWdo
dDogNjAwdmg7CiAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICAgICAgIHBh
ZGRpbmc6IDA7Ci0gICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAuY29sb3JCb3ggewogICAgICAgICAgICAgICAg
IGhlaWdodDogMTAwdmg7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRp
Y2FsLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLmh0bWwKaW5kZXggZTc4
YWFkNGFlNTk0MGIyN2ViZmVhYjk2NTczMjE0MzliMDEwMjQ2Zi4uNGY2ODI3YmJmNGYyM2I3ZWI2
MTQ3ZTU4YTI1OTAyNGE0MDk2OWVmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFt
ZS12ZXJ0aWNhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwuaHRt
bApAQCAtMiwxMiArMiwxNCBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIGh0bWwgeworICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkg
bWFuZGF0b3J5OworICAgICAgICAgICAgfQogICAgICAgICAgICAgLnZlcnRpY2FsR2FsbGVyeSB7
CiAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgICAgICAgICAgIGhlaWdodDog
NjAwdmg7CiAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICAgICAgIHBhZGRp
bmc6IDA7Ci0gICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAuY29sb3JCb3ggewogICAgICAgICAgICAgICAgIGhl
aWdodDogMTAwdmg7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9s
bGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2Q0MTBhZjY4MTMxYjNjYjJiM2JmOWY0ZjAyYWQ4YzE4MzM5ZWQ3ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUtbGVnYWN5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitTY3JvbGxpbmcgYm9keSB3aXRoIDIgZHJhZyB0aWNrcworLSBE
aWQgdGhlIHNjcm9sbGluZyBzbmFwIHRvIHRoZSB0b3A/IFlFUworLSBEaWQgc2Nyb2xsaW5nIHNu
YXAgdG8gdGhlIHNlY29uZCBib3g/IE5PCitTY3JvbGxpbmcgYm9keSB3aXRoIDMwIGRyYWcgdGlj
a3MKKy0gRGlkIHRoZSBzY3JvbGxpbmcgc25hcCB0byB0aGUgdG9wPyBOTworLSBEaWQgc2Nyb2xs
aW5nIHNuYXAgdG8gdGhlIHNlY29uZCBib3g/IE5PCitTY3JvbGxpbmcgYm9keSB3aXRoIDYwIGRy
YWcgdGlja3MKKy0gRGlkIHRoZSBzY3JvbGxpbmcgc25hcCB0byB0aGUgdG9wPyBOTworLSBEaWQg
c2Nyb2xsaW5nIHNuYXAgdG8gdGhlIHNlY29uZCBib3g/IFlFUworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1w
cm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS1s
ZWdhY3kuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTMxMzdmYTNiYWYyNDlmMWYwNTI0MWJlYTUzNzA4ZTBj
ZjY1OTZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS1sZWdhY3ku
aHRtbApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBib2R5IHsKKyAgICAgICAgICAgICAgICBt
YXJnaW46IDA7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDAlOworICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IG5vbmU7CisgICAgICAg
ICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOworICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB5IHByb3hpbWl0eTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLmFyZWEgeworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDAlOworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICAgICAgICAgICAg
ICBmbG9hdDogbGVmdDsKKyAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7CisgICAgICAgICAg
ICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAjb3V0cHV0IHsKKyAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIGxldCB3
cml0ZSA9IHMgPT4gb3V0cHV0LmlubmVySFRNTCArPSBzICsgIjxicj4iOworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKwor
ICAgICAgICBmdW5jdGlvbiB2ZXJ0aWNhbFNjcm9sbEluQm9keShkcmFnRGVsdGFzKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAg
ICAgICAgICAgd3JpdGUoYFNjcm9sbGluZyBib2R5IHdpdGggJHtkcmFnRGVsdGFzLmxlbmd0aH0g
ZHJhZyB0aWNrc2ApOworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2
ZW50cygpOworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRQbGF0Zm9ybU1vbWVudHVtU2Ny
b2xsaW5nUHJlZGljdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHdpbmRvdy5pbm5lcldpZHRoIC8gMiwgd2luZG93LmlubmVySGVpZ2h0
IC8gMik7CisgICAgICAgICAgICAgICAgZHJhZ0RlbHRhcy5mb3JFYWNoKChkZWx0YSwgaSkgPT4g
ZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIGRl
bHRhLCBpID09IDAgPyAiYmVnYW4iIDogImNoYW5nZWQiLCAibm9uZSIpKTsKKyAgICAgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgMCwgImVuZGVkIiwgIm5vbmUiKTsKKyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5jYWxs
QWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoKCkgPT4geworICAgICAgICAgICAgICAgICAgICBsZXQg
YXJlYUhlaWdodCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5hcmVhIikuY2xpZW50SGVpZ2h0
OworICAgICAgICAgICAgICAgICAgICB3cml0ZShgLSBEaWQgdGhlIHNjcm9sbGluZyBzbmFwIHRv
IHRoZSB0b3A/ICR7ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPT0gMCA/ICJZ
RVMiIDogIk5PIn1gKTsKKyAgICAgICAgICAgICAgICAgICAgd3JpdGUoYC0gRGlkIHNjcm9sbGlu
ZyBzbmFwIHRvIHRoZSBzZWNvbmQgYm94PyAke2RvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Ny
b2xsVG9wID09IGFyZWFIZWlnaHQgPyAiWUVTIiA6ICJOTyJ9YCk7CisgICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMDsKKyAgICAgICAgICAg
ICAgICAgICAgc2V0VGltZW91dChyZXNvbHZlLCAwKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcnVuKCkgeworICAg
ICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgICAgICAgICAgICAgd3JpdGUoIlRvIG1hbnVhbGx5IHRlc3QsIHZlcmlmeSB0aGF0IHNj
cm9sbGluZyBuZWFyIG9uZSBvZiB0aGUgYm91bmRhcmllcyBiZXR3ZWVuIHRoZSBjb2xvcmVkIGJv
eGVzIik7CisgICAgICAgICAgICAgICAgd3JpdGUoInNuYXBzIHRvIHRoZSBlZGdlIG9mIHRoZSBu
ZWFyZXN0IGNvbG9yZWQgYm94LCBidXQgc2Nyb2xsaW5nIHNvbWV3aGVyZSBuZWFyIHRoZSBtaWRk
bGUgb2YgdHdvIik7CisgICAgICAgICAgICAgICAgd3JpdGUoImJveGVzIGRvZXMgbm90IGNhdXNl
IHRoZSBzY3JvbGwgb2Zmc2V0IHRvIHNuYXAuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBsZXQgYXJlYUhlaWdodCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoIi5hcmVhIikuY2xpZW50SGVpZ2h0OworICAgICAgICAgICAgdmVydGljYWxT
Y3JvbGxJbkJvZHkobmV3IEFycmF5KDIpLmZpbGwoLTEpKQorICAgICAgICAgICAgICAgIC50aGVu
KCgpID0+IHZlcnRpY2FsU2Nyb2xsSW5Cb2R5KG5ldyBBcnJheShNYXRoLnJvdW5kKGFyZWFIZWln
aHQgLyAyMCkpLmZpbGwoLTEpKSkKKyAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB2ZXJ0aWNh
bFNjcm9sbEluQm9keShuZXcgQXJyYXkoTWF0aC5yb3VuZChhcmVhSGVpZ2h0IC8gMTApKS5maWxs
KC0xKSkpCisgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCkpOworICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eSBvbmxvYWQ9cnVuKCk+CisgICAgICAgIDxkaXYgY2xhc3M9ImFyZWEiIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYXJlYSIgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImFy
ZWEiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImFyZWEiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhOyI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImFyZWEiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7Ij48
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYXJlYSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6
IGZ1Y2hzaWE7Ij48L2Rpdj4KKyAgICA8L2JvZHk+CisgICAgPGRpdiBpZD0ib3V0cHV0Ij48L2Rp
dj4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LXByb3hpbWl0eS1tYWluZnJhbWUuaHRtbAppbmRleCAwMDhiMTFjOTZiNGZkN2JhNDU5MWQyMmEx
ZThhODJlZDEzYWMzZjVmLi4yNTllNmE3N2MzMGYyNjBmNzY5OTUwNzlmYzg2NWVmZGNkZTdlMTBl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGlt
aXR5LW1haW5mcmFtZS5odG1sCkBAIC0yLDYgKzIsOSBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGh0bWwgeworICAgICAgICAgICAgICAgIHNjcm9s
bC1zbmFwLXR5cGU6IHkgcHJveGltaXR5OworICAgICAgICAgICAgfQogICAgICAgICAgICAgYm9k
eSB7CiAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICAgICAgIHdpZHRoOiAx
MDAlOwpAQCAtOSw5ICsxMiw2IEBACiAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogbm9uZTsK
ICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgICAgICAgICAgcG9z
aXRpb246IGFic29sdXRlOwotICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgcHJv
eGltaXR5OwotICAgICAgICAgICAgICAgIC13ZWJraXQtc2Nyb2xsLXNuYXAtdHlwZTogcHJveGlt
aXR5OwotICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHByb3hpbWl0eTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgLmFyZWEgewpAQCAtMjAsOCArMjAsNiBAQAogICAgICAg
ICAgICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsKICAg
ICAgICAgICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7Ci0gICAgICAgICAgICAgICAg
LXdlYmtpdC1zY3JvbGwtc25hcC1jb29yZGluYXRlOiAwIDA7Ci0gICAgICAgICAgICAgICAgc2Ny
b2xsLXNuYXAtY29vcmRpbmF0ZTogMCAwOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAj
b3V0cHV0IHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413411</attachid>
            <date>2020-11-06 01:01:00 -0800</date>
            <delta_ts>2020-11-06 01:45:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210469-20201106100058.patch</filename>
            <type>text/plain</type>
            <size>42506</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlNTYzNThmNDQ1NGNk
NDI4Nzc0YTMwMTFmZTc2YzkyNTk5ZDAyMi4uZGUyZWY1YzE4YTFmNjhjNzU4NjAyZjJiN2FhZmFm
MDRiOWMxZjM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIwLTExLTA1ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBTY3JvbGwgc25h
cCBzcGVjaWZpZWQgb24gOnJvb3QgZG9lc24ndCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYxNzQ2Njc2PgorCisgICAgICAgIFByb3Blcmx5IGhhbmRsZSBzY3JvbGwtc25hcC10eXBlIG9u
IHRoZSByb290IGVsZW1lbnQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgb3JpZ2luYWxseSBi
YXNlZCBvbiBhIHBhdGNoIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGVzdHM6IHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Nj
cm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC1sZWdh
Y3kuaHRtbAorICAgICAgICAgICAgICAgdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNu
YXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC1sZWdhY3kuaHRtbAor
ICAgICAgICAgICAgICAgdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xs
LXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS1sZWdhY3kuaHRtbAorCisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1cGRhdGVTbmFwT2Zm
c2V0cyk6IFNlbmQgdGhlIGJvZHkgb3Igcm9vdCBlbGVtZW50IHN0eWxlIGRlcGVuZGluZworICAg
ICAgICBvbiB3aGVyZSB0aGUgc2Nyb2xsLXNuYXAgcHJvcGVydGllcyBhcmUgc2V0LCBidXQgYWx3
YXlzIHVzZSB0aGUgRnJhbWVWaWV3IHZpZXdwb3J0CisgICAgICAgIHdoZW4gY2FsY3VsYXRpbmcg
Z2VvbWV0cnkgZm9yIHNjcm9sbCBzbmFwLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0F4aXNT
Y3JvbGxTbmFwT2Zmc2V0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVTbmFwT2Zmc2V0
c0ZvclNjcm9sbGFibGVBcmVhKTogQWNjZXB0IGEgdmlld3BvcnQgcmVjdGFuZ2xlIGZyb20gdGhl
CisgICAgICAgIGNhbGxlciBhbmQgYWxzbyBlbGltaW5hdGUgcmVkdW5kYW50IGFyZ3VtZW50IHRo
YXQgd2FzIGNhdXNpbmcgYSBiaXQgb2YgY29uZnVzaW9uLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oOiBVcGRhdGUgdGhlIGZ1bmN0aW9uIGRlY2xhcmF0
aW9uLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGFibGVBcmVhOjpjbGVhclNuYXBPZmZzZXRzKTogIEFkZGVkIGEgaGVscGVy
IHRvIGNsZWFyIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWwgc25hcCBpbmZvLgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmZpbmRFbmNsb3NpbmdTY3Jv
bGxhYmxlQ29udGFpbmVyRm9yU25hcHBpbmcgY29uc3QpOiBSZW5hbWVkIGZpbmRFbmNsb3NpbmdT
Y3JvbGxhYmxlQ29udGFpbmVyCisgICAgICAgIHRvIHRoaXMgYmVjYXVzZSBub3cgaXQgaXMgb25s
eSB1c2VmdWwgZm9yIHNjcm9sbCBzbmFwcGluZy4gVGhlIG9ubHkgcHJlZXhpc3RpbmcgY2FsbGVy
IHdhcworICAgICAgICB0aGUgc2Nyb2xsIHNuYXAgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6ZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDogVXBkYXRlZCBtZXRob2QgbmFtZS4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnVwZGF0ZVNuYXBPZmZzZXRzKTogVXBkYXRlIHRvIHJlZmxlY3QgY2hhbmdl
cyB0byB1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpl
bmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyRm9yU25hcHBpbmcgY29uc3QpOiBBbHdheXMgcmV0
dXJuIHRoZQorICAgICAgICBkb2N1bWVudCByb290IGFzIHRoZSBjb250YWluZXIgaW5zdGVhZCBv
ZiB0aGUgYm9keS4gVGhlIGJvZHkgbmV2ZXIgY2FwdHVyZXMgc2Nyb2xsCisgICAgICAgIHNuYXAg
cG9pbnRzLgorCiAyMDIwLTExLTAyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0xGQ11bSUZDXSBFbXB0eSBsaW5lcyBzdGF5IGVtcHR5IGV2ZW4gd2hlbiB0aGUg
aW1hZ2luYXJ5IHN0cnV0IGlzIHByZXNlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRl
eCBmNmJhNDM4ZGRkYzU2ZDhlNDRmN2E2MjIxOWMzZDAzMDE5Mjg1ZjI4Li5hMDgzMzhmMGVhYzJi
NjdjYjU4ZDdiOTE3MGJmNTM1NWIwYTAyZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CkBAIC05MTAsMTIgKzkxMCwzMCBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlU25hcE9mZnNldHMo
KQogICAgIGlmICghZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAv
LyBGSVhNRTogU2hvdWxkIHdlIGFsbG93IHNwZWNpZnlpbmcgc25hcCBwb2ludHMgdGhyb3VnaCA8
aHRtbD4gdGFncyB0b28/Ci0gICAgSFRNTEVsZW1lbnQqIGJvZHkgPSBmcmFtZSgpLmRvY3VtZW50
KCktPmJvZHlPckZyYW1lc2V0KCk7Ci0gICAgaWYgKCFyZW5kZXJWaWV3KCkgfHwgIWJvZHkgfHwg
IWJvZHktPnJlbmRlcmVyKCkpCisgICAgYXV0byYgZG9jdW1lbnQgPSAqZnJhbWUoKS5kb2N1bWVu
dCgpOworICAgIGF1dG8qIGRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dCgpOworICAgIFJlbmRlckJveCogYm9keVJlbmRlcmVyID0gZG9jdW1lbnQuYm9keU9yRnJhbWVz
ZXQoKSA/IGRvY3VtZW50LmJvZHlPckZyYW1lc2V0KCktPnJlbmRlckJveCgpIDogbnVsbHB0cjsK
KyAgICBSZW5kZXJCb3gqIHJvb3RSZW5kZXJlciA9IGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50
RWxlbWVudC0+cmVuZGVyQm94KCkgOiBudWxscHRyOworICAgIGF1dG8gcmVuZGVyZXJTeWxlSGFz
U2Nyb2xsU25hcCA9IFtdKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIpIHsKKyAgICAgICAg
cmV0dXJuIHJlbmRlcmVyICYmIHJlbmRlcmVyLT5zdHlsZSgpLnNjcm9sbFNuYXBUeXBlKCkuc3Ry
aWN0bmVzcyAhPSBTY3JvbGxTbmFwU3RyaWN0bmVzczo6Tm9uZTsKKyAgICB9OworCisgICAgY29u
c3QgUmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSBudWxscHRyOworICAgIGlmIChyZW5kZXJlclN5
bGVIYXNTY3JvbGxTbmFwKGJvZHlSZW5kZXJlcikpIHsKKyAgICAgICAgLy8gIFRoZSBzcGVjaWZp
Y2F0aW9uIGRvZXNuJ3QgYWxsb3cgc2V0dGluZyBzY3JvbGwtc25hcC10eXBlIG9uIHRoZSBib2R5
LCBidXQKKyAgICAgICAgLy8gIHdlIGRvIHRoaXMgdG8gZW5zdXJlIGJhY2t3YXJkcyBjb21wYXRp
YmlsaXR5IHdpdGggYW4gZWFybGllciB2ZXJzaW9uIG9mIHRoZQorICAgICAgICAvLyAgc3BlY2lm
aWNhdGlvbjogU2VlIHdlYmtpdC5vcmcvYi8yMDA2NDMuCisgICAgICAgIHN0eWxlVG9Vc2UgPSAm
Ym9keVJlbmRlcmVyLT5zdHlsZSgpOworICAgIH0gZWxzZSBpZiAocmVuZGVyZXJTeWxlSGFzU2Ny
b2xsU25hcChyb290UmVuZGVyZXIpKQorICAgICAgICBzdHlsZVRvVXNlID0gJnJvb3RSZW5kZXJl
ci0+c3R5bGUoKTsKKworICAgIGlmICghc3R5bGVUb1VzZSB8fCAhZG9jdW1lbnRFbGVtZW50KSB7
CisgICAgICAgIGNsZWFyU25hcE9mZnNldHMoKTsKICAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoKnRoaXMsICpib2R5LCAqcmVuZGVy
VmlldygpLCBib2R5LT5yZW5kZXJlcigpLT5zdHlsZSgpKTsKKyAgICB9CisKKyAgICBMYXlvdXRS
ZWN0IHZpZXdwb3J0ID0gTGF5b3V0UmVjdChJbnRQb2ludCgpLCBiYXNlTGF5b3V0Vmlld3BvcnRT
aXplKCkpOworICAgIHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoKnRoaXMsICpy
b290UmVuZGVyZXIsICpzdHlsZVRvVXNlLCB2aWV3cG9ydCk7CiB9CiAKIGJvb2wgRnJhbWVWaWV3
Ojppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9BeGlzU2Nyb2xsU25hcE9mZnNldHMuY3BwCmluZGV4IDY4ZDJj
MDA1NDIwZjA5YzU2MmY1Njg4ZDhmMzE5MDE2ZTA3NGY3NjYuLmE1MjM5ODk4Yjk4MTMwYmQxMzJk
Y2VjZWRkOGZkYzdiOGU0Y2NkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmNwcApAQCAtMTYwLDEzICsxNjAsMTIg
QEAgc3RhdGljIHZvaWQgY29tcHV0ZUF4aXNQcm94aW1pdHlTbmFwT2Zmc2V0UmFuZ2VzKGNvbnN0
IFZlY3RvcjxMYXlvdXRVbml0PiYgc25hcE8KICAgICB9CiB9CiAKLXZvaWQgdXBkYXRlU25hcE9m
ZnNldHNGb3JTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEsIEhU
TUxFbGVtZW50JiBzY3JvbGxpbmdFbGVtZW50LCBjb25zdCBSZW5kZXJCb3gmIHNjcm9sbGluZ0Vs
ZW1lbnRCb3gsIGNvbnN0IFJlbmRlclN0eWxlJiBzY3JvbGxpbmdFbGVtZW50U3R5bGUpCit2b2lk
IHVwZGF0ZVNuYXBPZmZzZXRzRm9yU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEmIHNjcm9s
bGFibGVBcmVhLCBjb25zdCBSZW5kZXJCb3gmIHNjcm9sbGluZ0VsZW1lbnRCb3gsIGNvbnN0IFJl
bmRlclN0eWxlJiBzY3JvbGxpbmdFbGVtZW50U3R5bGUsIExheW91dFJlY3Qgdmlld3BvcnRSZWN0
SW5Cb3JkZXJCb3hDb29yZGluYXRlcykKIHsKLSAgICBhdXRvKiBzY3JvbGxDb250YWluZXIgPSBz
Y3JvbGxpbmdFbGVtZW50LnJlbmRlcmVyKCk7CiAgICAgYXV0byBzY3JvbGxTbmFwVHlwZSA9IHNj
cm9sbGluZ0VsZW1lbnRTdHlsZS5zY3JvbGxTbmFwVHlwZSgpOwotICAgIGlmICghc2Nyb2xsQ29u
dGFpbmVyIHx8IHNjcm9sbFNuYXBUeXBlLnN0cmljdG5lc3MgPT0gU2Nyb2xsU25hcFN0cmljdG5l
c3M6Ok5vbmUgfHwgc2Nyb2xsQ29udGFpbmVyLT52aWV3KCkuYm94ZXNXaXRoU2Nyb2xsU25hcFBv
c2l0aW9ucygpLmlzRW1wdHkoKSkgewotICAgICAgICBzY3JvbGxhYmxlQXJlYS5jbGVhckhvcml6
b250YWxTbmFwT2Zmc2V0cygpOwotICAgICAgICBzY3JvbGxhYmxlQXJlYS5jbGVhclZlcnRpY2Fs
U25hcE9mZnNldHMoKTsKKyAgICBjb25zdCBhdXRvJiBib3hlc1dpdGhTY3JvbGxTbmFwUG9zaXRp
b25zID0gc2Nyb2xsaW5nRWxlbWVudEJveC52aWV3KCkuYm94ZXNXaXRoU2Nyb2xsU25hcFBvc2l0
aW9ucygpOworICAgIGlmIChzY3JvbGxTbmFwVHlwZS5zdHJpY3RuZXNzID09IFNjcm9sbFNuYXBT
dHJpY3RuZXNzOjpOb25lIHx8IGJveGVzV2l0aFNjcm9sbFNuYXBQb3NpdGlvbnMuaXNFbXB0eSgp
KSB7CisgICAgICAgIHNjcm9sbGFibGVBcmVhLmNsZWFyU25hcE9mZnNldHMoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApAQCAtMTg0LDE2ICsxODMsMTYgQEAgdm9pZCB1cGRhdGVTbmFwT2Zm
c2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgSFRN
TEVsZW0KICAgICBib29sIHNjcm9sbGVySXNSVEwgPSAhc2Nyb2xsaW5nRWxlbWVudEJveC5zdHls
ZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKIAogICAgIC8vIFRoZSBib3VuZHMgb2YgdGhl
IHNjcm9sbGluZyBjb250YWluZXIncyBzbmFwIHBvcnQsIHdoZXJlIHRoZSB0b3AgbGVmdCBvZiB0
aGUgc2Nyb2xsaW5nIGNvbnRhaW5lcidzIGJvcmRlciBib3ggaXMgdGhlIG9yaWdpbi4KLSAgICBh
dXRvIHNjcm9sbFNuYXBQb3J0ID0gY29tcHV0ZVNjcm9sbFNuYXBQb3J0T3JBcmVhUmVjdChzY3Jv
bGxpbmdFbGVtZW50Qm94LnBhZGRpbmdCb3hSZWN0KCksIHNjcm9sbGluZ0VsZW1lbnRTdHlsZS5z
Y3JvbGxQYWRkaW5nKCksIEluc2V0T3JPdXRzZXQ6Okluc2V0KTsKKyAgICBhdXRvIHNjcm9sbFNu
YXBQb3J0ID0gY29tcHV0ZVNjcm9sbFNuYXBQb3J0T3JBcmVhUmVjdCh2aWV3cG9ydFJlY3RJbkJv
cmRlckJveENvb3JkaW5hdGVzLCBzY3JvbGxpbmdFbGVtZW50U3R5bGUuc2Nyb2xsUGFkZGluZygp
LCBJbnNldE9yT3V0c2V0OjpJbnNldCk7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbFNuYXAs
IHN0cmVhbSA8PCAiQ29tcHV0aW5nIHNjcm9sbCBzbmFwIG9mZnNldHMgZm9yICIgPDwgc2Nyb2xs
YWJsZUFyZWEgPDwgIiBpbiBzbmFwIHBvcnQgIiA8PCBzY3JvbGxTbmFwUG9ydCk7Ci0gICAgZm9y
IChhdXRvKiBjaGlsZCA6IHNjcm9sbENvbnRhaW5lci0+dmlldygpLmJveGVzV2l0aFNjcm9sbFNu
YXBQb3NpdGlvbnMoKSkgewotICAgICAgICBpZiAoY2hpbGQtPmVuY2xvc2luZ1Njcm9sbGFibGVD
b250YWluZXJGb3JTbmFwcGluZygpICE9IHNjcm9sbENvbnRhaW5lcikKKyAgICBmb3IgKGF1dG8q
IGNoaWxkIDogYm94ZXNXaXRoU2Nyb2xsU25hcFBvc2l0aW9ucykgeworICAgICAgICBpZiAoY2hp
bGQtPmVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpICE9ICZzY3JvbGxp
bmdFbGVtZW50Qm94KQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgLy8gVGhlIGJv
dW5kcyBvZiB0aGUgY2hpbGQgZWxlbWVudCdzIHNuYXAgYXJlYSwgd2hlcmUgdGhlIHRvcCBsZWZ0
IG9mIHRoZSBzY3JvbGxpbmcgY29udGFpbmVyJ3MgYm9yZGVyIGJveCBpcyB0aGUgb3JpZ2luLgog
ICAgICAgICAvLyBUaGUgc25hcCBhcmVhIGlzIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGNoaWxk
IGVsZW1lbnQncyBib3JkZXIgYm94LCBhZnRlciBhcHBseWluZyB0cmFuc2Zvcm1hdGlvbnMuCiAg
ICAgICAgIC8vIEZJWE1FOiBGb3Igbm93LCBqdXN0IGNvbnNpZGVyIHdoZXRoZXIgdGhlIHNjcm9s
bGVyIGlzIFJUTC4gVGhlIGJlaGF2aW9yIG9mIExUUiBib3hlcyBpbnNpZGUgYSBSVEwgc2Nyb2xs
ZXIgaXMgcG9vcmx5IGRlZmluZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRz
L2lzc3Vlcy81MzYxLgotICAgICAgICBhdXRvIHNjcm9sbFNuYXBBcmVhID0gTGF5b3V0UmVjdChj
aGlsZC0+bG9jYWxUb0NvbnRhaW5lclF1YWQoRmxvYXRRdWFkKGNoaWxkLT5ib3JkZXJCb3VuZGlu
Z0JveCgpKSwgc2Nyb2xsaW5nRWxlbWVudC5yZW5kZXJCb3goKSkuYm91bmRpbmdCb3goKSk7Cisg
ICAgICAgIGF1dG8gc2Nyb2xsU25hcEFyZWEgPSBMYXlvdXRSZWN0KGNoaWxkLT5sb2NhbFRvQ29u
dGFpbmVyUXVhZChGbG9hdFF1YWQoY2hpbGQtPmJvcmRlckJvdW5kaW5nQm94KCkpLCAmc2Nyb2xs
aW5nRWxlbWVudEJveCkuYm91bmRpbmdCb3goKSk7CiAKICAgICAgICAgLy8gbG9jYWxUb0NvbnRh
aW5lclF1YWQgd2lsbCB0cmFuc2Zvcm0gdGhlIHNjcm9sbCBzbmFwIGFyZWEgYnkgdGhlIHNjcm9s
bCBwb3NpdGlvbiwgZXhjZXB0IGluIHRoZSBjYXNlIHRoYXQgdGhpcyBwb3NpdGlvbiBpcwogICAg
ICAgICAvLyBjb21pbmcgZnJvbSBhIFNjcm9sbFZpZXcuIFdlIHdhbnQgdGhlIHRyYW5zZm9ybWVk
IGFyZWEsIGJ1dCB3aXRob3V0IHNjcm9sbCBwb3NpdGlvbiB0YWtlbiBpbnRvIGFjY291bnQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9BeGlzU2Nyb2xsU25hcE9m
ZnNldHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zm
c2V0cy5oCmluZGV4IGUxMzkzZmI3YjlhYThjNzliOGM3NDA0YTI3YWZmNzFiNjUzYjFkMWEuLmJk
YjY4YWViZDQwMjdhMTJlMThlYTVkNzk0MDc5ZjdhOWIwODI2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0F4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oCkBAIC0y
Nyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogCisjaW5jbHVkZSAi
TGF5b3V0UmVjdC5oIgogI2luY2x1ZGUgIkxheW91dFVuaXQuaCIKICNpbmNsdWRlICJTY3JvbGxT
bmFwT2Zmc2V0c0luZm8uaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgpAQCAtMzksNyArNDAs
MTAgQEAgY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyU3R5bGU7CiBjbGFzcyBTY3JvbGxh
YmxlQXJlYTsKIAotdm9pZCB1cGRhdGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9s
bGFibGVBcmVhJiwgSFRNTEVsZW1lbnQmIHNjcm9sbGluZ0VsZW1lbnQsIGNvbnN0IFJlbmRlckJv
eCYgc2Nyb2xsaW5nRWxlbWVudEJveCwgY29uc3QgUmVuZGVyU3R5bGUmIHNjcm9sbGluZ0VsZW1l
bnRTdHlsZSk7CisvLyBVcGRhdGUgdGhlIHNuYXAgb2Zmc2V0cyBmb3IgdGhpcyBzY3JvbGxhYmxl
IGFyZWEsIGdpdmVuIHRoZSBSZW5kZXJCb3ggb2YgdGhlIHNjcm9sbCBjb250YWluZXIsIHRoZSBS
ZW5kZXJTdHlsZQorLy8gd2hpY2ggZGVmaW5lcyB0aGUgc2Nyb2xsLXNuYXAgcHJvcGVydGllcywg
YW5kIHRoZSB2aWV3cG9ydCByZWN0YW5nbGUgd2l0aCB0aGUgb3JpZ2luIGF0IHRoZSB0b3AgbGVm
dCBvZgorLy8gdGhlIHNjcm9sbGluZyBjb250YWluZXIncyBib3JkZXIgYm94Lgordm9pZCB1cGRh
dGVTbmFwT2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiwgY29uc3QgUmVu
ZGVyQm94JiBzY3JvbGxpbmdFbGVtZW50Qm94LCBjb25zdCBSZW5kZXJTdHlsZSYgc2Nyb2xsaW5n
RWxlbWVudFN0eWxlLCBMYXlvdXRSZWN0IHZpZXdwb3J0UmVjdEluQm9yZGVyQm94Q29vcmRpbmF0
ZXMpOwogCiBjb25zdCB1bnNpZ25lZCBpbnZhbGlkU25hcE9mZnNldEluZGV4ID0gVUlOVF9NQVg7
CiBXRUJDT1JFX0VYUE9SVCBMYXlvdXRVbml0IGNsb3Nlc3RTbmFwT2Zmc2V0KGNvbnN0IFZlY3Rv
cjxMYXlvdXRVbml0PiYgc25hcE9mZnNldHMsIGNvbnN0IFZlY3RvcjxTY3JvbGxPZmZzZXRSYW5n
ZTxMYXlvdXRVbml0Pj4mIHNuYXBPZmZzZXRSYW5nZXMsIExheW91dFVuaXQgc2Nyb2xsRGVzdGlu
YXRpb24sIGZsb2F0IHZlbG9jaXR5LCB1bnNpZ25lZCYgYWN0aXZlU25hcEluZGV4KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCA2NmM4M2U3ZGRhNWQw
YWQ3ZWYwMjEwMzQxZjU0YmY1M2E0NjIwOTI1Li5iZTFhOWE0ZDZlODI2NmZlNDgzZGY3MmQwMDlh
Zjc2Zjk3MWNhMWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEu
Y3BwCkBAIC01MjEsNiArNTIxLDEyIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFZlcnRpY2Fs
U25hcE9mZnNldFJhbmdlcyhjb25zdCBWZWN0b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8CiAgICAgZW5z
dXJlU25hcE9mZnNldHNJbmZvKCkudmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzID0gdmVydGljYWxS
YW5nZXM7CiB9CiAKK3ZvaWQgU2Nyb2xsYWJsZUFyZWE6OmNsZWFyU25hcE9mZnNldHMoKQorewor
ICAgIGNsZWFySG9yaXpvbnRhbFNuYXBPZmZzZXRzKCk7CisgICAgY2xlYXJWZXJ0aWNhbFNuYXBP
ZmZzZXRzKCk7Cit9CisKIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OmNsZWFySG9yaXpvbnRhbFNuYXBP
ZmZzZXRzKCkKIHsKICAgICBpZiAoIW1fc25hcE9mZnNldHNJbmZvKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggMzg3YWQyODVjMjBkZDhmZDVlYmEyN2Y2NjVl
ZWU4NTE4M2U3N2M2Zi4uZTgxZGVhZjUwZDA1N2JhYzRkNTc2MjYxNjljZGVmMmY1NTYwNzJjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC05NSw2ICs5NSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZlcnRpY2FsU25hcE9mZnNldHMoY29uc3QgVmVjdG9y
PExheW91dFVuaXQ+Jik7CiAgICAgdm9pZCBzZXRIb3Jpem9udGFsU25hcE9mZnNldFJhbmdlcyhj
b25zdCBWZWN0b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8TGF5b3V0VW5pdD4+Jik7CiAgICAgdm9pZCBz
ZXRWZXJ0aWNhbFNuYXBPZmZzZXRSYW5nZXMoY29uc3QgVmVjdG9yPFNjcm9sbE9mZnNldFJhbmdl
PExheW91dFVuaXQ+PiYpOworICAgIHZvaWQgY2xlYXJTbmFwT2Zmc2V0cygpOwogICAgIHZvaWQg
Y2xlYXJIb3Jpem9udGFsU25hcE9mZnNldHMoKTsKICAgICB2b2lkIGNsZWFyVmVydGljYWxTbmFw
T2Zmc2V0cygpOwogICAgIHVuc2lnbmVkIGN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgo
KSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXg7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNjM5NTJkMGVhMTg4OWRkNTZl
OTZmMjBiZmJkMzE4MmExMTNmYmY2YS4uMWMxZGI5ODJhZjNlNTFiNTIwNDJlYzQ5MGQ4OWE3Yzlj
NDdjZTM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTUwNDAs
MTcgKzUwNDAsMTggQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6Om9mZnNldEZyb21Mb2dpY2FsVG9w
T2ZGaXJzdFBhZ2UoKSBjb25zdAogICAgIHJldHVybiBjb250YWluZXJCbG9jay0+b2Zmc2V0RnJv
bUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpICsgbG9naWNhbFRvcCgpOwogfQogCi1jb25zdCBSZW5k
ZXJCb3gqIFJlbmRlckJveDo6ZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIoKSBjb25z
dAorY29uc3QgUmVuZGVyQm94KiBSZW5kZXJCb3g6OmZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29u
dGFpbmVyRm9yU25hcHBpbmcoKSBjb25zdAogewogICAgIGZvciAoYXV0byYgY2FuZGlkYXRlIDog
bGluZWFnZU9mVHlwZTxSZW5kZXJCb3g+KCp0aGlzKSkgewogICAgICAgICBpZiAoY2FuZGlkYXRl
Lmhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICAgICAgcmV0dXJuICZjYW5kaWRhdGU7CiAgICAg
fQotICAgIC8vIElmIGFsbCBwYXJlbnQgZWxlbWVudHMgYXJlIG5vdCBvdmVyZmxvdyBzY3JvbGxh
YmxlLCBjaGVjayB0aGUgYm9keS4KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG5vdCB0cmVhdCB0
aGUgYm9keSBhcyB0aGUgc2Nyb2xsYWJsZSBlbGVtZW50IChzZWUgd2Via2l0Lm9yZy9iLzIxMDQ2
OSkuCi0gICAgaWYgKGRvY3VtZW50KCkuYm9keSgpICYmIGZyYW1lKCkudmlldygpICYmIGZyYW1l
KCkudmlldygpLT5pc1Njcm9sbGFibGUoKSkKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50KCkuYm9k
eSgpLT5yZW5kZXJCb3goKTsKLSAgICAKKworICAgIC8vIElmIGFsbCBwYXJlbnQgZWxlbWVudHMg
YXJlIG5vdCBvdmVyZmxvdyBzY3JvbGxhYmxlIGFuZCB0aGUgZnJhbWUgaXMsIHRoZW4gcmV0dXJu
CisgICAgLy8gdGhlIHJvb3QgZWxlbWVudC4KKyAgICBpZiAoZG9jdW1lbnQoKS5kb2N1bWVudEVs
ZW1lbnQoKSAmJiBmcmFtZSgpLnZpZXcoKSAmJiBmcmFtZSgpLnZpZXcoKS0+aXNTY3JvbGxhYmxl
KCkpCisgICAgICAgIHJldHVybiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJC
b3goKTsKKwogICAgIHJldHVybiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKaW5kZXggZTA4MTQ1ZDhlMGU5ZjYyNjEzMDM5YjE2ZTRhMTYwYWMxNzljYWVjMC4u
ODU2YTQyMjM3NTM0ZTEwNTY1NWI0NzRlNGYzYjI3YWJiOWYyOTg2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaApAQCAtNjM3LDcgKzYzNyw3IEBAIG92ZXJyaWRlOwogICAgIGJv
b2wgY2FuSGF2ZU91dHNpZGVGcmFnbWVudFJhbmdlKCkgY29uc3QgeyByZXR1cm4gIWlzSW5GbG93
UmVuZGVyRnJhZ21lbnRlZEZsb3coKTsgfQogICAgIHZpcnR1YWwgYm9vbCBuZWVkc0xheW91dEFm
dGVyRnJhZ21lbnRSYW5nZUNoYW5nZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICBj
b25zdCBSZW5kZXJCb3gqIGZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKCkgY29uc3Q7
CisgICAgY29uc3QgUmVuZGVyQm94KiBmaW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZv
clNuYXBwaW5nKCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBpc0dyaWRJdGVtKCkgY29uc3QgeyBy
ZXR1cm4gcGFyZW50KCkgJiYgcGFyZW50KCktPmlzUmVuZGVyR3JpZCgpICYmICFpc0V4Y2x1ZGVk
RnJvbU5vcm1hbExheW91dCgpOyB9CiAgICAgYm9vbCBpc0ZsZXhJdGVtKCkgY29uc3QgeyByZXR1
cm4gcGFyZW50KCkgJiYgcGFyZW50KCktPmlzRmxleGlibGVCb3goKSAmJiAhaXNFeGNsdWRlZEZy
b21Ob3JtYWxMYXlvdXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggZTAyODBjODJmNWMyMmIzNWZiZDMyMjJmOGJkOGZjNjQ5MzcxNDk2ZC4uMjJmZmMz
OGY3YTMxYjkzYzM3NDkzYjk2MWE5YTBjNTdhNWM5MTliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zNTkyLDcgKzM1OTIsNyBAQCB2b2lkIFJlbmRlckxh
eWVyOjp1cGRhdGVTbmFwT2Zmc2V0cygpCiAgICAgICAgIHJldHVybjsKIAogICAgIFJlbmRlckJv
eCogYm94ID0gZW5jbG9zaW5nRWxlbWVudCgpLT5yZW5kZXJCb3goKTsKLSAgICB1cGRhdGVTbmFw
T2Zmc2V0c0ZvclNjcm9sbGFibGVBcmVhKCp0aGlzLCAqZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KGVu
Y2xvc2luZ0VsZW1lbnQoKSksICpib3gsIGJveC0+c3R5bGUoKSk7CisgICAgdXBkYXRlU25hcE9m
ZnNldHNGb3JTY3JvbGxhYmxlQXJlYSgqdGhpcywgKmJveCwgYm94LT5zdHlsZSgpLCBib3gtPnBh
ZGRpbmdCb3hSZWN0KCkpOwogfQogCiBib29sIFJlbmRlckxheWVyOjppc1Njcm9sbFNuYXBJblBy
b2dyZXNzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggODhhMTdjNTAwZTIwZmNmYzMzMjQ4MDA1OGRjYWNiZmJjZjgyODhhNC4uY2RiN2ZmMzYy
ZWMxMzhjYmJlZDM5YzdkYmE3MGZiNTgyNTU5YTRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTQ1NSwxMiArNDU1LDEyIEBAIFJlbmRlckJveE1vZGVs
T2JqZWN0JiBSZW5kZXJPYmplY3Q6OmVuY2xvc2luZ0JveE1vZGVsT2JqZWN0KCkgY29uc3QKIGNv
bnN0IFJlbmRlckJveCogUmVuZGVyT2JqZWN0OjplbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVy
Rm9yU25hcHBpbmcoKSBjb25zdAogewogICAgIGF1dG8mIHJlbmRlckJveCA9IGVuY2xvc2luZ0Jv
eCgpOwotICAgIGlmIChhdXRvKiBzY3JvbGxhYmxlQ29udGFpbmVyID0gcmVuZGVyQm94LmZpbmRF
bmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKCkpIHsKKyAgICBpZiAoYXV0byogc2Nyb2xsYWJs
ZUNvbnRhaW5lciA9IHJlbmRlckJveC5maW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZv
clNuYXBwaW5nKCkpIHsKICAgICAgICAgLy8gVGhlIHNjcm9sbGFibGUgY29udGFpbmVyIGZvciBz
bmFwcGluZyBjYW5ub3QgYmUgdGhlIG5vZGUgaXRzZWxmLgogICAgICAgICBpZiAoc2Nyb2xsYWJs
ZUNvbnRhaW5lciAhPSB0aGlzKQogICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGFibGVDb250YWlu
ZXI7CiAgICAgICAgIGlmIChyZW5kZXJCb3gucGFyZW50Qm94KCkpCi0gICAgICAgICAgICByZXR1
cm4gcmVuZGVyQm94LnBhcmVudEJveCgpLT5maW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5l
cigpOworICAgICAgICAgICAgcmV0dXJuIHJlbmRlckJveC5wYXJlbnRCb3goKS0+ZmluZEVuY2xv
c2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpOwogICAgIH0KICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBmNzMyZTEzYmRlZDc4ZjMxZTEwNTg3NDg0N2EzNjBkZmQ1ZWNj
ODU1Li5iYjU3OGZkNGQ3NjBlOGExMDJjMGVjODUyYjlkNjNiNjY2ZjJmMDRjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjkgQEAKKzIwMjAtMTEtMDUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFNjcm9sbCBzbmFwIHNwZWNpZmllZCBvbiA6cm9vdCBkb2Vzbid0
IHdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MDQ2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjE3NDY2NzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIE1vZGlmaWVkIG1haW4gZnJhbWUgc2Nyb2xs
IHNuYXAgdGVzdHMgdG8gcmVmbGVjdCB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgYWRkIGEKKyAgICAg
ICAgZmV3IG1vcmUgdGVzdHMgdG8gdGVzdCB0aGUgbGVnYWN5IGJlaGF2aW9yIHdoaWNoIHRoaXMg
Y2hhbmdlIG1haW50YWlucyBmb3IKKyAgICAgICAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCisK
KyAgICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWluZnJh
bWUuaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtbGVnYWN5LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNu
YXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLWxlZ2FjeS5odG1s
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwt
c25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwuaHRtbC4KKyAg
ICAgICAgKiB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1t
YW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwuaHRtbDoKKyAgICAgICAgKiB0aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1l
LXNsb3ctaG9yaXpvbnRhbC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy12ZXJ0aWNh
bC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtbGVnYWN5LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC1sZWdhY3kuaHRtbDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAv
c2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC5odG1sLgorICAgICAgICAq
IHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9y
eS1tYWluZnJhbWUtdmVydGljYWwtdGhlbi1ob3Jpem9udGFsLmh0bWw6CisgICAgICAgICogdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1h
aW5mcmFtZS12ZXJ0aWNhbC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUtbGVnYWN5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xs
LXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS1sZWdhY3kuaHRtbDogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS5odG1sLgorICAgICAgICAqIHRpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUu
aHRtbDoKKwogMjAyMC0xMS0wMSAgTWFzb24gWGlhbyAgPG1lQG1hc29ueC5jYT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjUyNjg5KTogYm94LXNoYWRvdyB3aXRoIGluc2V0IGFuZCBuZWdhdGl2
ZSBzcHJlYWQgcmVuZGVycyBpbmNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wb3NpdGlvbnMtbWFpbmZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWluZnJhbWUu
aHRtbAppbmRleCBkMTdjZDY3ZTVmYjc4NmYzZmY4YTkxY2E4MDQ0YTEzYzUxMDAzODlkLi5lZmRj
OGEzZWFhZGJiNDY4ZGViYjFhNTg3YzIyMDEwOTcxOTdkYjM4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9ucy1tYWluZnJhbWUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXBvc2l0aW9u
cy1tYWluZnJhbWUuaHRtbApAQCAtMSwxMSArMSwxMyBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8
c3R5bGU+Ci0gICAgICAgIGJvZHkgeworICAgICAgICBodG1sIHsKICAgICAgICAgICAgIG1hcmdp
bjogMDsKICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OwogICAgICAg
ICB9Ci0KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAgIH0K
ICAgICAgICAgLnZlcnRpY2FsIHsKICAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAg
ICAgaGVpZ2h0OiA2MDBweDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9y
aXpvbnRhbC1sZWdhY3ktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jp
em9udGFsLWxlZ2FjeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA5ZDQ4NjhlOWQyMDRjNWQ0
OGU2MzA0MDA2ODZlNDQwODAxMGY4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1t
YWluZnJhbWUtaG9yaXpvbnRhbC1sZWdhY3ktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
UEFTUyBkaXYgc2Nyb2xsZWQgdG8gbmV4dCB3aW5kb3cuCitQQVNTIGRpdiBob25vcmVkIHNuYXAg
cG9pbnRzLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC1sZWdhY3ku
aHRtbCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC1sZWdhY3kuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zZDQwYWZmODBmMGQ0OTQyMzBmZGUwMTRkMDNhZjIyYTI3ODU1OTAwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNu
YXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLWxlZ2FjeS5odG1s
CkBAIC0wLDAgKzEsMTE5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAuaG9yaXpvbnRhbEdhbGxlcnkgeworICAgICAg
ICAgICAgICAgIHdpZHRoOiA2MDB2dzsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwor
ICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOwor
ICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgLmNvbG9yQm94IHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHZoOworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dzsKKyAgICAgICAgICAgICAgICBmbG9h
dDogbGVmdDsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICAjaXRlbTAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0K
KyAgICAgICAgICAgICNpdGVtMSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAg
ICAgICAjaXRlbTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyB9CisgICAgICAgICAgICAjaXRl
bTMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhOyB9CisgICAgICAgICAgICAjaXRlbTQgeyBiYWNr
Z3JvdW5kLWNvbG9yOiB5ZWxsb3c7IH0KKyAgICAgICAgICAgICNpdGVtNSB7IGJhY2tncm91bmQt
Y29sb3I6IGZ1Y2hzaWE7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIHZhciB0
YXJnZXRTY3JvbGxlcjsKKyAgICAgICAgdmFyIHNjcm9sbFBvc2l0aW9uQmVmb3JlR2xpZGU7Cisg
ICAgICAgIHZhciBzY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXA7CisKKyAgICAgICAgZnVuY3Rpb24g
Y2hlY2tGb3JTY3JvbGxTbmFwKCkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gVGhlIGRpdiBz
aG91bGQgaGF2ZSBzbmFwcGVkIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBvc2l0aW9uCisgICAgICAg
ICAgICBpZiAodGFyZ2V0U2Nyb2xsZXIuc2Nyb2xsTGVmdCAhPSBzY3JvbGxQb3NpdGlvbkJlZm9y
ZVNuYXApCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiZGl2IGRpZCBub3Qgc25hcCBiYWNr
IHRvIHByb3BlciBsb2NhdGlvbi4gRXhwZWN0ZWQgIiArIHNjcm9sbFBvc2l0aW9uQmVmb3JlU25h
cCArICIsIGJ1dCBnb3QgIiArIHRhcmdldFNjcm9sbGVyLnNjcm9sbExlZnQpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoImRpdiBob25vcmVkIHNuYXAgcG9p
bnRzLiIpOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGZ1bmN0aW9uIHNjcm9sbFNuYXBUZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgc2Ny
b2xsUG9zaXRpb25CZWZvcmVTbmFwID0gdGFyZ2V0U2Nyb2xsZXIuc2Nyb2xsTGVmdDsKKworICAg
ICAgICAgICAgdmFyIHN0YXJ0UG9zWCA9IHRhcmdldFNjcm9sbGVyLm9mZnNldExlZnQgKyAyMDsK
KyAgICAgICAgICAgIHZhciBzdGFydFBvc1kgPSB0YXJnZXRTY3JvbGxlci5vZmZzZXRUb3AgKyAy
MDsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOworICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOyAvLyBN
YWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCisgICAgICAgICAgICBldmVu
dFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoLTEsIDAsICdi
ZWdhbicsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0
aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoLTEsIDAsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygtMSwgMCwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdub25l
Jyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMo
Y2hlY2tGb3JTY3JvbGxTbmFwKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNoZWNr
Rm9yU2Nyb2xsR2xpZGUoKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBUaGUgZGl2IHNob3Vs
ZCBoYXZlIHNjcm9sbGVkIChnbGlkZWQpIHRvIHRoZSBuZXh0IHNuYXAgcG9pbnQuCisgICAgICAg
ICAgICBpZiAodGFyZ2V0U2Nyb2xsZXIuc2Nyb2xsTGVmdCA9PSB3aW5kb3cuaW5uZXJXaWR0aCkK
KyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJkaXYgc2Nyb2xsZWQgdG8gbmV4dCB3aW5kb3cu
Iik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiZGl2IGRp
ZCBub3QgaG9ub3Igc25hcCBwb2ludHMuIEV4cGVjdGVkICIgKyB3aW5kb3cuaW5uZXJXaWR0aCAr
ICIsIGJ1dCBnb3QgIiArIHRhcmdldFNjcm9sbGVyLnNjcm9sbExlZnQpOworCisgICAgICAgICAg
ICBzZXRUaW1lb3V0KHNjcm9sbFNuYXBUZXN0LCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1
bmN0aW9uIHNjcm9sbEdsaWRlVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNjcm9sbFBv
c2l0aW9uQmVmb3JlR2xpZGUgPSB0YXJnZXRTY3JvbGxlci5zY3JvbGxMZWZ0OworCisgICAgICAg
ICAgICB2YXIgc3RhcnRQb3NYID0gdGFyZ2V0U2Nyb2xsZXIub2Zmc2V0TGVmdCArIDIwOworICAg
ICAgICAgICAgdmFyIHN0YXJ0UG9zWSA9IHRhcmdldFNjcm9sbGVyLm9mZnNldFRvcCArIDIwOwor
ICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7CisgICAgICAgICAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFBvc1gsIHN0YXJ0UG9zWSk7IC8vIE1ha2Ug
c3VyZSB3ZSBhcmUganVzdCBvdXRzaWRlIHRoZSBpRnJhbWUKKyAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygtMSwgMCwgJ2JlZ2Fu
JywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hl
ZWxBbmRNb21lbnR1bVBoYXNlcygtMSwgMCwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKC0x
LCAwLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoLTEsIDAsICdjaGFuZ2VkJywgJ25vbmUn
KTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21l
bnR1bVBoYXNlcygwLCAwLCAnZW5kZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKC0xLCAwLCAnbm9uZScs
ICdiZWdpbicpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKC0xLCAwLCAnbm9uZScsICdjb250aW51ZScpOworICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IDAsICdub25lJywgJ2VuZCcpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIuY2FsbEFmdGVyU2Ny
b2xsaW5nQ29tcGxldGVzKGNoZWNrRm9yU2Nyb2xsR2xpZGUpOworICAgICAgICB9CisKKyAgICAg
ICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGFyZ2V0U2Nyb2xs
ZXIgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50OworICAgICAgICAgICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgeworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRQbGF0Zm9ybU1vbWVu
dHVtU2Nyb2xsaW5nUHJlZGljdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICAgICAgICAgIHNl
dFRpbWVvdXQoc2Nyb2xsR2xpZGVUZXN0LCAwKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpdGVtMCcpOworICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+
VGhpcyB0ZXN0IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5
IHRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCisgICAgICAgICAgICAgICAg
ICAgICsgImluc2lkZSB0aGUgcmVkIHJlZ2lvbiBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBhbmQg
dGhlbiB1c2UgdGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBtYWtlIGE8
YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAic21hbGwgc3dpcGUgZ2VzdHVyZSB3aXRoIHNv
bWUgbW9tZW50dW0uPGJyLz48YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAiVGhlIHJlZ2lv
biBzaG91bGQgc2Nyb2xsIHRvIHNob3cgYSBncmVlbiByZWdpb24uPGJyLz48YnIvPiIKKyAgICAg
ICAgICAgICAgICAgICAgKyAiTmV4dCwgcGVyZm9ybSBhIHNtYWxsIHNjcm9sbCBnZXN0dXJlIHRo
YXQgZG9lcyBub3QgaW52b2x2ZSBtb21lbnR1bS4gWW91IHNob3VsZCBiZWdpbiB0byBzZWUgb25l
IG9mIHRoZSBjb2xvcnM8YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAidG8gdGhlIGxlZnQg
KG9yIHJpZ2h0KSBvZiB0aGUgY3VycmVudCBncmVlbiBib3guIFdoZW4geW91IHJlbGVhc2UgdGhl
IHdoZWVsLCB0aGUgcmVnaW9uIHNob3VsZCBzY3JvbGwgYmFjayBzbzxici8+IgorICAgICAgICAg
ICAgICAgICAgICArICJ0aGF0IHRoZSByZWdpb24gaXMgYSBzaW5nbGUgY29sb3IuPGJyLz48YnIv
PiIKKyAgICAgICAgICAgICAgICAgICAgKyAiWW91IHNob3VsZCBhbHNvIGJlIGFibGUgdG8gcmVw
ZWF0IHRoZXNlIHRlc3Qgc3RlcHMgZm9yIHRoZSB2ZXJ0aWNhbCByZWdpb24gYmVsb3cuPC9wPiI7
CisgICAgICAgICAgICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1lc3NhZ2UpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpOyIgY2xhc3M9Imhvcml6b250YWxHYWxsZXJ5Ij4K
KyAgICAgICAgPGRpdiBpZD0iaXRlbTAiIGNsYXNzPSJjb2xvckJveCI+PGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9Iml0ZW0xIiBjbGFzcz0iY29sb3JCb3gi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJpdGVtMiIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iaXRlbTMiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9Iml0ZW00IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJpdGVtNSIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwuaHRtbCBiL0xheW91
dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1h
bmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC5odG1sCmluZGV4IDNkNDBhZmY4MGYwZDQ5NDIz
MGZkZTAxNGQwM2FmMjJhMjc4NTU5MDAuLjQ2N2ZhMzVkYjk0MzhkZWMxMGMwY2NmZmJmZjdkY2Ew
NDdmNDViMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFw
L3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC5odG1sCkBAIC0yLDEy
ICsyLDE0IEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgaHRtbCB7CisgICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7
CisgICAgICAgICAgICB9CiAgICAgICAgICAgICAuaG9yaXpvbnRhbEdhbGxlcnkgewogICAgICAg
ICAgICAgICAgIHdpZHRoOiA2MDB2dzsKICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwog
ICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOwot
ICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgLmNvbG9yQm94IHsKICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHZoOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1zbG93LWhvcml6b250YWwu
aHRtbCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtc2xvdy1ob3Jpem9udGFsLmh0bWwKaW5kZXgg
ZTgxYTc5YWQyNWY1Zjc5ZDYyODc3OWE3ZTY1NTE0NDUwY2EyMDI5ZS4uYzFjYmNjOGIwYTJjZGNk
ZDZkMjNiMGFiMmY4OTdhZWU3MTMxMjUyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5m
cmFtZS1zbG93LWhvcml6b250YWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXNs
b3ctaG9yaXpvbnRhbC5odG1sCkBAIC0yLDEyICsyLDE0IEBACiA8aHRtbD4KICAgICA8aGVhZD4K
ICAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgaHRtbCB7CisgICAgICAgICAgICAgICAgc2Ny
b2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICAu
aG9yaXpvbnRhbEdhbGxlcnkgewogICAgICAgICAgICAgICAgIHdpZHRoOiA2MDB2dzsKICAgICAg
ICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAg
ICAgICAgICAgICAgICBwYWRkaW5nOiAwOwotICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5
cGU6IHggbWFuZGF0b3J5OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLmNvbG9yQm94IHsK
ICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5
LW1haW5mcmFtZS1zbG93LXZlcnRpY2FsLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXNs
b3ctdmVydGljYWwuaHRtbAppbmRleCA0YTM2NTE3YTJmYmM3MzcxODJkZDc1NWY5MzhhNjEyMDUz
YTE3YWQyLi4wZWZkYjhiZmNhMjM0OGZkNTI1NzU2YjExMmQ3NDUxZjhmZjRhY2YwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3Jv
bGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXNsb3ctdmVydGljYWwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1t
YW5kYXRvcnktbWFpbmZyYW1lLXNsb3ctdmVydGljYWwuaHRtbApAQCAtMiwxMiArMiwxNCBAQAog
PGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIGh0bWwgewor
ICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OworICAgICAgICAg
ICAgfQogICAgICAgICAgICAgLnZlcnRpY2FsR2FsbGVyeSB7CiAgICAgICAgICAgICAgICAgd2lk
dGg6IDEwMHZ3OwogICAgICAgICAgICAgICAgIGhlaWdodDogNjAwdmg7CiAgICAgICAgICAgICAg
ICAgbWFyZ2luOiAwOwogICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7Ci0gICAgICAgICAgICAg
ICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAuY29sb3JCb3ggewogICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3Jv
bGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLWxlZ2FjeS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwt
c25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLWxlZ2FjeS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzA5ZDQ4NjhlOWQyMDRjNWQ0OGU2MzA0MDA2ODZlNDQwODAxMGY4MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtbGVnYWN5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1BBU1MgZGl2IHNjcm9sbGVkIHRvIG5leHQgd2luZG93
LgorUEFTUyBkaXYgaG9ub3JlZCBzbmFwIHBvaW50cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLXZlcnRpY2FsLWxlZ2FjeS5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0
aWNhbC1sZWdhY3kuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzhhYWQ0YWU1OTQwYjI3ZWJmZWFiOTY1NzMy
MTQzOWIwMTAyNDZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12
ZXJ0aWNhbC1sZWdhY3kuaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFET0NUWVBFIEhUTUw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnZlcnRpY2Fs
R2FsbGVyeSB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3OworICAgICAgICAgICAgICAg
IGhlaWdodDogNjAwdmg7CisgICAgICAgICAgICAgICAgbWFyZ2luOiAwOworICAgICAgICAgICAg
ICAgIHBhZGRpbmc6IDA7CisgICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5k
YXRvcnk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAuY29sb3JCb3ggeworICAgICAgICAg
ICAgICAgIGhlaWdodDogMTAwdmg7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3OworICAg
ICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OworICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLWFs
aWduOiBzdGFydDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNpdGVtMCB7IGJhY2tncm91
bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI2l0ZW0xIHsgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47IH0KKyAgICAgICAgICAgICNpdGVtMiB7IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IH0K
KyAgICAgICAgICAgICNpdGVtMyB7IGJhY2tncm91bmQtY29sb3I6IGFxdWE7IH0KKyAgICAgICAg
ICAgICNpdGVtNCB7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsgfQorICAgICAgICAgICAgI2l0
ZW01IHsgYmFja2dyb3VuZC1jb2xvcjogZnVjaHNpYTsgfQorICAgICAgICA8L3N0eWxlPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisKKyAgICAgICAgdmFyIHNjcm9sbGluZ1RhcmdldDsKKyAgICAgICAgdmFyIHNjcm9sbFBvc2l0
aW9uQmVmb3JlR2xpZGU7CisgICAgICAgIHZhciBzY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXA7CisK
KyAgICAgICAgZnVuY3Rpb24gY2hlY2tGb3JTY3JvbGxTbmFwKCkKKyAgICAgICAgeworICAgICAg
ICAgICAgLy8gVGhlIGRpdiBzaG91bGQgaGF2ZSBzbmFwcGVkIGJhY2sgdG8gdGhlIHByZXZpb3Vz
IHBvc2l0aW9uCisgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nVGFyZ2V0LnNjcm9sbFRvcCAhPSBz
Y3JvbGxQb3NpdGlvbkJlZm9yZVNuYXApCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgZGl2
IGRpZCBub3Qgc25hcCBiYWNrIHRvIHByb3BlciBsb2NhdGlvbi4gKCR7c2Nyb2xsaW5nVGFyZ2V0
LnNjcm9sbFRvcH0gdnMuICR7c2Nyb2xsUG9zaXRpb25CZWZvcmVTbmFwfSlgKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJkaXYgaG9ub3JlZCBzbmFwIHBv
aW50cy4iKTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBzY3JvbGxTbmFwVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNj
cm9sbFBvc2l0aW9uQmVmb3JlU25hcCA9IHNjcm9sbGluZ1RhcmdldC5zY3JvbGxUb3A7CisKKyAg
ICAgICAgICAgIHZhciBzdGFydFBvc1ggPSBzY3JvbGxpbmdUYXJnZXQub2Zmc2V0TGVmdCArIDIw
OworICAgICAgICAgICAgdmFyIHN0YXJ0UG9zWSA9IHNjcm9sbGluZ1RhcmdldC5vZmZzZXRUb3Ag
KyAyMDsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygpOworICAg
ICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBvc1kpOyAv
LyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEs
ICdiZWdhbicsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFuZ2VkJywgJ25vbmUnKTsKKyAg
ICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdlbmRlZCcsICdu
b25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0
ZXMoY2hlY2tGb3JTY3JvbGxTbmFwKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNo
ZWNrRm9yU2Nyb2xsR2xpZGUoKQorICAgICAgICB7CisgICAgICAgICAgICAvLyBUaGUgZGl2IHNo
b3VsZCBoYXZlIHNjcm9sbGVkIChnbGlkZWQpIHRvIHRoZSBuZXh0IHNuYXAgcG9pbnQuCisgICAg
ICAgICAgICBpZiAoc2Nyb2xsaW5nVGFyZ2V0LnNjcm9sbFRvcCA9PSB3aW5kb3cuaW5uZXJIZWln
aHQpCisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiZGl2IHNjcm9sbGVkIHRvIG5leHQgd2lu
ZG93LiIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYGRp
diBkaWQgbm90IGhvbm9yIHNuYXAgcG9pbnRzLiAoJHtzY3JvbGxpbmdUYXJnZXQuc2Nyb2xsVG9w
fSB2cy4gJHt3aW5kb3cuaW5uZXJIZWlnaHR9KWApOworCisgICAgICAgICAgICBzZXRUaW1lb3V0
KHNjcm9sbFNuYXBUZXN0LCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHNjcm9s
bEdsaWRlVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uQmVmb3Jl
R2xpZGUgPSBzY3JvbGxpbmdUYXJnZXQuc2Nyb2xsVG9wOworCisgICAgICAgICAgICB2YXIgc3Rh
cnRQb3NYID0gc2Nyb2xsaW5nVGFyZ2V0Lm9mZnNldExlZnQgKyAyMDsKKyAgICAgICAgICAgIHZh
ciBzdGFydFBvc1kgPSBzY3JvbGxpbmdUYXJnZXQub2Zmc2V0VG9wICsgMjA7CisgICAgICAgICAg
ICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsgLy8gTWFrZSBzdXJlIHdlIGFy
ZSBqdXN0IG91dHNpZGUgdGhlIGlGcmFtZQorICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0xLCAnYmVnYW4nLCAnbm9uZScp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0xLCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdjaGFu
Z2VkJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRo
V2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAtMSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIDAsICdlbmRlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNj
cm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEsICdub25lJywgJ2JlZ2luJyk7
CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgLTQsICdub25lJywgJ2NvbnRpbnVlJyk7CisgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ25vbmUn
LCAnZW5kJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxpbmdDb21w
bGV0ZXMoY2hlY2tGb3JTY3JvbGxHbGlkZSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlv
biBvbkxvYWQoKQorICAgICAgICB7CisgICAgICAgICAgICBzY3JvbGxpbmdUYXJnZXQgPSBkb2N1
bWVudC5zY3JvbGxpbmdFbGVtZW50OworICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgeworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRQbGF0Zm9ybU1vbWVudHVtU2Nyb2xs
aW5nUHJlZGljdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
c2Nyb2xsR2xpZGVUZXN0LCAwKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgdmFyIG1lc3NhZ2VMb2NhdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpdGVtMCcp
OworICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CisgICAgICAgICAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiPHA+VGhpcyB0ZXN0
IGlzIGJldHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5IHRlc3QgaXQs
IHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyPGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgImlu
c2lkZSB0aGUgcmVkIHJlZ2lvbiBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBhbmQgdGhlbiB1c2Ug
dGhlIG1vdXNlIHdoZWVsIG9yIGEgdHdvLWZpbmdlciBzd2lwZSB0byBtYWtlIGE8YnIvPiIKKyAg
ICAgICAgICAgICAgICAgICAgKyAic21hbGwgc3dpcGUgZ2VzdHVyZSB3aXRoIHNvbWUgbW9tZW50
dW0uPGJyLz48YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAiVGhlIHJlZ2lvbiBzaG91bGQg
c2Nyb2xsIHRvIHNob3cgYSBncmVlbiByZWdpb24uPGJyLz48YnIvPiIKKyAgICAgICAgICAgICAg
ICAgICAgKyAiTmV4dCwgcGVyZm9ybSBhIHNtYWxsIHNjcm9sbCBnZXN0dXJlIHRoYXQgZG9lcyBu
b3QgaW52b2x2ZSBtb21lbnR1bS4gWW91IHNob3VsZCBiZWdpbiB0byBzZWUgb25lIG9mIHRoZSBj
b2xvcnM8YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAidG8gdGhlIGxlZnQgKG9yIHJpZ2h0
KSBvZiB0aGUgY3VycmVudCBncmVlbiBib3guIFdoZW4geW91IHJlbGVhc2UgdGhlIHdoZWVsLCB0
aGUgcmVnaW9uIHNob3VsZCBzY3JvbGwgYmFjayBzbzxici8+IgorICAgICAgICAgICAgICAgICAg
ICArICJ0aGF0IHRoZSByZWdpb24gaXMgYSBzaW5nbGUgY29sb3IuPGJyLz48YnIvPiIKKyAgICAg
ICAgICAgICAgICAgICAgKyAiWW91IHNob3VsZCBhbHNvIGJlIGFibGUgdG8gcmVwZWF0IHRoZXNl
IHRlc3Qgc3RlcHMgZm9yIHRoZSB2ZXJ0aWNhbCByZWdpb24gYmVsb3cuPC9wPiI7CisgICAgICAg
ICAgICAgICAgbWVzc2FnZUxvY2F0aW9uLmFwcGVuZENoaWxkKG1lc3NhZ2UpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eSBvbmxvYWQ9Im9uTG9hZCgpOyIgY2xhc3M9InZlcnRpY2FsR2FsbGVyeSI+CisgICAgICAgIDxk
aXYgaWQ9Iml0ZW0wIiBjbGFzcz0iY29sb3JCb3giPjxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJpdGVtMSIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0iaXRlbTIiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9Iml0ZW0zIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJp
dGVtNCIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iaXRlbTUiIGNs
YXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC10aGVuLWhvcml6b250YWwuaHRtbCBiL0xh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtdGhlbi1ob3Jpem9udGFsLmh0bWwKaW5kZXgg
MTllMGNjMDkxZWQwZmRlZjAxODFjMWFhYjNkNWU4ODc1YTU0NDE5Ni4uZDhkMGVmYWU0Mzc3MWYz
MDZjNDI0Y2ZmZmQ0YjJkNzJjYWVhNDk3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5m
cmFtZS12ZXJ0aWNhbC10aGVuLWhvcml6b250YWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLXZlcnRpY2FsLXRoZW4taG9yaXpvbnRhbC5odG1sCkBAIC0yLDEyICsyLDE0IEBACiA8
aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgaHRtbCB7Cisg
ICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7CisgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAudmVydGljYWxHYWxsZXJ5IHsKICAgICAgICAgICAgICAgICB3aWR0
aDogMTAwdnc7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MDB2aDsKICAgICAgICAgICAgICAg
ICBtYXJnaW46IDA7CiAgICAgICAgICAgICAgICAgcGFkZGluZzogMDsKLSAgICAgICAgICAgICAg
ICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsKICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIC5jb2xvckJveCB7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwuaHRtbCBiL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1t
YWluZnJhbWUtdmVydGljYWwuaHRtbAppbmRleCBlNzhhYWQ0YWU1OTQwYjI3ZWJmZWFiOTY1NzMy
MTQzOWIwMTAyNDZmLi40ZjY4MjdiYmY0ZjIzYjdlYjYxNDdlNThhMjU5MDI0YTQwOTY5ZWYyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
bWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC5odG1sCkBAIC0yLDEyICsyLDE0IEBACiA8aHRt
bD4KICAgICA8aGVhZD4KICAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgaHRtbCB7CisgICAg
ICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7CisgICAgICAgICAgICB9
CiAgICAgICAgICAgICAudmVydGljYWxHYWxsZXJ5IHsKICAgICAgICAgICAgICAgICB3aWR0aDog
MTAwdnc7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MDB2aDsKICAgICAgICAgICAgICAgICBt
YXJnaW46IDA7CiAgICAgICAgICAgICAgICAgcGFkZGluZzogMDsKLSAgICAgICAgICAgICAgICBz
Y3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IC5jb2xvckJveCB7CiAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1z
bmFwLXByb3hpbWl0eS1tYWluZnJhbWUtbGVnYWN5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0
eS1tYWluZnJhbWUtbGVnYWN5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDQxMGFmNjgxMzFi
M2NiMmIzYmY5ZjRmMDJhZDhjMTgzMzllZDdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGlt
aXR5LW1haW5mcmFtZS1sZWdhY3ktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Njcm9s
bGluZyBib2R5IHdpdGggMiBkcmFnIHRpY2tzCistIERpZCB0aGUgc2Nyb2xsaW5nIHNuYXAgdG8g
dGhlIHRvcD8gWUVTCistIERpZCBzY3JvbGxpbmcgc25hcCB0byB0aGUgc2Vjb25kIGJveD8gTk8K
K1Njcm9sbGluZyBib2R5IHdpdGggMzAgZHJhZyB0aWNrcworLSBEaWQgdGhlIHNjcm9sbGluZyBz
bmFwIHRvIHRoZSB0b3A/IE5PCistIERpZCBzY3JvbGxpbmcgc25hcCB0byB0aGUgc2Vjb25kIGJv
eD8gTk8KK1Njcm9sbGluZyBib2R5IHdpdGggNjAgZHJhZyB0aWNrcworLSBEaWQgdGhlIHNjcm9s
bGluZyBzbmFwIHRvIHRoZSB0b3A/IE5PCistIERpZCBzY3JvbGxpbmcgc25hcCB0byB0aGUgc2Vj
b25kIGJveD8gWUVTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUtbGVnYWN5
Lmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1
MzEzN2ZhM2JhZjI0OWYxZjA1MjQxYmVhNTM3MDhlMGNmNjU5NmEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwt
c25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWxlZ2FjeS5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzwh
RE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIGJvZHkgeworICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICAgICAg
ICAgICAgb3ZlcmZsb3cteDogbm9uZTsKKyAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3Jv
bGw7CisgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgICAg
IHNjcm9sbC1zbmFwLXR5cGU6IHkgcHJveGltaXR5OworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAuYXJlYSB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAgICAgICAg
ICAgaGVpZ2h0OiAxMDAlOworICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OworICAgICAgICAg
ICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjog
c3RhcnQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNvdXRwdXQgeworICAgICAgICAg
ICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgbGV0IHdyaXRlID0gcyA9PiBvdXRwdXQuaW5uZXJI
VE1MICs9IHMgKyAiPGJyPiI7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHZlcnRpY2Fs
U2Nyb2xsSW5Cb2R5KGRyYWdEZWx0YXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgICAgICAgICB3cml0ZShgU2Nyb2xsaW5n
IGJvZHkgd2l0aCAke2RyYWdEZWx0YXMubGVuZ3RofSBkcmFnIHRpY2tzYCk7CisgICAgICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZlbnRzKCk7CisgICAgICAgICAgICAgICAg
aW50ZXJuYWxzLnNldFBsYXRmb3JtTW9tZW50dW1TY3JvbGxpbmdQcmVkaWN0aW9uRW5hYmxlZChm
YWxzZSk7CisgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8od2luZG93Lmlu
bmVyV2lkdGggLyAyLCB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyKTsKKyAgICAgICAgICAgICAgICBk
cmFnRGVsdGFzLmZvckVhY2goKGRlbHRhLCBpKSA9PiBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgZGVsdGEsIGkgPT0gMCA/ICJiZWdhbiIgOiAi
Y2hhbmdlZCIsICJub25lIikpOworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Ny
b2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAwLCAiZW5kZWQiLCAibm9uZSIpOwor
ICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNhbGxBZnRlclNjcm9sbGluZ0NvbXBsZXRlcygo
KSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGxldCBhcmVhSGVpZ2h0ID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiLmFyZWEiKS5jbGllbnRIZWlnaHQ7CisgICAgICAgICAgICAgICAgICAgIHdy
aXRlKGAtIERpZCB0aGUgc2Nyb2xsaW5nIHNuYXAgdG8gdGhlIHRvcD8gJHtkb2N1bWVudC5zY3Jv
bGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9PSAwID8gIllFUyIgOiAiTk8ifWApOworICAgICAgICAg
ICAgICAgICAgICB3cml0ZShgLSBEaWQgc2Nyb2xsaW5nIHNuYXAgdG8gdGhlIHNlY29uZCBib3g/
ICR7ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPT0gYXJlYUhlaWdodCA/ICJZ
RVMiIDogIk5PIn1gKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuc2Nyb2xsaW5nRWxl
bWVudC5zY3JvbGxUb3AgPSAwOworICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHJlc29s
dmUsIDApOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBydW4oKSB7CisgICAgICAgICAgICBpZiAoIXdpbmRvdy50ZXN0
UnVubmVyIHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICB3cml0ZSgi
VG8gbWFudWFsbHkgdGVzdCwgdmVyaWZ5IHRoYXQgc2Nyb2xsaW5nIG5lYXIgb25lIG9mIHRoZSBi
b3VuZGFyaWVzIGJldHdlZW4gdGhlIGNvbG9yZWQgYm94ZXMiKTsKKyAgICAgICAgICAgICAgICB3
cml0ZSgic25hcHMgdG8gdGhlIGVkZ2Ugb2YgdGhlIG5lYXJlc3QgY29sb3JlZCBib3gsIGJ1dCBz
Y3JvbGxpbmcgc29tZXdoZXJlIG5lYXIgdGhlIG1pZGRsZSBvZiB0d28iKTsKKyAgICAgICAgICAg
ICAgICB3cml0ZSgiYm94ZXMgZG9lcyBub3QgY2F1c2UgdGhlIHNjcm9sbCBvZmZzZXQgdG8gc25h
cC4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGxldCBhcmVhSGVpZ2h0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmFyZWEiKS5jbGll
bnRIZWlnaHQ7CisgICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbEluQm9keShuZXcgQXJyYXkoMiku
ZmlsbCgtMSkpCisgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gdmVydGljYWxTY3JvbGxJbkJv
ZHkobmV3IEFycmF5KE1hdGgucm91bmQoYXJlYUhlaWdodCAvIDIwKSkuZmlsbCgtMSkpKQorICAg
ICAgICAgICAgICAgIC50aGVuKCgpID0+IHZlcnRpY2FsU2Nyb2xsSW5Cb2R5KG5ldyBBcnJheShN
YXRoLnJvdW5kKGFyZWFIZWlnaHQgLyAxMCkpLmZpbGwoLTEpKSkKKyAgICAgICAgICAgICAgICAu
dGhlbigoKSA9PiB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKSk7CisgICAgICAgIH0KKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD1ydW4oKT4KKyAgICAgICAg
PGRpdiBjbGFzcz0iYXJlYSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYXJlYSIgc3R5bGU9ImJhY2tncm91bmQtY29s
b3I6IGJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYXJlYSIgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IGFxdWE7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYXJlYSIgc3R5
bGU9ImJhY2tncm91bmQtY29sb3I6IHllbGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJhcmVhIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZnVjaHNpYTsiPjwvZGl2PgorICAgIDwv
Ym9keT4KKyAgICA8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtcHJveGltaXR5LW1haW5mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS5odG1s
CmluZGV4IDAwOGIxMWM5NmI0ZmQ3YmE0NTkxZDIyYTFlOGE4MmVkMTNhYzNmNWYuLjI1OWU2YTc3
YzMwZjI2MGY3Njk5NTA3OWZjODY1ZWZkY2RlN2UxMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0
eS1tYWluZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLmh0bWwKQEAgLTIs
NiArMiw5IEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgaHRtbCB7CisgICAgICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBwcm94aW1pdHk7
CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBib2R5IHsKICAgICAgICAgICAgICAgICBtYXJn
aW46IDA7CiAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CkBAIC05LDkgKzEyLDYgQEAKICAg
ICAgICAgICAgICAgICBvdmVyZmxvdy14OiBub25lOwogICAgICAgICAgICAgICAgIG92ZXJmbG93
LXk6IHNjcm9sbDsKICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgICAg
ICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBwcm94aW1pdHk7Ci0gICAgICAgICAgICAgICAg
LXdlYmtpdC1zY3JvbGwtc25hcC10eXBlOiBwcm94aW1pdHk7Ci0gICAgICAgICAgICAgICAgc2Ny
b2xsLXNuYXAtdHlwZTogcHJveGltaXR5OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAu
YXJlYSB7CkBAIC0yMCw4ICsyMCw2IEBACiAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7CiAg
ICAgICAgICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFw
LWFsaWduOiBzdGFydDsKLSAgICAgICAgICAgICAgICAtd2Via2l0LXNjcm9sbC1zbmFwLWNvb3Jk
aW5hdGU6IDAgMDsKLSAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC1jb29yZGluYXRlOiAwIDA7
CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICNvdXRwdXQgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>