<?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>216183</bug_id>
          
          <creation_ts>2020-09-04 09:35:44 -0700</creation_ts>
          <short_desc>Improve interpolation algorithm in OscillatorNode</short_desc>
          <delta_ts>2020-09-04 12:19:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1685698</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-04 09:35:44 -0700</bug_when>
    <thetext>Improve interpolation algorithm in OscillatorNode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685714</commentid>
    <comment_count>1</comment_count>
      <attachid>407985</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-04 09:50:41 -0700</bug_when>
    <thetext>Created attachment 407985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685728</commentid>
    <comment_count>2</comment_count>
      <attachid>407989</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-04 10:11:28 -0700</bug_when>
    <thetext>Created attachment 407989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685771</commentid>
    <comment_count>3</comment_count>
      <attachid>407989</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-09-04 11:21:41 -0700</bug_when>
    <thetext>Comment on attachment 407989
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685799</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-04 11:54:43 -0700</bug_when>
    <thetext>Committed r266627: &lt;https://trac.webkit.org/changeset/266627&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407989.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685800</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-04 11:55:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/68358295&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685803</commentid>
    <comment_count>6</comment_count>
      <attachid>407989</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-04 12:08:02 -0700</bug_when>
    <thetext>Comment on attachment 407989
Patch

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

&gt; Source/WebCore/Modules/webaudio/OscillatorNode.cpp:210
&gt; +    // Consider a typical sample rate of 44100 Hz and max periodic wave
&gt; +    // size of 4096. The relationship between |incr| and the frequency
&gt; +    // of the oscillator is |incr| = freq * 4096/44100. Or freq =
&gt; +    // |incr|*44100/4096 = 10.8*|incr|.
&gt; +    //
&gt; +    // For the |incr| thresholds below, this means that we use linear
&gt; +    // interpolation for all freq &gt;= 3.2 Hz, 3-point Lagrange
&gt; +    // for freq &gt;= 1.7 Hz and 5-point Lagrange for every thing else.
&gt; +    //
&gt; +    // We use Lagrange interpolation because it&apos;s relatively simple to
&gt; +    // implement and fairly inexpensive, and the interpolator always
&gt; +    // passes through known points.

You should note somewhere that this is based on code in Chrome&apos;s oscillator_node.cc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685804</commentid>
    <comment_count>7</comment_count>
      <attachid>407989</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-04 12:09:00 -0700</bug_when>
    <thetext>Comment on attachment 407989
Patch

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

&gt;&gt; Source/WebCore/Modules/webaudio/OscillatorNode.cpp:210
&gt;&gt; +    // passes through known points.
&gt; 
&gt; You should note somewhere that this is based on code in Chrome&apos;s oscillator_node.cc

I said in the Changelog: &quot;Align our OscillatorNode implementation with Chromium&quot;. How to you suggest I do better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685810</commentid>
    <comment_count>8</comment_count>
      <attachid>407989</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-04 12:15:37 -0700</bug_when>
    <thetext>Comment on attachment 407989
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/webaudio/OscillatorNode.cpp:210
&gt;&gt;&gt; +    // passes through known points.
&gt;&gt; 
&gt;&gt; You should note somewhere that this is based on code in Chrome&apos;s oscillator_node.cc
&gt; 
&gt; I said in the Changelog: &quot;Align our OscillatorNode implementation with Chromium&quot;. How to you suggest I do better?

Some of you other patches have said something like &quot;cherry picked from Chrome ...&quot;, but the ChangeLog comment is fine too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685811</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-04 12:19:39 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #8)
&gt; Comment on attachment 407989 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=407989&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/Modules/webaudio/OscillatorNode.cpp:210
&gt; &gt;&gt;&gt; +    // passes through known points.
&gt; &gt;&gt; 
&gt; &gt;&gt; You should note somewhere that this is based on code in Chrome&apos;s oscillator_node.cc
&gt; &gt; 
&gt; &gt; I said in the Changelog: &quot;Align our OscillatorNode implementation with Chromium&quot;. How to you suggest I do better?
&gt; 
&gt; Some of you other patches have said something like &quot;cherry picked from
&gt; Chrome ...&quot;, but the ChangeLog comment is fine too.

Ok, I will try and be clearer.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407985</attachid>
            <date>2020-09-04 09:50:41 -0700</date>
            <delta_ts>2020-09-04 10:11:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216183-20200904095040.patch</filename>
            <type>text/plain</type>
            <size>31055</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk0M2FhZGU3ZjVlMGFh
ZWI4ZDNlZTIzNzAyMDQ1MGRhZTU0YTIyMi4uNTFiYTVlMzg4Y2RmNGRmMDU5NTA3MWQzMWMyMmQz
ZWRmYTRjYmMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA5LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSBpbnRlcnBvbGF0
aW9uIGFsZ29yaXRobSBpbiBPc2NpbGxhdG9yTm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWxpZ24gb3VyIE9zY2lsbGF0b3JOb2RlIGltcGxlbWVu
dGF0aW9uIHdpdGggQ2hyb21pdW0gdG8gZ2V0IHVzIGEgZmV3IG1vcmUKKyAgICAgICAgcGFzc2Vz
IG9uIFdQVCB0ZXN0cy4gSW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdlcmUg
bWFkZToKKyAgICAgICAgLSBBbGlnbiBkZXR1bmUgQXVkaW9QYXJhbSBub21pbmFsIHJhbmdlIHZh
bHVlcyB3aXRoIENocm9taXVtJ3MuCisgICAgICAgIC0gV2Ugbm93IGNsYW1wIHRoZSBmcmVxdWVu
Y3kgdmFsdWUgdG8gbGllIHdpdGhpbiBOeXF1aXN0IGZyZXF1ZW5jeS4KKyAgICAgICAgLSBVc2Ug
ZGlmZmVyZW50IGludGVycG9sYXRpb24gYWxnb3JpdGhtcyBiYXNlZCBvbiBmcmVxdWVuY3kuCisg
ICAgICAgIC0gU3BsaXQgQS1SYXRlIC8gSy1SYXRlIHByb2Nlc3NpbmcgY29kZSBpbnRvIHNlcGFy
YXRlIGZ1bmN0aW9ucyBmb3IKKyAgICAgICAgICBjbGFyaXR5LgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgcmViYXNlbGluZWQgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRldHVuZVRvRnJl
cXVlbmN5TXVsdGlwbGllcik6CisgICAgICAgIChXZWJDb3JlOjpjbGFtcEZyZXF1ZW5jeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpPc2NpbGxhdG9yTm9kZTo6T3NjaWxsYXRvck5vZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6T3NjaWxsYXRvck5vZGU6OmNhbGN1bGF0ZVNhbXBsZUFjY3VyYXRlUGhhc2VJ
bmNyZW1lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OmRvSW50ZXJwb2xhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpPc2NpbGxhdG9yTm9kZTo6cHJvY2Vzc0FSYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok9zY2lsbGF0b3JOb2RlOjpwcm9jZXNzS1JhdGUpOgorICAgICAgICAoV2ViQ29yZTo6T3Nj
aWxsYXRvck5vZGU6OnByb2Nlc3MpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxs
YXRvck5vZGUuaDoKKwogMjAyMC0wOS0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgVGV4dERlY29kZXJTdHJlYW1EZWNvZGVyLkBlbmNvZGluZyBpcyBicm9r
ZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5jcHAKaW5kZXggZjY1Y2M5ZGQ1NDIwYTQ0ODBkMGU1M2NkYjI0NzUwZDg5YzY3Zjk1MC4uZmM1
ODFhNTcwN2ZmNTBmMWZiY2I0OWY3MjhlZDU4MDI2ODU4YjcxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKQEAgLTQwLDYgKzQw
LDI1IEBAIHVzaW5nIG5hbWVzcGFjZSBWZWN0b3JNYXRoOwogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoT3NjaWxsYXRvck5vZGUpOwogCisvLyBCcmVha3BvaW50cyB3aGVyZSB3ZSBkZWlj
ZGUgdG8gZG8gbGluZWFyIGludGVyb3BsYXRpb24sIDMtcG9pbnQgaW50ZXJwb2xhdGlvbiBvciA1
LXBvaW50IGludGVycG9sYXRpb24uIFNlZSBkb0ludGVycG9sYXRpb24oKS4KK2NvbnN0ZXhwciBm
bG9hdCBpbnRlcnBvbGF0ZTJQb2ludCA9IDAuMzsKK2NvbnN0ZXhwciBmbG9hdCBpbnRlcnBvbGF0
ZTNQb2ludCA9IDAuMTY7CisKKy8vIENvbnZlcnQgdGhlIGRldHVuZSB2YWx1ZSAoaW4gY2VudHMp
IHRvIGEgZnJlcXVlbmN5IHNjYWxlIG11bHRpcGxpZXI6IDJeKGQvMTIwMCkuCitzdGF0aWMgaW5s
aW5lIGZsb2F0IGRldHVuZVRvRnJlcXVlbmN5TXVsdGlwbGllcihmbG9hdCBkZXR1bmVWYWx1ZSkK
K3sKKyAgICByZXR1cm4gc3RkOjpleHAyKGRldHVuZVZhbHVlIC8gMTIwMCk7Cit9CisKKy8vIENs
YW1wIHRoZSBmcmVxdWVuY3kgdmFsdWUgdG8gbGllIHdpdGhpbiBOeXF1aXN0IGZyZXF1ZW5jeS4g
Rm9yIE5hTiwgYXJiaXRyYXJpbHkgY2xhbXAgdG8gK055cXVpc3QuCitzdGF0aWMgdm9pZCBjbGFt
cEZyZXF1ZW5jeShmbG9hdCogZnJlcXVlbmN5LCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzLCBmbG9h
dCBueXF1aXN0KQoreworICAgIGZvciAoc2l6ZV90IGsgPSAwOyBrIDwgZnJhbWVzVG9Qcm9jZXNz
OyArK2spIHsKKyAgICAgICAgZmxvYXQgZiA9IGZyZXF1ZW5jeVtrXTsKKyAgICAgICAgZnJlcXVl
bmN5W2tdID0gc3RkOjppc25hbihmKSA/IG55cXVpc3QgOiBjbGFtcFRvKGYsIC1ueXF1aXN0LCBu
eXF1aXN0KTsKKyAgICB9Cit9CisKIEV4Y2VwdGlvbk9yPFJlZjxPc2NpbGxhdG9yTm9kZT4+IE9z
Y2lsbGF0b3JOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgT3Nj
aWxsYXRvck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkp
CkBAIC03NCw3ICs5Myw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxPc2NpbGxhdG9yTm9kZT4+IE9zY2ls
bGF0b3JOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4CiBPc2NpbGxhdG9yTm9k
ZTo6T3NjaWxsYXRvck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgT3NjaWxs
YXRvck9wdGlvbnMmIG9wdGlvbnMpCiAgICAgOiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUoY29u
dGV4dCkKICAgICAsIG1fZnJlcXVlbmN5KEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAiZnJl
cXVlbmN5Il9zLCBvcHRpb25zLmZyZXF1ZW5jeSwgLWNvbnRleHQuc2FtcGxlUmF0ZSgpIC8gMiwg
Y29udGV4dC5zYW1wbGVSYXRlKCkgLyAyLCBBdXRvbWF0aW9uUmF0ZTo6QVJhdGUpKQotICAgICwg
bV9kZXR1bmUoQXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJkZXR1bmUiX3MsIG9wdGlvbnMu
ZGV0dW5lLCAtMTUzNjAwLCAxNTM2MDAsIEF1dG9tYXRpb25SYXRlOjpBUmF0ZSkpCisgICAgLCBt
X2RldHVuZShBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImRldHVuZSJfcywgb3B0aW9ucy5k
ZXR1bmUsIC0xMjAwICogbG9nMmYoc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKSwg
MTIwMCAqIGxvZzJmKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSksIEF1dG9tYXRp
b25SYXRlOjpBUmF0ZSkpCiB7CiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVPc2NpbGxhdG9yKTsK
ICAgICAKQEAgLTE0Niw3ICsxNjUsNyBAQCBib29sIE9zY2lsbGF0b3JOb2RlOjpjYWxjdWxhdGVT
YW1wbGVBY2N1cmF0ZVBoYXNlSW5jcmVtZW50cyhzaXplX3QgZnJhbWVzVG9Qcm9jZQogICAgICAg
ICBmbG9hdCBrID0gMS4wIC8gMTIwMDsKICAgICAgICAgdnNtdWwoZGV0dW5lVmFsdWVzLCAxLCAm
aywgZGV0dW5lVmFsdWVzLCAxLCBmcmFtZXNUb1Byb2Nlc3MpOwogICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgZnJhbWVzVG9Qcm9jZXNzOyArK2kpCi0gICAgICAgICAgICBkZXR1bmVW
YWx1ZXNbaV0gPSBwb3dmKDIsIGRldHVuZVZhbHVlc1tpXSk7IC8vIEZJWE1FOiBjb252ZXJ0aW5n
IHRvIGV4cGYoKSB3aWxsIGJlIGZhc3Rlci4KKyAgICAgICAgICAgIGRldHVuZVZhbHVlc1tpXSA9
IHN0ZDo6ZXhwMihkZXR1bmVWYWx1ZXNbaV0pOwogCiAgICAgICAgIGlmIChoYXNGcmVxdWVuY3lD
aGFuZ2VzKSB7CiAgICAgICAgICAgICAvLyBNdWx0aXBseSBmcmVxdWVuY2llcyBieSBkZXR1bmUg
c2NhbGluZ3MuCkBAIC0xNTQsMTEgKzE3MywxMiBAQCBib29sIE9zY2lsbGF0b3JOb2RlOjpjYWxj
dWxhdGVTYW1wbGVBY2N1cmF0ZVBoYXNlSW5jcmVtZW50cyhzaXplX3QgZnJhbWVzVG9Qcm9jZQog
ICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmxvYXQgZGV0dW5lID0gbV9kZXR1bmUt
PmZpbmFsVmFsdWUoKTsKLSAgICAgICAgZmxvYXQgZGV0dW5lU2NhbGUgPSBwb3dmKDIsIGRldHVu
ZSAvIDEyMDApOworICAgICAgICBmbG9hdCBkZXR1bmVTY2FsZSA9IGRldHVuZVRvRnJlcXVlbmN5
TXVsdGlwbGllcihkZXR1bmUpOwogICAgICAgICBmaW5hbFNjYWxlICo9IGRldHVuZVNjYWxlOwog
ICAgIH0KIAogICAgIGlmIChoYXNTYW1wbGVBY2N1cmF0ZVZhbHVlcykgeworICAgICAgICBjbGFt
cEZyZXF1ZW5jeShwaGFzZUluY3JlbWVudHMsIGZyYW1lc1RvUHJvY2VzcywgY29udGV4dCgpLnNh
bXBsZVJhdGUoKSAvIDIpOwogICAgICAgICAvLyBDb252ZXJ0IGZyb20gZnJlcXVlbmN5IHRvIHdh
dmUgaW5jcmVtZW50LgogICAgICAgICB2c211bChwaGFzZUluY3JlbWVudHMsIDEsICZmaW5hbFNj
YWxlLCBwaGFzZUluY3JlbWVudHMsIDEsIGZyYW1lc1RvUHJvY2Vzcyk7CiAgICAgfQpAQCAtMTY2
LDYgKzE4NiwxNjcgQEAgYm9vbCBPc2NpbGxhdG9yTm9kZTo6Y2FsY3VsYXRlU2FtcGxlQWNjdXJh
dGVQaGFzZUluY3JlbWVudHMoc2l6ZV90IGZyYW1lc1RvUHJvY2UKICAgICByZXR1cm4gaGFzU2Ft
cGxlQWNjdXJhdGVWYWx1ZXM7CiB9CiAKK3N0YXRpYyBmbG9hdCBkb0ludGVycG9sYXRpb24oZG91
YmxlIHZpcnR1YWxSZWFkSW5kZXgsIGZsb2F0IGluY3IsIHVuc2lnbmVkIHJlYWRJbmRleE1hc2ss
IGZsb2F0IHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvciwgY29uc3QgZmxvYXQqIGxvd2VyV2F2ZURh
dGEsIGNvbnN0IGZsb2F0KiBoaWdoZXJXYXZlRGF0YSkKK3sKKyAgICBBU1NFUlQoaW5jciA+PSAw
KTsKKyAgICBBU1NFUlQoc3RkOjppc2Zpbml0ZSh2aXJ0dWFsUmVhZEluZGV4KSk7CisKKyAgICBk
b3VibGUgc2FtcGxlTG93ZXIgPSAwOworICAgIGRvdWJsZSBzYW1wbGVIaWdoZXIgPSAwOworCisg
ICAgdW5zaWduZWQgcmVhZEluZGV4MCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih2aXJ0dWFsUmVh
ZEluZGV4KTsKKworICAgIC8vIENvbnNpZGVyIGEgdHlwaWNhbCBzYW1wbGUgcmF0ZSBvZiA0NDEw
MCBIeiBhbmQgbWF4IHBlcmlvZGljIHdhdmUKKyAgICAvLyBzaXplIG9mIDQwOTYuIFRoZSByZWxh
dGlvbnNoaXAgYmV0d2VlbiB8aW5jcnwgYW5kIHRoZSBmcmVxdWVuY3kKKyAgICAvLyBvZiB0aGUg
b3NjaWxsYXRvciBpcyB8aW5jcnwgPSBmcmVxICogNDA5Ni80NDEwMC4gT3IgZnJlcSA9CisgICAg
Ly8gfGluY3J8KjQ0MTAwLzQwOTYgPSAxMC44KnxpbmNyfC4KKyAgICAvLworICAgIC8vIEZvciB0
aGUgfGluY3J8IHRocmVzaG9sZHMgYmVsb3csIHRoaXMgbWVhbnMgdGhhdCB3ZSB1c2UgbGluZWFy
CisgICAgLy8gaW50ZXJwb2xhdGlvbiBmb3IgYWxsIGZyZXEgPj0gMy4yIEh6LCAzLXBvaW50IExh
Z3JhbmdlCisgICAgLy8gZm9yIGZyZXEgPj0gMS43IEh6IGFuZCA1LXBvaW50IExhZ3JhbmdlIGZv
ciBldmVyeSB0aGluZyBlbHNlLgorICAgIC8vCisgICAgLy8gV2UgdXNlIExhZ3JhbmdlIGludGVy
cG9sYXRpb24gYmVjYXVzZSBpdCdzIHJlbGF0aXZlbHkgc2ltcGxlIHRvCisgICAgLy8gaW1wbGVt
ZW50IGFuZCBmYWlybHkgaW5leHBlbnNpdmUsIGFuZCB0aGUgaW50ZXJwb2xhdG9yIGFsd2F5cwor
ICAgIC8vIHBhc3NlcyB0aHJvdWdoIGtub3duIHBvaW50cy4KKyAgICBpZiAoaW5jciA+PSBpbnRl
cnBvbGF0ZTJQb2ludCkgeworICAgICAgICAvLyBJbmNyZW1lbnQgaXMgZmFpcmx5IGxhcmdlLCBz
byB3ZSdyZSBkb2luZyBubyBtb3JlIHRoYW4gYWJvdXQgMworICAgICAgICAvLyBwb2ludHMgYmV0
d2VlbiBlYWNoIHdhdmUgdGFibGUgZW50cnkuIEFzc3VtZSBsaW5lYXIKKyAgICAgICAgLy8gaW50
ZXJwb2xhdGlvbiBiZXR3ZWVuIHBvaW50cyBpcyBnb29kIGVub3VnaC4KKyAgICAgICAgdW5zaWdu
ZWQgcmVhZEluZGV4MiA9IHJlYWRJbmRleDAgKyAxOworCisgICAgICAgIC8vIENvbnRhaW4gd2l0
aGluIHZhbGlkIHJhbmdlLgorICAgICAgICByZWFkSW5kZXgwID0gcmVhZEluZGV4MCAmIHJlYWRJ
bmRleE1hc2s7CisgICAgICAgIHJlYWRJbmRleDIgPSByZWFkSW5kZXgyICYgcmVhZEluZGV4TWFz
azsKKworICAgICAgICBmbG9hdCBzYW1wbGUxTG93ZXIgPSBsb3dlcldhdmVEYXRhW3JlYWRJbmRl
eDBdOworICAgICAgICBmbG9hdCBzYW1wbGUyTG93ZXIgPSBsb3dlcldhdmVEYXRhW3JlYWRJbmRl
eDJdOworICAgICAgICBmbG9hdCBzYW1wbGUxSGlnaGVyID0gaGlnaGVyV2F2ZURhdGFbcmVhZElu
ZGV4MF07CisgICAgICAgIGZsb2F0IHNhbXBsZTJIaWdoZXIgPSBoaWdoZXJXYXZlRGF0YVtyZWFk
SW5kZXgyXTsKKworICAgICAgICAvLyBMaW5lYXJseSBpbnRlcnBvbGF0ZSB3aXRoaW4gZWFjaCB0
YWJsZSAobG93ZXIgYW5kIGhpZ2hlcikuCisgICAgICAgIGRvdWJsZSBpbnRlcnBvbGF0aW9uRmFj
dG9yID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHZpcnR1YWxSZWFkSW5kZXgpIC0gcmVhZEluZGV4MDsK
KyAgICAgICAgc2FtcGxlSGlnaGVyID0gKDEgLSBpbnRlcnBvbGF0aW9uRmFjdG9yKSAqIHNhbXBs
ZTFIaWdoZXIgKyBpbnRlcnBvbGF0aW9uRmFjdG9yICogc2FtcGxlMkhpZ2hlcjsKKyAgICAgICAg
c2FtcGxlTG93ZXIgPSAoMSAtIGludGVycG9sYXRpb25GYWN0b3IpICogc2FtcGxlMUxvd2VyICsg
aW50ZXJwb2xhdGlvbkZhY3RvciAqIHNhbXBsZTJMb3dlcjsKKworICAgIH0gZWxzZSBpZiAoaW5j
ciA+PSBpbnRlcnBvbGF0ZTNQb2ludCkgeworICAgICAgICAvLyBXZSdyZSBkb2luZyBhYm91dCA2
IGludGVycG9sYXRpb24gdmFsdWVzIGJldHdlZW4gZWFjaCB3YXZlCisgICAgICAgIC8vIHRhYmxl
IHNhbXBsZS4gSnVzdCB1c2UgYSAzLXBvaW50IExhZ3JhbmdlIGludGVycG9sYXRvciB0byBnZXQg
YQorICAgICAgICAvLyBiZXR0ZXIgZXN0aW1hdGUgdGhhbiBqdXN0IGxpbmVhci4KKyAgICAgICAg
Ly8KKyAgICAgICAgLy8gU2VlIDMtcG9pbnQgZm9ybXVsYSBpbiBodHRwOi8vZGxtZi5uaXN0Lmdv
di8zLjMjaWkKKyAgICAgICAgdW5zaWduZWQgcmVhZEluZGV4WzNdOworCisgICAgICAgIGZvciAo
aW50IGsgPSAtMTsgayA8PSAxOyArK2spCisgICAgICAgICAgICByZWFkSW5kZXhbayArIDFdID0g
KHJlYWRJbmRleDAgKyBrKSAmIHJlYWRJbmRleE1hc2s7CisKKyAgICAgICAgZG91YmxlIGFbM107
CisgICAgICAgIGRvdWJsZSB0ID0gdmlydHVhbFJlYWRJbmRleCAtIHJlYWRJbmRleDA7CisKKyAg
ICAgICAgYVswXSA9IDAuNSAqIHQgKiAodCAtIDEpOworICAgICAgICBhWzFdID0gMSAtIHQgKiB0
OworICAgICAgICBhWzJdID0gMC41ICogdCAqICh0ICsgMSk7CisKKyAgICAgICAgZm9yIChpbnQg
ayA9IDA7IGsgPCAzOyArK2spIHsKKyAgICAgICAgICAgIHNhbXBsZUxvd2VyICs9IGFba10gKiBs
b3dlcldhdmVEYXRhW3JlYWRJbmRleFtrXV07CisgICAgICAgICAgICBzYW1wbGVIaWdoZXIgKz0g
YVtrXSAqIGhpZ2hlcldhdmVEYXRhW3JlYWRJbmRleFtrXV07CisgICAgICAgIH0KKyAgICB9IGVs
c2UgeworICAgICAgICAvLyBGb3IgZXZlcnl0aGluZyBlbHNlIChtb3JlIHRoYW4gNiBwb2ludHMg
cGVyIGVudHJ5KSwgd2UnbGwgZG8gYQorICAgICAgICAvLyA1LXBvaW50IExhZ3JhbmdlIGludGVy
cG9sYXRvci4gVGhpcyBpcyBhIHRyYWRlLW9mZiBiZXR3ZWVuCisgICAgICAgIC8vIHF1YWxpdHkg
YW5kIHNwZWVkLgorICAgICAgICAvLworICAgICAgICAvLyBTZWUgNS1wb2ludCBmb3JtdWxhIGlu
IGh0dHA6Ly9kbG1mLm5pc3QuZ292LzMuMyNpaQorICAgICAgICB1bnNpZ25lZCByZWFkSW5kZXhb
NV07CisgICAgICAgIGZvciAoaW50IGsgPSAtMjsgayA8PSAyOyArK2spCisgICAgICAgICAgICBy
ZWFkSW5kZXhbayArIDJdID0gKHJlYWRJbmRleDAgKyBrKSAmIHJlYWRJbmRleE1hc2s7CisKKyAg
ICAgICAgZG91YmxlIGFbNV07CisgICAgICAgIGRvdWJsZSB0ID0gdmlydHVhbFJlYWRJbmRleCAt
IHJlYWRJbmRleDA7CisgICAgICAgIGRvdWJsZSB0MiA9IHQgKiB0OworCisgICAgICAgIGFbMF0g
PSB0ICogKHQyIC0gMSkgKiAodCAtIDIpIC8gMjQ7CisgICAgICAgIGFbMV0gPSAtdCAqICh0IC0g
MSkgKiAodDIgLSA0KSAvIDY7CisgICAgICAgIGFbMl0gPSAodDIgLSAxKSAqICh0MiAtIDQpIC8g
NDsKKyAgICAgICAgYVszXSA9IC10ICogKHQgKyAxKSAqICh0MiAtIDQpIC8gNjsKKyAgICAgICAg
YVs0XSA9IHQgKiAodDIgLSAxKSAqICh0ICsgMikgLyAyNDsKKworICAgICAgICBmb3IgKGludCBr
ID0gMDsgayA8IDU7ICsraykgeworICAgICAgICAgICAgc2FtcGxlTG93ZXIgKz0gYVtrXSAqIGxv
d2VyV2F2ZURhdGFbcmVhZEluZGV4W2tdXTsKKyAgICAgICAgICAgIHNhbXBsZUhpZ2hlciArPSBh
W2tdICogaGlnaGVyV2F2ZURhdGFbcmVhZEluZGV4W2tdXTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIC8vIFRoZW4gaW50ZXJwb2xhdGUgYmV0d2VlbiB0aGUgdHdvIHRhYmxlcy4KKyAgICBmbG9h
dCBzYW1wbGUgPSAoMSAtIHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvcikgKiBzYW1wbGVIaWdoZXIg
KyB0YWJsZUludGVycG9sYXRpb25GYWN0b3IgKiBzYW1wbGVMb3dlcjsKKyAgICByZXR1cm4gc2Ft
cGxlOworfQorCitkb3VibGUgT3NjaWxsYXRvck5vZGU6OnByb2Nlc3NBUmF0ZShpbnQgbiwgZmxv
YXQqIGRlc3RQLCBkb3VibGUgdmlydHVhbFJlYWRJbmRleCwgZmxvYXQqIHBoYXNlSW5jcmVtZW50
cykKK3sKKyAgICBmbG9hdCByYXRlU2NhbGUgPSBtX3BlcmlvZGljV2F2ZS0+cmF0ZVNjYWxlKCk7
CisgICAgZmxvYXQgaW52UmF0ZVNjYWxlID0gMSAvIHJhdGVTY2FsZTsKKyAgICB1bnNpZ25lZCBw
ZXJpb2RpY1dhdmVTaXplID0gbV9wZXJpb2RpY1dhdmUtPnBlcmlvZGljV2F2ZVNpemUoKTsKKyAg
ICBkb3VibGUgaW52UGVyaW9kaWNXYXZlU2l6ZSA9IDEuMCAvIHBlcmlvZGljV2F2ZVNpemU7Cisg
ICAgdW5zaWduZWQgcmVhZEluZGV4TWFzayA9IHBlcmlvZGljV2F2ZVNpemUgLSAxOworCisgICAg
ZmxvYXQqIGhpZ2hlcldhdmVEYXRhID0gbnVsbHB0cjsKKyAgICBmbG9hdCogbG93ZXJXYXZlRGF0
YSA9IG51bGxwdHI7CisgICAgZmxvYXQgdGFibGVJbnRlcnBvbGF0aW9uRmFjdG9yID0gMDsKKwor
ICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbjsgKytrKSB7CisgICAgICAgIGZsb2F0IGluY3IgPSAq
cGhhc2VJbmNyZW1lbnRzKys7CisKKyAgICAgICAgZmxvYXQgZnJlcXVlbmN5ID0gaW52UmF0ZVNj
YWxlICogaW5jcjsKKyAgICAgICAgbV9wZXJpb2RpY1dhdmUtPndhdmVEYXRhRm9yRnVuZGFtZW50
YWxGcmVxdWVuY3koZnJlcXVlbmN5LCBsb3dlcldhdmVEYXRhLCBoaWdoZXJXYXZlRGF0YSwgdGFi
bGVJbnRlcnBvbGF0aW9uRmFjdG9yKTsKKworICAgICAgICBmbG9hdCBzYW1wbGUgPSBkb0ludGVy
cG9sYXRpb24odmlydHVhbFJlYWRJbmRleCwgZmFicyhpbmNyKSwgcmVhZEluZGV4TWFzaywgdGFi
bGVJbnRlcnBvbGF0aW9uRmFjdG9yLCBsb3dlcldhdmVEYXRhLCBoaWdoZXJXYXZlRGF0YSk7CisK
KyAgICAgICAgKmRlc3RQKysgPSBzYW1wbGU7CisKKyAgICAgICAgLy8gSW5jcmVtZW50IHZpcnR1
YWwgcmVhZCBpbmRleCBhbmQgd3JhcCB2aXJ0dWFsUmVhZEluZGV4IGludG8gdGhlIHJhbmdlCisg
ICAgICAgIC8vIDAgLT4gcGVyaW9kaWNXYXZlU2l6ZS4KKyAgICAgICAgdmlydHVhbFJlYWRJbmRl
eCArPSBpbmNyOworICAgICAgICB2aXJ0dWFsUmVhZEluZGV4IC09IGZsb29yKHZpcnR1YWxSZWFk
SW5kZXggKiBpbnZQZXJpb2RpY1dhdmVTaXplKSAqIHBlcmlvZGljV2F2ZVNpemU7CisgICAgfQor
CisgICAgcmV0dXJuIHZpcnR1YWxSZWFkSW5kZXg7Cit9CisKK2RvdWJsZSBPc2NpbGxhdG9yTm9k
ZTo6cHJvY2Vzc0tSYXRlKGludCBuLCBmbG9hdCogZGVzdFAsIGRvdWJsZSB2aXJ0dWFsUmVhZElu
ZGV4KQoreworICAgIHVuc2lnbmVkIHBlcmlvZGljV2F2ZVNpemUgPSBtX3BlcmlvZGljV2F2ZS0+
cGVyaW9kaWNXYXZlU2l6ZSgpOworICAgIGRvdWJsZSBpbnZQZXJpb2RpY1dhdmVTaXplID0gMS4w
IC8gcGVyaW9kaWNXYXZlU2l6ZTsKKyAgICB1bnNpZ25lZCByZWFkSW5kZXhNYXNrID0gcGVyaW9k
aWNXYXZlU2l6ZSAtIDE7CisKKyAgICBmbG9hdCBmcmVxdWVuY3kgPSAwOworICAgIGZsb2F0KiBo
aWdoZXJXYXZlRGF0YSA9IG51bGxwdHI7CisgICAgZmxvYXQqIGxvd2VyV2F2ZURhdGEgPSBudWxs
cHRyOworICAgIGZsb2F0IHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvciA9IDA7CisKKyAgICBmcmVx
dWVuY3kgPSBtX2ZyZXF1ZW5jeS0+ZmluYWxWYWx1ZSgpOworICAgIGZsb2F0IGRldHVuZSA9IG1f
ZGV0dW5lLT5maW5hbFZhbHVlKCk7CisgICAgZmxvYXQgZGV0dW5lU2NhbGUgPSBkZXR1bmVUb0Zy
ZXF1ZW5jeU11bHRpcGxpZXIoZGV0dW5lKTsKKyAgICBmcmVxdWVuY3kgKj0gZGV0dW5lU2NhbGU7
CisgICAgY2xhbXBGcmVxdWVuY3koJmZyZXF1ZW5jeSwgMSwgY29udGV4dCgpLnNhbXBsZVJhdGUo
KSAvIDIpOworICAgIG1fcGVyaW9kaWNXYXZlLT53YXZlRGF0YUZvckZ1bmRhbWVudGFsRnJlcXVl
bmN5KGZyZXF1ZW5jeSwgbG93ZXJXYXZlRGF0YSwgaGlnaGVyV2F2ZURhdGEsIHRhYmxlSW50ZXJw
b2xhdGlvbkZhY3Rvcik7CisKKyAgICBmbG9hdCByYXRlU2NhbGUgPSBtX3BlcmlvZGljV2F2ZS0+
cmF0ZVNjYWxlKCk7CisgICAgZmxvYXQgaW5jciA9IGZyZXF1ZW5jeSAqIHJhdGVTY2FsZTsKKwor
ICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbjsgKytrKSB7CisgICAgICAgIGZsb2F0IHNhbXBsZSA9
IGRvSW50ZXJwb2xhdGlvbih2aXJ0dWFsUmVhZEluZGV4LCBmYWJzKGluY3IpLCByZWFkSW5kZXhN
YXNrLCB0YWJsZUludGVycG9sYXRpb25GYWN0b3IsIGxvd2VyV2F2ZURhdGEsIGhpZ2hlcldhdmVE
YXRhKTsKKworICAgICAgICAqZGVzdFArKyA9IHNhbXBsZTsKKworICAgICAgICAvLyBJbmNyZW1l
bnQgdmlydHVhbCByZWFkIGluZGV4IGFuZCB3cmFwIHZpcnR1YWxSZWFkSW5kZXggaW50byB0aGUg
cmFuZ2UKKyAgICAgICAgLy8gMCAtPiBwZXJpb2RpY1dhdmVTaXplLgorICAgICAgICB2aXJ0dWFs
UmVhZEluZGV4ICs9IGluY3I7CisgICAgICAgIHZpcnR1YWxSZWFkSW5kZXggLT0gZmxvb3Iodmly
dHVhbFJlYWRJbmRleCAqIGludlBlcmlvZGljV2F2ZVNpemUpICogcGVyaW9kaWNXYXZlU2l6ZTsK
KyAgICB9CisKKyAgICByZXR1cm4gdmlydHVhbFJlYWRJbmRleDsKK30KKwogdm9pZCBPc2NpbGxh
dG9yTm9kZTo6cHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQogewogICAgIGF1dG8mIG91
dHB1dEJ1cyA9ICpvdXRwdXQoMCktPmJ1cygpOwpAQCAtMjAzLDkgKzM4NCw2IEBAIHZvaWQgT3Nj
aWxsYXRvck5vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIHVuc2lnbmVkIHBlcmlvZGljV2F2ZVNpemUgPSBtX3BlcmlvZGlj
V2F2ZS0+cGVyaW9kaWNXYXZlU2l6ZSgpOwotICAgIGRvdWJsZSBpbnZQZXJpb2RpY1dhdmVTaXpl
ID0gMS4wIC8gcGVyaW9kaWNXYXZlU2l6ZTsKLQogICAgIGZsb2F0KiBkZXN0UCA9IG91dHB1dEJ1
cy5jaGFubmVsKDApLT5tdXRhYmxlRGF0YSgpOwogCiAgICAgQVNTRVJUKHF1YW50dW1GcmFtZU9m
ZnNldCA8PSBmcmFtZXNUb1Byb2Nlc3MpOwpAQCAtMjE0LDcgKzM5Miw2IEBAIHZvaWQgT3NjaWxs
YXRvck5vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICBkb3VibGUgdmly
dHVhbFJlYWRJbmRleCA9IG1fdmlydHVhbFJlYWRJbmRleDsKIAogICAgIGZsb2F0IHJhdGVTY2Fs
ZSA9IG1fcGVyaW9kaWNXYXZlLT5yYXRlU2NhbGUoKTsKLSAgICBmbG9hdCBpbnZSYXRlU2NhbGUg
PSAxIC8gcmF0ZVNjYWxlOwogICAgIGJvb2wgaGFzU2FtcGxlQWNjdXJhdGVWYWx1ZXMgPSBjYWxj
dWxhdGVTYW1wbGVBY2N1cmF0ZVBoYXNlSW5jcmVtZW50cyhmcmFtZXNUb1Byb2Nlc3MpOwogCiAg
ICAgZmxvYXQgZnJlcXVlbmN5ID0gMDsKQEAgLTIyMyw1NiArNDAwLDM2IEBAIHZvaWQgT3NjaWxs
YXRvck5vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICBmbG9hdCB0YWJs
ZUludGVycG9sYXRpb25GYWN0b3IgPSAwOwogCiAgICAgaWYgKCFoYXNTYW1wbGVBY2N1cmF0ZVZh
bHVlcykgewotICAgICAgICBmcmVxdWVuY3kgPSBtX2ZyZXF1ZW5jeS0+c21vb3RoZWRWYWx1ZSgp
OwotICAgICAgICBmbG9hdCBkZXR1bmUgPSBtX2RldHVuZS0+c21vb3RoZWRWYWx1ZSgpOwotICAg
ICAgICBmbG9hdCBkZXR1bmVTY2FsZSA9IHBvd2YoMiwgZGV0dW5lIC8gMTIwMCk7CisgICAgICAg
IGZyZXF1ZW5jeSA9IG1fZnJlcXVlbmN5LT5maW5hbFZhbHVlKCk7CisgICAgICAgIGZsb2F0IGRl
dHVuZSA9IG1fZGV0dW5lLT5maW5hbFZhbHVlKCk7CisgICAgICAgIGZsb2F0IGRldHVuZVNjYWxl
ID0gZGV0dW5lVG9GcmVxdWVuY3lNdWx0aXBsaWVyKGRldHVuZSk7CiAgICAgICAgIGZyZXF1ZW5j
eSAqPSBkZXR1bmVTY2FsZTsKKyAgICAgICAgY2xhbXBGcmVxdWVuY3koJmZyZXF1ZW5jeSwgMSwg
Y29udGV4dCgpLnNhbXBsZVJhdGUoKSAvIDIpOwogICAgICAgICBtX3BlcmlvZGljV2F2ZS0+d2F2
ZURhdGFGb3JGdW5kYW1lbnRhbEZyZXF1ZW5jeShmcmVxdWVuY3ksIGxvd2VyV2F2ZURhdGEsIGhp
Z2hlcldhdmVEYXRhLCB0YWJsZUludGVycG9sYXRpb25GYWN0b3IpOwogICAgIH0KIAotICAgIGZs
b2F0IGluY3IgPSBmcmVxdWVuY3kgKiByYXRlU2NhbGU7CiAgICAgZmxvYXQqIHBoYXNlSW5jcmVt
ZW50cyA9IG1fcGhhc2VJbmNyZW1lbnRzLmRhdGEoKTsKIAotICAgIHVuc2lnbmVkIHJlYWRJbmRl
eE1hc2sgPSBwZXJpb2RpY1dhdmVTaXplIC0gMTsKLQogICAgIC8vIFN0YXJ0IHJlbmRlcmluZyBh
dCB0aGUgY29ycmVjdCBvZmZzZXQuCiAgICAgZGVzdFAgKz0gcXVhbnR1bUZyYW1lT2Zmc2V0Owog
ICAgIGludCBuID0gbm9uU2lsZW50RnJhbWVzVG9Qcm9jZXNzOwogCi0gICAgd2hpbGUgKG4tLSkg
ewotICAgICAgICB1bnNpZ25lZCByZWFkSW5kZXggPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odmly
dHVhbFJlYWRJbmRleCk7Ci0gICAgICAgIHVuc2lnbmVkIHJlYWRJbmRleDIgPSByZWFkSW5kZXgg
KyAxOwotCi0gICAgICAgIC8vIENvbnRhaW4gd2l0aGluIHZhbGlkIHJhbmdlLgotICAgICAgICBy
ZWFkSW5kZXggPSByZWFkSW5kZXggJiByZWFkSW5kZXhNYXNrOwotICAgICAgICByZWFkSW5kZXgy
ID0gcmVhZEluZGV4MiAmIHJlYWRJbmRleE1hc2s7Ci0KLSAgICAgICAgaWYgKGhhc1NhbXBsZUFj
Y3VyYXRlVmFsdWVzKSB7Ci0gICAgICAgICAgICBpbmNyID0gKnBoYXNlSW5jcmVtZW50cysrOwot
Ci0gICAgICAgICAgICBmcmVxdWVuY3kgPSBpbnZSYXRlU2NhbGUgKiBpbmNyOwotICAgICAgICAg
ICAgbV9wZXJpb2RpY1dhdmUtPndhdmVEYXRhRm9yRnVuZGFtZW50YWxGcmVxdWVuY3koZnJlcXVl
bmN5LCBsb3dlcldhdmVEYXRhLCBoaWdoZXJXYXZlRGF0YSwgdGFibGVJbnRlcnBvbGF0aW9uRmFj
dG9yKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZsb2F0IHNhbXBsZTFMb3dlciA9IGxvd2VyV2F2
ZURhdGFbcmVhZEluZGV4XTsKLSAgICAgICAgZmxvYXQgc2FtcGxlMkxvd2VyID0gbG93ZXJXYXZl
RGF0YVtyZWFkSW5kZXgyXTsKLSAgICAgICAgZmxvYXQgc2FtcGxlMUhpZ2hlciA9IGhpZ2hlcldh
dmVEYXRhW3JlYWRJbmRleF07Ci0gICAgICAgIGZsb2F0IHNhbXBsZTJIaWdoZXIgPSBoaWdoZXJX
YXZlRGF0YVtyZWFkSW5kZXgyXTsKLQotICAgICAgICAvLyBMaW5lYXJseSBpbnRlcnBvbGF0ZSB3
aXRoaW4gZWFjaCB0YWJsZSAobG93ZXIgYW5kIGhpZ2hlcikuCi0gICAgICAgIGZsb2F0IGludGVy
cG9sYXRpb25GYWN0b3IgPSBzdGF0aWNfY2FzdDxmbG9hdD4odmlydHVhbFJlYWRJbmRleCkgLSBy
ZWFkSW5kZXg7Ci0gICAgICAgIGZsb2F0IHNhbXBsZUhpZ2hlciA9ICgxIC0gaW50ZXJwb2xhdGlv
bkZhY3RvcikgKiBzYW1wbGUxSGlnaGVyICsgaW50ZXJwb2xhdGlvbkZhY3RvciAqIHNhbXBsZTJI
aWdoZXI7Ci0gICAgICAgIGZsb2F0IHNhbXBsZUxvd2VyID0gKDEgLSBpbnRlcnBvbGF0aW9uRmFj
dG9yKSAqIHNhbXBsZTFMb3dlciArIGludGVycG9sYXRpb25GYWN0b3IgKiBzYW1wbGUyTG93ZXI7
Ci0KLSAgICAgICAgLy8gVGhlbiBpbnRlcnBvbGF0ZSBiZXR3ZWVuIHRoZSB0d28gdGFibGVzLgot
ICAgICAgICBmbG9hdCBzYW1wbGUgPSAoMSAtIHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvcikgKiBz
YW1wbGVIaWdoZXIgKyB0YWJsZUludGVycG9sYXRpb25GYWN0b3IgKiBzYW1wbGVMb3dlcjsKLQot
ICAgICAgICAqZGVzdFArKyA9IHNhbXBsZTsKLQotICAgICAgICAvLyBJbmNyZW1lbnQgdmlydHVh
bCByZWFkIGluZGV4IGFuZCB3cmFwIHZpcnR1YWxSZWFkSW5kZXggaW50byB0aGUgcmFuZ2UgMCAt
PiBwZXJpb2RpY1dhdmVTaXplLgotICAgICAgICB2aXJ0dWFsUmVhZEluZGV4ICs9IGluY3I7Ci0g
ICAgICAgIHZpcnR1YWxSZWFkSW5kZXggLT0gZmxvb3IodmlydHVhbFJlYWRJbmRleCAqIGludlBl
cmlvZGljV2F2ZVNpemUpICogcGVyaW9kaWNXYXZlU2l6ZTsKLSAgICB9CisgICAgLy8gSWYgc3Rh
cnRGcmFtZU9mZnNldCBpcyBub3QgMCwgdGhhdCBtZWFucyB0aGUgb3NjaWxsYXRvciBkb2Vzbid0
IGFjdHVhbGx5CisgICAgLy8gc3RhcnQgYXQgcXVhbnR1bUZyYW1lT2Zmc2V0LCBidXQganVzdCBw
YXN0IHRoYXQgdGltZS4gQWRqdXN0IGRlc3RQIGFuZCBuCisgICAgLy8gdG8gcmVmbGVjdCB0aGF0
LCBhbmQgYWRqdXN0IHZpcnR1YWxSZWFkSW5kZXggdG8gc3RhcnQgdGhlIHZhbHVlIGF0CisgICAg
Ly8gc3RhcnRGcmFtZU9mZnNldC4KKyAgICBpZiAoc3RhcnRGcmFtZU9mZnNldCA+IDApIHsKKyAg
ICAgICAgKytkZXN0UDsKKyAgICAgICAgLS1uOworICAgICAgICB2aXJ0dWFsUmVhZEluZGV4ICs9
ICgxIC0gc3RhcnRGcmFtZU9mZnNldCkgKiBmcmVxdWVuY3kgKiByYXRlU2NhbGU7CisgICAgICAg
IEFTU0VSVCh2aXJ0dWFsUmVhZEluZGV4IDwgbV9wZXJpb2RpY1dhdmUtPnBlcmlvZGljV2F2ZVNp
emUoKSk7CisgICAgfSBlbHNlIGlmIChzdGFydEZyYW1lT2Zmc2V0IDwgMCkKKyAgICAgICAgdmly
dHVhbFJlYWRJbmRleCA9IC1zdGFydEZyYW1lT2Zmc2V0ICogZnJlcXVlbmN5ICogcmF0ZVNjYWxl
OworCisgICAgaWYgKGhhc1NhbXBsZUFjY3VyYXRlVmFsdWVzKQorICAgICAgICB2aXJ0dWFsUmVh
ZEluZGV4ID0gcHJvY2Vzc0FSYXRlKG4sIGRlc3RQLCB2aXJ0dWFsUmVhZEluZGV4LCBwaGFzZUlu
Y3JlbWVudHMpOworICAgIGVsc2UKKyAgICAgICAgdmlydHVhbFJlYWRJbmRleCA9IHByb2Nlc3NL
UmF0ZShuLCBkZXN0UCwgdmlydHVhbFJlYWRJbmRleCk7CiAKICAgICBtX3ZpcnR1YWxSZWFkSW5k
ZXggPSB2aXJ0dWFsUmVhZEluZGV4OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL09zY2lsbGF0b3JOb2RlLmgKaW5kZXggZGQ3MzA5YWJhYmRiYWY2NDMzZGU2NjYyMWY1
ZDIzYzlkOTU0YzNkNi4uNjdjZDVlZmY1NGQyNWUyYzU4Yzg5NjlkMWMwNjI4NjFlOGM5NzFkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUu
aApAQCAtNjUsNiArNjUsOSBAQCBwcml2YXRlOgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGVy
ZSBhcmUgc2FtcGxlLWFjY3VyYXRlIHRpbWVsaW5lIHBhcmFtZXRlciBjaGFuZ2VzLgogICAgIGJv
b2wgY2FsY3VsYXRlU2FtcGxlQWNjdXJhdGVQaGFzZUluY3JlbWVudHMoc2l6ZV90IGZyYW1lc1Rv
UHJvY2Vzcyk7CiAKKyAgICBkb3VibGUgcHJvY2Vzc0FSYXRlKGludCwgZmxvYXQqIGRlc3RQLCBk
b3VibGUgdmlydHVhbFJlYWRJbmRleCwgZmxvYXQqIHBoYXNlSW5jcmVtZW50cyk7CisgICAgZG91
YmxlIHByb2Nlc3NLUmF0ZShpbnQsIGZsb2F0KiBkZXN0UCwgZG91YmxlIHZpcnR1YWxSZWFkSW5k
ZXgpOworCiAgICAgYm9vbCBwcm9wYWdhdGVzU2lsZW5jZSgpIGNvbnN0IGZpbmFsOwogCiAgICAg
Ly8gT25lIG9mIHRoZSB3YXZlZm9ybSB0eXBlcyBkZWZpbmVkIGluIHRoZSBlbnVtLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGM2Y2FhYWUwM2ExMDY3ZGNhNTJkZDM4NmY0MDk1YjhjNDIyMGIyNGEuLmMyMzkwM2U3NGZiMTg3
ZTc5Y2Q2NGVjNjhmYTI5ZDk0ZDIyZTRlY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0w
OS0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEltcHJvdmUg
aW50ZXJwb2xhdGlvbiBhbGdvcml0aG0gaW4gT3NjaWxsYXRvck5vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjE4MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCB0ZXN0IHRoYXQgc2hvdWxk
IG5vIGxvbmdlciBiZSBmbGFreSBub3cgdGhhdCBpdCBpcyBwYXNzaW5nLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wOS0wNCAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gSW1wb3J0IGdyaWQgdGVzdHMgZnJvbSBX
UFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQ0Yzk1ZjQ0MmQ5MmRhMmJiNDI1
NDNjYjIyNmNhZjU2OWE5MWFjOWMuLjQ2ZDllMDU2NDQ5MjFiZjcxYjg4M2JjMDgyN2ZjNWZiNDE0
YzliN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDIwLTA5LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1w
cm92ZSBpbnRlcnBvbGF0aW9uIGFsZ29yaXRobSBpbiBPc2NpbGxhdG9yTm9kZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTgzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVz
dHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9wYXJhbS1pbnRlcmZh
Y2Uvay1yYXRlLW9zY2lsbGF0b3ItY29ubmVjdGlvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxhdG9y
bm9kZS1pbnRlcmZhY2UvZGV0dW5lLWxpbWl0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtb3NjaWxsYXRvcm5v
ZGUtaW50ZXJmYWNlL29zYy1iYXNpYy13YXZlZm9ybS1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDkt
MDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFRleHREZWNv
ZGVyU3RyZWFtRGVjb2Rlci5AZW5jb2RpbmcgaXMgYnJva2VuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBmOGYxNDZmZDQ5MDk1M2NlZDY1NGNjM2QxYjNkYTA0ZDhkODkwYmMzLi5iMTYxNWEyMmExMzZj
MjNmNzg2YTE0Zjk3ZTBkYzdiNDI2MTMyY2Y5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0Nyw3
ICszNDcsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1h
dWRpby1hcGkvdGhlLWF1ZGlvYnVmZmVyc291cmNlbm9kZQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2J1ZmZlcnNvdXJjZW5v
ZGUtaW50ZXJmYWNlL3N1Yi1zYW1wbGUtYnVmZmVyLXN0aXRjaGluZy5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlv
LWFwaS90aGUtcGFubmVybm9kZS1pbnRlcmZhY2UvcGFubmVyLWRpc3RhbmNlLWNsYW1waW5nLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJh
dWRpby90aGUtYXVkaW8tYXBpL3RoZS1zY3JpcHRwcm9jZXNzb3Jub2RlLWludGVyZmFjZS9zaW1w
bGUtaW5wdXQtb3V0cHV0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxhdG9ybm9kZS1p
bnRlcmZhY2Uvb3NjLWJhc2ljLXdhdmVmb3JtLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRp
b3BhcmFtLWludGVyZmFjZS9rLXJhdGUtb3NjaWxsYXRvci1jb25uZWN0aW9ucy5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhl
LWF1ZGlvLWFwaS90aGUtYXVkaW9wYXJhbS1pbnRlcmZhY2Uvay1yYXRlLWRlbGF5LWNvbm5lY3Rp
b25zLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1jb252b2x2ZXJub2RlLWludGVyZmFjZS9yZWFs
dGltZS1jb252Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3Ro
ZS1hdWRpb3BhcmFtLWludGVyZmFjZS9rLXJhdGUtb3NjaWxsYXRvci1jb25uZWN0aW9ucy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvcGFyYW0taW50ZXJmYWNlL2stcmF0ZS1vc2Np
bGxhdG9yLWNvbm5lY3Rpb25zLWV4cGVjdGVkLnR4dAppbmRleCA4NDI5NmY2MjdkZWQzNDQwMjUw
OGMwZTA1MGFmOGYzMTgxZWVjMmZkLi43YzhhMWI5N2U0MmVmMDg2MTdjOTc1MjA4NjdlMTk5ZDdm
MTRhMTViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvcGFyYW0taW50ZXJmYWNlL2st
cmF0ZS1vc2NpbGxhdG9yLWNvbm5lY3Rpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkv
dGhlLWF1ZGlvcGFyYW0taW50ZXJmYWNlL2stcmF0ZS1vc2NpbGxhdG9yLWNvbm5lY3Rpb25zLWV4
cGVjdGVkLnR4dApAQCAtMTQsNyArMTQsNyBAQCBQQVNTICAgVGVzdCAxOiBzcmNUZXN0LmZyZXF1
ZW5jeS5hdXRvbWF0aW9uUmF0ZSA9ICdrLXJhdGUnIGRpZCBub3QgdGhyb3cgYW4gZXhjZQogUEFT
UyAgIFRlc3QgMTogbW9kRnJlcS5vZmZzZXQuc2V0VmFsdWVBdFRpbWUoMTAwLCAwKSBkaWQgbm90
IHRocm93IGFuIGV4Y2VwdGlvbi4gCiBQQVNTICAgVGVzdCAxOiBtb2RGcmVxLm9mZnNldC5saW5l
YXJSYW1wVG9WYWx1ZUF0VGltZSgyMDAwLCAwLjA3ODEyNSkgZGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24uIAogUEFTUyAgIFRlc3QgMTogbW9kRnJlcS5jb25uZWN0KHNyY1Rlc3QuZnJlcXVlbmN5
KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCi1QQVNTICAgay1yYXRlIGZyZXF1ZW5jeSB3
aXRoIGlucHV0IGVxdWFscyBbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMC4uLl0gd2l0
aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQiOjAsInJl
bGF0aXZlVGhyZXNob2xkIjowfS4gCitQQVNTICAgay1yYXRlIGZyZXF1ZW5jeSB3aXRoIGlucHV0
IGVxdWFscyBbMCwwLjA3NjYyMzgyNzIxOTAwOTQsMC4xNTI3OTcxNzc0MzM5Njc2LDAuMjI4MDcy
MTM2NjQwNTQ4NywwLjMwMjAwNTg4NzAzMTU1NTIsMC4zNzQxNjQwMTUwNTQ3MDI3NiwwLjQ0NDEy
MjA3NjAzNDU0NTksMC41MTE0Njg4Mjc3MjQ0NTY4LDAuNTc1ODA4MTY3NDU3NTgwNiwwLjYzNjc2
MTkwMzc2MjgxNzQsMC42OTM5NzEzOTU0OTI1NTM3LDAuNzQ3MTAwNTkxNjU5NTQ1OSwwLjc5NTgz
NjkyNTUwNjU5MTgsMC44Mzk4OTM4MTc5MDE2MTEzLDAuODc5MDEyMjI3MDU4NDEwNiwwLjkxMjk2
MjE5ODI1NzQ0NjMuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29s
dXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAogUEFTUyA8IFtUZXN0IDFd
IEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDggYXNzZXJ0aW9ucykgCiBQQVNTID4gW1Rl
c3QgMl0gay1yYXRlIGRldHVuZSBpbnB1dCAKIFBBU1MgICBUZXN0IDI6IHNyY1JlZi5kZXR1bmUu
YXV0b21hdGlvblJhdGUgPSAnay1yYXRlJyBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCkBA
IC0yNCw3ICsyNCw3IEBAIFBBU1MgICBUZXN0IDI6IHNyY1Rlc3QuZGV0dW5lLmF1dG9tYXRpb25S
YXRlID0gJ2stcmF0ZScgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpCiBQQVNTICAgVGVzdCAyOiBt
b2REZXR1bmUub2Zmc2V0LnNldFZhbHVlQXRUaW1lKDAsIDApIGRpZCBub3QgdGhyb3cgYW4gZXhj
ZXB0aW9uLiAKIFBBU1MgICBUZXN0IDI6IG1vZERldHVuZS5vZmZzZXQubGluZWFyUmFtcFRvVmFs
dWVBdFRpbWUoMjAwMCwgMC4wNzgxMjUpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLiAKIFBB
U1MgICBUZXN0IDI6IG1vZERldHVuZS5jb25uZWN0KHNyY1Rlc3QuZGV0dW5lKSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbi4gCi1QQVNTICAgay1yYXRlIGRldHVuZSB3aXRoIGlucHV0IGVxdWFs
cyBbMCwwLjMzMTEwNjMwNTEyMjM3NTUsMC42MjQ4NTk1MTE4NTIyNjQ0LDAuODQ4MTIwMzMxNzY0
MjIxMiwwLjk3NTcwMjIyNjE2MTk1NjgsMC45OTMyMTIwNDQyMzkwNDQyLDAuODk4Njc0NDg4MDY3
NjI3LDAuNzAyNzU0Nzk1NTUxMywwLjQyNzU1NTA4NDIyODUxNTYsMC4xMDQxMjE1ODA3MTk5NDc4
MSwtMC4yMzEwNTgxMjA3Mjc1MzkwNiwtMC41NDAxNzE1MDQwMjA2OTA5LC0wLjc4ODM0NjQwOTc5
NzY2ODUsLTAuOTQ3NTg1NTgyNzMzMTU0MywtMC45OTk5MjQ3Nzg5MzgyOTM1LC0wLjkzOTQ1OTMy
Mzg4MzA1NjYuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRl
VGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAorUEFTUyAgIGstcmF0ZSBkZXR1
bmUgd2l0aCBpbnB1dCBlcXVhbHMgWzAsMC4zMzExMDYzMDUxMjIzNzU1LDAuNjI0ODU5NTExODUy
MjY0NCwwLjg0ODEyMDMzMTc2NDIyMTIsMC45NzU3MDIyMjYxNjE5NTY4LDAuOTkzMjEyMDQ0MjM5
MDQ0MiwwLjg5ODY3NDQ4ODA2NzYyNywwLjcwMjc1NDc5NTU1MTMsMC40Mjc1NTUwODQyMjg1MTU2
LDAuMTA0MTIxNTgwNzE5OTQ3ODEsLTAuMjMxMDU4MTIwNzI3NTM5MDYsLTAuNTQwMTcxNTA0MDIw
NjkwOSwtMC43ODgzNDY0MDk3OTc2Njg1LC0wLjk0NzU4NTU4MjczMzE1NDMsLTAuOTk5OTI0NzE5
MzMzNjQ4NywtMC45Mzk0NTkzMjM4ODMwNTY2Li4uXSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xl
cmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hvbGQiOjB9LiAK
IFBBU1MgPCBbVGVzdCAyXSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3RhbCA4IGFzc2VydGlv
bnMpIAogUEFTUyA+IFtUZXN0IDNdIGstcmF0ZSBmcmVxdWVuY3kgaW5wdXQgd2l0aCBhLXJhdGUg
ZGV0dW5lIAogUEFTUyAgIFRlc3QgMzogc3JjUmVmLmZyZXF1ZW5jeS5hdXRvbWF0aW9uUmF0ZSA9
ICdrLXJhdGUnIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLiAKQEAgLTM4LDcgKzM4LDcgQEAg
UEFTUyAgIFRlc3QgMzogc3JjVGVzdC5kZXR1bmUubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoLTIw
MDAsIDAuMDc4MTI1KSBkaWQgbm90IHQKIFBBU1MgICBUZXN0IDM6IG1vZEZyZXEub2Zmc2V0LnNl
dFZhbHVlQXRUaW1lKDEwMCwgMCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIAogUEFTUyAg
IFRlc3QgMzogbW9kRnJlcS5vZmZzZXQubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoMjAwMCwgMC4w
NzgxMjUpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLiAKIFBBU1MgICBUZXN0IDM6IG1vZEZy
ZXEuY29ubmVjdChzcmNUZXN0LmZyZXF1ZW5jeSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24u
IAotUEFTUyAgIGstcmF0ZSBmcmVxdWVuY3kgaW5wdXQgd2l0aCBhLXJhdGUgZGV0dW5lIGVxdWFs
cyBbMCwwLjA3NjYyMzgyNzIxOTAwOTQsMC4xNTI2NjA0NTkyODAwMTQwNCwwLjIyNzY2ODI4NTM2
OTg3MzA1LDAuMzAxMjE1NDY5ODM3MTg4NywwLjM3Mjg4MzI5MDA1MjQxMzk0LDAuNDQyMjY2NTIz
ODM4MDQzMiwwLjUwODk3ODA2ODgyODU4MjgsMC41NzI2NDg1ODQ4NDI2ODE5LDAuNjMyOTMwNDU3
NTkyMDEwNSwwLjY4OTQ5ODA2NjkwMjE2MDYsMC43NDIwNDk0NTU2NDI3MDAyLDAuNzkwMzA5MzY5
NTY0MDU2NCwwLjgzNDAyODM2MzIyNzg0NDIsMC44NzI5ODUwNjQ5ODMzNjc5LDAuOTA2OTg3MDcx
MDM3MjkyNS4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVU
aHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowfS4gCitQQVNTICAgay1yYXRlIGZyZXF1
ZW5jeSBpbnB1dCB3aXRoIGEtcmF0ZSBkZXR1bmUgZXF1YWxzIFswLDAuMDc2NjIzODI3MjE5MDA5
NCwwLjE1MjY2MDQ1OTI4MDAxNDA0LDAuMjI3NjY4Mjg1MzY5ODczMDUsMC4zMDEyMTU0Njk4Mzcx
ODg3LDAuMzcyODgzMjkwMDUyNDEzOTQsMC40NDIyNjY1MjM4MzgwNDMyLDAuNTA4OTc4MDY4ODI4
NTgyOCwwLjU3MjY0ODU4NDg0MjY4MTksMC42MzI5MzA0NTc1OTIwMTA1LDAuNjg5NDk4MDY2OTAy
MTYwNiwwLjc0MjA0OTQ1NTY0MjcwMDIsMC43OTAzMDkzNjk1NjQwNTY0LDAuODM0MDI4MzAzNjIz
MTk5NSwwLjg3Mjk4NTA2NDk4MzM2NzksMC45MDY5ODcxMzA2NDE5MzczLi4uXSB3aXRoIGFuIGVs
ZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVU
aHJlc2hvbGQiOjB9LiAKIFBBU1MgPCBbVGVzdCAzXSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0
b3RhbCAxMiBhc3NlcnRpb25zKSAKIFBBU1MgPiBbVGVzdCA0XSBhLXJhdGUgZnJlcXVlbmN5IHdp
dGggay1yYXRlIGRldHVuZSBpbnB1dCAKIFBBU1MgICBUZXN0IDQ6IHNyY1JlZi5mcmVxdWVuY3ku
c2V0VmFsdWVBdFRpbWUoMTAwLCAwKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCkBAIC01
Miw3ICs1Miw3IEBAIFBBU1MgICBUZXN0IDQ6IHNyY1Rlc3QuZnJlcXVlbmN5LmxpbmVhclJhbXBU
b1ZhbHVlQXRUaW1lKDIwMDAsIDAuMDc4MTI1KSBkaWQgbm90CiBQQVNTICAgVGVzdCA0OiBtb2RE
ZXR1bmUub2Zmc2V0LnNldFZhbHVlQXRUaW1lKDAsIDApIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uLiAKIFBBU1MgICBUZXN0IDQ6IG1vZERldHVuZS5vZmZzZXQubGluZWFyUmFtcFRvVmFsdWVB
dFRpbWUoLTIwMDAsIDAuMDc4MTI1KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCiBQQVNT
ICAgVGVzdCA0OiBtb2REZXR1bmUuY29ubmVjdChzcmNUZXN0LmRldHVuZSkgZGlkIG5vdCB0aHJv
dyBhbiBleGNlcHRpb24uIAotUEFTUyAgIGstcmF0ZSBkZXR1bmUgaW5wdXQgd2l0aCBhLXJhdGUg
ZnJlcXVlbmN5IGVxdWFscyBbMCwwLjA3NjYyMzgyNzIxOTAwOTQsMC4xNTUwNDcwMjkyNTY4MjA2
OCwwLjIzNDcxNzYzNzMwMDQ5MTMzLDAuMzE1MDAxNDI4MTI3Mjg4OCwwLjM5NTE4MTE3OTA0NjYz
MDg2LDAuNDc0NDU4ODczMjcxOTQyMTQsMC41NTE5NTc3MjY0Nzg1NzY3LDAuNjI2NzI4NzczMTE3
MDY1NCwwLjY5Nzc1ODA3ODU3NTEzNDMsMC43NjM5Nzc0MDg0MDkxMTg3LDAuODI0Mjc3MDQzMzQy
NTkwMywwLjg3NzUyMjE3MDU0MzY3MDcsMC45MjI1NzE1Mzk4Nzg4NDUyLDAuOTU4MzAwMjMyODg3
MjY4MSwwLjk4MzYyMzM4NTQyOTM4MjMuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5j
ZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAorUEFT
UyAgIGstcmF0ZSBkZXR1bmUgaW5wdXQgd2l0aCBhLXJhdGUgZnJlcXVlbmN5IGVxdWFscyBbMCww
LjA3NjYyMzgyNzIxOTAwOTQsMC4xNTUwNDcwMjkyNTY4MjA2OCwwLjIzNDcxNzY1MjIwMTY1MjUz
LDAuMzE1MDAxNDI4MTI3Mjg4OCwwLjM5NTE4MTE3OTA0NjYzMDg2LDAuNDc0NDU4ODczMjcxOTQy
MTQsMC41NTE5NTc3MjY0Nzg1NzY3LDAuNjI2NzI4ODMyNzIxNzEwMiwwLjY5Nzc1ODA3ODU3NTEz
NDMsMC43NjM5Nzc0NjgwMTM3NjM0LDAuODI0Mjc3MDQzMzQyNTkwMywwLjg3NzUyMjE3MDU0MzY3
MDcsMC45MjI1NzE1Mzk4Nzg4NDUyLDAuOTU4MzAwMjMyODg3MjY4MSwwLjk4MzYyMzM4NTQyOTM4
MjMuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNo
b2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAogUEFTUyA8IFtUZXN0IDRdIEFsbCBhc3Nl
cnRpb25zIHBhc3NlZC4gKHRvdGFsIDEyIGFzc2VydGlvbnMpIAogUEFTUyA+IFtUZXN0IDVdIGst
cmF0ZSBpbnB1dHMgZm9yIGZyZXF1ZW5jeSBhbmQgZGV0dW5lIAogUEFTUyAgIFRlc3QgNTogc3Jj
UmVmLmZyZXF1ZW5jeS5hdXRvbWF0aW9uUmF0ZSA9ICdrLXJhdGUnIGRpZCBub3QgdGhyb3cgYW4g
ZXhjZXB0aW9uLiAKQEAgLTY5LDcgKzY5LDcgQEAgUEFTUyAgIFRlc3QgNTogbW9kRGV0dW5lLm9m
ZnNldC5zZXRWYWx1ZUF0VGltZSgwLCAwKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KIFBB
U1MgICBUZXN0IDU6IG1vZERldHVuZS5vZmZzZXQubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoLTIw
MDAsIDAuMDc4MTI1KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCiBQQVNTICAgVGVzdCA1
OiBtb2RGcmVxLmNvbm5lY3Qoc3JjVGVzdC5mcmVxdWVuY3kpIGRpZCBub3QgdGhyb3cgYW4gZXhj
ZXB0aW9uLiAKIFBBU1MgICBUZXN0IDU6IG1vZERldHVuZS5jb25uZWN0KHNyY1Rlc3QuZGV0dW5l
KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCi1QQVNTICAgay1yYXRlIGlucHV0cyBmb3Ig
Ym90aCBmcmVxdWVuY3kgYW5kIGRldHVuZSBlcXVhbHMgWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRl
VGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAorUEFTUyAgIGstcmF0ZSBpbnB1
dHMgZm9yIGJvdGggZnJlcXVlbmN5IGFuZCBkZXR1bmUgZXF1YWxzIFswLDAuMDc2NjIzODI3MjE5
MDA5NCwwLjE1Mjc5NzE3NzQzMzk2NzYsMC4yMjgwNzIxMzY2NDA1NDg3LDAuMzAyMDA1ODg3MDMx
NTU1MiwwLjM3NDE2NDAxNTA1NDcwMjc2LDAuNDQ0MTIyMDc2MDM0NTQ1OSwwLjUxMTQ2ODgyNzcy
NDQ1NjgsMC41NzU4MDgxNjc0NTc1ODA2LDAuNjM2NzYxOTAzNzYyODE3NCwwLjY5Mzk3MTM5NTQ5
MjU1MzcsMC43NDcxMDA1OTE2NTk1NDU5LDAuNzk1ODM2OTI1NTA2NTkxOCwwLjgzOTg5MzgxNzkw
MTYxMTMsMC44NzkwMTIyMjcwNTg0MTA2LDAuOTEyOTYyMTk4MjU3NDQ2My4uLl0gd2l0aCBhbiBl
bGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZl
VGhyZXNob2xkIjowfS4gCiBQQVNTIDwgW1Rlc3QgNV0gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAo
dG90YWwgMTUgYXNzZXJ0aW9ucykgCiBQQVNTICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNIRUQ6
IDUgdGFza3MgcmFuIHN1Y2Nlc3NmdWxseS4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
b3NjaWxsYXRvcm5vZGUtaW50ZXJmYWNlL2RldHVuZS1saW1pdGluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1h
dWRpby1hcGkvdGhlLW9zY2lsbGF0b3Jub2RlLWludGVyZmFjZS9kZXR1bmUtbGltaXRpbmctZXhw
ZWN0ZWQudHh0CmluZGV4IGU1MGQ4YTUzNDYxZDA1OWEwNjliZDQzZTNmZGM3MTQ3OTdkMWE3ZjAu
LjlmNjJkNTQyYTY1OTZmMTc2ZWQ0MTEyMTUzODdkZTI0MDU1MjI0MzkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1
ZGlvLWFwaS90aGUtb3NjaWxsYXRvcm5vZGUtaW50ZXJmYWNlL2RldHVuZS1saW1pdGluZy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxhdG9ybm9kZS1pbnRlcmZhY2UvZGV0
dW5lLWxpbWl0aW5nLWV4cGVjdGVkLnR4dApAQCAtMTIsMTMgKzEyLDEzIEBAIFBBU1MgPCBbZGV0
dW5lIGxpbWl0c10gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90YWwgNCBhc3NlcnRpb25zKQog
UEFTUyA+IFtkZXR1bmUgYXV0b21hdGlvbl0gT3NjaWxsYXRvciBvdXRwdXQgd2l0aCBkZXR1bmUg
YXV0b21hdGlvbiBzaG91bGQgYmUgemVybyBhYm92ZSBOeXF1aXN0IAogUEFTUyAgIEZyYW1lIHdo
ZXJlIGRldHVuZWQgb3NjaWxsYXRvciByZWFjaGVzIE55cXVpc3QgaXMgZXF1YWwgdG8gNS4gCiBQ
QVNTICAgb3NjWzA6NF0gaXMgbm90IGNvbnN0YW50bHkgMCAoY29udGFpbnMgNCBkaWZmZXJlbnQg
dmFsdWVzKS4gCi1GQUlMIFggb3NjWzU6XTogRXhwZWN0ZWQgMCBmb3IgYWxsIHZhbHVlcyBidXQg
Zm91bmQgNTUwNiB1bmV4cGVjdGVkIHZhbHVlczogCitGQUlMIFggb3NjWzU6XTogRXhwZWN0ZWQg
MCBmb3IgYWxsIHZhbHVlcyBidXQgZm91bmQgMjc1MSB1bmV4cGVjdGVkIHZhbHVlczogCiAJSW5k
ZXgJQWN0dWFsCi0JWzBdCTAuMDAwNzEyMzgxMzI2NTkzNDU4NwotCVsxXQkwLjAwMDg1NDg1NzQ5
ODc3OTg5MjkKLQlbMl0JMC4wMDA5OTczMzM3ODczODE2NDkKLQlbM10JMC4wMDExMzk4MTAwNzU5
ODM0MDUxCi0JLi4uYW5kIDU1MDIgbW9yZSBlcnJvcnMuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorCVswXQkwLjAwMDcxMjM3MTgzODc0NDcyOTgKKwlbMV0JMC4wMDA4NTQ4
NDgwMTA5MzExNjQKKwlbMl0JMC4wMDA5OTczMjQ5Mzk4MTcxOTAyCisJWzNdCTAuMDAxMTM5ODAy
NTA4OTg3NDg2NAorCS4uLmFuZCAyNzQ3IG1vcmUgZXJyb3JzLiBhc3NlcnRfdHJ1ZTogZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgPCBbZGV0dW5lIGF1dG9tYXRpb25dIDEgb3V0IG9mIDMg
YXNzZXJ0aW9ucyB3ZXJlIGZhaWxlZC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCiBGQUlMICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNIRUQ6IDEgb3V0IG9mIDIgdGFza3Mg
d2VyZSBmYWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1
ZGlvL3RoZS1hdWRpby1hcGkvdGhlLW9zY2lsbGF0b3Jub2RlLWludGVyZmFjZS9vc2MtYmFzaWMt
d2F2ZWZvcm0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxhdG9ybm9kZS1pbnRl
cmZhY2Uvb3NjLWJhc2ljLXdhdmVmb3JtLWV4cGVjdGVkLnR4dAppbmRleCAxNjk4MmM3NDdkY2Ez
MWM5YTIzMzBjZGJlYWY2YTk2YTZlMjc2MzJlLi45MzI1ZDk0ZTNkOWMwZGEzNmU2OWQ5NDQ3MGY1
ZTk5ZWY2ZmY2YTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLW9zY2lsbGF0b3Jub2RlLWlu
dGVyZmFjZS9vc2MtYmFzaWMtd2F2ZWZvcm0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90
aGUtb3NjaWxsYXRvcm5vZGUtaW50ZXJmYWNlL29zYy1iYXNpYy13YXZlZm9ybS1leHBlY3RlZC50
eHQKQEAgLTI4LDE1ICsyOCw4IEBAIFBBU1MgICBDdXN0b206IDEwMCBIeiBlcXVhbHMgWzEsMS4w
MTQxNDU2MTI3MTY2NzQ4LDEuMDI4MDg1MzUwOTkwMjk1NCwxLjA0MTgxNjM1CiBQQVNTICAgQ3Vz
dG9tOiBTTlIgKGRiKSBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMTIyLjQzLiAKIFBBU1Mg
PCBbVGVzdCA0XSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3RhbCAyIGFzc2VydGlvbnMpIAog
UEFTUyA+IFtUZXN0IDVdIEN1c3RvbSB3YXZlOiAxIEh6IAotRkFJTCBYIEN1c3RvbTogMSBIeiBk
b2VzIG5vdCBlcXVhbCBbMSwxLjAwMDE0MjQ1NTEwMTAxMzIsMS4wMDAyODQ5MTAyMDIwMjY0LDEu
MDAwNDI3MzY1MzAzMDM5NiwxLjAwMDU2OTcwMTE5NDc2MzIsMS4wMDA3MTIxNTYyOTU3NzY0LDEu
MDAwODU0NDkyMTg3NSwxLjAwMDk5NjgyODA3OTIyMzYsMS4wMDExMzkxNjM5NzA5NDczLDEuMDAx
MjgxNDk5ODYyNjcxLDEuMDAxNDIzNzE2NTQ1MTA1LDEuMDAxNTY2MDUyNDM2ODI4NiwxLjAwMTcw
ODI2OTExOTI2MjcsMS4wMDE4NTA0ODU4MDE2OTY4LDEuMDAxOTkyNzAyNDg0MTMwOSwxLjAwMjEz
NDc5OTk1NzI3NTQuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29s
dXRlVGhyZXNob2xkIjo0Ljc2ODRlLTcsInJlbGF0aXZlVGhyZXNob2xkIjowfS4KLQlJbmRleAlB
Y3R1YWwJCQlFeHBlY3RlZAkJQWJzRXJyb3IJCVJlbEVycm9yCQlUZXN0IHRocmVzaG9sZAotCVsy
NDZdCTEuMDM0NDI3MTY1OTg1MTA3NGUrMAkxLjAzNDQyNzc2MjAzMTU1NTJlKzAJNS45NjA0NjQ0
Nzc1MzkwNjI1ZS03CTUuNzYyMDg4NjYwMzM2MjgyM2UtNwk0Ljc2ODM5OTk5OTk5OTk5OTdlLTcK
LQlbMjUwXQkxLjAzNDk3NjYwMTYwMDY0NzBlKzAJMS4wMzQ5NzcxOTc2NDcwOTQ3ZSswCTUuOTYw
NDY0NDc3NTM5MDYyNWUtNwk1Ljc1OTAyOTc1NTUyNDU3OTJlLTcJNC43NjgzOTk5OTk5OTk5OTk3
ZS03Ci0JWzI1Ml0JMS4wMzUyNTExNDA1OTQ0ODI0ZSswCTEuMDM1MjUxNzM2NjQwOTMwMmUrMAk1
Ljk2MDQ2NDQ3NzUzOTA2MjVlLTcJNS43NTc1MDI1MTUxNjQ5NzQxZS03CTQuNzY4Mzk5OTk5OTk5
OTk5N2UtNwotCU1heCBBYnNFcnJvciBvZiA1Ljk2MDQ2NDQ3NzUzOTA2MjVlLTcgYXQgaW5kZXgg
b2YgMjQ2LgotCU1heCBSZWxFcnJvciBvZiA1Ljc2MjA4ODY2MDMzNjI4MjNlLTcgYXQgaW5kZXgg
b2YgMjQ2LgotIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIEN1
c3RvbTogU05SIChkYikgaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxMzguNzYuIEdv
dCAxMzEuNDY2MDc0NTA3NzQxNjcuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCA8IFtUZXN0IDVdIDIgb3V0IG9mIDIgYXNzZXJ0aW9ucyB3ZXJlIGZhaWxlZC4gYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMICMgQVVESVQgVEFTSyBSVU5O
RVIgRklOSVNIRUQ6IDEgb3V0IG9mIDYgdGFza3Mgd2VyZSBmYWlsZWQuIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyAgIEN1c3RvbTogMSBIeiBlcXVhbHMgWzEsMS4w
MDAxNDI0NTUxMDEwMTMyLDEuMDAwMjg0OTEwMjAyMDI2NCwxLjAwMDQyNzM2NTMwMzAzOTYsMS4w
MDA1Njk3MDExOTQ3NjMyLDEuMDAwNzEyMTU2Mjk1Nzc2NCwxLjAwMDg1NDQ5MjE4NzUsMS4wMDA5
OTY4MjgwNzkyMjM2LDEuMDAxMTM5MTYzOTcwOTQ3MywxLjAwMTI4MTQ5OTg2MjY3MSwxLjAwMTQy
MzcxNjU0NTEwNSwxLjAwMTU2NjA1MjQzNjgyODYsMS4wMDE3MDgyNjkxMTkyNjI3LDEuMDAxODUw
NDg1ODAxNjk2OCwxLjAwMTk5MjcwMjQ4NDEzMDksMS4wMDIxMzQ3OTk5NTcyNzU0Li4uXSB3aXRo
IGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6NC43Njg0
ZS03LCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAorUEFTUyAgIEN1c3RvbTogU05SIChkYikgaXMg
Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEzOC43Ni4gCitQQVNTIDwgW1Rlc3QgNV0gQWxsIGFz
c2VydGlvbnMgcGFzc2VkLiAodG90YWwgMiBhc3NlcnRpb25zKSAKK1BBU1MgIyBBVURJVCBUQVNL
IFJVTk5FUiBGSU5JU0hFRDogNiB0YXNrcyByYW4gc3VjY2Vzc2Z1bGx5LiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407989</attachid>
            <date>2020-09-04 10:11:28 -0700</date>
            <delta_ts>2020-09-04 11:54:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216183-20200904101128.patch</filename>
            <type>text/plain</type>
            <size>38892</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzk0M2FhZGU3ZjVlMGFh
ZWI4ZDNlZTIzNzAyMDQ1MGRhZTU0YTIyMi4uNTFiYTVlMzg4Y2RmNGRmMDU5NTA3MWQzMWMyMmQz
ZWRmYTRjYmMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA5LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSBpbnRlcnBvbGF0
aW9uIGFsZ29yaXRobSBpbiBPc2NpbGxhdG9yTm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWxpZ24gb3VyIE9zY2lsbGF0b3JOb2RlIGltcGxlbWVu
dGF0aW9uIHdpdGggQ2hyb21pdW0gdG8gZ2V0IHVzIGEgZmV3IG1vcmUKKyAgICAgICAgcGFzc2Vz
IG9uIFdQVCB0ZXN0cy4gSW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdlcmUg
bWFkZToKKyAgICAgICAgLSBBbGlnbiBkZXR1bmUgQXVkaW9QYXJhbSBub21pbmFsIHJhbmdlIHZh
bHVlcyB3aXRoIENocm9taXVtJ3MuCisgICAgICAgIC0gV2Ugbm93IGNsYW1wIHRoZSBmcmVxdWVu
Y3kgdmFsdWUgdG8gbGllIHdpdGhpbiBOeXF1aXN0IGZyZXF1ZW5jeS4KKyAgICAgICAgLSBVc2Ug
ZGlmZmVyZW50IGludGVycG9sYXRpb24gYWxnb3JpdGhtcyBiYXNlZCBvbiBmcmVxdWVuY3kuCisg
ICAgICAgIC0gU3BsaXQgQS1SYXRlIC8gSy1SYXRlIHByb2Nlc3NpbmcgY29kZSBpbnRvIHNlcGFy
YXRlIGZ1bmN0aW9ucyBmb3IKKyAgICAgICAgICBjbGFyaXR5LgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgcmViYXNlbGluZWQgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRldHVuZVRvRnJl
cXVlbmN5TXVsdGlwbGllcik6CisgICAgICAgIChXZWJDb3JlOjpjbGFtcEZyZXF1ZW5jeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpPc2NpbGxhdG9yTm9kZTo6T3NjaWxsYXRvck5vZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6T3NjaWxsYXRvck5vZGU6OmNhbGN1bGF0ZVNhbXBsZUFjY3VyYXRlUGhhc2VJ
bmNyZW1lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OmRvSW50ZXJwb2xhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpPc2NpbGxhdG9yTm9kZTo6cHJvY2Vzc0FSYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok9zY2lsbGF0b3JOb2RlOjpwcm9jZXNzS1JhdGUpOgorICAgICAgICAoV2ViQ29yZTo6T3Nj
aWxsYXRvck5vZGU6OnByb2Nlc3MpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxs
YXRvck5vZGUuaDoKKwogMjAyMC0wOS0wNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgVGV4dERlY29kZXJTdHJlYW1EZWNvZGVyLkBlbmNvZGluZyBpcyBicm9r
ZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5jcHAKaW5kZXggZjY1Y2M5ZGQ1NDIwYTQ0ODBkMGU1M2NkYjI0NzUwZDg5YzY3Zjk1MC4uZmM1
ODFhNTcwN2ZmNTBmMWZiY2I0OWY3MjhlZDU4MDI2ODU4YjcxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAKQEAgLTQwLDYgKzQw
LDI1IEBAIHVzaW5nIG5hbWVzcGFjZSBWZWN0b3JNYXRoOwogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoT3NjaWxsYXRvck5vZGUpOwogCisvLyBCcmVha3BvaW50cyB3aGVyZSB3ZSBkZWlj
ZGUgdG8gZG8gbGluZWFyIGludGVyb3BsYXRpb24sIDMtcG9pbnQgaW50ZXJwb2xhdGlvbiBvciA1
LXBvaW50IGludGVycG9sYXRpb24uIFNlZSBkb0ludGVycG9sYXRpb24oKS4KK2NvbnN0ZXhwciBm
bG9hdCBpbnRlcnBvbGF0ZTJQb2ludCA9IDAuMzsKK2NvbnN0ZXhwciBmbG9hdCBpbnRlcnBvbGF0
ZTNQb2ludCA9IDAuMTY7CisKKy8vIENvbnZlcnQgdGhlIGRldHVuZSB2YWx1ZSAoaW4gY2VudHMp
IHRvIGEgZnJlcXVlbmN5IHNjYWxlIG11bHRpcGxpZXI6IDJeKGQvMTIwMCkuCitzdGF0aWMgaW5s
aW5lIGZsb2F0IGRldHVuZVRvRnJlcXVlbmN5TXVsdGlwbGllcihmbG9hdCBkZXR1bmVWYWx1ZSkK
K3sKKyAgICByZXR1cm4gc3RkOjpleHAyKGRldHVuZVZhbHVlIC8gMTIwMCk7Cit9CisKKy8vIENs
YW1wIHRoZSBmcmVxdWVuY3kgdmFsdWUgdG8gbGllIHdpdGhpbiBOeXF1aXN0IGZyZXF1ZW5jeS4g
Rm9yIE5hTiwgYXJiaXRyYXJpbHkgY2xhbXAgdG8gK055cXVpc3QuCitzdGF0aWMgdm9pZCBjbGFt
cEZyZXF1ZW5jeShmbG9hdCogZnJlcXVlbmN5LCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzLCBmbG9h
dCBueXF1aXN0KQoreworICAgIGZvciAoc2l6ZV90IGsgPSAwOyBrIDwgZnJhbWVzVG9Qcm9jZXNz
OyArK2spIHsKKyAgICAgICAgZmxvYXQgZiA9IGZyZXF1ZW5jeVtrXTsKKyAgICAgICAgZnJlcXVl
bmN5W2tdID0gc3RkOjppc25hbihmKSA/IG55cXVpc3QgOiBjbGFtcFRvKGYsIC1ueXF1aXN0LCBu
eXF1aXN0KTsKKyAgICB9Cit9CisKIEV4Y2VwdGlvbk9yPFJlZjxPc2NpbGxhdG9yTm9kZT4+IE9z
Y2lsbGF0b3JOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgT3Nj
aWxsYXRvck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkp
CkBAIC03NCw3ICs5Myw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxPc2NpbGxhdG9yTm9kZT4+IE9zY2ls
bGF0b3JOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4CiBPc2NpbGxhdG9yTm9k
ZTo6T3NjaWxsYXRvck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgT3NjaWxs
YXRvck9wdGlvbnMmIG9wdGlvbnMpCiAgICAgOiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUoY29u
dGV4dCkKICAgICAsIG1fZnJlcXVlbmN5KEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAiZnJl
cXVlbmN5Il9zLCBvcHRpb25zLmZyZXF1ZW5jeSwgLWNvbnRleHQuc2FtcGxlUmF0ZSgpIC8gMiwg
Y29udGV4dC5zYW1wbGVSYXRlKCkgLyAyLCBBdXRvbWF0aW9uUmF0ZTo6QVJhdGUpKQotICAgICwg
bV9kZXR1bmUoQXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJkZXR1bmUiX3MsIG9wdGlvbnMu
ZGV0dW5lLCAtMTUzNjAwLCAxNTM2MDAsIEF1dG9tYXRpb25SYXRlOjpBUmF0ZSkpCisgICAgLCBt
X2RldHVuZShBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImRldHVuZSJfcywgb3B0aW9ucy5k
ZXR1bmUsIC0xMjAwICogbG9nMmYoc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKSwg
MTIwMCAqIGxvZzJmKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSksIEF1dG9tYXRp
b25SYXRlOjpBUmF0ZSkpCiB7CiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVPc2NpbGxhdG9yKTsK
ICAgICAKQEAgLTE0Niw3ICsxNjUsNyBAQCBib29sIE9zY2lsbGF0b3JOb2RlOjpjYWxjdWxhdGVT
YW1wbGVBY2N1cmF0ZVBoYXNlSW5jcmVtZW50cyhzaXplX3QgZnJhbWVzVG9Qcm9jZQogICAgICAg
ICBmbG9hdCBrID0gMS4wIC8gMTIwMDsKICAgICAgICAgdnNtdWwoZGV0dW5lVmFsdWVzLCAxLCAm
aywgZGV0dW5lVmFsdWVzLCAxLCBmcmFtZXNUb1Byb2Nlc3MpOwogICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgZnJhbWVzVG9Qcm9jZXNzOyArK2kpCi0gICAgICAgICAgICBkZXR1bmVW
YWx1ZXNbaV0gPSBwb3dmKDIsIGRldHVuZVZhbHVlc1tpXSk7IC8vIEZJWE1FOiBjb252ZXJ0aW5n
IHRvIGV4cGYoKSB3aWxsIGJlIGZhc3Rlci4KKyAgICAgICAgICAgIGRldHVuZVZhbHVlc1tpXSA9
IHN0ZDo6ZXhwMihkZXR1bmVWYWx1ZXNbaV0pOwogCiAgICAgICAgIGlmIChoYXNGcmVxdWVuY3lD
aGFuZ2VzKSB7CiAgICAgICAgICAgICAvLyBNdWx0aXBseSBmcmVxdWVuY2llcyBieSBkZXR1bmUg
c2NhbGluZ3MuCkBAIC0xNTQsMTEgKzE3MywxMiBAQCBib29sIE9zY2lsbGF0b3JOb2RlOjpjYWxj
dWxhdGVTYW1wbGVBY2N1cmF0ZVBoYXNlSW5jcmVtZW50cyhzaXplX3QgZnJhbWVzVG9Qcm9jZQog
ICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmxvYXQgZGV0dW5lID0gbV9kZXR1bmUt
PmZpbmFsVmFsdWUoKTsKLSAgICAgICAgZmxvYXQgZGV0dW5lU2NhbGUgPSBwb3dmKDIsIGRldHVu
ZSAvIDEyMDApOworICAgICAgICBmbG9hdCBkZXR1bmVTY2FsZSA9IGRldHVuZVRvRnJlcXVlbmN5
TXVsdGlwbGllcihkZXR1bmUpOwogICAgICAgICBmaW5hbFNjYWxlICo9IGRldHVuZVNjYWxlOwog
ICAgIH0KIAogICAgIGlmIChoYXNTYW1wbGVBY2N1cmF0ZVZhbHVlcykgeworICAgICAgICBjbGFt
cEZyZXF1ZW5jeShwaGFzZUluY3JlbWVudHMsIGZyYW1lc1RvUHJvY2VzcywgY29udGV4dCgpLnNh
bXBsZVJhdGUoKSAvIDIpOwogICAgICAgICAvLyBDb252ZXJ0IGZyb20gZnJlcXVlbmN5IHRvIHdh
dmUgaW5jcmVtZW50LgogICAgICAgICB2c211bChwaGFzZUluY3JlbWVudHMsIDEsICZmaW5hbFNj
YWxlLCBwaGFzZUluY3JlbWVudHMsIDEsIGZyYW1lc1RvUHJvY2Vzcyk7CiAgICAgfQpAQCAtMTY2
LDYgKzE4NiwxNjcgQEAgYm9vbCBPc2NpbGxhdG9yTm9kZTo6Y2FsY3VsYXRlU2FtcGxlQWNjdXJh
dGVQaGFzZUluY3JlbWVudHMoc2l6ZV90IGZyYW1lc1RvUHJvY2UKICAgICByZXR1cm4gaGFzU2Ft
cGxlQWNjdXJhdGVWYWx1ZXM7CiB9CiAKK3N0YXRpYyBmbG9hdCBkb0ludGVycG9sYXRpb24oZG91
YmxlIHZpcnR1YWxSZWFkSW5kZXgsIGZsb2F0IGluY3IsIHVuc2lnbmVkIHJlYWRJbmRleE1hc2ss
IGZsb2F0IHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvciwgY29uc3QgZmxvYXQqIGxvd2VyV2F2ZURh
dGEsIGNvbnN0IGZsb2F0KiBoaWdoZXJXYXZlRGF0YSkKK3sKKyAgICBBU1NFUlQoaW5jciA+PSAw
KTsKKyAgICBBU1NFUlQoc3RkOjppc2Zpbml0ZSh2aXJ0dWFsUmVhZEluZGV4KSk7CisKKyAgICBk
b3VibGUgc2FtcGxlTG93ZXIgPSAwOworICAgIGRvdWJsZSBzYW1wbGVIaWdoZXIgPSAwOworCisg
ICAgdW5zaWduZWQgcmVhZEluZGV4MCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih2aXJ0dWFsUmVh
ZEluZGV4KTsKKworICAgIC8vIENvbnNpZGVyIGEgdHlwaWNhbCBzYW1wbGUgcmF0ZSBvZiA0NDEw
MCBIeiBhbmQgbWF4IHBlcmlvZGljIHdhdmUKKyAgICAvLyBzaXplIG9mIDQwOTYuIFRoZSByZWxh
dGlvbnNoaXAgYmV0d2VlbiB8aW5jcnwgYW5kIHRoZSBmcmVxdWVuY3kKKyAgICAvLyBvZiB0aGUg
b3NjaWxsYXRvciBpcyB8aW5jcnwgPSBmcmVxICogNDA5Ni80NDEwMC4gT3IgZnJlcSA9CisgICAg
Ly8gfGluY3J8KjQ0MTAwLzQwOTYgPSAxMC44KnxpbmNyfC4KKyAgICAvLworICAgIC8vIEZvciB0
aGUgfGluY3J8IHRocmVzaG9sZHMgYmVsb3csIHRoaXMgbWVhbnMgdGhhdCB3ZSB1c2UgbGluZWFy
CisgICAgLy8gaW50ZXJwb2xhdGlvbiBmb3IgYWxsIGZyZXEgPj0gMy4yIEh6LCAzLXBvaW50IExh
Z3JhbmdlCisgICAgLy8gZm9yIGZyZXEgPj0gMS43IEh6IGFuZCA1LXBvaW50IExhZ3JhbmdlIGZv
ciBldmVyeSB0aGluZyBlbHNlLgorICAgIC8vCisgICAgLy8gV2UgdXNlIExhZ3JhbmdlIGludGVy
cG9sYXRpb24gYmVjYXVzZSBpdCdzIHJlbGF0aXZlbHkgc2ltcGxlIHRvCisgICAgLy8gaW1wbGVt
ZW50IGFuZCBmYWlybHkgaW5leHBlbnNpdmUsIGFuZCB0aGUgaW50ZXJwb2xhdG9yIGFsd2F5cwor
ICAgIC8vIHBhc3NlcyB0aHJvdWdoIGtub3duIHBvaW50cy4KKyAgICBpZiAoaW5jciA+PSBpbnRl
cnBvbGF0ZTJQb2ludCkgeworICAgICAgICAvLyBJbmNyZW1lbnQgaXMgZmFpcmx5IGxhcmdlLCBz
byB3ZSdyZSBkb2luZyBubyBtb3JlIHRoYW4gYWJvdXQgMworICAgICAgICAvLyBwb2ludHMgYmV0
d2VlbiBlYWNoIHdhdmUgdGFibGUgZW50cnkuIEFzc3VtZSBsaW5lYXIKKyAgICAgICAgLy8gaW50
ZXJwb2xhdGlvbiBiZXR3ZWVuIHBvaW50cyBpcyBnb29kIGVub3VnaC4KKyAgICAgICAgdW5zaWdu
ZWQgcmVhZEluZGV4MiA9IHJlYWRJbmRleDAgKyAxOworCisgICAgICAgIC8vIENvbnRhaW4gd2l0
aGluIHZhbGlkIHJhbmdlLgorICAgICAgICByZWFkSW5kZXgwID0gcmVhZEluZGV4MCAmIHJlYWRJ
bmRleE1hc2s7CisgICAgICAgIHJlYWRJbmRleDIgPSByZWFkSW5kZXgyICYgcmVhZEluZGV4TWFz
azsKKworICAgICAgICBmbG9hdCBzYW1wbGUxTG93ZXIgPSBsb3dlcldhdmVEYXRhW3JlYWRJbmRl
eDBdOworICAgICAgICBmbG9hdCBzYW1wbGUyTG93ZXIgPSBsb3dlcldhdmVEYXRhW3JlYWRJbmRl
eDJdOworICAgICAgICBmbG9hdCBzYW1wbGUxSGlnaGVyID0gaGlnaGVyV2F2ZURhdGFbcmVhZElu
ZGV4MF07CisgICAgICAgIGZsb2F0IHNhbXBsZTJIaWdoZXIgPSBoaWdoZXJXYXZlRGF0YVtyZWFk
SW5kZXgyXTsKKworICAgICAgICAvLyBMaW5lYXJseSBpbnRlcnBvbGF0ZSB3aXRoaW4gZWFjaCB0
YWJsZSAobG93ZXIgYW5kIGhpZ2hlcikuCisgICAgICAgIGRvdWJsZSBpbnRlcnBvbGF0aW9uRmFj
dG9yID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHZpcnR1YWxSZWFkSW5kZXgpIC0gcmVhZEluZGV4MDsK
KyAgICAgICAgc2FtcGxlSGlnaGVyID0gKDEgLSBpbnRlcnBvbGF0aW9uRmFjdG9yKSAqIHNhbXBs
ZTFIaWdoZXIgKyBpbnRlcnBvbGF0aW9uRmFjdG9yICogc2FtcGxlMkhpZ2hlcjsKKyAgICAgICAg
c2FtcGxlTG93ZXIgPSAoMSAtIGludGVycG9sYXRpb25GYWN0b3IpICogc2FtcGxlMUxvd2VyICsg
aW50ZXJwb2xhdGlvbkZhY3RvciAqIHNhbXBsZTJMb3dlcjsKKworICAgIH0gZWxzZSBpZiAoaW5j
ciA+PSBpbnRlcnBvbGF0ZTNQb2ludCkgeworICAgICAgICAvLyBXZSdyZSBkb2luZyBhYm91dCA2
IGludGVycG9sYXRpb24gdmFsdWVzIGJldHdlZW4gZWFjaCB3YXZlCisgICAgICAgIC8vIHRhYmxl
IHNhbXBsZS4gSnVzdCB1c2UgYSAzLXBvaW50IExhZ3JhbmdlIGludGVycG9sYXRvciB0byBnZXQg
YQorICAgICAgICAvLyBiZXR0ZXIgZXN0aW1hdGUgdGhhbiBqdXN0IGxpbmVhci4KKyAgICAgICAg
Ly8KKyAgICAgICAgLy8gU2VlIDMtcG9pbnQgZm9ybXVsYSBpbiBodHRwOi8vZGxtZi5uaXN0Lmdv
di8zLjMjaWkKKyAgICAgICAgdW5zaWduZWQgcmVhZEluZGV4WzNdOworCisgICAgICAgIGZvciAo
aW50IGsgPSAtMTsgayA8PSAxOyArK2spCisgICAgICAgICAgICByZWFkSW5kZXhbayArIDFdID0g
KHJlYWRJbmRleDAgKyBrKSAmIHJlYWRJbmRleE1hc2s7CisKKyAgICAgICAgZG91YmxlIGFbM107
CisgICAgICAgIGRvdWJsZSB0ID0gdmlydHVhbFJlYWRJbmRleCAtIHJlYWRJbmRleDA7CisKKyAg
ICAgICAgYVswXSA9IDAuNSAqIHQgKiAodCAtIDEpOworICAgICAgICBhWzFdID0gMSAtIHQgKiB0
OworICAgICAgICBhWzJdID0gMC41ICogdCAqICh0ICsgMSk7CisKKyAgICAgICAgZm9yIChpbnQg
ayA9IDA7IGsgPCAzOyArK2spIHsKKyAgICAgICAgICAgIHNhbXBsZUxvd2VyICs9IGFba10gKiBs
b3dlcldhdmVEYXRhW3JlYWRJbmRleFtrXV07CisgICAgICAgICAgICBzYW1wbGVIaWdoZXIgKz0g
YVtrXSAqIGhpZ2hlcldhdmVEYXRhW3JlYWRJbmRleFtrXV07CisgICAgICAgIH0KKyAgICB9IGVs
c2UgeworICAgICAgICAvLyBGb3IgZXZlcnl0aGluZyBlbHNlIChtb3JlIHRoYW4gNiBwb2ludHMg
cGVyIGVudHJ5KSwgd2UnbGwgZG8gYQorICAgICAgICAvLyA1LXBvaW50IExhZ3JhbmdlIGludGVy
cG9sYXRvci4gVGhpcyBpcyBhIHRyYWRlLW9mZiBiZXR3ZWVuCisgICAgICAgIC8vIHF1YWxpdHkg
YW5kIHNwZWVkLgorICAgICAgICAvLworICAgICAgICAvLyBTZWUgNS1wb2ludCBmb3JtdWxhIGlu
IGh0dHA6Ly9kbG1mLm5pc3QuZ292LzMuMyNpaQorICAgICAgICB1bnNpZ25lZCByZWFkSW5kZXhb
NV07CisgICAgICAgIGZvciAoaW50IGsgPSAtMjsgayA8PSAyOyArK2spCisgICAgICAgICAgICBy
ZWFkSW5kZXhbayArIDJdID0gKHJlYWRJbmRleDAgKyBrKSAmIHJlYWRJbmRleE1hc2s7CisKKyAg
ICAgICAgZG91YmxlIGFbNV07CisgICAgICAgIGRvdWJsZSB0ID0gdmlydHVhbFJlYWRJbmRleCAt
IHJlYWRJbmRleDA7CisgICAgICAgIGRvdWJsZSB0MiA9IHQgKiB0OworCisgICAgICAgIGFbMF0g
PSB0ICogKHQyIC0gMSkgKiAodCAtIDIpIC8gMjQ7CisgICAgICAgIGFbMV0gPSAtdCAqICh0IC0g
MSkgKiAodDIgLSA0KSAvIDY7CisgICAgICAgIGFbMl0gPSAodDIgLSAxKSAqICh0MiAtIDQpIC8g
NDsKKyAgICAgICAgYVszXSA9IC10ICogKHQgKyAxKSAqICh0MiAtIDQpIC8gNjsKKyAgICAgICAg
YVs0XSA9IHQgKiAodDIgLSAxKSAqICh0ICsgMikgLyAyNDsKKworICAgICAgICBmb3IgKGludCBr
ID0gMDsgayA8IDU7ICsraykgeworICAgICAgICAgICAgc2FtcGxlTG93ZXIgKz0gYVtrXSAqIGxv
d2VyV2F2ZURhdGFbcmVhZEluZGV4W2tdXTsKKyAgICAgICAgICAgIHNhbXBsZUhpZ2hlciArPSBh
W2tdICogaGlnaGVyV2F2ZURhdGFbcmVhZEluZGV4W2tdXTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIC8vIFRoZW4gaW50ZXJwb2xhdGUgYmV0d2VlbiB0aGUgdHdvIHRhYmxlcy4KKyAgICBmbG9h
dCBzYW1wbGUgPSAoMSAtIHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvcikgKiBzYW1wbGVIaWdoZXIg
KyB0YWJsZUludGVycG9sYXRpb25GYWN0b3IgKiBzYW1wbGVMb3dlcjsKKyAgICByZXR1cm4gc2Ft
cGxlOworfQorCitkb3VibGUgT3NjaWxsYXRvck5vZGU6OnByb2Nlc3NBUmF0ZShpbnQgbiwgZmxv
YXQqIGRlc3RQLCBkb3VibGUgdmlydHVhbFJlYWRJbmRleCwgZmxvYXQqIHBoYXNlSW5jcmVtZW50
cykKK3sKKyAgICBmbG9hdCByYXRlU2NhbGUgPSBtX3BlcmlvZGljV2F2ZS0+cmF0ZVNjYWxlKCk7
CisgICAgZmxvYXQgaW52UmF0ZVNjYWxlID0gMSAvIHJhdGVTY2FsZTsKKyAgICB1bnNpZ25lZCBw
ZXJpb2RpY1dhdmVTaXplID0gbV9wZXJpb2RpY1dhdmUtPnBlcmlvZGljV2F2ZVNpemUoKTsKKyAg
ICBkb3VibGUgaW52UGVyaW9kaWNXYXZlU2l6ZSA9IDEuMCAvIHBlcmlvZGljV2F2ZVNpemU7Cisg
ICAgdW5zaWduZWQgcmVhZEluZGV4TWFzayA9IHBlcmlvZGljV2F2ZVNpemUgLSAxOworCisgICAg
ZmxvYXQqIGhpZ2hlcldhdmVEYXRhID0gbnVsbHB0cjsKKyAgICBmbG9hdCogbG93ZXJXYXZlRGF0
YSA9IG51bGxwdHI7CisgICAgZmxvYXQgdGFibGVJbnRlcnBvbGF0aW9uRmFjdG9yID0gMDsKKwor
ICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbjsgKytrKSB7CisgICAgICAgIGZsb2F0IGluY3IgPSAq
cGhhc2VJbmNyZW1lbnRzKys7CisKKyAgICAgICAgZmxvYXQgZnJlcXVlbmN5ID0gaW52UmF0ZVNj
YWxlICogaW5jcjsKKyAgICAgICAgbV9wZXJpb2RpY1dhdmUtPndhdmVEYXRhRm9yRnVuZGFtZW50
YWxGcmVxdWVuY3koZnJlcXVlbmN5LCBsb3dlcldhdmVEYXRhLCBoaWdoZXJXYXZlRGF0YSwgdGFi
bGVJbnRlcnBvbGF0aW9uRmFjdG9yKTsKKworICAgICAgICBmbG9hdCBzYW1wbGUgPSBkb0ludGVy
cG9sYXRpb24odmlydHVhbFJlYWRJbmRleCwgZmFicyhpbmNyKSwgcmVhZEluZGV4TWFzaywgdGFi
bGVJbnRlcnBvbGF0aW9uRmFjdG9yLCBsb3dlcldhdmVEYXRhLCBoaWdoZXJXYXZlRGF0YSk7CisK
KyAgICAgICAgKmRlc3RQKysgPSBzYW1wbGU7CisKKyAgICAgICAgLy8gSW5jcmVtZW50IHZpcnR1
YWwgcmVhZCBpbmRleCBhbmQgd3JhcCB2aXJ0dWFsUmVhZEluZGV4IGludG8gdGhlIHJhbmdlCisg
ICAgICAgIC8vIDAgLT4gcGVyaW9kaWNXYXZlU2l6ZS4KKyAgICAgICAgdmlydHVhbFJlYWRJbmRl
eCArPSBpbmNyOworICAgICAgICB2aXJ0dWFsUmVhZEluZGV4IC09IGZsb29yKHZpcnR1YWxSZWFk
SW5kZXggKiBpbnZQZXJpb2RpY1dhdmVTaXplKSAqIHBlcmlvZGljV2F2ZVNpemU7CisgICAgfQor
CisgICAgcmV0dXJuIHZpcnR1YWxSZWFkSW5kZXg7Cit9CisKK2RvdWJsZSBPc2NpbGxhdG9yTm9k
ZTo6cHJvY2Vzc0tSYXRlKGludCBuLCBmbG9hdCogZGVzdFAsIGRvdWJsZSB2aXJ0dWFsUmVhZElu
ZGV4KQoreworICAgIHVuc2lnbmVkIHBlcmlvZGljV2F2ZVNpemUgPSBtX3BlcmlvZGljV2F2ZS0+
cGVyaW9kaWNXYXZlU2l6ZSgpOworICAgIGRvdWJsZSBpbnZQZXJpb2RpY1dhdmVTaXplID0gMS4w
IC8gcGVyaW9kaWNXYXZlU2l6ZTsKKyAgICB1bnNpZ25lZCByZWFkSW5kZXhNYXNrID0gcGVyaW9k
aWNXYXZlU2l6ZSAtIDE7CisKKyAgICBmbG9hdCBmcmVxdWVuY3kgPSAwOworICAgIGZsb2F0KiBo
aWdoZXJXYXZlRGF0YSA9IG51bGxwdHI7CisgICAgZmxvYXQqIGxvd2VyV2F2ZURhdGEgPSBudWxs
cHRyOworICAgIGZsb2F0IHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvciA9IDA7CisKKyAgICBmcmVx
dWVuY3kgPSBtX2ZyZXF1ZW5jeS0+ZmluYWxWYWx1ZSgpOworICAgIGZsb2F0IGRldHVuZSA9IG1f
ZGV0dW5lLT5maW5hbFZhbHVlKCk7CisgICAgZmxvYXQgZGV0dW5lU2NhbGUgPSBkZXR1bmVUb0Zy
ZXF1ZW5jeU11bHRpcGxpZXIoZGV0dW5lKTsKKyAgICBmcmVxdWVuY3kgKj0gZGV0dW5lU2NhbGU7
CisgICAgY2xhbXBGcmVxdWVuY3koJmZyZXF1ZW5jeSwgMSwgY29udGV4dCgpLnNhbXBsZVJhdGUo
KSAvIDIpOworICAgIG1fcGVyaW9kaWNXYXZlLT53YXZlRGF0YUZvckZ1bmRhbWVudGFsRnJlcXVl
bmN5KGZyZXF1ZW5jeSwgbG93ZXJXYXZlRGF0YSwgaGlnaGVyV2F2ZURhdGEsIHRhYmxlSW50ZXJw
b2xhdGlvbkZhY3Rvcik7CisKKyAgICBmbG9hdCByYXRlU2NhbGUgPSBtX3BlcmlvZGljV2F2ZS0+
cmF0ZVNjYWxlKCk7CisgICAgZmxvYXQgaW5jciA9IGZyZXF1ZW5jeSAqIHJhdGVTY2FsZTsKKwor
ICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbjsgKytrKSB7CisgICAgICAgIGZsb2F0IHNhbXBsZSA9
IGRvSW50ZXJwb2xhdGlvbih2aXJ0dWFsUmVhZEluZGV4LCBmYWJzKGluY3IpLCByZWFkSW5kZXhN
YXNrLCB0YWJsZUludGVycG9sYXRpb25GYWN0b3IsIGxvd2VyV2F2ZURhdGEsIGhpZ2hlcldhdmVE
YXRhKTsKKworICAgICAgICAqZGVzdFArKyA9IHNhbXBsZTsKKworICAgICAgICAvLyBJbmNyZW1l
bnQgdmlydHVhbCByZWFkIGluZGV4IGFuZCB3cmFwIHZpcnR1YWxSZWFkSW5kZXggaW50byB0aGUg
cmFuZ2UKKyAgICAgICAgLy8gMCAtPiBwZXJpb2RpY1dhdmVTaXplLgorICAgICAgICB2aXJ0dWFs
UmVhZEluZGV4ICs9IGluY3I7CisgICAgICAgIHZpcnR1YWxSZWFkSW5kZXggLT0gZmxvb3Iodmly
dHVhbFJlYWRJbmRleCAqIGludlBlcmlvZGljV2F2ZVNpemUpICogcGVyaW9kaWNXYXZlU2l6ZTsK
KyAgICB9CisKKyAgICByZXR1cm4gdmlydHVhbFJlYWRJbmRleDsKK30KKwogdm9pZCBPc2NpbGxh
dG9yTm9kZTo6cHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQogewogICAgIGF1dG8mIG91
dHB1dEJ1cyA9ICpvdXRwdXQoMCktPmJ1cygpOwpAQCAtMjAzLDkgKzM4NCw2IEBAIHZvaWQgT3Nj
aWxsYXRvck5vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIHVuc2lnbmVkIHBlcmlvZGljV2F2ZVNpemUgPSBtX3BlcmlvZGlj
V2F2ZS0+cGVyaW9kaWNXYXZlU2l6ZSgpOwotICAgIGRvdWJsZSBpbnZQZXJpb2RpY1dhdmVTaXpl
ID0gMS4wIC8gcGVyaW9kaWNXYXZlU2l6ZTsKLQogICAgIGZsb2F0KiBkZXN0UCA9IG91dHB1dEJ1
cy5jaGFubmVsKDApLT5tdXRhYmxlRGF0YSgpOwogCiAgICAgQVNTRVJUKHF1YW50dW1GcmFtZU9m
ZnNldCA8PSBmcmFtZXNUb1Byb2Nlc3MpOwpAQCAtMjE0LDcgKzM5Miw2IEBAIHZvaWQgT3NjaWxs
YXRvck5vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICBkb3VibGUgdmly
dHVhbFJlYWRJbmRleCA9IG1fdmlydHVhbFJlYWRJbmRleDsKIAogICAgIGZsb2F0IHJhdGVTY2Fs
ZSA9IG1fcGVyaW9kaWNXYXZlLT5yYXRlU2NhbGUoKTsKLSAgICBmbG9hdCBpbnZSYXRlU2NhbGUg
PSAxIC8gcmF0ZVNjYWxlOwogICAgIGJvb2wgaGFzU2FtcGxlQWNjdXJhdGVWYWx1ZXMgPSBjYWxj
dWxhdGVTYW1wbGVBY2N1cmF0ZVBoYXNlSW5jcmVtZW50cyhmcmFtZXNUb1Byb2Nlc3MpOwogCiAg
ICAgZmxvYXQgZnJlcXVlbmN5ID0gMDsKQEAgLTIyMyw1NiArNDAwLDM2IEBAIHZvaWQgT3NjaWxs
YXRvck5vZGU6OnByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKICAgICBmbG9hdCB0YWJs
ZUludGVycG9sYXRpb25GYWN0b3IgPSAwOwogCiAgICAgaWYgKCFoYXNTYW1wbGVBY2N1cmF0ZVZh
bHVlcykgewotICAgICAgICBmcmVxdWVuY3kgPSBtX2ZyZXF1ZW5jeS0+c21vb3RoZWRWYWx1ZSgp
OwotICAgICAgICBmbG9hdCBkZXR1bmUgPSBtX2RldHVuZS0+c21vb3RoZWRWYWx1ZSgpOwotICAg
ICAgICBmbG9hdCBkZXR1bmVTY2FsZSA9IHBvd2YoMiwgZGV0dW5lIC8gMTIwMCk7CisgICAgICAg
IGZyZXF1ZW5jeSA9IG1fZnJlcXVlbmN5LT5maW5hbFZhbHVlKCk7CisgICAgICAgIGZsb2F0IGRl
dHVuZSA9IG1fZGV0dW5lLT5maW5hbFZhbHVlKCk7CisgICAgICAgIGZsb2F0IGRldHVuZVNjYWxl
ID0gZGV0dW5lVG9GcmVxdWVuY3lNdWx0aXBsaWVyKGRldHVuZSk7CiAgICAgICAgIGZyZXF1ZW5j
eSAqPSBkZXR1bmVTY2FsZTsKKyAgICAgICAgY2xhbXBGcmVxdWVuY3koJmZyZXF1ZW5jeSwgMSwg
Y29udGV4dCgpLnNhbXBsZVJhdGUoKSAvIDIpOwogICAgICAgICBtX3BlcmlvZGljV2F2ZS0+d2F2
ZURhdGFGb3JGdW5kYW1lbnRhbEZyZXF1ZW5jeShmcmVxdWVuY3ksIGxvd2VyV2F2ZURhdGEsIGhp
Z2hlcldhdmVEYXRhLCB0YWJsZUludGVycG9sYXRpb25GYWN0b3IpOwogICAgIH0KIAotICAgIGZs
b2F0IGluY3IgPSBmcmVxdWVuY3kgKiByYXRlU2NhbGU7CiAgICAgZmxvYXQqIHBoYXNlSW5jcmVt
ZW50cyA9IG1fcGhhc2VJbmNyZW1lbnRzLmRhdGEoKTsKIAotICAgIHVuc2lnbmVkIHJlYWRJbmRl
eE1hc2sgPSBwZXJpb2RpY1dhdmVTaXplIC0gMTsKLQogICAgIC8vIFN0YXJ0IHJlbmRlcmluZyBh
dCB0aGUgY29ycmVjdCBvZmZzZXQuCiAgICAgZGVzdFAgKz0gcXVhbnR1bUZyYW1lT2Zmc2V0Owog
ICAgIGludCBuID0gbm9uU2lsZW50RnJhbWVzVG9Qcm9jZXNzOwogCi0gICAgd2hpbGUgKG4tLSkg
ewotICAgICAgICB1bnNpZ25lZCByZWFkSW5kZXggPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odmly
dHVhbFJlYWRJbmRleCk7Ci0gICAgICAgIHVuc2lnbmVkIHJlYWRJbmRleDIgPSByZWFkSW5kZXgg
KyAxOwotCi0gICAgICAgIC8vIENvbnRhaW4gd2l0aGluIHZhbGlkIHJhbmdlLgotICAgICAgICBy
ZWFkSW5kZXggPSByZWFkSW5kZXggJiByZWFkSW5kZXhNYXNrOwotICAgICAgICByZWFkSW5kZXgy
ID0gcmVhZEluZGV4MiAmIHJlYWRJbmRleE1hc2s7Ci0KLSAgICAgICAgaWYgKGhhc1NhbXBsZUFj
Y3VyYXRlVmFsdWVzKSB7Ci0gICAgICAgICAgICBpbmNyID0gKnBoYXNlSW5jcmVtZW50cysrOwot
Ci0gICAgICAgICAgICBmcmVxdWVuY3kgPSBpbnZSYXRlU2NhbGUgKiBpbmNyOwotICAgICAgICAg
ICAgbV9wZXJpb2RpY1dhdmUtPndhdmVEYXRhRm9yRnVuZGFtZW50YWxGcmVxdWVuY3koZnJlcXVl
bmN5LCBsb3dlcldhdmVEYXRhLCBoaWdoZXJXYXZlRGF0YSwgdGFibGVJbnRlcnBvbGF0aW9uRmFj
dG9yKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZsb2F0IHNhbXBsZTFMb3dlciA9IGxvd2VyV2F2
ZURhdGFbcmVhZEluZGV4XTsKLSAgICAgICAgZmxvYXQgc2FtcGxlMkxvd2VyID0gbG93ZXJXYXZl
RGF0YVtyZWFkSW5kZXgyXTsKLSAgICAgICAgZmxvYXQgc2FtcGxlMUhpZ2hlciA9IGhpZ2hlcldh
dmVEYXRhW3JlYWRJbmRleF07Ci0gICAgICAgIGZsb2F0IHNhbXBsZTJIaWdoZXIgPSBoaWdoZXJX
YXZlRGF0YVtyZWFkSW5kZXgyXTsKLQotICAgICAgICAvLyBMaW5lYXJseSBpbnRlcnBvbGF0ZSB3
aXRoaW4gZWFjaCB0YWJsZSAobG93ZXIgYW5kIGhpZ2hlcikuCi0gICAgICAgIGZsb2F0IGludGVy
cG9sYXRpb25GYWN0b3IgPSBzdGF0aWNfY2FzdDxmbG9hdD4odmlydHVhbFJlYWRJbmRleCkgLSBy
ZWFkSW5kZXg7Ci0gICAgICAgIGZsb2F0IHNhbXBsZUhpZ2hlciA9ICgxIC0gaW50ZXJwb2xhdGlv
bkZhY3RvcikgKiBzYW1wbGUxSGlnaGVyICsgaW50ZXJwb2xhdGlvbkZhY3RvciAqIHNhbXBsZTJI
aWdoZXI7Ci0gICAgICAgIGZsb2F0IHNhbXBsZUxvd2VyID0gKDEgLSBpbnRlcnBvbGF0aW9uRmFj
dG9yKSAqIHNhbXBsZTFMb3dlciArIGludGVycG9sYXRpb25GYWN0b3IgKiBzYW1wbGUyTG93ZXI7
Ci0KLSAgICAgICAgLy8gVGhlbiBpbnRlcnBvbGF0ZSBiZXR3ZWVuIHRoZSB0d28gdGFibGVzLgot
ICAgICAgICBmbG9hdCBzYW1wbGUgPSAoMSAtIHRhYmxlSW50ZXJwb2xhdGlvbkZhY3RvcikgKiBz
YW1wbGVIaWdoZXIgKyB0YWJsZUludGVycG9sYXRpb25GYWN0b3IgKiBzYW1wbGVMb3dlcjsKLQot
ICAgICAgICAqZGVzdFArKyA9IHNhbXBsZTsKLQotICAgICAgICAvLyBJbmNyZW1lbnQgdmlydHVh
bCByZWFkIGluZGV4IGFuZCB3cmFwIHZpcnR1YWxSZWFkSW5kZXggaW50byB0aGUgcmFuZ2UgMCAt
PiBwZXJpb2RpY1dhdmVTaXplLgotICAgICAgICB2aXJ0dWFsUmVhZEluZGV4ICs9IGluY3I7Ci0g
ICAgICAgIHZpcnR1YWxSZWFkSW5kZXggLT0gZmxvb3IodmlydHVhbFJlYWRJbmRleCAqIGludlBl
cmlvZGljV2F2ZVNpemUpICogcGVyaW9kaWNXYXZlU2l6ZTsKLSAgICB9CisgICAgLy8gSWYgc3Rh
cnRGcmFtZU9mZnNldCBpcyBub3QgMCwgdGhhdCBtZWFucyB0aGUgb3NjaWxsYXRvciBkb2Vzbid0
IGFjdHVhbGx5CisgICAgLy8gc3RhcnQgYXQgcXVhbnR1bUZyYW1lT2Zmc2V0LCBidXQganVzdCBw
YXN0IHRoYXQgdGltZS4gQWRqdXN0IGRlc3RQIGFuZCBuCisgICAgLy8gdG8gcmVmbGVjdCB0aGF0
LCBhbmQgYWRqdXN0IHZpcnR1YWxSZWFkSW5kZXggdG8gc3RhcnQgdGhlIHZhbHVlIGF0CisgICAg
Ly8gc3RhcnRGcmFtZU9mZnNldC4KKyAgICBpZiAoc3RhcnRGcmFtZU9mZnNldCA+IDApIHsKKyAg
ICAgICAgKytkZXN0UDsKKyAgICAgICAgLS1uOworICAgICAgICB2aXJ0dWFsUmVhZEluZGV4ICs9
ICgxIC0gc3RhcnRGcmFtZU9mZnNldCkgKiBmcmVxdWVuY3kgKiByYXRlU2NhbGU7CisgICAgICAg
IEFTU0VSVCh2aXJ0dWFsUmVhZEluZGV4IDwgbV9wZXJpb2RpY1dhdmUtPnBlcmlvZGljV2F2ZVNp
emUoKSk7CisgICAgfSBlbHNlIGlmIChzdGFydEZyYW1lT2Zmc2V0IDwgMCkKKyAgICAgICAgdmly
dHVhbFJlYWRJbmRleCA9IC1zdGFydEZyYW1lT2Zmc2V0ICogZnJlcXVlbmN5ICogcmF0ZVNjYWxl
OworCisgICAgaWYgKGhhc1NhbXBsZUFjY3VyYXRlVmFsdWVzKQorICAgICAgICB2aXJ0dWFsUmVh
ZEluZGV4ID0gcHJvY2Vzc0FSYXRlKG4sIGRlc3RQLCB2aXJ0dWFsUmVhZEluZGV4LCBwaGFzZUlu
Y3JlbWVudHMpOworICAgIGVsc2UKKyAgICAgICAgdmlydHVhbFJlYWRJbmRleCA9IHByb2Nlc3NL
UmF0ZShuLCBkZXN0UCwgdmlydHVhbFJlYWRJbmRleCk7CiAKICAgICBtX3ZpcnR1YWxSZWFkSW5k
ZXggPSB2aXJ0dWFsUmVhZEluZGV4OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL09zY2lsbGF0b3JOb2RlLmgKaW5kZXggZGQ3MzA5YWJhYmRiYWY2NDMzZGU2NjYyMWY1
ZDIzYzlkOTU0YzNkNi4uNjdjZDVlZmY1NGQyNWUyYzU4Yzg5NjlkMWMwNjI4NjFlOGM5NzFkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUu
aApAQCAtNjUsNiArNjUsOSBAQCBwcml2YXRlOgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGVy
ZSBhcmUgc2FtcGxlLWFjY3VyYXRlIHRpbWVsaW5lIHBhcmFtZXRlciBjaGFuZ2VzLgogICAgIGJv
b2wgY2FsY3VsYXRlU2FtcGxlQWNjdXJhdGVQaGFzZUluY3JlbWVudHMoc2l6ZV90IGZyYW1lc1Rv
UHJvY2Vzcyk7CiAKKyAgICBkb3VibGUgcHJvY2Vzc0FSYXRlKGludCwgZmxvYXQqIGRlc3RQLCBk
b3VibGUgdmlydHVhbFJlYWRJbmRleCwgZmxvYXQqIHBoYXNlSW5jcmVtZW50cyk7CisgICAgZG91
YmxlIHByb2Nlc3NLUmF0ZShpbnQsIGZsb2F0KiBkZXN0UCwgZG91YmxlIHZpcnR1YWxSZWFkSW5k
ZXgpOworCiAgICAgYm9vbCBwcm9wYWdhdGVzU2lsZW5jZSgpIGNvbnN0IGZpbmFsOwogCiAgICAg
Ly8gT25lIG9mIHRoZSB3YXZlZm9ybSB0eXBlcyBkZWZpbmVkIGluIHRoZSBlbnVtLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGM2Y2FhYWUwM2ExMDY3ZGNhNTJkZDM4NmY0MDk1YjhjNDIyMGIyNGEuLmMyMzkwM2U3NGZiMTg3
ZTc5Y2Q2NGVjNjhmYTI5ZDk0ZDIyZTRlY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0w
OS0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEltcHJvdmUg
aW50ZXJwb2xhdGlvbiBhbGdvcml0aG0gaW4gT3NjaWxsYXRvck5vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjE4MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCB0ZXN0IHRoYXQgc2hvdWxk
IG5vIGxvbmdlciBiZSBmbGFreSBub3cgdGhhdCBpdCBpcyBwYXNzaW5nLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wOS0wNCAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gSW1wb3J0IGdyaWQgdGVzdHMgZnJvbSBX
UFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQ0Yzk1ZjQ0MmQ5MmRhMmJiNDI1
NDNjYjIyNmNhZjU2OWE5MWFjOWMuLjQ2ZDllMDU2NDQ5MjFiZjcxYjg4M2JjMDgyN2ZjNWZiNDE0
YzliN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDIwLTA5LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1w
cm92ZSBpbnRlcnBvbGF0aW9uIGFsZ29yaXRobSBpbiBPc2NpbGxhdG9yTm9kZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MTgzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVz
dHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9wYXJhbS1pbnRlcmZh
Y2Uvay1yYXRlLW9zY2lsbGF0b3ItY29ubmVjdGlvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxhdG9y
bm9kZS1pbnRlcmZhY2UvZGV0dW5lLWxpbWl0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtb3NjaWxsYXRvcm5v
ZGUtaW50ZXJmYWNlL29zYy1iYXNpYy13YXZlZm9ybS1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDkt
MDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFRleHREZWNv
ZGVyU3RyZWFtRGVjb2Rlci5AZW5jb2RpbmcgaXMgYnJva2VuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBmOGYxNDZmZDQ5MDk1M2NlZDY1NGNjM2QxYjNkYTA0ZDhkODkwYmMzLi5iMTYxNWEyMmExMzZj
MjNmNzg2YTE0Zjk3ZTBkYzdiNDI2MTMyY2Y5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0Nyw3
ICszNDcsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1h
dWRpby1hcGkvdGhlLWF1ZGlvYnVmZmVyc291cmNlbm9kZQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2J1ZmZlcnNvdXJjZW5v
ZGUtaW50ZXJmYWNlL3N1Yi1zYW1wbGUtYnVmZmVyLXN0aXRjaGluZy5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlv
LWFwaS90aGUtcGFubmVybm9kZS1pbnRlcmZhY2UvcGFubmVyLWRpc3RhbmNlLWNsYW1waW5nLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJh
dWRpby90aGUtYXVkaW8tYXBpL3RoZS1zY3JpcHRwcm9jZXNzb3Jub2RlLWludGVyZmFjZS9zaW1w
bGUtaW5wdXQtb3V0cHV0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxhdG9ybm9kZS1p
bnRlcmZhY2Uvb3NjLWJhc2ljLXdhdmVmb3JtLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRp
b3BhcmFtLWludGVyZmFjZS9rLXJhdGUtb3NjaWxsYXRvci1jb25uZWN0aW9ucy5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhl
LWF1ZGlvLWFwaS90aGUtYXVkaW9wYXJhbS1pbnRlcmZhY2Uvay1yYXRlLWRlbGF5LWNvbm5lY3Rp
b25zLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1jb252b2x2ZXJub2RlLWludGVyZmFjZS9yZWFs
dGltZS1jb252Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3Ro
ZS1hdWRpb2J1ZmZlcnNvdXJjZW5vZGUtaW50ZXJmYWNlL2J1ZmZlci1yZXNhbXBsaW5nLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
YXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9idWZmZXJzb3VyY2Vub2RlLWludGVyZmFjZS9i
dWZmZXItcmVzYW1wbGluZy1leHBlY3RlZC50eHQKaW5kZXggMzU2Nzc3OGI4MWMzNGQxOWUzNThj
Y2MzNjIzZDA1MjQ1ZmFmMTVkYS4uOGQyNGJkY2I5MTcyODViZDc1NWQwZWFjYmI5MmJlNGY0NzMw
N2U1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2J1ZmZlcnNvdXJjZW5vZGUtaW50
ZXJmYWNlL2J1ZmZlci1yZXNhbXBsaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhl
LWF1ZGlvYnVmZmVyc291cmNlbm9kZS1pbnRlcmZhY2UvYnVmZmVyLXJlc2FtcGxpbmctZXhwZWN0
ZWQudHh0CkBAIC0zLDE2ICszLDE2IEBAIFBBU1MgIyBBVURJVCBUQVNLIFJVTk5FUiBTVEFSVEVE
LgogUEFTUyBFeGVjdXRpbmcgImludGVycG9sYXRlIiAKIFBBU1MgQXVkaXQgcmVwb3J0IAogUEFT
UyA+IFtpbnRlcnBvbGF0ZV0gSW50ZXJwb2xhdGlvbiBvZiBBdWRpb0J1ZmZlcnMgdG8gY29udGV4
dCBzYW1wbGUgcmF0ZSAKLUZBSUwgWCBJbnRlcnBvbGF0ZWQgc2luZSB3YXZlIGRvZXMgbm90IGVx
dWFsIFswLDAuMDU3NTY0MDM1MDU4MDIxNTQ1LDAuMTE0OTM3MTcxMzM5OTg4NzEsMC4xNzE5Mjkw
NjE0MTI4MTEyOCwwLjIyODM1MDg0Nzk1OTUxODQzLDAuMjg0MDE1MjM4Mjg1MDY0NywwLjMzODcz
Nzg3NTIyMzE1OTgsMC4zOTIzMzY5NjQ2MDcyMzg3NywwLjQ0NDYzNDk3NDAwMjgzODEzLDAuNDk1
NDU4NjMyNzA3NTk1OCwwLjU0NDYzODc1MjkzNzMxNjksMC41OTIwMTMwNjEwNDY2MDAzLDAuNjM3
NDIzNzUzNzM4NDAzMywwLjY4MDcyMDY4NjkxMjUzNjYsMC43MjE3NjAwMzQ1NjExNTcyLDAuNzYw
NDA1ODk4MDk0MTc3Mi4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJz
b2x1dGVUaHJlc2hvbGQiOjAuMDkwMzQ4LCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uCitGQUlMIFgg
SW50ZXJwb2xhdGVkIHNpbmUgd2F2ZSBkb2VzIG5vdCBlcXVhbCBbMCwwLjA1NzU2NDAzNTA1ODAy
MTU0NSwwLjExNDkzNzE3ODc5MDU2OTMsMC4xNzE5MjkwNjE0MTI4MTEyOCwwLjIyODM1MDg0Nzk1
OTUxODQzLDAuMjg0MDE1MjM4Mjg1MDY0NywwLjMzODczNzg3NTIyMzE1OTgsMC4zOTIzMzY5NjQ2
MDcyMzg3NywwLjQ0NDYzNTAwMzgwNTE2MDUsMC40OTU0NTg2MzI3MDc1OTU4LDAuNTQ0NjM4NzUy
OTM3MzE2OSwwLjU5MjAxMzEyMDY1MTI0NTEsMC42Mzc0MjM4MTMzNDMwNDgxLDAuNjgwNzIwNzQ2
NTE3MTgxNCwwLjcyMTc2MDAzNDU2MTE1NzIsMC43NjA0MDU4OTgwOTQxNzcyLi4uXSB3aXRoIGFu
IGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MC4wOTAzNDgs
InJlbGF0aXZlVGhyZXNob2xkIjowfS4KIAlJbmRleAlBY3R1YWwJCQlFeHBlY3RlZAkJQWJzRXJy
b3IJCVJlbEVycm9yCQlUZXN0IHRocmVzaG9sZAotCVsxNzZdCS01LjYyMDgzMzYzNTMzMDIwMDJl
LTEJLTYuNTM0MjAyMDk4ODQ2NDM1NWUtMQk5LjEzMzY4NDYzNTE2MjM1MzVlLTIJMS4zOTc4Mjcw
NzkyNjU3MDUyZS0xCTkuMDM0Nzk5OTk5OTk5OTk5OGUtMgotCVsxNzddCS01LjYyMDgzMzYzNTMz
MDIwMDJlLTEJLTYuOTU5MTI0ODAzNTQzMDkwOGUtMQkxLjMzODI5MTE2ODIxMjg5MDZlLTEJMS45
MjMwNzM5NTgyODIxMjIxZS0xCTkuMDM0Nzk5OTk5OTk5OTk5OGUtMgorCVsxNzZdCS01LjYyMDgz
MzYzNTMzMDIwMDJlLTEJLTYuNTM0MjAyNjk0ODkyODgzM2UtMQk5LjEzMzY5MDU5NTYyNjgzMTFl
LTIJMS4zOTc4Mjc4NjM5NTEyODIzZS0xCTkuMDM0Nzk5OTk5OTk5OTk5OGUtMgorCVsxNzddCS01
LjYyMDgzMzYzNTMzMDIwMDJlLTEJLTYuOTU5MTI0MjA3NDk2NjQzMWUtMQkxLjMzODI5MDU3MjE2
NjQ0MjllLTEJMS45MjMwNzMyNjY0OTYzNTUxZS0xCTkuMDM0Nzk5OTk5OTk5OTk5OGUtMgogCVsx
NzhdCS01LjYyMDgzMzYzNTMzMDIwMDJlLTEJLTcuMzYwOTY1NjA5NTUwNDc2MWUtMQkxLjc0MDEz
MTk3NDIyMDI3NTllLTEJMi4zNjM5OTk1OTgwNDUzMjEzZS0xCTkuMDM0Nzk5OTk5OTk5OTk5OGUt
MgogCVsxNzldCS01LjYyMDgzMzYzNTMzMDIwMDJlLTEJLTcuNzM4Mzk4MzEzNTIyMzM4OWUtMQky
LjExNzU2NDY3ODE5MjEzODdlLTEJMi43MzY0Mzc5NDU0MjMxOTUyZS0xCTkuMDM0Nzk5OTk5OTk5
OTk5OGUtMgogCU1heCBBYnNFcnJvciBvZiAyLjExNzU2NDY3ODE5MjEzODdlLTEgYXQgaW5kZXgg
b2YgMTc5LgogCU1heCBSZWxFcnJvciBvZiAyLjczNjQzNzk0NTQyMzE5NTJlLTEgYXQgaW5kZXgg
b2YgMTc5LgogIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIFNO
UiAoMzIuNzYgZEIpIGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMzcuMTcuIEdvdCAz
Mi43NjI0MjQzNTk4OTQ3NjYuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
RkFJTCBYIFNOUiAoMzIuNzYgZEIpIGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMzcu
MTcuIEdvdCAzMi43NjI0MjQzNDE2NTg1OC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCiBGQUlMIDwgW2ludGVycG9sYXRlXSAyIG91dCBvZiAyIGFzc2VydGlvbnMgd2VyZSBm
YWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCAjIEFVRElU
IFRBU0sgUlVOTkVSIEZJTklTSEVEOiAxIG91dCBvZiAxIHRhc2tzIHdlcmUgZmFpbGVkLiBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBp
L3RoZS1hdWRpb2J1ZmZlcnNvdXJjZW5vZGUtaW50ZXJmYWNlL3N1Yi1zYW1wbGUtYnVmZmVyLXN0
aXRjaGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvYnVmZmVyc291cmNlbm9k
ZS1pbnRlcmZhY2Uvc3ViLXNhbXBsZS1idWZmZXItc3RpdGNoaW5nLWV4cGVjdGVkLnR4dAppbmRl
eCA4ZGE1ODIwN2E1NzA0Y2NjNTI5NjBlOWUyNjU0MTM1NDczZmY3OTljLi4wZWI4MjYxODk1NDMz
ZjQ4ODliNzE0MmM0NjUwZDIzNjkzN2ZiMjUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1
ZGlvYnVmZmVyc291cmNlbm9kZS1pbnRlcmZhY2Uvc3ViLXNhbXBsZS1idWZmZXItc3RpdGNoaW5n
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvYnVmZmVyc291cmNlbm9kZS1p
bnRlcmZhY2Uvc3ViLXNhbXBsZS1idWZmZXItc3RpdGNoaW5nLWV4cGVjdGVkLnR4dApAQCAtNSwx
NiArNSwxNiBAQCBQQVNTIEV4ZWN1dGluZyAiYnVmZmVyLXN0aXRjaGluZy0yIgogUEFTUyBBdWRp
dCByZXBvcnQgCiBQQVNTID4gW2J1ZmZlci1zdGl0Y2hpbmctMV0gU3Vic2FtcGxlIGJ1ZmZlciBz
dGl0Y2hpbmcsIHNhbWUgcmF0ZXMgCiBQQVNTICAgVGVzdCAxOiBjb250ZXh0LnNhbXBsZVJhdGUg
aXMgZXF1YWwgdG8gNDQxMDAuIAotUEFTUyAgIFN0aXRjaGVkIHNpbmUtd2F2ZSBidWZmZXJzIGF0
IHNhbXBsZSByYXRlIDQ0MTAwIGVxdWFscyBbMCwwLjA2MjY0ODI5NjM1NjIwMTE3LDAuMTI1MDUw
NTI5ODM3NjA4MzQsMC4xODY5NjEzNTI4MjUxNjQ4LDAuMjQ4MTM3NzQyMjgwOTYwMDgsMC4zMDgz
MzkzODcxNzg0MjEsMC4zNjczMjk1OTc0NzMxNDQ1MywwLjQyNDg3NjY2MDEwODU2NjMsMC40ODA3
NTQzNzU0NTc3NjM2NywwLjUzNDc0MzYwNzA0NDIyLDAuNTg2NjMxNzc0OTAyMzQzOCwwLjYzNjIx
NTQ0ODM3OTUxNjYsMC42ODMyOTk0ODE4Njg3NDM5LDAuNzI3Njk5Mjc5Nzg1MTU2MiwwLjc2OTI0
MDE0MDkxNDkxNywwLjgwNzc1OTA0NjU1NDU2NTQuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRv
bGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLjAwMDA5MDk1NywicmVsYXRpdmVUaHJl
c2hvbGQiOjB9LiAKLVBBU1MgICBTTlIgKDg1LjU4NjU3ODk0OTk4MDM1IGRCKSBpcyBncmVhdGVy
IHRoYW4gb3IgZXF1YWwgdG8gODUuNTguIAorUEFTUyAgIFN0aXRjaGVkIHNpbmUtd2F2ZSBidWZm
ZXJzIGF0IHNhbXBsZSByYXRlIDQ0MTAwIGVxdWFscyBbMCwwLjA2MjY0ODMwMzgwNjc4MTc3LDAu
MTI1MDUwNTI5ODM3NjA4MzQsMC4xODY5NjEzNTI4MjUxNjQ4LDAuMjQ4MTM3NzI3Mzc5Nzk4OSww
LjMwODMzOTM4NzE3ODQyMSwwLjM2NzMyOTU5NzQ3MzE0NDUzLDAuNDI0ODc2NjMwMzA2MjQzOSww
LjQ4MDc1NDM3NTQ1Nzc2MzY3LDAuNTM0NzQzNjA3MDQ0MjIsMC41ODY2MzE3NzQ5MDIzNDM4LDAu
NjM2MjE1NDQ4Mzc5NTE2NiwwLjY4MzI5OTQ4MTg2ODc0MzksMC43Mjc2OTkyNzk3ODUxNTYyLDAu
NzY5MjQwMjAwNTE5NTYxOCwwLjgwNzc1OTA0NjU1NDU2NTQuLi5dIHdpdGggYW4gZWxlbWVudC13
aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLjAwMDA5MDk1NywicmVsYXRp
dmVUaHJlc2hvbGQiOjB9LiAKK1BBU1MgICBTTlIgKDg1LjU4NjU2MTM4ODgwMzU5IGRCKSBpcyBn
cmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gODUuNTguIAogUEFTUyA8IFtidWZmZXItc3RpdGNoaW5n
LTFdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDMgYXNzZXJ0aW9ucykgCiBQQVNTID4g
W2J1ZmZlci1zdGl0Y2hpbmctMl0gU3Vic2FtcGxlIGJ1ZmZlciBzdGl0Y2hpbmcsIGRpZmZlcmVu
dCByYXRlcyAKIFBBU1MgICBUZXN0IDI6IGNvbnRleHQuc2FtcGxlUmF0ZSBpcyBlcXVhbCB0byA0
NDEwMC4gCi1GQUlMIFggU3RpdGNoZWQgc2luZS13YXZlIGJ1ZmZlcnMgYXQgc2FtcGxlIHJhdGUg
NDM4MDAgZG9lcyBub3QgZXF1YWwgWzAsMC4wNjI2NDgyOTYzNTYyMDExNywwLjEyNTA1MDUyOTgz
NzYwODM0LDAuMTg2OTYxMzUyODI1MTY0OCwwLjI0ODEzNzc0MjI4MDk2MDA4LDAuMzA4MzM5Mzg3
MTc4NDIxLDAuMzY3MzI5NTk3NDczMTQ0NTMsMC40MjQ4NzY2NjAxMDg1NjYzLDAuNDgwNzU0Mzc1
NDU3NzYzNjcsMC41MzQ3NDM2MDcwNDQyMiwwLjU4NjYzMTc3NDkwMjM0MzgsMC42MzYyMTU0NDgz
Nzk1MTY2LDAuNjgzMjk5NDgxODY4NzQzOSwwLjcyNzY5OTI3OTc4NTE1NjIsMC43NjkyNDAxNDA5
MTQ5MTcsMC44MDc3NTkwNDY1NTQ1NjU0Li4uXSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFu
Y2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MC4wMDM4OTg2LCJyZWxhdGl2ZVRocmVzaG9sZCI6
MH0uCitGQUlMIFggU3RpdGNoZWQgc2luZS13YXZlIGJ1ZmZlcnMgYXQgc2FtcGxlIHJhdGUgNDM4
MDAgZG9lcyBub3QgZXF1YWwgWzAsMC4wNjI2NDgzMDM4MDY3ODE3NywwLjEyNTA1MDUyOTgzNzYw
ODM0LDAuMTg2OTYxMzUyODI1MTY0OCwwLjI0ODEzNzcyNzM3OTc5ODksMC4zMDgzMzkzODcxNzg0
MjEsMC4zNjczMjk1OTc0NzMxNDQ1MywwLjQyNDg3NjYzMDMwNjI0MzksMC40ODA3NTQzNzU0NTc3
NjM2NywwLjUzNDc0MzYwNzA0NDIyLDAuNTg2NjMxNzc0OTAyMzQzOCwwLjYzNjIxNTQ0ODM3OTUx
NjYsMC42ODMyOTk0ODE4Njg3NDM5LDAuNzI3Njk5Mjc5Nzg1MTU2MiwwLjc2OTI0MDIwMDUxOTU2
MTgsMC44MDc3NTkwNDY1NTQ1NjU0Li4uXSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ug
b2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MC4wMDM4OTg2LCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0u
CiAJSW5kZXgJQWN0dWFsCQkJRXhwZWN0ZWQJCUFic0Vycm9yCQlSZWxFcnJvcgkJVGVzdCB0aHJl
c2hvbGQKLQlbMzBdCTkuNjY0ODA0OTM1NDU1MzIyM2UtMQk5LjUyMzY4NjE3MDU3ODAwMjllLTEJ
MS40MTExODc2NDg3NzMxOTM0ZS0yCTEuNDgxNzY2MjIzMTgwMzExN2UtMgkzLjg5ODU5OTk5OTk5
OTk5OTllLTMKKwlbMzBdCTkuNjY0ODA0OTM1NDU1MzIyM2UtMQk5LjUyMzY4NTU3NDUzMTU1NTJl
LTEJMS40MTExOTM2MDkyMzc2NzA5ZS0yCTEuNDgxNzcyNTc0NDg2ODMwMWUtMgkzLjg5ODU5OTk5
OTk5OTk5OTllLTMKIAlbNjBdCS01LjUwMDQxNTU2MzU4MzM3NDBlLTEJLTUuODA4NDc3NDAxNzMz
Mzk4NGUtMQkzLjA4MDYxODM4MTUwMDI0NDFlLTIJNS4zMDM2NTkwNjMxODM5NDAyZS0yCTMuODk4
NTk5OTk5OTk5OTk5OWUtMwotCVs5MF0JLTYuMTc1NDM3NTY5NjE4MjI1MWUtMQktNS45ODExMDY3
NTgxMTc2NzU4ZS0xCTEuOTQzMzA4MTE1MDA1NDkzMmUtMgkzLjI0OTA3Nzc5Mzc4NDU2NTRlLTIJ
My44OTg1OTk5OTk5OTk5OTk5ZS0zCisJWzkwXQktNi4xNzU0Mzc1Njk2MTgyMjUxZS0xCS01Ljk4
MTEwNjE2MjA3MTIyODBlLTEJMS45NDMzMTQwNzU0Njk5NzA3ZS0yCTMuMjQ5MDg4MDgzMDU5NTU2
NGUtMgkzLjg5ODU5OTk5OTk5OTk5OTllLTMKIAlbMTUxXQkyLjAwODE4OTA3NDY5NTExMDNlLTIJ
LTQuMTMwNjA1MjM1Njk1ODM4OWUtMgk2LjEzODc5NDMxMDM5MDk0OTJlLTIJMS40ODYxNzMwODEy
MDg3MTg0ZSswCTMuODk4NTk5OTk5OTk5OTk5OWUtMwogCVsxODFdCS05LjU0NTQwMTMzNDc2MjU3
MzJlLTEJLTkuMzg5NTk1OTg1NDEyNTk3N2UtMQkxLjU1ODA1MzQ5MzQ5OTc1NTllLTIJMS42NTkz
NDAyOTEwMjAyOTc2ZS0yCTMuODk4NTk5OTk5OTk5OTk5OWUtMwogCS4uLmFuZCAxMjIyIG1vcmUg
ZXJyb3JzLgpAQCAtMjMsNyArMjMsNyBAQCBGQUlMIFggU3RpdGNoZWQgc2luZS13YXZlIGJ1ZmZl
cnMgYXQgc2FtcGxlIHJhdGUgNDM4MDAgZG9lcyBub3QgZXF1YWwgWzAsMC4wNjI2NAogCU1heCBS
ZWxFcnJvciBvZiA0LjY3NzYyMjg0MzAyNDc2ODRlKzMgYXQgaW5kZXggb2YgNjYxNS4KIAlbNjYx
NV0JLTYuMzA3Njg1Mzc1MjEzNjIzMGUtMgktMS4zNDgxOTI3NDUzNTQwMjY2ZS01CTYuMzA2MzM3
MTgyNDY4MjY5MGUtMgk0LjY3NzYyMjg0MzAyNDc2ODRlKzMJMy44OTg1OTk5OTk5OTk5OTk5ZS0z
CiAgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggU05SICg0My41
ODg1MjIwNDIxNDI3NyBkQikgaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA2NS43Mzcu
IEdvdCA0My41ODg1MjIwNDIxNDI3Ny4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFggU05SICg0My41ODg1MjE4NjY4NjM4NCBkQikgaXMgbm90IGdyZWF0ZXIgdGhh
biBvciBlcXVhbCB0byA2NS43MzcuIEdvdCA0My41ODg1MjE4NjY4NjM4NC4gYXNzZXJ0X3RydWU6
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIDwgW2J1ZmZlci1zdGl0Y2hpbmctMl0gMiBv
dXQgb2YgMyBhc3NlcnRpb25zIHdlcmUgZmFpbGVkLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKIEZBSUwgIyBBVURJVCBUQVNLIFJVTk5FUiBGSU5JU0hFRDogMSBvdXQgb2Yg
MiB0YXNrcyB3ZXJlIGZhaWxlZC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW9wYXJhbS1pbnRlcmZhY2Uvay1yYXRl
LW9zY2lsbGF0b3ItY29ubmVjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRp
b3BhcmFtLWludGVyZmFjZS9rLXJhdGUtb3NjaWxsYXRvci1jb25uZWN0aW9ucy1leHBlY3RlZC50
eHQKaW5kZXggODQyOTZmNjI3ZGVkMzQ0MDI1MDhjMGUwNTBhZjhmMzE4MWVlYzJmZC4uN2M4YTFi
OTdlNDJlZjA4NjE3Yzk3NTIwODY3ZTE5OWQ3ZjE0YTE1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBp
L3RoZS1hdWRpb3BhcmFtLWludGVyZmFjZS9rLXJhdGUtb3NjaWxsYXRvci1jb25uZWN0aW9ucy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb3BhcmFtLWludGVyZmFjZS9rLXJh
dGUtb3NjaWxsYXRvci1jb25uZWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTE0LDcgKzE0LDcgQEAg
UEFTUyAgIFRlc3QgMTogc3JjVGVzdC5mcmVxdWVuY3kuYXV0b21hdGlvblJhdGUgPSAnay1yYXRl
JyBkaWQgbm90IHRocm93IGFuIGV4Y2UKIFBBU1MgICBUZXN0IDE6IG1vZEZyZXEub2Zmc2V0LnNl
dFZhbHVlQXRUaW1lKDEwMCwgMCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIAogUEFTUyAg
IFRlc3QgMTogbW9kRnJlcS5vZmZzZXQubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoMjAwMCwgMC4w
NzgxMjUpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLiAKIFBBU1MgICBUZXN0IDE6IG1vZEZy
ZXEuY29ubmVjdChzcmNUZXN0LmZyZXF1ZW5jeSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24u
IAotUEFTUyAgIGstcmF0ZSBmcmVxdWVuY3kgd2l0aCBpbnB1dCBlcXVhbHMgWzAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBv
ZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAorUEFTUyAg
IGstcmF0ZSBmcmVxdWVuY3kgd2l0aCBpbnB1dCBlcXVhbHMgWzAsMC4wNzY2MjM4MjcyMTkwMDk0
LDAuMTUyNzk3MTc3NDMzOTY3NiwwLjIyODA3MjEzNjY0MDU0ODcsMC4zMDIwMDU4ODcwMzE1NTUy
LDAuMzc0MTY0MDE1MDU0NzAyNzYsMC40NDQxMjIwNzYwMzQ1NDU5LDAuNTExNDY4ODI3NzI0NDU2
OCwwLjU3NTgwODE2NzQ1NzU4MDYsMC42MzY3NjE5MDM3NjI4MTc0LDAuNjkzOTcxMzk1NDkyNTUz
NywwLjc0NzEwMDU5MTY1OTU0NTksMC43OTU4MzY5MjU1MDY1OTE4LDAuODM5ODkzODE3OTAxNjEx
MywwLjg3OTAxMjIyNzA1ODQxMDYsMC45MTI5NjIxOTgyNTc0NDYzLi4uXSB3aXRoIGFuIGVsZW1l
bnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJl
c2hvbGQiOjB9LiAKIFBBU1MgPCBbVGVzdCAxXSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3Rh
bCA4IGFzc2VydGlvbnMpIAogUEFTUyA+IFtUZXN0IDJdIGstcmF0ZSBkZXR1bmUgaW5wdXQgCiBQ
QVNTICAgVGVzdCAyOiBzcmNSZWYuZGV0dW5lLmF1dG9tYXRpb25SYXRlID0gJ2stcmF0ZScgZGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIApAQCAtMjQsNyArMjQsNyBAQCBQQVNTICAgVGVzdCAy
OiBzcmNUZXN0LmRldHVuZS5hdXRvbWF0aW9uUmF0ZSA9ICdrLXJhdGUnIGRpZCBub3QgdGhyb3cg
YW4gZXhjZXB0aQogUEFTUyAgIFRlc3QgMjogbW9kRGV0dW5lLm9mZnNldC5zZXRWYWx1ZUF0VGlt
ZSgwLCAwKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCiBQQVNTICAgVGVzdCAyOiBtb2RE
ZXR1bmUub2Zmc2V0LmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKDIwMDAsIDAuMDc4MTI1KSBkaWQg
bm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCiBQQVNTICAgVGVzdCAyOiBtb2REZXR1bmUuY29ubmVj
dChzcmNUZXN0LmRldHVuZSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIAotUEFTUyAgIGst
cmF0ZSBkZXR1bmUgd2l0aCBpbnB1dCBlcXVhbHMgWzAsMC4zMzExMDYzMDUxMjIzNzU1LDAuNjI0
ODU5NTExODUyMjY0NCwwLjg0ODEyMDMzMTc2NDIyMTIsMC45NzU3MDIyMjYxNjE5NTY4LDAuOTkz
MjEyMDQ0MjM5MDQ0MiwwLjg5ODY3NDQ4ODA2NzYyNywwLjcwMjc1NDc5NTU1MTMsMC40Mjc1NTUw
ODQyMjg1MTU2LDAuMTA0MTIxNTgwNzE5OTQ3ODEsLTAuMjMxMDU4MTIwNzI3NTM5MDYsLTAuNTQw
MTcxNTA0MDIwNjkwOSwtMC43ODgzNDY0MDk3OTc2Njg1LC0wLjk0NzU4NTU4MjczMzE1NDMsLTAu
OTk5OTI0Nzc4OTM4MjkzNSwtMC45Mzk0NTkzMjM4ODMwNTY2Li4uXSB3aXRoIGFuIGVsZW1lbnQt
d2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hv
bGQiOjB9LiAKK1BBU1MgICBrLXJhdGUgZGV0dW5lIHdpdGggaW5wdXQgZXF1YWxzIFswLDAuMzMx
MTA2MzA1MTIyMzc1NSwwLjYyNDg1OTUxMTg1MjI2NDQsMC44NDgxMjAzMzE3NjQyMjEyLDAuOTc1
NzAyMjI2MTYxOTU2OCwwLjk5MzIxMjA0NDIzOTA0NDIsMC44OTg2NzQ0ODgwNjc2MjcsMC43MDI3
NTQ3OTU1NTEzLDAuNDI3NTU1MDg0MjI4NTE1NiwwLjEwNDEyMTU4MDcxOTk0NzgxLC0wLjIzMTA1
ODEyMDcyNzUzOTA2LC0wLjU0MDE3MTUwNDAyMDY5MDksLTAuNzg4MzQ2NDA5Nzk3NjY4NSwtMC45
NDc1ODU1ODI3MzMxNTQzLC0wLjk5OTkyNDcxOTMzMzY0ODcsLTAuOTM5NDU5MzIzODgzMDU2Ni4u
Ll0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQi
OjAsInJlbGF0aXZlVGhyZXNob2xkIjowfS4gCiBQQVNTIDwgW1Rlc3QgMl0gQWxsIGFzc2VydGlv
bnMgcGFzc2VkLiAodG90YWwgOCBhc3NlcnRpb25zKSAKIFBBU1MgPiBbVGVzdCAzXSBrLXJhdGUg
ZnJlcXVlbmN5IGlucHV0IHdpdGggYS1yYXRlIGRldHVuZSAKIFBBU1MgICBUZXN0IDM6IHNyY1Jl
Zi5mcmVxdWVuY3kuYXV0b21hdGlvblJhdGUgPSAnay1yYXRlJyBkaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbi4gCkBAIC0zOCw3ICszOCw3IEBAIFBBU1MgICBUZXN0IDM6IHNyY1Rlc3QuZGV0dW5l
LmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKC0yMDAwLCAwLjA3ODEyNSkgZGlkIG5vdCB0CiBQQVNT
ICAgVGVzdCAzOiBtb2RGcmVxLm9mZnNldC5zZXRWYWx1ZUF0VGltZSgxMDAsIDApIGRpZCBub3Qg
dGhyb3cgYW4gZXhjZXB0aW9uLiAKIFBBU1MgICBUZXN0IDM6IG1vZEZyZXEub2Zmc2V0LmxpbmVh
clJhbXBUb1ZhbHVlQXRUaW1lKDIwMDAsIDAuMDc4MTI1KSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbi4gCiBQQVNTICAgVGVzdCAzOiBtb2RGcmVxLmNvbm5lY3Qoc3JjVGVzdC5mcmVxdWVuY3kp
IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLiAKLVBBU1MgICBrLXJhdGUgZnJlcXVlbmN5IGlu
cHV0IHdpdGggYS1yYXRlIGRldHVuZSBlcXVhbHMgWzAsMC4wNzY2MjM4MjcyMTkwMDk0LDAuMTUy
NjYwNDU5MjgwMDE0MDQsMC4yMjc2NjgyODUzNjk4NzMwNSwwLjMwMTIxNTQ2OTgzNzE4ODcsMC4z
NzI4ODMyOTAwNTI0MTM5NCwwLjQ0MjI2NjUyMzgzODA0MzIsMC41MDg5NzgwNjg4Mjg1ODI4LDAu
NTcyNjQ4NTg0ODQyNjgxOSwwLjYzMjkzMDQ1NzU5MjAxMDUsMC42ODk0OTgwNjY5MDIxNjA2LDAu
NzQyMDQ5NDU1NjQyNzAwMiwwLjc5MDMwOTM2OTU2NDA1NjQsMC44MzQwMjgzNjMyMjc4NDQyLDAu
ODcyOTg1MDY0OTgzMzY3OSwwLjkwNjk4NzA3MTAzNzI5MjUuLi5dIHdpdGggYW4gZWxlbWVudC13
aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9s
ZCI6MH0uIAorUEFTUyAgIGstcmF0ZSBmcmVxdWVuY3kgaW5wdXQgd2l0aCBhLXJhdGUgZGV0dW5l
IGVxdWFscyBbMCwwLjA3NjYyMzgyNzIxOTAwOTQsMC4xNTI2NjA0NTkyODAwMTQwNCwwLjIyNzY2
ODI4NTM2OTg3MzA1LDAuMzAxMjE1NDY5ODM3MTg4NywwLjM3Mjg4MzI5MDA1MjQxMzk0LDAuNDQy
MjY2NTIzODM4MDQzMiwwLjUwODk3ODA2ODgyODU4MjgsMC41NzI2NDg1ODQ4NDI2ODE5LDAuNjMy
OTMwNDU3NTkyMDEwNSwwLjY4OTQ5ODA2NjkwMjE2MDYsMC43NDIwNDk0NTU2NDI3MDAyLDAuNzkw
MzA5MzY5NTY0MDU2NCwwLjgzNDAyODMwMzYyMzE5OTUsMC44NzI5ODUwNjQ5ODMzNjc5LDAuOTA2
OTg3MTMwNjQxOTM3My4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJz
b2x1dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowfS4gCiBQQVNTIDwgW1Rlc3Qg
M10gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90YWwgMTIgYXNzZXJ0aW9ucykgCiBQQVNTID4g
W1Rlc3QgNF0gYS1yYXRlIGZyZXF1ZW5jeSB3aXRoIGstcmF0ZSBkZXR1bmUgaW5wdXQgCiBQQVNT
ICAgVGVzdCA0OiBzcmNSZWYuZnJlcXVlbmN5LnNldFZhbHVlQXRUaW1lKDEwMCwgMCkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24uIApAQCAtNTIsNyArNTIsNyBAQCBQQVNTICAgVGVzdCA0OiBz
cmNUZXN0LmZyZXF1ZW5jeS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZSgyMDAwLCAwLjA3ODEyNSkg
ZGlkIG5vdAogUEFTUyAgIFRlc3QgNDogbW9kRGV0dW5lLm9mZnNldC5zZXRWYWx1ZUF0VGltZSgw
LCAwKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCiBQQVNTICAgVGVzdCA0OiBtb2REZXR1
bmUub2Zmc2V0LmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKC0yMDAwLCAwLjA3ODEyNSkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24uIAogUEFTUyAgIFRlc3QgNDogbW9kRGV0dW5lLmNvbm5lY3Qo
c3JjVGVzdC5kZXR1bmUpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLiAKLVBBU1MgICBrLXJh
dGUgZGV0dW5lIGlucHV0IHdpdGggYS1yYXRlIGZyZXF1ZW5jeSBlcXVhbHMgWzAsMC4wNzY2MjM4
MjcyMTkwMDk0LDAuMTU1MDQ3MDI5MjU2ODIwNjgsMC4yMzQ3MTc2MzczMDA0OTEzMywwLjMxNTAw
MTQyODEyNzI4ODgsMC4zOTUxODExNzkwNDY2MzA4NiwwLjQ3NDQ1ODg3MzI3MTk0MjE0LDAuNTUx
OTU3NzI2NDc4NTc2NywwLjYyNjcyODc3MzExNzA2NTQsMC42OTc3NTgwNzg1NzUxMzQzLDAuNzYz
OTc3NDA4NDA5MTE4NywwLjgyNDI3NzA0MzM0MjU5MDMsMC44Nzc1MjIxNzA1NDM2NzA3LDAuOTIy
NTcxNTM5ODc4ODQ1MiwwLjk1ODMwMDIzMjg4NzI2ODEsMC45ODM2MjMzODU0MjkzODIzLi4uXSB3
aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwi
cmVsYXRpdmVUaHJlc2hvbGQiOjB9LiAKK1BBU1MgICBrLXJhdGUgZGV0dW5lIGlucHV0IHdpdGgg
YS1yYXRlIGZyZXF1ZW5jeSBlcXVhbHMgWzAsMC4wNzY2MjM4MjcyMTkwMDk0LDAuMTU1MDQ3MDI5
MjU2ODIwNjgsMC4yMzQ3MTc2NTIyMDE2NTI1MywwLjMxNTAwMTQyODEyNzI4ODgsMC4zOTUxODEx
NzkwNDY2MzA4NiwwLjQ3NDQ1ODg3MzI3MTk0MjE0LDAuNTUxOTU3NzI2NDc4NTc2NywwLjYyNjcy
ODgzMjcyMTcxMDIsMC42OTc3NTgwNzg1NzUxMzQzLDAuNzYzOTc3NDY4MDEzNzYzNCwwLjgyNDI3
NzA0MzM0MjU5MDMsMC44Nzc1MjIxNzA1NDM2NzA3LDAuOTIyNTcxNTM5ODc4ODQ1MiwwLjk1ODMw
MDIzMjg4NzI2ODEsMC45ODM2MjMzODU0MjkzODIzLi4uXSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0
b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hvbGQiOjB9
LiAKIFBBU1MgPCBbVGVzdCA0XSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3RhbCAxMiBhc3Nl
cnRpb25zKSAKIFBBU1MgPiBbVGVzdCA1XSBrLXJhdGUgaW5wdXRzIGZvciBmcmVxdWVuY3kgYW5k
IGRldHVuZSAKIFBBU1MgICBUZXN0IDU6IHNyY1JlZi5mcmVxdWVuY3kuYXV0b21hdGlvblJhdGUg
PSAnay1yYXRlJyBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCkBAIC02OSw3ICs2OSw3IEBA
IFBBU1MgICBUZXN0IDU6IG1vZERldHVuZS5vZmZzZXQuc2V0VmFsdWVBdFRpbWUoMCwgMCkgZGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCiBQQVNTICAgVGVzdCA1OiBtb2REZXR1bmUub2Zmc2V0
LmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKC0yMDAwLCAwLjA3ODEyNSkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24uIAogUEFTUyAgIFRlc3QgNTogbW9kRnJlcS5jb25uZWN0KHNyY1Rlc3QuZnJl
cXVlbmN5KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4gCiBQQVNTICAgVGVzdCA1OiBtb2RE
ZXR1bmUuY29ubmVjdChzcmNUZXN0LmRldHVuZSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24u
IAotUEFTUyAgIGstcmF0ZSBpbnB1dHMgZm9yIGJvdGggZnJlcXVlbmN5IGFuZCBkZXR1bmUgZXF1
YWxzIFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLi4uXSB3aXRoIGFuIGVsZW1lbnQt
d2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hv
bGQiOjB9LiAKK1BBU1MgICBrLXJhdGUgaW5wdXRzIGZvciBib3RoIGZyZXF1ZW5jeSBhbmQgZGV0
dW5lIGVxdWFscyBbMCwwLjA3NjYyMzgyNzIxOTAwOTQsMC4xNTI3OTcxNzc0MzM5Njc2LDAuMjI4
MDcyMTM2NjQwNTQ4NywwLjMwMjAwNTg4NzAzMTU1NTIsMC4zNzQxNjQwMTUwNTQ3MDI3NiwwLjQ0
NDEyMjA3NjAzNDU0NTksMC41MTE0Njg4Mjc3MjQ0NTY4LDAuNTc1ODA4MTY3NDU3NTgwNiwwLjYz
Njc2MTkwMzc2MjgxNzQsMC42OTM5NzEzOTU0OTI1NTM3LDAuNzQ3MTAwNTkxNjU5NTQ1OSwwLjc5
NTgzNjkyNTUwNjU5MTgsMC44Mzk4OTM4MTc5MDE2MTEzLDAuODc5MDEyMjI3MDU4NDEwNiwwLjkx
Mjk2MjE5ODI1NzQ0NjMuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFi
c29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAogUEFTUyA8IFtUZXN0
IDVdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDE1IGFzc2VydGlvbnMpIAogUEFTUyAj
IEFVRElUIFRBU0sgUlVOTkVSIEZJTklTSEVEOiA1IHRhc2tzIHJhbiBzdWNjZXNzZnVsbHkuIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLW9zY2lsbGF0b3Jub2RlLWludGVyZmFjZS9kZXR1
bmUtbGltaXRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxhdG9ybm9kZS1p
bnRlcmZhY2UvZGV0dW5lLWxpbWl0aW5nLWV4cGVjdGVkLnR4dAppbmRleCBlNTBkOGE1MzQ2MWQw
NTlhMDY5YmQ0M2UzZmRjNzE0Nzk3ZDFhN2YwLi45ZjYyZDU0MmE2NTk2ZjE3NmVkNDExMjE1Mzg3
ZGUyNDA1NTIyNDM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLW9zY2lsbGF0b3Jub2RlLWlu
dGVyZmFjZS9kZXR1bmUtbGltaXRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
b3NjaWxsYXRvcm5vZGUtaW50ZXJmYWNlL2RldHVuZS1saW1pdGluZy1leHBlY3RlZC50eHQKQEAg
LTEyLDEzICsxMiwxMyBAQCBQQVNTIDwgW2RldHVuZSBsaW1pdHNdIEFsbCBhc3NlcnRpb25zIHBh
c3NlZC4gKHRvdGFsIDQgYXNzZXJ0aW9ucykKIFBBU1MgPiBbZGV0dW5lIGF1dG9tYXRpb25dIE9z
Y2lsbGF0b3Igb3V0cHV0IHdpdGggZGV0dW5lIGF1dG9tYXRpb24gc2hvdWxkIGJlIHplcm8gYWJv
dmUgTnlxdWlzdCAKIFBBU1MgICBGcmFtZSB3aGVyZSBkZXR1bmVkIG9zY2lsbGF0b3IgcmVhY2hl
cyBOeXF1aXN0IGlzIGVxdWFsIHRvIDUuIAogUEFTUyAgIG9zY1swOjRdIGlzIG5vdCBjb25zdGFu
dGx5IDAgKGNvbnRhaW5zIDQgZGlmZmVyZW50IHZhbHVlcykuIAotRkFJTCBYIG9zY1s1Ol06IEV4
cGVjdGVkIDAgZm9yIGFsbCB2YWx1ZXMgYnV0IGZvdW5kIDU1MDYgdW5leHBlY3RlZCB2YWx1ZXM6
IAorRkFJTCBYIG9zY1s1Ol06IEV4cGVjdGVkIDAgZm9yIGFsbCB2YWx1ZXMgYnV0IGZvdW5kIDI3
NTEgdW5leHBlY3RlZCB2YWx1ZXM6IAogCUluZGV4CUFjdHVhbAotCVswXQkwLjAwMDcxMjM4MTMy
NjU5MzQ1ODcKLQlbMV0JMC4wMDA4NTQ4NTc0OTg3Nzk4OTI5Ci0JWzJdCTAuMDAwOTk3MzMzNzg3
MzgxNjQ5Ci0JWzNdCTAuMDAxMTM5ODEwMDc1OTgzNDA1MQotCS4uLmFuZCA1NTAyIG1vcmUgZXJy
b3JzLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKKwlbMF0JMC4wMDA3MTIz
NzE4Mzg3NDQ3Mjk4CisJWzFdCTAuMDAwODU0ODQ4MDEwOTMxMTY0CisJWzJdCTAuMDAwOTk3MzI0
OTM5ODE3MTkwMgorCVszXQkwLjAwMTEzOTgwMjUwODk4NzQ4NjQKKwkuLi5hbmQgMjc0NyBtb3Jl
IGVycm9ycy4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIDwgW2Rl
dHVuZSBhdXRvbWF0aW9uXSAxIG91dCBvZiAzIGFzc2VydGlvbnMgd2VyZSBmYWlsZWQuIGFzc2Vy
dF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCAjIEFVRElUIFRBU0sgUlVOTkVS
IEZJTklTSEVEOiAxIG91dCBvZiAyIHRhc2tzIHdlcmUgZmFpbGVkLiBhc3NlcnRfdHJ1ZTogZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1vc2NpbGxh
dG9ybm9kZS1pbnRlcmZhY2Uvb3NjLWJhc2ljLXdhdmVmb3JtLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlv
LWFwaS90aGUtb3NjaWxsYXRvcm5vZGUtaW50ZXJmYWNlL29zYy1iYXNpYy13YXZlZm9ybS1leHBl
Y3RlZC50eHQKaW5kZXggMTY5ODJjNzQ3ZGNhMzFjOWEyMzMwY2RiZWFmNmE5NmE2ZTI3NjMyZS4u
OTMyNWQ5NGUzZDljMGRhMzZlNjlkOTQ0NzBmNWU5OWVmNmZmNmE3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVk
aW8tYXBpL3RoZS1vc2NpbGxhdG9ybm9kZS1pbnRlcmZhY2Uvb3NjLWJhc2ljLXdhdmVmb3JtLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLW9zY2lsbGF0b3Jub2RlLWludGVyZmFjZS9v
c2MtYmFzaWMtd2F2ZWZvcm0tZXhwZWN0ZWQudHh0CkBAIC0yOCwxNSArMjgsOCBAQCBQQVNTICAg
Q3VzdG9tOiAxMDAgSHogZXF1YWxzIFsxLDEuMDE0MTQ1NjEyNzE2Njc0OCwxLjAyODA4NTM1MDk5
MDI5NTQsMS4wNDE4MTYzNQogUEFTUyAgIEN1c3RvbTogU05SIChkYikgaXMgZ3JlYXRlciB0aGFu
IG9yIGVxdWFsIHRvIDEyMi40My4gCiBQQVNTIDwgW1Rlc3QgNF0gQWxsIGFzc2VydGlvbnMgcGFz
c2VkLiAodG90YWwgMiBhc3NlcnRpb25zKSAKIFBBU1MgPiBbVGVzdCA1XSBDdXN0b20gd2F2ZTog
MSBIeiAKLUZBSUwgWCBDdXN0b206IDEgSHogZG9lcyBub3QgZXF1YWwgWzEsMS4wMDAxNDI0NTUx
MDEwMTMyLDEuMDAwMjg0OTEwMjAyMDI2NCwxLjAwMDQyNzM2NTMwMzAzOTYsMS4wMDA1Njk3MDEx
OTQ3NjMyLDEuMDAwNzEyMTU2Mjk1Nzc2NCwxLjAwMDg1NDQ5MjE4NzUsMS4wMDA5OTY4MjgwNzky
MjM2LDEuMDAxMTM5MTYzOTcwOTQ3MywxLjAwMTI4MTQ5OTg2MjY3MSwxLjAwMTQyMzcxNjU0NTEw
NSwxLjAwMTU2NjA1MjQzNjgyODYsMS4wMDE3MDgyNjkxMTkyNjI3LDEuMDAxODUwNDg1ODAxNjk2
OCwxLjAwMTk5MjcwMjQ4NDEzMDksMS4wMDIxMzQ3OTk5NTcyNzU0Li4uXSB3aXRoIGFuIGVsZW1l
bnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6NC43Njg0ZS03LCJyZWxh
dGl2ZVRocmVzaG9sZCI6MH0uCi0JSW5kZXgJQWN0dWFsCQkJRXhwZWN0ZWQJCUFic0Vycm9yCQlS
ZWxFcnJvcgkJVGVzdCB0aHJlc2hvbGQKLQlbMjQ2XQkxLjAzNDQyNzE2NTk4NTEwNzRlKzAJMS4w
MzQ0Mjc3NjIwMzE1NTUyZSswCTUuOTYwNDY0NDc3NTM5MDYyNWUtNwk1Ljc2MjA4ODY2MDMzNjI4
MjNlLTcJNC43NjgzOTk5OTk5OTk5OTk3ZS03Ci0JWzI1MF0JMS4wMzQ5NzY2MDE2MDA2NDcwZSsw
CTEuMDM0OTc3MTk3NjQ3MDk0N2UrMAk1Ljk2MDQ2NDQ3NzUzOTA2MjVlLTcJNS43NTkwMjk3NTU1
MjQ1NzkyZS03CTQuNzY4Mzk5OTk5OTk5OTk5N2UtNwotCVsyNTJdCTEuMDM1MjUxMTQwNTk0NDgy
NGUrMAkxLjAzNTI1MTczNjY0MDkzMDJlKzAJNS45NjA0NjQ0Nzc1MzkwNjI1ZS03CTUuNzU3NTAy
NTE1MTY0OTc0MWUtNwk0Ljc2ODM5OTk5OTk5OTk5OTdlLTcKLQlNYXggQWJzRXJyb3Igb2YgNS45
NjA0NjQ0Nzc1MzkwNjI1ZS03IGF0IGluZGV4IG9mIDI0Ni4KLQlNYXggUmVsRXJyb3Igb2YgNS43
NjIwODg2NjAzMzYyODIzZS03IGF0IGluZGV4IG9mIDI0Ni4KLSBhc3NlcnRfdHJ1ZTogZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBDdXN0b206IFNOUiAoZGIpIGlzIG5vdCBncmVhdGVy
IHRoYW4gb3IgZXF1YWwgdG8gMTM4Ljc2LiBHb3QgMTMxLjQ2NjA3NDUwNzc0MTY3LiBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgPCBbVGVzdCA1XSAyIG91dCBvZiAy
IGFzc2VydGlvbnMgd2VyZSBmYWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCAjIEFVRElUIFRBU0sgUlVOTkVSIEZJTklTSEVEOiAxIG91dCBvZiA2IHRhc2tz
IHdlcmUgZmFpbGVkLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1Mg
ICBDdXN0b206IDEgSHogZXF1YWxzIFsxLDEuMDAwMTQyNDU1MTAxMDEzMiwxLjAwMDI4NDkxMDIw
MjAyNjQsMS4wMDA0MjczNjUzMDMwMzk2LDEuMDAwNTY5NzAxMTk0NzYzMiwxLjAwMDcxMjE1NjI5
NTc3NjQsMS4wMDA4NTQ0OTIxODc1LDEuMDAwOTk2ODI4MDc5MjIzNiwxLjAwMTEzOTE2Mzk3MDk0
NzMsMS4wMDEyODE0OTk4NjI2NzEsMS4wMDE0MjM3MTY1NDUxMDUsMS4wMDE1NjYwNTI0MzY4Mjg2
LDEuMDAxNzA4MjY5MTE5MjYyNywxLjAwMTg1MDQ4NTgwMTY5NjgsMS4wMDE5OTI3MDI0ODQxMzA5
LDEuMDAyMTM0Nzk5OTU3Mjc1NC4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9m
IHsiYWJzb2x1dGVUaHJlc2hvbGQiOjQuNzY4NGUtNywicmVsYXRpdmVUaHJlc2hvbGQiOjB9LiAK
K1BBU1MgICBDdXN0b206IFNOUiAoZGIpIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxMzgu
NzYuIAorUEFTUyA8IFtUZXN0IDVdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDIgYXNz
ZXJ0aW9ucykgCitQQVNTICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNIRUQ6IDYgdGFza3MgcmFu
IHN1Y2Nlc3NmdWxseS4gCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>