<?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>54579</bug_id>
          
          <creation_ts>2011-02-16 13:07:29 -0800</creation_ts>
          <short_desc>Import some mozilla js regression tests</short_desc>
          <delta_ts>2011-02-16 13:27:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>352283</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-16 13:07:29 -0800</bug_when>
    <thetext>Import some mozilla js regression tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352285</commentid>
    <comment_count>1</comment_count>
      <attachid>82681</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-16 13:10:58 -0800</bug_when>
    <thetext>Created attachment 82681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352292</commentid>
    <comment_count>2</comment_count>
      <attachid>82681</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-16 13:16:34 -0800</bug_when>
    <thetext>Comment on attachment 82681
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352299</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-16 13:27:49 -0800</bug_when>
    <thetext>Committed r78731: &lt;http://trac.webkit.org/changeset/78731&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82681</attachid>
            <date>2011-02-16 13:10:58 -0800</date>
            <delta_ts>2011-02-16 13:16:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54579-20110216131057.patch</filename>
            <type>text/plain</type>
            <size>355143</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg3MjcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MmYwNzY0ZmI1ZTY2NWNiYzQwMGU0
MzE4NWUxNTM3YWUwZjU1YTc5Li4zOGRiZWE4MGRjNThhYTI2MzIyYzU2YTUwOTBkYTY3YTI2ZDE0
MDMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMzY1IEBACiAyMDExLTAyLTE2ICBPbGl2ZXIgSHVudCAgPG9s
aXZlckBhcHBsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW1wb3J0IHNvbWUgbW96aWxsYSBqcyByZWdyZXNzaW9uIHRlc3RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDU3OQorCisgICAgICAg
ICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWRpcmVj
dC1ub3JtYWxjb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3pp
bGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVu
LW5vcm1hbGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1k
aXJlY3Qtc3RyaWN0Y29kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEv
ZXZhbC9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3Rp
dmUtZnVuLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1p
bmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9q
cy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWluZGlyZWN0LXN0cmlj
dGNvZGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVz
dGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0
Y2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMv
bW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29k
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4
aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxs
ZXItaW5kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1pbmRpcmVjdC1u
b3JtYWxjb2RlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4
aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4t
c3RyaWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWRpcmVj
dC1ub3JtYWxjb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3pp
bGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWRpcmVjdC1ub3JtYWxjb2Rl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUt
Z2xvYmFsLW5vcm1hbGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1h
bGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pz
L21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtbm9y
bWFsY29kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9l
dmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xv
YmFsLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFs
Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9q
cy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWRpcmVjdC1ub3Jt
YWxjb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2
YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFs
LXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxl
ci1kaXJlY3Qtc3RyaWN0Y29kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemls
bGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1zdHJpY3RjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29k
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4
aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0
cmljdGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVy
LWluZGlyZWN0LXN0cmljdGNvZGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3pp
bGxhL2V2YWwvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxs
ZXItZGlyZWN0LW5vcm1hbGNvZGUuanM6IEFkZGVkLgorICAgICAgICAoZ2xvYmFsWCk6CisgICAg
ICAgIChnbG9iYWxZKToKKyAgICAgICAgKHRlc3RYKToKKyAgICAgICAgKHRlc3RZKToKKyAgICAg
ICAgKiBmYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tbm9y
bWFsY2FsbGVyLWRpcmVjdC1zdHJpY3Rjb2RlLmpzOiBBZGRlZC4KKyAgICAgICAgKGdsb2JhbFgp
OgorICAgICAgICAoZ2xvYmFsWSk6CisgICAgICAgICh0ZXN0WCk6CisgICAgICAgICh0ZXN0WSk6
CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUt
ZnVuLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmpzOiBBZGRlZC4KKyAgICAgICAg
KGdsb2JhbFgpOgorICAgICAgICAoZ2xvYmFsWSk6CisgICAgICAgICh0ZXN0WCk6CisgICAgICAg
ICh0ZXN0WSk6CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4
aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLmpzOiBBZGRlZC4K
KyAgICAgICAgKGdsb2JhbFgpOgorICAgICAgICAoZ2xvYmFsWSk6CisgICAgICAgICh0ZXN0WCk6
CisgICAgICAgICh0ZXN0WSk6CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0
LXRlc3RzL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5qczog
QWRkZWQuCisgICAgICAgIChnbG9iYWxYKToKKyAgICAgICAgKGdsb2JhbFkpOgorICAgICAgICAo
dGVzdFgpOgorICAgICAgICAodGVzdFkpOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFs
L3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXItZGlyZWN0LXN0cmljdGNv
ZGUuanM6IEFkZGVkLgorICAgICAgICAoZ2xvYmFsWCk6CisgICAgICAgIChnbG9iYWxZKToKKyAg
ICAgICAgKHRlc3RYKToKKyAgICAgICAgKHRlc3RZKToKKyAgICAgICAgKiBmYXN0L2pzL21vemls
bGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWluZGlyZWN0
LW5vcm1hbGNvZGUuanM6IEFkZGVkLgorICAgICAgICAoZ2xvYmFsWCk6CisgICAgICAgIChnbG9i
YWxZKToKKyAgICAgICAgKHRlc3RYKToKKyAgICAgICAgKHRlc3RZKToKKyAgICAgICAgKiBmYXN0
L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVy
LWluZGlyZWN0LXN0cmljdGNvZGUuanM6IEFkZGVkLgorICAgICAgICAoZ2xvYmFsWCk6CisgICAg
ICAgIChnbG9iYWxZKToKKyAgICAgICAgKHRlc3RYKToKKyAgICAgICAgKHRlc3RZKToKKyAgICAg
ICAgKiBmYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwt
bm9ybWFsY2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2Fs
bGVyLWRpcmVjdC1zdHJpY3Rjb2RlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemls
bGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWluZGly
ZWN0LW5vcm1hbGNvZGUuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9ldmFs
L3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3Ry
aWN0Y29kZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0
LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5q
czogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4
aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5qczogQWRkZWQu
CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUt
Z2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwt
c3RyaWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuanM6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy91bmRlY2xhcmVkLW5hbWUtaW4tbmVzdGVk
LXN0cmljdC1ldmFsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvZXZhbC91
bmRlY2xhcmVkLW5hbWUtaW4tbmVzdGVkLXN0cmljdC1ldmFsLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL2V2YWwvdW5kZWNsYXJlZC1uYW1lLWluLW5lc3Rl
ZC1zdHJpY3QtZXZhbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC1hc3luYy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9t
b3ppbGxhL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanM6IEFkZGVkLgorICAgICAg
ICAoaXNTdWNjZXNzZnVsbHlQYXJzZWQpOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LW4uanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21v
emlsbGEvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzOiBBZGRlZC4KKyAgICAgICAgKGRlc2NyaXB0
aW9uKToKKyAgICAgICAgKGRlYnVnKToKKyAgICAgICAgKGVzY2FwZUhUTUwpOgorICAgICAgICAo
dGVzdFBhc3NlZCk6CisgICAgICAgICh0ZXN0RmFpbGVkKToKKyAgICAgICAgKGFyZUFycmF5c0Vx
dWFsKToKKyAgICAgICAgKGlzTWludXNaZXJvKToKKyAgICAgICAgKGlzUmVzdWx0Q29ycmVjdCk6
CisgICAgICAgIChzdHJpbmdpZnkpOgorICAgICAgICAoZXZhbEFuZExvZyk6CisgICAgICAgIChz
aG91bGRCZSk6CisgICAgICAgIChzaG91bGRCZVRydWUpOgorICAgICAgICAoc2hvdWxkQmVGYWxz
ZSk6CisgICAgICAgIChzaG91bGRCZU5hTik6CisgICAgICAgIChzaG91bGRCZU51bGwpOgorICAg
ICAgICAoc2hvdWxkQmVFcXVhbFRvU3RyaW5nKToKKyAgICAgICAgKHNob3VsZEV2YWx1YXRlVG8p
OgorICAgICAgICAoc2hvdWxkQmVOb25aZXJvKToKKyAgICAgICAgKHNob3VsZEJlTm9uTnVsbCk6
CisgICAgICAgIChzaG91bGRCZVVuZGVmaW5lZCk6CisgICAgICAgIChzaG91bGRCZURlZmluZWQp
OgorICAgICAgICAoc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwpOgorICAgICAgICAoc2hvdWxk
VGhyb3dUeXBlKToKKyAgICAgICAgKGdjLmVsc2UuZ2NSZWMpOgorICAgICAgICAoZ2MpOgorICAg
ICAgICAoZmluaXNoSlNUZXN0KToKKyAgICAgICAgKHByaW50KToKKyAgICAgICAgKGFzc2VydEVx
KToKKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
OiBBZGRlZC4KKyAgICAgICAgKC5wYXNzKToKKyAgICAgICAgKC5mYWlsKToKKyAgICAgICAgKCNj
b25zb2xlKToKKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvcmVzb3VyY2VzL21vemlsbGEtZXM1
LXNoZWxsLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RMZW5pZW50QW5kU3RyaWN0KToKKyAgICAg
ICAgKGNvbXBsZXRlc05vcm1hbGx5KToKKyAgICAgICAgKHJldHVybnNDb3B5T2YucmV0dXJuLnRy
eSk6CisgICAgICAgIChyZXR1cm5zQ29weU9mKToKKyAgICAgICAgKHBhcnNlc1N1Y2Nlc3NmdWxs
eSk6CisgICAgICAgIChjbGVhbl91bmV2YWwpOgorICAgICAgICAoZGVlcEVxdWFsKToKKyAgICAg
ICAgKiBmYXN0L2pzL21vemlsbGEvcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanM6IEFkZGVkLgor
ICAgICAgICAoQWRkVGVzdENhc2UpOgorICAgICAgICAoc3RhcnRUZXN0KToKKyAgICAgICAgKFRl
c3RDYXNlKToKKyAgICAgICAgKFRlc3RDYXNlLnByb3RvdHlwZS5kdW1wKToKKyAgICAgICAgKFRl
c3RDYXNlLnByb3RvdHlwZS50ZXN0UGFzc2VkKToKKyAgICAgICAgKFRlc3RDYXNlLnByb3RvdHlw
ZS50ZXN0RmFpbGVkKToKKyAgICAgICAgKFRlc3RDYXNlLnByb3RvdHlwZS50ZXN0RGVzY3JpcHRp
b24pOgorICAgICAgICAoKToKKyAgICAgICAgKGV4cGVjdEV4aXRDb2RlKToKKyAgICAgICAgKGlu
U2VjdGlvbik6CisgICAgICAgIChyZXBvcnRGYWlsdXJlKToKKyAgICAgICAgKHByaW50U3RhdHVz
KToKKyAgICAgICAgKHByaW50QnVnTnVtYmVyKToKKyAgICAgICAgKHRvUHJpbnRlZCk6CisgICAg
ICAgIChlc2NhcGVTdHJpbmcpOgorICAgICAgICAoLmFzc2VydEVxKToKKyAgICAgICAgKHJlcG9y
dE1hdGNoKToKKyAgICAgICAgKGVudGVyRnVuYyk6CisgICAgICAgIChleGl0RnVuYyk6CisgICAg
ICAgIChjdXJyZW50RnVuYyk6CisgICAgICAgIChCaWdPLkxpbmVhclJlZ3Jlc3Npb24pOgorICAg
ICAgICAoQmlnTy5kYXRhRGVyaXYpOgorICAgICAgICAoQmlnTyk6CisgICAgICAgIChjb21wYXJl
U291cmNlKToKKyAgICAgICAgKG9wdGlvbnNJbml0KToKKyAgICAgICAgKG9wdGlvbnNQdXNoKToK
KyAgICAgICAgKG9wdGlvbnNQb3ApOgorICAgICAgICAob3B0aW9uc1Jlc2V0KToKKyAgICAgICAg
KGdldFRlc3RDYXNlUmVzdWx0KToKKyAgICAgICAgKC5lbHNlLmR1bXApOgorICAgICAgICAod3Jp
dGVUZXN0Q2FzZVJlc3VsdCk6CisgICAgICAgICh3cml0ZUZvcm1hdHRlZFJlc3VsdCk6CisgICAg
ICAgICh3cml0ZUhlYWRlclRvTG9nKToKKyAgICAgICAgKHN0b3BUZXN0KToKKyAgICAgICAgKGdl
dEZhaWxlZENhc2VzKToKKyAgICAgICAgKEpTVGVzdC53YWl0Rm9yRXhwbGljaXRGaW5pc2gpOgor
ICAgICAgICAoSlNUZXN0LnRlc3RGaW5pc2hlZCk6CisgICAgICAgIChqc1Rlc3REcml2ZXJFbmQp
OgorICAgICAgICAoaml0KToKKyAgICAgICAgKGluUmhpbm8pOgorICAgICAgICAoT3B0TGV2ZWwp
OgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTAuNC4yLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMC40LjIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMC40LjMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjQuMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjYtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjYuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4xLjUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjEuNS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjEzLjEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjEzLjEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4xMy4yLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4xMy4y
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMy4xLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4z
LjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4zLjIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzEx
LjMuMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjQu
MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qv
MTEuNC4xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEu
NC40LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC8xMS40LjQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8x
MS40LjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3Ry
aWN0LzExLjQuNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0
LzEyLjEwLjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEv
c3RyaWN0LzEyLjEwLjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC8xMi4xNC4xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC8xMi4xNC4xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3QvMTIuMi4xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC8xMi4yLjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC8xMy4xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC8xMy4xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3QvMTUuMTAuNy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMv
bW96aWxsYS9zdHJpY3QvMTUuMTAuNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21v
emlsbGEvc3RyaWN0LzE1LjMuNC41LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC8xNS4zLjQuNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2pzL21vemlsbGEvc3RyaWN0LzE1LjMuNS4xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS4zLjUuMS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjMuNS4yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS4zLjUuMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjQuNC4xMi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40LjEyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40LjEzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjQuMTMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjQuNi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUu
NC40LjYuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40
LjQuOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJp
Y3QvMTUuNC40LjguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC8xNS40LjQuOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3QvMTUuNC40LjkuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC8xNS40LjUuMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMv
bW96aWxsYS9zdHJpY3QvMTUuNC41LjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC8xNS41LjUuMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNS41LjEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC8xNS41LjUuMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNS41LjIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC84LjEyLjUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzguMTIuNS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzguMTIuNy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvOC4xMi43Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvOC43LjItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0LzguNy4yLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvQi4xLjEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L0IuMS4xLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvQi4xLjItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L0IuMS4yLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvYXNzaWduLXRvLWNhbGxlZS1uYW1lLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9hc3NpZ24t
dG8tY2FsbGVlLW5hbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC9kaXJlY3RpdmUtcHJvbG9ndWUtMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L2RpcmVjdGl2ZS1wcm9sb2d1ZS0wMS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L2V2YWwtdmFyaWFibGUtZW52aXJv
bm1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3Ry
aWN0L2V2YWwtdmFyaWFibGUtZW52aXJvbm1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC9mdW5jdGlvbi1uYW1lLWFyaXR5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9mdW5jdGlvbi1uYW1lLWFyaXR5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvcHJpbWl0aXZl
LXRoaXMtbm8td3JpdGViYWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9q
cy9tb3ppbGxhL3N0cmljdC9wcmltaXRpdmUtdGhpcy1uby13cml0ZWJhY2suaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9yZWdyZXNzLTUzMjA0MS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvcmVncmVzcy01
MzIwNDEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9yZWdy
ZXNzLTUzMjI1NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3QvcmVncmVzcy01MzIyNTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC9yZWdyZXNzLTU5OTE1OS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvcmVncmVzcy01OTkxNTkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTAuNC4yLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGYpOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2Ny
aXB0LXRlc3RzLzEwLjQuMy5qczogQWRkZWQuCisgICAgICAgICgpOgorICAgICAgICAobGVuaWVu
dCk6CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTAuNi5q
czogQWRkZWQuCisgICAgICAgIChjYWxsRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBmYXN0L2pz
L21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS4xLjUuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjEzLjEuanM6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjEzLjIuanM6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzEx
LjMuMS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQt
dGVzdHMvMTEuMy4yLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0
L3NjcmlwdC10ZXN0cy8xMS40LjEuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjQuNC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9q
cy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTEuNC41LmpzOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMi4xMC4xLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMi4xNC4xLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8x
Mi4yLjEuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0
LXRlc3RzLzEzLjEuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qv
c2NyaXB0LXRlc3RzLzE1LjEwLjcuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzE1LjMuNC41LmpzOiBBZGRlZC4KKyAgICAgICAgKHN0cmlj
dCk6CisgICAgICAgIChsZW5pZW50KToKKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0
L3NjcmlwdC10ZXN0cy8xNS4zLjUuMS5qczogQWRkZWQuCisgICAgICAgIChmbik6CisgICAgICAg
ICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuMy41LjIuanM6IEFkZGVk
LgorICAgICAgICAoZm4pOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0
LXRlc3RzLzE1LjQuNC4xMi5qczogQWRkZWQuCisgICAgICAgIChhcnIpOgorICAgICAgICAoKToK
KyAgICAgICAgKGFnYXApOgorICAgICAgICAob2dhcCk6CisgICAgICAgICogZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNC40LjEzLmpzOiBBZGRlZC4KKyAgICAgICAgKGFy
cik6CisgICAgICAgICgpOgorICAgICAgICAoYWdhcCk6CisgICAgICAgIChvZ2FwKToKKyAgICAg
ICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40LjQuNi5qczogQWRk
ZWQuCisgICAgICAgIChhcnIpOgorICAgICAgICAoKToKKyAgICAgICAgKiBmYXN0L2pzL21vemls
bGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40LjQuOC5qczogQWRkZWQuCisgICAgICAgIChhcnIp
OgorICAgICAgICAoKToKKyAgICAgICAgKGFnYXApOgorICAgICAgICAob2dhcCk6CisgICAgICAg
ICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNC40LjkuanM6IEFkZGVk
LgorICAgICAgICAoYXJyKToKKyAgICAgICAgKCk6CisgICAgICAgIChhZ2FwKToKKyAgICAgICAg
KG9nYXApOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzE1
LjQuNS4xLmpzOiBBZGRlZC4KKyAgICAgICAgKGFycik6CisgICAgICAgIChhZGR4KToKKyAgICAg
ICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS41LjUuMS5qczogQWRk
ZWQuCisgICAgICAgIChzdHIpOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2Ny
aXB0LXRlc3RzLzE1LjUuNS4yLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEv
c3RyaWN0L3NjcmlwdC10ZXN0cy84LjEyLjUuanM6IEFkZGVkLgorICAgICAgICAob2JqKToKKyAg
ICAgICAgKGFycik6CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVz
dHMvOC4xMi43LmpzOiBBZGRlZC4KKyAgICAgICAgKHNldHVwKToKKyAgICAgICAgKiBmYXN0L2pz
L21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy84LjcuMi5qczogQWRkZWQuCisgICAgICAgIChv
YmopOgorICAgICAgICAoaW5fc3RyaWN0X3dpdGgpOgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3Qvc2NyaXB0LXRlc3RzL0IuMS4xLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pz
L21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9CLjEuMi5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvYXNzaWduLXRv
LWNhbGxlZS1uYW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKGYpOgorICAgICAgICAoZjIpOgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL2RpcmVjdGl2ZS1wcm9s
b2d1ZS0wMS5qczogQWRkZWQuCisgICAgICAgIChub3RBbkVycm9yMy5nKToKKyAgICAgICAgKG5v
dEFuRXJyb3IzKToKKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0
cy9ldmFsLXZhcmlhYmxlLWVudmlyb25tZW50LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pz
L21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9mdW5jdGlvbi1uYW1lLWFyaXR5LmpzOiBBZGRl
ZC4KKyAgICAgICAgKGZuLnJldHVybi5mKToKKyAgICAgICAgKGZuKToKKyAgICAgICAgKiBmYXN0
L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9wcmltaXRpdmUtdGhpcy1uby13cml0ZWJh
Y2suanM6IEFkZGVkLgorICAgICAgICAoZi5TdHJpbmcucHJvdG90eXBlLm0pOgorICAgICAgICAq
IGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL3JlZ3Jlc3MtNTMyMDQxLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGYpOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2Ny
aXB0LXRlc3RzL3JlZ3Jlc3MtNTMyMjU0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21v
emlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9yZWdyZXNzLTU5OTE1OS5qczogQWRkZWQuCisgICAg
ICAgICh0ZXN0LkMpOgorICAgICAgICAodGVzdCk6CisgICAgICAgICogZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9zY3JpcHQtdGVzdHMvc3RyaWN0LXRoaXMtaXMtbm90LXRydXRoeS5qczogQWRkZWQu
CisgICAgICAgIChmKToKKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10
ZXN0cy90aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJlY3Vyc2lvbi5qczogQWRkZWQuCisg
ICAgICAgIChjYWxsZWVUaGlzRnVuKToKKyAgICAgICAgKGNhbGxlZVRoaXNTdHJpY3RGdW4pOgor
ICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL3VuYnJhbmQtdGhp
cy5qczogQWRkZWQuCisgICAgICAgIChzdHJpY3QudGhpcy5pbnNlcnQpOgorICAgICAgICAoc3Ry
aWN0LmJhcik6CisgICAgICAgIChzdHJpY3QpOgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9z
dHJpY3Qvc3RyaWN0LXRoaXMtaXMtbm90LXRydXRoeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3Qvc3RyaWN0LXRoaXMtaXMtbm90LXRydXRoeS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3RoaXMtZm9yLWZ1
bmN0aW9uLWV4cHJlc3Npb24tcmVjdXJzaW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9qcy9tb3ppbGxhL3N0cmljdC90aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJl
Y3Vyc2lvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL21vemlsbGEvc3RyaWN0L3Vu
YnJhbmQtdGhpcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvbW96aWxs
YS9zdHJpY3QvdW5icmFuZC10aGlzLmh0bWw6IEFkZGVkLgorCisyMDExLTAyLTE2ICBPbGl2ZXIg
SHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2Fy
ZW4uCiAKICAgICAgICAgSW5jb3JyZWN0IGhhbmRsaW5nIG9mIGdsb2JhbCB3cml0ZXMgaW4gZHlu
YW1pYyBjb250ZXh0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2
YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLW5v
cm1hbGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Uz
M2Q3Nzc5YmRjYjhlZDYwNjNjNjMzNmFjYWQ5NTFmNjQ0NDZmZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNh
bGxlci1kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorNTE0
NTY4OiBldmFsIGluIGFsbCBpdHMgbXlyaWFkIGZsYXZvcnMKK1BBU1MgMiA9PT0gMgorUEFTUyAx
NyA9PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFTUyA0ID09PSA0CitQQVNTIDE3ID09PSAxNworUEFT
UyA3ID09PSA3CitQQVNTIDcgPT09IDcKK1BBU1MgMTcgPT09IDE3CitQQVNTIDkgPT09IDkKK1BB
U1MgOSA9PT0gOQorUEFTUyAxNyA9PT0gMTcKK1BBU1MgZmFsc2UgPT09IGZhbHNlCitQQVNTIDkg
PT09IDkKK1BBU1MgOSA9PT0gOQorUEFTUyAxNyA9PT0gMTcKK1BBU1MgMjMgPT09IDIzCitQQVNT
IDIzID09PSAyMworUEFTUyAxNyA9PT0gMTcKK1BBU1MgNDIgPT09IDQyCitQQVNTIDQyID09PSA0
MgorUEFTUyA1ID09PSA1CitQQVNTIDUgPT09IDUKK1BBU1MgNDIgPT09IDQyCitQQVNTIDggPT09
IDgKK1BBU1MgOCA9PT0gOAorUEFTUyA0MiA9PT0gNDIKK1BBU1MgMiA9PT0gMgorUEFTUyAyID09
PSAyCitQQVNTIDQyID09PSA0MgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIDQyID09PSA0Mgor
UEFTUyA0MiA9PT0gNDIKK1BBU1MgNDIgPT09IDQyCitQQVNTIDcxID09PSA3MQorUEFTUyA3MSA9
PT0gNzEKK1BBU1MgNzEgPT09IDcxCitUZXN0cyBjb21wbGV0ZSEKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItZGlyZWN0
LW5vcm1hbGNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1
c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkzMjk2MGE2OWQxMDZkZDM5ZjY5ZjBmZDlhZWNkOTlhYWYwMGMwZTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1ub3Jt
YWxjYWxsZXItZGlyZWN0LW5vcm1hbGNvZGUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZnVuLW5v
cm1hbGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZl
LWZ1bi1ub3JtYWxjYWxsZXItZGlyZWN0LXN0cmljdGNvZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWRp
cmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTY1MTNhNGRjYzhjOWRk
NzU2OTU0ZWNiMmMyMDc4Y2VlYjlkNTVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWRpcmVjdC1z
dHJpY3Rjb2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyIEBACis1MTQ1Njg6IGV2YWwgaW4g
YWxsIGl0cyBteXJpYWQgZmxhdm9ycworUEFTUyAyID09PSAyCitQQVNTIDE3ID09PSAxNworUEFT
UyA0ID09PSA0CitQQVNTIDIgPT09IDIKK1BBU1MgMTcgPT09IDE3CitQQVNTIDQgPT09IDQKK1BB
U1MgNyA9PT0gNworUEFTUyAxNyA9PT0gMTcKK1BBU1MgOSA9PT0gOQorUEFTUyA3ID09PSA3CitQ
QVNTIDE3ID09PSAxNworUEFTUyBTeW50YXhFcnJvciA9PT0gU3ludGF4RXJyb3IKK1BBU1MgOSA9
PT0gOQorUEFTUyA3ID09PSA3CitQQVNTIDE3ID09PSAxNworUEFTUyAyMyA9PT0gMjMKK1BBU1Mg
NyA9PT0gNworUEFTUyAxNyA9PT0gMTcKK1BBU1MgNDIgPT09IDQyCitQQVNTIDQyID09PSA0Mgor
UEFTUyA1ID09PSA1CitQQVNTIDQyID09PSA0MgorUEFTUyA0MiA9PT0gNDIKK1BBU1MgNSA9PT0g
NQorUEFTUyA4ID09PSA4CitQQVNTIDggPT09IDgKK1BBU1MgMiA9PT0gMgorUEFTUyA4ID09PSA4
CitQQVNTIDggPT09IDgKK1BBU1MgU3ludGF4RXJyb3IgPT09IFN5bnRheEVycm9yCitQQVNTIDIg
PT09IDIKK1BBU1MgOCA9PT0gOAorUEFTUyA4ID09PSA4CitQQVNTIDcxID09PSA3MQorUEFTUyA4
ID09PSA4CitQQVNTIDggPT09IDgKK1Rlc3RzIGNvbXBsZXRlIQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1kaXJlY3Qt
c3RyaWN0Y29kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVz
dGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWRpcmVjdC1zdHJpY3Rjb2RlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2Q1ZjQ4MDFhZjYyZTc4Mjg0MDNkOGI0NTM3Yzk2NTkyZjlkODc3ZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLW5vcm1h
bGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tbm9y
bWFsY2FsbGVyLWRpcmVjdC1zdHJpY3Rjb2RlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUt
ZnVuLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1p
bmRpcmVjdC1ub3JtYWxjb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDJkNGY3ODI1ZTE1
MTA3NmEyMzFlY2I0ZmI3MTllMDk2YjJjM2ViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWluZGly
ZWN0LW5vcm1hbGNvZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDIgQEAKKzUxNDU2ODogZXZh
bCBpbiBhbGwgaXRzIG15cmlhZCBmbGF2b3JzCitQQVNTIDIgPT09IDIKK1BBU1MgMTcgPT09IDE3
CitQQVNTIDQgPT09IDQKK1BBU1MgMiA9PT0gMgorUEFTUyA0ID09PSA0CitQQVNTIDQgPT09IDQK
K1BBU1MgNyA9PT0gNworUEFTUyA0ID09PSA0CitQQVNTIDkgPT09IDkKK1BBU1MgNyA9PT0gNwor
UEFTUyA5ID09PSA5CitQQVNTIGZhbHNlID09PSBmYWxzZQorUEFTUyA5ID09PSA5CitQQVNTIDcg
PT09IDcKK1BBU1MgOSA9PT0gOQorUEFTUyAyMyA9PT0gMjMKK1BBU1MgNyA9PT0gNworUEFTUyAy
MyA9PT0gMjMKK1BBU1MgNDIgPT09IDQyCitQQVNTIDQyID09PSA0MgorUEFTUyA1ID09PSA1CitQ
QVNTIDUgPT09IDUKK1BBU1MgNSA9PT0gNQorUEFTUyA4ID09PSA4CitQQVNTIDggPT09IDgKK1BB
U1MgOCA9PT0gOAorUEFTUyAyID09PSAyCitQQVNTIDIgPT09IDIKK1BBU1MgMiA9PT0gMgorUEFT
UyBmYWxzZSA9PT0gZmFsc2UKK1BBU1MgMiA9PT0gMgorUEFTUyAyID09PSAyCitQQVNTIDIgPT09
IDIKK1BBU1MgNzEgPT09IDcxCitQQVNTIDcxID09PSA3MQorUEFTUyA3MSA9PT0gNzEKK1Rlc3Rz
IGNvbXBsZXRlIQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1
c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItaW5k
aXJlY3Qtbm9ybWFsY29kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4YzQ4ZTE3ZmI0NTgwZjViODg0YWU1
NjdlY2NlNTc4NjJmMTljMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtbm9ybWFs
Y29kZS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWluZGlyZWN0LW5v
cm1hbGNvZGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWlu
ZGlyZWN0LXN0cmljdGNvZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxNjUxM2E0ZGNjOGM5ZGQ3NTY5NTRlY2IyYzIwNzhj
ZWViOWQ1NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
ZXZhbC9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3RyaWN0Y29kZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorNTE0NTY4OiBldmFsIGluIGFsbCBpdHMgbXlyaWFk
IGZsYXZvcnMKK1BBU1MgMiA9PT0gMgorUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFT
UyAyID09PSAyCitQQVNTIDE3ID09PSAxNworUEFTUyA0ID09PSA0CitQQVNTIDcgPT09IDcKK1BB
U1MgMTcgPT09IDE3CitQQVNTIDkgPT09IDkKK1BBU1MgNyA9PT0gNworUEFTUyAxNyA9PT0gMTcK
K1BBU1MgU3ludGF4RXJyb3IgPT09IFN5bnRheEVycm9yCitQQVNTIDkgPT09IDkKK1BBU1MgNyA9
PT0gNworUEFTUyAxNyA9PT0gMTcKK1BBU1MgMjMgPT09IDIzCitQQVNTIDcgPT09IDcKK1BBU1Mg
MTcgPT09IDE3CitQQVNTIDQyID09PSA0MgorUEFTUyA0MiA9PT0gNDIKK1BBU1MgNSA9PT0gNQor
UEFTUyA0MiA9PT0gNDIKK1BBU1MgNDIgPT09IDQyCitQQVNTIDUgPT09IDUKK1BBU1MgOCA9PT0g
OAorUEFTUyA4ID09PSA4CitQQVNTIDIgPT09IDIKK1BBU1MgOCA9PT0gOAorUEFTUyA4ID09PSA4
CitQQVNTIFN5bnRheEVycm9yID09PSBTeW50YXhFcnJvcgorUEFTUyAyID09PSAyCitQQVNTIDgg
PT09IDgKK1BBU1MgOCA9PT0gOAorUEFTUyA3MSA9PT0gNzEKK1BBU1MgOCA9PT0gOAorUEFTUyA4
ID09PSA4CitUZXN0cyBjb21wbGV0ZSEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemls
bGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3RyaWN0Y29kZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9y
bWFsY2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmJlY2E0ZDVi
MDI1OGU1YjcyZjkyNGEzMzQzMDMyOTA3NDYxMDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWlu
ZGlyZWN0LXN0cmljdGNvZGUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxl
ci1pbmRpcmVjdC1zdHJpY3Rjb2RlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0
cmljdGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXItZGlyZWN0LW5v
cm1hbGNvZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxNjUxM2E0ZGNjOGM5ZGQ3NTY5NTRl
Y2IyYzIwNzhjZWViOWQ1NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXItZGlyZWN0LW5vcm1hbGNv
ZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDIgQEAKKzUxNDU2ODogZXZhbCBpbiBhbGwgaXRz
IG15cmlhZCBmbGF2b3JzCitQQVNTIDIgPT09IDIKK1BBU1MgMTcgPT09IDE3CitQQVNTIDQgPT09
IDQKK1BBU1MgMiA9PT0gMgorUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFTUyA3ID09
PSA3CitQQVNTIDE3ID09PSAxNworUEFTUyA5ID09PSA5CitQQVNTIDcgPT09IDcKK1BBU1MgMTcg
PT09IDE3CitQQVNTIFN5bnRheEVycm9yID09PSBTeW50YXhFcnJvcgorUEFTUyA5ID09PSA5CitQ
QVNTIDcgPT09IDcKK1BBU1MgMTcgPT09IDE3CitQQVNTIDIzID09PSAyMworUEFTUyA3ID09PSA3
CitQQVNTIDE3ID09PSAxNworUEFTUyA0MiA9PT0gNDIKK1BBU1MgNDIgPT09IDQyCitQQVNTIDUg
PT09IDUKK1BBU1MgNDIgPT09IDQyCitQQVNTIDQyID09PSA0MgorUEFTUyA1ID09PSA1CitQQVNT
IDggPT09IDgKK1BBU1MgOCA9PT0gOAorUEFTUyAyID09PSAyCitQQVNTIDggPT09IDgKK1BBU1Mg
OCA9PT0gOAorUEFTUyBTeW50YXhFcnJvciA9PT0gU3ludGF4RXJyb3IKK1BBU1MgMiA9PT0gMgor
UEFTUyA4ID09PSA4CitQQVNTIDggPT09IDgKK1BBU1MgNzEgPT09IDcxCitQQVNTIDggPT09IDgK
K1BBU1MgOCA9PT0gOAorVGVzdHMgY29tcGxldGUhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9q
cy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWRpcmVjdC1ub3JtYWxj
b2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1
bi1zdHJpY3RjYWxsZXItZGlyZWN0LW5vcm1hbGNvZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDNhMDNk
NGYwYjIzNTVjMjFlMjcxNjQ0MGEzOGZkMjExZWY3ZDIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVy
LWRpcmVjdC1ub3JtYWxjb2RlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxs
ZXItZGlyZWN0LW5vcm1hbGNvZGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tc3Ry
aWN0Y2FsbGVyLWRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1kaXJlY3Qtc3Ry
aWN0Y29kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE2NTEzYTRkY2M4YzlkZDc1Njk1NGVj
YjJjMjA3OGNlZWI5ZDU1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29k
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorNTE0NTY4OiBldmFsIGluIGFsbCBpdHMg
bXlyaWFkIGZsYXZvcnMKK1BBU1MgMiA9PT0gMgorUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0g
NAorUEFTUyAyID09PSAyCitQQVNTIDE3ID09PSAxNworUEFTUyA0ID09PSA0CitQQVNTIDcgPT09
IDcKK1BBU1MgMTcgPT09IDE3CitQQVNTIDkgPT09IDkKK1BBU1MgNyA9PT0gNworUEFTUyAxNyA9
PT0gMTcKK1BBU1MgU3ludGF4RXJyb3IgPT09IFN5bnRheEVycm9yCitQQVNTIDkgPT09IDkKK1BB
U1MgNyA9PT0gNworUEFTUyAxNyA9PT0gMTcKK1BBU1MgMjMgPT09IDIzCitQQVNTIDcgPT09IDcK
K1BBU1MgMTcgPT09IDE3CitQQVNTIDQyID09PSA0MgorUEFTUyA0MiA9PT0gNDIKK1BBU1MgNSA9
PT0gNQorUEFTUyA0MiA9PT0gNDIKK1BBU1MgNDIgPT09IDQyCitQQVNTIDUgPT09IDUKK1BBU1Mg
OCA9PT0gOAorUEFTUyA4ID09PSA4CitQQVNTIDIgPT09IDIKK1BBU1MgOCA9PT0gOAorUEFTUyA4
ID09PSA4CitQQVNTIFN5bnRheEVycm9yID09PSBTeW50YXhFcnJvcgorUEFTUyAyID09PSAyCitQ
QVNTIDggPT09IDgKK1BBU1MgOCA9PT0gOAorUEFTUyA3MSA9PT0gNzEKK1BBU1MgOCA9PT0gOAor
UEFTUyA4ID09PSA4CitUZXN0cyBjb21wbGV0ZSEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXItZGlyZWN0LXN0cmljdGNv
ZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVu
LXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhMjdhMjZl
ZWY2MWU1YmVkYmNjMjA2YjQ5NTk2YTgyZDU1MmVlNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXIt
ZGlyZWN0LXN0cmljdGNvZGUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxl
ci1kaXJlY3Qtc3RyaWN0Y29kZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1zdHJp
Y3RjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXItaW5kaXJlY3Qt
bm9ybWFsY29kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQyZDRmNzgyNWUxNTEwNzZhMjMx
ZWNiNGZiNzE5ZTA5NmIyYzNlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1pbmRpcmVjdC1ub3Jt
YWxjb2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQyIEBACis1MTQ1Njg6IGV2YWwgaW4gYWxs
IGl0cyBteXJpYWQgZmxhdm9ycworUEFTUyAyID09PSAyCitQQVNTIDE3ID09PSAxNworUEFTUyA0
ID09PSA0CitQQVNTIDIgPT09IDIKK1BBU1MgNCA9PT0gNAorUEFTUyA0ID09PSA0CitQQVNTIDcg
PT09IDcKK1BBU1MgNCA9PT0gNAorUEFTUyA5ID09PSA5CitQQVNTIDcgPT09IDcKK1BBU1MgOSA9
PT0gOQorUEFTUyBmYWxzZSA9PT0gZmFsc2UKK1BBU1MgOSA9PT0gOQorUEFTUyA3ID09PSA3CitQ
QVNTIDkgPT09IDkKK1BBU1MgMjMgPT09IDIzCitQQVNTIDcgPT09IDcKK1BBU1MgMjMgPT09IDIz
CitQQVNTIDQyID09PSA0MgorUEFTUyA0MiA9PT0gNDIKK1BBU1MgNSA9PT0gNQorUEFTUyA1ID09
PSA1CitQQVNTIDUgPT09IDUKK1BBU1MgOCA9PT0gOAorUEFTUyA4ID09PSA4CitQQVNTIDggPT09
IDgKK1BBU1MgMiA9PT0gMgorUEFTUyAyID09PSAyCitQQVNTIDIgPT09IDIKK1BBU1MgZmFsc2Ug
PT09IGZhbHNlCitQQVNTIDIgPT09IDIKK1BBU1MgMiA9PT0gMgorUEFTUyAyID09PSAyCitQQVNT
IDcxID09PSA3MQorUEFTUyA3MSA9PT0gNzEKK1BBU1MgNzEgPT09IDcxCitUZXN0cyBjb21wbGV0
ZSEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWZ1
bi1zdHJpY3RjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWluZGlyZWN0LW5v
cm1hbGNvZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDZjNDUxOTllM2E0MGQ2NjM2M2Y4MTE4MmFiY2U2
MWExY2Q5MDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L2V2YWwvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWluZGlyZWN0LW5vcm1hbGNvZGUuaHRt
bApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2Ny
aXB0LXRlc3RzL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2Rl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1pbmRpcmVjdC1z
dHJpY3Rjb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFs
L2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMTY1MTNhNGRjYzhjOWRkNzU2OTU0ZWNiMmMyMDc4Y2VlYjlkNTVl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXho
YXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNDIgQEAKKzUxNDU2ODogZXZhbCBpbiBhbGwgaXRzIG15cmlhZCBmbGF2b3Jz
CitQQVNTIDIgPT09IDIKK1BBU1MgMTcgPT09IDE3CitQQVNTIDQgPT09IDQKK1BBU1MgMiA9PT0g
MgorUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFTUyA3ID09PSA3CitQQVNTIDE3ID09
PSAxNworUEFTUyA5ID09PSA5CitQQVNTIDcgPT09IDcKK1BBU1MgMTcgPT09IDE3CitQQVNTIFN5
bnRheEVycm9yID09PSBTeW50YXhFcnJvcgorUEFTUyA5ID09PSA5CitQQVNTIDcgPT09IDcKK1BB
U1MgMTcgPT09IDE3CitQQVNTIDIzID09PSAyMworUEFTUyA3ID09PSA3CitQQVNTIDE3ID09PSAx
NworUEFTUyA0MiA9PT0gNDIKK1BBU1MgNDIgPT09IDQyCitQQVNTIDUgPT09IDUKK1BBU1MgNDIg
PT09IDQyCitQQVNTIDQyID09PSA0MgorUEFTUyA1ID09PSA1CitQQVNTIDggPT09IDgKK1BBU1Mg
OCA9PT0gOAorUEFTUyAyID09PSAyCitQQVNTIDggPT09IDgKK1BBU1MgOCA9PT0gOAorUEFTUyBT
eW50YXhFcnJvciA9PT0gU3ludGF4RXJyb3IKK1BBU1MgMiA9PT0gMgorUEFTUyA4ID09PSA4CitQ
QVNTIDggPT09IDgKK1BBU1MgNzEgPT09IDcxCitQQVNTIDggPT09IDgKK1BBU1MgOCA9PT0gOAor
VGVzdHMgY29tcGxldGUhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwv
ZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxl
ci1pbmRpcmVjdC1zdHJpY3Rjb2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjMwYjA4YThhYzNjOGExNmMx
MTFkNjgwM2YxYWU1ODkxYjJlYTg0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZnVuLXN0cmljdGNhbGxlci1pbmRpcmVjdC1z
dHJpY3Rjb2RlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXItaW5kaXJl
Y3Qtc3RyaWN0Y29kZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxj
YWxsZXItZGlyZWN0LW5vcm1hbGNvZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9q
cy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWRpcmVjdC1ub3Jt
YWxjb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODBiMzg1NDY3YThkODM4Yjk2ZWVlNTM5
NzYzZWQ1ZmViOGY3MmM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWRpcmVjdC1ub3JtYWxj
b2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACis1MTQ1Njg6IGV2YWwgaW4gYWxsIGl0
cyBteXJpYWQgZmxhdm9ycworUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFTUyA0ID09
PSA0CitQQVNTIDcgPT09IDcKK1BBU1MgNyA9PT0gNworUEFTUyA5ID09PSA5CitQQVNTIDkgPT09
IDkKK1BBU1MgZmFsc2UgPT09IGZhbHNlCitQQVNTIDkgPT09IDkKK1BBU1MgOSA9PT0gOQorUEFT
UyAyMyA9PT0gMjMKK1BBU1MgMjMgPT09IDIzCitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZl
cmVuY2VFcnJvcgorUEFTUyA1ID09PSA1CitQQVNTIDUgPT09IDUKK1BBU1MgOCA9PT0gOAorUEFT
UyA4ID09PSA4CitQQVNTIDIgPT09IDIKK1BBU1MgMiA9PT0gMgorUEFTUyB0cnVlID09PSB0cnVl
CitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZlcmVuY2VFcnJvcgorUEFTUyBSZWZlcmVuY2VF
cnJvciA9PT0gUmVmZXJlbmNlRXJyb3IKK1BBU1MgNzEgPT09IDcxCitQQVNTIDcxID09PSA3MQor
VGVzdHMgY29tcGxldGUhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwv
ZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxj
YWxsZXItZGlyZWN0LW5vcm1hbGNvZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTk5ZGQwNjkyMTBhNjg3
ZGIzOWM2OTBkYjY0ODAyM2E4MTE3YzhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWRpcmVj
dC1ub3JtYWxjb2RlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXIt
ZGlyZWN0LW5vcm1hbGNvZGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9y
bWFsY2FsbGVyLWRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxlci1kaXJlY3Qt
c3RyaWN0Y29kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2VjM2EyZWM5OWU5N2YzODRlMzEy
MzI2YjE4NzkxNTRhYWRhZDNkNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxlci1kaXJlY3Qtc3Ry
aWN0Y29kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorNTE0NTY4OiBldmFsIGluIGFs
bCBpdHMgbXlyaWFkIGZsYXZvcnMKK1BBU1MgMTcgPT09IDE3CitQQVNTIDQgPT09IDQKK1BBU1Mg
MTcgPT09IDE3CitQQVNTIDQgPT09IDQKK1BBU1MgNyA9PT0gNworUEFTUyA5ID09PSA5CitQQVNT
IDcgPT09IDcKK1BBU1MgU3ludGF4RXJyb3IgPT09IFN5bnRheEVycm9yCitQQVNTIDkgPT09IDkK
K1BBU1MgNyA9PT0gNworUEFTUyAyMyA9PT0gMjMKK1BBU1MgNyA9PT0gNworUEFTUyBSZWZlcmVu
Y2VFcnJvciA9PT0gUmVmZXJlbmNlRXJyb3IKK1BBU1MgNSA9PT0gNQorUEFTUyBSZWZlcmVuY2VF
cnJvciA9PT0gUmVmZXJlbmNlRXJyb3IKK1BBU1MgNSA9PT0gNQorUEFTUyA4ID09PSA4CitQQVNT
IDIgPT09IDIKK1BBU1MgOCA9PT0gOAorUEFTUyBTeW50YXhFcnJvciA9PT0gU3ludGF4RXJyb3IK
K1BBU1MgMiA9PT0gMgorUEFTUyA4ID09PSA4CitQQVNTIDcxID09PSA3MQorUEFTUyA4ID09PSA4
CitUZXN0cyBjb21wbGV0ZSEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZh
bC9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItZGlyZWN0LXN0cmljdGNvZGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1h
bGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmMjVhNzEyNmEzOGJi
YjQ2ZGMxNmE4MWNiOGJiMGE1ZGY5M2UxYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItZGly
ZWN0LXN0cmljdGNvZGUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxl
ci1kaXJlY3Qtc3RyaWN0Y29kZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1u
b3JtYWxjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItaW5k
aXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgwYjM4NTQ2N2E4ZDgz
OGI5NmVlZTUzOTc2M2VkNWZlYjhmNzJjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxlci1pbmRp
cmVjdC1ub3JtYWxjb2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACis1MTQ1Njg6IGV2
YWwgaW4gYWxsIGl0cyBteXJpYWQgZmxhdm9ycworUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0g
NAorUEFTUyA0ID09PSA0CitQQVNTIDcgPT09IDcKK1BBU1MgNyA9PT0gNworUEFTUyA5ID09PSA5
CitQQVNTIDkgPT09IDkKK1BBU1MgZmFsc2UgPT09IGZhbHNlCitQQVNTIDkgPT09IDkKK1BBU1Mg
OSA9PT0gOQorUEFTUyAyMyA9PT0gMjMKK1BBU1MgMjMgPT09IDIzCitQQVNTIFJlZmVyZW5jZUVy
cm9yID09PSBSZWZlcmVuY2VFcnJvcgorUEFTUyA1ID09PSA1CitQQVNTIDUgPT09IDUKK1BBU1Mg
OCA9PT0gOAorUEFTUyA4ID09PSA4CitQQVNTIDIgPT09IDIKK1BBU1MgMiA9PT0gMgorUEFTUyB0
cnVlID09PSB0cnVlCitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZlcmVuY2VFcnJvcgorUEFT
UyBSZWZlcmVuY2VFcnJvciA9PT0gUmVmZXJlbmNlRXJyb3IKK1BBU1MgNzEgPT09IDcxCitQQVNT
IDcxID09PSA3MQorVGVzdHMgY29tcGxldGUhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWluZGlyZWN0LW5vcm1h
bGNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUt
Z2xvYmFsLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTZkNjZiN2M5OWI4ZWUwOTcwYzc0NThkZjk4YjU1MDhhNmM2NDc5YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5v
cm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWds
b2JhbC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9l
eGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3RyaWN0Y29kZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2Jh
bC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3RyaWN0Y29kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2VjM2EyZWM5OWU5N2YzODRlMzEyMzI2YjE4NzkxNTRhYWRhZDNkNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFs
LW5vcm1hbGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMwIEBACis1MTQ1Njg6IGV2YWwgaW4gYWxsIGl0cyBteXJpYWQgZmxhdm9ycworUEFTUyAxNyA9
PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFTUyA3
ID09PSA3CitQQVNTIDkgPT09IDkKK1BBU1MgNyA9PT0gNworUEFTUyBTeW50YXhFcnJvciA9PT0g
U3ludGF4RXJyb3IKK1BBU1MgOSA9PT0gOQorUEFTUyA3ID09PSA3CitQQVNTIDIzID09PSAyMwor
UEFTUyA3ID09PSA3CitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZlcmVuY2VFcnJvcgorUEFT
UyA1ID09PSA1CitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZlcmVuY2VFcnJvcgorUEFTUyA1
ID09PSA1CitQQVNTIDggPT09IDgKK1BBU1MgMiA9PT0gMgorUEFTUyA4ID09PSA4CitQQVNTIFN5
bnRheEVycm9yID09PSBTeW50YXhFcnJvcgorUEFTUyAyID09PSAyCitQQVNTIDggPT09IDgKK1BB
U1MgNzEgPT09IDcxCitQQVNTIDggPT09IDgKK1Rlc3RzIGNvbXBsZXRlIQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxl
ci1pbmRpcmVjdC1zdHJpY3Rjb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
ZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3RyaWN0Y29kZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZmYTFlNGYyNmViZTgxMWIzMmVjNDcxNDI4MGVkOTRkZDZmMjUxNDkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhh
dXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3RyaWN0Y29kZS5odG1sCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9q
cy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWRpcmVjdC1ub3Jt
YWxjb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4
aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTJlYjM1ODQxZjY0ZTAyZjBmYTU2MjBjZWU3MzA1ZjIwYzAzM2MxOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1
c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzMSBAQAorNTE0NTY4OiBldmFsIGluIGFsbCBpdHMgbXlyaWFkIGZsYXZvcnMK
K1BBU1MgMTcgPT09IDE3CitQQVNTIDQgPT09IDQKK1BBU1MgMTcgPT09IDE3CitQQVNTIDQgPT09
IDQKK1BBU1MgNyA9PT0gNworUEFTUyA5ID09PSA5CitQQVNTIDcgPT09IDcKK1BBU1MgU3ludGF4
RXJyb3IgPT09IFN5bnRheEVycm9yCitQQVNTIDkgPT09IDkKK1BBU1MgNyA9PT0gNworUEFTUyAy
MyA9PT0gMjMKK1BBU1MgNyA9PT0gNworUEFTUyBSZWZlcmVuY2VFcnJvciA9PT0gUmVmZXJlbmNl
RXJyb3IKK1BBU1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5jZUVycm9yCitQQVNTIDUgPT09
IDUKK1BBU1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5jZUVycm9yCitQQVNTIDUgPT09IDUK
K1BBU1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5jZUVycm9yCitQQVNTIDIgPT09IDIKK1BB
U1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5jZUVycm9yCitQQVNTIFN5bnRheEVycm9yID09
PSBTeW50YXhFcnJvcgorUEFTUyAyID09PSAyCitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZl
cmVuY2VFcnJvcgorUEFTUyA3MSA9PT0gNzEKK1BBU1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVy
ZW5jZUVycm9yCitUZXN0cyBjb21wbGV0ZSEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1zdHJpY3RjYWxsZXItZGlyZWN0LW5vcm1hbGNv
ZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xv
YmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlZDc3
MTFhZWRkN2JkNjYwY2U2MmZkYmEzZWZjNzdmMGNjMGJiMGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZlLWdsb2JhbC1zdHJpY3Rj
YWxsZXItZGlyZWN0LW5vcm1hbGNvZGUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0
cmljdGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhhdXN0aXZl
LWdsb2JhbC1zdHJpY3RjYWxsZXItZGlyZWN0LXN0cmljdGNvZGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2Fs
bGVyLWRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MmViMzU4NDFm
NjRlMDJmMGZhNTYyMGNlZTczMDVmMjBjMDMzYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVy
LWRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMxIEBACis1MTQ1Njg6
IGV2YWwgaW4gYWxsIGl0cyBteXJpYWQgZmxhdm9ycworUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9
PT0gNAorUEFTUyAxNyA9PT0gMTcKK1BBU1MgNCA9PT0gNAorUEFTUyA3ID09PSA3CitQQVNTIDkg
PT09IDkKK1BBU1MgNyA9PT0gNworUEFTUyBTeW50YXhFcnJvciA9PT0gU3ludGF4RXJyb3IKK1BB
U1MgOSA9PT0gOQorUEFTUyA3ID09PSA3CitQQVNTIDIzID09PSAyMworUEFTUyA3ID09PSA3CitQ
QVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZlcmVuY2VFcnJvcgorUEFTUyBSZWZlcmVuY2VFcnJv
ciA9PT0gUmVmZXJlbmNlRXJyb3IKK1BBU1MgNSA9PT0gNQorUEFTUyBSZWZlcmVuY2VFcnJvciA9
PT0gUmVmZXJlbmNlRXJyb3IKK1BBU1MgNSA9PT0gNQorUEFTUyBSZWZlcmVuY2VFcnJvciA9PT0g
UmVmZXJlbmNlRXJyb3IKK1BBU1MgMiA9PT0gMgorUEFTUyBSZWZlcmVuY2VFcnJvciA9PT0gUmVm
ZXJlbmNlRXJyb3IKK1BBU1MgU3ludGF4RXJyb3IgPT09IFN5bnRheEVycm9yCitQQVNTIDIgPT09
IDIKK1BBU1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5jZUVycm9yCitQQVNTIDcxID09PSA3
MQorUEFTUyBSZWZlcmVuY2VFcnJvciA9PT0gUmVmZXJlbmNlRXJyb3IKK1Rlc3RzIGNvbXBsZXRl
IQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xv
YmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWRpcmVjdC1z
dHJpY3Rjb2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTYzYjE5OWEyYjFhZDNjYjRlNGQxNDA4NDZhYjFl
Y2QwMDMxZDE2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtc3RyaWN0Y29kZS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWRpcmVjdC1zdHJpY3Rj
b2RlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRp
cmVjdC1ub3JtYWxjb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2Rl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODBiMzg1NDY3YThkODM4Yjk2ZWVlNTM5NzYzZWQ1
ZmViOGY3MmM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWluZGlyZWN0LW5vcm1hbGNvZGUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKKzUxNDU2ODogZXZhbCBpbiBhbGwgaXRzIG15
cmlhZCBmbGF2b3JzCitQQVNTIDE3ID09PSAxNworUEFTUyA0ID09PSA0CitQQVNTIDQgPT09IDQK
K1BBU1MgNyA9PT0gNworUEFTUyA3ID09PSA3CitQQVNTIDkgPT09IDkKK1BBU1MgOSA9PT0gOQor
UEFTUyBmYWxzZSA9PT0gZmFsc2UKK1BBU1MgOSA9PT0gOQorUEFTUyA5ID09PSA5CitQQVNTIDIz
ID09PSAyMworUEFTUyAyMyA9PT0gMjMKK1BBU1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5j
ZUVycm9yCitQQVNTIDUgPT09IDUKK1BBU1MgNSA9PT0gNQorUEFTUyA4ID09PSA4CitQQVNTIDgg
PT09IDgKK1BBU1MgMiA9PT0gMgorUEFTUyAyID09PSAyCitQQVNTIHRydWUgPT09IHRydWUKK1BB
U1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5jZUVycm9yCitQQVNTIFJlZmVyZW5jZUVycm9y
ID09PSBSZWZlcmVuY2VFcnJvcgorUEFTUyA3MSA9PT0gNzEKK1BBU1MgNzEgPT09IDcxCitUZXN0
cyBjb21wbGV0ZSEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9leGhh
dXN0aXZlLWdsb2JhbC1zdHJpY3RjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2Fs
bGVyLWluZGlyZWN0LW5vcm1hbGNvZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDRkOGJhMmQ4NjRkN2U5
ODIyM2Q2ZDM1NTk5YTQxYmRkZmVmMDc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWluZGly
ZWN0LW5vcm1hbGNvZGUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxl
ci1pbmRpcmVjdC1ub3JtYWxjb2RlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFs
LXN0cmljdGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1p
bmRpcmVjdC1zdHJpY3Rjb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MmViMzU4NDFmNjRl
MDJmMGZhNTYyMGNlZTczMDVmMjBjMDMzYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWlu
ZGlyZWN0LXN0cmljdGNvZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKKzUxNDU2ODog
ZXZhbCBpbiBhbGwgaXRzIG15cmlhZCBmbGF2b3JzCitQQVNTIDE3ID09PSAxNworUEFTUyA0ID09
PSA0CitQQVNTIDE3ID09PSAxNworUEFTUyA0ID09PSA0CitQQVNTIDcgPT09IDcKK1BBU1MgOSA9
PT0gOQorUEFTUyA3ID09PSA3CitQQVNTIFN5bnRheEVycm9yID09PSBTeW50YXhFcnJvcgorUEFT
UyA5ID09PSA5CitQQVNTIDcgPT09IDcKK1BBU1MgMjMgPT09IDIzCitQQVNTIDcgPT09IDcKK1BB
U1MgUmVmZXJlbmNlRXJyb3IgPT09IFJlZmVyZW5jZUVycm9yCitQQVNTIFJlZmVyZW5jZUVycm9y
ID09PSBSZWZlcmVuY2VFcnJvcgorUEFTUyA1ID09PSA1CitQQVNTIFJlZmVyZW5jZUVycm9yID09
PSBSZWZlcmVuY2VFcnJvcgorUEFTUyA1ID09PSA1CitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBS
ZWZlcmVuY2VFcnJvcgorUEFTUyAyID09PSAyCitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZl
cmVuY2VFcnJvcgorUEFTUyBTeW50YXhFcnJvciA9PT0gU3ludGF4RXJyb3IKK1BBU1MgMiA9PT0g
MgorUEFTUyBSZWZlcmVuY2VFcnJvciA9PT0gUmVmZXJlbmNlRXJyb3IKK1BBU1MgNzEgPT09IDcx
CitQQVNTIFJlZmVyZW5jZUVycm9yID09PSBSZWZlcmVuY2VFcnJvcgorVGVzdHMgY29tcGxldGUh
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvZXhoYXVzdGl2ZS1nbG9i
YWwtc3RyaWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVj
dC1zdHJpY3Rjb2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZiYTVhYjIyZDkyM2IyMDFlM2M1ZWQ4YmNi
ZTIwZDYxMTJmNTczMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96
aWxsYS9ldmFsL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rj
b2RlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWdsb2JhbC1zdHJpY3RjYWxsZXItaW5kaXJlY3Qt
c3RyaWN0Y29kZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmVhMTllOGY1ZWU1MWMwOTgzZTdmMzU4Y2UxMGY2ZjI3N2Y5ZjAwZjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3Jp
cHQtdGVzdHMvVEVNUExBVEUuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0
LXRlc3RzL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZl
LWZ1bi1ub3JtYWxjYWxsZXItZGlyZWN0LW5vcm1hbGNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmE5N2Q4
NzQ1MTJjNGFmMzQwNjlmODRlM2I2ODZmOWIwNDZhOTE0MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1
bi1ub3JtYWxjYWxsZXItZGlyZWN0LW5vcm1hbGNvZGUuanMKQEAgLTAsMCArMSwyMTAgQEAKKy8v
IEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorLy8gaHR0
cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLworCisvLy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCit2YXIgQlVHTlVNQkVSID0gNTE0NTY4OwordmFyIHN1bW1hcnkgPSAi
ZXZhbCBpbiBhbGwgaXRzIG15cmlhZCBmbGF2b3JzIjsKKworcHJpbnQoQlVHTlVNQkVSICsgIjog
IiArIHN1bW1hcnkpOworCisvKioqKioqKioqKioqKioKKyAqIEJFR0lOIFRFU1QgKgorICoqKioq
KioqKioqKioqLworCit2YXIgeCA9IDE3OworZnVuY3Rpb24gZ2xvYmFsWCgpIHsgcmV0dXJuIHg7
IH0KK3ZhciB5ID0gNDI7CitmdW5jdGlvbiBnbG9iYWxZKCkgeyByZXR1cm4geTsgfQorCit2YXIg
ZXYgPSBldmFsOworCitmdW5jdGlvbiB0ZXN0WCgpCit7CisgIHZhciB4ID0gMjsKKyAgdmFyIHhj
b2RlID0KKyAgICAidmFyIHggPSA0OyIgKworICAgICJmdW5jdGlvbiBhY3RYKGFjdGlvbikiICsK
KyAgICAieyIgKworICAgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAgICIgIHsiICsKKyAgICAi
ICAgIGNhc2UgJ2dldCc6IiArCisgICAgIiAgICAgIHJldHVybiB4OyIgKworICAgICIgICAgY2Fz
ZSAnc2V0MSc6IiArCisgICAgIiAgICAgIHggPSA5OyIgKworICAgICIgICAgICByZXR1cm47IiAr
CisgICAgIiAgICBjYXNlICdzZXQyJzoiICsKKyAgICAiICAgICAgeCA9IDIzOyIgKworICAgICIg
ICAgICByZXR1cm47IiArCisgICAgIiAgICBjYXNlICdkZWxldGUnOiIgKworICAgICIgICAgICB0
cnkgeyByZXR1cm4gZXZhbCgnZGVsZXRlIHgnKTsgfSIgKworICAgICIgICAgICBjYXRjaCAoZSkg
eyByZXR1cm4gZS5uYW1lOyB9IiArCisgICAgIiAgfSIgKworICAgICJ9IiArCisgICAgImFjdFg7
IjsKKworICB2YXIgbG9jYWwwID0geDsKKyAgdmFyIGdsb2JhbDAgPSBnbG9iYWxYKCk7CisKKyAg
dmFyIGYgPSBldmFsKHhjb2RlKTsKKworICB2YXIgaW5uZXIxID0gZigiZ2V0Iik7CisgIHZhciBs
b2NhbDEgPSB4OworICB2YXIgZ2xvYmFsMSA9IGdsb2JhbFgoKTsKKworICB4ID0gNzsKKyAgdmFy
IGlubmVyMiA9IGYoImdldCIpOworICB2YXIgbG9jYWwyID0geDsKKyAgdmFyIGdsb2JhbDIgPSBn
bG9iYWxYKCk7CisKKyAgZigic2V0MSIpOworICB2YXIgaW5uZXIzID0gZigiZ2V0Iik7CisgIHZh
ciBsb2NhbDMgPSB4OworICB2YXIgZ2xvYmFsMyA9IGdsb2JhbFgoKTsKKworICB2YXIgZGVsID0g
ZigiZGVsZXRlIik7CisgIHZhciBpbm5lcjQgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNCA9IHg7
CisgIHZhciBnbG9iYWw0ID0gZ2xvYmFsWCgpOworCisgIGYoInNldDIiKTsKKyAgdmFyIGlubmVy
NSA9IGYoImdldCIpOworICB2YXIgbG9jYWw1ID0geDsKKyAgdmFyIGdsb2JhbDUgPSBnbG9iYWxY
KCk7CisKKyAgcmV0dXJuIHsKKyAgICAgICAgICAgbG9jYWwwOiBsb2NhbDAsIGdsb2JhbDA6IGds
b2JhbDAsCisgICAgICAgICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwgZ2xvYmFs
MTogZ2xvYmFsMSwKKyAgICAgICAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLCBn
bG9iYWwyOiBnbG9iYWwyLAorICAgICAgICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2Nh
bDMsIGdsb2JhbDM6IGdsb2JhbDMsCisgICAgICAgICAgIGRlbDogZGVsLAorICAgICAgICAgICBp
bm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsIGdsb2JhbDQ6IGdsb2JhbDQsCisgICAgICAg
ICAgIGlubmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2FsNSwgZ2xvYmFsNTogZ2xvYmFsNSwKKyAg
ICAgICAgIH07Cit9CisKK3ZhciByZXN1bHRzWCA9IHRlc3RYKCk7CisKK2Fzc2VydEVxKHJlc3Vs
dHNYLmxvY2FsMCwgMik7Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWwwLCAxNyk7CisKK2Fzc2Vy
dEVxKHJlc3VsdHNYLmlubmVyMSwgNCk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDEsIDQpOwor
YXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFsMSwgMTcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5l
cjIsIDcpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwyLCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNY
Lmdsb2JhbDIsIDE3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXIzLCA5KTsKK2Fzc2VydEVx
KHJlc3VsdHNYLmxvY2FsMywgOSk7Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWwzLCAxNyk7CisK
K2Fzc2VydEVxKHJlc3VsdHNYLmRlbCwgZmFsc2UpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5l
cjQsIDkpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWw0LCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNY
Lmdsb2JhbDQsIDE3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXI1LCAyMyk7Cithc3NlcnRF
cShyZXN1bHRzWC5sb2NhbDUsIDIzKTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDUsIDE3KTsK
KworCitmdW5jdGlvbiB0ZXN0WSgpCit7CisgIHZhciB5Y29kZSA9CisgICAgInZhciB5ID0gNTsi
ICsKKyAgICAiZnVuY3Rpb24gYWN0WShhY3Rpb24pIiArCisgICAgInsiICsKKyAgICAiICBzd2l0
Y2ggKGFjdGlvbikiICsKKyAgICAiICB7IiArCisgICAgIiAgICBjYXNlICdnZXQnOiIgKworICAg
ICIgICAgICByZXR1cm4geTsiICsKKyAgICAiICAgIGNhc2UgJ3NldDEnOiIgKworICAgICIgICAg
ICB5ID0gMjsiICsKKyAgICAiICAgICAgcmV0dXJuOyIgKworICAgICIgICAgY2FzZSAnc2V0Mic6
IiArCisgICAgIiAgICAgIHkgPSA3MTsiICsKKyAgICAiICAgICAgcmV0dXJuOyIgKworICAgICIg
ICAgY2FzZSAnZGVsZXRlJzoiICsKKyAgICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0
ZSB5Jyk7IH0iICsKKyAgICAiICAgICAgY2F0Y2ggKGUpIHsgcmV0dXJuIGUubmFtZTsgfSIgKwor
ICAgICIgIH0iICsKKyAgICAifSIgKworICAgICJhY3RZOyI7CisKKyAgdmFyIGxvY2FsMCA9IHk7
CisgIHZhciBnbG9iYWwwID0gZ2xvYmFsWSgpOworCisgIHZhciBmID0gZXZhbCh5Y29kZSk7CisK
KyAgdmFyIGlubmVyMSA9IGYoImdldCIpOworICB2YXIgbG9jYWwxID0geTsKKyAgdmFyIGdsb2Jh
bDEgPSBnbG9iYWxZKCk7CisKKyAgeSA9IDg7CisgIHZhciBpbm5lcjIgPSBmKCJnZXQiKTsKKyAg
dmFyIGxvY2FsMiA9IHk7CisgIHZhciBnbG9iYWwyID0gZ2xvYmFsWSgpOworCisgIGYoInNldDEi
KTsKKyAgdmFyIGlubmVyMyA9IGYoImdldCIpOworICB2YXIgbG9jYWwzID0geTsKKyAgdmFyIGds
b2JhbDMgPSBnbG9iYWxZKCk7CisKKyAgdmFyIGRlbCA9IGYoImRlbGV0ZSIpOworICB2YXIgaW5u
ZXI0ID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDQgPSB5OworICB2YXIgZ2xvYmFsNCA9IGdsb2Jh
bFkoKTsKKworICBmKCJzZXQyIik7CisgIHZhciBpbm5lcjUgPSBmKCJnZXQiKTsKKyAgdmFyIGxv
Y2FsNSA9IHk7CisgIHZhciBnbG9iYWw1ID0gZ2xvYmFsWSgpOworCisgIHJldHVybiB7CisgICAg
ICAgICAgIGxvY2FsMDogbG9jYWwwLCBnbG9iYWwwOiBnbG9iYWwwLAorICAgICAgICAgICBpbm5l
cjE6IGlubmVyMSwgbG9jYWwxOiBsb2NhbDEsIGdsb2JhbDE6IGdsb2JhbDEsCisgICAgICAgICAg
IGlubmVyMjogaW5uZXIyLCBsb2NhbDI6IGxvY2FsMiwgZ2xvYmFsMjogZ2xvYmFsMiwKKyAgICAg
ICAgICAgaW5uZXIzOiBpbm5lcjMsIGxvY2FsMzogbG9jYWwzLCBnbG9iYWwzOiBnbG9iYWwzLAor
ICAgICAgICAgICBkZWw6IGRlbCwKKyAgICAgICAgICAgaW5uZXI0OiBpbm5lcjQsIGxvY2FsNDog
bG9jYWw0LCBnbG9iYWw0OiBnbG9iYWw0LAorICAgICAgICAgICBpbm5lcjU6IGlubmVyNSwgbG9j
YWw1OiBsb2NhbDUsIGdsb2JhbDU6IGdsb2JhbDUsCisgICAgICAgICB9OworfQorCit2YXIgcmVz
dWx0c1kgPSB0ZXN0WSgpOworCithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDAsIDQyKTsKK2Fzc2Vy
dEVxKHJlc3VsdHNZLmdsb2JhbDAsIDQyKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIxLCA1
KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMSwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9i
YWwxLCA0Mik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMiwgOCk7Cithc3NlcnRFcShyZXN1
bHRzWS5sb2NhbDIsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMiwgNDIpOworCithc3Nl
cnRFcShyZXN1bHRzWS5pbm5lcjMsIDIpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwzLCAyKTsK
K2Fzc2VydEVxKHJlc3VsdHNZLmdsb2JhbDMsIDQyKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuZGVs
LCB0cnVlKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXI0LCA0Mik7Cithc3NlcnRFcShyZXN1
bHRzWS5sb2NhbDQsIDQyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmdsb2JhbDQsIDQyKTsKKworYXNz
ZXJ0RXEocmVzdWx0c1kuaW5uZXI1LCA3MSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDUsIDcx
KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmdsb2JhbDUsIDcxKTsKKworLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8KKworaWYgKHR5cGVvZiByZXBvcnRDb21wYXJlID09PSAiZnVuY3Rpb24iKQorICByZXBv
cnRDb21wYXJlKHRydWUsIHRydWUpOworCitwcmludCgiVGVzdHMgY29tcGxldGUhIik7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxl
ci1kaXJlY3Qtc3RyaWN0Y29kZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFs
L3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItZGlyZWN0LXN0cmljdGNv
ZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTQxMTMyOTJiNzBkMTVjNGFkNzg5ZDc1MDE4Nzg3YjE1Yzg0ZDJj
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3Nj
cmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1ub3JtYWxjYWxsZXItZGlyZWN0LXN0cmljdGNvZGUu
anMKQEAgLTAsMCArMSwyMTIgQEAKKy8vIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRo
ZSBQdWJsaWMgRG9tYWluLgorLy8gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMv
cHVibGljZG9tYWluLworCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit2YXIgQlVHTlVNQkVSID0g
NTE0NTY4OwordmFyIHN1bW1hcnkgPSAiZXZhbCBpbiBhbGwgaXRzIG15cmlhZCBmbGF2b3JzIjsK
KworcHJpbnQoQlVHTlVNQkVSICsgIjogIiArIHN1bW1hcnkpOworCisvKioqKioqKioqKioqKioK
KyAqIEJFR0lOIFRFU1QgKgorICoqKioqKioqKioqKioqLworCit2YXIgeCA9IDE3OworZnVuY3Rp
b24gZ2xvYmFsWCgpIHsgcmV0dXJuIHg7IH0KK3ZhciB5ID0gNDI7CitmdW5jdGlvbiBnbG9iYWxZ
KCkgeyByZXR1cm4geTsgfQorCit2YXIgZXYgPSBldmFsOworCitmdW5jdGlvbiB0ZXN0WCgpCit7
CisgIHZhciB4ID0gMjsKKyAgdmFyIHhjb2RlID0KKyAgICAiJ3VzZSBzdHJpY3QnOyIgKworICAg
ICJ2YXIgeCA9IDQ7IiArCisgICAgImZ1bmN0aW9uIGFjdFgoYWN0aW9uKSIgKworICAgICJ7IiAr
CisgICAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICAgIiAgeyIgKworICAgICIgICAgY2FzZSAn
Z2V0JzoiICsKKyAgICAiICAgICAgcmV0dXJuIHg7IiArCisgICAgIiAgICBjYXNlICdzZXQxJzoi
ICsKKyAgICAiICAgICAgeCA9IDk7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAgICAiICAg
IGNhc2UgJ3NldDInOiIgKworICAgICIgICAgICB4ID0gMjM7IiArCisgICAgIiAgICAgIHJldHVy
bjsiICsKKyAgICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICAgIiAgICAgIHRyeSB7IHJldHVy
biBldmFsKCdkZWxldGUgeCcpOyB9IiArCisgICAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBl
Lm5hbWU7IH0iICsKKyAgICAiICB9IiArCisgICAgIn0iICsKKyAgICAiYWN0WDsiOworCisgIHZh
ciBsb2NhbDAgPSB4OworICB2YXIgZ2xvYmFsMCA9IGdsb2JhbFgoKTsKKworICB2YXIgZiA9IGV2
YWwoeGNvZGUpOworCisgIHZhciBpbm5lcjEgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsMSA9IHg7
CisgIHZhciBnbG9iYWwxID0gZ2xvYmFsWCgpOworCisgIHggPSA3OworICB2YXIgaW5uZXIyID0g
ZigiZ2V0Iik7CisgIHZhciBsb2NhbDIgPSB4OworICB2YXIgZ2xvYmFsMiA9IGdsb2JhbFgoKTsK
KworICBmKCJzZXQxIik7CisgIHZhciBpbm5lcjMgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsMyA9
IHg7CisgIHZhciBnbG9iYWwzID0gZ2xvYmFsWCgpOworCisgIHZhciBkZWwgPSBmKCJkZWxldGUi
KTsKKyAgdmFyIGlubmVyNCA9IGYoImdldCIpOworICB2YXIgbG9jYWw0ID0geDsKKyAgdmFyIGds
b2JhbDQgPSBnbG9iYWxYKCk7CisKKyAgZigic2V0MiIpOworICB2YXIgaW5uZXI1ID0gZigiZ2V0
Iik7CisgIHZhciBsb2NhbDUgPSB4OworICB2YXIgZ2xvYmFsNSA9IGdsb2JhbFgoKTsKKworICBy
ZXR1cm4geworICAgICAgICAgICBsb2NhbDA6IGxvY2FsMCwgZ2xvYmFsMDogZ2xvYmFsMCwKKyAg
ICAgICAgICAgaW5uZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLCBnbG9iYWwxOiBnbG9iYWwx
LAorICAgICAgICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsIGdsb2JhbDI6IGds
b2JhbDIsCisgICAgICAgICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywgZ2xvYmFs
MzogZ2xvYmFsMywKKyAgICAgICAgICAgZGVsOiBkZWwsCisgICAgICAgICAgIGlubmVyNDogaW5u
ZXI0LCBsb2NhbDQ6IGxvY2FsNCwgZ2xvYmFsNDogZ2xvYmFsNCwKKyAgICAgICAgICAgaW5uZXI1
OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1LCBnbG9iYWw1OiBnbG9iYWw1LAorICAgICAgICAgfTsK
K30KKwordmFyIHJlc3VsdHNYID0gdGVzdFgoKTsKKworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWww
LCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDAsIDE3KTsKKworYXNzZXJ0RXEocmVzdWx0
c1guaW5uZXIxLCA0KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMSwgMik7Cithc3NlcnRFcShy
ZXN1bHRzWC5nbG9iYWwxLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMiwgNCk7Cith
c3NlcnRFcShyZXN1bHRzWC5sb2NhbDIsIDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFsMiwg
MTcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjMsIDkpOworYXNzZXJ0RXEocmVzdWx0c1gu
bG9jYWwzLCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDMsIDE3KTsKKworYXNzZXJ0RXEo
cmVzdWx0c1guZGVsLCAiU3ludGF4RXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXI0
LCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsNCwgNyk7Cithc3NlcnRFcShyZXN1bHRzWC5n
bG9iYWw0LCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNSwgMjMpOworYXNzZXJ0RXEo
cmVzdWx0c1gubG9jYWw1LCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDUsIDE3KTsKKwor
CitmdW5jdGlvbiB0ZXN0WSgpCit7CisgIHZhciB5Y29kZSA9CisgICAgIid1c2Ugc3RyaWN0Jzsi
ICsKKyAgICAidmFyIHkgPSA1OyIgKworICAgICJmdW5jdGlvbiBhY3RZKGFjdGlvbikiICsKKyAg
ICAieyIgKworICAgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAgICIgIHsiICsKKyAgICAiICAg
IGNhc2UgJ2dldCc6IiArCisgICAgIiAgICAgIHJldHVybiB5OyIgKworICAgICIgICAgY2FzZSAn
c2V0MSc6IiArCisgICAgIiAgICAgIHkgPSAyOyIgKworICAgICIgICAgICByZXR1cm47IiArCisg
ICAgIiAgICBjYXNlICdzZXQyJzoiICsKKyAgICAiICAgICAgeSA9IDcxOyIgKworICAgICIgICAg
ICByZXR1cm47IiArCisgICAgIiAgICBjYXNlICdkZWxldGUnOiIgKworICAgICIgICAgICB0cnkg
eyByZXR1cm4gZXZhbCgnZGVsZXRlIHknKTsgfSIgKworICAgICIgICAgICBjYXRjaCAoZSkgeyBy
ZXR1cm4gZS5uYW1lOyB9IiArCisgICAgIiAgfSIgKworICAgICJ9IiArCisgICAgImFjdFk7IjsK
KworICB2YXIgbG9jYWwwID0geTsKKyAgdmFyIGdsb2JhbDAgPSBnbG9iYWxZKCk7CisKKyAgdmFy
IGYgPSBldmFsKHljb2RlKTsKKworICB2YXIgaW5uZXIxID0gZigiZ2V0Iik7CisgIHZhciBsb2Nh
bDEgPSB5OworICB2YXIgZ2xvYmFsMSA9IGdsb2JhbFkoKTsKKworICB5ID0gODsKKyAgdmFyIGlu
bmVyMiA9IGYoImdldCIpOworICB2YXIgbG9jYWwyID0geTsKKyAgdmFyIGdsb2JhbDIgPSBnbG9i
YWxZKCk7CisKKyAgZigic2V0MSIpOworICB2YXIgaW5uZXIzID0gZigiZ2V0Iik7CisgIHZhciBs
b2NhbDMgPSB5OworICB2YXIgZ2xvYmFsMyA9IGdsb2JhbFkoKTsKKworICB2YXIgZGVsID0gZigi
ZGVsZXRlIik7CisgIHZhciBpbm5lcjQgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNCA9IHk7Cisg
IHZhciBnbG9iYWw0ID0gZ2xvYmFsWSgpOworCisgIGYoInNldDIiKTsKKyAgdmFyIGlubmVyNSA9
IGYoImdldCIpOworICB2YXIgbG9jYWw1ID0geTsKKyAgdmFyIGdsb2JhbDUgPSBnbG9iYWxZKCk7
CisKKyAgcmV0dXJuIHsKKyAgICAgICAgICAgbG9jYWwwOiBsb2NhbDAsIGdsb2JhbDA6IGdsb2Jh
bDAsCisgICAgICAgICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwgZ2xvYmFsMTog
Z2xvYmFsMSwKKyAgICAgICAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLCBnbG9i
YWwyOiBnbG9iYWwyLAorICAgICAgICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2NhbDMs
IGdsb2JhbDM6IGdsb2JhbDMsCisgICAgICAgICAgIGRlbDogZGVsLAorICAgICAgICAgICBpbm5l
cjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsIGdsb2JhbDQ6IGdsb2JhbDQsCisgICAgICAgICAg
IGlubmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2FsNSwgZ2xvYmFsNTogZ2xvYmFsNSwKKyAgICAg
ICAgIH07Cit9CisKK3ZhciByZXN1bHRzWSA9IHRlc3RZKCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZ
LmxvY2FsMCwgNDIpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMCwgNDIpOworCithc3NlcnRF
cShyZXN1bHRzWS5pbm5lcjEsIDUpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwxLCA0Mik7Cith
c3NlcnRFcShyZXN1bHRzWS5nbG9iYWwxLCA0Mik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVy
MiwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDIsIDgpOworYXNzZXJ0RXEocmVzdWx0c1ku
Z2xvYmFsMiwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMywgMik7Cithc3NlcnRFcShy
ZXN1bHRzWS5sb2NhbDMsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMywgOCk7CisKK2Fz
c2VydEVxKHJlc3VsdHNZLmRlbCwgIlN5bnRheEVycm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNZ
LmlubmVyNCwgMik7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDQsIDgpOworYXNzZXJ0RXEocmVz
dWx0c1kuZ2xvYmFsNCwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyNSwgNzEpOworYXNz
ZXJ0RXEocmVzdWx0c1kubG9jYWw1LCA4KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmdsb2JhbDUsIDgp
OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpZiAodHlwZW9mIHJlcG9ydENvbXBhcmUg
PT09ICJmdW5jdGlvbiIpCisgIHJlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ByaW50KCJU
ZXN0cyBjb21wbGV0ZSEiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXho
YXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWluZGlyZWN0LW5vcm1hbGNvZGUuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tbm9y
bWFsY2FsbGVyLWluZGlyZWN0LW5vcm1hbGNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGRmZmYwMmU2MjZj
NjU5NDM3OWJhZmYzNzE0NWQ3ZDg2YTA3NmNhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1ub3Jt
YWxjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS5qcwpAQCAtMCwwICsxLDIxMCBAQAorLy8gQW55
IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisvLyBodHRwOi8v
Y3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisKKy8vLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK3ZhciBCVUdOVU1CRVIgPSA1MTQ1Njg7Cit2YXIgc3VtbWFyeSA9ICJldmFs
IGluIGFsbCBpdHMgbXlyaWFkIGZsYXZvcnMiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAiICsg
c3VtbWFyeSk7CisKKy8qKioqKioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioqKioq
KioqKiovCisKK3ZhciB4ID0gMTc7CitmdW5jdGlvbiBnbG9iYWxYKCkgeyByZXR1cm4geDsgfQor
dmFyIHkgPSA0MjsKK2Z1bmN0aW9uIGdsb2JhbFkoKSB7IHJldHVybiB5OyB9CisKK3ZhciBldiA9
IGV2YWw7CisKK2Z1bmN0aW9uIHRlc3RYKCkKK3sKKyAgdmFyIHggPSAyOworICB2YXIgeGNvZGUg
PQorICAgICJ2YXIgeCA9IDQ7IiArCisgICAgImZ1bmN0aW9uIGFjdFgoYWN0aW9uKSIgKworICAg
ICJ7IiArCisgICAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICAgIiAgeyIgKworICAgICIgICAg
Y2FzZSAnZ2V0JzoiICsKKyAgICAiICAgICAgcmV0dXJuIHg7IiArCisgICAgIiAgICBjYXNlICdz
ZXQxJzoiICsKKyAgICAiICAgICAgeCA9IDk7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAg
ICAiICAgIGNhc2UgJ3NldDInOiIgKworICAgICIgICAgICB4ID0gMjM7IiArCisgICAgIiAgICAg
IHJldHVybjsiICsKKyAgICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICAgIiAgICAgIHRyeSB7
IHJldHVybiBldmFsKCdkZWxldGUgeCcpOyB9IiArCisgICAgIiAgICAgIGNhdGNoIChlKSB7IHJl
dHVybiBlLm5hbWU7IH0iICsKKyAgICAiICB9IiArCisgICAgIn0iICsKKyAgICAiYWN0WDsiOwor
CisgIHZhciBsb2NhbDAgPSB4OworICB2YXIgZ2xvYmFsMCA9IGdsb2JhbFgoKTsKKworICB2YXIg
ZiA9IGV2KHhjb2RlKTsKKworICB2YXIgaW5uZXIxID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDEg
PSB4OworICB2YXIgZ2xvYmFsMSA9IGdsb2JhbFgoKTsKKworICB4ID0gNzsKKyAgdmFyIGlubmVy
MiA9IGYoImdldCIpOworICB2YXIgbG9jYWwyID0geDsKKyAgdmFyIGdsb2JhbDIgPSBnbG9iYWxY
KCk7CisKKyAgZigic2V0MSIpOworICB2YXIgaW5uZXIzID0gZigiZ2V0Iik7CisgIHZhciBsb2Nh
bDMgPSB4OworICB2YXIgZ2xvYmFsMyA9IGdsb2JhbFgoKTsKKworICB2YXIgZGVsID0gZigiZGVs
ZXRlIik7CisgIHZhciBpbm5lcjQgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNCA9IHg7CisgIHZh
ciBnbG9iYWw0ID0gZ2xvYmFsWCgpOworCisgIGYoInNldDIiKTsKKyAgdmFyIGlubmVyNSA9IGYo
ImdldCIpOworICB2YXIgbG9jYWw1ID0geDsKKyAgdmFyIGdsb2JhbDUgPSBnbG9iYWxYKCk7CisK
KyAgcmV0dXJuIHsKKyAgICAgICAgICAgbG9jYWwwOiBsb2NhbDAsIGdsb2JhbDA6IGdsb2JhbDAs
CisgICAgICAgICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwgZ2xvYmFsMTogZ2xv
YmFsMSwKKyAgICAgICAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLCBnbG9iYWwy
OiBnbG9iYWwyLAorICAgICAgICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsIGds
b2JhbDM6IGdsb2JhbDMsCisgICAgICAgICAgIGRlbDogZGVsLAorICAgICAgICAgICBpbm5lcjQ6
IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsIGdsb2JhbDQ6IGdsb2JhbDQsCisgICAgICAgICAgIGlu
bmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2FsNSwgZ2xvYmFsNTogZ2xvYmFsNSwKKyAgICAgICAg
IH07Cit9CisKK3ZhciByZXN1bHRzWCA9IHRlc3RYKCk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmxv
Y2FsMCwgMik7Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWwwLCAxNyk7CisKK2Fzc2VydEVxKHJl
c3VsdHNYLmlubmVyMSwgNCk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDEsIDIpOworYXNzZXJ0
RXEocmVzdWx0c1guZ2xvYmFsMSwgNCk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMiwgNCk7
Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDIsIDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFs
MiwgNCk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMywgOSk7Cithc3NlcnRFcShyZXN1bHRz
WC5sb2NhbDMsIDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFsMywgOSk7CisKK2Fzc2VydEVx
KHJlc3VsdHNYLmRlbCwgZmFsc2UpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjQsIDkpOwor
YXNzZXJ0RXEocmVzdWx0c1gubG9jYWw0LCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDQs
IDkpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjUsIDIzKTsKK2Fzc2VydEVxKHJlc3VsdHNY
LmxvY2FsNSwgNyk7Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWw1LCAyMyk7CisKKworZnVuY3Rp
b24gdGVzdFkoKQoreworICB2YXIgeWNvZGUgPQorICAgICJ2YXIgeSA9IDU7IiArCisgICAgImZ1
bmN0aW9uIGFjdFkoYWN0aW9uKSIgKworICAgICJ7IiArCisgICAgIiAgc3dpdGNoIChhY3Rpb24p
IiArCisgICAgIiAgeyIgKworICAgICIgICAgY2FzZSAnZ2V0JzoiICsKKyAgICAiICAgICAgcmV0
dXJuIHk7IiArCisgICAgIiAgICBjYXNlICdzZXQxJzoiICsKKyAgICAiICAgICAgeSA9IDI7IiAr
CisgICAgIiAgICAgIHJldHVybjsiICsKKyAgICAiICAgIGNhc2UgJ3NldDInOiIgKworICAgICIg
ICAgICB5ID0gNzE7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAgICAiICAgIGNhc2UgJ2Rl
bGV0ZSc6IiArCisgICAgIiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxldGUgeScpOyB9IiAr
CisgICAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAgICAiICB9IiAr
CisgICAgIn0iICsKKyAgICAiYWN0WTsiOworCisgIHZhciBsb2NhbDAgPSB5OworICB2YXIgZ2xv
YmFsMCA9IGdsb2JhbFkoKTsKKworICB2YXIgZiA9IGV2KHljb2RlKTsKKworICB2YXIgaW5uZXIx
ID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDEgPSB5OworICB2YXIgZ2xvYmFsMSA9IGdsb2JhbFko
KTsKKworICB5ID0gODsKKyAgdmFyIGlubmVyMiA9IGYoImdldCIpOworICB2YXIgbG9jYWwyID0g
eTsKKyAgdmFyIGdsb2JhbDIgPSBnbG9iYWxZKCk7CisKKyAgZigic2V0MSIpOworICB2YXIgaW5u
ZXIzID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDMgPSB5OworICB2YXIgZ2xvYmFsMyA9IGdsb2Jh
bFkoKTsKKworICB2YXIgZGVsID0gZigiZGVsZXRlIik7CisgIHZhciBpbm5lcjQgPSBmKCJnZXQi
KTsKKyAgdmFyIGxvY2FsNCA9IHk7CisgIHZhciBnbG9iYWw0ID0gZ2xvYmFsWSgpOworCisgIGYo
InNldDIiKTsKKyAgdmFyIGlubmVyNSA9IGYoImdldCIpOworICB2YXIgbG9jYWw1ID0geTsKKyAg
dmFyIGdsb2JhbDUgPSBnbG9iYWxZKCk7CisKKyAgcmV0dXJuIHsKKyAgICAgICAgICAgbG9jYWww
OiBsb2NhbDAsIGdsb2JhbDA6IGdsb2JhbDAsCisgICAgICAgICAgIGlubmVyMTogaW5uZXIxLCBs
b2NhbDE6IGxvY2FsMSwgZ2xvYmFsMTogZ2xvYmFsMSwKKyAgICAgICAgICAgaW5uZXIyOiBpbm5l
cjIsIGxvY2FsMjogbG9jYWwyLCBnbG9iYWwyOiBnbG9iYWwyLAorICAgICAgICAgICBpbm5lcjM6
IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsIGdsb2JhbDM6IGdsb2JhbDMsCisgICAgICAgICAgIGRl
bDogZGVsLAorICAgICAgICAgICBpbm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsIGdsb2Jh
bDQ6IGdsb2JhbDQsCisgICAgICAgICAgIGlubmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2FsNSwg
Z2xvYmFsNTogZ2xvYmFsNSwKKyAgICAgICAgIH07Cit9CisKK3ZhciByZXN1bHRzWSA9IHRlc3RZ
KCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMCwgNDIpOworYXNzZXJ0RXEocmVzdWx0c1ku
Z2xvYmFsMCwgNDIpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjEsIDUpOworYXNzZXJ0RXEo
cmVzdWx0c1kubG9jYWwxLCA1KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmdsb2JhbDEsIDUpOworCith
c3NlcnRFcShyZXN1bHRzWS5pbm5lcjIsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwyLCA4
KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmdsb2JhbDIsIDgpOworCithc3NlcnRFcShyZXN1bHRzWS5p
bm5lcjMsIDIpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwzLCAyKTsKK2Fzc2VydEVxKHJlc3Vs
dHNZLmdsb2JhbDMsIDIpOworCithc3NlcnRFcShyZXN1bHRzWS5kZWwsIGZhbHNlKTsKKworYXNz
ZXJ0RXEocmVzdWx0c1kuaW5uZXI0LCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsNCwgMik7
Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWw0LCAyKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5u
ZXI1LCA3MSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDUsIDcxKTsKK2Fzc2VydEVxKHJlc3Vs
dHNZLmdsb2JhbDUsIDcxKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworaWYgKHR5cGVv
ZiByZXBvcnRDb21wYXJlID09PSAiZnVuY3Rpb24iKQorICByZXBvcnRDb21wYXJlKHRydWUsIHRy
dWUpOworCitwcmludCgiVGVzdHMgY29tcGxldGUhIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwv
c2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rj
b2RlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4
aGF1c3RpdmUtZnVuLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhhOGI4NDM1NmMxZmE5ZGIzNzllYWQ2NTIxM2ZiN2Q0MjRmNGExNDgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXho
YXVzdGl2ZS1mdW4tbm9ybWFsY2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuanMKQEAgLTAsMCAr
MSwyMTIgQEAKKy8vIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9t
YWluLgorLy8gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWlu
LworCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit2YXIgQlVHTlVNQkVSID0gNTE0NTY4OwordmFy
IHN1bW1hcnkgPSAiZXZhbCBpbiBhbGwgaXRzIG15cmlhZCBmbGF2b3JzIjsKKworcHJpbnQoQlVH
TlVNQkVSICsgIjogIiArIHN1bW1hcnkpOworCisvKioqKioqKioqKioqKioKKyAqIEJFR0lOIFRF
U1QgKgorICoqKioqKioqKioqKioqLworCit2YXIgeCA9IDE3OworZnVuY3Rpb24gZ2xvYmFsWCgp
IHsgcmV0dXJuIHg7IH0KK3ZhciB5ID0gNDI7CitmdW5jdGlvbiBnbG9iYWxZKCkgeyByZXR1cm4g
eTsgfQorCit2YXIgZXYgPSBldmFsOworCitmdW5jdGlvbiB0ZXN0WCgpCit7CisgIHZhciB4ID0g
MjsKKyAgdmFyIHhjb2RlID0KKyAgICAiJ3VzZSBzdHJpY3QnOyIgKworICAgICJ2YXIgeCA9IDQ7
IiArCisgICAgImZ1bmN0aW9uIGFjdFgoYWN0aW9uKSIgKworICAgICJ7IiArCisgICAgIiAgc3dp
dGNoIChhY3Rpb24pIiArCisgICAgIiAgeyIgKworICAgICIgICAgY2FzZSAnZ2V0JzoiICsKKyAg
ICAiICAgICAgcmV0dXJuIHg7IiArCisgICAgIiAgICBjYXNlICdzZXQxJzoiICsKKyAgICAiICAg
ICAgeCA9IDk7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAgICAiICAgIGNhc2UgJ3NldDIn
OiIgKworICAgICIgICAgICB4ID0gMjM7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAgICAi
ICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICAgIiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxl
dGUgeCcpOyB9IiArCisgICAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsK
KyAgICAiICB9IiArCisgICAgIn0iICsKKyAgICAiYWN0WDsiOworCisgIHZhciBsb2NhbDAgPSB4
OworICB2YXIgZ2xvYmFsMCA9IGdsb2JhbFgoKTsKKworICB2YXIgZiA9IGV2KHhjb2RlKTsKKwor
ICB2YXIgaW5uZXIxID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDEgPSB4OworICB2YXIgZ2xvYmFs
MSA9IGdsb2JhbFgoKTsKKworICB4ID0gNzsKKyAgdmFyIGlubmVyMiA9IGYoImdldCIpOworICB2
YXIgbG9jYWwyID0geDsKKyAgdmFyIGdsb2JhbDIgPSBnbG9iYWxYKCk7CisKKyAgZigic2V0MSIp
OworICB2YXIgaW5uZXIzID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDMgPSB4OworICB2YXIgZ2xv
YmFsMyA9IGdsb2JhbFgoKTsKKworICB2YXIgZGVsID0gZigiZGVsZXRlIik7CisgIHZhciBpbm5l
cjQgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNCA9IHg7CisgIHZhciBnbG9iYWw0ID0gZ2xvYmFs
WCgpOworCisgIGYoInNldDIiKTsKKyAgdmFyIGlubmVyNSA9IGYoImdldCIpOworICB2YXIgbG9j
YWw1ID0geDsKKyAgdmFyIGdsb2JhbDUgPSBnbG9iYWxYKCk7CisKKyAgcmV0dXJuIHsKKyAgICAg
ICAgICAgbG9jYWwwOiBsb2NhbDAsIGdsb2JhbDA6IGdsb2JhbDAsCisgICAgICAgICAgIGlubmVy
MTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwgZ2xvYmFsMTogZ2xvYmFsMSwKKyAgICAgICAgICAg
aW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLCBnbG9iYWwyOiBnbG9iYWwyLAorICAgICAg
ICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsIGdsb2JhbDM6IGdsb2JhbDMsCisg
ICAgICAgICAgIGRlbDogZGVsLAorICAgICAgICAgICBpbm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBs
b2NhbDQsIGdsb2JhbDQ6IGdsb2JhbDQsCisgICAgICAgICAgIGlubmVyNTogaW5uZXI1LCBsb2Nh
bDU6IGxvY2FsNSwgZ2xvYmFsNTogZ2xvYmFsNSwKKyAgICAgICAgIH07Cit9CisKK3ZhciByZXN1
bHRzWCA9IHRlc3RYKCk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMCwgMik7Cithc3NlcnRF
cShyZXN1bHRzWC5nbG9iYWwwLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMSwgNCk7
Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDEsIDIpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFs
MSwgMTcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjIsIDQpOworYXNzZXJ0RXEocmVzdWx0
c1gubG9jYWwyLCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDIsIDE3KTsKKworYXNzZXJ0
RXEocmVzdWx0c1guaW5uZXIzLCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMywgNyk7Cith
c3NlcnRFcShyZXN1bHRzWC5nbG9iYWwzLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmRlbCwg
IlN5bnRheEVycm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNCwgOSk7Cithc3NlcnRF
cShyZXN1bHRzWC5sb2NhbDQsIDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFsNCwgMTcpOwor
Cithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjUsIDIzKTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2Fs
NSwgNyk7Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWw1LCAxNyk7CisKKworZnVuY3Rpb24gdGVz
dFkoKQoreworICB2YXIgeWNvZGUgPQorICAgICIndXNlIHN0cmljdCc7IiArCisgICAgInZhciB5
ID0gNTsiICsKKyAgICAiZnVuY3Rpb24gYWN0WShhY3Rpb24pIiArCisgICAgInsiICsKKyAgICAi
ICBzd2l0Y2ggKGFjdGlvbikiICsKKyAgICAiICB7IiArCisgICAgIiAgICBjYXNlICdnZXQnOiIg
KworICAgICIgICAgICByZXR1cm4geTsiICsKKyAgICAiICAgIGNhc2UgJ3NldDEnOiIgKworICAg
ICIgICAgICB5ID0gMjsiICsKKyAgICAiICAgICAgcmV0dXJuOyIgKworICAgICIgICAgY2FzZSAn
c2V0Mic6IiArCisgICAgIiAgICAgIHkgPSA3MTsiICsKKyAgICAiICAgICAgcmV0dXJuOyIgKwor
ICAgICIgICAgY2FzZSAnZGVsZXRlJzoiICsKKyAgICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwo
J2RlbGV0ZSB5Jyk7IH0iICsKKyAgICAiICAgICAgY2F0Y2ggKGUpIHsgcmV0dXJuIGUubmFtZTsg
fSIgKworICAgICIgIH0iICsKKyAgICAifSIgKworICAgICJhY3RZOyI7CisKKyAgdmFyIGxvY2Fs
MCA9IHk7CisgIHZhciBnbG9iYWwwID0gZ2xvYmFsWSgpOworCisgIHZhciBmID0gZXYoeWNvZGUp
OworCisgIHZhciBpbm5lcjEgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsMSA9IHk7CisgIHZhciBn
bG9iYWwxID0gZ2xvYmFsWSgpOworCisgIHkgPSA4OworICB2YXIgaW5uZXIyID0gZigiZ2V0Iik7
CisgIHZhciBsb2NhbDIgPSB5OworICB2YXIgZ2xvYmFsMiA9IGdsb2JhbFkoKTsKKworICBmKCJz
ZXQxIik7CisgIHZhciBpbm5lcjMgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsMyA9IHk7CisgIHZh
ciBnbG9iYWwzID0gZ2xvYmFsWSgpOworCisgIHZhciBkZWwgPSBmKCJkZWxldGUiKTsKKyAgdmFy
IGlubmVyNCA9IGYoImdldCIpOworICB2YXIgbG9jYWw0ID0geTsKKyAgdmFyIGdsb2JhbDQgPSBn
bG9iYWxZKCk7CisKKyAgZigic2V0MiIpOworICB2YXIgaW5uZXI1ID0gZigiZ2V0Iik7CisgIHZh
ciBsb2NhbDUgPSB5OworICB2YXIgZ2xvYmFsNSA9IGdsb2JhbFkoKTsKKworICByZXR1cm4gewor
ICAgICAgICAgICBsb2NhbDA6IGxvY2FsMCwgZ2xvYmFsMDogZ2xvYmFsMCwKKyAgICAgICAgICAg
aW5uZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLCBnbG9iYWwxOiBnbG9iYWwxLAorICAgICAg
ICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsIGdsb2JhbDI6IGdsb2JhbDIsCisg
ICAgICAgICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywgZ2xvYmFsMzogZ2xvYmFs
MywKKyAgICAgICAgICAgZGVsOiBkZWwsCisgICAgICAgICAgIGlubmVyNDogaW5uZXI0LCBsb2Nh
bDQ6IGxvY2FsNCwgZ2xvYmFsNDogZ2xvYmFsNCwKKyAgICAgICAgICAgaW5uZXI1OiBpbm5lcjUs
IGxvY2FsNTogbG9jYWw1LCBnbG9iYWw1OiBnbG9iYWw1LAorICAgICAgICAgfTsKK30KKwordmFy
IHJlc3VsdHNZID0gdGVzdFkoKTsKKworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwwLCA0Mik7Cith
c3NlcnRFcShyZXN1bHRzWS5nbG9iYWwwLCA0Mik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVy
MSwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDEsIDQyKTsKK2Fzc2VydEVxKHJlc3VsdHNZ
Lmdsb2JhbDEsIDQyKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIyLCA1KTsKK2Fzc2VydEVx
KHJlc3VsdHNZLmxvY2FsMiwgOCk7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWwyLCA4KTsKKwor
YXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIzLCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMywg
OCk7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWwzLCA4KTsKKworYXNzZXJ0RXEocmVzdWx0c1ku
ZGVsLCAiU3ludGF4RXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXI0LCAyKTsKK2Fz
c2VydEVxKHJlc3VsdHNZLmxvY2FsNCwgOCk7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWw0LCA4
KTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXI1LCA3MSk7Cithc3NlcnRFcShyZXN1bHRzWS5s
b2NhbDUsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsNSwgOCk7CisKKy8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovCisKK2lmICh0eXBlb2YgcmVwb3J0Q29tcGFyZSA9PT0gImZ1bmN0aW9uIikK
KyAgcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKworcHJpbnQoIlRlc3RzIGNvbXBsZXRlISIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1zdHJp
Y3RjYWxsZXItZGlyZWN0LW5vcm1hbGNvZGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemls
bGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWRpcmVjdC1u
b3JtYWxjb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4N2ZlNTM5MWU1Nzc0NGM2MGRkZTZiOWM2NGZlY2Y1
MmVmYTU0ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
ZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWRpcmVjdC1ub3Jt
YWxjb2RlLmpzCkBAIC0wLDAgKzEsMjE0IEBACisvLyBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRl
ZCB0byB0aGUgUHVibGljIERvbWFpbi4KKy8vIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xp
Y2Vuc2VzL3B1YmxpY2RvbWFpbi8KKworLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQordmFyIEJVR05V
TUJFUiA9IDUxNDU2ODsKK3ZhciBzdW1tYXJ5ID0gImV2YWwgaW4gYWxsIGl0cyBteXJpYWQgZmxh
dm9ycyI7CisKK3ByaW50KEJVR05VTUJFUiArICI6ICIgKyBzdW1tYXJ5KTsKKworLyoqKioqKioq
KioqKioqCisgKiBCRUdJTiBURVNUICoKKyAqKioqKioqKioqKioqKi8KKwordmFyIHggPSAxNzsK
K2Z1bmN0aW9uIGdsb2JhbFgoKSB7IHJldHVybiB4OyB9Cit2YXIgeSA9IDQyOworZnVuY3Rpb24g
Z2xvYmFsWSgpIHsgcmV0dXJuIHk7IH0KKwordmFyIGV2ID0gZXZhbDsKKworZnVuY3Rpb24gdGVz
dFgoKQoreworICAidXNlIHN0cmljdCI7CisKKyAgdmFyIHggPSAyOworICB2YXIgeGNvZGUgPQor
ICAgICJ2YXIgeCA9IDQ7IiArCisgICAgImZ1bmN0aW9uIGFjdFgoYWN0aW9uKSIgKworICAgICJ7
IiArCisgICAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICAgIiAgeyIgKworICAgICIgICAgY2Fz
ZSAnZ2V0JzoiICsKKyAgICAiICAgICAgcmV0dXJuIHg7IiArCisgICAgIiAgICBjYXNlICdzZXQx
JzoiICsKKyAgICAiICAgICAgeCA9IDk7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAgICAi
ICAgIGNhc2UgJ3NldDInOiIgKworICAgICIgICAgICB4ID0gMjM7IiArCisgICAgIiAgICAgIHJl
dHVybjsiICsKKyAgICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICAgIiAgICAgIHRyeSB7IHJl
dHVybiBldmFsKCdkZWxldGUgeCcpOyB9IiArCisgICAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVy
biBlLm5hbWU7IH0iICsKKyAgICAiICB9IiArCisgICAgIn0iICsKKyAgICAiYWN0WDsiOworCisg
IHZhciBsb2NhbDAgPSB4OworICB2YXIgZ2xvYmFsMCA9IGdsb2JhbFgoKTsKKworICB2YXIgZiA9
IGV2YWwoeGNvZGUpOworCisgIHZhciBpbm5lcjEgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsMSA9
IHg7CisgIHZhciBnbG9iYWwxID0gZ2xvYmFsWCgpOworCisgIHggPSA3OworICB2YXIgaW5uZXIy
ID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDIgPSB4OworICB2YXIgZ2xvYmFsMiA9IGdsb2JhbFgo
KTsKKworICBmKCJzZXQxIik7CisgIHZhciBpbm5lcjMgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2Fs
MyA9IHg7CisgIHZhciBnbG9iYWwzID0gZ2xvYmFsWCgpOworCisgIHZhciBkZWwgPSBmKCJkZWxl
dGUiKTsKKyAgdmFyIGlubmVyNCA9IGYoImdldCIpOworICB2YXIgbG9jYWw0ID0geDsKKyAgdmFy
IGdsb2JhbDQgPSBnbG9iYWxYKCk7CisKKyAgZigic2V0MiIpOworICB2YXIgaW5uZXI1ID0gZigi
Z2V0Iik7CisgIHZhciBsb2NhbDUgPSB4OworICB2YXIgZ2xvYmFsNSA9IGdsb2JhbFgoKTsKKwor
ICByZXR1cm4geworICAgICAgICAgICBsb2NhbDA6IGxvY2FsMCwgZ2xvYmFsMDogZ2xvYmFsMCwK
KyAgICAgICAgICAgaW5uZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLCBnbG9iYWwxOiBnbG9i
YWwxLAorICAgICAgICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsIGdsb2JhbDI6
IGdsb2JhbDIsCisgICAgICAgICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywgZ2xv
YmFsMzogZ2xvYmFsMywKKyAgICAgICAgICAgZGVsOiBkZWwsCisgICAgICAgICAgIGlubmVyNDog
aW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwgZ2xvYmFsNDogZ2xvYmFsNCwKKyAgICAgICAgICAgaW5u
ZXI1OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1LCBnbG9iYWw1OiBnbG9iYWw1LAorICAgICAgICAg
fTsKK30KKwordmFyIHJlc3VsdHNYID0gdGVzdFgoKTsKKworYXNzZXJ0RXEocmVzdWx0c1gubG9j
YWwwLCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDAsIDE3KTsKKworYXNzZXJ0RXEocmVz
dWx0c1guaW5uZXIxLCA0KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMSwgMik7Cithc3NlcnRF
cShyZXN1bHRzWC5nbG9iYWwxLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMiwgNCk7
Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDIsIDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFs
MiwgMTcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjMsIDkpOworYXNzZXJ0RXEocmVzdWx0
c1gubG9jYWwzLCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDMsIDE3KTsKKworYXNzZXJ0
RXEocmVzdWx0c1guZGVsLCAiU3ludGF4RXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5u
ZXI0LCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsNCwgNyk7Cithc3NlcnRFcShyZXN1bHRz
WC5nbG9iYWw0LCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNSwgMjMpOworYXNzZXJ0
RXEocmVzdWx0c1gubG9jYWw1LCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDUsIDE3KTsK
KworCitmdW5jdGlvbiB0ZXN0WSgpCit7CisgICJ1c2Ugc3RyaWN0IjsKKworICB2YXIgeWNvZGUg
PQorICAgICJ2YXIgeSA9IDU7IiArCisgICAgImZ1bmN0aW9uIGFjdFkoYWN0aW9uKSIgKworICAg
ICJ7IiArCisgICAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICAgIiAgeyIgKworICAgICIgICAg
Y2FzZSAnZ2V0JzoiICsKKyAgICAiICAgICAgcmV0dXJuIHk7IiArCisgICAgIiAgICBjYXNlICdz
ZXQxJzoiICsKKyAgICAiICAgICAgeSA9IDI7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAg
ICAiICAgIGNhc2UgJ3NldDInOiIgKworICAgICIgICAgICB5ID0gNzE7IiArCisgICAgIiAgICAg
IHJldHVybjsiICsKKyAgICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICAgIiAgICAgIHRyeSB7
IHJldHVybiBldmFsKCdkZWxldGUgeScpOyB9IiArCisgICAgIiAgICAgIGNhdGNoIChlKSB7IHJl
dHVybiBlLm5hbWU7IH0iICsKKyAgICAiICB9IiArCisgICAgIn0iICsKKyAgICAiYWN0WTsiOwor
CisgIHZhciBsb2NhbDAgPSB5OworICB2YXIgZ2xvYmFsMCA9IGdsb2JhbFkoKTsKKworICB2YXIg
ZiA9IGV2YWwoeWNvZGUpOworCisgIHZhciBpbm5lcjEgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2Fs
MSA9IHk7CisgIHZhciBnbG9iYWwxID0gZ2xvYmFsWSgpOworCisgIHkgPSA4OworICB2YXIgaW5u
ZXIyID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDIgPSB5OworICB2YXIgZ2xvYmFsMiA9IGdsb2Jh
bFkoKTsKKworICBmKCJzZXQxIik7CisgIHZhciBpbm5lcjMgPSBmKCJnZXQiKTsKKyAgdmFyIGxv
Y2FsMyA9IHk7CisgIHZhciBnbG9iYWwzID0gZ2xvYmFsWSgpOworCisgIHZhciBkZWwgPSBmKCJk
ZWxldGUiKTsKKyAgdmFyIGlubmVyNCA9IGYoImdldCIpOworICB2YXIgbG9jYWw0ID0geTsKKyAg
dmFyIGdsb2JhbDQgPSBnbG9iYWxZKCk7CisKKyAgZigic2V0MiIpOworICB2YXIgaW5uZXI1ID0g
ZigiZ2V0Iik7CisgIHZhciBsb2NhbDUgPSB5OworICB2YXIgZ2xvYmFsNSA9IGdsb2JhbFkoKTsK
KworICByZXR1cm4geworICAgICAgICAgICBsb2NhbDA6IGxvY2FsMCwgZ2xvYmFsMDogZ2xvYmFs
MCwKKyAgICAgICAgICAgaW5uZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLCBnbG9iYWwxOiBn
bG9iYWwxLAorICAgICAgICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsIGdsb2Jh
bDI6IGdsb2JhbDIsCisgICAgICAgICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywg
Z2xvYmFsMzogZ2xvYmFsMywKKyAgICAgICAgICAgZGVsOiBkZWwsCisgICAgICAgICAgIGlubmVy
NDogaW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwgZ2xvYmFsNDogZ2xvYmFsNCwKKyAgICAgICAgICAg
aW5uZXI1OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1LCBnbG9iYWw1OiBnbG9iYWw1LAorICAgICAg
ICAgfTsKK30KKwordmFyIHJlc3VsdHNZID0gdGVzdFkoKTsKKworYXNzZXJ0RXEocmVzdWx0c1ku
bG9jYWwwLCA0Mik7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWwwLCA0Mik7CisKK2Fzc2VydEVx
KHJlc3VsdHNZLmlubmVyMSwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDEsIDQyKTsKK2Fz
c2VydEVxKHJlc3VsdHNZLmdsb2JhbDEsIDQyKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIy
LCA1KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMiwgOCk7Cithc3NlcnRFcShyZXN1bHRzWS5n
bG9iYWwyLCA4KTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIzLCAyKTsKK2Fzc2VydEVxKHJl
c3VsdHNZLmxvY2FsMywgOCk7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWwzLCA4KTsKKworYXNz
ZXJ0RXEocmVzdWx0c1kuZGVsLCAiU3ludGF4RXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1ku
aW5uZXI0LCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsNCwgOCk7Cithc3NlcnRFcShyZXN1
bHRzWS5nbG9iYWw0LCA4KTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXI1LCA3MSk7Cithc3Nl
cnRFcShyZXN1bHRzWS5sb2NhbDUsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsNSwgOCk7
CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK2lmICh0eXBlb2YgcmVwb3J0Q29tcGFyZSA9
PT0gImZ1bmN0aW9uIikKKyAgcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKworcHJpbnQoIlRl
c3RzIGNvbXBsZXRlISIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhh
dXN0aXZlLWZ1bi1zdHJpY3RjYWxsZXItZGlyZWN0LXN0cmljdGNvZGUuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0
Y2FsbGVyLWRpcmVjdC1zdHJpY3Rjb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5MjczZDVhYmRkZTE2M2U5
MDZmYTU1ZDQ4MTY5NTVlODAwNGNmY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2Fs
bGVyLWRpcmVjdC1zdHJpY3Rjb2RlLmpzCkBAIC0wLDAgKzEsMjE2IEBACisvLyBBbnkgY29weXJp
Z2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKy8vIGh0dHA6Ly9jcmVhdGl2
ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKworLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQordmFyIEJVR05VTUJFUiA9IDUxNDU2ODsKK3ZhciBzdW1tYXJ5ID0gImV2YWwgaW4gYWxs
IGl0cyBteXJpYWQgZmxhdm9ycyI7CisKK3ByaW50KEJVR05VTUJFUiArICI6ICIgKyBzdW1tYXJ5
KTsKKworLyoqKioqKioqKioqKioqCisgKiBCRUdJTiBURVNUICoKKyAqKioqKioqKioqKioqKi8K
KwordmFyIHggPSAxNzsKK2Z1bmN0aW9uIGdsb2JhbFgoKSB7IHJldHVybiB4OyB9Cit2YXIgeSA9
IDQyOworZnVuY3Rpb24gZ2xvYmFsWSgpIHsgcmV0dXJuIHk7IH0KKwordmFyIGV2ID0gZXZhbDsK
KworZnVuY3Rpb24gdGVzdFgoKQoreworICAidXNlIHN0cmljdCI7CisKKyAgdmFyIHggPSAyOwor
ICB2YXIgeGNvZGUgPQorICAgICIndXNlIHN0cmljdCc7IiArCisgICAgInZhciB4ID0gNDsiICsK
KyAgICAiZnVuY3Rpb24gYWN0WChhY3Rpb24pIiArCisgICAgInsiICsKKyAgICAiICBzd2l0Y2gg
KGFjdGlvbikiICsKKyAgICAiICB7IiArCisgICAgIiAgICBjYXNlICdnZXQnOiIgKworICAgICIg
ICAgICByZXR1cm4geDsiICsKKyAgICAiICAgIGNhc2UgJ3NldDEnOiIgKworICAgICIgICAgICB4
ID0gOTsiICsKKyAgICAiICAgICAgcmV0dXJuOyIgKworICAgICIgICAgY2FzZSAnc2V0Mic6IiAr
CisgICAgIiAgICAgIHggPSAyMzsiICsKKyAgICAiICAgICAgcmV0dXJuOyIgKworICAgICIgICAg
Y2FzZSAnZGVsZXRlJzoiICsKKyAgICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0ZSB4
Jyk7IH0iICsKKyAgICAiICAgICAgY2F0Y2ggKGUpIHsgcmV0dXJuIGUubmFtZTsgfSIgKworICAg
ICIgIH0iICsKKyAgICAifSIgKworICAgICJhY3RYOyI7CisKKyAgdmFyIGxvY2FsMCA9IHg7Cisg
IHZhciBnbG9iYWwwID0gZ2xvYmFsWCgpOworCisgIHZhciBmID0gZXZhbCh4Y29kZSk7CisKKyAg
dmFyIGlubmVyMSA9IGYoImdldCIpOworICB2YXIgbG9jYWwxID0geDsKKyAgdmFyIGdsb2JhbDEg
PSBnbG9iYWxYKCk7CisKKyAgeCA9IDc7CisgIHZhciBpbm5lcjIgPSBmKCJnZXQiKTsKKyAgdmFy
IGxvY2FsMiA9IHg7CisgIHZhciBnbG9iYWwyID0gZ2xvYmFsWCgpOworCisgIGYoInNldDEiKTsK
KyAgdmFyIGlubmVyMyA9IGYoImdldCIpOworICB2YXIgbG9jYWwzID0geDsKKyAgdmFyIGdsb2Jh
bDMgPSBnbG9iYWxYKCk7CisKKyAgdmFyIGRlbCA9IGYoImRlbGV0ZSIpOworICB2YXIgaW5uZXI0
ID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDQgPSB4OworICB2YXIgZ2xvYmFsNCA9IGdsb2JhbFgo
KTsKKworICBmKCJzZXQyIik7CisgIHZhciBpbm5lcjUgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2Fs
NSA9IHg7CisgIHZhciBnbG9iYWw1ID0gZ2xvYmFsWCgpOworCisgIHJldHVybiB7CisgICAgICAg
ICAgIGxvY2FsMDogbG9jYWwwLCBnbG9iYWwwOiBnbG9iYWwwLAorICAgICAgICAgICBpbm5lcjE6
IGlubmVyMSwgbG9jYWwxOiBsb2NhbDEsIGdsb2JhbDE6IGdsb2JhbDEsCisgICAgICAgICAgIGlu
bmVyMjogaW5uZXIyLCBsb2NhbDI6IGxvY2FsMiwgZ2xvYmFsMjogZ2xvYmFsMiwKKyAgICAgICAg
ICAgaW5uZXIzOiBpbm5lcjMsIGxvY2FsMzogbG9jYWwzLCBnbG9iYWwzOiBnbG9iYWwzLAorICAg
ICAgICAgICBkZWw6IGRlbCwKKyAgICAgICAgICAgaW5uZXI0OiBpbm5lcjQsIGxvY2FsNDogbG9j
YWw0LCBnbG9iYWw0OiBnbG9iYWw0LAorICAgICAgICAgICBpbm5lcjU6IGlubmVyNSwgbG9jYWw1
OiBsb2NhbDUsIGdsb2JhbDU6IGdsb2JhbDUsCisgICAgICAgICB9OworfQorCit2YXIgcmVzdWx0
c1ggPSB0ZXN0WCgpOworCithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDAsIDIpOworYXNzZXJ0RXEo
cmVzdWx0c1guZ2xvYmFsMCwgMTcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjEsIDQpOwor
YXNzZXJ0RXEocmVzdWx0c1gubG9jYWwxLCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDEs
IDE3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXIyLCA0KTsKK2Fzc2VydEVxKHJlc3VsdHNY
LmxvY2FsMiwgNyk7Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWwyLCAxNyk7CisKK2Fzc2VydEVx
KHJlc3VsdHNYLmlubmVyMywgOSk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDMsIDcpOworYXNz
ZXJ0RXEocmVzdWx0c1guZ2xvYmFsMywgMTcpOworCithc3NlcnRFcShyZXN1bHRzWC5kZWwsICJT
eW50YXhFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjQsIDkpOworYXNzZXJ0RXEo
cmVzdWx0c1gubG9jYWw0LCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDQsIDE3KTsKKwor
YXNzZXJ0RXEocmVzdWx0c1guaW5uZXI1LCAyMyk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDUs
IDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFsNSwgMTcpOworCisKK2Z1bmN0aW9uIHRlc3RZ
KCkKK3sKKyAgInVzZSBzdHJpY3QiOworCisgIHZhciB5Y29kZSA9CisgICAgIid1c2Ugc3RyaWN0
JzsiICsKKyAgICAidmFyIHkgPSA1OyIgKworICAgICJmdW5jdGlvbiBhY3RZKGFjdGlvbikiICsK
KyAgICAieyIgKworICAgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAgICIgIHsiICsKKyAgICAi
ICAgIGNhc2UgJ2dldCc6IiArCisgICAgIiAgICAgIHJldHVybiB5OyIgKworICAgICIgICAgY2Fz
ZSAnc2V0MSc6IiArCisgICAgIiAgICAgIHkgPSAyOyIgKworICAgICIgICAgICByZXR1cm47IiAr
CisgICAgIiAgICBjYXNlICdzZXQyJzoiICsKKyAgICAiICAgICAgeSA9IDcxOyIgKworICAgICIg
ICAgICByZXR1cm47IiArCisgICAgIiAgICBjYXNlICdkZWxldGUnOiIgKworICAgICIgICAgICB0
cnkgeyByZXR1cm4gZXZhbCgnZGVsZXRlIHknKTsgfSIgKworICAgICIgICAgICBjYXRjaCAoZSkg
eyByZXR1cm4gZS5uYW1lOyB9IiArCisgICAgIiAgfSIgKworICAgICJ9IiArCisgICAgImFjdFk7
IjsKKworICB2YXIgbG9jYWwwID0geTsKKyAgdmFyIGdsb2JhbDAgPSBnbG9iYWxZKCk7CisKKyAg
dmFyIGYgPSBldmFsKHljb2RlKTsKKworICB2YXIgaW5uZXIxID0gZigiZ2V0Iik7CisgIHZhciBs
b2NhbDEgPSB5OworICB2YXIgZ2xvYmFsMSA9IGdsb2JhbFkoKTsKKworICB5ID0gODsKKyAgdmFy
IGlubmVyMiA9IGYoImdldCIpOworICB2YXIgbG9jYWwyID0geTsKKyAgdmFyIGdsb2JhbDIgPSBn
bG9iYWxZKCk7CisKKyAgZigic2V0MSIpOworICB2YXIgaW5uZXIzID0gZigiZ2V0Iik7CisgIHZh
ciBsb2NhbDMgPSB5OworICB2YXIgZ2xvYmFsMyA9IGdsb2JhbFkoKTsKKworICB2YXIgZGVsID0g
ZigiZGVsZXRlIik7CisgIHZhciBpbm5lcjQgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNCA9IHk7
CisgIHZhciBnbG9iYWw0ID0gZ2xvYmFsWSgpOworCisgIGYoInNldDIiKTsKKyAgdmFyIGlubmVy
NSA9IGYoImdldCIpOworICB2YXIgbG9jYWw1ID0geTsKKyAgdmFyIGdsb2JhbDUgPSBnbG9iYWxZ
KCk7CisKKyAgcmV0dXJuIHsKKyAgICAgICAgICAgbG9jYWwwOiBsb2NhbDAsIGdsb2JhbDA6IGds
b2JhbDAsCisgICAgICAgICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwgZ2xvYmFs
MTogZ2xvYmFsMSwKKyAgICAgICAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLCBn
bG9iYWwyOiBnbG9iYWwyLAorICAgICAgICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2Nh
bDMsIGdsb2JhbDM6IGdsb2JhbDMsCisgICAgICAgICAgIGRlbDogZGVsLAorICAgICAgICAgICBp
bm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsIGdsb2JhbDQ6IGdsb2JhbDQsCisgICAgICAg
ICAgIGlubmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2FsNSwgZ2xvYmFsNTogZ2xvYmFsNSwKKyAg
ICAgICAgIH07Cit9CisKK3ZhciByZXN1bHRzWSA9IHRlc3RZKCk7CisKK2Fzc2VydEVxKHJlc3Vs
dHNZLmxvY2FsMCwgNDIpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMCwgNDIpOworCithc3Nl
cnRFcShyZXN1bHRzWS5pbm5lcjEsIDUpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwxLCA0Mik7
Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWwxLCA0Mik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlu
bmVyMiwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDIsIDgpOworYXNzZXJ0RXEocmVzdWx0
c1kuZ2xvYmFsMiwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMywgMik7Cithc3NlcnRF
cShyZXN1bHRzWS5sb2NhbDMsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMywgOCk7CisK
K2Fzc2VydEVxKHJlc3VsdHNZLmRlbCwgIlN5bnRheEVycm9yIik7CisKK2Fzc2VydEVxKHJlc3Vs
dHNZLmlubmVyNCwgMik7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDQsIDgpOworYXNzZXJ0RXEo
cmVzdWx0c1kuZ2xvYmFsNCwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyNSwgNzEpOwor
YXNzZXJ0RXEocmVzdWx0c1kubG9jYWw1LCA4KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmdsb2JhbDUs
IDgpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpZiAodHlwZW9mIHJlcG9ydENvbXBh
cmUgPT09ICJmdW5jdGlvbiIpCisgIHJlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ByaW50
KCJUZXN0cyBjb21wbGV0ZSEiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMv
ZXhoYXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWluZGlyZWN0LW5vcm1hbGNvZGUuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4t
c3RyaWN0Y2FsbGVyLWluZGlyZWN0LW5vcm1hbGNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODU1YWQzZDIy
ZWU2YmE0YzVlOTM0ZWJmNGMzZTI1Y2U0NDE0MTU0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1z
dHJpY3RjYWxsZXItaW5kaXJlY3Qtbm9ybWFsY29kZS5qcwpAQCAtMCwwICsxLDIxNCBAQAorLy8g
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisvLyBodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisKKy8vLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK3ZhciBCVUdOVU1CRVIgPSA1MTQ1Njg7Cit2YXIgc3VtbWFyeSA9ICJl
dmFsIGluIGFsbCBpdHMgbXlyaWFkIGZsYXZvcnMiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAi
ICsgc3VtbWFyeSk7CisKKy8qKioqKioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioq
KioqKioqKiovCisKK3ZhciB4ID0gMTc7CitmdW5jdGlvbiBnbG9iYWxYKCkgeyByZXR1cm4geDsg
fQordmFyIHkgPSA0MjsKK2Z1bmN0aW9uIGdsb2JhbFkoKSB7IHJldHVybiB5OyB9CisKK3ZhciBl
diA9IGV2YWw7CisKK2Z1bmN0aW9uIHRlc3RYKCkKK3sKKyAgInVzZSBzdHJpY3QiOworCisgIHZh
ciB4ID0gMjsKKyAgdmFyIHhjb2RlID0KKyAgICAidmFyIHggPSA0OyIgKworICAgICJmdW5jdGlv
biBhY3RYKGFjdGlvbikiICsKKyAgICAieyIgKworICAgICIgIHN3aXRjaCAoYWN0aW9uKSIgKwor
ICAgICIgIHsiICsKKyAgICAiICAgIGNhc2UgJ2dldCc6IiArCisgICAgIiAgICAgIHJldHVybiB4
OyIgKworICAgICIgICAgY2FzZSAnc2V0MSc6IiArCisgICAgIiAgICAgIHggPSA5OyIgKworICAg
ICIgICAgICByZXR1cm47IiArCisgICAgIiAgICBjYXNlICdzZXQyJzoiICsKKyAgICAiICAgICAg
eCA9IDIzOyIgKworICAgICIgICAgICByZXR1cm47IiArCisgICAgIiAgICBjYXNlICdkZWxldGUn
OiIgKworICAgICIgICAgICB0cnkgeyByZXR1cm4gZXZhbCgnZGVsZXRlIHgnKTsgfSIgKworICAg
ICIgICAgICBjYXRjaCAoZSkgeyByZXR1cm4gZS5uYW1lOyB9IiArCisgICAgIiAgfSIgKworICAg
ICJ9IiArCisgICAgImFjdFg7IjsKKworICB2YXIgbG9jYWwwID0geDsKKyAgdmFyIGdsb2JhbDAg
PSBnbG9iYWxYKCk7CisKKyAgdmFyIGYgPSBldih4Y29kZSk7CisKKyAgdmFyIGlubmVyMSA9IGYo
ImdldCIpOworICB2YXIgbG9jYWwxID0geDsKKyAgdmFyIGdsb2JhbDEgPSBnbG9iYWxYKCk7CisK
KyAgeCA9IDc7CisgIHZhciBpbm5lcjIgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsMiA9IHg7Cisg
IHZhciBnbG9iYWwyID0gZ2xvYmFsWCgpOworCisgIGYoInNldDEiKTsKKyAgdmFyIGlubmVyMyA9
IGYoImdldCIpOworICB2YXIgbG9jYWwzID0geDsKKyAgdmFyIGdsb2JhbDMgPSBnbG9iYWxYKCk7
CisKKyAgdmFyIGRlbCA9IGYoImRlbGV0ZSIpOworICB2YXIgaW5uZXI0ID0gZigiZ2V0Iik7Cisg
IHZhciBsb2NhbDQgPSB4OworICB2YXIgZ2xvYmFsNCA9IGdsb2JhbFgoKTsKKworICBmKCJzZXQy
Iik7CisgIHZhciBpbm5lcjUgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNSA9IHg7CisgIHZhciBn
bG9iYWw1ID0gZ2xvYmFsWCgpOworCisgIHJldHVybiB7CisgICAgICAgICAgIGxvY2FsMDogbG9j
YWwwLCBnbG9iYWwwOiBnbG9iYWwwLAorICAgICAgICAgICBpbm5lcjE6IGlubmVyMSwgbG9jYWwx
OiBsb2NhbDEsIGdsb2JhbDE6IGdsb2JhbDEsCisgICAgICAgICAgIGlubmVyMjogaW5uZXIyLCBs
b2NhbDI6IGxvY2FsMiwgZ2xvYmFsMjogZ2xvYmFsMiwKKyAgICAgICAgICAgaW5uZXIzOiBpbm5l
cjMsIGxvY2FsMzogbG9jYWwzLCBnbG9iYWwzOiBnbG9iYWwzLAorICAgICAgICAgICBkZWw6IGRl
bCwKKyAgICAgICAgICAgaW5uZXI0OiBpbm5lcjQsIGxvY2FsNDogbG9jYWw0LCBnbG9iYWw0OiBn
bG9iYWw0LAorICAgICAgICAgICBpbm5lcjU6IGlubmVyNSwgbG9jYWw1OiBsb2NhbDUsIGdsb2Jh
bDU6IGdsb2JhbDUsCisgICAgICAgICB9OworfQorCit2YXIgcmVzdWx0c1ggPSB0ZXN0WCgpOwor
Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDAsIDIpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFs
MCwgMTcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjEsIDQpOworYXNzZXJ0RXEocmVzdWx0
c1gubG9jYWwxLCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDEsIDQpOworCithc3NlcnRF
cShyZXN1bHRzWC5pbm5lcjIsIDQpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwyLCA3KTsKK2Fz
c2VydEVxKHJlc3VsdHNYLmdsb2JhbDIsIDQpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjMs
IDkpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwzLCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmds
b2JhbDMsIDkpOworCithc3NlcnRFcShyZXN1bHRzWC5kZWwsIGZhbHNlKTsKKworYXNzZXJ0RXEo
cmVzdWx0c1guaW5uZXI0LCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsNCwgNyk7Cithc3Nl
cnRFcShyZXN1bHRzWC5nbG9iYWw0LCA5KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXI1LCAy
Myk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDUsIDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xv
YmFsNSwgMjMpOworCisKK2Z1bmN0aW9uIHRlc3RZKCkKK3sKKyAgInVzZSBzdHJpY3QiOworCisg
IHZhciB5Y29kZSA9CisgICAgInZhciB5ID0gNTsiICsKKyAgICAiZnVuY3Rpb24gYWN0WShhY3Rp
b24pIiArCisgICAgInsiICsKKyAgICAiICBzd2l0Y2ggKGFjdGlvbikiICsKKyAgICAiICB7IiAr
CisgICAgIiAgICBjYXNlICdnZXQnOiIgKworICAgICIgICAgICByZXR1cm4geTsiICsKKyAgICAi
ICAgIGNhc2UgJ3NldDEnOiIgKworICAgICIgICAgICB5ID0gMjsiICsKKyAgICAiICAgICAgcmV0
dXJuOyIgKworICAgICIgICAgY2FzZSAnc2V0Mic6IiArCisgICAgIiAgICAgIHkgPSA3MTsiICsK
KyAgICAiICAgICAgcmV0dXJuOyIgKworICAgICIgICAgY2FzZSAnZGVsZXRlJzoiICsKKyAgICAi
ICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0ZSB5Jyk7IH0iICsKKyAgICAiICAgICAgY2F0
Y2ggKGUpIHsgcmV0dXJuIGUubmFtZTsgfSIgKworICAgICIgIH0iICsKKyAgICAifSIgKworICAg
ICJhY3RZOyI7CisKKyAgdmFyIGxvY2FsMCA9IHk7CisgIHZhciBnbG9iYWwwID0gZ2xvYmFsWSgp
OworCisgIHZhciBmID0gZXYoeWNvZGUpOworCisgIHZhciBpbm5lcjEgPSBmKCJnZXQiKTsKKyAg
dmFyIGxvY2FsMSA9IHk7CisgIHZhciBnbG9iYWwxID0gZ2xvYmFsWSgpOworCisgIHkgPSA4Owor
ICB2YXIgaW5uZXIyID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDIgPSB5OworICB2YXIgZ2xvYmFs
MiA9IGdsb2JhbFkoKTsKKworICBmKCJzZXQxIik7CisgIHZhciBpbm5lcjMgPSBmKCJnZXQiKTsK
KyAgdmFyIGxvY2FsMyA9IHk7CisgIHZhciBnbG9iYWwzID0gZ2xvYmFsWSgpOworCisgIHZhciBk
ZWwgPSBmKCJkZWxldGUiKTsKKyAgdmFyIGlubmVyNCA9IGYoImdldCIpOworICB2YXIgbG9jYWw0
ID0geTsKKyAgdmFyIGdsb2JhbDQgPSBnbG9iYWxZKCk7CisKKyAgZigic2V0MiIpOworICB2YXIg
aW5uZXI1ID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDUgPSB5OworICB2YXIgZ2xvYmFsNSA9IGds
b2JhbFkoKTsKKworICByZXR1cm4geworICAgICAgICAgICBsb2NhbDA6IGxvY2FsMCwgZ2xvYmFs
MDogZ2xvYmFsMCwKKyAgICAgICAgICAgaW5uZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLCBn
bG9iYWwxOiBnbG9iYWwxLAorICAgICAgICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2Nh
bDIsIGdsb2JhbDI6IGdsb2JhbDIsCisgICAgICAgICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6
IGxvY2FsMywgZ2xvYmFsMzogZ2xvYmFsMywKKyAgICAgICAgICAgZGVsOiBkZWwsCisgICAgICAg
ICAgIGlubmVyNDogaW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwgZ2xvYmFsNDogZ2xvYmFsNCwKKyAg
ICAgICAgICAgaW5uZXI1OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1LCBnbG9iYWw1OiBnbG9iYWw1
LAorICAgICAgICAgfTsKK30KKwordmFyIHJlc3VsdHNZID0gdGVzdFkoKTsKKworYXNzZXJ0RXEo
cmVzdWx0c1kubG9jYWwwLCA0Mik7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWwwLCA0Mik7CisK
K2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMSwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDEs
IDUpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMSwgNSk7CisKK2Fzc2VydEVxKHJlc3VsdHNZ
LmlubmVyMiwgOCk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDIsIDgpOworYXNzZXJ0RXEocmVz
dWx0c1kuZ2xvYmFsMiwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMywgMik7Cithc3Nl
cnRFcShyZXN1bHRzWS5sb2NhbDMsIDIpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMywgMik7
CisKK2Fzc2VydEVxKHJlc3VsdHNZLmRlbCwgZmFsc2UpOworCithc3NlcnRFcShyZXN1bHRzWS5p
bm5lcjQsIDIpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWw0LCAyKTsKK2Fzc2VydEVxKHJlc3Vs
dHNZLmdsb2JhbDQsIDIpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjUsIDcxKTsKK2Fzc2Vy
dEVxKHJlc3VsdHNZLmxvY2FsNSwgNzEpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsNSwgNzEp
OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpZiAodHlwZW9mIHJlcG9ydENvbXBhcmUg
PT09ICJmdW5jdGlvbiIpCisgIHJlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ByaW50KCJU
ZXN0cyBjb21wbGV0ZSEiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXho
YXVzdGl2ZS1mdW4tc3RyaWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1mdW4tc3Ry
aWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY3NjljYzAxMWZh
MDJiZTFiZGYwODAxZWU4Mjc0MzBkNzY4YjcwNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWZ1bi1zdHJp
Y3RjYWxsZXItaW5kaXJlY3Qtc3RyaWN0Y29kZS5qcwpAQCAtMCwwICsxLDIxNiBAQAorLy8gQW55
IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisvLyBodHRwOi8v
Y3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisKKy8vLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK3ZhciBCVUdOVU1CRVIgPSA1MTQ1Njg7Cit2YXIgc3VtbWFyeSA9ICJldmFs
IGluIGFsbCBpdHMgbXlyaWFkIGZsYXZvcnMiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAiICsg
c3VtbWFyeSk7CisKKy8qKioqKioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioqKioq
KioqKiovCisKK3ZhciB4ID0gMTc7CitmdW5jdGlvbiBnbG9iYWxYKCkgeyByZXR1cm4geDsgfQor
dmFyIHkgPSA0MjsKK2Z1bmN0aW9uIGdsb2JhbFkoKSB7IHJldHVybiB5OyB9CisKK3ZhciBldiA9
IGV2YWw7CisKK2Z1bmN0aW9uIHRlc3RYKCkKK3sKKyAgInVzZSBzdHJpY3QiOworCisgIHZhciB4
ID0gMjsKKyAgdmFyIHhjb2RlID0KKyAgICAiJ3VzZSBzdHJpY3QnOyIgKworICAgICJ2YXIgeCA9
IDQ7IiArCisgICAgImZ1bmN0aW9uIGFjdFgoYWN0aW9uKSIgKworICAgICJ7IiArCisgICAgIiAg
c3dpdGNoIChhY3Rpb24pIiArCisgICAgIiAgeyIgKworICAgICIgICAgY2FzZSAnZ2V0JzoiICsK
KyAgICAiICAgICAgcmV0dXJuIHg7IiArCisgICAgIiAgICBjYXNlICdzZXQxJzoiICsKKyAgICAi
ICAgICAgeCA9IDk7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAgICAiICAgIGNhc2UgJ3Nl
dDInOiIgKworICAgICIgICAgICB4ID0gMjM7IiArCisgICAgIiAgICAgIHJldHVybjsiICsKKyAg
ICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICAgIiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdk
ZWxldGUgeCcpOyB9IiArCisgICAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0i
ICsKKyAgICAiICB9IiArCisgICAgIn0iICsKKyAgICAiYWN0WDsiOworCisgIHZhciBsb2NhbDAg
PSB4OworICB2YXIgZ2xvYmFsMCA9IGdsb2JhbFgoKTsKKworICB2YXIgZiA9IGV2KHhjb2RlKTsK
KworICB2YXIgaW5uZXIxID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDEgPSB4OworICB2YXIgZ2xv
YmFsMSA9IGdsb2JhbFgoKTsKKworICB4ID0gNzsKKyAgdmFyIGlubmVyMiA9IGYoImdldCIpOwor
ICB2YXIgbG9jYWwyID0geDsKKyAgdmFyIGdsb2JhbDIgPSBnbG9iYWxYKCk7CisKKyAgZigic2V0
MSIpOworICB2YXIgaW5uZXIzID0gZigiZ2V0Iik7CisgIHZhciBsb2NhbDMgPSB4OworICB2YXIg
Z2xvYmFsMyA9IGdsb2JhbFgoKTsKKworICB2YXIgZGVsID0gZigiZGVsZXRlIik7CisgIHZhciBp
bm5lcjQgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNCA9IHg7CisgIHZhciBnbG9iYWw0ID0gZ2xv
YmFsWCgpOworCisgIGYoInNldDIiKTsKKyAgdmFyIGlubmVyNSA9IGYoImdldCIpOworICB2YXIg
bG9jYWw1ID0geDsKKyAgdmFyIGdsb2JhbDUgPSBnbG9iYWxYKCk7CisKKyAgcmV0dXJuIHsKKyAg
ICAgICAgICAgbG9jYWwwOiBsb2NhbDAsIGdsb2JhbDA6IGdsb2JhbDAsCisgICAgICAgICAgIGlu
bmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwgZ2xvYmFsMTogZ2xvYmFsMSwKKyAgICAgICAg
ICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLCBnbG9iYWwyOiBnbG9iYWwyLAorICAg
ICAgICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsIGdsb2JhbDM6IGdsb2JhbDMs
CisgICAgICAgICAgIGRlbDogZGVsLAorICAgICAgICAgICBpbm5lcjQ6IGlubmVyNCwgbG9jYWw0
OiBsb2NhbDQsIGdsb2JhbDQ6IGdsb2JhbDQsCisgICAgICAgICAgIGlubmVyNTogaW5uZXI1LCBs
b2NhbDU6IGxvY2FsNSwgZ2xvYmFsNTogZ2xvYmFsNSwKKyAgICAgICAgIH07Cit9CisKK3ZhciBy
ZXN1bHRzWCA9IHRlc3RYKCk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMCwgMik7Cithc3Nl
cnRFcShyZXN1bHRzWC5nbG9iYWwwLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMSwg
NCk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDEsIDIpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xv
YmFsMSwgMTcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjIsIDQpOworYXNzZXJ0RXEocmVz
dWx0c1gubG9jYWwyLCA3KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmdsb2JhbDIsIDE3KTsKKworYXNz
ZXJ0RXEocmVzdWx0c1guaW5uZXIzLCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMywgNyk7
Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWwzLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmRl
bCwgIlN5bnRheEVycm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNCwgOSk7Cithc3Nl
cnRFcShyZXN1bHRzWC5sb2NhbDQsIDcpOworYXNzZXJ0RXEocmVzdWx0c1guZ2xvYmFsNCwgMTcp
OworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjUsIDIzKTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxv
Y2FsNSwgNyk7Cithc3NlcnRFcShyZXN1bHRzWC5nbG9iYWw1LCAxNyk7CisKKworZnVuY3Rpb24g
dGVzdFkoKQoreworICAidXNlIHN0cmljdCI7CisKKyAgdmFyIHljb2RlID0KKyAgICAiJ3VzZSBz
dHJpY3QnOyIgKworICAgICJ2YXIgeSA9IDU7IiArCisgICAgImZ1bmN0aW9uIGFjdFkoYWN0aW9u
KSIgKworICAgICJ7IiArCisgICAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICAgIiAgeyIgKwor
ICAgICIgICAgY2FzZSAnZ2V0JzoiICsKKyAgICAiICAgICAgcmV0dXJuIHk7IiArCisgICAgIiAg
ICBjYXNlICdzZXQxJzoiICsKKyAgICAiICAgICAgeSA9IDI7IiArCisgICAgIiAgICAgIHJldHVy
bjsiICsKKyAgICAiICAgIGNhc2UgJ3NldDInOiIgKworICAgICIgICAgICB5ID0gNzE7IiArCisg
ICAgIiAgICAgIHJldHVybjsiICsKKyAgICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICAgIiAg
ICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxldGUgeScpOyB9IiArCisgICAgIiAgICAgIGNhdGNo
IChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAgICAiICB9IiArCisgICAgIn0iICsKKyAgICAi
YWN0WTsiOworCisgIHZhciBsb2NhbDAgPSB5OworICB2YXIgZ2xvYmFsMCA9IGdsb2JhbFkoKTsK
KworICB2YXIgZiA9IGV2KHljb2RlKTsKKworICB2YXIgaW5uZXIxID0gZigiZ2V0Iik7CisgIHZh
ciBsb2NhbDEgPSB5OworICB2YXIgZ2xvYmFsMSA9IGdsb2JhbFkoKTsKKworICB5ID0gODsKKyAg
dmFyIGlubmVyMiA9IGYoImdldCIpOworICB2YXIgbG9jYWwyID0geTsKKyAgdmFyIGdsb2JhbDIg
PSBnbG9iYWxZKCk7CisKKyAgZigic2V0MSIpOworICB2YXIgaW5uZXIzID0gZigiZ2V0Iik7Cisg
IHZhciBsb2NhbDMgPSB5OworICB2YXIgZ2xvYmFsMyA9IGdsb2JhbFkoKTsKKworICB2YXIgZGVs
ID0gZigiZGVsZXRlIik7CisgIHZhciBpbm5lcjQgPSBmKCJnZXQiKTsKKyAgdmFyIGxvY2FsNCA9
IHk7CisgIHZhciBnbG9iYWw0ID0gZ2xvYmFsWSgpOworCisgIGYoInNldDIiKTsKKyAgdmFyIGlu
bmVyNSA9IGYoImdldCIpOworICB2YXIgbG9jYWw1ID0geTsKKyAgdmFyIGdsb2JhbDUgPSBnbG9i
YWxZKCk7CisKKyAgcmV0dXJuIHsKKyAgICAgICAgICAgbG9jYWwwOiBsb2NhbDAsIGdsb2JhbDA6
IGdsb2JhbDAsCisgICAgICAgICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwgZ2xv
YmFsMTogZ2xvYmFsMSwKKyAgICAgICAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwy
LCBnbG9iYWwyOiBnbG9iYWwyLAorICAgICAgICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBs
b2NhbDMsIGdsb2JhbDM6IGdsb2JhbDMsCisgICAgICAgICAgIGRlbDogZGVsLAorICAgICAgICAg
ICBpbm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsIGdsb2JhbDQ6IGdsb2JhbDQsCisgICAg
ICAgICAgIGlubmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2FsNSwgZ2xvYmFsNTogZ2xvYmFsNSwK
KyAgICAgICAgIH07Cit9CisKK3ZhciByZXN1bHRzWSA9IHRlc3RZKCk7CisKK2Fzc2VydEVxKHJl
c3VsdHNZLmxvY2FsMCwgNDIpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMCwgNDIpOworCith
c3NlcnRFcShyZXN1bHRzWS5pbm5lcjEsIDUpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwxLCA0
Mik7Cithc3NlcnRFcShyZXN1bHRzWS5nbG9iYWwxLCA0Mik7CisKK2Fzc2VydEVxKHJlc3VsdHNZ
LmlubmVyMiwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDIsIDgpOworYXNzZXJ0RXEocmVz
dWx0c1kuZ2xvYmFsMiwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMywgMik7Cithc3Nl
cnRFcShyZXN1bHRzWS5sb2NhbDMsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kuZ2xvYmFsMywgOCk7
CisKK2Fzc2VydEVxKHJlc3VsdHNZLmRlbCwgIlN5bnRheEVycm9yIik7CisKK2Fzc2VydEVxKHJl
c3VsdHNZLmlubmVyNCwgMik7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDQsIDgpOworYXNzZXJ0
RXEocmVzdWx0c1kuZ2xvYmFsNCwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyNSwgNzEp
OworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWw1LCA4KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmdsb2Jh
bDUsIDgpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpZiAodHlwZW9mIHJlcG9ydENv
bXBhcmUgPT09ICJmdW5jdGlvbiIpCisgIHJlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3By
aW50KCJUZXN0cyBjb21wbGV0ZSEiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVz
dHMvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWRpcmVjdC1ub3JtYWxjb2RlLmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUt
Z2xvYmFsLW5vcm1hbGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDY1
ODE4ZWJiYmI1MmY1ZDllNmE2MzVkNjI4NDFjNDRhZjE0MDBjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUt
Z2xvYmFsLW5vcm1hbGNhbGxlci1kaXJlY3Qtbm9ybWFsY29kZS5qcwpAQCAtMCwwICsxLDE3NCBA
QAorLy8gQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisv
LyBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisKKy8v
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK3ZhciBCVUdOVU1CRVIgPSA1MTQ1Njg7Cit2YXIgc3VtbWFy
eSA9ICJldmFsIGluIGFsbCBpdHMgbXlyaWFkIGZsYXZvcnMiOworCitwcmludChCVUdOVU1CRVIg
KyAiOiAiICsgc3VtbWFyeSk7CisKKy8qKioqKioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisg
KioqKioqKioqKioqKiovCisKK3ZhciB4ID0gMTc7CisKK3ZhciBldiA9IGV2YWw7CisKK3ZhciB4
Y29kZSA9CisgICJ2YXIgeCA9IDQ7IiArCisgICJmdW5jdGlvbiBhY3RYKGFjdGlvbikiICsKKyAg
InsiICsKKyAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICIgIHsiICsKKyAgIiAgICBjYXNlICdn
ZXQnOiIgKworICAiICAgICAgcmV0dXJuIHg7IiArCisgICIgICAgY2FzZSAnc2V0MSc6IiArCisg
ICIgICAgICB4ID0gOTsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdzZXQy
JzoiICsKKyAgIiAgICAgIHggPSAyMzsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBj
YXNlICdkZWxldGUnOiIgKworICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0ZSB4Jyk7
IH0iICsKKyAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAgIiAgfSIg
KworICAifSIgKworICAiYWN0WDsiOworCit2YXIgbG9jYWwwID0geDsKKwordmFyIGYgPSBldmFs
KHhjb2RlKTsKKwordmFyIGlubmVyMSA9IGYoImdldCIpOwordmFyIGxvY2FsMSA9IHg7CisKK3gg
PSA3OwordmFyIGlubmVyMiA9IGYoImdldCIpOwordmFyIGxvY2FsMiA9IHg7CisKK2YoInNldDEi
KTsKK3ZhciBpbm5lcjMgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDMgPSB4OworCit2YXIgZGVsID0g
ZigiZGVsZXRlIik7Cit2YXIgaW5uZXI0ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWw0ID0geDsKKwor
Zigic2V0MiIpOwordmFyIGlubmVyNSA9IGYoImdldCIpOwordmFyIGxvY2FsNSA9IHg7CisKK3Zh
ciByZXN1bHRzWCA9CisgIHsKKyAgICAgbG9jYWwwOiBsb2NhbDAsCisgICAgIGlubmVyMTogaW5u
ZXIxLCBsb2NhbDE6IGxvY2FsMSwKKyAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwy
LAorICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsCisgICAgIGRlbDogZGVsLAor
ICAgICBpbm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsCisgICAgIGlubmVyNTogaW5uZXI1
LCBsb2NhbDU6IGxvY2FsNSwKKyAgIH07CisKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMCwgMTcp
OworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjEsIDQpOworYXNzZXJ0RXEocmVzdWx0c1gubG9j
YWwxLCA0KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXIyLCA3KTsKK2Fzc2VydEVxKHJlc3Vs
dHNYLmxvY2FsMiwgNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMywgOSk7Cithc3NlcnRF
cShyZXN1bHRzWC5sb2NhbDMsIDkpOworCithc3NlcnRFcShyZXN1bHRzWC5kZWwsIGZhbHNlKTsK
KworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXI0LCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2Fs
NCwgOSk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNSwgMjMpOworYXNzZXJ0RXEocmVzdWx0
c1gubG9jYWw1LCAyMyk7CisKKwordmFyIHljb2RlID0KKyAgInZhciB5ID0gNTsiICsKKyAgImZ1
bmN0aW9uIGFjdFkoYWN0aW9uKSIgKworICAieyIgKworICAiICBzd2l0Y2ggKGFjdGlvbikiICsK
KyAgIiAgeyIgKworICAiICAgIGNhc2UgJ2dldCc6IiArCisgICIgICAgICByZXR1cm4geTsiICsK
KyAgIiAgICBjYXNlICdzZXQxJzoiICsKKyAgIiAgICAgIHkgPSAyOyIgKworICAiICAgICAgcmV0
dXJuOyIgKworICAiICAgIGNhc2UgJ3NldDInOiIgKworICAiICAgICAgeSA9IDcxOyIgKworICAi
ICAgICAgcmV0dXJuOyIgKworICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICIgICAgICB0cnkg
eyByZXR1cm4gZXZhbCgnZGVsZXRlIHknKTsgfSIgKworICAiICAgICAgY2F0Y2ggKGUpIHsgcmV0
dXJuIGUubmFtZTsgfSIgKworICAiICB9IiArCisgICJ9IiArCisgICJhY3RZOyI7CisKK3RyeSB7
IHZhciBsb2NhbDAgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2FsMCA9IGUubmFtZTsgfQorCit2YXIg
ZiA9IGV2YWwoeWNvZGUpOworCit2YXIgaW5uZXIxID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwxID0g
eTsKKworeSA9IDg7Cit2YXIgaW5uZXIyID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwyID0geTsKKwor
Zigic2V0MSIpOwordmFyIGlubmVyMyA9IGYoImdldCIpOwordmFyIGxvY2FsMyA9IHk7CisKK3Zh
ciBkZWwgPSBmKCJkZWxldGUiKTsKK3RyeSB7IHZhciBpbm5lcjQgPSBmKCJnZXQiKTsgfSBjYXRj
aCAoZSkgeyBpbm5lcjQgPSBlLm5hbWU7IH0KK3RyeSB7IHZhciBsb2NhbDQgPSB5OyB9IGNhdGNo
IChlKSB7IGxvY2FsNCA9IGUubmFtZTsgfQorCitmKCJzZXQyIik7Cit0cnkgeyB2YXIgaW5uZXI1
ID0gZigiZ2V0Iik7IH0gY2F0Y2ggKGUpIHsgaW5uZXI1ID0gZS5uYW1lOyB9Cit0cnkgeyB2YXIg
bG9jYWw1ID0geTsgfSBjYXRjaCAoZSkgeyBsb2NhbDUgPSBlLm5hbWU7IH0KKwordmFyIHJlc3Vs
dHNZID0KKyAgeworICAgIGxvY2FsMDogbG9jYWwwLAorICAgIGlubmVyMTogaW5uZXIxLCBsb2Nh
bDE6IGxvY2FsMSwKKyAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsCisgICAgaW5u
ZXIzOiBpbm5lcjMsIGxvY2FsMzogbG9jYWwzLAorICAgIGRlbDogZGVsLAorICAgIGlubmVyNDog
aW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwKKyAgICBpbm5lcjU6IGlubmVyNSwgbG9jYWw1OiBsb2Nh
bDUsCisgIH07CisKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMCwgIlJlZmVyZW5jZUVycm9yIik7
CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMSwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2Nh
bDEsIDUpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjIsIDgpOworYXNzZXJ0RXEocmVzdWx0
c1kubG9jYWwyLCA4KTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIzLCAyKTsKK2Fzc2VydEVx
KHJlc3VsdHNZLmxvY2FsMywgMik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmRlbCwgdHJ1ZSk7CisK
K2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyNCwgIlJlZmVyZW5jZUVycm9yIik7Cithc3NlcnRFcShy
ZXN1bHRzWS5sb2NhbDQsICJSZWZlcmVuY2VFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWS5p
bm5lcjUsIDcxKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsNSwgNzEpOworCisvKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqLworCitpZiAodHlwZW9mIHJlcG9ydENvbXBhcmUgPT09ICJmdW5jdGlvbiIp
CisgIHJlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ByaW50KCJUZXN0cyBjb21wbGV0ZSEi
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwt
bm9ybWFsY2FsbGVyLWRpcmVjdC1zdHJpY3Rjb2RlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxlci1k
aXJlY3Qtc3RyaWN0Y29kZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZDBlOWY4NDY2ZjM2YmViNjY1Mjk2NGE1
N2JhOGU3Y2E0NDJmNzM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNhbGxlci1k
aXJlY3Qtc3RyaWN0Y29kZS5qcwpAQCAtMCwwICsxLDE3NiBAQAorLy8gQW55IGNvcHlyaWdodCBp
cyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisvLyBodHRwOi8vY3JlYXRpdmVjb21t
b25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K3ZhciBCVUdOVU1CRVIgPSA1MTQ1Njg7Cit2YXIgc3VtbWFyeSA9ICJldmFsIGluIGFsbCBpdHMg
bXlyaWFkIGZsYXZvcnMiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAiICsgc3VtbWFyeSk7CisK
Ky8qKioqKioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioqKioqKioqKiovCisKK3Zh
ciB4ID0gMTc7CisKK3ZhciBldiA9IGV2YWw7CisKK3ZhciB4Y29kZSA9CisgICIndXNlIHN0cmlj
dCc7IiArCisgICJ2YXIgeCA9IDQ7IiArCisgICJmdW5jdGlvbiBhY3RYKGFjdGlvbikiICsKKyAg
InsiICsKKyAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICIgIHsiICsKKyAgIiAgICBjYXNlICdn
ZXQnOiIgKworICAiICAgICAgcmV0dXJuIHg7IiArCisgICIgICAgY2FzZSAnc2V0MSc6IiArCisg
ICIgICAgICB4ID0gOTsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdzZXQy
JzoiICsKKyAgIiAgICAgIHggPSAyMzsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBj
YXNlICdkZWxldGUnOiIgKworICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0ZSB4Jyk7
IH0iICsKKyAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAgIiAgfSIg
KworICAifSIgKworICAiYWN0WDsiOworCit2YXIgbG9jYWwwID0geDsKKwordmFyIGYgPSBldmFs
KHhjb2RlKTsKKwordmFyIGlubmVyMSA9IGYoImdldCIpOwordmFyIGxvY2FsMSA9IHg7CisKK3gg
PSA3OwordmFyIGlubmVyMiA9IGYoImdldCIpOwordmFyIGxvY2FsMiA9IHg7CisKK2YoInNldDEi
KTsKK3ZhciBpbm5lcjMgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDMgPSB4OworCit2YXIgZGVsID0g
ZigiZGVsZXRlIik7Cit2YXIgaW5uZXI0ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWw0ID0geDsKKwor
Zigic2V0MiIpOwordmFyIGlubmVyNSA9IGYoImdldCIpOwordmFyIGxvY2FsNSA9IHg7CisKK3Zh
ciByZXN1bHRzWCA9CisgIHsKKyAgICAgbG9jYWwwOiBsb2NhbDAsCisgICAgIGlubmVyMTogaW5u
ZXIxLCBsb2NhbDE6IGxvY2FsMSwKKyAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwy
LAorICAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsCisgICAgIGRlbDogZGVsLAor
ICAgICBpbm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQsCisgICAgIGlubmVyNTogaW5uZXI1
LCBsb2NhbDU6IGxvY2FsNSwKKyAgIH07CisKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMCwgMTcp
OworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjEsIDQpOworYXNzZXJ0RXEocmVzdWx0c1gubG9j
YWwxLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMiwgNCk7Cithc3NlcnRFcShyZXN1
bHRzWC5sb2NhbDIsIDcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjMsIDkpOworYXNzZXJ0
RXEocmVzdWx0c1gubG9jYWwzLCA3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guZGVsLCAiU3ludGF4
RXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXI0LCA5KTsKK2Fzc2VydEVxKHJlc3Vs
dHNYLmxvY2FsNCwgNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNSwgMjMpOworYXNzZXJ0
RXEocmVzdWx0c1gubG9jYWw1LCA3KTsKKworCit2YXIgeWNvZGUgPQorICAiJ3VzZSBzdHJpY3Qn
OyIgKworICAidmFyIHkgPSA1OyIgKworICAiZnVuY3Rpb24gYWN0WShhY3Rpb24pIiArCisgICJ7
IiArCisgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAiICB7IiArCisgICIgICAgY2FzZSAnZ2V0
JzoiICsKKyAgIiAgICAgIHJldHVybiB5OyIgKworICAiICAgIGNhc2UgJ3NldDEnOiIgKworICAi
ICAgICAgeSA9IDI7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2FzZSAnc2V0Mic6
IiArCisgICIgICAgICB5ID0gNzE7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2Fz
ZSAnZGVsZXRlJzoiICsKKyAgIiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxldGUgeScpOyB9
IiArCisgICIgICAgICBjYXRjaCAoZSkgeyByZXR1cm4gZS5uYW1lOyB9IiArCisgICIgIH0iICsK
KyAgIn0iICsKKyAgImFjdFk7IjsKKwordHJ5IHsgdmFyIGxvY2FsMCA9IHk7IH0gY2F0Y2ggKGUp
IHsgbG9jYWwwID0gZS5uYW1lOyB9CisKK3ZhciBmID0gZXZhbCh5Y29kZSk7CisKK3ZhciBpbm5l
cjEgPSBmKCJnZXQiKTsKK3RyeSB7IHZhciBsb2NhbDEgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2Fs
MSA9IGUubmFtZTsgfQorCit5ID0gODsKK3ZhciBpbm5lcjIgPSBmKCJnZXQiKTsKK3ZhciBsb2Nh
bDIgPSB5OworCitmKCJzZXQxIik7Cit2YXIgaW5uZXIzID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwz
ID0geTsKKwordmFyIGRlbCA9IGYoImRlbGV0ZSIpOwordHJ5IHsgdmFyIGlubmVyNCA9IGYoImdl
dCIpOyB9IGNhdGNoIChlKSB7IGlubmVyNCA9IGUubmFtZTsgfQordHJ5IHsgdmFyIGxvY2FsNCA9
IHk7IH0gY2F0Y2ggKGUpIHsgbG9jYWw0ID0gZS5uYW1lOyB9CisKK2YoInNldDIiKTsKK3RyeSB7
IHZhciBpbm5lcjUgPSBmKCJnZXQiKTsgfSBjYXRjaCAoZSkgeyBpbm5lcjUgPSBlLm5hbWU7IH0K
K3RyeSB7IHZhciBsb2NhbDUgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2FsNSA9IGUubmFtZTsgfQor
Cit2YXIgcmVzdWx0c1kgPQorICB7CisgICAgbG9jYWwwOiBsb2NhbDAsCisgICAgaW5uZXIxOiBp
bm5lcjEsIGxvY2FsMTogbG9jYWwxLAorICAgIGlubmVyMjogaW5uZXIyLCBsb2NhbDI6IGxvY2Fs
MiwKKyAgICBpbm5lcjM6IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsCisgICAgZGVsOiBkZWwsCisg
ICAgaW5uZXI0OiBpbm5lcjQsIGxvY2FsNDogbG9jYWw0LAorICAgIGlubmVyNTogaW5uZXI1LCBs
b2NhbDU6IGxvY2FsNSwKKyAgfTsKKworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwwLCAiUmVmZXJl
bmNlRXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIxLCA1KTsKK2Fzc2VydEVxKHJl
c3VsdHNZLmxvY2FsMSwgIlJlZmVyZW5jZUVycm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlu
bmVyMiwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDIsIDgpOworCithc3NlcnRFcShyZXN1
bHRzWS5pbm5lcjMsIDIpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwzLCA4KTsKKworYXNzZXJ0
RXEocmVzdWx0c1kuZGVsLCAiU3ludGF4RXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5u
ZXI0LCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsNCwgOCk7CisKK2Fzc2VydEVxKHJlc3Vs
dHNZLmlubmVyNSwgNzEpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWw1LCA4KTsKKworLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKi8KKworaWYgKHR5cGVvZiByZXBvcnRDb21wYXJlID09PSAiZnVuY3Rp
b24iKQorICByZXBvcnRDb21wYXJlKHRydWUsIHRydWUpOworCitwcmludCgiVGVzdHMgY29tcGxl
dGUhIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xv
YmFsLW5vcm1hbGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLW5vcm1hbGNh
bGxlci1pbmRpcmVjdC1ub3JtYWxjb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YjIyNzg4MzQxZjM0ZDkw
MGExYjQ2YWEwZTQxYzU2MzU2ZDJlNTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFs
Y2FsbGVyLWluZGlyZWN0LW5vcm1hbGNvZGUuanMKQEAgLTAsMCArMSwxNzQgQEAKKy8vIEFueSBj
b3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorLy8gaHR0cDovL2Ny
ZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLworCisvLy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCit2YXIgQlVHTlVNQkVSID0gNTE0NTY4OwordmFyIHN1bW1hcnkgPSAiZXZhbCBp
biBhbGwgaXRzIG15cmlhZCBmbGF2b3JzIjsKKworcHJpbnQoQlVHTlVNQkVSICsgIjogIiArIHN1
bW1hcnkpOworCisvKioqKioqKioqKioqKioKKyAqIEJFR0lOIFRFU1QgKgorICoqKioqKioqKioq
KioqLworCit2YXIgeCA9IDE3OworCit2YXIgZXYgPSBldmFsOworCit2YXIgeGNvZGUgPQorICAi
dmFyIHggPSA0OyIgKworICAiZnVuY3Rpb24gYWN0WChhY3Rpb24pIiArCisgICJ7IiArCisgICIg
IHN3aXRjaCAoYWN0aW9uKSIgKworICAiICB7IiArCisgICIgICAgY2FzZSAnZ2V0JzoiICsKKyAg
IiAgICAgIHJldHVybiB4OyIgKworICAiICAgIGNhc2UgJ3NldDEnOiIgKworICAiICAgICAgeCA9
IDk7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2FzZSAnc2V0Mic6IiArCisgICIg
ICAgICB4ID0gMjM7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2FzZSAnZGVsZXRl
JzoiICsKKyAgIiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxldGUgeCcpOyB9IiArCisgICIg
ICAgICBjYXRjaCAoZSkgeyByZXR1cm4gZS5uYW1lOyB9IiArCisgICIgIH0iICsKKyAgIn0iICsK
KyAgImFjdFg7IjsKKwordmFyIGxvY2FsMCA9IHg7CisKK3ZhciBmID0gZXYoeGNvZGUpOworCit2
YXIgaW5uZXIxID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwxID0geDsKKworeCA9IDc7Cit2YXIgaW5u
ZXIyID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwyID0geDsKKworZigic2V0MSIpOwordmFyIGlubmVy
MyA9IGYoImdldCIpOwordmFyIGxvY2FsMyA9IHg7CisKK3ZhciBkZWwgPSBmKCJkZWxldGUiKTsK
K3ZhciBpbm5lcjQgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDQgPSB4OworCitmKCJzZXQyIik7Cit2
YXIgaW5uZXI1ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWw1ID0geDsKKwordmFyIHJlc3VsdHNYID0K
KyAgeworICAgICBsb2NhbDA6IGxvY2FsMCwKKyAgICAgaW5uZXIxOiBpbm5lcjEsIGxvY2FsMTog
bG9jYWwxLAorICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsCisgICAgIGlubmVy
MzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywKKyAgICAgZGVsOiBkZWwsCisgICAgIGlubmVyNDog
aW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwKKyAgICAgaW5uZXI1OiBpbm5lcjUsIGxvY2FsNTogbG9j
YWw1LAorICAgfTsKKworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwwLCAxNyk7CisKK2Fzc2VydEVx
KHJlc3VsdHNYLmlubmVyMSwgNCk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDEsIDQpOworCith
c3NlcnRFcShyZXN1bHRzWC5pbm5lcjIsIDcpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwyLCA3
KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXIzLCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxv
Y2FsMywgOSk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmRlbCwgZmFsc2UpOworCithc3NlcnRFcShy
ZXN1bHRzWC5pbm5lcjQsIDkpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWw0LCA5KTsKKworYXNz
ZXJ0RXEocmVzdWx0c1guaW5uZXI1LCAyMyk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDUsIDIz
KTsKKworCit2YXIgeWNvZGUgPQorICAidmFyIHkgPSA1OyIgKworICAiZnVuY3Rpb24gYWN0WShh
Y3Rpb24pIiArCisgICJ7IiArCisgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAiICB7IiArCisg
ICIgICAgY2FzZSAnZ2V0JzoiICsKKyAgIiAgICAgIHJldHVybiB5OyIgKworICAiICAgIGNhc2Ug
J3NldDEnOiIgKworICAiICAgICAgeSA9IDI7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIg
ICAgY2FzZSAnc2V0Mic6IiArCisgICIgICAgICB5ID0gNzE7IiArCisgICIgICAgICByZXR1cm47
IiArCisgICIgICAgY2FzZSAnZGVsZXRlJzoiICsKKyAgIiAgICAgIHRyeSB7IHJldHVybiBldmFs
KCdkZWxldGUgeScpOyB9IiArCisgICIgICAgICBjYXRjaCAoZSkgeyByZXR1cm4gZS5uYW1lOyB9
IiArCisgICIgIH0iICsKKyAgIn0iICsKKyAgImFjdFk7IjsKKwordHJ5IHsgdmFyIGxvY2FsMCA9
IHk7IH0gY2F0Y2ggKGUpIHsgbG9jYWwwID0gZS5uYW1lOyB9CisKK3ZhciBmID0gZXYoeWNvZGUp
OworCit2YXIgaW5uZXIxID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwxID0geTsKKworeSA9IDg7Cit2
YXIgaW5uZXIyID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwyID0geTsKKworZigic2V0MSIpOwordmFy
IGlubmVyMyA9IGYoImdldCIpOwordmFyIGxvY2FsMyA9IHk7CisKK3ZhciBkZWwgPSBmKCJkZWxl
dGUiKTsKK3RyeSB7IHZhciBpbm5lcjQgPSBmKCJnZXQiKTsgfSBjYXRjaCAoZSkgeyBpbm5lcjQg
PSBlLm5hbWU7IH0KK3RyeSB7IHZhciBsb2NhbDQgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2FsNCA9
IGUubmFtZTsgfQorCitmKCJzZXQyIik7Cit0cnkgeyB2YXIgaW5uZXI1ID0gZigiZ2V0Iik7IH0g
Y2F0Y2ggKGUpIHsgaW5uZXI1ID0gZS5uYW1lOyB9Cit0cnkgeyB2YXIgbG9jYWw1ID0geTsgfSBj
YXRjaCAoZSkgeyBsb2NhbDUgPSBlLm5hbWU7IH0KKwordmFyIHJlc3VsdHNZID0KKyAgeworICAg
IGxvY2FsMDogbG9jYWwwLAorICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwKKyAg
ICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsCisgICAgaW5uZXIzOiBpbm5lcjMsIGxv
Y2FsMzogbG9jYWwzLAorICAgIGRlbDogZGVsLAorICAgIGlubmVyNDogaW5uZXI0LCBsb2NhbDQ6
IGxvY2FsNCwKKyAgICBpbm5lcjU6IGlubmVyNSwgbG9jYWw1OiBsb2NhbDUsCisgIH07CisKK2Fz
c2VydEVxKHJlc3VsdHNZLmxvY2FsMCwgIlJlZmVyZW5jZUVycm9yIik7CisKK2Fzc2VydEVxKHJl
c3VsdHNZLmlubmVyMSwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDEsIDUpOworCithc3Nl
cnRFcShyZXN1bHRzWS5pbm5lcjIsIDgpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwyLCA4KTsK
KworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIzLCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2Fs
MywgMik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmRlbCwgdHJ1ZSk7CisKK2Fzc2VydEVxKHJlc3Vs
dHNZLmlubmVyNCwgIlJlZmVyZW5jZUVycm9yIik7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDQs
ICJSZWZlcmVuY2VFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjUsIDcxKTsKK2Fz
c2VydEVxKHJlc3VsdHNZLmxvY2FsNSwgNzEpOworCisvKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwor
CitpZiAodHlwZW9mIHJlcG9ydENvbXBhcmUgPT09ICJmdW5jdGlvbiIpCisgIHJlcG9ydENvbXBh
cmUodHJ1ZSwgdHJ1ZSk7CisKK3ByaW50KCJUZXN0cyBjb21wbGV0ZSEiKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWlu
ZGlyZWN0LXN0cmljdGNvZGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9z
Y3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtbm9ybWFsY2FsbGVyLWluZGlyZWN0LXN0cmlj
dGNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM3ZTg0ZTYyMjU4MzljN2MwMmY2M2I2NDdjZmNkOTExMWQ4
ZjhlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFs
L3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWdsb2JhbC1ub3JtYWxjYWxsZXItaW5kaXJlY3Qtc3Ry
aWN0Y29kZS5qcwpAQCAtMCwwICsxLDE3NiBAQAorLy8gQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0
ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisvLyBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9s
aWNlbnNlcy9wdWJsaWNkb21haW4vCisKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3ZhciBCVUdO
VU1CRVIgPSA1MTQ1Njg7Cit2YXIgc3VtbWFyeSA9ICJldmFsIGluIGFsbCBpdHMgbXlyaWFkIGZs
YXZvcnMiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAiICsgc3VtbWFyeSk7CisKKy8qKioqKioq
KioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioqKioqKioqKiovCisKK3ZhciB4ID0gMTc7
CisKK3ZhciBldiA9IGV2YWw7CisKK3ZhciB4Y29kZSA9CisgICIndXNlIHN0cmljdCc7IiArCisg
ICJ2YXIgeCA9IDQ7IiArCisgICJmdW5jdGlvbiBhY3RYKGFjdGlvbikiICsKKyAgInsiICsKKyAg
IiAgc3dpdGNoIChhY3Rpb24pIiArCisgICIgIHsiICsKKyAgIiAgICBjYXNlICdnZXQnOiIgKwor
ICAiICAgICAgcmV0dXJuIHg7IiArCisgICIgICAgY2FzZSAnc2V0MSc6IiArCisgICIgICAgICB4
ID0gOTsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdzZXQyJzoiICsKKyAg
IiAgICAgIHggPSAyMzsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdkZWxl
dGUnOiIgKworICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0ZSB4Jyk7IH0iICsKKyAg
IiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAgIiAgfSIgKworICAifSIg
KworICAiYWN0WDsiOworCit2YXIgbG9jYWwwID0geDsKKwordmFyIGYgPSBldih4Y29kZSk7CisK
K3ZhciBpbm5lcjEgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDEgPSB4OworCit4ID0gNzsKK3ZhciBp
bm5lcjIgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDIgPSB4OworCitmKCJzZXQxIik7Cit2YXIgaW5u
ZXIzID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwzID0geDsKKwordmFyIGRlbCA9IGYoImRlbGV0ZSIp
OwordmFyIGlubmVyNCA9IGYoImdldCIpOwordmFyIGxvY2FsNCA9IHg7CisKK2YoInNldDIiKTsK
K3ZhciBpbm5lcjUgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDUgPSB4OworCit2YXIgcmVzdWx0c1gg
PQorICB7CisgICAgIGxvY2FsMDogbG9jYWwwLAorICAgICBpbm5lcjE6IGlubmVyMSwgbG9jYWwx
OiBsb2NhbDEsCisgICAgIGlubmVyMjogaW5uZXIyLCBsb2NhbDI6IGxvY2FsMiwKKyAgICAgaW5u
ZXIzOiBpbm5lcjMsIGxvY2FsMzogbG9jYWwzLAorICAgICBkZWw6IGRlbCwKKyAgICAgaW5uZXI0
OiBpbm5lcjQsIGxvY2FsNDogbG9jYWw0LAorICAgICBpbm5lcjU6IGlubmVyNSwgbG9jYWw1OiBs
b2NhbDUsCisgICB9OworCithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDAsIDE3KTsKKworYXNzZXJ0
RXEocmVzdWx0c1guaW5uZXIxLCA0KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMSwgMTcpOwor
Cithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjIsIDQpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwy
LCA3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXIzLCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNY
LmxvY2FsMywgNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmRlbCwgIlN5bnRheEVycm9yIik7CisK
K2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNCwgOSk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDQs
IDcpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjUsIDIzKTsKK2Fzc2VydEVxKHJlc3VsdHNY
LmxvY2FsNSwgNyk7CisKKwordmFyIHljb2RlID0KKyAgIid1c2Ugc3RyaWN0JzsiICsKKyAgInZh
ciB5ID0gNTsiICsKKyAgImZ1bmN0aW9uIGFjdFkoYWN0aW9uKSIgKworICAieyIgKworICAiICBz
d2l0Y2ggKGFjdGlvbikiICsKKyAgIiAgeyIgKworICAiICAgIGNhc2UgJ2dldCc6IiArCisgICIg
ICAgICByZXR1cm4geTsiICsKKyAgIiAgICBjYXNlICdzZXQxJzoiICsKKyAgIiAgICAgIHkgPSAy
OyIgKworICAiICAgICAgcmV0dXJuOyIgKworICAiICAgIGNhc2UgJ3NldDInOiIgKworICAiICAg
ICAgeSA9IDcxOyIgKworICAiICAgICAgcmV0dXJuOyIgKworICAiICAgIGNhc2UgJ2RlbGV0ZSc6
IiArCisgICIgICAgICB0cnkgeyByZXR1cm4gZXZhbCgnZGVsZXRlIHknKTsgfSIgKworICAiICAg
ICAgY2F0Y2ggKGUpIHsgcmV0dXJuIGUubmFtZTsgfSIgKworICAiICB9IiArCisgICJ9IiArCisg
ICJhY3RZOyI7CisKK3RyeSB7IHZhciBsb2NhbDAgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2FsMCA9
IGUubmFtZTsgfQorCit2YXIgZiA9IGV2KHljb2RlKTsKKwordmFyIGlubmVyMSA9IGYoImdldCIp
OwordHJ5IHsgdmFyIGxvY2FsMSA9IHk7IH0gY2F0Y2ggKGUpIHsgbG9jYWwxID0gZS5uYW1lOyB9
CisKK3kgPSA4OwordmFyIGlubmVyMiA9IGYoImdldCIpOwordmFyIGxvY2FsMiA9IHk7CisKK2Yo
InNldDEiKTsKK3ZhciBpbm5lcjMgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDMgPSB5OworCit2YXIg
ZGVsID0gZigiZGVsZXRlIik7Cit0cnkgeyB2YXIgaW5uZXI0ID0gZigiZ2V0Iik7IH0gY2F0Y2gg
KGUpIHsgaW5uZXI0ID0gZS5uYW1lOyB9Cit0cnkgeyB2YXIgbG9jYWw0ID0geTsgfSBjYXRjaCAo
ZSkgeyBsb2NhbDQgPSBlLm5hbWU7IH0KKworZigic2V0MiIpOwordHJ5IHsgdmFyIGlubmVyNSA9
IGYoImdldCIpOyB9IGNhdGNoIChlKSB7IGlubmVyNSA9IGUubmFtZTsgfQordHJ5IHsgdmFyIGxv
Y2FsNSA9IHk7IH0gY2F0Y2ggKGUpIHsgbG9jYWw1ID0gZS5uYW1lOyB9CisKK3ZhciByZXN1bHRz
WSA9CisgIHsKKyAgICBsb2NhbDA6IGxvY2FsMCwKKyAgICBpbm5lcjE6IGlubmVyMSwgbG9jYWwx
OiBsb2NhbDEsCisgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLAorICAgIGlubmVy
MzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywKKyAgICBkZWw6IGRlbCwKKyAgICBpbm5lcjQ6IGlu
bmVyNCwgbG9jYWw0OiBsb2NhbDQsCisgICAgaW5uZXI1OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1
LAorICB9OworCithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDAsICJSZWZlcmVuY2VFcnJvciIpOwor
Cithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjEsIDUpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwx
LCAiUmVmZXJlbmNlRXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIyLCA1KTsKK2Fz
c2VydEVxKHJlc3VsdHNZLmxvY2FsMiwgOCk7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMywg
Mik7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDMsIDgpOworCithc3NlcnRFcShyZXN1bHRzWS5k
ZWwsICJTeW50YXhFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjQsIDIpOworYXNz
ZXJ0RXEocmVzdWx0c1kubG9jYWw0LCA4KTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXI1LCA3
MSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDUsIDgpOworCisvKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqLworCitpZiAodHlwZW9mIHJlcG9ydENvbXBhcmUgPT09ICJmdW5jdGlvbiIpCisgIHJlcG9y
dENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ByaW50KCJUZXN0cyBjb21wbGV0ZSEiKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2Fs
bGVyLWRpcmVjdC1ub3JtYWxjb2RlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2
YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtbm9y
bWFsY29kZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTc5ODdiOGNjMzc2Yjg1YjU1MzEzZjA3YjRlOWFkYTU4
YTk5NGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2
YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1kaXJlY3Qtbm9y
bWFsY29kZS5qcwpAQCAtMCwwICsxLDE3NSBAQAorLy8gQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0
ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisvLyBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9s
aWNlbnNlcy9wdWJsaWNkb21haW4vCisidXNlIHN0cmljdCI7CisKKy8vLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK3ZhciBCVUdOVU1CRVIgPSA1MTQ1Njg7Cit2YXIgc3VtbWFyeSA9ICJldmFsIGluIGFs
bCBpdHMgbXlyaWFkIGZsYXZvcnMiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAiICsgc3VtbWFy
eSk7CisKKy8qKioqKioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioqKioqKioqKiov
CisKK3ZhciB4ID0gMTc7CisKK3ZhciBldiA9IGV2YWw7CisKK3ZhciB4Y29kZSA9CisgICJ2YXIg
eCA9IDQ7IiArCisgICJmdW5jdGlvbiBhY3RYKGFjdGlvbikiICsKKyAgInsiICsKKyAgIiAgc3dp
dGNoIChhY3Rpb24pIiArCisgICIgIHsiICsKKyAgIiAgICBjYXNlICdnZXQnOiIgKworICAiICAg
ICAgcmV0dXJuIHg7IiArCisgICIgICAgY2FzZSAnc2V0MSc6IiArCisgICIgICAgICB4ID0gOTsi
ICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdzZXQyJzoiICsKKyAgIiAgICAg
IHggPSAyMzsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdkZWxldGUnOiIg
KworICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0ZSB4Jyk7IH0iICsKKyAgIiAgICAg
IGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAgIiAgfSIgKworICAifSIgKworICAi
YWN0WDsiOworCit2YXIgbG9jYWwwID0geDsKKwordmFyIGYgPSBldmFsKHhjb2RlKTsKKwordmFy
IGlubmVyMSA9IGYoImdldCIpOwordmFyIGxvY2FsMSA9IHg7CisKK3ggPSA3OwordmFyIGlubmVy
MiA9IGYoImdldCIpOwordmFyIGxvY2FsMiA9IHg7CisKK2YoInNldDEiKTsKK3ZhciBpbm5lcjMg
PSBmKCJnZXQiKTsKK3ZhciBsb2NhbDMgPSB4OworCit2YXIgZGVsID0gZigiZGVsZXRlIik7Cit2
YXIgaW5uZXI0ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWw0ID0geDsKKworZigic2V0MiIpOwordmFy
IGlubmVyNSA9IGYoImdldCIpOwordmFyIGxvY2FsNSA9IHg7CisKK3ZhciByZXN1bHRzWCA9Cisg
IHsKKyAgICAgbG9jYWwwOiBsb2NhbDAsCisgICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxv
Y2FsMSwKKyAgICAgaW5uZXIyOiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLAorICAgICBpbm5lcjM6
IGlubmVyMywgbG9jYWwzOiBsb2NhbDMsCisgICAgIGRlbDogZGVsLAorICAgICBpbm5lcjQ6IGlu
bmVyNCwgbG9jYWw0OiBsb2NhbDQsCisgICAgIGlubmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2Fs
NSwKKyAgIH07CisKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMCwgMTcpOworCithc3NlcnRFcShy
ZXN1bHRzWC5pbm5lcjEsIDQpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwxLCAxNyk7CisKK2Fz
c2VydEVxKHJlc3VsdHNYLmlubmVyMiwgNCk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDIsIDcp
OworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjMsIDkpOworYXNzZXJ0RXEocmVzdWx0c1gubG9j
YWwzLCA3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guZGVsLCAiU3ludGF4RXJyb3IiKTsKKworYXNz
ZXJ0RXEocmVzdWx0c1guaW5uZXI0LCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsNCwgNyk7
CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyNSwgMjMpOworYXNzZXJ0RXEocmVzdWx0c1gubG9j
YWw1LCA3KTsKKworCit2YXIgeWNvZGUgPQorICAidmFyIHkgPSA1OyIgKworICAiZnVuY3Rpb24g
YWN0WShhY3Rpb24pIiArCisgICJ7IiArCisgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAiICB7
IiArCisgICIgICAgY2FzZSAnZ2V0JzoiICsKKyAgIiAgICAgIHJldHVybiB5OyIgKworICAiICAg
IGNhc2UgJ3NldDEnOiIgKworICAiICAgICAgeSA9IDI7IiArCisgICIgICAgICByZXR1cm47IiAr
CisgICIgICAgY2FzZSAnc2V0Mic6IiArCisgICIgICAgICB5ID0gNzE7IiArCisgICIgICAgICBy
ZXR1cm47IiArCisgICIgICAgY2FzZSAnZGVsZXRlJzoiICsKKyAgIiAgICAgIHRyeSB7IHJldHVy
biBldmFsKCdkZWxldGUgeScpOyB9IiArCisgICIgICAgICBjYXRjaCAoZSkgeyByZXR1cm4gZS5u
YW1lOyB9IiArCisgICIgIH0iICsKKyAgIn0iICsKKyAgImFjdFk7IjsKKwordHJ5IHsgdmFyIGxv
Y2FsMCA9IHk7IH0gY2F0Y2ggKGUpIHsgbG9jYWwwID0gZS5uYW1lOyB9CisKK3ZhciBmID0gZXZh
bCh5Y29kZSk7CisKK3ZhciBpbm5lcjEgPSBmKCJnZXQiKTsKK3RyeSB7IHZhciBsb2NhbDEgPSB5
OyB9IGNhdGNoIChlKSB7IGxvY2FsMSA9IGUubmFtZTsgfQorCit0cnkgeyB5ID0gODsgfSBjYXRj
aCAoZSkgeyBhc3NlcnRFcShlLm5hbWUsICJSZWZlcmVuY2VFcnJvciIpOyB9Cit2YXIgaW5uZXIy
ID0gZigiZ2V0Iik7Cit0cnkgeyB2YXIgbG9jYWwyID0geTsgfSBjYXRjaCAoZSkgeyBsb2NhbDIg
PSBlLm5hbWU7IH0KKworZigic2V0MSIpOwordmFyIGlubmVyMyA9IGYoImdldCIpOwordHJ5IHsg
dmFyIGxvY2FsMyA9IHk7IH0gY2F0Y2ggKGUpIHsgbG9jYWwzID0gZS5uYW1lOyB9CisKK3ZhciBk
ZWwgPSBmKCJkZWxldGUiKTsKK3RyeSB7IHZhciBpbm5lcjQgPSBmKCJnZXQiKTsgfSBjYXRjaCAo
ZSkgeyBpbm5lcjQgPSBlLm5hbWU7IH0KK3RyeSB7IHZhciBsb2NhbDQgPSB5OyB9IGNhdGNoIChl
KSB7IGxvY2FsNCA9IGUubmFtZTsgfQorCitmKCJzZXQyIik7Cit0cnkgeyB2YXIgaW5uZXI1ID0g
ZigiZ2V0Iik7IH0gY2F0Y2ggKGUpIHsgaW5uZXI1ID0gZS5uYW1lOyB9Cit0cnkgeyB2YXIgbG9j
YWw1ID0geTsgfSBjYXRjaCAoZSkgeyBsb2NhbDUgPSBlLm5hbWU7IH0KKwordmFyIHJlc3VsdHNZ
ID0KKyAgeworICAgIGxvY2FsMDogbG9jYWwwLAorICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6
IGxvY2FsMSwKKyAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsCisgICAgaW5uZXIz
OiBpbm5lcjMsIGxvY2FsMzogbG9jYWwzLAorICAgIGRlbDogZGVsLAorICAgIGlubmVyNDogaW5u
ZXI0LCBsb2NhbDQ6IGxvY2FsNCwKKyAgICBpbm5lcjU6IGlubmVyNSwgbG9jYWw1OiBsb2NhbDUs
CisgIH07CisKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMCwgIlJlZmVyZW5jZUVycm9yIik7CisK
K2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMSwgNSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDEs
ICJSZWZlcmVuY2VFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjIsIDUpOworYXNz
ZXJ0RXEocmVzdWx0c1kubG9jYWwyLCAiUmVmZXJlbmNlRXJyb3IiKTsKKworYXNzZXJ0RXEocmVz
dWx0c1kuaW5uZXIzLCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMywgIlJlZmVyZW5jZUVy
cm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmRlbCwgIlN5bnRheEVycm9yIik7CisKK2Fzc2Vy
dEVxKHJlc3VsdHNZLmlubmVyNCwgMik7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDQsICJSZWZl
cmVuY2VFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjUsIDcxKTsKK2Fzc2VydEVx
KHJlc3VsdHNZLmxvY2FsNSwgIlJlZmVyZW5jZUVycm9yIik7CisKKy8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKiovCisKK2lmICh0eXBlb2YgcmVwb3J0Q29tcGFyZSA9PT0gImZ1bmN0aW9uIikKKyAgcmVw
b3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKworcHJpbnQoIlRlc3RzIGNvbXBsZXRlISIpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy9leGhhdXN0aXZlLWdsb2JhbC1zdHJpY3Rj
YWxsZXItZGlyZWN0LXN0cmljdGNvZGUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
ZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWRpcmVjdC1z
dHJpY3Rjb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwNDQ4NDIxOWE3NjE0YTc1ZDkzOTMxNDFkYmUzMTVj
YmZmMDI5YjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
ZXZhbC9zY3JpcHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWRpcmVjdC1z
dHJpY3Rjb2RlLmpzCkBAIC0wLDAgKzEsMTc3IEBACisvLyBBbnkgY29weXJpZ2h0IGlzIGRlZGlj
YXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKy8vIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3Jn
L2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKyJ1c2Ugc3RyaWN0IjsKKworLy8tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQordmFyIEJVR05VTUJFUiA9IDUxNDU2ODsKK3ZhciBzdW1tYXJ5ID0gImV2YWwgaW4g
YWxsIGl0cyBteXJpYWQgZmxhdm9ycyI7CisKK3ByaW50KEJVR05VTUJFUiArICI6ICIgKyBzdW1t
YXJ5KTsKKworLyoqKioqKioqKioqKioqCisgKiBCRUdJTiBURVNUICoKKyAqKioqKioqKioqKioq
Ki8KKwordmFyIHggPSAxNzsKKwordmFyIGV2ID0gZXZhbDsKKwordmFyIHhjb2RlID0KKyAgIid1
c2Ugc3RyaWN0JzsiICsKKyAgInZhciB4ID0gNDsiICsKKyAgImZ1bmN0aW9uIGFjdFgoYWN0aW9u
KSIgKworICAieyIgKworICAiICBzd2l0Y2ggKGFjdGlvbikiICsKKyAgIiAgeyIgKworICAiICAg
IGNhc2UgJ2dldCc6IiArCisgICIgICAgICByZXR1cm4geDsiICsKKyAgIiAgICBjYXNlICdzZXQx
JzoiICsKKyAgIiAgICAgIHggPSA5OyIgKworICAiICAgICAgcmV0dXJuOyIgKworICAiICAgIGNh
c2UgJ3NldDInOiIgKworICAiICAgICAgeCA9IDIzOyIgKworICAiICAgICAgcmV0dXJuOyIgKwor
ICAiICAgIGNhc2UgJ2RlbGV0ZSc6IiArCisgICIgICAgICB0cnkgeyByZXR1cm4gZXZhbCgnZGVs
ZXRlIHgnKTsgfSIgKworICAiICAgICAgY2F0Y2ggKGUpIHsgcmV0dXJuIGUubmFtZTsgfSIgKwor
ICAiICB9IiArCisgICJ9IiArCisgICJhY3RYOyI7CisKK3ZhciBsb2NhbDAgPSB4OworCit2YXIg
ZiA9IGV2YWwoeGNvZGUpOworCit2YXIgaW5uZXIxID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwxID0g
eDsKKworeCA9IDc7Cit2YXIgaW5uZXIyID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwyID0geDsKKwor
Zigic2V0MSIpOwordmFyIGlubmVyMyA9IGYoImdldCIpOwordmFyIGxvY2FsMyA9IHg7CisKK3Zh
ciBkZWwgPSBmKCJkZWxldGUiKTsKK3ZhciBpbm5lcjQgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDQg
PSB4OworCitmKCJzZXQyIik7Cit2YXIgaW5uZXI1ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWw1ID0g
eDsKKwordmFyIHJlc3VsdHNYID0KKyAgeworICAgICBsb2NhbDA6IGxvY2FsMCwKKyAgICAgaW5u
ZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLAorICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwy
OiBsb2NhbDIsCisgICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywKKyAgICAgZGVs
OiBkZWwsCisgICAgIGlubmVyNDogaW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwKKyAgICAgaW5uZXI1
OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1LAorICAgfTsKKworYXNzZXJ0RXEocmVzdWx0c1gubG9j
YWwwLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMSwgNCk7Cithc3NlcnRFcShyZXN1
bHRzWC5sb2NhbDEsIDE3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXIyLCA0KTsKK2Fzc2Vy
dEVxKHJlc3VsdHNYLmxvY2FsMiwgNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMywgOSk7
Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDMsIDcpOworCithc3NlcnRFcShyZXN1bHRzWC5kZWws
ICJTeW50YXhFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjQsIDkpOworYXNzZXJ0
RXEocmVzdWx0c1gubG9jYWw0LCA3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXI1LCAyMyk7
Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDUsIDcpOworCisKK3ZhciB5Y29kZSA9CisgICIndXNl
IHN0cmljdCc7IiArCisgICJ2YXIgeSA9IDU7IiArCisgICJmdW5jdGlvbiBhY3RZKGFjdGlvbiki
ICsKKyAgInsiICsKKyAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICIgIHsiICsKKyAgIiAgICBj
YXNlICdnZXQnOiIgKworICAiICAgICAgcmV0dXJuIHk7IiArCisgICIgICAgY2FzZSAnc2V0MSc6
IiArCisgICIgICAgICB5ID0gMjsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNl
ICdzZXQyJzoiICsKKyAgIiAgICAgIHkgPSA3MTsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAg
IiAgICBjYXNlICdkZWxldGUnOiIgKworICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0
ZSB5Jyk7IH0iICsKKyAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAg
IiAgfSIgKworICAifSIgKworICAiYWN0WTsiOworCit0cnkgeyB2YXIgbG9jYWwwID0geTsgfSBj
YXRjaCAoZSkgeyBsb2NhbDAgPSBlLm5hbWU7IH0KKwordmFyIGYgPSBldmFsKHljb2RlKTsKKwor
dmFyIGlubmVyMSA9IGYoImdldCIpOwordHJ5IHsgdmFyIGxvY2FsMSA9IHk7IH0gY2F0Y2ggKGUp
IHsgbG9jYWwxID0gZS5uYW1lOyB9CisKK3RyeSB7IHkgPSA4OyB9IGNhdGNoIChlKSB7IGFzc2Vy
dEVxKGUubmFtZSwgIlJlZmVyZW5jZUVycm9yIik7IH0KK3ZhciBpbm5lcjIgPSBmKCJnZXQiKTsK
K3RyeSB7IHZhciBsb2NhbDIgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2FsMiA9IGUubmFtZTsgfQor
CitmKCJzZXQxIik7Cit2YXIgaW5uZXIzID0gZigiZ2V0Iik7Cit0cnkgeyB2YXIgbG9jYWwzID0g
eTsgfSBjYXRjaCAoZSkgeyBsb2NhbDMgPSBlLm5hbWU7IH0KKwordmFyIGRlbCA9IGYoImRlbGV0
ZSIpOwordHJ5IHsgdmFyIGlubmVyNCA9IGYoImdldCIpOyB9IGNhdGNoIChlKSB7IGlubmVyNCA9
IGUubmFtZTsgfQordHJ5IHsgdmFyIGxvY2FsNCA9IHk7IH0gY2F0Y2ggKGUpIHsgbG9jYWw0ID0g
ZS5uYW1lOyB9CisKK2YoInNldDIiKTsKK3RyeSB7IHZhciBpbm5lcjUgPSBmKCJnZXQiKTsgfSBj
YXRjaCAoZSkgeyBpbm5lcjUgPSBlLm5hbWU7IH0KK3RyeSB7IHZhciBsb2NhbDUgPSB5OyB9IGNh
dGNoIChlKSB7IGxvY2FsNSA9IGUubmFtZTsgfQorCit2YXIgcmVzdWx0c1kgPQorICB7CisgICAg
bG9jYWwwOiBsb2NhbDAsCisgICAgaW5uZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLAorICAg
IGlubmVyMjogaW5uZXIyLCBsb2NhbDI6IGxvY2FsMiwKKyAgICBpbm5lcjM6IGlubmVyMywgbG9j
YWwzOiBsb2NhbDMsCisgICAgZGVsOiBkZWwsCisgICAgaW5uZXI0OiBpbm5lcjQsIGxvY2FsNDog
bG9jYWw0LAorICAgIGlubmVyNTogaW5uZXI1LCBsb2NhbDU6IGxvY2FsNSwKKyAgfTsKKworYXNz
ZXJ0RXEocmVzdWx0c1kubG9jYWwwLCAiUmVmZXJlbmNlRXJyb3IiKTsKKworYXNzZXJ0RXEocmVz
dWx0c1kuaW5uZXIxLCA1KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMSwgIlJlZmVyZW5jZUVy
cm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMiwgNSk7Cithc3NlcnRFcShyZXN1bHRz
WS5sb2NhbDIsICJSZWZlcmVuY2VFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5lcjMs
IDIpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwzLCAiUmVmZXJlbmNlRXJyb3IiKTsKKworYXNz
ZXJ0RXEocmVzdWx0c1kuZGVsLCAiU3ludGF4RXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1ku
aW5uZXI0LCAyKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsNCwgIlJlZmVyZW5jZUVycm9yIik7
CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyNSwgNzEpOworYXNzZXJ0RXEocmVzdWx0c1kubG9j
YWw1LCAiUmVmZXJlbmNlRXJyb3IiKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworaWYg
KHR5cGVvZiByZXBvcnRDb21wYXJlID09PSAiZnVuY3Rpb24iKQorICByZXBvcnRDb21wYXJlKHRy
dWUsIHRydWUpOworCitwcmludCgiVGVzdHMgY29tcGxldGUhIik7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L2V2YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVj
dC1ub3JtYWxjb2RlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0
LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVjdC1ub3JtYWxjb2Rl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJlMjY2MzczNjMzZGM4NTljOTVjNTVmMGY5ODkyZmJjNDQxZmVmM2QK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3Jp
cHQtdGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWluZGlyZWN0LW5vcm1hbGNv
ZGUuanMKQEAgLTAsMCArMSwxNzUgQEAKKy8vIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRv
IHRoZSBQdWJsaWMgRG9tYWluLgorLy8gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5z
ZXMvcHVibGljZG9tYWluLworInVzZSBzdHJpY3QiOworCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Cit2YXIgQlVHTlVNQkVSID0gNTE0NTY4OwordmFyIHN1bW1hcnkgPSAiZXZhbCBpbiBhbGwgaXRz
IG15cmlhZCBmbGF2b3JzIjsKKworcHJpbnQoQlVHTlVNQkVSICsgIjogIiArIHN1bW1hcnkpOwor
CisvKioqKioqKioqKioqKioKKyAqIEJFR0lOIFRFU1QgKgorICoqKioqKioqKioqKioqLworCit2
YXIgeCA9IDE3OworCit2YXIgZXYgPSBldmFsOworCit2YXIgeGNvZGUgPQorICAidmFyIHggPSA0
OyIgKworICAiZnVuY3Rpb24gYWN0WChhY3Rpb24pIiArCisgICJ7IiArCisgICIgIHN3aXRjaCAo
YWN0aW9uKSIgKworICAiICB7IiArCisgICIgICAgY2FzZSAnZ2V0JzoiICsKKyAgIiAgICAgIHJl
dHVybiB4OyIgKworICAiICAgIGNhc2UgJ3NldDEnOiIgKworICAiICAgICAgeCA9IDk7IiArCisg
ICIgICAgICByZXR1cm47IiArCisgICIgICAgY2FzZSAnc2V0Mic6IiArCisgICIgICAgICB4ID0g
MjM7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2FzZSAnZGVsZXRlJzoiICsKKyAg
IiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxldGUgeCcpOyB9IiArCisgICIgICAgICBjYXRj
aCAoZSkgeyByZXR1cm4gZS5uYW1lOyB9IiArCisgICIgIH0iICsKKyAgIn0iICsKKyAgImFjdFg7
IjsKKwordmFyIGxvY2FsMCA9IHg7CisKK3ZhciBmID0gZXYoeGNvZGUpOworCit2YXIgaW5uZXIx
ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwxID0geDsKKworeCA9IDc7Cit2YXIgaW5uZXIyID0gZigi
Z2V0Iik7Cit2YXIgbG9jYWwyID0geDsKKworZigic2V0MSIpOwordmFyIGlubmVyMyA9IGYoImdl
dCIpOwordmFyIGxvY2FsMyA9IHg7CisKK3ZhciBkZWwgPSBmKCJkZWxldGUiKTsKK3ZhciBpbm5l
cjQgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDQgPSB4OworCitmKCJzZXQyIik7Cit2YXIgaW5uZXI1
ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWw1ID0geDsKKwordmFyIHJlc3VsdHNYID0KKyAgeworICAg
ICBsb2NhbDA6IGxvY2FsMCwKKyAgICAgaW5uZXIxOiBpbm5lcjEsIGxvY2FsMTogbG9jYWwxLAor
ICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsCisgICAgIGlubmVyMzogaW5uZXIz
LCBsb2NhbDM6IGxvY2FsMywKKyAgICAgZGVsOiBkZWwsCisgICAgIGlubmVyNDogaW5uZXI0LCBs
b2NhbDQ6IGxvY2FsNCwKKyAgICAgaW5uZXI1OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1LAorICAg
fTsKKworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwwLCAxNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNY
LmlubmVyMSwgNCk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDEsIDQpOworCithc3NlcnRFcShy
ZXN1bHRzWC5pbm5lcjIsIDcpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwyLCA3KTsKKworYXNz
ZXJ0RXEocmVzdWx0c1guaW5uZXIzLCA5KTsKK2Fzc2VydEVxKHJlc3VsdHNYLmxvY2FsMywgOSk7
CisKK2Fzc2VydEVxKHJlc3VsdHNYLmRlbCwgZmFsc2UpOworCithc3NlcnRFcShyZXN1bHRzWC5p
bm5lcjQsIDkpOworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWw0LCA5KTsKKworYXNzZXJ0RXEocmVz
dWx0c1guaW5uZXI1LCAyMyk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDUsIDIzKTsKKworCit2
YXIgeWNvZGUgPQorICAidmFyIHkgPSA1OyIgKworICAiZnVuY3Rpb24gYWN0WShhY3Rpb24pIiAr
CisgICJ7IiArCisgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAiICB7IiArCisgICIgICAgY2Fz
ZSAnZ2V0JzoiICsKKyAgIiAgICAgIHJldHVybiB5OyIgKworICAiICAgIGNhc2UgJ3NldDEnOiIg
KworICAiICAgICAgeSA9IDI7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2FzZSAn
c2V0Mic6IiArCisgICIgICAgICB5ID0gNzE7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIg
ICAgY2FzZSAnZGVsZXRlJzoiICsKKyAgIiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxldGUg
eScpOyB9IiArCisgICIgICAgICBjYXRjaCAoZSkgeyByZXR1cm4gZS5uYW1lOyB9IiArCisgICIg
IH0iICsKKyAgIn0iICsKKyAgImFjdFk7IjsKKwordHJ5IHsgdmFyIGxvY2FsMCA9IHk7IH0gY2F0
Y2ggKGUpIHsgbG9jYWwwID0gZS5uYW1lOyB9CisKK3ZhciBmID0gZXYoeWNvZGUpOworCit2YXIg
aW5uZXIxID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwxID0geTsKKwordHJ5IHsgeSA9IDg7IH0gY2F0
Y2ggKGUpIHsgYXNzZXJ0RXEoZS5uYW1lLCAiUmVmZXJlbmNlRXJyb3IiKTsgfQordmFyIGlubmVy
MiA9IGYoImdldCIpOwordmFyIGxvY2FsMiA9IHk7CisKK2YoInNldDEiKTsKK3ZhciBpbm5lcjMg
PSBmKCJnZXQiKTsKK3ZhciBsb2NhbDMgPSB5OworCit2YXIgZGVsID0gZigiZGVsZXRlIik7Cit0
cnkgeyB2YXIgaW5uZXI0ID0gZigiZ2V0Iik7IH0gY2F0Y2ggKGUpIHsgaW5uZXI0ID0gZS5uYW1l
OyB9Cit0cnkgeyB2YXIgbG9jYWw0ID0geTsgfSBjYXRjaCAoZSkgeyBsb2NhbDQgPSBlLm5hbWU7
IH0KKworZigic2V0MiIpOwordHJ5IHsgdmFyIGlubmVyNSA9IGYoImdldCIpOyB9IGNhdGNoIChl
KSB7IGlubmVyNSA9IGUubmFtZTsgfQordHJ5IHsgdmFyIGxvY2FsNSA9IHk7IH0gY2F0Y2ggKGUp
IHsgbG9jYWw1ID0gZS5uYW1lOyB9CisKK3ZhciByZXN1bHRzWSA9CisgIHsKKyAgICBsb2NhbDA6
IGxvY2FsMCwKKyAgICBpbm5lcjE6IGlubmVyMSwgbG9jYWwxOiBsb2NhbDEsCisgICAgaW5uZXIy
OiBpbm5lcjIsIGxvY2FsMjogbG9jYWwyLAorICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6IGxv
Y2FsMywKKyAgICBkZWw6IGRlbCwKKyAgICBpbm5lcjQ6IGlubmVyNCwgbG9jYWw0OiBsb2NhbDQs
CisgICAgaW5uZXI1OiBpbm5lcjUsIGxvY2FsNTogbG9jYWw1LAorICB9OworCithc3NlcnRFcShy
ZXN1bHRzWS5sb2NhbDAsICJSZWZlcmVuY2VFcnJvciIpOworCithc3NlcnRFcShyZXN1bHRzWS5p
bm5lcjEsIDUpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwxLCA1KTsKKworYXNzZXJ0RXEocmVz
dWx0c1kuaW5uZXIyLCA4KTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsMiwgOCk7CisKK2Fzc2Vy
dEVxKHJlc3VsdHNZLmlubmVyMywgMik7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDMsIDIpOwor
Cithc3NlcnRFcShyZXN1bHRzWS5kZWwsIHRydWUpOworCithc3NlcnRFcShyZXN1bHRzWS5pbm5l
cjQsICJSZWZlcmVuY2VFcnJvciIpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWw0LCAiUmVmZXJl
bmNlRXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXI1LCA3MSk7Cithc3NlcnRFcShy
ZXN1bHRzWS5sb2NhbDUsIDcxKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworaWYgKHR5
cGVvZiByZXBvcnRDb21wYXJlID09PSAiZnVuY3Rpb24iKQorICByZXBvcnRDb21wYXJlKHRydWUs
IHRydWUpOworCitwcmludCgiVGVzdHMgY29tcGxldGUhIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2
YWwvc2NyaXB0LXRlc3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVjdC1z
dHJpY3Rjb2RlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRl
c3RzL2V4aGF1c3RpdmUtZ2xvYmFsLXN0cmljdGNhbGxlci1pbmRpcmVjdC1zdHJpY3Rjb2RlLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVkNWNlOTVhNTNiMjZiM2M3MmJlZTlhMjU3YTAxZWE5MjY2YmEyOGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvZXZhbC9zY3JpcHQt
dGVzdHMvZXhoYXVzdGl2ZS1nbG9iYWwtc3RyaWN0Y2FsbGVyLWluZGlyZWN0LXN0cmljdGNvZGUu
anMKQEAgLTAsMCArMSwxNzcgQEAKKy8vIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRo
ZSBQdWJsaWMgRG9tYWluLgorLy8gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMv
cHVibGljZG9tYWluLworInVzZSBzdHJpY3QiOworCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit2
YXIgQlVHTlVNQkVSID0gNTE0NTY4OwordmFyIHN1bW1hcnkgPSAiZXZhbCBpbiBhbGwgaXRzIG15
cmlhZCBmbGF2b3JzIjsKKworcHJpbnQoQlVHTlVNQkVSICsgIjogIiArIHN1bW1hcnkpOworCisv
KioqKioqKioqKioqKioKKyAqIEJFR0lOIFRFU1QgKgorICoqKioqKioqKioqKioqLworCit2YXIg
eCA9IDE3OworCit2YXIgZXYgPSBldmFsOworCit2YXIgeGNvZGUgPQorICAiJ3VzZSBzdHJpY3Qn
OyIgKworICAidmFyIHggPSA0OyIgKworICAiZnVuY3Rpb24gYWN0WChhY3Rpb24pIiArCisgICJ7
IiArCisgICIgIHN3aXRjaCAoYWN0aW9uKSIgKworICAiICB7IiArCisgICIgICAgY2FzZSAnZ2V0
JzoiICsKKyAgIiAgICAgIHJldHVybiB4OyIgKworICAiICAgIGNhc2UgJ3NldDEnOiIgKworICAi
ICAgICAgeCA9IDk7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2FzZSAnc2V0Mic6
IiArCisgICIgICAgICB4ID0gMjM7IiArCisgICIgICAgICByZXR1cm47IiArCisgICIgICAgY2Fz
ZSAnZGVsZXRlJzoiICsKKyAgIiAgICAgIHRyeSB7IHJldHVybiBldmFsKCdkZWxldGUgeCcpOyB9
IiArCisgICIgICAgICBjYXRjaCAoZSkgeyByZXR1cm4gZS5uYW1lOyB9IiArCisgICIgIH0iICsK
KyAgIn0iICsKKyAgImFjdFg7IjsKKwordmFyIGxvY2FsMCA9IHg7CisKK3ZhciBmID0gZXYoeGNv
ZGUpOworCit2YXIgaW5uZXIxID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwxID0geDsKKworeCA9IDc7
Cit2YXIgaW5uZXIyID0gZigiZ2V0Iik7Cit2YXIgbG9jYWwyID0geDsKKworZigic2V0MSIpOwor
dmFyIGlubmVyMyA9IGYoImdldCIpOwordmFyIGxvY2FsMyA9IHg7CisKK3ZhciBkZWwgPSBmKCJk
ZWxldGUiKTsKK3ZhciBpbm5lcjQgPSBmKCJnZXQiKTsKK3ZhciBsb2NhbDQgPSB4OworCitmKCJz
ZXQyIik7Cit2YXIgaW5uZXI1ID0gZigiZ2V0Iik7Cit2YXIgbG9jYWw1ID0geDsKKwordmFyIHJl
c3VsdHNYID0KKyAgeworICAgICBsb2NhbDA6IGxvY2FsMCwKKyAgICAgaW5uZXIxOiBpbm5lcjEs
IGxvY2FsMTogbG9jYWwxLAorICAgICBpbm5lcjI6IGlubmVyMiwgbG9jYWwyOiBsb2NhbDIsCisg
ICAgIGlubmVyMzogaW5uZXIzLCBsb2NhbDM6IGxvY2FsMywKKyAgICAgZGVsOiBkZWwsCisgICAg
IGlubmVyNDogaW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwKKyAgICAgaW5uZXI1OiBpbm5lcjUsIGxv
Y2FsNTogbG9jYWw1LAorICAgfTsKKworYXNzZXJ0RXEocmVzdWx0c1gubG9jYWwwLCAxNyk7CisK
K2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMSwgNCk7Cithc3NlcnRFcShyZXN1bHRzWC5sb2NhbDEs
IDE3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXIyLCA0KTsKK2Fzc2VydEVxKHJlc3VsdHNY
LmxvY2FsMiwgNyk7CisKK2Fzc2VydEVxKHJlc3VsdHNYLmlubmVyMywgOSk7Cithc3NlcnRFcShy
ZXN1bHRzWC5sb2NhbDMsIDcpOworCithc3NlcnRFcShyZXN1bHRzWC5kZWwsICJTeW50YXhFcnJv
ciIpOworCithc3NlcnRFcShyZXN1bHRzWC5pbm5lcjQsIDkpOworYXNzZXJ0RXEocmVzdWx0c1gu
bG9jYWw0LCA3KTsKKworYXNzZXJ0RXEocmVzdWx0c1guaW5uZXI1LCAyMyk7Cithc3NlcnRFcShy
ZXN1bHRzWC5sb2NhbDUsIDcpOworCisKK3ZhciB5Y29kZSA9CisgICIndXNlIHN0cmljdCc7IiAr
CisgICJ2YXIgeSA9IDU7IiArCisgICJmdW5jdGlvbiBhY3RZKGFjdGlvbikiICsKKyAgInsiICsK
KyAgIiAgc3dpdGNoIChhY3Rpb24pIiArCisgICIgIHsiICsKKyAgIiAgICBjYXNlICdnZXQnOiIg
KworICAiICAgICAgcmV0dXJuIHk7IiArCisgICIgICAgY2FzZSAnc2V0MSc6IiArCisgICIgICAg
ICB5ID0gMjsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdzZXQyJzoiICsK
KyAgIiAgICAgIHkgPSA3MTsiICsKKyAgIiAgICAgIHJldHVybjsiICsKKyAgIiAgICBjYXNlICdk
ZWxldGUnOiIgKworICAiICAgICAgdHJ5IHsgcmV0dXJuIGV2YWwoJ2RlbGV0ZSB5Jyk7IH0iICsK
KyAgIiAgICAgIGNhdGNoIChlKSB7IHJldHVybiBlLm5hbWU7IH0iICsKKyAgIiAgfSIgKworICAi
fSIgKworICAiYWN0WTsiOworCit0cnkgeyB2YXIgbG9jYWwwID0geTsgfSBjYXRjaCAoZSkgeyBs
b2NhbDAgPSBlLm5hbWU7IH0KKwordmFyIGYgPSBldih5Y29kZSk7CisKK3ZhciBpbm5lcjEgPSBm
KCJnZXQiKTsKK3RyeSB7IHZhciBsb2NhbDEgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2FsMSA9IGUu
bmFtZTsgfQorCit0cnkgeyB5ID0gODsgfSBjYXRjaCAoZSkgeyBhc3NlcnRFcShlLm5hbWUsICJS
ZWZlcmVuY2VFcnJvciIpOyB9Cit2YXIgaW5uZXIyID0gZigiZ2V0Iik7Cit0cnkgeyB2YXIgbG9j
YWwyID0geTsgfSBjYXRjaCAoZSkgeyBsb2NhbDIgPSBlLm5hbWU7IH0KKworZigic2V0MSIpOwor
dmFyIGlubmVyMyA9IGYoImdldCIpOwordHJ5IHsgdmFyIGxvY2FsMyA9IHk7IH0gY2F0Y2ggKGUp
IHsgbG9jYWwzID0gZS5uYW1lOyB9CisKK3ZhciBkZWwgPSBmKCJkZWxldGUiKTsKK3RyeSB7IHZh
ciBpbm5lcjQgPSBmKCJnZXQiKTsgfSBjYXRjaCAoZSkgeyBpbm5lcjQgPSBlLm5hbWU7IH0KK3Ry
eSB7IHZhciBsb2NhbDQgPSB5OyB9IGNhdGNoIChlKSB7IGxvY2FsNCA9IGUubmFtZTsgfQorCitm
KCJzZXQyIik7Cit0cnkgeyB2YXIgaW5uZXI1ID0gZigiZ2V0Iik7IH0gY2F0Y2ggKGUpIHsgaW5u
ZXI1ID0gZS5uYW1lOyB9Cit0cnkgeyB2YXIgbG9jYWw1ID0geTsgfSBjYXRjaCAoZSkgeyBsb2Nh
bDUgPSBlLm5hbWU7IH0KKwordmFyIHJlc3VsdHNZID0KKyAgeworICAgIGxvY2FsMDogbG9jYWww
LAorICAgIGlubmVyMTogaW5uZXIxLCBsb2NhbDE6IGxvY2FsMSwKKyAgICBpbm5lcjI6IGlubmVy
MiwgbG9jYWwyOiBsb2NhbDIsCisgICAgaW5uZXIzOiBpbm5lcjMsIGxvY2FsMzogbG9jYWwzLAor
ICAgIGRlbDogZGVsLAorICAgIGlubmVyNDogaW5uZXI0LCBsb2NhbDQ6IGxvY2FsNCwKKyAgICBp
bm5lcjU6IGlubmVyNSwgbG9jYWw1OiBsb2NhbDUsCisgIH07CisKK2Fzc2VydEVxKHJlc3VsdHNZ
LmxvY2FsMCwgIlJlZmVyZW5jZUVycm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyMSwg
NSk7Cithc3NlcnRFcShyZXN1bHRzWS5sb2NhbDEsICJSZWZlcmVuY2VFcnJvciIpOworCithc3Nl
cnRFcShyZXN1bHRzWS5pbm5lcjIsIDUpOworYXNzZXJ0RXEocmVzdWx0c1kubG9jYWwyLCAiUmVm
ZXJlbmNlRXJyb3IiKTsKKworYXNzZXJ0RXEocmVzdWx0c1kuaW5uZXIzLCAyKTsKK2Fzc2VydEVx
KHJlc3VsdHNZLmxvY2FsMywgIlJlZmVyZW5jZUVycm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNZ
LmRlbCwgIlN5bnRheEVycm9yIik7CisKK2Fzc2VydEVxKHJlc3VsdHNZLmlubmVyNCwgMik7Cith
c3NlcnRFcShyZXN1bHRzWS5sb2NhbDQsICJSZWZlcmVuY2VFcnJvciIpOworCithc3NlcnRFcShy
ZXN1bHRzWS5pbm5lcjUsIDcxKTsKK2Fzc2VydEVxKHJlc3VsdHNZLmxvY2FsNSwgIlJlZmVyZW5j
ZUVycm9yIik7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK2lmICh0eXBlb2YgcmVwb3J0
Q29tcGFyZSA9PT0gImZ1bmN0aW9uIikKKyAgcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwor
cHJpbnQoIlRlc3RzIGNvbXBsZXRlISIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3NjcmlwdC10
ZXN0cy91bmRlY2xhcmVkLW5hbWUtaW4tbmVzdGVkLXN0cmljdC1ldmFsLmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvc2NyaXB0LXRlc3RzL3VuZGVjbGFyZWQtbmFtZS1pbi1u
ZXN0ZWQtc3RyaWN0LWV2YWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNhOTExNGE3MjczYWE0YzY5ODhjNDhk
MTE4OGQ1YTRhMmVjYzcwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9ldmFsL3NjcmlwdC10ZXN0cy91bmRlY2xhcmVkLW5hbWUtaW4tbmVzdGVkLXN0cmlj
dC1ldmFsLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVk
IHRvIHRoZSBQdWJsaWMgRG9tYWluLgorLy8gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGlj
ZW5zZXMvcHVibGljZG9tYWluLworInVzZSBzdHJpY3QiOworCisvLy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCit2YXIgQlVHTlVNQkVSID0gNTE0NTY4OwordmFyIHN1bW1hcnkgPQorICAiVmVyaWZ5IHRo
YXQgd2UgZG9uJ3Qgb3B0aW1pemUgZnJlZSBuYW1lcyB0byBnbmFtZXMgaW4gZXZhbCBjb2RlIHRo
YXQncyAiICsKKyAgImdsb2JhbCwgd2hlbiB0aGUgbmFtZSByZWZlcnMgdG8gYSBiaW5kaW5nIGlu
dHJvZHVjZWQgYnkgYSBzdHJpY3QgbW9kZSAiICsKKyAgImV2YWwgZnJhbWUiOworCitwcmludChC
VUdOVU1CRVIgKyAiOiAiICsgc3VtbWFyeSk7CisKKy8qKioqKioqKioqKioqKgorICogQkVHSU4g
VEVTVCAqCisgKioqKioqKioqKioqKiovCisKK3ZhciB4ID0gImdsb2JhbCI7Cithc3NlcnRFcShl
dmFsKCd2YXIgeCA9ICJldmFsIjsgZXZhbCgieCIpJyksICJldmFsIik7CisKKy8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovCisKK2lmICh0eXBlb2YgcmVwb3J0Q29tcGFyZSA9PT0gImZ1bmN0aW9uIikK
KyAgcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKworcHJpbnQoIlRlc3RzIGNvbXBsZXRlISIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3VuZGVjbGFyZWQtbmFtZS1pbi1uZXN0ZWQtc3RyaWN0
LWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2YWwvdW5k
ZWNsYXJlZC1uYW1lLWluLW5lc3RlZC1zdHJpY3QtZXZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWQ0NjM3NjZjY2QzZDgxNjllMDlhMWJjODk1OGQwMTMyOGVlMmVhMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3VuZGVjbGFyZWQtbmFtZS1p
bi1uZXN0ZWQtc3RyaWN0LWV2YWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorNTE0NTY4
OiBWZXJpZnkgdGhhdCB3ZSBkb24ndCBvcHRpbWl6ZSBmcmVlIG5hbWVzIHRvIGduYW1lcyBpbiBl
dmFsIGNvZGUgdGhhdCdzIGdsb2JhbCwgd2hlbiB0aGUgbmFtZSByZWZlcnMgdG8gYSBiaW5kaW5n
IGludHJvZHVjZWQgYnkgYSBzdHJpY3QgbW9kZSBldmFsIGZyYW1lCitQQVNTIGV2YWwgPT09IGV2
YWwKK1Rlc3RzIGNvbXBsZXRlIQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9l
dmFsL3VuZGVjbGFyZWQtbmFtZS1pbi1uZXN0ZWQtc3RyaWN0LWV2YWwuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9ldmFsL3VuZGVjbGFyZWQtbmFtZS1pbi1uZXN0ZWQtc3RyaWN0
LWV2YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTM1NmQxNmUxZGY5MjEyNDhjYTk2MjM4MjU1ODYzZGY1
MGU2NjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL2V2
YWwvdW5kZWNsYXJlZC1uYW1lLWluLW5lc3RlZC1zdHJpY3QtZXZhbC5odG1sCkBAIC0wLDAgKzEs
MTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvdW5k
ZWNsYXJlZC1uYW1lLWluLW5lc3RlZC1zdHJpY3QtZXZhbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC1hc3luYy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LWFzeW5jLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2Nzc3YWFjYjIyMzUxZTVm
NjdhYWMyNWQ1MWI1ODA1OTRlYTA1MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1hc3luYy5qcwpAQCAtMCwwICsx
LDUgQEAKK3Nob3VsZEJlVHJ1ZSgic3VjY2Vzc2Z1bGx5UGFyc2VkIik7CitkZWJ1ZygnPGJyIC8+
PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7CisKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QtZnVuY3Rpb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YmU3YmMwN2JmNTJk
Yzg5MmVmYjkzNTFhYTA0OTQyMDRmYTIwNWMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMKQEAg
LTAsMCArMSw1IEBACitmdW5jdGlvbiBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpCit7CisgICAgc2hv
dWxkQmVUcnVlKCJzdWNjZXNzZnVsbHlQYXJzZWQiKTsKKyAgICBkZWJ1ZygnPGJyPjxzcGFuIGNs
YXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qtbi5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LW4uanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDliY2VhZTA1MWE2ZTFhNWJiZDczZGM3ODkyZTg2ODIyYmYxNTYyMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LW4uanMKQEAgLTAsMCArMSwyIEBACitzaG91bGRCZVVuZGVmaW5lZCgid2luZG93LnN1Y2Nl
c3NmdWxseVBhcnNlZCIpOworZGVidWcoJzxicj48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01Q
TEVURTwvc3Bhbj4nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFhOWU1ZmNhZGVmNWRlMTQzNzU1
MDc2YmI2Y2UwZjNlZGM4Y2RlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzCkBAIC0wLDAgKzEsOSBAQAord2Fz
UG9zdFRlc3RTY3JpcHRQYXJzZWQgPSB0cnVlOworCitpZiAod2luZG93LmpzVGVzdElzQXN5bmMp
IHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgaWYgKHdpbmRvdy53YXNGaW5pc2hK
U1Rlc3RDYWxsZWQpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfSBlbHNlCisgICAgZmluaXNo
SlNUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTAzYjU0MjJmZWEyMTJjNjFiNmVkYzNjMWM2
NzhlOGI3YzFlZjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwpAQCAtMCwwICsxLDMyMyBAQAorLy8gc3ZnL2R5
bmFtaWMtdXBkYXRlcyB0ZXN0cyBzZXQgZW5hYmxlUGl4ZWxUZXN0aW5nPXRydWUsIGFzIHdlIHdh
bnQgdG8gZHVtcCB0ZXh0ICsgcGl4ZWwgcmVzdWx0cworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KHdpbmRvdy5lbmFi
bGVQaXhlbFRlc3RpbmcpOworCitmdW5jdGlvbiBkZXNjcmlwdGlvbihtc2cpCit7CisgICAgLy8g
Rm9yIE1TSUUgNiBjb21wYXRpYmlsaXR5CisgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzcGFuIik7CisgICAgc3Bhbi5pbm5lckhUTUwgPSAnPHA+JyArIG1zZyArICc8L3A+
PHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICI8c3BhbiBjbGFzcz0icGFz
cyI+UEFTUzwvc3Bhbj4iIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiPHNwYW4gY2xhc3M9InBhc3Mi
PlRFU1QgQ09NUExFVEU8L3NwYW4+Ii48L3A+JzsKKyAgICB2YXIgZGVzY3JpcHRpb24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKTsKKyAgICBpZiAoZGVzY3JpcHRpb24u
Zmlyc3RDaGlsZCkKKyAgICAgICAgZGVzY3JpcHRpb24ucmVwbGFjZUNoaWxkKHNwYW4sIGRlc2Ny
aXB0aW9uLmZpcnN0Q2hpbGQpOworICAgIGVsc2UKKyAgICAgICAgZGVzY3JpcHRpb24uYXBwZW5k
Q2hpbGQoc3Bhbik7Cit9CisKK2Z1bmN0aW9uIGRlYnVnKG1zZykKK3sKKyAgICB2YXIgc3BhbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHNwYW4pOyAvLyBpbnNlcnQgaXQgZmlyc3Qgc28g
WEhUTUwga25vd3MgdGhlIG5hbWVzcGFjZQorICAgIHNwYW4uaW5uZXJIVE1MID0gbXNnICsgJzxi
ciAvPic7Cit9CisKK2Z1bmN0aW9uIGVzY2FwZUhUTUwodGV4dCkKK3sKKyAgICByZXR1cm4gdGV4
dC5yZXBsYWNlKC8mL2csICImYW1wOyIpLnJlcGxhY2UoLzwvZywgIiZsdDsiKS5yZXBsYWNlKC9c
MC9nLCAiXFwwIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXNzZWQobXNnKQoreworICAgIGRlYnVn
KCc8c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4gJyArIGVzY2FwZUhUTUwobXNn
KSArICc8L3NwYW4+Jyk7Cit9CisKK2Z1bmN0aW9uIHRlc3RGYWlsZWQobXNnKQoreworICAgIGRl
YnVnKCc8c3Bhbj48c3BhbiBjbGFzcz0iZmFpbCI+RkFJTDwvc3Bhbj4gJyArIGVzY2FwZUhUTUwo
bXNnKSArICc8L3NwYW4+Jyk7Cit9CisKK2Z1bmN0aW9uIGFyZUFycmF5c0VxdWFsKF9hLCBfYikK
K3sKKyAgICB0cnkgeworICAgICAgICBpZiAoX2EubGVuZ3RoICE9PSBfYi5sZW5ndGgpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgX2EubGVu
Z3RoOyBpKyspCisgICAgICAgICAgICBpZiAoX2FbaV0gIT09IF9iW2ldKQorICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9IGNhdGNoIChleCkgeworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiBpc01pbnVzWmVybyhu
KQoreworICAgIC8vIHRoZSBvbmx5IHdheSB0byB0ZWxsIDAgZnJvbSAtMCBpbiBKUyBpcyB0aGUg
ZmFjdCB0aGF0IDEvLTAgaXMKKyAgICAvLyAtSW5maW5pdHkgaW5zdGVhZCBvZiBJbmZpbml0eQor
ICAgIHJldHVybiBuID09PSAwICYmIDEvbiA8IDA7Cit9CisKK2Z1bmN0aW9uIGlzUmVzdWx0Q29y
cmVjdChfYWN0dWFsLCBfZXhwZWN0ZWQpCit7CisgICAgaWYgKF9leHBlY3RlZCA9PT0gMCkKKyAg
ICAgICAgcmV0dXJuIF9hY3R1YWwgPT09IF9leHBlY3RlZCAmJiAoMS9fYWN0dWFsKSA9PT0gKDEv
X2V4cGVjdGVkKTsKKyAgICBpZiAoX2FjdHVhbCA9PT0gX2V4cGVjdGVkKQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICBpZiAodHlwZW9mKF9leHBlY3RlZCkgPT0gIm51bWJlciIgJiYgaXNOYU4o
X2V4cGVjdGVkKSkKKyAgICAgICAgcmV0dXJuIHR5cGVvZihfYWN0dWFsKSA9PSAibnVtYmVyIiAm
JiBpc05hTihfYWN0dWFsKTsKKyAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KF9leHBlY3RlZCkgPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFtdKSkKKyAgICAg
ICAgcmV0dXJuIGFyZUFycmF5c0VxdWFsKF9hY3R1YWwsIF9leHBlY3RlZCk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitmdW5jdGlvbiBzdHJpbmdpZnkodikKK3sKKyAgICBpZiAodiA9PT0gMCAm
JiAxL3YgPCAwKQorICAgICAgICByZXR1cm4gIi0wIjsKKyAgICBlbHNlIHJldHVybiAiIiArIHY7
Cit9CisKK2Z1bmN0aW9uIGV2YWxBbmRMb2coX2EpCit7CisgIGlmICh0eXBlb2YgX2EgIT0gInN0
cmluZyIpCisgICAgZGVidWcoIldBUk46IHRyeUFuZExvZygpIGV4cGVjdHMgYSBzdHJpbmcgYXJn
dW1lbnQiKTsKKworICAvLyBMb2cgZmlyc3QgaW4gY2FzZSB0aGluZ3MgZ28gaG9ycmlibHkgd3Jv
bmcgb3IgdGhpcyBjYXVzZXMgYSBzeW5jIGV2ZW50LgorICBkZWJ1ZyhfYSk7CisKKyAgdmFyIF9h
djsKKyAgdHJ5IHsKKyAgICAgX2F2ID0gZXZhbChfYSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAgICB0
ZXN0RmFpbGVkKF9hICsgIiB0aHJldyBleGNlcHRpb24gIiArIGUpOworICB9CisgIHJldHVybiBf
YXY7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlKF9hLCBfYikKK3sKKyAgaWYgKHR5cGVvZiBfYSAh
PSAic3RyaW5nIiB8fCB0eXBlb2YgX2IgIT0gInN0cmluZyIpCisgICAgZGVidWcoIldBUk46IHNo
b3VsZEJlKCkgZXhwZWN0cyBzdHJpbmcgYXJndW1lbnRzIik7CisgIHZhciBleGNlcHRpb247Cisg
IHZhciBfYXY7CisgIHRyeSB7CisgICAgIF9hdiA9IGV2YWwoX2EpOworICB9IGNhdGNoIChlKSB7
CisgICAgIGV4Y2VwdGlvbiA9IGU7CisgIH0KKyAgdmFyIF9idiA9IGV2YWwoX2IpOworCisgIGlm
IChleGNlcHRpb24pCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlICIgKyBfYnYgKyAi
LiBUaHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbik7CisgIGVsc2UgaWYgKGlzUmVzdWx0Q29y
cmVjdChfYXYsIF9idikpCisgICAgdGVzdFBhc3NlZChfYSArICIgaXMgIiArIF9iKTsKKyAgZWxz
ZSBpZiAodHlwZW9mKF9hdikgPT0gdHlwZW9mKF9idikpCisgICAgdGVzdEZhaWxlZChfYSArICIg
c2hvdWxkIGJlICIgKyBfYnYgKyAiLiBXYXMgIiArIHN0cmluZ2lmeShfYXYpICsgIi4iKTsKKyAg
ZWxzZQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSAiICsgX2J2ICsgIiAob2YgdHlw
ZSAiICsgdHlwZW9mIF9idiArICIpLiBXYXMgIiArIF9hdiArICIgKG9mIHR5cGUgIiArIHR5cGVv
ZiBfYXYgKyAiKS4iKTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVUcnVlKF9hKSB7IHNob3VsZEJl
KF9hLCAidHJ1ZSIpOyB9CitmdW5jdGlvbiBzaG91bGRCZUZhbHNlKF9hKSB7IHNob3VsZEJlKF9h
LCAiZmFsc2UiKTsgfQorZnVuY3Rpb24gc2hvdWxkQmVOYU4oX2EpIHsgc2hvdWxkQmUoX2EsICJO
YU4iKTsgfQorZnVuY3Rpb24gc2hvdWxkQmVOdWxsKF9hKSB7IHNob3VsZEJlKF9hLCAibnVsbCIp
OyB9CisKK2Z1bmN0aW9uIHNob3VsZEJlRXF1YWxUb1N0cmluZyhhLCBiKQoreworICB2YXIgdW5l
dmFsZWRTdHJpbmcgPSAnIicgKyBiLnJlcGxhY2UoL1xcL2csICJcXFxcIikucmVwbGFjZSgvIi9n
LCAiXCIiKS5yZXBsYWNlKC9cbi9nLCAiXFxuIikucmVwbGFjZSgvXHIvZywgIlxcciIpICsgJyIn
OworICBzaG91bGRCZShhLCB1bmV2YWxlZFN0cmluZyk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEV2
YWx1YXRlVG8oYWN0dWFsLCBleHBlY3RlZCkgeworICAvLyBBIGdlbmVyYWwtcHVycG9zZSBjb21w
YXJhdG9yLiAgJ2FjdHVhbCcgc2hvdWxkIGJlIGEgc3RyaW5nIHRvIGJlCisgIC8vIGV2YWx1YXRl
ZCwgYXMgZm9yIHNob3VsZEJlKCkuICdleHBlY3RlZCcgbWF5IGJlIGFueSB0eXBlIGFuZCB3aWxs
IGJlCisgIC8vIHVzZWQgd2l0aG91dCBiZWluZyBldmFsJ2VkLgorICBpZiAoZXhwZWN0ZWQgPT0g
bnVsbCkgeworICAgIC8vIERvIHRoaXMgYmVmb3JlIHRoZSBvYmplY3QgdGVzdCwgc2luY2UgbnVs
bCBpcyBvZiB0eXBlICdvYmplY3QnLgorICAgIHNob3VsZEJlTnVsbChhY3R1YWwpOworICB9IGVs
c2UgaWYgKHR5cGVvZiBleHBlY3RlZCA9PSAidW5kZWZpbmVkIikgeworICAgIHNob3VsZEJlVW5k
ZWZpbmVkKGFjdHVhbCk7CisgIH0gZWxzZSBpZiAodHlwZW9mIGV4cGVjdGVkID09ICJmdW5jdGlv
biIpIHsKKyAgICAvLyBBbGwgdGhpcyBmdXNzIGlzIHRvIGF2b2lkIHRoZSBzdHJpbmctYXJnIHdh
cm5pbmcgZnJvbSBzaG91bGRCZSgpLgorICAgIHRyeSB7CisgICAgICBhY3R1YWxWYWx1ZSA9IGV2
YWwoYWN0dWFsKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICB0ZXN0RmFpbGVkKCJFdmFsdWF0
aW5nICIgKyBhY3R1YWwgKyAiOiBUaHJldyBleGNlcHRpb24gIiArIGUpOworICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBzaG91bGRCZSgiJyIgKyBhY3R1YWxWYWx1ZS50b1N0cmluZygpLnJlcGxh
Y2UoL1xuL2csICIiKSArICInIiwKKyAgICAgICAgICAgICAiJyIgKyBleHBlY3RlZC50b1N0cmlu
ZygpLnJlcGxhY2UoL1xuL2csICIiKSArICInIik7CisgIH0gZWxzZSBpZiAodHlwZW9mIGV4cGVj
dGVkID09ICJvYmplY3QiKSB7CisgICAgc2hvdWxkQmVUcnVlKGFjdHVhbCArICIgPT0gJyIgKyBl
eHBlY3RlZCArICInIik7CisgIH0gZWxzZSBpZiAodHlwZW9mIGV4cGVjdGVkID09ICJzdHJpbmci
KSB7CisgICAgc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCk7CisgIH0gZWxzZSBpZiAodHlwZW9m
IGV4cGVjdGVkID09ICJib29sZWFuIikgeworICAgIHNob3VsZEJlKCJ0eXBlb2YgIiArIGFjdHVh
bCwgIidib29sZWFuJyIpOworICAgIGlmIChleHBlY3RlZCkKKyAgICAgIHNob3VsZEJlVHJ1ZShh
Y3R1YWwpOworICAgIGVsc2UKKyAgICAgIHNob3VsZEJlRmFsc2UoYWN0dWFsKTsKKyAgfSBlbHNl
IGlmICh0eXBlb2YgZXhwZWN0ZWQgPT0gIm51bWJlciIpIHsKKyAgICBzaG91bGRCZShhY3R1YWws
IHN0cmluZ2lmeShleHBlY3RlZCkpOworICB9IGVsc2UgeworICAgIGRlYnVnKGV4cGVjdGVkICsg
IiBpcyB1bmtub3duIHR5cGUgIiArIHR5cGVvZiBleHBlY3RlZCk7CisgICAgc2hvdWxkQmVUcnVl
KGFjdHVhbCwgIiciICArZXhwZWN0ZWQudG9TdHJpbmcoKSArICInIik7CisgIH0KK30KKworZnVu
Y3Rpb24gc2hvdWxkQmVOb25aZXJvKF9hKQoreworICB2YXIgZXhjZXB0aW9uOworICB2YXIgX2F2
OworICB0cnkgeworICAgICBfYXYgPSBldmFsKF9hKTsKKyAgfSBjYXRjaCAoZSkgeworICAgICBl
eGNlcHRpb24gPSBlOworICB9CisKKyAgaWYgKGV4Y2VwdGlvbikKKyAgICB0ZXN0RmFpbGVkKF9h
ICsgIiBzaG91bGQgYmUgbm9uLXplcm8uIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uKTsK
KyAgZWxzZSBpZiAoX2F2ICE9IDApCisgICAgdGVzdFBhc3NlZChfYSArICIgaXMgbm9uLXplcm8u
Iik7CisgIGVsc2UKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgbm9uLXplcm8uIFdh
cyAiICsgX2F2KTsKK30KKworZnVuY3Rpb24gc2hvdWxkQmVOb25OdWxsKF9hKQoreworICB2YXIg
ZXhjZXB0aW9uOworICB2YXIgX2F2OworICB0cnkgeworICAgICBfYXYgPSBldmFsKF9hKTsKKyAg
fSBjYXRjaCAoZSkgeworICAgICBleGNlcHRpb24gPSBlOworICB9CisKKyAgaWYgKGV4Y2VwdGlv
bikKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgbm9uLW51bGwuIFRocmV3IGV4Y2Vw
dGlvbiAiICsgZXhjZXB0aW9uKTsKKyAgZWxzZSBpZiAoX2F2ICE9IG51bGwpCisgICAgdGVzdFBh
c3NlZChfYSArICIgaXMgbm9uLW51bGwuIik7CisgIGVsc2UKKyAgICB0ZXN0RmFpbGVkKF9hICsg
IiBzaG91bGQgYmUgbm9uLW51bGwuIFdhcyAiICsgX2F2KTsKK30KKworZnVuY3Rpb24gc2hvdWxk
QmVVbmRlZmluZWQoX2EpCit7CisgIHZhciBleGNlcHRpb247CisgIHZhciBfYXY7CisgIHRyeSB7
CisgICAgIF9hdiA9IGV2YWwoX2EpOworICB9IGNhdGNoIChlKSB7CisgICAgIGV4Y2VwdGlvbiA9
IGU7CisgIH0KKworICBpZiAoZXhjZXB0aW9uKQorICAgIHRlc3RGYWlsZWQoX2EgKyAiIHNob3Vs
ZCBiZSB1bmRlZmluZWQuIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uKTsKKyAgZWxzZSBp
ZiAodHlwZW9mIF9hdiA9PSAidW5kZWZpbmVkIikKKyAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyB1
bmRlZmluZWQuIik7CisgIGVsc2UKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgdW5k
ZWZpbmVkLiBXYXMgIiArIF9hdik7Cit9CisKK2Z1bmN0aW9uIHNob3VsZEJlRGVmaW5lZChfYSkK
K3sKKyAgdmFyIGV4Y2VwdGlvbjsKKyAgdmFyIF9hdjsKKyAgdHJ5IHsKKyAgICAgX2F2ID0gZXZh
bChfYSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAgICAgZXhjZXB0aW9uID0gZTsKKyAgfQorCisgIGlm
IChleGNlcHRpb24pCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlIGRlZmluZWQuIFRo
cmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uKTsKKyAgZWxzZSBpZiAoX2F2ICE9PSB1bmRlZmlu
ZWQpCisgICAgdGVzdFBhc3NlZChfYSArICIgaXMgZGVmaW5lZC4iKTsKKyAgZWxzZQorICAgIHRl
c3RGYWlsZWQoX2EgKyAiIHNob3VsZCBiZSBkZWZpbmVkLiBXYXMgIiArIF9hdik7Cit9CisKK2Z1
bmN0aW9uIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKF9hLCBfYikgeworICAgIGlmICh0eXBl
b2YgX2EgIT0gInN0cmluZyIgfHwgdHlwZW9mIF9iICE9ICJzdHJpbmciKQorICAgICAgICBkZWJ1
ZygiV0FSTjogc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwgZXhwZWN0cyBzdHJpbmcgYXJndW1l
bnRzIik7CisKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHZhciBfYXY7CisgICAgdHJ5IHsKKyAg
ICAgICAgX2F2ID0gZXZhbChfYSk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBleGNlcHRp
b24gPSBlOworICAgIH0KKyAgICB2YXIgX2J2ID0gZXZhbChfYik7CisKKyAgICBpZiAoZXhjZXB0
aW9uKQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgPj0gIiArIF9iICsgIi4g
VGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24pOworICAgIGVsc2UgaWYgKHR5cGVvZiBfYXYg
PT0gInVuZGVmaW5lZCIgfHwgX2F2IDwgX2J2KQorICAgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBz
aG91bGQgYmUgPj0gIiArIF9iICsgIi4gV2FzICIgKyBfYXYgKyAiIChvZiB0eXBlICIgKyB0eXBl
b2YgX2F2ICsgIikuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0UGFzc2VkKF9hICsgIiBpcyA+
PSAiICsgX2IpOworfQorCitmdW5jdGlvbiBzaG91bGRUaHJvd1R5cGUoX2EsIF9lKQoreworICB2
YXIgZXhjZXB0aW9uOworICB2YXIgX2F2OworICB0cnkgeworICAgICBfYXYgPSBldmFsKF9hKTsK
KyAgfSBjYXRjaCAoZSkgeworICAgICBleGNlcHRpb24gPSBlOworICB9CisKKyAgaWYgKGV4Y2Vw
dGlvbikgeworICAgIGlmIChleGNlcHRpb24gaW5zdGFuY2VvZiBfZSkKKyAgICAgIHRlc3RQYXNz
ZWQoX2EgKyAiIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlICIgKyBfZS5uYW1lICsgIi4iKTsKKyAg
ICBlbHNlCisgICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2Yg
X2UgPT0gInVuZGVmaW5lZCIgPyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBUaHJldyBleGNl
cHRpb24gIiArIGV4Y2VwdGlvbiArICIuIik7CisgIH0gZWxzZQorICAgIHRlc3RGYWlsZWQoX2Eg
KyAiIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiAiICsgX2UubmFtZSk7Cit9CisKK2Z1bmN0
aW9uIGdjKCkgeworICAgIGlmICh0eXBlb2YgR0NDb250cm9sbGVyICE9PSAidW5kZWZpbmVkIikK
KyAgICAgICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgZnVu
Y3Rpb24gZ2NSZWMobikgeworICAgICAgICAgICAgaWYgKG4gPCAxKQorICAgICAgICAgICAgICAg
IHJldHVybiB7fTsKKyAgICAgICAgICAgIHZhciB0ZW1wID0ge2k6ICJhYiIgKyBpICsgKGkgLyAx
MDAwMDApfTsKKyAgICAgICAgICAgIHRlbXAgKz0gImZvbyI7CisgICAgICAgICAgICBnY1JlYyhu
LTEpOworICAgICAgICB9CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgaSsrKQor
ICAgICAgICAgICAgZ2NSZWMoMTApCisgICAgfQorfQorCisvLyBJdCdzIHBvc3NpYmxlIGZvciBh
biBhc3luYyB0ZXN0IHRvIGNhbGwgZmluaXNoSlNUZXN0KCkgYmVmb3JlIGpzLXRlc3QtcG9zdC5q
cworLy8gaGFzIGJlZW4gcGFyc2VkLgorZnVuY3Rpb24gZmluaXNoSlNUZXN0KCkKK3sKKyAgICB3
YXNGaW5pc2hKU1Rlc3RDYWxsZWQgPSB0cnVlOworICAgIGlmICghd2luZG93Lndhc1Bvc3RUZXN0
U2NyaXB0UGFyc2VkKQorICAgICAgICByZXR1cm47CisgICAgc2hvdWxkQmVUcnVlKCJzdWNjZXNz
ZnVsbHlQYXJzZWQiKTsKKyAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1Qg
Q09NUExFVEU8L3NwYW4+Jyk7CisgICAgaWYgKHdpbmRvdy5qc1Rlc3RJc0FzeW5jICYmIHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCisvLyBzaGFkb3cgcHJpbnQoKQorZnVuY3Rpb24gcHJpbnQoKQorewor
ICAgIGRlYnVnLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIGFzc2VydEVx
KGxlZnQsIHJpZ2h0LCBtZXNzYWdlKQoreworICAgIGlmIChsZWZ0ID09PSByaWdodCkKKyAgICAg
ICAgdGVzdFBhc3NlZChsZWZ0ICsgIiA9PT0gIiArIHJpZ2h0KTsKKyAgICBlbHNlIGlmIChtZXNz
YWdlKQorICAgICAgICB0ZXN0RmFpbGVkKG1lc3NhZ2UpOworICAgIGVsc2UKKyAgICAgICAgdGVz
dEZhaWxlZCgiYXNzZXJ0RXEgZmFpbGVkOiAiICsgbGVmdCArICIob2YgdHlwZSAiICsgKHR5cGVv
ZiBsZWZ0KSArICIpICE9PSAiICsgcmlnaHQgKyAiKG9mIHR5cGUgIiArICh0eXBlb2YgcmlnaHQp
ICsgIikiKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMTIxNDdjYTQzMjg5NTQ2OGFhMjc0OWU0Y2E0NDM2Y2NlZWU4NWFiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcwpAQCAtMCwwICsxLDEyIEBACisucGFzcyB7CisgICAgZm9udC13ZWlnaHQ6IGJv
bGQ7CisgICAgY29sb3I6IGdyZWVuOworfQorLmZhaWwgeworICAgIGZvbnQtd2VpZ2h0OiBib2xk
OworICAgIGNvbG9yOiByZWQ7Cit9CisjY29uc29sZSB7CisgICAgd2hpdGUtc3BhY2U6IHByZS13
cmFwOworICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZjA4MTQwMzM5M2Q5M2IyMGFiZGI3NzQ4ZGQwMWRmMTM5NGI5MDUzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3Jlc291cmNlcy9tb3pp
bGxhLWVzNS1zaGVsbC5qcwpAQCAtMCwwICsxLDEzOSBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFi
LXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAq
LworCisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21h
aW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4v
CisgKi8KKworCisvKgorICogUmV0dXJuIHRydWUgaWYgYm90aCBvZiB0aGVzZSByZXR1cm4gdHJ1
ZToKKyAqIC0gTEVOSUVOVF9QUkVEIGFwcGxpZWQgdG8gQ09ERQorICogLSBTVFJJQ1RfUFJFRCBh
cHBsaWVkIHRvIENPREUgd2l0aCBhIHVzZSBzdHJpY3QgZGlyZWN0aXZlIGFkZGVkIHRvIHRoZSBm
cm9udAorICoKKyAqIFJ1biBTVFJJQ1RfUFJFRCBmaXJzdCwgZm9yIHRlc3RpbmcgY29kZSB0aGF0
IGFmZmVjdHMgdGhlIGdsb2JhbCBlbnZpcm9ubWVudAorICogaW4gbG9vc2UgbW9kZSwgYnV0IGZh
aWxzIGluIHN0cmljdCBtb2RlLgorICovCitmdW5jdGlvbiB0ZXN0TGVuaWVudEFuZFN0cmljdChj
b2RlLCBsZW5pZW50X3ByZWQsIHN0cmljdF9wcmVkKSB7CisgIHJldHVybiAoc3RyaWN0X3ByZWQo
Iid1c2Ugc3RyaWN0JzsgIiArIGNvZGUpICYmIAorICAgICAgICAgIGxlbmllbnRfcHJlZChjb2Rl
KSk7Cit9CisKKy8qCisgKiBjb21wbGV0ZXNOb3JtYWxseShDT0RFKSByZXR1cm5zIHRydWUgaWYg
ZXZhbHVhdGluZyBDT0RFIChhcyBldmFsCisgKiBjb2RlKSBjb21wbGV0ZXMgbm9ybWFsbHkgKHJh
dGhlciB0aGFuIHRocm93aW5nIGFuIGV4Y2VwdGlvbikuCisgKi8KK2Z1bmN0aW9uIGNvbXBsZXRl
c05vcm1hbGx5KGNvZGUpIHsKKyAgdHJ5IHsKKyAgICBldmFsKGNvZGUpOworICAgIHJldHVybiB0
cnVlOworICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KK30K
KworLyoKKyAqIHJldHVybnMoVkFMVUUpKENPREUpIHJldHVybnMgdHJ1ZSBpZiBldmFsdWF0aW5n
IENPREUgKGFzIGV2YWwgY29kZSkKKyAqIGNvbXBsZXRlcyBub3JtYWxseSAocmF0aGVyIHRoYW4g
dGhyb3dpbmcgYW4gZXhjZXB0aW9uKSwgeWllbGRpbmcgYSB2YWx1ZQorICogc3RyaWN0bHkgZXF1
YWwgdG8gVkFMVUUuCisgKi8KK2Z1bmN0aW9uIHJldHVybnModmFsdWUpIHsKKyAgcmV0dXJuIGZ1
bmN0aW9uKGNvZGUpIHsKKyAgICBzaG91bGRCZShjb2RlLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkp
OworICAgIHJldHVybiB0cnVlOworICB9Cit9CisKKy8qCisgKiByZXR1cm5zQ29weU9mKFZBTFVF
KShDT0RFKSByZXR1cm5zIHRydWUgaWYgZXZhbHVhdGluZyBDT0RFIChhcyBldmFsIGNvZGUpCisg
KiBjb21wbGV0ZXMgbm9ybWFsbHkgKHJhdGhlciB0aGFuIHRocm93aW5nIGFuIGV4Y2VwdGlvbiks
IHlpZWxkaW5nIGEgdmFsdWUKKyAqIHRoYXQgaXMgZGVlcEVxdWFsIHRvIFZBTFVFLgorICovCitm
dW5jdGlvbiByZXR1cm5zQ29weU9mKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbihjb2RlKSB7
CisgICAgdHJ5IHsKKyAgICAgIHJldHVybiBkZWVwRXF1YWwoZXZhbChjb2RlKSwgdmFsdWUpOwor
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAg
fQorfQorCisvKgorICogcmFpc2VzRXhjZXB0aW9uKEVYQ0VQVElPTikoQ09ERSkgcmV0dXJucyB0
cnVlIGlmIGV2YWx1YXRpbmcgQ09ERSAoYXMKKyAqIGV2YWwgY29kZSkgdGhyb3dzIGFuIGV4Y2Vw
dGlvbiBvYmplY3QgdGhhdCBpcyBhbiBpbnN0YW5jZSBvZiBFWENFUFRJT04sCisgKiBhbmQgcmV0
dXJucyBmYWxzZSBpZiBpdCB0aHJvd3MgYW55IG90aGVyIGVycm9yIG9yIGV2YWx1YXRlcworICog
c3VjY2Vzc2Z1bGx5LiBGb3IgZXhhbXBsZTogcmFpc2VzKFR5cGVFcnJvcikoIjAoKSIpID09IHRy
dWUuCisgKi8KK2Z1bmN0aW9uIHJhaXNlc0V4Y2VwdGlvbihleGNlcHRpb24pIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uIChjb2RlKSB7CisgICAgc2hvdWxkVGhyb3dUeXBlKGNvZGUsIGV4Y2VwdGlvbik7
CisgICAgcmV0dXJuIHRydWU7CisgIH07Cit9OworCisvKgorICogcGFyc2VzU3VjY2Vzc2Z1bGx5
KENPREUpIHJldHVybnMgdHJ1ZSBpZiBDT0RFIHBhcnNlcyBhcyBmdW5jdGlvbgorICogY29kZSB3
aXRob3V0IGFuIGVycm9yLgorICovCitmdW5jdGlvbiBwYXJzZXNTdWNjZXNzZnVsbHkoY29kZSkg
eworICAgIHNob3VsZEJlVHJ1ZSgiISFGdW5jdGlvbigiK0pTT04uc3RyaW5naWZ5KGNvZGUpKyIp
Iik7CisgICAgcmV0dXJuIHRydWU7Cit9OworCisvKgorICogcGFyc2VSYWlzZXNFeGNlcHRpb24o
RVhDRVBUSU9OKShDT0RFKSByZXR1cm5zIHRydWUgaWYgcGFyc2luZyBDT0RFCisgKiBhcyBmdW5j
dGlvbiBjb2RlIHJhaXNlcyBFWENFUFRJT04uCisgKi8KK2Z1bmN0aW9uIHBhcnNlUmFpc2VzRXhj
ZXB0aW9uKGV4Y2VwdGlvbikgeworICByZXR1cm4gZnVuY3Rpb24gKGNvZGUpIHsKKyAgICBzaG91
bGRUaHJvd1R5cGUoIkZ1bmN0aW9uKCIrSlNPTi5zdHJpbmdpZnkoY29kZSkrIikiLCBleGNlcHRp
b24pOworICAgIHJldHVybiB0cnVlOworICB9OworfTsKKworLyoKKyAqIFJldHVybiB0aGUgcmVz
dWx0IG9mIGFwcGx5aW5nIHVuZXZhbCB0byBWQUwsIGFuZCByZXBsYWNpbmcgYWxsIHJ1bnMKKyAq
IG9mIHdoaXRlc3BhY2Ugd2l0aCBhIHNpbmdsZSBob3Jpem9udGFsIHNwYWNlIChwb29yIG1hbidz
CisgKiB0b2tlbml6YXRpb24pLgorICovCitmdW5jdGlvbiBjbGVhbl91bmV2YWwodmFsKSB7Cisg
IHJldHVybiB1bmV2YWwodmFsKS5yZXBsYWNlKC9ccysvZywgJyAnKTsKK30KKworLyoKKyAqIFJl
dHVybiB0cnVlIGlmIEEgaXMgZXF1YWwgdG8gQiwgd2hlcmUgZXF1YWxpdHkgb24gYXJyYXlzIGFu
ZCBvYmplY3RzCisgKiBtZWFucyB0aGF0IHRoZXkgaGF2ZSB0aGUgc2FtZSBzZXQgb2YgZW51bWVy
YWJsZSBwcm9wZXJ0aWVzLCB0aGUgdmFsdWVzCisgKiBvZiBlYWNoIHByb3BlcnR5IGFyZSBkZWVw
X2VxdWFsLCBhbmQgdGhlaXIgJ2xlbmd0aCcgcHJvcGVydGllcyBhcmUKKyAqIGVxdWFsLiBFcXVh
bGl0eSBvbiBvdGhlciB0eXBlcyBpcyA9PS4KKyAqLworZnVuY3Rpb24gZGVlcEVxdWFsKGEsIGIp
IHsKKyAgICBpZiAodHlwZW9mIGEgIT0gdHlwZW9mIGIpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIGlmICh0eXBlb2YgYSA9PSAnb2JqZWN0JykgeworICAgICAgICB2YXIgcHJvcHMgPSB7
fTsKKyAgICAgICAgLy8gRm9yIGV2ZXJ5IHByb3BlcnR5IG9mIGEsIGRvZXMgYiBoYXZlIHRoYXQg
cHJvcGVydHkgd2l0aCBhbiBlcXVhbCB2YWx1ZT8KKyAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBh
KSB7CisgICAgICAgICAgICBpZiAoIWRlZXBFcXVhbChhW3Byb3BdLCBiW3Byb3BdKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBwcm9wc1twcm9wXSA9IHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgLy8gQXJlIGFsbCBvZiBiJ3MgcHJvcGVydGllcyBwcmVzZW50
IG9uIGE/CisgICAgICAgIGZvciAodmFyIHByb3AgaW4gYikKKyAgICAgICAgICAgIGlmICghcHJv
cHNbcHJvcF0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAvLyBsZW5n
dGggaXNuJ3QgZW51bWVyYWJsZSwgYnV0IHdlIHdhbnQgdG8gY2hlY2sgaXQsIHRvby4KKyAgICAg
ICAgcmV0dXJuIGEubGVuZ3RoID09IGIubGVuZ3RoOworICAgIH0KKworICAgIGlmIChhID09PSBi
KSB7CisgICAgICAgIC8vIERpc3Rpbmd1aXNoIDAgZnJvbSAtMCwgZXZlbiB0aG91Z2ggdGhleSBh
cmUgPT09LgorICAgICAgICByZXR1cm4gYSAhPT0gMCB8fCAxL2EgPT09IDEvYjsKKyAgICB9CisK
KyAgICAvLyBUcmVhdCBOYU5zIGFzIGVxdWFsLCBldmVuIHRob3VnaCBOYU4gIT09IE5hTi4KKyAg
ICAvLyBOYU5zIGFyZSB0aGUgb25seSBub24tcmVmbGV4aXZlIHZhbHVlcywgaS5lLiwgaWYgYSAh
PT0gYSwgdGhlbiBhIGlzIGEgTmFOLgorICAgIC8vIGlzTmFOIGlzIGJyb2tlbjogaXQgY29udmVy
dHMgaXRzIGFyZ3VtZW50IHRvIG51bWJlciwgc28gaXNOYU4oImZvbyIpID0+IHRydWUKKyAgICBy
ZXR1cm4gYSAhPT0gYSAmJiBiICE9PSBiOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2NTQz
NWZkZmQ3NzZmYzQ5NGZjYjc0YzA3M2YxYjNmM2QxYjE3ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMKQEAg
LTAsMCArMSw5MTEgQEAKKy8qIC0qLSBNb2RlOiBDKys7IHRhYi13aWR0aDogODsgaW5kZW50LXRh
YnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0KKyAqCisgKiAqKioqKiBCRUdJTiBM
SUNFTlNFIEJMT0NLICoqKioqCisgKiBWZXJzaW9uOiBNUEwgMS4xL0dQTCAyLjAvTEdQTCAyLjEK
KyAqCisgKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIGFyZSBzdWJqZWN0IHRvIHRoZSBNb3pp
bGxhIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24KKyAqIDEuMSAodGhlICJMaWNlbnNlIik7IHlvdSBt
YXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICogdGhlIExp
Y2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICogaHR0cDov
L3d3dy5tb3ppbGxhLm9yZy9NUEwvCisgKgorICogU29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIg
dGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywKKyAqIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0
aGUgTGljZW5zZQorICogZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcmlnaHRz
IGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUKKyAqIExpY2Vuc2UuCisgKgorICogVGhlIE9yaWdp
bmFsIENvZGUgaXMgTW96aWxsYSBDb21tdW5pY2F0b3IgY2xpZW50IGNvZGUsIHJlbGVhc2VkCisg
KiBNYXJjaCAzMSwgMTk5OC4KKyAqCisgKiBUaGUgSW5pdGlhbCBEZXZlbG9wZXIgb2YgdGhlIE9y
aWdpbmFsIENvZGUgaXMKKyAqIE5ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uLgor
ICogUG9ydGlvbnMgY3JlYXRlZCBieSB0aGUgSW5pdGlhbCBEZXZlbG9wZXIgYXJlIENvcHlyaWdo
dCAoQykgMTk5OAorICogdGhlIEluaXRpYWwgRGV2ZWxvcGVyLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICoKKyAqIENvbnRyaWJ1dG9yKHMpOgorICogICBSb2IgR2luZGEgcmdpbmRhQG5ldHNjYXBl
LmNvbQorICogICBCb2IgQ2xhcnkgYm9iQGJjbGFyeS5jb20KKyAqCisgKiBBbHRlcm5hdGl2ZWx5
LCB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIG1heSBiZSB1c2VkIHVuZGVyIHRoZSB0ZXJtcyBv
ZgorICogZWl0aGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIgb3Ig
bGF0ZXIgKHRoZSAiR1BMIiksIG9yCisgKiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIFZlcnNpb24gMi4xIG9yIGxhdGVyICh0aGUgIkxHUEwiKSwKKyAqIGluIHdoaWNoIGNh
c2UgdGhlIHByb3Zpc2lvbnMgb2YgdGhlIEdQTCBvciB0aGUgTEdQTCBhcmUgYXBwbGljYWJsZSBp
bnN0ZWFkCisgKiBvZiB0aG9zZSBhYm92ZS4gSWYgeW91IHdpc2ggdG8gYWxsb3cgdXNlIG9mIHlv
dXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgb25seQorICogdW5kZXIgdGhlIHRlcm1zIG9mIGVpdGhl
ciB0aGUgR1BMIG9yIHRoZSBMR1BMLCBhbmQgbm90IHRvIGFsbG93IG90aGVycyB0bworICogdXNl
IHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNUEwsIGlu
ZGljYXRlIHlvdXIKKyAqIGRlY2lzaW9uIGJ5IGRlbGV0aW5nIHRoZSBwcm92aXNpb25zIGFib3Zl
IGFuZCByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbm90aWNlCisgKiBhbmQgb3RoZXIgcHJvdmlzaW9u
cyByZXF1aXJlZCBieSB0aGUgR1BMIG9yIHRoZSBMR1BMLiBJZiB5b3UgZG8gbm90IGRlbGV0ZQor
ICogdGhlIHByb3Zpc2lvbnMgYWJvdmUsIGEgcmVjaXBpZW50IG1heSB1c2UgeW91ciB2ZXJzaW9u
IG9mIHRoaXMgZmlsZSB1bmRlcgorICogdGhlIHRlcm1zIG9mIGFueSBvbmUgb2YgdGhlIE1QTCwg
dGhlIEdQTCBvciB0aGUgTEdQTC4KKyAqCisgKiAqKioqKiBFTkQgTElDRU5TRSBCTE9DSyAqKioq
KiAqLworCisvLyBFeHBsaWNpdGx5IHNldCB0aGUgZGVmYXVsdCB2ZXJzaW9uLgorLy8gU2VlIGh0
dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTUyMjc2MCNjMTEKK2lm
ICh0eXBlb2YgdmVyc2lvbiAhPSAndW5kZWZpbmVkJykKK3sKKyAgdmVyc2lvbigwKTsKK30KKwor
dmFyIFNUQVRVUyA9ICJTVEFUVVM6ICI7Cit2YXIgVkVSQk9TRSA9IGZhbHNlOwordmFyIFNFQ1Rf
UFJFRklYID0gJ1NlY3Rpb24gJzsKK3ZhciBTRUNUX1NVRkZJWCA9ICcgb2YgdGVzdCAtICc7Cit2
YXIgY2FsbFN0YWNrID0gbmV3IEFycmF5KCk7CisKK3ZhciBnRGVsYXlUZXN0RHJpdmVyRW5kID0g
ZmFsc2U7CisKK3ZhciBnVGVzdGNhc2VzID0gbmV3IEFycmF5KCk7Cit2YXIgZ1RjID0gZ1Rlc3Rj
YXNlcy5sZW5ndGg7Cit2YXIgQlVHTlVNQkVSID0gJyc7Cit2YXIgc3VtbWFyeSA9ICcnOwordmFy
IGRlc2NyaXB0aW9uID0gJyc7Cit2YXIgZXhwZWN0ZWQgPSAnJzsKK3ZhciBhY3R1YWwgPSAnJzsK
K3ZhciBtc2cgPSAnJzsKKwordmFyIFNFQ1RJT04gPSAiIjsKK3ZhciBWRVJTSU9OID0gIiI7Cit2
YXIgQlVHTlVNQkVSID0gIiI7CisKKy8qCisgKiBjb25zdGFudCBzdHJpbmdzCisgKi8KK3ZhciBH
TE9CQUwgPSB0aGlzICsgJyc7Cit2YXIgUEFTU0VEID0gIiBQQVNTRUQhICI7Cit2YXIgRkFJTEVE
ID0gIiBGQUlMRUQhICI7CisKK3ZhciBERUJVRyA9IGZhbHNlOworCit2YXIgREVTQ1JJUFRJT047
Cit2YXIgRVhQRUNURUQ7CisKKy8qCisgKiB3cmFwcGVyIGZvciB0ZXN0IGNhc2UgY29uc3RydWN0
b3IgdGhhdCBkb2Vzbid0IHJlcXVpcmUgdGhlIFNFQ1RJT04KKyAqIGFyZ3VtZW50LgorICovCisK
K2Z1bmN0aW9uIEFkZFRlc3RDYXNlKCBkZXNjcmlwdGlvbiwgZXhwZWN0LCBhY3R1YWwgKSB7Cisg
IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgZGVzY3JpcHRpb24sIGV4cGVjdCwgYWN0dWFsICk7Cit9
CisKKy8qCisgKiBTZXQgdXAgdGVzdCBlbnZpcm9ubWVudC4KKyAqCisgKi8KK2Z1bmN0aW9uIHN0
YXJ0VGVzdCgpIHsKKyAgLy8gcHJpbnQgb3V0IGJ1Z251bWJlcgorCisgIGlmICggQlVHTlVNQkVS
ICkgeworICAgIHByaW50ICgiQlVHTlVNQkVSOiAiICsgQlVHTlVNQkVSICk7CisgIH0KK30KKwor
ZnVuY3Rpb24gVGVzdENhc2UobiwgZCwgZSwgYSkKK3sKKyAgdGhpcy5uYW1lID0gbjsKKyAgdGhp
cy5kZXNjcmlwdGlvbiA9IGQ7CisgIHRoaXMuZXhwZWN0ID0gZTsKKyAgdGhpcy5hY3R1YWwgPSBh
OworICB0aGlzLnBhc3NlZCA9IGdldFRlc3RDYXNlUmVzdWx0KGUsIGEpOworICB0aGlzLnJlYXNv
biA9ICcnOworICB0aGlzLmJ1Z251bWJlciA9IHR5cGVvZihCVUdOVU1FUikgIT0gJ3VuZGVmaW5l
ZCcgPyBCVUdOVU1CRVIgOiAnJzsKKyAgdGhpcy50eXBlID0gKHR5cGVvZiB3aW5kb3cgPT0gJ3Vu
ZGVmaW5lZCcgPyAnc2hlbGwnIDogJ2Jyb3dzZXInKTsKKyAgZ1Rlc3RjYXNlc1tnVGMrK10gPSB0
aGlzOworfQorCitnRmFpbHVyZUV4cGVjdGVkID0gZmFsc2U7CisKK1Rlc3RDYXNlLnByb3RvdHlw
ZS5kdW1wID0gZnVuY3Rpb24gKCkgeworICAvLyBsZXQgcmVmdGVzdCBoYW5kbGUgZXJyb3IgcmVw
b3J0aW5nLCBvdGhlcndpc2UKKyAgLy8gb3V0cHV0IGEgc3VtbWFyeSBsaW5lLgorICBpZiAodHlw
ZW9mIGRvY3VtZW50ICE9ICJvYmplY3QiIHx8CisgICAgICAhZG9jdW1lbnQubG9jYXRpb24uaHJl
Zi5tYXRjaCgvanNyZWZ0ZXN0Lmh0bWwvKSkKKyAgeworICAgIGR1bXAoJ1xuanN0ZXN0OiAnICsg
dGhpcy5wYXRoICsgJyAnICsKKyAgICAgICAgICdidWc6ICcgICAgICAgICArIHRoaXMuYnVnbnVt
YmVyICsgJyAnICsKKyAgICAgICAgICdyZXN1bHQ6ICcgICAgICArICh0aGlzLnBhc3NlZCA/ICdQ
QVNTRUQnOidGQUlMRUQnKSArICcgJyArCisgICAgICAgICAndHlwZTogJyAgICAgICAgKyB0aGlz
LnR5cGUgKyAnICcgKworICAgICAgICAgJ2Rlc2NyaXB0aW9uOiAnICsgdG9QcmludGVkKHRoaXMu
ZGVzY3JpcHRpb24pICsgJyAnICsKKy8vICAgICAgICdleHBlY3RlZDogJyAgICArIHRvUHJpbnRl
ZCh0aGlzLmV4cGVjdCkgKyAnICcgKworLy8gICAgICAgJ2FjdHVhbDogJyAgICAgICsgdG9Qcmlu
dGVkKHRoaXMuYWN0dWFsKSArICcgJyArCisgICAgICAgICAncmVhc29uOiAnICAgICAgKyB0b1By
aW50ZWQodGhpcy5yZWFzb24pICsgJ1xuJyk7CisgIH0KK307CisKK1Rlc3RDYXNlLnByb3RvdHlw
ZS50ZXN0UGFzc2VkID0gKGZ1bmN0aW9uIFRlc3RDYXNlX3Rlc3RQYXNzZWQoKSB7IHJldHVybiB0
aGlzLnBhc3NlZDsgfSk7CitUZXN0Q2FzZS5wcm90b3R5cGUudGVzdEZhaWxlZCA9IChmdW5jdGlv
biBUZXN0Q2FzZV90ZXN0RmFpbGVkKCkgeyByZXR1cm4gIXRoaXMucGFzc2VkOyB9KTsKK1Rlc3RD
YXNlLnByb3RvdHlwZS50ZXN0RGVzY3JpcHRpb24gPSAoZnVuY3Rpb24gVGVzdENhc2VfdGVzdERl
c2NyaXB0aW9uKCkgeyByZXR1cm4gdGhpcy5kZXNjcmlwdGlvbiArICcgJyArIHRoaXMucmVhc29u
OyB9KTsKKworZnVuY3Rpb24gZ2V0VGVzdENhc2VzKCkKK3sKKyAgcmV0dXJuIGdUZXN0Y2FzZXM7
Cit9CisKKy8qCisgKiBUaGUgdGVzdCBkcml2ZXIgc2VhcmNoZXMgZm9yIHN1Y2ggYSBwaHJhc2Ug
aW4gdGhlIHRlc3Qgb3V0cHV0LgorICogSWYgc3VjaCBwaHJhc2UgZXhpc3RzLCBpdCB3aWxsIHNl
dCBuIGFzIHRoZSBleHBlY3RlZCBleGl0IGNvZGUuCisgKi8KK2Z1bmN0aW9uIGV4cGVjdEV4aXRD
b2RlKG4pCit7CisgIHByaW50KCctLS0gTk9URTogSU4gVEhJUyBURVNUQ0FTRSwgV0UgRVhQRUNU
IEVYSVQgQ09ERSAnICsgbiArICcgLS0tJyk7Cit9CisKKy8qCisgKiBTdGF0dXNlcyBjdXJyZW50
IHNlY3Rpb24gb2YgYSB0ZXN0CisgKi8KK2Z1bmN0aW9uIGluU2VjdGlvbih4KQoreworICByZXR1
cm4gU0VDVF9QUkVGSVggKyB4ICsgU0VDVF9TVUZGSVg7Cit9CisKKy8qCisgKiBSZXBvcnQgYSBm
YWlsdXJlIGluIHRoZSAnYWNjZXB0ZWQnIG1hbm5lcgorICovCitmdW5jdGlvbiByZXBvcnRGYWls
dXJlIChtc2cpCit7CisgIHZhciBsaW5lcyA9IG1zZy5zcGxpdCAoIlxuIik7CisgIHZhciBsOwor
ICB2YXIgZnVuY05hbWUgPSBjdXJyZW50RnVuYygpOworICB2YXIgcHJlZml4ID0gKGZ1bmNOYW1l
KSA/ICJbcmVwb3J0ZWQgZnJvbSAiICsgZnVuY05hbWUgKyAiXSAiOiAiIjsKKyAgIAorICBmb3Ig
KHZhciBpPTA7IGk8bGluZXMubGVuZ3RoOyBpKyspCisgICAgcHJpbnQgKEZBSUxFRCArIHByZWZp
eCArIGxpbmVzW2ldKTsKK30KKworLyoKKyAqIFByaW50IGEgbm9uLWZhaWx1cmUgbWVzc2FnZS4K
KyAqLworZnVuY3Rpb24gcHJpbnRTdGF0dXMgKG1zZykKK3sKKy8qIGpzMV82IGhhZC4uLgorICAg
bXNnID0gU3RyaW5nKG1zZyk7CisgICBtc2cgPSBtc2cudG9TdHJpbmcoKTsKKyovCisgIG1zZyA9
IG1zZy50b1N0cmluZygpOworICB2YXIgbGluZXMgPSBtc2cuc3BsaXQgKCJcbiIpOworICB2YXIg
bDsKKworICBmb3IgKHZhciBpPTA7IGk8bGluZXMubGVuZ3RoOyBpKyspCisgICAgcHJpbnQgKFNU
QVRVUyArIGxpbmVzW2ldKTsKK30KKworLyoKKyAqIFByaW50IGEgYnVnbnVtYmVyIG1lc3NhZ2Uu
CisgKi8KK2Z1bmN0aW9uIHByaW50QnVnTnVtYmVyIChudW0pCit7CisgIEJVR05VTUJFUiA9IG51
bTsKKyAgcHJpbnQgKCdCVUdOVU1CRVI6ICcgKyBudW0pOworfQorCitmdW5jdGlvbiB0b1ByaW50
ZWQodmFsdWUpCit7CisgIGlmICh0eXBlb2YgdmFsdWUgPT0gInhtbCIpIAorICB7CisgICAgdmFs
dWUgPSB2YWx1ZS50b1hNTFN0cmluZygpOworICB9IAorICBlbHNlIAorICB7CisgICAgdmFsdWUg
PSBTdHJpbmcodmFsdWUpOworICB9CisgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxuL2csICdO
TCcpCisgICAgICAgICAgICAgICAucmVwbGFjZSgvXG4vZywgJ05MJykKKyAgICAgICAgICAgICAg
IC5yZXBsYWNlKC9cXHIvZywgJ0NSJykKKyAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXlx4MjAt
XHg3RV0rL2csIGVzY2FwZVN0cmluZyk7CisgIHJldHVybiB2YWx1ZTsKK30KKworZnVuY3Rpb24g
ZXNjYXBlU3RyaW5nIChzdHIpCit7CisgIHZhciBhLCBiLCBjLCBkOworICB2YXIgbGVuID0gc3Ry
Lmxlbmd0aDsKKyAgdmFyIHJlc3VsdCA9ICIiOworICB2YXIgZGlnaXRzID0gWyIwIiwgIjEiLCAi
MiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLAorICAgICAgICAgICAgICAgICI4IiwgIjkiLCAi
QSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiXTsKKworICBmb3IgKHZhciBpPTA7IGk8bGVuOyBp
KyspCisgIHsKKyAgICB2YXIgY2ggPSBzdHIuY2hhckNvZGVBdChpKTsKKworICAgIGEgPSBkaWdp
dHNbY2ggJiAweGZdOworICAgIGNoID4+PSA0OworICAgIGIgPSBkaWdpdHNbY2ggJiAweGZdOwor
ICAgIGNoID4+PSA0OworCisgICAgaWYgKGNoKQorICAgIHsKKyAgICAgIGMgPSBkaWdpdHNbY2gg
JiAweGZdOworICAgICAgY2ggPj49IDQ7CisgICAgICBkID0gZGlnaXRzW2NoICYgMHhmXTsKKwor
ICAgICAgcmVzdWx0ICs9ICJcXHUiICsgZCArIGMgKyBiICsgYTsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgIHJlc3VsdCArPSAiXFx4IiArIGIgKyBhOworICAgIH0KKyAgfQorCisgIHJl
dHVybiByZXN1bHQ7Cit9CisKKy8qCisgKiBhc3NlcnRFcShhY3R1YWwsIGV4cGVjdGVkIFssIG1l
c3NhZ2VdKQorICogICBUaHJvdyBpZiB0aGUgdHdvIGFyZ3VtZW50cyBhcmUgbm90IHRoZSBzYW1l
LiAgVGhlIHNhbWVuZXNzIG9mIHR3byB2YWx1ZXMKKyAqICAgaXMgZGV0ZXJtaW5lZCBhcyBmb2xs
b3dzLiAgSWYgYm90aCB2YWx1ZXMgYXJlIHplcm8sIHRoZXkgYXJlIHRoZSBzYW1lIGlmZgorICog
ICB0aGVpciBzaWducyBhcmUgdGhlIHNhbWUuICBPdGhlcndpc2UsIGlmIGJvdGggdmFsdWVzIGFy
ZSBOYU4sIHRoZXkgYXJlIHRoZQorICogICBzYW1lLiAgT3RoZXJ3aXNlLCB0aGV5IGFyZSB0aGUg
c2FtZSBpZiB0aGV5IGNvbXBhcmUgZXF1YWwgdXNpbmcgPT09LgorICogc2VlIGh0dHBzOi8vYnVn
emlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MDE5OSBhbmQKKyAqICAgICBodHRw
czovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD01MTUyODUKKyAqLworaWYg
KHR5cGVvZiBhc3NlcnRFcSA9PSAndW5kZWZpbmVkJykKK3sKKyAgdmFyIGFzc2VydEVxID0KKyAg
ICBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkKKyAgICB7CisgICAgICBmdW5j
dGlvbiBTYW1lVmFsdWUodjEsIHYyKQorICAgICAgeworICAgICAgICBpZiAodjEgPT09IDAgJiYg
djIgPT09IDApCisgICAgICAgICAgcmV0dXJuIDEgLyB2MSA9PT0gMSAvIHYyOworICAgICAgICBp
ZiAodjEgIT09IHYxICYmIHYyICE9PSB2MikKKyAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgcmV0dXJuIHYxID09PSB2MjsKKyAgICAgIH0KKyAgICAgIGlmICghU2FtZVZhbHVlKGFjdHVh
bCwgZXhwZWN0ZWQpKQorICAgICAgeworICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBc3Nl
cnRpb24gZmFpbGVkOiBnb3QgIicgKyBhY3R1YWwgKyAnIiwgZXhwZWN0ZWQgIicgKyBleHBlY3Rl
ZCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lc3NhZ2UgPyAiOiAiICsgbWVzc2Fn
ZSA6ICIiKSk7CisgICAgICB9CisgICAgfTsKK30KKworLyoKKyAqIENvbXBhcmUgZXhwZWN0ZWQg
cmVzdWx0IHRvIGFjdHVhbCByZXN1bHQsIGlmIHRoZXkgZGlmZmVyIChpbiB2YWx1ZSBhbmQvb3IK
KyAqIHR5cGUpIHJlcG9ydCBhIGZhaWx1cmUuICBJZiBkZXNjcmlwdGlvbiBpcyBwcm92aWRlZCwg
aW5jbHVkZSBpdCBpbiB0aGUKKyAqIGZhaWx1cmUgcmVwb3J0LgorICovCitmdW5jdGlvbiByZXBv
cnRDb21wYXJlIChleHBlY3RlZCwgYWN0dWFsLCBkZXNjcmlwdGlvbikgeworICB2YXIgZXhwZWN0
ZWRfdCA9IHR5cGVvZiBleHBlY3RlZDsKKyAgdmFyIGFjdHVhbF90ID0gdHlwZW9mIGFjdHVhbDsK
KyAgdmFyIG91dHB1dCA9ICIiOworCisgIGlmICh0eXBlb2YgZGVzY3JpcHRpb24gPT0gInVuZGVm
aW5lZCIpCisgIHsKKyAgICBkZXNjcmlwdGlvbiA9ICcnOworICB9CisgIGVsc2UgaWYgKFZFUkJP
U0UpCisgIHsKKyAgICBwcmludFN0YXR1cyAoIkNvbXBhcmluZyAnIiArIGRlc2NyaXB0aW9uICsg
IiciKTsKKyAgfQorCisgIGlmIChleHBlY3RlZF90ICE9IGFjdHVhbF90KQorICB7CisgICAgb3V0
cHV0ICs9ICJUeXBlIG1pc21hdGNoLCBleHBlY3RlZCB0eXBlICIgKyBleHBlY3RlZF90ICsKKyAg
ICAgICIsIGFjdHVhbCB0eXBlICIgKyBhY3R1YWxfdCArICIgIjsKKyAgfQorICBlbHNlIGlmIChW
RVJCT1NFKQorICB7CisgICAgcHJpbnRTdGF0dXMgKCJFeHBlY3RlZCB0eXBlICciICsgZXhwZWN0
ZWRfdCArICInIG1hdGNoZWQgYWN0dWFsICIgKworICAgICAgICAgICAgICAgICAidHlwZSAnIiAr
IGFjdHVhbF90ICsgIiciKTsKKyAgfQorCisgIGlmIChleHBlY3RlZCAhPSBhY3R1YWwpCisgIHsK
KyAgICBvdXRwdXQgKz0gIkV4cGVjdGVkIHZhbHVlICciICsgdG9QcmludGVkKGV4cGVjdGVkKSAr
CisgICAgICAiJywgQWN0dWFsIHZhbHVlICciICsgdG9QcmludGVkKGFjdHVhbCkgKyAiJyAiOwor
ICB9CisgIGVsc2UgaWYgKFZFUkJPU0UpCisgIHsKKyAgICBwcmludFN0YXR1cyAoIkV4cGVjdGVk
IHZhbHVlICciICsgdG9QcmludGVkKGV4cGVjdGVkKSArCisgICAgICAgICAgICAgICAgICInIG1h
dGNoZWQgYWN0dWFsIHZhbHVlICciICsgdG9QcmludGVkKGFjdHVhbCkgKyAiJyIpOworICB9CisK
KyAgdmFyIHRlc3RjYXNlID0gbmV3IFRlc3RDYXNlKCJ1bmtub3duLXRlc3QtbmFtZSIsIGRlc2Ny
aXB0aW9uLCBleHBlY3RlZCwgYWN0dWFsKTsKKyAgdGVzdGNhc2UucmVhc29uID0gb3V0cHV0Owor
CisgIC8vIGlmIHJ1bm5pbmcgdW5kZXIgcmVmdGVzdCwgbGV0IGl0IGhhbmRsZSByZXN1bHQgcmVw
b3J0aW5nLgorICBpZiAodHlwZW9mIGRvY3VtZW50ICE9ICJvYmplY3QiIHx8CisgICAgICAhZG9j
dW1lbnQubG9jYXRpb24uaHJlZi5tYXRjaCgvanNyZWZ0ZXN0Lmh0bWwvKSkgeworICAgIGlmICh0
ZXN0Y2FzZS5wYXNzZWQpCisgICAgeworICAgICAgcHJpbnQoUEFTU0VEICsgZGVzY3JpcHRpb24p
OworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgcmVwb3J0RmFpbHVyZSAoZGVzY3JpcHRp
b24gKyAiIDogIiArIG91dHB1dCk7CisgICAgfQorICB9CisgIHJldHVybiB0ZXN0Y2FzZS5wYXNz
ZWQ7Cit9CisKKy8qCisgKiBBdHRlbXB0IHRvIG1hdGNoIGEgcmVndWxhciBleHByZXNzaW9uIGRl
c2NyaWJpbmcgdGhlIHJlc3VsdCB0bworICogdGhlIGFjdHVhbCByZXN1bHQsIGlmIHRoZXkgZGlm
ZmVyIChpbiB2YWx1ZSBhbmQvb3IKKyAqIHR5cGUpIHJlcG9ydCBhIGZhaWx1cmUuICBJZiBkZXNj
cmlwdGlvbiBpcyBwcm92aWRlZCwgaW5jbHVkZSBpdCBpbiB0aGUKKyAqIGZhaWx1cmUgcmVwb3J0
LgorICovCitmdW5jdGlvbiByZXBvcnRNYXRjaCAoZXhwZWN0ZWRSZWdFeHAsIGFjdHVhbCwgZGVz
Y3JpcHRpb24pIHsKKyAgdmFyIGV4cGVjdGVkX3QgPSAic3RyaW5nIjsKKyAgdmFyIGFjdHVhbF90
ID0gdHlwZW9mIGFjdHVhbDsKKyAgdmFyIG91dHB1dCA9ICIiOworCisgIGlmICh0eXBlb2YgZGVz
Y3JpcHRpb24gPT0gInVuZGVmaW5lZCIpCisgIHsKKyAgICBkZXNjcmlwdGlvbiA9ICcnOworICB9
CisgIGVsc2UgaWYgKFZFUkJPU0UpCisgIHsKKyAgICBwcmludFN0YXR1cyAoIkNvbXBhcmluZyAn
IiArIGRlc2NyaXB0aW9uICsgIiciKTsKKyAgfQorCisgIGlmIChleHBlY3RlZF90ICE9IGFjdHVh
bF90KQorICB7CisgICAgb3V0cHV0ICs9ICJUeXBlIG1pc21hdGNoLCBleHBlY3RlZCB0eXBlICIg
KyBleHBlY3RlZF90ICsKKyAgICAgICIsIGFjdHVhbCB0eXBlICIgKyBhY3R1YWxfdCArICIgIjsK
KyAgfQorICBlbHNlIGlmIChWRVJCT1NFKQorICB7CisgICAgcHJpbnRTdGF0dXMgKCJFeHBlY3Rl
ZCB0eXBlICciICsgZXhwZWN0ZWRfdCArICInIG1hdGNoZWQgYWN0dWFsICIgKworICAgICAgICAg
ICAgICAgICAidHlwZSAnIiArIGFjdHVhbF90ICsgIiciKTsKKyAgfQorCisgIHZhciBtYXRjaGVz
ID0gZXhwZWN0ZWRSZWdFeHAudGVzdChhY3R1YWwpOworICBpZiAoIW1hdGNoZXMpCisgIHsKKyAg
ICBvdXRwdXQgKz0gIkV4cGVjdGVkIG1hdGNoIHRvICciICsgdG9QcmludGVkKGV4cGVjdGVkUmVn
RXhwKSArCisgICAgICAiJywgQWN0dWFsIHZhbHVlICciICsgdG9QcmludGVkKGFjdHVhbCkgKyAi
JyAiOworICB9CisgIGVsc2UgaWYgKFZFUkJPU0UpCisgIHsKKyAgICBwcmludFN0YXR1cyAoIkV4
cGVjdGVkIG1hdGNoIHRvICciICsgdG9QcmludGVkKGV4cGVjdGVkUmVnRXhwKSArCisgICAgICAg
ICAgICAgICAgICInIG1hdGNoZWQgYWN0dWFsIHZhbHVlICciICsgdG9QcmludGVkKGFjdHVhbCkg
KyAiJyIpOworICB9CisKKyAgdmFyIHRlc3RjYXNlID0gbmV3IFRlc3RDYXNlKCJ1bmtub3duLXRl
c3QtbmFtZSIsIGRlc2NyaXB0aW9uLCB0cnVlLCBtYXRjaGVzKTsKKyAgdGVzdGNhc2UucmVhc29u
ID0gb3V0cHV0OworCisgIC8vIGlmIHJ1bm5pbmcgdW5kZXIgcmVmdGVzdCwgbGV0IGl0IGhhbmRs
ZSByZXN1bHQgcmVwb3J0aW5nLgorICBpZiAodHlwZW9mIGRvY3VtZW50ICE9ICJvYmplY3QiIHx8
CisgICAgICAhZG9jdW1lbnQubG9jYXRpb24uaHJlZi5tYXRjaCgvanNyZWZ0ZXN0Lmh0bWwvKSkg
eworICAgIGlmICh0ZXN0Y2FzZS5wYXNzZWQpCisgICAgeworICAgICAgcHJpbnQoUEFTU0VEICsg
ZGVzY3JpcHRpb24pOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgcmVwb3J0RmFpbHVy
ZSAoZGVzY3JpcHRpb24gKyAiIDogIiArIG91dHB1dCk7CisgICAgfQorICB9CisgIHJldHVybiB0
ZXN0Y2FzZS5wYXNzZWQ7Cit9CisKKy8qCisgKiBQdXRzIGZ1bmNOYW1lIGF0IHRoZSB0b3Agb2Yg
dGhlIGNhbGwgc3RhY2suICBUaGlzIHN0YWNrIGlzIHVzZWQgdG8gc2hvdworICogYSBmdW5jdGlv
bi1yZXBvcnRlZC1mcm9tIGZpZWxkIHdoZW4gcmVwb3J0aW5nIGZhaWx1cmVzLgorICovCitmdW5j
dGlvbiBlbnRlckZ1bmMgKGZ1bmNOYW1lKQoreworICBpZiAoIWZ1bmNOYW1lLm1hdGNoKC9cKFwp
JC8pKQorICAgIGZ1bmNOYW1lICs9ICIoKSI7CisKKyAgY2FsbFN0YWNrLnB1c2goZnVuY05hbWUp
OworfQorCisvKgorICogUG9wcyB0aGUgdG9wIGZ1bmNOYW1lIG9mZiB0aGUgY2FsbCBzdGFjay4g
IGZ1bmNOYW1lIGlzIG9wdGlvbmFsLCBhbmQgY2FuIGJlCisgKiB1c2VkIHRvIGNoZWNrIHB1c2gt
cG9wIGJhbGFuY2UuCisgKi8KK2Z1bmN0aW9uIGV4aXRGdW5jIChmdW5jTmFtZSkKK3sKKyAgdmFy
IGxhc3RGdW5jID0gY2FsbFN0YWNrLnBvcCgpOworICAgCisgIGlmIChmdW5jTmFtZSkKKyAgewor
ICAgIGlmICghZnVuY05hbWUubWF0Y2goL1woXCkkLykpCisgICAgICBmdW5jTmFtZSArPSAiKCki
OworCisgICAgaWYgKGxhc3RGdW5jICE9IGZ1bmNOYW1lKQorICAgICAgcmVwb3J0Q29tcGFyZShm
dW5jTmFtZSwgbGFzdEZ1bmMsICJUZXN0IGRyaXZlciBmYWlsdXJlIHdyb25nIGV4aXQgZnVuY3Rp
b24gIik7CisgIH0KK30KKworLyoKKyAqIFBlZWtzIGF0IHRoZSB0b3Agb2YgdGhlIGNhbGwgc3Rh
Y2suCisgKi8KK2Z1bmN0aW9uIGN1cnJlbnRGdW5jKCkKK3sKKyAgcmV0dXJuIGNhbGxTdGFja1tj
YWxsU3RhY2subGVuZ3RoIC0gMV07Cit9CisKKy8qCisgIENhbGN1bGF0ZSB0aGUgIm9yZGVyIiBv
ZiBhIHNldCBvZiBkYXRhIHBvaW50cyB7WDogW10sIFk6IFtdfQorICBieSBjb21wdXRpbmcgc3Vj
Y2Vzc2l2ZSAiZGVyaXZhdGl2ZXMiIG9mIHRoZSBkYXRhIHVudGlsCisgIHRoZSBkYXRhIGlzIGV4
aGF1c3RlZCBvciB0aGUgZGVyaXZhdGl2ZSBpcyBsaW5lYXIuCisqLworZnVuY3Rpb24gQmlnTyhk
YXRhKQoreworICB2YXIgb3JkZXIgPSAwOworICB2YXIgb3JpZ0xlbmd0aCA9IGRhdGEuWC5sZW5n
dGg7CisKKyAgd2hpbGUgKGRhdGEuWC5sZW5ndGggPiAyKQorICB7CisgICAgdmFyIGxyID0gbmV3
IExpbmVhclJlZ3Jlc3Npb24oZGF0YSk7CisgICAgaWYgKGxyLmIgPiAxZS02KQorICAgIHsKKyAg
ICAgIC8vIG9ubHkgaW5jcmVhc2UgdGhlIG9yZGVyIGlmIHRoZSBzbG9wZQorICAgICAgLy8gaXMg
ImdyZWF0IiBlbm91Z2gKKyAgICAgIG9yZGVyKys7CisgICAgfQorCisgICAgaWYgKGxyLnIgPiAw
Ljk4IHx8IGxyLlN5eCA8IDEgfHwgbHIuYiA8IDFlLTYpCisgICAgeworICAgICAgLy8gdGVybWlu
YXRlIGlmIGNsb3NlIHRvIGEgbGluZSBsci5yCisgICAgICAvLyBzbWFsbCBlcnJvciBsci5TeXgK
KyAgICAgIC8vIHNtYWxsIHNsb3BlIGxyLmIKKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBkYXRh
ID0gZGF0YURlcml2KGRhdGEpOworICB9CisKKyAgaWYgKDIgPT0gb3JpZ0xlbmd0aCAtIG9yZGVy
KQorICB7CisgICAgb3JkZXIgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CisgIH0KKyAgcmV0
dXJuIG9yZGVyOworCisgIGZ1bmN0aW9uIExpbmVhclJlZ3Jlc3Npb24oZGF0YSkKKyAgeworICAg
IC8qCisgICAgICB5ID0gYSArIGJ4CisgICAgICBmb3IgZGF0YSBwb2ludHMgKFhpLCBZaSk7IDAg
PD0gaSA8IG4KKworICAgICAgYiA9IChuKlNVTShYaVlpKSAtIFNVTShYaSkqU1VNKFlpKSkvKG4q
U1VNKFhpKlhpKSAtIFNVTShYaSkqU1VNKFhpKSkKKyAgICAgIGEgPSAoU1VNKFlpKSAtIGIqU1VN
KFhpKSkvbgorICAgICovCisgICAgdmFyIGk7CisKKyAgICBpZiAoZGF0YS5YLmxlbmd0aCAhPSBk
YXRhLlkubGVuZ3RoKQorICAgIHsKKyAgICAgIHRocm93ICdMaW5lYXJSZWdyZXNzaW9uOiBkYXRh
IHBvaW50IGxlbmd0aCBtaXNtYXRjaCc7CisgICAgfQorICAgIGlmIChkYXRhLlgubGVuZ3RoIDwg
MykKKyAgICB7CisgICAgICB0aHJvdyAnTGluZWFyUmVncmVzc2lvbjogZGF0YSBwb2ludCBsZW5n
dGggPCAyJzsKKyAgICB9CisgICAgdmFyIG4gPSBkYXRhLlgubGVuZ3RoOworICAgIHZhciBYID0g
ZGF0YS5YOworICAgIHZhciBZID0gZGF0YS5ZOworCisgICAgdGhpcy5YYXZnID0gMDsKKyAgICB0
aGlzLllhdmcgPSAwOworCisgICAgdmFyIFNVTV9YICA9IDA7CisgICAgdmFyIFNVTV9YWSA9IDA7
CisgICAgdmFyIFNVTV9YWCA9IDA7CisgICAgdmFyIFNVTV9ZICA9IDA7CisgICAgdmFyIFNVTV9Z
WSA9IDA7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQorICAgIHsKKyAgICAgIFNVTV9Y
ICArPSBYW2ldOworICAgICAgU1VNX1hZICs9IFhbaV0qWVtpXTsKKyAgICAgIFNVTV9YWCArPSBY
W2ldKlhbaV07CisgICAgICBTVU1fWSAgKz0gWVtpXTsKKyAgICAgIFNVTV9ZWSArPSBZW2ldKllb
aV07CisgICAgfQorCisgICAgdGhpcy5iID0gKG4gKiBTVU1fWFkgLSBTVU1fWCAqIFNVTV9ZKS8o
biAqIFNVTV9YWCAtIFNVTV9YICogU1VNX1gpOworICAgIHRoaXMuYSA9IChTVU1fWSAtIHRoaXMu
YiAqIFNVTV9YKS9uOworCisgICAgdGhpcy5YYXZnID0gU1VNX1gvbjsKKyAgICB0aGlzLllhdmcg
PSBTVU1fWS9uOworCisgICAgdmFyIFNVTV9ZZGlmZjIgPSAwOworICAgIHZhciBTVU1fWGRpZmYy
ID0gMDsKKyAgICB2YXIgU1VNX1hkaWZmWWRpZmYgPSAwOworCisgICAgZm9yIChpID0gMDsgaSA8
IG47IGkrKykKKyAgICB7CisgICAgICB2YXIgWWRpZmYgPSBZW2ldIC0gdGhpcy5ZYXZnOworICAg
ICAgdmFyIFhkaWZmID0gWFtpXSAtIHRoaXMuWGF2ZzsKKyAgICAgICAKKyAgICAgIFNVTV9ZZGlm
ZjIgKz0gWWRpZmYgKiBZZGlmZjsKKyAgICAgIFNVTV9YZGlmZjIgKz0gWGRpZmYgKiBYZGlmZjsK
KyAgICAgIFNVTV9YZGlmZllkaWZmICs9IFhkaWZmICogWWRpZmY7CisgICAgfQorCisgICAgdmFy
IFN5eDIgPSAoU1VNX1lkaWZmMiAtIE1hdGgucG93KFNVTV9YZGlmZllkaWZmL1NVTV9YZGlmZjIs
IDIpKS8obiAtIDIpOworICAgIHZhciByMiAgID0gTWF0aC5wb3coKG4qU1VNX1hZIC0gU1VNX1gg
KiBTVU1fWSksIDIpIC8KKyAgICAgICgobipTVU1fWFggLSBTVU1fWCpTVU1fWCkqKG4qU1VNX1lZ
LVNVTV9ZKlNVTV9ZKSk7CisKKyAgICB0aGlzLlN5eCA9IE1hdGguc3FydChTeXgyKTsKKyAgICB0
aGlzLnIgPSBNYXRoLnNxcnQocjIpOworCisgIH0KKworICBmdW5jdGlvbiBkYXRhRGVyaXYoZGF0
YSkKKyAgeworICAgIGlmIChkYXRhLlgubGVuZ3RoICE9IGRhdGEuWS5sZW5ndGgpCisgICAgewor
ICAgICAgdGhyb3cgJ2xlbmd0aCBtaXNtYXRjaCc7CisgICAgfQorICAgIHZhciBsZW5ndGggPSBk
YXRhLlgubGVuZ3RoOworCisgICAgaWYgKGxlbmd0aCA8IDIpCisgICAgeworICAgICAgdGhyb3cg
J2xlbmd0aCAnICsgbGVuZ3RoICsgJyBtdXN0IGJlID49IDInOworICAgIH0KKyAgICB2YXIgWCA9
IGRhdGEuWDsKKyAgICB2YXIgWSA9IGRhdGEuWTsKKworICAgIHZhciBkZXJpdiA9IHtYOiBbXSwg
WTogW10gfTsKKworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoIC0gMTsgaSsrKQorICAg
IHsKKyAgICAgIGRlcml2LlhbaV0gPSAoWFtpXSArIFhbaSsxXSkvMjsKKyAgICAgIGRlcml2Lllb
aV0gPSAoWVtpKzFdIC0gWVtpXSkvKFhbaSsxXSAtIFhbaV0pOworICAgIH0gCisgICAgcmV0dXJu
IGRlcml2OworICB9CisKKyAgcmV0dXJuIDA7Cit9CisKK2Z1bmN0aW9uIGNvbXBhcmVTb3VyY2Uo
ZXhwZWN0LCBhY3R1YWwsIHN1bW1hcnkpCit7CisgIC8vIGNvbXBhcmUgc291cmNlCisgIHZhciBl
eHBlY3RQID0gZXhwZWN0LgorICAgIHJlcGxhY2UoLyhbKCl7fSwuOlxbXF1dKS9tZywgJyAkMSAn
KS4KKyAgICByZXBsYWNlKC8oXHcrKS9tZywgJyAkMSAnKS4KKyAgICByZXBsYWNlKC88KFwvKT8g
KFx3KykgKFwvKT8+L21nLCAnPCQxJDIkMz4nKS4KKyAgICByZXBsYWNlKC9ccysvbWcsICcgJyku
CisgICAgcmVwbGFjZSgvbmV3IChcdyspXHMqXChccypcKS9tZywgJ25ldyAkMScpOworCisgIHZh
ciBhY3R1YWxQID0gYWN0dWFsLgorICAgIHJlcGxhY2UoLyhbKCl7fSwuOlxbXF1dKS9tZywgJyAk
MSAnKS4KKyAgICByZXBsYWNlKC8oXHcrKS9tZywgJyAkMSAnKS4KKyAgICByZXBsYWNlKC88KFwv
KT8gKFx3KykgKFwvKT8+L21nLCAnPCQxJDIkMz4nKS4KKyAgICByZXBsYWNlKC9ccysvbWcsICcg
JykuCisgICAgcmVwbGFjZSgvbmV3IChcdyspXHMqXChccypcKS9tZywgJ25ldyAkMScpOworCisg
IHByaW50KCdleHBlY3Q6XG4nICsgZXhwZWN0UCk7CisgIHByaW50KCdhY3R1YWw6XG4nICsgYWN0
dWFsUCk7CisKKyAgcmVwb3J0Q29tcGFyZShleHBlY3RQLCBhY3R1YWxQLCBzdW1tYXJ5KTsKKwor
ICAvLyBhY3R1YWwgbXVzdCBiZSBjb21waWxhYmxlIGlmIGV4cGVjdCBpcz8KKyAgdHJ5CisgIHsK
KyAgICB2YXIgZXhwZWN0Q29tcGlsZSA9ICdObyBFcnJvcic7CisgICAgdmFyIGFjdHVhbENvbXBp
bGU7CisKKyAgICBldmFsKGV4cGVjdCk7CisgICAgdHJ5CisgICAgeworICAgICAgZXZhbChhY3R1
YWwpOworICAgICAgYWN0dWFsQ29tcGlsZSA9ICdObyBFcnJvcic7CisgICAgfQorICAgIGNhdGNo
KGV4MSkKKyAgICB7CisgICAgICBhY3R1YWxDb21waWxlID0gZXgxICsgJyc7CisgICAgfQorICAg
IHJlcG9ydENvbXBhcmUoZXhwZWN0Q29tcGlsZSwgYWN0dWFsQ29tcGlsZSwKKyAgICAgICAgICAg
ICAgICAgIHN1bW1hcnkgKyAnOiBjb21waWxlIGFjdHVhbCcpOworICB9CisgIGNhdGNoKGV4KQor
ICB7CisgIH0KK30KKworZnVuY3Rpb24gb3B0aW9uc0luaXQoKSB7CisKKyAgLy8gcmVjb3JkIGlu
aXRpYWwgdmFsdWVzIHRvIHN1cHBvcnQgcmVzZXR0aW5nCisgIC8vIG9wdGlvbnMgdG8gdGhlaXIg
aW5pdGlhbCB2YWx1ZXMKKyAgb3B0aW9ucy5pbml0dmFsdWVzICA9IHt9OworCisgIC8vIHJlY29y
ZCB2YWx1ZXMgaW4gYSBzdGFjayB0byBzdXBwb3J0IHB1c2hpbmcKKyAgLy8gYW5kIHBvcHBpbmcg
b3B0aW9ucworICBvcHRpb25zLnN0YWNrdmFsdWVzID0gW107CisKKyAgdmFyIG9wdGlvbk5hbWVz
ID0gb3B0aW9ucygpLnNwbGl0KCcsJyk7CisKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcHRpb25O
YW1lcy5sZW5ndGg7IGkrKykKKyAgeworICAgIHZhciBvcHRpb25OYW1lID0gb3B0aW9uTmFtZXNb
aV07CisgICAgaWYgKG9wdGlvbk5hbWUpCisgICAgeworICAgICAgb3B0aW9ucy5pbml0dmFsdWVz
W29wdGlvbk5hbWVdID0gJyc7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIG9wdGlvbnNDbGVh
cigpIHsKKyAgICAgICAKKyAgLy8gdHVybiBvZmYgY3VycmVudCBzZXR0aW5ncworICAvLyBleGNl
cHQgaml0LgorICB2YXIgb3B0aW9uTmFtZXMgPSBvcHRpb25zKCkuc3BsaXQoJywnKTsKKyAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBvcHRpb25OYW1lcy5sZW5ndGg7IGkrKykKKyAgeworICAgIHZhciBv
cHRpb25OYW1lID0gb3B0aW9uTmFtZXNbaV07CisgICAgaWYgKG9wdGlvbk5hbWUgJiYKKyAgICAg
ICAgb3B0aW9uTmFtZSAhPSAibWV0aG9kaml0IiAmJgorICAgICAgICBvcHRpb25OYW1lICE9ICJ0
cmFjZWppdCIgJiYKKyAgICAgICAgb3B0aW9uTmFtZSAhPSAiaml0cHJvZmlsaW5nIiAmJgorICAg
ICAgICBvcHRpb25OYW1lICE9ICJtZXRob2RqaXRfYWx3YXlzIikKKyAgICB7CisgICAgICBvcHRp
b25zKG9wdGlvbk5hbWUpOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBvcHRpb25zUHVzaCgp
Cit7CisgIHZhciBvcHRpb25zZnJhbWUgPSB7fTsKKworICBvcHRpb25zLnN0YWNrdmFsdWVzLnB1
c2gob3B0aW9uc2ZyYW1lKTsKKworICB2YXIgb3B0aW9uTmFtZXMgPSBvcHRpb25zKCkuc3BsaXQo
JywnKTsKKworICBmb3IgKHZhciBpID0gMDsgaSA8IG9wdGlvbk5hbWVzLmxlbmd0aDsgaSsrKQor
ICB7CisgICAgdmFyIG9wdGlvbk5hbWUgPSBvcHRpb25OYW1lc1tpXTsKKyAgICBpZiAob3B0aW9u
TmFtZSkKKyAgICB7CisgICAgICBvcHRpb25zZnJhbWVbb3B0aW9uTmFtZV0gPSAnJzsKKyAgICB9
CisgIH0KKworICBvcHRpb25zQ2xlYXIoKTsKK30KKworZnVuY3Rpb24gb3B0aW9uc1BvcCgpCit7
CisgIHZhciBvcHRpb25zZnJhbWUgPSBvcHRpb25zLnN0YWNrdmFsdWVzLnBvcCgpOworCisgIG9w
dGlvbnNDbGVhcigpOworCisgIGZvciAob3B0aW9uTmFtZSBpbiBvcHRpb25zZnJhbWUpCisgIHsK
KyAgICBvcHRpb25zKG9wdGlvbk5hbWUpOworICB9CisKK30KKworZnVuY3Rpb24gb3B0aW9uc1Jl
c2V0KCkgeworCisgIHRyeQorICB7CisgICAgb3B0aW9uc0NsZWFyKCk7CisKKyAgICAvLyB0dXJu
IG9uIGluaXRpYWwgc2V0dGluZ3MKKyAgICBmb3IgKHZhciBvcHRpb25OYW1lIGluIG9wdGlvbnMu
aW5pdHZhbHVlcykKKyAgICB7CisgICAgICBpZiAoIW9wdGlvbnMuaGFzT3duUHJvcGVydHkob3B0
aW9uTmFtZSkpCisgICAgICAgIGNvbnRpbnVlOworICAgICAgb3B0aW9ucyhvcHRpb25OYW1lKTsK
KyAgICB9CisgIH0KKyAgY2F0Y2goZXgpCisgIHsKKyAgICBwcmludCgnb3B0aW9uc1Jlc2V0OiBj
YXVnaHQgJyArIGV4KTsKKyAgfQorCit9CisKK2lmICh0eXBlb2Ygb3B0aW9ucyA9PSAnZnVuY3Rp
b24nKQoreworICBvcHRpb25zSW5pdCgpOworICBvcHRpb25zQ2xlYXIoKTsKK30KKworZnVuY3Rp
b24gZ2V0VGVzdENhc2VSZXN1bHQoZXhwZWN0ZWQsIGFjdHVhbCkKK3sKKyAgaWYgKHR5cGVvZiBl
eHBlY3RlZCAhPSB0eXBlb2YgYWN0dWFsKQorICAgIHJldHVybiBmYWxzZTsKKyAgaWYgKHR5cGVv
ZiBleHBlY3RlZCAhPSAnbnVtYmVyJykKKyAgICAvLyBOb3RlIHRoYXQgbWFueSB0ZXN0cyBkZXBl
bmQgb24gdGhlIHVzZSBvZiAnPT0nIGhlcmUsIG5vdCAnPT09Jy4KKyAgICByZXR1cm4gYWN0dWFs
ID09IGV4cGVjdGVkOworCisgIC8vIERpc3Rpbmd1aXNoIE5hTiBmcm9tIG90aGVyIHZhbHVlcy4g
IFVzaW5nIHggIT0geCBjb21wYXJpc29ucyBoZXJlCisgIC8vIHdvcmtzIGV2ZW4gaWYgdGVzdHMg
cmVkZWZpbmUgaXNOYU4uCisgIGlmIChhY3R1YWwgIT0gYWN0dWFsKQorICAgIHJldHVybiBleHBl
Y3RlZCAhPSBleHBlY3RlZDsKKyAgaWYgKGV4cGVjdGVkICE9IGV4cGVjdGVkKQorICAgIHJldHVy
biBmYWxzZTsKKworICAvLyBUb2xlcmF0ZSBhIGNlcnRhaW4gZGVncmVlIG9mIGVycm9yLgorICBp
ZiAoYWN0dWFsICE9IGV4cGVjdGVkKQorICAgIHJldHVybiBNYXRoLmFicyhhY3R1YWwgLSBleHBl
Y3RlZCkgPD0gMUUtMTA7CisKKyAgLy8gSGVyZSB3b3VsZCBiZSBhIGdvb2QgcGxhY2UgdG8gZGlz
dGluZ3Vpc2ggMCBhbmQgLTAsIGlmIHdlIHdhbnRlZAorICAvLyB0by4gIEhvd2V2ZXIsIGRvaW5n
IHNvIHdvdWxkIGludHJvZHVjZSBhIG51bWJlciBvZiBmYWlsdXJlcyBpbgorICAvLyBhcmVhcyB3
aGVyZSB0aGV5IGRvbid0IHNlZW0gaW1wb3J0YW50LiAgRm9yIGV4YW1wbGUsIHRoZSBXZWVrRGF5
CisgIC8vIGZ1bmN0aW9uIGluIEVDTUEtMjYyIHJldHVybnMgLTAgZm9yIFN1bmRheXMgYmVmb3Jl
IHRoZSBlcG9jaCwgYnV0CisgIC8vIHRoZSBEYXRlIGZ1bmN0aW9ucyBpbiBTcGlkZXJNb25rZXkg
c3BlY2lmaWVkIGluIHRlcm1zIG9mIFdlZWtEYXkKKyAgLy8gb2Z0ZW4gZG9uJ3QuICBUaGlzIHNl
ZW1zIHVuaW1wb3J0YW50LgorICByZXR1cm4gdHJ1ZTsKK30KKworaWYgKHR5cGVvZiBkdW1wID09
ICd1bmRlZmluZWQnKQoreworICBpZiAodHlwZW9mIHdpbmRvdyA9PSAndW5kZWZpbmVkJyAmJgor
ICAgICAgdHlwZW9mIHByaW50ID09ICdmdW5jdGlvbicpCisgIHsKKyAgICBkdW1wID0gcHJpbnQ7
CisgIH0KKyAgZWxzZQorICB7CisgICAgZHVtcCA9IChmdW5jdGlvbiAoKSB7fSk7CisgIH0KK30K
KworZnVuY3Rpb24gdGVzdCgpIHsKKyAgZm9yICggZ1RjPTA7IGdUYyA8IGdUZXN0Y2FzZXMubGVu
Z3RoOyBnVGMrKyApIHsKKyAgICAvLyB0ZW1wb3JhcnkgaGFjayB0byB3b3JrIGFyb3VuZCBzb21l
IHVua25vd24gaXNzdWUgaW4gMS43CisgICAgdHJ5CisgICAgeworICAgICAgZ1Rlc3RjYXNlc1tn
VGNdLnBhc3NlZCA9IHdyaXRlVGVzdENhc2VSZXN1bHQoCisgICAgICAgIGdUZXN0Y2FzZXNbZ1Rj
XS5leHBlY3QsCisgICAgICAgIGdUZXN0Y2FzZXNbZ1RjXS5hY3R1YWwsCisgICAgICAgIGdUZXN0
Y2FzZXNbZ1RjXS5kZXNjcmlwdGlvbiArIiA9ICIrIGdUZXN0Y2FzZXNbZ1RjXS5hY3R1YWwgKTsK
KyAgICAgIGdUZXN0Y2FzZXNbZ1RjXS5yZWFzb24gKz0gKCBnVGVzdGNhc2VzW2dUY10ucGFzc2Vk
ICkgPyAiIiA6ICJ3cm9uZyB2YWx1ZSAiOworICAgIH0KKyAgICBjYXRjaChlKQorICAgIHsKKyAg
ICAgIHByaW50KCd0ZXN0KCk6IGVtcHR5IHRlc3RjYXNlIGZvciBnVGMgPSAnICsgZ1RjICsgJyAn
ICsgZSk7CisgICAgfQorICB9CisgIHN0b3BUZXN0KCk7CisgIHJldHVybiAoIGdUZXN0Y2FzZXMg
KTsKK30KKworLyoKKyAqIEJlZ2luIHByaW50aW5nIGZ1bmN0aW9ucy4gIFRoZXNlIGZ1bmN0aW9u
cyB1c2UgdGhlIHNoZWxsJ3MKKyAqIHByaW50IGZ1bmN0aW9uLiAgV2hlbiBydW5uaW5nIHRlc3Rz
IGluIHRoZSBicm93c2VyLCB0aGVzZQorICogZnVuY3Rpb25zLCBvdmVycmlkZSB0aGVzZSBmdW5j
dGlvbnMgd2l0aCBmdW5jdGlvbnMgdGhhdCB1c2UKKyAqIGRvY3VtZW50LndyaXRlLgorICovCisK
K2Z1bmN0aW9uIHdyaXRlVGVzdENhc2VSZXN1bHQoIGV4cGVjdCwgYWN0dWFsLCBzdHJpbmcgKSB7
CisgIHZhciBwYXNzZWQgPSBnZXRUZXN0Q2FzZVJlc3VsdCggZXhwZWN0LCBhY3R1YWwgKTsKKyAg
Ly8gaWYgcnVubmluZyB1bmRlciByZWZ0ZXN0LCBsZXQgaXQgaGFuZGxlIHJlc3VsdCByZXBvcnRp
bmcuCisgIGlmICh0eXBlb2YgZG9jdW1lbnQgIT0gIm9iamVjdCIgfHwKKyAgICAgICFkb2N1bWVu
dC5sb2NhdGlvbi5ocmVmLm1hdGNoKC9qc3JlZnRlc3QuaHRtbC8pKSB7CisgICAgd3JpdGVGb3Jt
YXR0ZWRSZXN1bHQoIGV4cGVjdCwgYWN0dWFsLCBzdHJpbmcsIHBhc3NlZCApOworICB9CisgIHJl
dHVybiBwYXNzZWQ7Cit9CitmdW5jdGlvbiB3cml0ZUZvcm1hdHRlZFJlc3VsdCggZXhwZWN0LCBh
Y3R1YWwsIHN0cmluZywgcGFzc2VkICkgeworICB2YXIgcyA9ICggcGFzc2VkID8gUEFTU0VEIDog
RkFJTEVEICkgKyBzdHJpbmcgKyAnIGV4cGVjdGVkOiAnICsgZXhwZWN0OworICBwcmludChzKTsK
KyAgcmV0dXJuIHBhc3NlZDsKK30KKworZnVuY3Rpb24gd3JpdGVIZWFkZXJUb0xvZyggc3RyaW5n
ICkgeworICBwcmludCggc3RyaW5nICk7Cit9CisvKiBlbmQgb2YgcHJpbnQgZnVuY3Rpb25zICov
CisKKworLyoKKyAqIFdoZW4gcnVubmluZyBpbiB0aGUgc2hlbGwsIHJ1biB0aGUgZ2FyYmFnZSBj
b2xsZWN0b3IgYWZ0ZXIgdGhlCisgKiB0ZXN0IGhhcyBjb21wbGV0ZWQuCisgKi8KKworZnVuY3Rp
b24gc3RvcFRlc3QoKSB7CisgIHZhciBnYzsKKyAgaWYgKCBnYyAhPSB1bmRlZmluZWQgKSB7Cisg
ICAgZ2MoKTsKKyAgfQorfQorCisvKgorICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIGRpc3Bs
YXlpbmcgZmFpbGVkIHRlc3QgY2FzZXMuICBVc2VmdWwKKyAqIHdoZW4gcnVubmluZyB0ZXN0cyBt
YW51YWxseS4KKyAqCisgKi8KK2Z1bmN0aW9uIGdldEZhaWxlZENhc2VzKCkgeworICBmb3IgKCB2
YXIgaSA9IDA7IGkgPCBnVGVzdGNhc2VzLmxlbmd0aDsgaSsrICkgeworICAgIGlmICggISBnVGVz
dGNhc2VzW2ldLnBhc3NlZCApIHsKKyAgICAgIHByaW50KCBnVGVzdGNhc2VzW2ldLmRlc2NyaXB0
aW9uICsgIiA9ICIgK2dUZXN0Y2FzZXNbaV0uYWN0dWFsICsKKyAgICAgICAgICAgICAiIGV4cGVj
dGVkOiAiICsgZ1Rlc3RjYXNlc1tpXS5leHBlY3QgKTsKKyAgICB9CisgIH0KK30KKwordmFyIEpT
VGVzdCA9IHsKKyAgd2FpdEZvckV4cGxpY2l0RmluaXNoOiBmdW5jdGlvbiAoKSB7CisgICAgZ0Rl
bGF5VGVzdERyaXZlckVuZCA9IHRydWU7CisgIH0sCisKKyAgdGVzdEZpbmlzaGVkOiBmdW5jdGlv
biAoKSB7CisgICAgZ0RlbGF5VGVzdERyaXZlckVuZCA9IGZhbHNlOworICAgIGpzVGVzdERyaXZl
ckVuZCgpOworICAgIHF1aXQoKTsKKyAgfQorfTsKKworZnVuY3Rpb24ganNUZXN0RHJpdmVyRW5k
KCkKK3sKKyAgLy8gZ0RlbGF5VGVzdERyaXZlckVuZCBpcyB1c2VkIHRvCisgIC8vIGRlbGF5IGNv
bGxlY3Rpb24gb2YgdGhlIHRlc3QgcmVzdWx0IGFuZAorICAvLyBzaWduYWwgdG8gU3BpZGVyIHNv
IHRoYXQgdGVzdHMgY2FuIGNvbnRpbnVlCisgIC8vIHRvIHJ1biBhZnRlciBwYWdlIGxvYWQgaGFz
IGZpcmVkLiBUaGV5IGFyZQorICAvLyByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBnRGVsYXlUZXN0
RHJpdmVyRW5kID0gdHJ1ZQorICAvLyB0aGVuIHdoZW4gY29tcGxldGVkLCBzZXR0aW5nIGdEZWxh
eVRlc3REcml2ZXJFbmQgPSBmYWxzZQorICAvLyB0aGVuIGNhbGxpbmcganNUZXN0RHJpdmVyRW5k
KCkKKworICBpZiAoZ0RlbGF5VGVzdERyaXZlckVuZCkKKyAgeworICAgIHJldHVybjsKKyAgfQor
CisgIHRyeQorICB7CisgICAgb3B0aW9uc1Jlc2V0KCk7CisgIH0KKyAgY2F0Y2goZXgpCisgIHsK
KyAgICBkdW1wKCdqc1Rlc3REcml2ZXJFbmQgJyArIGV4KTsKKyAgfQorCisgIGZvciAodmFyIGkg
PSAwOyBpIDwgZ1Rlc3RjYXNlcy5sZW5ndGg7IGkrKykKKyAgeworICAgIGdUZXN0Y2FzZXNbaV0u
ZHVtcCgpOworICB9CisKK30KKworZnVuY3Rpb24gaml0KG9uKQoreworICBpZiAob24gJiYgIW9w
dGlvbnMoKS5tYXRjaCgvdHJhY2VqaXQvKSkKKyAgeworICAgIG9wdGlvbnMoJ3RyYWNlaml0Jyk7
CisgIH0KKyAgZWxzZSBpZiAoIW9uICYmIG9wdGlvbnMoKS5tYXRjaCgvdHJhY2VqaXQvKSkKKyAg
eworICAgIG9wdGlvbnMoJ3RyYWNlaml0Jyk7CisgIH0KK30KKworLyoKKyAqIFNvbWUgdGVzdHMg
bmVlZCB0byBrbm93IGlmIHdlIGFyZSBpbiBSaGlubyBhcyBvcHBvc2VkIHRvIFNwaWRlck1vbmtl
eQorICovCitmdW5jdGlvbiBpblJoaW5vKCkKK3sKKyAgcmV0dXJuICh0eXBlb2YgZGVmaW5lQ2xh
c3MgPT0gImZ1bmN0aW9uIik7Cit9CisKKy8qIHRoZXNlIGZ1bmN0aW9ucyBhcmUgdXNlZnVsIGZv
ciBydW5uaW5nIHRlc3RzIG1hbnVhbGx5IGluIFJoaW5vICovCisKK2Z1bmN0aW9uIEdldENvbnRl
eHQoKSB7CisgIHJldHVybiBQYWNrYWdlcy5jb20ubmV0c2NhcGUuamF2YXNjcmlwdC5Db250ZXh0
LmdldEN1cnJlbnRDb250ZXh0KCk7Cit9CitmdW5jdGlvbiBPcHRMZXZlbCggaSApIHsKKyAgaSA9
IE51bWJlcihpKTsKKyAgdmFyIGN4ID0gR2V0Q29udGV4dCgpOworICBjeC5zZXRPcHRpbWl6YXRp
b25MZXZlbChpKTsKK30KKy8qIGVuZCBvZiBSaGlubyBmdW5jdGlvbnMgKi8KKworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjQuMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjQuMi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTBhZDA3MWMwMzk1YmEwZWQzYzg2MmY0MmQzY2Q1MTQzYmM0YWJiYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTAu
NC4yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitQQVNTICd1c2Ugc3RyaWN0JzsgZXZh
bCgnMDEwJykgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUg
PT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyBldmFsKCcidXNlIHN0cmljdCI7IDAxMCcpIHRo
cmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBldmFsKCcidXNlIHN0cmlj
dCI7IDAxMCcpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyB0cnVl
ID09PSB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBG
dW5jdGlvbignInVzZSBzdHJpY3QiOyAwMTAnKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50
YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VE
ISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjQuMi5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMC40LjIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNjFjMTBiYzdhZmQ5NTVhZjdiZTFiZjg4YmU4YjVmYzViYTJlOGVhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMC40LjIuaHRtbApA
QCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemls
bGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxh
LWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzLzEwLjQuMi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjQuMy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjQuMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmYyZTg4OTliMjQ0ZTUxZGI4Y2ZkYTYyNzc2ZDRlMzU2YzZhODEzMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTAuNC4zLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitQQVNTICA9PT0gCitQQVNTIHRydWUgPT09IHRy
dWUKK1BBU1MgNDIgPT09IDQyCitQQVNTIG51bGwgPT09IG51bGwKK1BBU1MgdW5kZWZpbmVkID09
PSB1bmRlZmluZWQKK1BBU1MgW29iamVjdCBPYmplY3RdID09PSBbb2JqZWN0IE9iamVjdF0KK1BB
U1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIHRydWUgPT09IHRydWUK
K1BBU1MgNDIgPT09IDQyCitQQVNTIDQyID09PSA0MgorUEFTUyAgPT09IAorUEFTUyAgPT09IAor
UEFTUyB0cnVlID09PSB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1
ZQorUEFTUyBbb2JqZWN0IERPTVdpbmRvd10gPT09IFtvYmplY3QgRE9NV2luZG93XQorUEFTUyBb
b2JqZWN0IERPTVdpbmRvd10gPT09IFtvYmplY3QgRE9NV2luZG93XQorUEFTUyBbb2JqZWN0IE9i
amVjdF0gPT09IFtvYmplY3QgT2JqZWN0XQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIHRydWUg
PT09IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIHRy
dWUgPT09IHRydWUKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9zdHJpY3QvMTAuNC4zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
LzEwLjQuMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0ZDZkZmFiZTNkNjZmMTRjNjJmZGY4MzRkODBiYjk4
YzMxZWJhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0LzEwLjQuMy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvMTAuNC4zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTAu
Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEwLjYt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkN2VmMzczMGEzYWQwY2UxMDBlMDY3NTJiOTE4MjQ0
NTdmZWMwNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0LzEwLjYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI1IEBACitQQVNTICd1c2Ugc3Ry
aWN0JzsgKGZ1bmN0aW9uIGYoKSB7CitPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmd1bWVudHMs
IHsxOiB7IHdyaXRhYmxlOiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMjogeyBjb25maWd1cmFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzOiB7IHdyaXRhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIH19KTsKK3JldHVybiAoYXJn
dW1lbnRzWzBdID0gNDIpOworfSkoMCwgMSwgMiwgMyk7IGlzIDQyCitQQVNTIChmdW5jdGlvbiBm
KCkgeworT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJndW1lbnRzLCB7MTogeyB3cml0YWJsZTog
ZmFsc2UgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI6IHsgY29uZmln
dXJhYmxlOiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzog
eyB3cml0YWJsZTogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uZmlndXJhYmxlOiBmYWxzZSB9fSk7CityZXR1cm4gKGFyZ3VtZW50c1swXSA9IDQyKTsK
K30pKDAsIDEsIDIsIDMpOyBpcyA0MgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICd1c2Ugc3Ry
aWN0JzsgKGZ1bmN0aW9uIGYoKSB7CitPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmd1bWVudHMs
IHsxOiB7IHdyaXRhYmxlOiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMjogeyBjb25maWd1cmFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzOiB7IHdyaXRhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIH19KTsKK3JldHVybiAoZGVs
ZXRlIGFyZ3VtZW50c1swXSk7Cit9KSgwLCAxLCAyLCAzKTsgaXMgdHJ1ZQorUEFTUyAoZnVuY3Rp
b24gZigpIHsKK09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZ3VtZW50cywgezE6IHsgd3JpdGFi
bGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOiB7IGNv
bmZpZ3VyYWJsZTogZmFsc2UgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDM6IHsgd3JpdGFibGU6IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgfX0pOworcmV0dXJuIChkZWxldGUgYXJndW1lbnRz
WzBdKTsKK30pKDAsIDEsIDIsIDMpOyBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK0ZBSUwg
J3VzZSBzdHJpY3QnOyAoZnVuY3Rpb24gZigpIHsKK09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFy
Z3VtZW50cywgezE6IHsgd3JpdGFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyOiB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDM6IHsgd3JpdGFibGU6IGZhbHNlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgfX0pOworcmV0
dXJuIChhcmd1bWVudHNbMV0gPSA0Mik7Cit9KSgwLCAxLCAyLCAzKTsgc2hvdWxkIHRocm93IGFu
IGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyAoZnVuY3Rpb24gZigpIHsKK09iamVjdC5kZWZp
bmVQcm9wZXJ0aWVzKGFyZ3VtZW50cywgezE6IHsgd3JpdGFibGU6IGZhbHNlIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOiB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM6IHsgd3JpdGFibGU6IGZhbHNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTog
ZmFsc2UgfX0pOworcmV0dXJuIChhcmd1bWVudHNbMV0gPSA0Mik7Cit9KSgwLCAxLCAyLCAzKTsg
aXMgNDIKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IChmdW5jdGlvbiBm
KCkgeworT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJndW1lbnRzLCB7MTogeyB3cml0YWJsZTog
ZmFsc2UgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI6IHsgY29uZmln
dXJhYmxlOiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzog
eyB3cml0YWJsZTogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uZmlndXJhYmxlOiBmYWxzZSB9fSk7CityZXR1cm4gKGRlbGV0ZSBhcmd1bWVudHNbMV0p
OworfSkoMCwgMSwgMiwgMyk7IGlzIHRydWUKK1BBU1MgKGZ1bmN0aW9uIGYoKSB7CitPYmplY3Qu
ZGVmaW5lUHJvcGVydGllcyhhcmd1bWVudHMsIHsxOiB7IHdyaXRhYmxlOiBmYWxzZSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjogeyBjb25maWd1cmFibGU6IGZhbHNl
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzOiB7IHdyaXRhYmxlOiBm
YWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFi
bGU6IGZhbHNlIH19KTsKK3JldHVybiAoZGVsZXRlIGFyZ3VtZW50c1sxXSk7Cit9KSgwLCAxLCAy
LCAzKTsgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgKGZ1
bmN0aW9uIGYoKSB7CitPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmd1bWVudHMsIHsxOiB7IHdy
aXRhYmxlOiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjog
eyBjb25maWd1cmFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzOiB7IHdyaXRhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIH19KTsKK3JldHVybiAoYXJndW1lbnRzWzJd
ID0gNDIpOworfSkoMCwgMSwgMiwgMyk7IGlzIDQyCitQQVNTIChmdW5jdGlvbiBmKCkgeworT2Jq
ZWN0LmRlZmluZVByb3BlcnRpZXMoYXJndW1lbnRzLCB7MTogeyB3cml0YWJsZTogZmFsc2UgfSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI6IHsgY29uZmlndXJhYmxlOiBm
YWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzogeyB3cml0YWJs
ZTogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmln
dXJhYmxlOiBmYWxzZSB9fSk7CityZXR1cm4gKGFyZ3VtZW50c1syXSA9IDQyKTsKK30pKDAsIDEs
IDIsIDMpOyBpcyA0MgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgKGZ1
bmN0aW9uIGYoKSB7CitPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmd1bWVudHMsIHsxOiB7IHdy
aXRhYmxlOiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjog
eyBjb25maWd1cmFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzOiB7IHdyaXRhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIH19KTsKK3JldHVybiAoZGVsZXRlIGFyZ3Vt
ZW50c1syXSk7Cit9KSgwLCAxLCAyLCAzKTsgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVy
cm9yLgorUEFTUyAoZnVuY3Rpb24gZigpIHsKK09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZ3Vt
ZW50cywgezE6IHsgd3JpdGFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAyOiB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDM6IHsgd3JpdGFibGU6IGZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgfX0pOworcmV0dXJu
IChkZWxldGUgYXJndW1lbnRzWzJdKTsKK30pKDAsIDEsIDIsIDMpOyBpcyBmYWxzZQorUEFTUyB0
cnVlID09PSB0cnVlCitGQUlMICd1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uIGYoKSB7CitPYmplY3Qu
ZGVmaW5lUHJvcGVydGllcyhhcmd1bWVudHMsIHsxOiB7IHdyaXRhYmxlOiBmYWxzZSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjogeyBjb25maWd1cmFibGU6IGZhbHNl
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzOiB7IHdyaXRhYmxlOiBm
YWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFi
bGU6IGZhbHNlIH19KTsKK3JldHVybiAoYXJndW1lbnRzWzNdID0gNDIpOworfSkoMCwgMSwgMiwg
Myk7IHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK1BBU1MgKGZ1bmN0aW9u
IGYoKSB7CitPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmd1bWVudHMsIHsxOiB7IHdyaXRhYmxl
OiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjogeyBjb25m
aWd1cmFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAz
OiB7IHdyaXRhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25maWd1cmFibGU6IGZhbHNlIH19KTsKK3JldHVybiAoYXJndW1lbnRzWzNdID0gNDIp
OworfSkoMCwgMSwgMiwgMyk7IGlzIDQyCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgJ3VzZSBz
dHJpY3QnOyAoZnVuY3Rpb24gZigpIHsKK09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZ3VtZW50
cywgezE6IHsgd3JpdGFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyOiB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDM6IHsgd3JpdGFibGU6IGZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgfX0pOworcmV0dXJuIChk
ZWxldGUgYXJndW1lbnRzWzNdKTsKK30pKDAsIDEsIDIsIDMpOyB0aHJldyBleGNlcHRpb24gb2Yg
dHlwZSBUeXBlRXJyb3IuCitQQVNTIChmdW5jdGlvbiBmKCkgeworT2JqZWN0LmRlZmluZVByb3Bl
cnRpZXMoYXJndW1lbnRzLCB7MTogeyB3cml0YWJsZTogZmFsc2UgfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDI6IHsgY29uZmlndXJhYmxlOiBmYWxzZSB9LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzogeyB3cml0YWJsZTogZmFsc2UsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSB9
fSk7CityZXR1cm4gKGRlbGV0ZSBhcmd1bWVudHNbM10pOworfSkoMCwgMSwgMiwgMyk7IGlzIGZh
bHNlCitQQVNTIHRydWUgPT09IHRydWUKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9zdHJpY3QvMTAuNi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC8xMC42Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ5YTE4Y2JiNTNmNjNjMjZmZGQyNTll
ZDVjNmUyZTYxYWIzMWE0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvMTAuNi5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvMTAuNi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
LzExLjEuNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
LzExLjEuNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4ZjcyZTBiNGQ3MTcwZjhlNDJmZjdm
NzQ4NWQ5NDQxNjY1YTZjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvMTEuMS41LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDk4IEBACitQQVNT
IEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7eDoxLCB4OjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBv
ZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCIoe3g6MSwgeDoxfSkiKSBpcyB0
cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgISFGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAo
e3g6MSwgeToxfSkiKSBpcyB0cnVlCitQQVNTICEhRnVuY3Rpb24oIih7eDoxLCB5OjF9KSIpIGlz
IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAo
e3g6MSwgeToxLCB4OjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgor
UEFTUyAhIUZ1bmN0aW9uKCIoe3g6MSwgeToxLCB4OjF9KSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9
PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoe3g6MSwgICBcInhcIjoxfSki
KSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigi
KHt4OjEsICAgXCJ4XCI6MX0pIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1
bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7XCJ4XCI6MSwgeDoxfSkiKSB0aHJldyBleGNlcHRpb24g
b2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKHtcInhcIjoxLCB4OjF9KSIp
IGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3Qn
OyAoe1wieFwiOjEsIFwieFwiOjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVy
cm9yLgorUEFTUyAhIUZ1bmN0aW9uKCIoe1wieFwiOjEsIFwieFwiOjF9KSIpIGlzIHRydWUKK1BB
U1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoezEuNToxLCAx
LjU6MX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVu
Y3Rpb24oIih7MS41OjEsIDEuNToxfSkiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BB
U1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHsxLjU6MSwgMTVlLTE6MX0pIikgdGhyZXcgZXhj
ZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oIih7MS41OjEsIDE1
ZS0xOjF9KSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3Vz
ZSBzdHJpY3QnOyAoezYuMDIyMTQxNzllMjM6MSwgNi4wMjIxNDE3OWUyMzoxfSkiKSB0aHJldyBl
eGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKHs2LjAyMjE0
MTc5ZTIzOjEsIDYuMDIyMTQxNzllMjM6MX0pIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVl
CitQQVNTICEhRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHs2LjAyMjE0MTc5ZTIzOjEsIDMuMTQx
NTkyNjUzNToxfSkiKSBpcyB0cnVlCitQQVNTICEhRnVuY3Rpb24oIih7Ni4wMjIxNDE3OWUyMzox
LCAzLjE0MTU5MjY1MzU6MX0pIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1
bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7IDE6IDEsIFwiMVwiOiAyIH0pIikgdGhyZXcgZXhjZXB0
aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oIih7IDE6IDEsIFwiMVwi
OiAyIH0pIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNl
IHN0cmljdCc7ICh7IFwiMVwiOiAxLCAxOiAyIH0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUg
U3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oIih7IFwiMVwiOiAxLCAxOiAyIH0pIikgaXMg
dHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7
IDIuNTogMSwgXCIyLjVcIjogMiB9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVy
cm9yLgorUEFTUyAhIUZ1bmN0aW9uKCIoeyAyLjU6IDEsIFwiMi41XCI6IDIgfSkiKSBpcyB0cnVl
CitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHsgXCIy
LjVcIjogMSwgMi41OiAyIH0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3Iu
CitQQVNTICEhRnVuY3Rpb24oIih7IFwiMi41XCI6IDEsIDIuNTogMiB9KSIpIGlzIHRydWUKK1BB
U1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAhIUZ1bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7YToxLCBi
OjEsIGM6MSwgZDoxLCBlOjEsIGY6MSwgZzoxLCBoOjEsIGk6MSwgajoxLCBrOjEsIGw6MSwgbTox
LCBuOjEsIG86MSwgcDoxLCBxOjEsIHI6MSwgczoxLCB0OjEsIHU6MSwgdjoxLCB3OjEsIHg6MSwg
eToxLCB6OjF9KSIpIGlzIHRydWUKK1BBU1MgISFGdW5jdGlvbigiKHthOjEsIGI6MSwgYzoxLCBk
OjEsIGU6MSwgZjoxLCBnOjEsIGg6MSwgaToxLCBqOjEsIGs6MSwgbDoxLCBtOjEsIG46MSwgbzox
LCBwOjEsIHE6MSwgcjoxLCBzOjEsIHQ6MSwgdToxLCB2OjEsIHc6MSwgeDoxLCB5OjEsIHo6MX0p
IikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmlj
dCc7ICh7YToxLCBiOjEsIGM6MSwgZDoxLCBlOjEsIGY6MSwgZzoxLCBoOjEsIGk6MSwgajoxLCBr
OjEsIGw6MSwgbToxLCBuOjEsIG86MSwgcDoxLCBxOjEsIHI6MSwgczoxLCB0OjEsIHU6MSwgdjox
LCB3OjEsIHg6MSwgeToxLCBhOjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVy
cm9yLgorUEFTUyAhIUZ1bmN0aW9uKCIoe2E6MSwgYjoxLCBjOjEsIGQ6MSwgZToxLCBmOjEsIGc6
MSwgaDoxLCBpOjEsIGo6MSwgazoxLCBsOjEsIG06MSwgbjoxLCBvOjEsIHA6MSwgcToxLCByOjEs
IHM6MSwgdDoxLCB1OjEsIHY6MSwgdzoxLCB4OjEsIHk6MSwgYToxfSkiKSBpcyB0cnVlCitQQVNT
IHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtnZXQgeCgpIHt9
LCB4OjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5j
dGlvbigiKHtnZXQgeCgpIHt9LCB4OjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRh
eEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7
ICh7eDoxLCBnZXQgeCgpIHt9fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJv
ci4KK1BBU1MgRnVuY3Rpb24oIih7eDoxLCBnZXQgeCgpIHt9fSkiKSB0aHJldyBleGNlcHRpb24g
b2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigi
J3VzZSBzdHJpY3QnOyAoe3NldCB4KHEpIHt9LCB4OjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0
eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiKHtzZXQgeChxKSB7fSwgeDoxfSkiKSB0
aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQor
UEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoe3g6MSwgc2V0IHgocSkge319KSIpIHRocmV3
IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiKHt4OjEsIHNl
dCB4KHEpIHt9fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1Mg
dHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoezE6MSwgc2V0IDEo
cSkge319KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5j
dGlvbigiKHsxOjEsIHNldCAxKHEpIHt9fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50
YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3Qn
OyAoe3NldCAxKHEpIHt9LCAxOjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVy
cm9yLgorUEFTUyBGdW5jdGlvbigiKHtzZXQgMShxKSB7fSwgMToxfSkiKSB0aHJldyBleGNlcHRp
b24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlv
bigiJ3VzZSBzdHJpY3QnOyAoe1wiMVwiOjEsIHNldCAxKHEpIHt9fSkiKSB0aHJldyBleGNlcHRp
b24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oIih7XCIxXCI6MSwgc2V0IDEo
cSkge319KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyB0cnVl
ID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7c2V0IDEocSkge30sIFwi
MVwiOjF9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5j
dGlvbigiKHtzZXQgMShxKSB7fSwgXCIxXCI6MX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUg
U3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKK0ZBSUwgISFGdW5jdGlvbigiJ3VzZSBz
dHJpY3QnOyAoe2dldCB4KCkge30sIHNldCB4KHEpIHt9fSkiKSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcgorUEFTUyAhIUZ1bmN0aW9uKCIo
e2dldCB4KCkge30sIHNldCB4KHEpIHt9fSkiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUK
K0ZBSUwgISFGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoe3NldCB4KHEpIHt9LCBnZXQgeCgpIHt9
fSkiKSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBl
cnJvcgorUEFTUyAhIUZ1bmN0aW9uKCIoe3NldCB4KHEpIHt9LCBnZXQgeCgpIHt9fSkiKSBpcyB0
cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtn
ZXQgeCgpIHt9LCBzZXQgeChxKSB7fSwgeDoxfSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBT
eW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oIih7Z2V0IHgoKSB7fSwgc2V0IHgocSkge30sIHg6
MX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09
IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtzZXQgeChxKSB7fSwgZ2V0IHgo
KSB7fSwgeDoxfSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1Mg
RnVuY3Rpb24oIih7c2V0IHgocSkge30sIGdldCB4KCkge30sIHg6MX0pIikgdGhyZXcgZXhjZXB0
aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rp
b24oIid1c2Ugc3RyaWN0JzsgKHtnZXQgeCgpIHt9LCBnZXQgeCgpIHt9fSkiKSB0aHJldyBleGNl
cHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oIih7Z2V0IHgoKSB7fSwg
Z2V0IHgoKSB7fX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNT
IHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtzZXQgeCgpIHt9
LCBzZXQgeCgpIHt9fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BB
U1MgRnVuY3Rpb24oIih7c2V0IHgoKSB7fSwgc2V0IHgoKSB7fX0pIikgdGhyZXcgZXhjZXB0aW9u
IG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKK0ZBSUwgISFGdW5jdGlv
bigiJ3VzZSBzdHJpY3QnOyAoe2dldCB4KCkge30sIHNldCB4KHEpIHt9LCB5OjF9KSIpIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitQQVNT
ICEhRnVuY3Rpb24oIih7Z2V0IHgoKSB7fSwgc2V0IHgocSkge30sIHk6MX0pIikgaXMgdHJ1ZQor
UEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VEISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0LzExLjEuNS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC8xMS4xLjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTJkNzEwZmU0ZGMwZDAwY2RiOWQyZDA2
YThlYzBjNWQ5MjM1ZmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC8xMS4xLjUuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzLzExLjEuNS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3Ry
aWN0LzExLjEzLjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC8xMS4xMy4xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjQwZTk5NDhhMmZjMDEwNWM3
YzM0YTNlYWE2NWYwMDMxYmIzZjRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC8xMS4xMy4xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IGFyZ3VtZW50cz0xIikgdGhyZXcgZXhjZXB0
aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oImFyZ3VtZW50cz0xIikg
aXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7
IGV2YWw9MSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1
bmN0aW9uKCJldmFsPTEiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rp
b24oIid1c2Ugc3RyaWN0JzsgKGFyZ3VtZW50cyk9MSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBl
IFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCIoYXJndW1lbnRzKT0xIikgaXMgdHJ1ZQor
UEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IChldmFsKT0x
IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24o
IihldmFsKT0xIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VEISAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjEzLjEuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMTMuMS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQx
MWIxNGQ2YzM2NWI3ZGJmNWNlNWRmY2MzY2U3YjYzYjMyNWNmODMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjEzLjEuaHRtbApAQCAtMCww
ICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtc2hl
bGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLWVzNS1z
aGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
LzExLjEzLjEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4xMy4yLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMTMuMi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTc5NjhiN2IwNzIyZTkxYWE3NDVkZDUwYTk1NjhmYjI4YWFhNWYzMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMTMuMi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBh
cmd1bWVudHMrPTEiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1Mg
ISFGdW5jdGlvbigiYXJndW1lbnRzKz0xIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQ
QVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IGV2YWwrPTEiKSB0aHJldyBleGNlcHRpb24gb2Yg
dHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiZXZhbCs9MSIpIGlzIHRydWUKK1BB
U1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoYXJndW1lbnRz
KSs9MSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0
aW9uKCIoYXJndW1lbnRzKSs9MSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBG
dW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoZXZhbCkrPTEiKSB0aHJldyBleGNlcHRpb24gb2YgdHlw
ZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKGV2YWwpKz0xIikgaXMgdHJ1ZQorUEFT
UyB0cnVlID09PSB0cnVlCisgUEFTU0VEISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0LzExLjEzLjIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3QvMTEuMTMuMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllZGEwNzBiMDQyODVlMjNiNjUwYmExNTQx
Mzc2MDcxNTc5NzNhMjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0LzExLjEzLjIuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzLzExLjEzLjIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC8xMS4zLjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC8xMS4zLjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxNmVmMGY3YzRhYmRlMGFmNWVh
MmU2YTE3MzgyZGZhNzdkNWI4NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0LzExLjMuMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
UEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBhcmd1bWVudHMrKyIpIHRocmV3IGV4Y2VwdGlv
biBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCJhcmd1bWVudHMrKyIpIGlz
IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBl
dmFsKysiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5j
dGlvbigiZXZhbCsrIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9u
KCIndXNlIHN0cmljdCc7IChhcmd1bWVudHMpKysiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBT
eW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKGFyZ3VtZW50cykrKyIpIGlzIHRydWUKK1BB
U1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoZXZhbCkrKyIp
IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCIo
ZXZhbCkrKyIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4zLjEuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMy4xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzc2MDhh
N2I2ZTNlNDVlOTNhMjQyNzcwZGNjYTlkZTdmYjI3M2NmNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMy4xLmh0bWwKQEAgLTAsMCArMSwx
NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xMS4z
LjEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4zLjItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4zLjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEw
MmU3MWNhMWQ2M2M1OGEwNTQ2NWE2N2FkZDUyY2E3ODVkNjZkZWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjMuMi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxNyBAQAorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBhcmd1bWVudHMt
LSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9u
KCJhcmd1bWVudHMtLSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlv
bigiJ3VzZSBzdHJpY3QnOyBldmFsLS0iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhF
cnJvci4KK1BBU1MgISFGdW5jdGlvbigiZXZhbC0tIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0
cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IChhcmd1bWVudHMpLS0iKSB0aHJldyBl
eGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKGFyZ3VtZW50
cyktLSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBz
dHJpY3QnOyAoZXZhbCktLSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgor
UEFTUyAhIUZ1bmN0aW9uKCIoZXZhbCktLSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQor
IFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS4z
LjIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMy4yLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWExNjgwNTZhNzUzMzVkNmFhNTY4MTE5YzkwMGZjNTdiMTM2YmMxYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuMy4y
Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
bW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy8xMS4zLjIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS40LjEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS40LjEtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdjZjQzYTM0ZTg2ZDk5ZWIxZTFjZGQ5ZDkwM2M2YWNjNDkwZWY4ZTAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEx
LjQuMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorUEFTUyBGdW5jdGlvbigiJ3VzZSBz
dHJpY3QnOyBkZWxldGUgeDsiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4K
K1BBU1MgISFGdW5jdGlvbigiZGVsZXRlIHg7IikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVl
CitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IGRlbGV0ZSAoeCk7IikgdGhyZXcgZXhjZXB0
aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oImRlbGV0ZSAoeCk7Iikg
aXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICEhRnVuY3Rpb24oIid1c2Ugc3RyaWN0
JzsgZGVsZXRlIHgueTsiKSBpcyB0cnVlCitQQVNTICEhRnVuY3Rpb24oImRlbGV0ZSB4Lnk7Iikg
aXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7
IGZ1bmN0aW9uIGYoKSB7IGRlbGV0ZSB4OyB9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3lu
dGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oImZ1bmN0aW9uIGYoKSB7IGRlbGV0ZSB4OyB9Iikg
aXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7
IGZ1bmN0aW9uIGYoKSB7IFwidXNlIHN0cmljdFwiOyBkZWxldGUgeDsgfSIpIHRocmV3IGV4Y2Vw
dGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiZnVuY3Rpb24gZigpIHsg
XCJ1c2Ugc3RyaWN0XCI7IGRlbGV0ZSB4OyB9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3lu
dGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuNC4xLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0LzExLjQuMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNjFiZmE4YzcxNjM4
OTQ1OWZmNTQwY2IzOTg2YmIwM2FkZmJhYTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjQuMS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvMTEuNC4xLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvMTEuNC40LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvMTEuNC40LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NzQ4MGM5ZGZh
MDg0MTIwMWQ1NmI2MGNhZjYyMDNmYTNlOTI1NmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS40LjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKythcmd1bWVudHMiKSB0aHJl
dyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKythcmd1
bWVudHMiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ug
c3RyaWN0JzsgKytldmFsIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQ
QVNTICEhRnVuY3Rpb24oIisrZXZhbCIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFT
UyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyArKyhhcmd1bWVudHMpIikgdGhyZXcgZXhjZXB0aW9u
IG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oIisrKGFyZ3VtZW50cykiKSBp
cyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0Jzsg
KysoZXZhbCkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFG
dW5jdGlvbigiKysoZXZhbCkiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKKyBQQVNTRUQh
IAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuNC40Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjQuNC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM2MmM3ZDU4YWMxNWNhZjNiYTgxY2Q0MzVmZjdkMDVjZmVkMWRkMTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzExLjQuNC5odG1sCkBA
IC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxs
YS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEt
ZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvMTEuNC40LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuNC41LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTEuNC41LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMDNhNGEzZjA1MTMxYWRkOTIwMTgwNmZjNzVhMmVmZDE0MWQ2YmFkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMS40LjUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0Jzsg
LS1hcmd1bWVudHMiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1Mg
ISFGdW5jdGlvbigiLS1hcmd1bWVudHMiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BB
U1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgLS1ldmFsIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5
cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oIi0tZXZhbCIpIGlzIHRydWUKK1BBU1Mg
dHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAtLShhcmd1bWVudHMp
IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24o
Ii0tKGFyZ3VtZW50cykiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rp
b24oIid1c2Ugc3RyaWN0JzsgLS0oZXZhbCkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50
YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiLS0oZXZhbCkiKSBpcyB0cnVlCitQQVNTIHRydWUg
PT09IHRydWUKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3QvMTEuNC41Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEx
LjQuNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMDEyYzUwZDVkYWQyMWZiMmI1MDVmZGU4OTIxMjgwOWRj
OGVhZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3Ry
aWN0LzExLjQuNS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvMTEuNC41LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTIuMTAu
MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEyLjEw
LjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkYTFmZGVkMmVlOTEzMDEwOTQwODVmNDZmOWMw
NjE4M2ZiMTU3YjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemls
bGEvc3RyaWN0LzEyLjEwLjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1BBU1MgJ3Vz
ZSBzdHJpY3QnOyB3aXRoICgxKSB7fSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJv
ci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBmdW5j
dGlvbiBmKCkgeyBcInVzZSBzdHJpY3RcIjsgd2l0aCAoMSkge30gfSIpIHRocmV3IGV4Y2VwdGlv
biBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiZnVuY3Rpb24gZigpIHsgXCJ1
c2Ugc3RyaWN0XCI7IHdpdGggKDEpIHt9IH0iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50
YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAhIUZ1bmN0aW9uKCJmdW5jdGlvbiBm
KCkgeyBcInVzZSBzdHJpY3RcIjsgfTsgd2l0aCAoMSkge30iKSBpcyB0cnVlCitQQVNTIHRydWUg
PT09IHRydWUKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3QvMTIuMTAuMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8x
Mi4xMC4xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZjOGQyNzkyMzZmZWFhYzE3OWJkMTJlMDMyNGIxNTM0
Y2IxMmJjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3QvMTIuMTAuMS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvMTIuMTAuMS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEy
LjE0LjEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8x
Mi4xNC4xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDIyODBhYjhhNDhlYWNlYTk4NjM0ZmZj
MTJmMDU5ZDdjY2NlYjFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC8xMi4xNC4xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitQQVNT
IEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IHRyeXt9Y2F0Y2goZXZhbCl7fSIpIHRocmV3IGV4Y2Vw
dGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCJ0cnl7fWNhdGNoKGV2
YWwpe30iKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ug
c3RyaWN0JzsgdHJ5e31jYXRjaChbZXZhbF0pe30iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBT
eW50YXhFcnJvci4KK0ZBSUwgISFGdW5jdGlvbigidHJ5e31jYXRjaChbZXZhbF0pe30iKSBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcgorUEFT
UyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IHRyeXt9Y2F0Y2go
e3g6ZXZhbH0pe30iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwg
ISFGdW5jdGlvbigidHJ5e31jYXRjaCh7eDpldmFsfSl7fSIpIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitQQVNTIHRydWUgPT09IHRydWUK
K1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgdHJ5e31jYXRjaChhcmd1bWVudHMpe30iKSB0
aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigidHJ5
e31jYXRjaChhcmd1bWVudHMpe30iKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1Mg
RnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgdHJ5e31jYXRjaChbYXJndW1lbnRzXSl7fSIpIHRocmV3
IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorRkFJTCAhIUZ1bmN0aW9uKCJ0cnl7fWNh
dGNoKFthcmd1bWVudHNdKXt9Iikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50
YXhFcnJvcjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigi
J3VzZSBzdHJpY3QnOyB0cnl7fWNhdGNoKHt4OmFyZ3VtZW50c30pe30iKSB0aHJldyBleGNlcHRp
b24gb2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwgISFGdW5jdGlvbigidHJ5e31jYXRjaCh7eDph
cmd1bWVudHN9KXt9Iikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMi4xNC4xLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzEyLjE0LjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjgyMWY4
OWFlY2E2ZDdhYjAyYTA1ODJkZTgwNjVjOGU2YTJlYWVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMi4xNC4xLmh0bWwKQEAgLTAsMCArMSwx
NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xMi4x
NC4xLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTIuMi4xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTIuMi4xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
M2ViNzM4YzlkZTkzODc2NDRjZmI4NTFhOTYzYzc0NTFlMzJiOTg2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMi4yLjEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTcgQEAKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgdmFyIGV2YWw7
IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24o
InZhciBldmFsOyIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigi
J3VzZSBzdHJpY3QnOyB2YXIgeCxldmFsOyIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRh
eEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCJ2YXIgeCxldmFsOyIpIGlzIHRydWUKK1BBU1MgdHJ1
ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyB2YXIgYXJndW1lbnRzOyIp
IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCJ2
YXIgYXJndW1lbnRzOyIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlv
bigiJ3VzZSBzdHJpY3QnOyB2YXIgeCxhcmd1bWVudHM7IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5
cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oInZhciB4LGFyZ3VtZW50czsiKSBpcyB0
cnVlCitQQVNTIHRydWUgPT09IHRydWUKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9zdHJpY3QvMTIuMi4xLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0LzEyLjIuMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NGRkMzczZTYzM2UzMGQyNTk5
YzhmYzU4OWNmZGM0YWJmOGM5YjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0LzEyLjIuMS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvMTIuMi4xLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9zdHJpY3QvMTMuMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0LzEzLjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNGMzYmYxNjg5OGZhOGY5ZDJk
MjJhMDlkMWU0NWI3NjMzNjEwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0LzEzLjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjA1IEBACitQ
QVNTICEhRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gZih4LHkpIHt9IikgaXMgdHJ1
ZQorUEFTUyAhIUZ1bmN0aW9uKCJmdW5jdGlvbiBmKHgseSkge30iKSBpcyB0cnVlCitQQVNTIHRy
dWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gZih4LHgp
IHt9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rp
b24oImZ1bmN0aW9uIGYoeCx4KSB7fSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFT
UyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBmKHgseSx6LHkpIHt9IikgdGhyZXcg
ZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oImZ1bmN0aW9u
IGYoeCx5LHoseSkge30iKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rp
b24oIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gZihhLGIsYyxkLGUsZixnLGgsZCkge30iKSB0aHJl
dyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiZnVuY3Rp
b24gZihhLGIsYyxkLGUsZixnLGgsZCkge30iKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUK
K0ZBSUwgISFGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBmKFt4LHldKSB7fSIpIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitG
QUlMICEhRnVuY3Rpb24oImZ1bmN0aW9uIGYoW3gseV0pIHt9Iikgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1
ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBmKFt4LHhdKXt9IikgdGhy
ZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIEZ1bmN0aW9uKCJmdW5jdGlv
biBmKFt4LHhdKXt9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNT
IHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gZih4
LFt4XSl7fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5j
dGlvbigiZnVuY3Rpb24gZih4LFt4XSl7fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRh
eEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7
IGZ1bmN0aW9uIGYoeCx4KSB7IFwidXNlIHN0cmljdFwiIH07IikgdGhyZXcgZXhjZXB0aW9uIG9m
IHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIEZ1bmN0aW9uKCJmdW5jdGlvbiBmKHgseCkgeyBcInVz
ZSBzdHJpY3RcIiB9OyIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFT
UyB0cnVlID09PSB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQor
UEFTUyAndXNlIHN0cmljdCc7IEZ1bmN0aW9uKCJ4IiwieCIsIid1c2Ugc3RyaWN0JyIpIHRocmV3
IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigieCIsIngiLCIn
dXNlIHN0cmljdCciKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1Mg
dHJ1ZSA9PT0gdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0
cmljdCc7IChmdW5jdGlvbiAoeCx4KSAyKSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRh
eEVycm9yLgorRkFJTCAhIUZ1bmN0aW9uKCIoZnVuY3Rpb24gKHgseCkgMikiKSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcgorUEFTUyB0cnVl
ID09PSB0cnVlCitGQUlMICEhRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uICh4LHkp
IDIpIikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2Ug
ZXJyb3IKK0ZBSUwgISFGdW5jdGlvbigiKGZ1bmN0aW9uICh4LHkpIDIpIikgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9
PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBmKGV2YWwpe30i
KSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigi
ZnVuY3Rpb24gZihldmFsKXt9IikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1
bmN0aW9uKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIGYoW2V2YWxdKXt9IikgdGhyZXcgZXhjZXB0
aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitGQUlMICEhRnVuY3Rpb24oImZ1bmN0aW9uIGYoW2V2
YWxdKXt9Iikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFy
c2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3Qn
OyBmdW5jdGlvbiBmKHt4OmV2YWx9KXt9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4
RXJyb3IuCitGQUlMICEhRnVuY3Rpb24oImZ1bmN0aW9uIGYoe3g6ZXZhbH0pe30iKSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcgorUEFTUyB0
cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIGV2YWwo
KXt9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rp
b24oImZ1bmN0aW9uIGV2YWwoKXt9IikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNT
IEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIGYoZXZhbCl7XCJ1c2Ugc3RyaWN0XCI7
fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigi
ZnVuY3Rpb24gZihldmFsKXtcInVzZSBzdHJpY3RcIjt9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5
cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ug
c3RyaWN0JzsgZnVuY3Rpb24gZihbZXZhbF0pe1widXNlIHN0cmljdFwiO30iKSB0aHJldyBleGNl
cHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oImZ1bmN0aW9uIGYoW2V2
YWxdKXtcInVzZSBzdHJpY3RcIjt9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJy
b3IuCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVu
Y3Rpb24gZih7eDpldmFsfSl7XCJ1c2Ugc3RyaWN0XCI7fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0
eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiZnVuY3Rpb24gZih7eDpldmFsfSl7XCJ1
c2Ugc3RyaWN0XCI7fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFT
UyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIGV2
YWwoKXtcInVzZSBzdHJpY3RcIjt9IikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJy
b3IuCitQQVNTIEZ1bmN0aW9uKCJmdW5jdGlvbiBldmFsKCl7XCJ1c2Ugc3RyaWN0XCI7fSIpIHRo
cmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQ
QVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IChmdW5jdGlvbiBmKGV2YWwpe30pIikgdGhyZXcg
ZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oIihmdW5jdGlv
biBmKGV2YWwpe30pIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9u
KCIndXNlIHN0cmljdCc7IChmdW5jdGlvbiBmKFtldmFsXSl7fSkiKSB0aHJldyBleGNlcHRpb24g
b2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwgISFGdW5jdGlvbigiKGZ1bmN0aW9uIGYoW2V2YWxd
KXt9KSIpIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNl
IGVycm9yCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0Jzsg
KGZ1bmN0aW9uIGYoe3g6ZXZhbH0pe30pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4
RXJyb3IuCitGQUlMICEhRnVuY3Rpb24oIihmdW5jdGlvbiBmKHt4OmV2YWx9KXt9KSIpIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitQQVNT
IHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uIGV2
YWwoKXt9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1
bmN0aW9uKCIoZnVuY3Rpb24gZXZhbCgpe30pIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVl
CitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IChmdW5jdGlvbiBmKGV2YWwpe1widXNlIHN0
cmljdFwiO30pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIEZ1
bmN0aW9uKCIoZnVuY3Rpb24gZihldmFsKXtcInVzZSBzdHJpY3RcIjt9KSIpIHRocmV3IGV4Y2Vw
dGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0
aW9uKCIndXNlIHN0cmljdCc7IChmdW5jdGlvbiBmKFtldmFsXSl7XCJ1c2Ugc3RyaWN0XCI7fSki
KSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oIihm
dW5jdGlvbiBmKFtldmFsXSl7XCJ1c2Ugc3RyaWN0XCI7fSkiKSB0aHJldyBleGNlcHRpb24gb2Yg
dHlwZSBTeW50YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3Vz
ZSBzdHJpY3QnOyAoZnVuY3Rpb24gZih7eDpldmFsfSl7XCJ1c2Ugc3RyaWN0XCI7fSkiKSB0aHJl
dyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oIihmdW5jdGlv
biBmKHt4OmV2YWx9KXtcInVzZSBzdHJpY3RcIjt9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBl
IFN5bnRheEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0
cmljdCc7IChmdW5jdGlvbiBldmFsKCl7XCJ1c2Ugc3RyaWN0XCI7fSkiKSB0aHJldyBleGNlcHRp
b24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oIihmdW5jdGlvbiBldmFsKCl7
XCJ1c2Ugc3RyaWN0XCI7fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4K
K1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoZnVuY3Rp
b24gZihldmFsKSAyKSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorRkFJ
TCAhIUZ1bmN0aW9uKCIoZnVuY3Rpb24gZihldmFsKSAyKSIpIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitQQVNTIHRydWUgPT09IHRydWUK
K1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uIGYoW2V2YWxdKSAyKSIpIHRo
cmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorRkFJTCAhIUZ1bmN0aW9uKCIoZnVu
Y3Rpb24gZihbZXZhbF0pIDIpIikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50
YXhFcnJvcjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigi
J3VzZSBzdHJpY3QnOyAoZnVuY3Rpb24gZih7eDpldmFsfSkgMikiKSB0aHJldyBleGNlcHRpb24g
b2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwgISFGdW5jdGlvbigiKGZ1bmN0aW9uIGYoe3g6ZXZh
bH0pIDIpIikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFy
c2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3Qn
OyAoZnVuY3Rpb24gZXZhbCgpIDIpIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJy
b3IuCitGQUlMICEhRnVuY3Rpb24oIihmdW5jdGlvbiBldmFsKCkgMikiKSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcgorUEFTUyB0cnVlID09
PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7c2V0IHgoZXZhbCl7fX0pIikg
dGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oIih7
c2V0IHgoZXZhbCl7fX0pIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0
aW9uKCIndXNlIHN0cmljdCc7ICh7c2V0IHgoW2V2YWxdKXt9fSkiKSB0aHJldyBleGNlcHRpb24g
b2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwgISFGdW5jdGlvbigiKHtzZXQgeChbZXZhbF0pe319
KSIpIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVy
cm9yCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtz
ZXQgeCh7eDpldmFsfSl7fX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3Iu
CitGQUlMICEhRnVuY3Rpb24oIih7c2V0IHgoe3g6ZXZhbH0pe319KSIpIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitQQVNTIHRydWUgPT09
IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtzZXQgeChldmFsKXtcInVzZSBz
dHJpY3RcIjt9fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1Mg
RnVuY3Rpb24oIih7c2V0IHgoZXZhbCl7XCJ1c2Ugc3RyaWN0XCI7fX0pIikgdGhyZXcgZXhjZXB0
aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rp
b24oIid1c2Ugc3RyaWN0JzsgKHtzZXQgeChbZXZhbF0pe1widXNlIHN0cmljdFwiO319KSIpIHRo
cmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiKHtzZXQg
eChbZXZhbF0pe1widXNlIHN0cmljdFwiO319KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5
bnRheEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmlj
dCc7ICh7c2V0IHgoe3g6ZXZhbH0pe1widXNlIHN0cmljdFwiO319KSIpIHRocmV3IGV4Y2VwdGlv
biBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiKHtzZXQgeCh7eDpldmFsfSl7
XCJ1c2Ugc3RyaWN0XCI7fX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3Iu
CitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVuY3Rp
b24gZihhcmd1bWVudHMpe30iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4K
K1BBU1MgISFGdW5jdGlvbigiZnVuY3Rpb24gZihhcmd1bWVudHMpe30iKSBpcyB0cnVlCitQQVNT
IHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gZihb
YXJndW1lbnRzXSl7fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorRkFJ
TCAhIUZ1bmN0aW9uKCJmdW5jdGlvbiBmKFthcmd1bWVudHNdKXt9Iikgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0g
dHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBmKHt4OmFyZ3VtZW50
c30pe30iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwgISFGdW5j
dGlvbigiZnVuY3Rpb24gZih7eDphcmd1bWVudHN9KXt9Iikgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQor
UEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyBmdW5jdGlvbiBhcmd1bWVudHMoKXt9IikgdGhy
ZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVuY3Rpb24oImZ1bmN0
aW9uIGFyZ3VtZW50cygpe30iKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVu
Y3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gZihhcmd1bWVudHMpe1widXNlIHN0cmljdFwi
O30iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24o
ImZ1bmN0aW9uIGYoYXJndW1lbnRzKXtcInVzZSBzdHJpY3RcIjt9IikgdGhyZXcgZXhjZXB0aW9u
IG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24o
Iid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gZihbYXJndW1lbnRzXSl7XCJ1c2Ugc3RyaWN0XCI7fSIp
IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiZnVu
Y3Rpb24gZihbYXJndW1lbnRzXSl7XCJ1c2Ugc3RyaWN0XCI7fSIpIHRocmV3IGV4Y2VwdGlvbiBv
ZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIn
dXNlIHN0cmljdCc7IGZ1bmN0aW9uIGYoe3g6YXJndW1lbnRzfSl7XCJ1c2Ugc3RyaWN0XCI7fSIp
IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiZnVu
Y3Rpb24gZih7eDphcmd1bWVudHN9KXtcInVzZSBzdHJpY3RcIjt9IikgdGhyZXcgZXhjZXB0aW9u
IG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24o
Iid1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gYXJndW1lbnRzKCl7XCJ1c2Ugc3RyaWN0XCI7fSIpIHRo
cmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiZnVuY3Rp
b24gYXJndW1lbnRzKCl7XCJ1c2Ugc3RyaWN0XCI7fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBl
IFN5bnRheEVycm9yLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0
cmljdCc7IChmdW5jdGlvbiBmKGFyZ3VtZW50cyl7fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlw
ZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKGZ1bmN0aW9uIGYoYXJndW1lbnRzKXt9
KSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJp
Y3QnOyAoZnVuY3Rpb24gZihbYXJndW1lbnRzXSl7fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlw
ZSBTeW50YXhFcnJvci4KK0ZBSUwgISFGdW5jdGlvbigiKGZ1bmN0aW9uIGYoW2FyZ3VtZW50c10p
e30pIikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2Ug
ZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAo
ZnVuY3Rpb24gZih7eDphcmd1bWVudHN9KXt9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5
bnRheEVycm9yLgorRkFJTCAhIUZ1bmN0aW9uKCIoZnVuY3Rpb24gZih7eDphcmd1bWVudHN9KXt9
KSIpIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVy
cm9yCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKGZ1
bmN0aW9uIGFyZ3VtZW50cygpe30pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJy
b3IuCitQQVNTICEhRnVuY3Rpb24oIihmdW5jdGlvbiBhcmd1bWVudHMoKXt9KSIpIGlzIHRydWUK
K1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoZnVuY3Rp
b24gZihhcmd1bWVudHMpe1widXNlIHN0cmljdFwiO30pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5
cGUgU3ludGF4RXJyb3IuCitQQVNTIEZ1bmN0aW9uKCIoZnVuY3Rpb24gZihhcmd1bWVudHMpe1wi
dXNlIHN0cmljdFwiO30pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQ
QVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9u
IGYoW2FyZ3VtZW50c10pe1widXNlIHN0cmljdFwiO30pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5
cGUgU3ludGF4RXJyb3IuCitQQVNTIEZ1bmN0aW9uKCIoZnVuY3Rpb24gZihbYXJndW1lbnRzXSl7
XCJ1c2Ugc3RyaWN0XCI7fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4K
K1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAoZnVuY3Rp
b24gZih7eDphcmd1bWVudHN9KXtcInVzZSBzdHJpY3RcIjt9KSIpIHRocmV3IGV4Y2VwdGlvbiBv
ZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiKGZ1bmN0aW9uIGYoe3g6YXJndW1l
bnRzfSl7XCJ1c2Ugc3RyaWN0XCI7fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhF
cnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyAo
ZnVuY3Rpb24gYXJndW1lbnRzKCl7XCJ1c2Ugc3RyaWN0XCI7fSkiKSB0aHJldyBleGNlcHRpb24g
b2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rpb24oIihmdW5jdGlvbiBhcmd1bWVudHMo
KXtcInVzZSBzdHJpY3RcIjt9KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9y
LgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IChmdW5j
dGlvbiBmKGFyZ3VtZW50cykgMikiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJv
ci4KK0ZBSUwgISFGdW5jdGlvbigiKGZ1bmN0aW9uIGYoYXJndW1lbnRzKSAyKSIpIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitQQVNTIHRy
dWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uIGYoW2Fy
Z3VtZW50c10pIDIpIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitGQUlM
ICEhRnVuY3Rpb24oIihmdW5jdGlvbiBmKFthcmd1bWVudHNdKSAyKSIpIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yCitQQVNTIHRydWUgPT09
IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uIGYoe3g6YXJndW1l
bnRzfSkgMikiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwgISFG
dW5jdGlvbigiKGZ1bmN0aW9uIGYoe3g6YXJndW1lbnRzfSkgMikiKSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcgorUEFTUyB0cnVlID09PSB0
cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IChmdW5jdGlvbiBhcmd1bWVudHMoKSAy
KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorRkFJTCAhIUZ1bmN0aW9u
KCIoZnVuY3Rpb24gYXJndW1lbnRzKCkgMikiKSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1
bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7c2V0IHgoYXJndW1lbnRzKXt9fSkiKSB0aHJldyBleGNl
cHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgISFGdW5jdGlvbigiKHtzZXQgeChhcmd1
bWVudHMpe319KSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigi
J3VzZSBzdHJpY3QnOyAoe3NldCB4KFthcmd1bWVudHNdKXt9fSkiKSB0aHJldyBleGNlcHRpb24g
b2YgdHlwZSBTeW50YXhFcnJvci4KK0ZBSUwgISFGdW5jdGlvbigiKHtzZXQgeChbYXJndW1lbnRz
XSl7fX0pIikgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFy
c2UgZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyBGdW5jdGlvbigiJ3VzZSBzdHJpY3Qn
OyAoe3NldCB4KHt4OmFyZ3VtZW50c30pe319KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5
bnRheEVycm9yLgorRkFJTCAhIUZ1bmN0aW9uKCIoe3NldCB4KHt4OmFyZ3VtZW50c30pe319KSIp
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9y
CitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtzZXQg
eChhcmd1bWVudHMpe1widXNlIHN0cmljdFwiO319KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBl
IFN5bnRheEVycm9yLgorUEFTUyBGdW5jdGlvbigiKHtzZXQgeChhcmd1bWVudHMpe1widXNlIHN0
cmljdFwiO319KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyB0
cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7ICh7c2V0IHgoW2FyZ3Vt
ZW50c10pe1widXNlIHN0cmljdFwiO319KSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRh
eEVycm9yLgorUEFTUyBGdW5jdGlvbigiKHtzZXQgeChbYXJndW1lbnRzXSl7XCJ1c2Ugc3RyaWN0
XCI7fX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUg
PT09IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgKHtzZXQgeCh7eDphcmd1bWVu
dHN9KXtcInVzZSBzdHJpY3RcIjt9fSkiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhF
cnJvci4KK1BBU1MgRnVuY3Rpb24oIih7c2V0IHgoe3g6YXJndW1lbnRzfSl7XCJ1c2Ugc3RyaWN0
XCI7fX0pIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTIHRydWUg
PT09IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IEZ1bmN0aW9u
KCJldmFsIiwiJ3VzZSBzdHJpY3QnOyIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVy
cm9yLgorUEFTUyBGdW5jdGlvbigiZXZhbCIsIid1c2Ugc3RyaWN0JzsiKSB0aHJldyBleGNlcHRp
b24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB0cnVlID09
PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgRnVuY3Rpb24oImFyZ3VtZW50cyIsIid1c2Ugc3Ry
aWN0JzsiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgRnVuY3Rp
b24oImFyZ3VtZW50cyIsIid1c2Ugc3RyaWN0JzsiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBT
eW50YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMy4xLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0LzEzLjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjNiNzVhNDdhY2Y4Yzhm
ZTMyZmY0MTQwMjdlM2Q0MTRmNzdkMDJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xMy4xLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xMy4xLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9zdHJpY3QvMTUuMTAuNy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemls
bGEvc3RyaWN0LzE1LjEwLjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmYzUwMjM1NTliYTE5
ODk0Njc2NGEzZmY4ODJlM2EzZjhhMmU4MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjEwLjctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzUgQEAKK0ZBSUwgJ3VzZSBzdHJpY3QnOyB2YXIgciA9IC9mb28vOyByLnNvdXJjZSA9ICJiYXIi
OyByLnNvdXJjZSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitQQVNTIHZh
ciByID0gL2Zvby87IHIuc291cmNlID0gImJhciI7IHIuc291cmNlIGlzICJmb28iCitQQVNTIHRy
dWUgPT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2YXIgciA9IC9mb28vOyBkZWxldGUgci5z
b3VyY2UgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgorUEFTUyB2YXIgciA9IC9m
b28vOyBkZWxldGUgci5zb3VyY2UgaXMgZmFsc2UKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAn
dXNlIHN0cmljdCc7IHZhciByID0gL2Zvby87IHIuZ2xvYmFsID0gdHJ1ZTsgci5nbG9iYWwgc2hv
dWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB2YXIgciA9IC9mb28vOyBy
Lmdsb2JhbCA9IHRydWU7IHIuZ2xvYmFsIGlzIGZhbHNlCitQQVNTIHRydWUgPT09IHRydWUKK1BB
U1MgJ3VzZSBzdHJpY3QnOyB2YXIgciA9IC9mb28vOyBkZWxldGUgci5nbG9iYWwgdGhyZXcgZXhj
ZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgorUEFTUyB2YXIgciA9IC9mb28vOyBkZWxldGUgci5n
bG9iYWwgaXMgZmFsc2UKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmljdCc7IHZh
ciByID0gL2Zvby87IHIuaWdub3JlQ2FzZSA9IHRydWU7IHIuaWdub3JlQ2FzZSBzaG91bGQgdGhy
b3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitQQVNTIHZhciByID0gL2Zvby87IHIuaWdub3Jl
Q2FzZSA9IHRydWU7IHIuaWdub3JlQ2FzZSBpcyBmYWxzZQorUEFTUyB0cnVlID09PSB0cnVlCitQ
QVNTICd1c2Ugc3RyaWN0JzsgdmFyIHIgPSAvZm9vLzsgZGVsZXRlIHIuaWdub3JlQ2FzZSB0aHJl
dyBleGNlcHRpb24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIHZhciByID0gL2Zvby87IGRlbGV0
ZSByLmlnbm9yZUNhc2UgaXMgZmFsc2UKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0
cmljdCc7IHZhciByID0gL2Zvby87IHIubXVsdGlsaW5lID0gdHJ1ZTsgci5tdWx0aWxpbmUgc2hv
dWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB2YXIgciA9IC9mb28vOyBy
Lm11bHRpbGluZSA9IHRydWU7IHIubXVsdGlsaW5lIGlzIGZhbHNlCitQQVNTIHRydWUgPT09IHRy
dWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2YXIgciA9IC9mb28vOyBkZWxldGUgci5tdWx0aWxpbmUg
dGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgorUEFTUyB2YXIgciA9IC9mb28vOyBk
ZWxldGUgci5tdWx0aWxpbmUgaXMgZmFsc2UKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNl
IHN0cmljdCc7IHZhciByID0gL2Zvby87IHIubGFzdEluZGV4ID0gNDI7IHIubGFzdEluZGV4IGlz
IDQyCitQQVNTIHZhciByID0gL2Zvby87IHIubGFzdEluZGV4ID0gNDI7IHIubGFzdEluZGV4IGlz
IDQyCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2YXIgciA9IC9mb28v
OyBkZWxldGUgci5sYXN0SW5kZXggdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgor
UEFTUyB2YXIgciA9IC9mb28vOyBkZWxldGUgci5sYXN0SW5kZXggaXMgZmFsc2UKK1BBU1MgdHJ1
ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC8xNS4xMC43Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
LzE1LjEwLjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44M2M3OGM2NDEwZjEwMDYwNWJlZDYzNGIzZjQwYTFm
MDJkMDBjMDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC8xNS4xMC43Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xNS4xMC43LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qv
MTUuMy40LjUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC8xNS4zLjQuNS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZlN2UyYzM5NDE3OWQ4MTdiYzcw
OGViYmFkNzg2YWUxZDQxNmM5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9zdHJpY3QvMTUuMy40LjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBh
IGZ1bmN0aW9uIChldmFsdWF0aW5nICdzdHJpY3QuYmluZCh0cnVlKScpCitGQUlMIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBzaG91bGQgYmUgdHJ1ZSAob2YgdHlwZSBib29sZWFuKS4gV2FzIHVuZGVmaW5l
ZCAob2YgdHlwZSB1bmRlZmluZWQpLgorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuMy40LjUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuMy40LjUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjNm
NjM0Yjc1YWMyNGExYjVlZWEwZGU5YTdhZmViNTlhYzliMDM2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS4zLjQuNS5odG1sCkBAIC0wLDAg
KzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVs
bC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNo
ZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
MTUuMy40LjUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS4zLjUuMS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjMuNS4xLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YzRiZDY5Mzc5MWY0ZmMwYzQwMTY2NGNiYmQwZmU1ZTk2ODQxN2QwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS4zLjUuMS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorRkFJTCAndXNlIHN0cmljdCc7IHZhciBmID0g
Zm4oKTsgZi5sZW5ndGggPSAxOyBmLmxlbmd0aCBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2Yg
VHlwZUVycm9yCitQQVNTIHZhciBmID0gZm4oKTsgZi5sZW5ndGggPSAxOyBmLmxlbmd0aCBpcyAz
CitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2YXIgZiA9IGZuKCk7IGRl
bGV0ZSBmLmxlbmd0aCB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIHZh
ciBmID0gZm4oKTsgZGVsZXRlIGYubGVuZ3RoIGlzIGZhbHNlCitQQVNTIHRydWUgPT09IHRydWUK
KyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUu
My41LjEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuMy41LjEu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yYjA1NjliZDRhYzkzNWFlZTlmODFkMmI5MWQyNDZkZGU3ZTJhM2Nj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8x
NS4zLjUuMS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvMTUuMy41LjEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS4zLjUu
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjMu
NS4yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjJhNTZmZmQ0MmQ3NmI3MjFiODVjZTQzODFm
NmE0MjVmNjBmYzBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC8xNS4zLjUuMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitGQUlMICd1
c2Ugc3RyaWN0JzsgdmFyIGYgPSBmbigpOyBkZWxldGUgZi5wcm90b3R5cGUgc2hvdWxkIHRocm93
IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorRkFJTCB2YXIgZiA9IGZuKCk7IGRlbGV0ZSBmLnBy
b3RvdHlwZSBzaG91bGQgYmUgZmFsc2UuIFdhcyB0cnVlLgorUEFTUyB0cnVlID09PSB0cnVlCisg
UEFTU0VEISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjMu
NS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjMuNS4yLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGQ2NTNlMDZiZjEwNGYyZjI0YzU2Njk3YjA2ODhjNThhNzRmNWRhOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUu
My41LjIuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzLzE1LjMuNS4yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40LjEy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40
LjEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTMxNTRkNjg2NjE5ZTZmZTliMzQ4ODdlZTky
NGNkNTY5NzE3ZjY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC8xNS40LjQuMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK0ZBSUwg
J3VzZSBzdHJpY3QnOyB2YXIgYSA9IGFycigpOyBbYS5zcGxpY2UoMCwgMSksIGFdIHNob3VsZCB0
aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFyIGEgPSBhcnIoKTsgW2Euc3Bs
aWNlKDAsIDEpLCBhXSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitQQVNT
IHRydWUgPT09IHRydWUKK0ZBSUwgJ3VzZSBzdHJpY3QnOyB2YXIgbyA9IG9iaigpOyBbQXJyYXku
cHJvdG90eXBlLnNwbGljZS5jYWxsKG8sIDAsIDEpLCBvXSBzaG91bGQgdGhyb3cgYW4gaW5zdGFu
Y2Ugb2YgVHlwZUVycm9yCitGQUlMIHZhciBvID0gb2JqKCk7IFtBcnJheS5wcm90b3R5cGUuc3Bs
aWNlLmNhbGwobywgMCwgMSksIG9dIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJy
b3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmljdCc7IHZhciBhID0gYWdhcCgp
OyBbYS5zcGxpY2UoMCwgMSksIGFdIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJy
b3IKK0ZBSUwgdmFyIGEgPSBhZ2FwKCk7IFthLnNwbGljZSgwLCAxKSwgYV0gc2hvdWxkIHRocm93
IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB0cnVlID09PSB0cnVlCitGQUlMICd1c2Ug
c3RyaWN0JzsgdmFyIG8gPSBvZ2FwKCk7IFtBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwobywg
MCwgMSksIG9dIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFy
IG8gPSBvZ2FwKCk7IFtBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwobywgMCwgMSksIG9dIHNo
b3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQor
IFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40
LjQuMTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40LjEy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYThiMGIyZDI1MDE2MGFlNjhiZWNkMjBiNWRiMDM2NmQ1MWE1MzJm
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qv
MTUuNC40LjEyLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xNS40LjQuMTIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40
LjQuMTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8x
NS40LjQuMTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiYzIwMWM0YjhjMTg0NDgwY2IyMDQy
MjlkNWQ1ZTZmOTc0Yzg2ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0LzE1LjQuNC4xMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAor
RkFJTCAndXNlIHN0cmljdCc7IHZhciBhID0gYXJyKCk7IFthLnVuc2hpZnQoNDAsIDUwKSwgYV0g
c2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorRkFJTCB2YXIgYSA9IGFycigp
OyBbYS51bnNoaWZ0KDQwLCA1MCksIGFdIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBl
RXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmljdCc7IHZhciBvID0gb2Jq
KCk7IFtBcnJheS5wcm90b3R5cGUudW5zaGlmdC5jYWxsKG8sIDQwLCA1MCksIG9dIHNob3VsZCB0
aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFyIG8gPSBvYmooKTsgW0FycmF5
LnByb3RvdHlwZS51bnNoaWZ0LmNhbGwobywgNDAsIDUwKSwgb10gc2hvdWxkIHRocm93IGFuIGlu
c3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB0cnVlID09PSB0cnVlCitGQUlMICd1c2Ugc3RyaWN0
JzsgdmFyIGEgPSBhZ2FwKCk7IFthLnVuc2hpZnQoOSksIGFdIHNob3VsZCB0aHJvdyBhbiBpbnN0
YW5jZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFyIGEgPSBhZ2FwKCk7IFthLnVuc2hpZnQoOSksIGFd
IHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1
ZQorRkFJTCAndXNlIHN0cmljdCc7IHZhciBvID0gb2dhcCgpOyBbQXJyYXkucHJvdG90eXBlLnVu
c2hpZnQuY2FsbChvLCA5KSwgb10gc2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJv
cgorRkFJTCB2YXIgbyA9IG9nYXAoKTsgW0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmNhbGwobywg
OSksIG9dIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK1BBU1MgdHJ1ZSA9
PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC8xNS40LjQuMTMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qv
MTUuNC40LjEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgzZWJlY2NmN2U0NDliN2E4NzgzY2NlNDFiMTAw
YWU2NzEwYmJkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9zdHJpY3QvMTUuNC40LjEzLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xNS40LjQuMTMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC8xNS40LjQuNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0LzE1LjQuNC42LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTcwOGE5OWQ5M2UwMDYy
ZjFmODJmNmRjNzljZmQzMDdmYTFlMGZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjQuNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MSBAQAorRkFJTCAndXNlIHN0cmljdCc7IHZhciBhID0gYXJyKCk7IFthLnBvcCgpLCBhXSBzaG91
bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitGQUlMIHZhciBhID0gYXJyKCk7IFth
LnBvcCgpLCBhXSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitQQVNTIHRy
dWUgPT09IHRydWUKK0ZBSUwgJ3VzZSBzdHJpY3QnOyB2YXIgbyA9IG9iaigpOyBbQXJyYXkucHJv
dG90eXBlLnBvcC5jYWxsKG8pLCBvXSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVy
cm9yCitGQUlMIHZhciBvID0gb2JqKCk7IFtBcnJheS5wcm90b3R5cGUucG9wLmNhbGwobyksIG9d
IHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1
ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8x
NS40LjQuNi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjQu
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIxODFkOThmYzViYmI4MTBhYmQ1YWQ1N2VkMzY5ODJhZjg5ODVl
ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
LzE1LjQuNC42Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xNS40LjQuNi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjQu
NC44LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUu
NC40LjgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MGY2ODI5ZDYyNTExZGNlZGY3MmNkNzRl
YWMyMDJmMTYwMTYzZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0LzE1LjQuNC44LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitGQUlM
ICd1c2Ugc3RyaWN0JzsgdmFyIGEgPSBhcnIoKTsgYS5yZXZlcnNlKCkgc2hvdWxkIHRocm93IGFu
IGluc3RhbmNlIG9mIFR5cGVFcnJvcgorRkFJTCB2YXIgYSA9IGFycigpOyBhLnJldmVyc2UoKSBz
aG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitQQVNTIHRydWUgPT09IHRydWUK
K0ZBSUwgJ3VzZSBzdHJpY3QnOyB2YXIgbyA9IG9iaigpOyBBcnJheS5wcm90b3R5cGUucmV2ZXJz
ZS5jYWxsKG8pIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFy
IG8gPSBvYmooKTsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UuY2FsbChvKSBzaG91bGQgdGhyb3cg
YW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitQQVNTIHRydWUgPT09IHRydWUKK0ZBSUwgJ3VzZSBz
dHJpY3QnOyB2YXIgYSA9IGFnYXAoKTsgYS5yZXZlcnNlKCkgc2hvdWxkIHRocm93IGFuIGluc3Rh
bmNlIG9mIFR5cGVFcnJvcgorRkFJTCB2YXIgYSA9IGFnYXAoKTsgYS5yZXZlcnNlKCkgc2hvdWxk
IHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB0cnVlID09PSB0cnVlCitGQUlM
ICd1c2Ugc3RyaWN0JzsgdmFyIG8gPSBvZ2FwKCk7IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmNh
bGwobykgc2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorRkFJTCB2YXIgbyA9
IG9nYXAoKTsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UuY2FsbChvKSBzaG91bGQgdGhyb3cgYW4g
aW5zdGFuY2Ugb2YgVHlwZUVycm9yCitQQVNTIHRydWUgPT09IHRydWUKKyBQQVNTRUQhIAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40LjguaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40LjguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYTI2NDU3YWVjNWRlODdhM2VlZThkMmFkMjczOWY2MjU5NzZjNWFmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjQuOC5odG1sCkBA
IC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxs
YS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEt
ZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvMTUuNC40LjguanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjQuOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjQuNC45LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zYWQ1ZmY3OTkwOTNkNDg4N2FkMzRlNjY5ZDUyNmYyNzJmYThiMTk3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40
LjQuOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorRkFJTCAndXNlIHN0cmljdCc7IHZh
ciBhID0gYXJyKCk7IFthLnNoaWZ0KCksIGFdIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBU
eXBlRXJyb3IKK0ZBSUwgdmFyIGEgPSBhcnIoKTsgW2Euc2hpZnQoKSwgYV0gc2hvdWxkIHRocm93
IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB0cnVlID09PSB0cnVlCitGQUlMICd1c2Ug
c3RyaWN0JzsgdmFyIG8gPSBvYmooKTsgW0FycmF5LnByb3RvdHlwZS5zaGlmdC5jYWxsKG8pLCBv
XSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCitGQUlMIHZhciBvID0gb2Jq
KCk7IFtBcnJheS5wcm90b3R5cGUuc2hpZnQuY2FsbChvKSwgb10gc2hvdWxkIHRocm93IGFuIGlu
c3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB0cnVlID09PSB0cnVlCitGQUlMICd1c2Ugc3RyaWN0
JzsgdmFyIGEgPSBhZ2FwKCk7IFthLnNoaWZ0KCksIGFdIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5j
ZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFyIGEgPSBhZ2FwKCk7IFthLnNoaWZ0KCksIGFdIHNob3Vs
ZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJ
TCAndXNlIHN0cmljdCc7IHZhciBvID0gb2dhcCgpOyBbQXJyYXkucHJvdG90eXBlLnNoaWZ0LmNh
bGwobyksIG9dIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFy
IG8gPSBvZ2FwKCk7IFtBcnJheS5wcm90b3R5cGUuc2hpZnQuY2FsbChvKSwgb10gc2hvdWxkIHRo
cm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VE
ISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjQuNC45Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjQuNC45Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjYxOTkwZGZhMDEzYmYyNzkzMzMyMjlkNWUxYmI0OTJlMzUxMDZkNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC40Ljku
aHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9t
b3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzLzE1LjQuNC45LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC41LjEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjUuMS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MwMGQ0ZWVlYjJhNTBmMjU2N2FmMTM4MzhjZDA3MDJkNTEy
MDMxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJp
Y3QvMTUuNC41LjEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorRkFJTCAndXNlIHN0cmlj
dCc7IHZhciBhID0gYXJyKCk7IGEubGVuZ3RoID0gMjsgYSBzaG91bGQgdGhyb3cgYW4gaW5zdGFu
Y2Ugb2YgVHlwZUVycm9yCitGQUlMIGFzc2VydEVxIGZhaWxlZDogZmFsc2Uob2YgdHlwZSBib29s
ZWFuKSAhPT0gdHJ1ZShvZiB0eXBlIGJvb2xlYW4pCitGQUlMICd1c2Ugc3RyaWN0JzsgdmFyIGEg
PSBhZGR4KGFycigpKTsgYS5sZW5ndGggPSAyOyBhIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBv
ZiBUeXBlRXJyb3IKK0ZBSUwgYXNzZXJ0RXEgZmFpbGVkOiBmYWxzZShvZiB0eXBlIGJvb2xlYW4p
ICE9PSB0cnVlKG9mIHR5cGUgYm9vbGVhbikKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC41LjEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9zdHJpY3QvMTUuNC41LjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2M2ODIzMjA5ZGMz
ZWVmNDYzODg2MDI1NmJlN2E1YWZjNDc5YWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS40LjUuMS5odG1sCkBAIC0wLDAgKzEsMTUgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvMTUuNC41LjEu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC8xNS41LjUuMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjUuNS4xLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
ZjYyYTUzZDBjMzVkNjE4OGFhN2Y4ZGViZGIyNmNlNmQzNTUwYWEwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS41LjUuMS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNyBAQAorRkFJTCAndXNlIHN0cmljdCc7IHZhciBzID0gc3RyKCk7IHMu
bGVuZ3RoID0gMTsgcy5sZW5ndGggc2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJv
cgorUEFTUyB2YXIgcyA9IHN0cigpOyBzLmxlbmd0aCA9IDE7IHMubGVuZ3RoIGlzIDMKK1BBU1Mg
dHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IHZhciBzID0gc3RyKCk7IGRlbGV0ZSBz
Lmxlbmd0aCB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIHZhciBzID0g
c3RyKCk7IGRlbGV0ZSBzLmxlbmd0aCBpcyBmYWxzZQorUEFTUyB0cnVlID09PSB0cnVlCitGQUlM
ICd1c2Ugc3RyaWN0JzsgImZvbyIubGVuZ3RoID0gMSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ug
b2YgVHlwZUVycm9yCitQQVNTICJmb28iLmxlbmd0aCA9IDEgaXMgMQorUEFTUyB0cnVlID09PSB0
cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgZGVsZXRlICJmb28iLmxlbmd0aCB0aHJldyBleGNlcHRp
b24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIGRlbGV0ZSAiZm9vIi5sZW5ndGggaXMgZmFsc2UK
K1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9q
cy9tb3ppbGxhL3N0cmljdC8xNS41LjUuMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC8xNS41LjUuMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1OWNmZTMwYmJhM2FhZjAxMzk3
ZjcxMGQ1NjIwMWFkN2VhYzFkNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0LzE1LjUuNS4xLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy8xNS41LjUuMS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0LzE1LjUuNS4yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvMTUuNS41LjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZDhhNTlj
MTU0MWQ2MDg5MWVkMTExYzZhZmJjMTMzMGNkMzlmZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjUuNS4yLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDExIEBACitGQUlMICd1c2Ugc3RyaWN0JzsgImZvbyJbMF0gPSAxIHNob3VsZCB0aHJv
dyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJyb3IKK1BBU1MgImZvbyJbMF0gPSAxIGlzIDEKK1BBU1Mg
dHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IGRlbGV0ZSAiZm9vIlswXSB0aHJldyBl
eGNlcHRpb24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIGRlbGV0ZSAiZm9vIlswXSBpcyBmYWxz
ZQorUEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VEISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0LzE1LjUuNS4yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0LzE1LjUuNS4yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRkN2Y1NWNmZGMzYjlkOTM1
Y2ZlYjQxOGVjZDg3MWFjNWJlYzg3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNS41LjIuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzLzE1LjUuNS4yLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvOC4xMi41LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvOC4xMi41LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTcyYjE0Y2M1
MGViOWQxOGY2ODY4MTBjOWYyMTE0YTNlZTE0NzUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC84LjEyLjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNTMgQEAKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2YXIgbyA9IG9iaigpOyBvLmFsbCA9IDI7IG8u
YWxsIGlzIDIKK1BBU1MgdmFyIG8gPSBvYmooKTsgby5hbGwgPSAyOyBvLmFsbCBpcyAyCitQQVNT
IHRydWUgPT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2YXIgbyA9IG9iaigpOyBvLm5vd3Jp
dGUgPSAyOyBvLm5vd3JpdGUgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgorUEFT
UyB2YXIgbyA9IG9iaigpOyBvLm5vd3JpdGUgPSAyOyBvLm5vd3JpdGUgaXMgMQorUEFTUyB0cnVl
ID09PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgdmFyIG8gPSBvYmooKTsgby5ub2NvbmZpZyA9
IDI7IG8ubm9jb25maWcgaXMgMgorUEFTUyB2YXIgbyA9IG9iaigpOyBvLm5vY29uZmlnID0gMjsg
by5ub2NvbmZpZyBpcyAyCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2
YXIgbyA9IG9iaigpOyBvLm5vYmxlID0gMjsgby5ub2JsZSB0aHJldyBleGNlcHRpb24gb2YgdHlw
ZSBUeXBlRXJyb3IuCitQQVNTIHZhciBvID0gb2JqKCk7IG8ubm9ibGUgPSAyOyBvLm5vYmxlIGlz
IDEKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IG9iaigpLm5vd3JpdGUr
KyB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIG9iaigpLm5vd3JpdGUr
KyBpcyAxCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyArK29iaigpLm5v
d3JpdGUgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgorUEFTUyArK29iaigpLm5v
d3JpdGUgaXMgMgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0Jzsgb2JqKCku
bm93cml0ZS0tIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJvci4KK1BBU1Mgb2JqKCku
bm93cml0ZS0tIGlzIDEKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IC0t
b2JqKCkubm93cml0ZSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIC0t
b2JqKCkubm93cml0ZSBpcyAwCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3Qn
OyB2YXIgYSA9IGFycigpOyBhWzBdID0gMjsgYVswXSBpcyAyCitQQVNTIHZhciBhID0gYXJyKCk7
IGFbMF0gPSAyOyBhWzBdIGlzIDIKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmlj
dCc7IHZhciBhID0gYXJyKCk7IGFbMV0gPSAyOyBhWzFdIHNob3VsZCB0aHJvdyBhbiBpbnN0YW5j
ZSBvZiBUeXBlRXJyb3IKK0ZBSUwgdmFyIGEgPSBhcnIoKTsgYVsxXSA9IDI7IGFbMV0gc2hvdWxk
IGJlIDEuIFdhcyAyLgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgdmFy
IGEgPSBhcnIoKTsgYVsyXSA9IDI7IGFbMl0gaXMgMgorUEFTUyB2YXIgYSA9IGFycigpOyBhWzJd
ID0gMjsgYVsyXSBpcyAyCitQQVNTIHRydWUgPT09IHRydWUKK0ZBSUwgJ3VzZSBzdHJpY3QnOyB2
YXIgYSA9IGFycigpOyBhWzNdID0gMjsgYVszXSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2Yg
VHlwZUVycm9yCitGQUlMIHZhciBhID0gYXJyKCk7IGFbM10gPSAyOyBhWzNdIHNob3VsZCBiZSAx
LiBXYXMgMi4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmljdCc7IGFycigpWzFd
Kysgc2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyBhcnIoKVsxXSsr
IGlzIDEKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmljdCc7ICsrYXJyKClbMV0g
c2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyArK2FycigpWzFdIGlz
IDIKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmljdCc7IGFycigpWzFdLS0gc2hv
dWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyBhcnIoKVsxXS0tIGlzIDEK
K1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorRkFJTCAndXNlIHN0cmljdCc7IC0tYXJyKClbMV0gc2hvdWxk
IHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyAtLWFycigpWzFdIGlzIDAKK1BB
U1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC84LjEyLjUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3QvOC4xMi41Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE5YzI0Mzk5M2M5ZWFmNTBmOTFlMDM5ZmJh
MmEwNWJmMWEzZWMxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96
aWxsYS9zdHJpY3QvOC4xMi41Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy84LjEyLjUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC84LjEyLjctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC84LjEyLjctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4NjQ3MWJkNTQwMGNkOWZjMmYxMzRh
ZjhhNmZlOWIzZGUyYjljYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0LzguMTIuNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorUEFT
UyAndXNlIHN0cmljdCc7IHZhciBvID0gc2V0dXAoKTsgZGVsZXRlIG8uYWxsIGlzIHRydWUKK1BB
U1MgdmFyIG8gPSBzZXR1cCgpOyBkZWxldGUgby5hbGwgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0
cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgdmFyIG8gPSBzZXR1cCgpOyBkZWxldGUgby5ub3dyaXRl
IGlzIHRydWUKK1BBU1MgdmFyIG8gPSBzZXR1cCgpOyBkZWxldGUgby5ub3dyaXRlIGlzIHRydWUK
K1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IHZhciBvID0gc2V0dXAoKTsg
ZGVsZXRlIG8ubm9jb25maWcgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgorUEFT
UyB2YXIgbyA9IHNldHVwKCk7IGRlbGV0ZSBvLm5vY29uZmlnIGlzIGZhbHNlCitQQVNTIHRydWUg
PT09IHRydWUKK1BBU1MgJ3VzZSBzdHJpY3QnOyB2YXIgbyA9IHNldHVwKCk7IGRlbGV0ZSBvLm5v
YmxlIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJvci4KK1BBU1MgdmFyIG8gPSBzZXR1
cCgpOyBkZWxldGUgby5ub2JsZSBpcyBmYWxzZQorUEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VE
ISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzguMTIuNy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC84LjEyLjcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44ZGJkNTRhOTE0NWM2Nzc5YzIxNmM4NTQ5MjY3NDdiZmVhZTc1YzY2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC84LjEyLjcuaHRtbApA
QCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemls
bGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxh
LWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzLzguMTIuNy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzguNy4yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvOC43LjItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmVmYTgyMTUzMTZhMThlMjg5MTk4MmJkMjFhYzMxZTQ0Y2VmZjU4MzAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzguNy4yLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitQQVNTICd1c2Ugc3RyaWN0JzsgdW5kZWNsYXJlZD0x
IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFJlZmVyZW5jZUVycm9yLgorUEFTUyB0cnVlID09PSB0
cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgISFGdW5jdGlvbigiJ3VzZSBzdHJpY3QnOyB1
bmRlY2xhcmVkX2F0X2NvbXBpbGV0aW1lPTEiKSBpcyB0cnVlCitQQVNTICEhRnVuY3Rpb24oInVu
ZGVjbGFyZWRfYXRfY29tcGlsZXRpbWU9MSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQor
UEFTUyB3aXRoKG9iaigpKSB7IChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JzsgeCA9IDI7IHkg
PSAyOyB9KSgpOyB9IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJvci4KK1BBU1MgdHJ1
ZSA9PT0gdHJ1ZQorUEFTUyB3aXRoKG9iaigpKSB7IChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0
JzsgeCsrOyB9KSgpOyB9IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJvci4KK1BBU1Mg
dHJ1ZSA9PT0gdHJ1ZQorUEFTUyB3aXRoKG9iaigpKSB7IChmdW5jdGlvbiAoKSB7ICd1c2Ugc3Ry
aWN0JzsgKyt4OyB9KSgpOyB9IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJvci4KK1BB
U1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB3aXRoKG9iaigpKSB7IChmdW5jdGlvbiAoKSB7ICd1c2Ug
c3RyaWN0JzsgeC0tOyB9KSgpOyB9IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJvci4K
K1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB3aXRoKG9iaigpKSB7IChmdW5jdGlvbiAoKSB7ICd1
c2Ugc3RyaWN0JzsgLS14OyB9KSgpOyB9IHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJv
ci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC84LjcuMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC84LjcuMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NjgyNTJjZTRmNGM4MmRmZTk0N2Ri
YjRiOTY0ODM1NmMxNTBkOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0LzguNy4yLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy84LjcuMi5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3Ry
aWN0L0IuMS4xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJp
Y3QvQi4xLjEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0ZmNhOGVkYTczZjQyZmZiM2EzNmJj
NWY1MTZhZDY3NGU3ZGJmMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0L0IuMS4xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitQQVNT
IEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IDAxMCIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5
bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCIwMTAiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09
IHRydWUKK1BBU1MgRnVuY3Rpb24oImZ1bmN0aW9uIGYoKSB7IFwidXNlIHN0cmljdFwiOyAwMTA7
IH0iKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhFcnJvci4KK1BBU1MgdHJ1ZSA9PT0g
dHJ1ZQorUEFTUyAhIUZ1bmN0aW9uKCJmdW5jdGlvbiBmKCkgeyBcInVzZSBzdHJpY3RcIjsgfTsg
MDEwIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICEhRnVuY3Rpb24oImZ1bmN0
aW9uIGYoKSB7IDAxMDsgfSIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEg
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9CLjEuMS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9CLjEuMS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU0YWY5NzAyNDhmYzRiM2YxNmMwMzg5ZDQ5NGJhNTI2MTZjNjAyMGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L0IuMS4xLmh0bWwKQEAgLTAs
MCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNo
ZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUt
c2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9CLjEuMS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L0IuMS4yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvQi4xLjItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM3ZDJiY2ZiMzZjMDlhMGFlNjBiZWM2MGI4ZDExOWU3OTQxNjRjYTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L0IuMS4yLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDIzIEBACitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IFwiXFwwMTBc
IiIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9u
KCJcIlxcMDEwXCIiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgRnVuY3Rpb24o
Iid1c2Ugc3RyaWN0JzsgXCJcXDAwXCIiKSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBTeW50YXhF
cnJvci4KK1BBU1MgISFGdW5jdGlvbigiXCJcXDAwXCIiKSBpcyB0cnVlCitQQVNTIHRydWUgPT09
IHRydWUKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgXCJcXDFcIiIpIHRocmV3IGV4Y2Vw
dGlvbiBvZiB0eXBlIFN5bnRheEVycm9yLgorUEFTUyAhIUZ1bmN0aW9uKCJcIlxcMVwiIikgaXMg
dHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTIEZ1bmN0aW9uKCIndXNlIHN0cmljdCc7IFwi
XFwwOFwiIikgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IuCitQQVNTICEhRnVu
Y3Rpb24oIlwiXFwwOFwiIikgaXMgdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNTICEhRnVu
Y3Rpb24oIid1c2Ugc3RyaWN0JzsgXCJcXDBcIiIpIGlzIHRydWUKK1BBU1MgISFGdW5jdGlvbigi
XCJcXDBcIiIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyAhIUZ1bmN0aW9uKCIn
dXNlIHN0cmljdCc7IFwiXFwweFwiIikgaXMgdHJ1ZQorUEFTUyAhIUZ1bmN0aW9uKCJcIlxcMHhc
IiIpIGlzIHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9CLjEuMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC9CLjEuMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkZmUyYzkwYWM1NmVj
NmRkZTI0MWFkMDdkOTg2MjhiOGZmOTBlNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L0IuMS4yLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9CLjEuMi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0L2Fzc2lnbi10by1jYWxsZWUtbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L2Fzc2lnbi10by1jYWxsZWUtbmFtZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTg3MWRkNDZjNjY0MjdlMmQxMzdkNmYzYWUyMmNlM2UwYjY4ZjBi
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qv
YXNzaWduLXRvLWNhbGxlZS1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKzYxMDM1
MDogQXNzaWduaW5nIHRvIGEgZnVuY3Rpb24gZXhwcmVzc2lvbidzIG5hbWUgd2l0aGluIHRoYXQg
ZnVuY3Rpb24gc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIGluIHN0cmljdCBtb2RlIGNvZGUKK0ZB
SUwgZGlkbid0IHRocm93IGEgVHlwZUVycm9yOiBFcnJvcjogc2hvdWxkIGhhdmUgdGhyb3duIGEg
VHlwZUVycm9yLCByZXR1cm5lZCB1bmRlZmluZWQKK1BBU1MgNDIgPT09IDQyCisgUEFTU0VEISAK
K0FsbCB0ZXN0cyBwYXNzZWQhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC9hc3NpZ24tdG8tY2FsbGVlLW5hbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96
aWxsYS9zdHJpY3QvYXNzaWduLXRvLWNhbGxlZS1uYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzJlYzQ1
MTc1YjhiNDRjNzgyNGI0M2MxMmRlM2MzZGE1MDI3N2JmMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvYXNzaWduLXRvLWNhbGxlZS1uYW1lLmh0
bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9t
b3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96
aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9hc3NpZ24tdG8tY2FsbGVlLW5hbWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9kaXJl
Y3RpdmUtcHJvbG9ndWUtMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9kaXJlY3RpdmUtcHJvbG9ndWUtMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ2OTY4MDhhMDExMzk1Mjc4NWEzZWYyYjM5YTNkZmNjNzJiYzdlZmYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L2RpcmVjdGl2ZS1wcm9sb2d1
ZS0wMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorNjAxMjYyOiBBIHN0cmluZyBsaXRl
cmFsIGNvbnRhaW5pbmcgYW4gb2N0YWwgZXNjYXBlIGJlZm9yZSBhIHN0cmljdCBtb2RlIGRpcmVj
dGl2ZSBzaG91bGQgYmUgYSBzeW50YXggZXJyb3IKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB0
cnVlID09PSB0cnVlCitQQVNTIHRydWUgPT09IHRydWUKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBB
U1NFRCEgCitBbGwgdGVzdHMgcGFzc2VkIQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96
aWxsYS9zdHJpY3QvZGlyZWN0aXZlLXByb2xvZ3VlLTAxLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0L2RpcmVjdGl2ZS1wcm9sb2d1ZS0wMS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjcwYzQ3Mzk5NWZkYTI1MGVlOGE0OWE1NWJkZjA4MDdmNTY4NGM1ZGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L2RpcmVjdGl2ZS1wcm9sb2d1
ZS0wMS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvZGlyZWN0aXZlLXByb2xvZ3VlLTAxLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJp
Y3QvZXZhbC12YXJpYWJsZS1lbnZpcm9ubWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvc3RyaWN0L2V2YWwtdmFyaWFibGUtZW52aXJvbm1lbnQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE5OTFjZjRhZWFjODJiNGI3ZjI1NGIzYzViNTY5ZjNkYjQ1MTE4NDEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L2V2
YWwtdmFyaWFibGUtZW52aXJvbm1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1BB
U1MgJ3VzZSBzdHJpY3QnOyBldmFsKCd2YXIgeCA9IDI7IHR5cGVvZiB4Jyk7IGlzICJudW1iZXIi
CitQQVNTIGV2YWwoJ3ZhciB4ID0gMjsgdHlwZW9mIHgnKTsgaXMgIm51bWJlciIKK1BBU1MgdHJ1
ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IGV2YWwoJyJ1c2Ugc3RyaWN0IjsgdmFyIHgg
PSAyOyB0eXBlb2YgeCcpOyBpcyAibnVtYmVyIgorUEFTUyBldmFsKCcidXNlIHN0cmljdCI7IHZh
ciB4ID0gMjsgdHlwZW9mIHgnKTsgaXMgIm51bWJlciIKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFT
UyAndXNlIHN0cmljdCc7IGV2YWwoJ3ZhciB4ID0gMjsnKTsgdHlwZW9mIHggaXMgInVuZGVmaW5l
ZCIKK1BBU1MgZXZhbCgndmFyIHggPSAyOycpOyB0eXBlb2YgeCBpcyAibnVtYmVyIgorUEFTUyB0
cnVlID09PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgZXZhbCgnInVzZSBzdHJpY3QiOyB2YXIg
eCA9IDI7Jyk7IHR5cGVvZiB4IGlzICJ1bmRlZmluZWQiCitQQVNTIGV2YWwoJyJ1c2Ugc3RyaWN0
IjsgdmFyIHggPSAyOycpOyB0eXBlb2YgeCBpcyAidW5kZWZpbmVkIgorUEFTUyB0cnVlID09PSB0
cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgZXZhbCgnInVzZSBzdHJpY3QiOyB2YXIgeCA9IDI7IHR5
cGVvZiB4Jyk7IHR5cGVvZiB4IGlzICJ1bmRlZmluZWQiCitQQVNTIGV2YWwoJyJ1c2Ugc3RyaWN0
IjsgdmFyIHggPSAyOyB0eXBlb2YgeCcpOyB0eXBlb2YgeCBpcyAidW5kZWZpbmVkIgorUEFTUyB0
cnVlID09PSB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgZnVuY3Rpb24gdGVzdCgpIHsgICBldmFs
KCd2YXIgeCA9IDI7Jyk7ICAgcmV0dXJuIHR5cGVvZiB4OyB9IHRlc3QoKTsgaXMgInVuZGVmaW5l
ZCIKK1BBU1MgZnVuY3Rpb24gdGVzdCgpIHsgICBldmFsKCd2YXIgeCA9IDI7Jyk7ICAgcmV0dXJu
IHR5cGVvZiB4OyB9IHRlc3QoKTsgaXMgIm51bWJlciIKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFT
UyAndXNlIHN0cmljdCc7IGZ1bmN0aW9uIHRlc3QoKSB7ICAgJ3VzZSBzdHJpY3QnOyAgIGV2YWwo
J3ZhciB4ID0gMjsnKTsgICByZXR1cm4gdHlwZW9mIHg7IH0gdGVzdCgpOyBpcyAidW5kZWZpbmVk
IgorUEFTUyBmdW5jdGlvbiB0ZXN0KCkgeyAgICd1c2Ugc3RyaWN0JzsgICBldmFsKCd2YXIgeCA9
IDI7Jyk7ICAgcmV0dXJuIHR5cGVvZiB4OyB9IHRlc3QoKTsgaXMgInVuZGVmaW5lZCIKK1BBU1Mg
dHJ1ZSA9PT0gdHJ1ZQorUEFTUyAndXNlIHN0cmljdCc7IGZ1bmN0aW9uIHRlc3QoKSB7ICAgZXZh
bCgnInVzZSBzdHJpY3QiOyB2YXIgeCA9IDI7Jyk7ICAgcmV0dXJuIHR5cGVvZiB4OyB9IHRlc3Qo
KTsgaXMgInVuZGVmaW5lZCIKK1BBU1MgZnVuY3Rpb24gdGVzdCgpIHsgICBldmFsKCcidXNlIHN0
cmljdCI7IHZhciB4ID0gMjsnKTsgICByZXR1cm4gdHlwZW9mIHg7IH0gdGVzdCgpOyBpcyAidW5k
ZWZpbmVkIgorUEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VEISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L2V2YWwtdmFyaWFibGUtZW52aXJvbm1lbnQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvZXZhbC12YXJpYWJsZS1lbnZpcm9u
bWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiY2NkYTRiZWNhOGVlZDBmMDlkMzYzYjZhOWFhNTcwYWM3
YmFhNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3Ry
aWN0L2V2YWwtdmFyaWFibGUtZW52aXJvbm1lbnQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2V2YWwtdmFyaWFibGUt
ZW52aXJvbm1lbnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9mdW5jdGlvbi1uYW1lLWFyaXR5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvZnVuY3Rpb24tbmFt
ZS1hcml0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjYzOGUwNDY5ZWJjZjg4OTYwOTc4MzEw
OGQwYmFkMTM2ZTUxZDgzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvZnVuY3Rpb24tbmFtZS1hcml0eS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorUEFTUyAndXNlIHN0cmljdCc7IHZhciBmID0gZm4oKTsgZi5uYW1lID0gImciOyBm
Lm5hbWUgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9yLgorUEFTUyB2YXIgZiA9IGZu
KCk7IGYubmFtZSA9ICJnIjsgZi5uYW1lIGlzICJmIgorUEFTUyB0cnVlID09PSB0cnVlCitQQVNT
ICd1c2Ugc3RyaWN0JzsgdmFyIGYgPSBmbigpOyBkZWxldGUgZi5uYW1lIHRocmV3IGV4Y2VwdGlv
biBvZiB0eXBlIFR5cGVFcnJvci4KK1BBU1MgdmFyIGYgPSBmbigpOyBkZWxldGUgZi5uYW1lIGlz
IGZhbHNlCitQQVNTIHRydWUgPT09IHRydWUKK0ZBSUwgJ3VzZSBzdHJpY3QnOyB2YXIgZiA9IGZu
KCk7IGYuYXJpdHkgPSA0OyBmLmFyaXR5IHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBl
RXJyb3IKK0ZBSUwgdmFyIGYgPSBmbigpOyBmLmFyaXR5ID0gNDsgZi5hcml0eSBzaG91bGQgYmUg
My4gV2FzIDQuCitQQVNTIHRydWUgPT09IHRydWUKK0ZBSUwgJ3VzZSBzdHJpY3QnOyB2YXIgZiA9
IGZuKCk7IGRlbGV0ZSBmLmFyaXR5IHNob3VsZCB0aHJvdyBhbiBpbnN0YW5jZSBvZiBUeXBlRXJy
b3IKK0ZBSUwgdmFyIGYgPSBmbigpOyBkZWxldGUgZi5hcml0eSBzaG91bGQgYmUgZmFsc2UuIFdh
cyB0cnVlLgorUEFTUyB0cnVlID09PSB0cnVlCisgUEFTU0VEISAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L2Z1bmN0aW9uLW5hbWUtYXJpdHkuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvZnVuY3Rpb24tbmFtZS1hcml0eS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkxNDJjYmFkNjJiNTA1YjVjZWE2NTM1NTkyYzQxMzA4ZWY4MmYxZjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L2Z1bmN0aW9u
LW5hbWUtYXJpdHkuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Z1bmN0aW9uLW5hbWUtYXJpdHkuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9wcmltaXRpdmUtdGhpcy1uby13cml0ZWJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9wcmltaXRpdmUtdGhpcy1uby13cml0ZWJhY2st
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjMzVkYTQ2MmNiODM4YzI0ZGYxNTY4OGEyYzE3ODQx
YTJkOWIyMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0L3ByaW1pdGl2ZS10aGlzLW5vLXdyaXRlYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOCBAQAorUEFTUyBzID09PSBzCitQQVNTIGZ1bmN0aW9uICgpIHsKKyAgICAidXNlIHN0cmlj
dCI7CisgICAgYXNzZXJ0RXEodGhpcywgInMiKTsKKyAgICAvLyBUaGUgR0VUVEhJU1BST1Agc2hv
dWxkIG5vdCBjYXVzZSB8dGhpc3wgdG8gYmVjb21lIHdyYXBwZWQuCisgICAgcmV0dXJuIFt0aGlz
Lm0sIHRoaXNdOworfSA9PT0gZnVuY3Rpb24gKCkgeworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBh
c3NlcnRFcSh0aGlzLCAicyIpOworICAgIC8vIFRoZSBHRVRUSElTUFJPUCBzaG91bGQgbm90IGNh
dXNlIHx0aGlzfCB0byBiZWNvbWUgd3JhcHBlZC4KKyAgICByZXR1cm4gW3RoaXMubSwgdGhpc107
Cit9CitQQVNTIHMgPT09IHMKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvcHJpbWl0aXZlLXRoaXMtbm8td3JpdGViYWNrLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3ByaW1pdGl2ZS10aGlzLW5vLXdyaXRlYmFjay5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZmNjY3MmQ4MzkyODk5MWYxZGY0MjVkZjU0ZDllN2VmZmRmMTQzMDAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3By
aW1pdGl2ZS10aGlzLW5vLXdyaXRlYmFjay5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcHJpbWl0aXZlLXRoaXMtbm8t
d3JpdGViYWNrLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvcmVncmVzcy01MzIwNDEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9yZWdyZXNzLTUzMjA0MS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ0MDUwZTM3NGE0OGY5MTM5MDY4YjIzMzQ0YzQ3MTI1ZmFk
ZDMwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJp
Y3QvcmVncmVzcy01MzIwNDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorIFBBU1NFRCEg
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9yZWdyZXNzLTUzMjA0
MS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9yZWdyZXNzLTUzMjA0
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM4OGY5NDU1Y2FkNjkxMDU5YzQ3Y2ZjNjIxYWQ0NmFlZDkwOTJm
NDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
L3JlZ3Jlc3MtNTMyMDQxLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9yZWdyZXNzLTUzMjA0MS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0L3JlZ3Jlc3MtNTMyMjU0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3QvcmVncmVzcy01MzIyNTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAw
ZTFiMWYxNWE3MTJjZGVkMDI2MGVjOGQxMjg0ODFiOWI3YmI1NzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3JlZ3Jlc3MtNTMyMjU0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1BBU1MgRnVuY3Rpb24oIid1c2Ugc3RyaWN0JzsgZnVu
Y3Rpb24gZihldmFsLFt4XSl7fSIpIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9y
LgorRkFJTCAhIUZ1bmN0aW9uKCJmdW5jdGlvbiBmKGV2YWwsW3hdKXt9Iikgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IKK1BBU1MgdHJ1ZSA9
PT0gdHJ1ZQorIFBBU1NFRCEgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC9yZWdyZXNzLTUzMjI1NC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC9yZWdyZXNzLTUzMjI1NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMWY5ZDkzYzRjZTU5Nzg1ZTBi
MmEzZWI4YTEzYzc1NGJiZDc3NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0L3JlZ3Jlc3MtNTMyMjU0Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hlbGwuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9yZWdyZXNzLTUz
MjI1NC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3JlZ3Jlc3MtNTk5MTU5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvcmVncmVzcy01OTkxNTktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg0ZjJjNGI0NDU3OGI3ZjA0NmNjNDQwMGFkYTEyYzNjNzgwNDk2NDMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3Jl
Z3Jlc3MtNTk5MTU5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1BBU1MgMSA9PT0gMQor
UEFTUyAxID09PSAxCitQQVNTIDEyID09PSAxMgorUEFTUyAxMiA9PT0gMTIKKyBQQVNTRUQhIAor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvcmVncmVzcy01OTkxNTku
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvcmVncmVzcy01OTkxNTku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMTJiNjFlYzJmMTk3MTZjNzQyZGZiY2ZjMjJlZWQxMTU4Njk4M2Zi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9y
ZWdyZXNzLTU5OTE1OS5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcmVncmVzcy01OTkxNTkuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC9zY3JpcHQtdGVzdHMvMTAuNC4yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9zY3JpcHQtdGVzdHMvMTAuNC4yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3YTBlYjVjZjdjMDJi
YzhhZWQ0MDM5Yzk0YTVhYWM3OWU1NWYyY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMC40LjIuanMKQEAgLTAsMCAr
MSw1NyBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2Rl
OiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdodCBp
cyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21t
b25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworLyogRGlyZWN0IGNhbGxzIHRv
IGV2YWwgc2hvdWxkIGluaGVyaXQgdGhlIHN0cmljdG5lc3Mgb2YgdGhlIGNhbGxpbmcgY29kZS4g
Ki8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCJldmFsKCcwMTAnKSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZXNOb3JtYWxseSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAg
dHJ1ZSk7CisKKy8qCisgKiBEaXJlY3RpdmVzIGluIHRoZSBldmFsIGNvZGUgaXRzZWxmIHNob3Vs
ZCBhbHdheXMgb3ZlcnJpZGUgYSBkaXJlY3QKKyAqIGNhbGxlcidzIHN0cmljdG5lc3MuCisgKi8K
K2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCJldmFsKCdcInVzZSBzdHJpY3RcIjsgMDEw
JykiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0aW9uKFN5bnRh
eEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihT
eW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKKy8qIENvZGUgcGFzc2VkIHRvIGluZGly
ZWN0IGNhbGxzIHRvIGV2YWwgc2hvdWxkIG5ldmVyIGJlIHN0cmljdC4gKi8KK2Fzc2VydEVxKHRl
c3RMZW5pZW50QW5kU3RyaWN0KCJ2YXIgZXZpbD1ldmFsOyBldmlsKCcwMTAnKSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZXNOb3JtYWxseSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbXBsZXRlc05vcm1hbGx5KSwKKyAgICAgICAgIHRydWUpOworCisv
KgorICogQ29kZSBwYXNzZWQgdG8gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIG5ldmVyIGluaGVy
aXRzIHRoZSBjYWxsZXIncworICogc3RyaWN0bmVzcy4KKyAqLworYXNzZXJ0RXEoY29tcGxldGVz
Tm9ybWFsbHkoIkZ1bmN0aW9uKCcwMTAnKSIpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcShy
YWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKCJGdW5jdGlvbignXCJ1c2Ugc3RyaWN0XCI7IDAx
MCcpIiksCisgICAgICAgICB0cnVlKTsKKworLyoKKyAqIElmICdldmFsJyBjYXVzZXMgYSBmcmFt
ZSdzIHByaW1pdGl2ZSB8dGhpc3wgdG8gYmVjb21lIHdyYXBwZWQsIHRoZSBmcmFtZSBzaG91bGQg
c2VlIHRoZSBzYW1lCisgKiB3cmFwcGVyIG9iamVjdCBhcyB0aGUgZXZhbCBjb2RlLgorICovCit2
YXIgY2FsbF90aGlzLCBldmFsX3RoaXM7CitmdW5jdGlvbiBmKGNvZGUpIHsKKyAgLyoKKyAgICog
QXQgdGhpcyBwb2ludCwgYSBwcmltaXRpdmUgfHRoaXN8IGhhcyBub3QgeWV0IGJlZW4gd3JhcHBl
ZC4gQQorICAgKiByZWZlcmVuY2UgdG8gfHRoaXN8IGZyb20gdGhlIGV2YWwgY2FsbCBzaG91bGQg
d3JhcCBpdCwgYW5kIHRoZSB3cmFwcGVyCisgICAqIHNob3VsZCBiZSBzdG9yZWQgd2hlcmUgdGhl
IGNhbGwgZnJhbWUgY2FuIHNlZSBpdC4KKyAgICovCisgIGV2YWwoY29kZSk7CisgIGNhbGxfdGhp
cyA9IHRoaXM7IAorfQorZi5jYWxsKHRydWUsICdldmFsX3RoaXMgPSB0aGlzJyk7Cithc3NlcnRF
cShjYWxsX3RoaXMsIGV2YWxfdGhpcyk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTAuNC4zLmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTAuNC4zLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk4YmY5YTdhZGIxNmM5ZDc5OTg2OGQwNDM3NjdhNWVhNzVkMDM2NjcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8x
MC40LjMuanMKQEAgLTAsMCArMSw2MCBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAy
OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgor
ICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBo
dHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKwor
dmFyIG9iaiA9IHt9CisKK2Z1bmN0aW9uIHN0cmljdCgpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4g
dGhpczsgfQorYXNzZXJ0RXEoc3RyaWN0LmNhbGwoIiIpLCAiIik7Cithc3NlcnRFcShzdHJpY3Qu
Y2FsbCh0cnVlKSwgdHJ1ZSk7Cithc3NlcnRFcShzdHJpY3QuY2FsbCg0MiksIDQyKTsKK2Fzc2Vy
dEVxKHN0cmljdC5jYWxsKG51bGwpLCBudWxsKTsKK2Fzc2VydEVxKHN0cmljdC5jYWxsKHVuZGVm
aW5lZCksIHVuZGVmaW5lZCk7Cithc3NlcnRFcShzdHJpY3QuY2FsbChvYmopLCBvYmopOworYXNz
ZXJ0RXEobmV3IHN0cmljdCgpIGluc3RhbmNlb2YgT2JqZWN0LCB0cnVlKTsKKworLyogCisgKiBU
aGUgY29tcGlsZXIgaW50ZXJuYWxseSBjb252ZXJ0cyB4Wydmb28nXSB0byB4LmZvby4gV3JpdGlu
ZyB4W3NdIHdoZXJlCisgKiBzPSdmb28nIGlzIGVub3VnaCB0byB0aHJvdyBpdCBvZmYgdGhlIHNj
ZW50IGZvciBub3cuCisgKi8KK3ZhciBzdHJpY3RTdHJpbmcgPSAnc3RyaWN0JzsKKworQm9vbGVh
bi5wcm90b3R5cGUuc3RyaWN0ID0gc3RyaWN0OworYXNzZXJ0RXEodHJ1ZS5zdHJpY3QoKSwgdHJ1
ZSk7Cithc3NlcnRFcSh0cnVlW3N0cmljdFN0cmluZ10oKSwgdHJ1ZSk7CisKK051bWJlci5wcm90
b3R5cGUuc3RyaWN0ID0gc3RyaWN0OworYXNzZXJ0RXEoKDQyKS5zdHJpY3QoKSwgNDIpOworYXNz
ZXJ0RXEoNDJbc3RyaWN0U3RyaW5nXSgpLCA0Mik7CisKK1N0cmluZy5wcm90b3R5cGUuc3RyaWN0
ID0gc3RyaWN0OworYXNzZXJ0RXEoIiIuc3RyaWN0KCksICIiKTsKK2Fzc2VydEVxKCIiW3N0cmlj
dFN0cmluZ10oKSwgIiIpOworCitmdW5jdGlvbiBsZW5pZW50KCkgeyByZXR1cm4gdGhpczsgfQor
YXNzZXJ0RXEobGVuaWVudC5jYWxsKCIiKSBpbnN0YW5jZW9mIFN0cmluZywgdHJ1ZSk7Cithc3Nl
cnRFcShsZW5pZW50LmNhbGwodHJ1ZSkgaW5zdGFuY2VvZiBCb29sZWFuLCB0cnVlKTsKK2Fzc2Vy
dEVxKGxlbmllbnQuY2FsbCg0MikgaW5zdGFuY2VvZiBOdW1iZXIsIHRydWUpOworYXNzZXJ0RXEo
bGVuaWVudC5jYWxsKG51bGwpLCB0aGlzKTsKK2Fzc2VydEVxKGxlbmllbnQuY2FsbCh1bmRlZmlu
ZWQpLCB0aGlzKTsKK2Fzc2VydEVxKGxlbmllbnQuY2FsbChvYmopLCBvYmopOworYXNzZXJ0RXEo
bmV3IGxlbmllbnQoKSBpbnN0YW5jZW9mIE9iamVjdCwgdHJ1ZSk7CisKK3ZhciBsZW5pZW50U3Ry
aW5nID0gJ2xlbmllbnQnOworCitCb29sZWFuLnByb3RvdHlwZS5sZW5pZW50ID0gbGVuaWVudDsK
K2Fzc2VydEVxKHRydWUubGVuaWVudCgpIGluc3RhbmNlb2YgQm9vbGVhbiwgdHJ1ZSk7Cithc3Nl
cnRFcSh0cnVlW2xlbmllbnRTdHJpbmddKCkgaW5zdGFuY2VvZiBCb29sZWFuLCB0cnVlKTsKKwor
TnVtYmVyLnByb3RvdHlwZS5sZW5pZW50ID0gbGVuaWVudDsKK2Fzc2VydEVxKDQyW2xlbmllbnRT
dHJpbmddKCkgaW5zdGFuY2VvZiBOdW1iZXIsIHRydWUpOworCitTdHJpbmcucHJvdG90eXBlLmxl
bmllbnQgPSBsZW5pZW50OworYXNzZXJ0RXEoIiJbbGVuaWVudFN0cmluZ10oKSBpbnN0YW5jZW9m
IFN0cmluZywgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTAuNi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzEwLjYuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkwZjQ4ZDE3
NTYwNWIzYmRhNTZmOTBmZTFiYjc4OWFiYmQ5ZmUxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzEwLjYuanMKQEAgLTAs
MCArMSw1NyBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1t
b2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdo
dCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVj
b21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworZnVuY3Rpb24gY2FsbEZ1
bmN0aW9uQm9keShleHByKSB7CisgIHJldHVybiAoCisgICAgJyhmdW5jdGlvbiBmKCkge1xuJwor
ICAgICsgJ09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZ3VtZW50cywgezE6IHsgd3JpdGFibGU6
IGZhbHNlIH0sXG4nCisgICAgKyAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MjogeyBjb25maWd1cmFibGU6IGZhbHNlIH0sXG4nCisgICAgKyAnICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMzogeyB3cml0YWJsZTogZmFsc2UsXG4nCisgICAgKyAnICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgfX0p
O1xuJworICAgICsgJ3JldHVybiAoJyArIGV4cHIgKyAnKTtcbicKKyAgICArICd9KSgwLCAxLCAy
LCAzKTsnKTsKK30KKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoY2FsbEZ1bmN0aW9u
Qm9keSgnYXJndW1lbnRzWzBdID0gNDInKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybnMoNDIpLCByZXR1cm5zKDQyKSksCisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0RXEo
dGVzdExlbmllbnRBbmRTdHJpY3QoY2FsbEZ1bmN0aW9uQm9keSgnZGVsZXRlIGFyZ3VtZW50c1sw
XScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyh0cnVlKSwgcmV0dXJu
cyh0cnVlKSksCisgICAgICAgICB0cnVlKTsKKworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0
cmljdChjYWxsRnVuY3Rpb25Cb2R5KCdhcmd1bWVudHNbMV0gPSA0MicpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJucyg0MiksIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3Ip
KSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdChjYWxs
RnVuY3Rpb25Cb2R5KCdkZWxldGUgYXJndW1lbnRzWzFdJyksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm5zKHRydWUpLCByZXR1cm5zKHRydWUpKSwKKyAgICAgICAgIHRydWUp
OworCisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KGNhbGxGdW5jdGlvbkJvZHkoJ2Fy
Z3VtZW50c1syXSA9IDQyJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5z
KDQyKSwgcmV0dXJucyg0MikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5p
ZW50QW5kU3RyaWN0KGNhbGxGdW5jdGlvbkJvZHkoJ2RlbGV0ZSBhcmd1bWVudHNbMl0nKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybnMoZmFsc2UpLCByYWlzZXNFeGNlcHRp
b24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworCithc3NlcnRFcSh0ZXN0TGVuaWVu
dEFuZFN0cmljdChjYWxsRnVuY3Rpb25Cb2R5KCdhcmd1bWVudHNbM10gPSA0MicpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyg0MiksIHJhaXNlc0V4Y2VwdGlvbihUeXBl
RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmlj
dChjYWxsRnVuY3Rpb25Cb2R5KCdkZWxldGUgYXJndW1lbnRzWzNdJyksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm5zKGZhbHNlKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJv
cikpLAorICAgICAgICAgdHJ1ZSk7CisKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS4xLjUuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS4xLjUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTg0ZGM0NGExZjVkZWFmODkzMDJiNjUxZDliZjA3MTA5Y2FhZDI2NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzEx
LjEuNS5qcwpAQCAtMCwwICsxLDE3MyBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAy
OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgor
ICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBo
dHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKwor
LyogU2ltcGxlIGlkZW50aWZpZXIgbGFiZWxzLiAqLworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRT
dHJpY3QoJyh7eDoxLCB4OjF9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJz
ZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNl
c0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRl
c3RMZW5pZW50QW5kU3RyaWN0KCcoe3g6MSwgeToxfSknLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFyc2VzU3VjY2Vzc2Z1bGx5KSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0
TGVuaWVudEFuZFN0cmljdCgnKHt4OjEsIHk6MSwgeDoxfSknLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUp
OworCisvKiBQcm9wZXJ0eSBuYW1lcyBjYW4gYmUgd3JpdHRlbiBhcyBzdHJpbmdzLCB0b28uICov
Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKHt4OjEsICAgIngiOjF9KScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAor
ICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoeyJ4Ijox
LCB4OjF9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVs
bHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihT
eW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5k
U3RyaWN0KCcoeyJ4IjoxLCAieCI6MX0pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNl
UmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworLyogTnVt
ZXJpYyBwcm9wZXJ0eSBuYW1lcy4gKi8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCco
ezEuNToxLCAxLjU6MX0pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1
Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhj
ZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExl
bmllbnRBbmRTdHJpY3QoJyh7MS41OjEsIDE1ZS0xOjF9KScsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7
CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoezYuMDIyMTQxNzllMjM6MSwgNi4w
MjIxNDE3OWUyMzoxfSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3Vj
Y2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNl
cHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVu
aWVudEFuZFN0cmljdCgnKHs2LjAyMjE0MTc5ZTIzOjEsIDMuMTQxNTkyNjUzNToxfSknLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5KSwKKyAgICAgICAgIHRydWUp
OworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKHsgMTogMSwgIjEiOiAyIH0pJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9y
KSksCisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyh7
ICIxIjogMSwgMTogMiB9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNT
dWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4
Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RM
ZW5pZW50QW5kU3RyaWN0KCcoeyAyLjU6IDEsICIyLjUiOiAyIH0pJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0
cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyh7ICIyLjUiOiAxLCAyLjU6
IDIgfSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCisvKiBNYW55IHByb3BlcnRpZXMsIHRvIGV4
ZXJjaXNlIEpTQXRvbUxpc3QncyBoYXNoLXRhYmxlIHZhcmlhbnQuICovCithc3NlcnRFcSh0ZXN0
TGVuaWVudEFuZFN0cmljdCgnKHthOjEsIGI6MSwgYzoxLCBkOjEsIGU6MSwgZjoxLCBnOjEsIGg6
MSwgaToxLCBqOjEsIGs6MSwgbDoxLCBtOjEsIG46MSwgbzoxLCBwOjEsIHE6MSwgcjoxLCBzOjEs
IHQ6MSwgdToxLCB2OjEsIHc6MSwgeDoxLCB5OjEsIHo6MX0pJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSksCisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0RXEo
dGVzdExlbmllbnRBbmRTdHJpY3QoJyh7YToxLCBiOjEsIGM6MSwgZDoxLCBlOjEsIGY6MSwgZzox
LCBoOjEsIGk6MSwgajoxLCBrOjEsIGw6MSwgbToxLCBuOjEsIG86MSwgcDoxLCBxOjEsIHI6MSwg
czoxLCB0OjEsIHU6MSwgdjoxLCB3OjEsIHg6MSwgeToxLCBhOjF9KScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAg
dHJ1ZSk7CisKKy8qCisgKiBHZXR0ZXJzLCBzZXR0ZXJzLCBhbmQgdmFsdWUgcHJvcGVydGllcyBz
aG91bGQgY29uZmxpY3Qgb25seSB3aGVuCisgKiBhcHByb3ByaWF0ZS4KKyAqLworYXNzZXJ0RXEo
dGVzdExlbmllbnRBbmRTdHJpY3QoJyh7Z2V0IHgoKSB7fSwgeDoxfSknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJy
b3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgn
KHt4OjEsIGdldCB4KCkge319KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJz
ZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7
CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoe3NldCB4KHEpIHt9LCB4OjF9KScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50
YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2Vw
dGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5p
ZW50QW5kU3RyaWN0KCcoe3g6MSwgc2V0IHgocSkge319KScsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAor
ICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoezE6MSwg
c2V0IDEocSkge319KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNl
c0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fz
c2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoe3NldCAxKHEpIHt9LCAxOjF9KScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJv
ciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihT
eW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5k
U3RyaWN0KCcoeyIxIjoxLCBzZXQgMShxKSB7fX0pJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAg
ICAgICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyh7c2V0IDEocSkg
e30sICIxIjoxfSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNF
eGNlcHRpb24oU3ludGF4RXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKHtnZXQgeCgpIHt9LCBzZXQgeChxKSB7fX0pJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSksCisgICAgICAgICB0
cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyh7c2V0IHgocSkge30sIGdl
dCB4KCkge319KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNz
ZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHkp
LAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoe2dl
dCB4KCkge30sIHNldCB4KHEpIHt9LCB4OjF9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAg
ICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoe3NldCB4KHEpIHt9
LCBnZXQgeCgpIHt9LCB4OjF9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJz
ZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7
CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoe2dldCB4KCkge30sIGdldCB4KCkg
e319KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlv
bihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNl
c0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRl
c3RMZW5pZW50QW5kU3RyaWN0KCcoe3NldCB4KCkge30sIHNldCB4KCkge319KScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50
YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3Ry
aWN0KCcoe2dldCB4KCkge30sIHNldCB4KHEpIHt9LCB5OjF9KScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHkpLAorICAgICAgICAgdHJ1ZSk7CisKK3JlcG9ydENv
bXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMv
MTEuMTMuMS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRl
c3RzLzExLjEzLjEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc1NGRhYzJjMDUyMDIxZGVjNmVlYzgwZDZlODUw
ZWNlYTE2OTkzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjEzLjEuanMKQEAgLTAsMCArMSwzMSBAQAorLyogLSot
IE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMt
b2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8g
dGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNl
cy9wdWJsaWNkb21haW4vCisgKi8KKworLyoKKyAqIFNpbXBsZSBhc3NpZ25tZW50IGV4cHJlc3Np
b25zIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUKKyAqIGFzc2lnbm1lbnRzIHRvICdl
dmFsJyBvciAnYXJndW1lbnRzJy4KKyAqLworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3Qo
J2FyZ3VtZW50cz0xJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nl
c3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0
aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50
QW5kU3RyaWN0KCdldmFsPTEnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2Vz
U3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNF
eGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExl
bmllbnRBbmRTdHJpY3QoJyhhcmd1bWVudHMpPTEnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNz
ZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyhldmFsKT0xJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVl
KTsKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
L3NjcmlwdC10ZXN0cy8xMS4xMy4yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC9zY3JpcHQtdGVzdHMvMTEuMTMuMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjY4NGJiYjAxZGRmMDFi
ZDIxY2JiMGEyZGNmOGJhYzg3ZDhkNWU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTEuMTMuMi5qcwpAQCAtMCwwICsx
LDMxIEBACisvKiAtKi0gTW9kZTogQysrOyB0YWItd2lkdGg6IDI7IGluZGVudC10YWJzLW1vZGU6
IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCisKKy8qCisgKiBBbnkgY29weXJpZ2h0IGlz
IGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAqIGh0dHA6Ly9jcmVhdGl2ZWNvbW1v
bnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKyAqLworCisvKgorICogQ29tcG91bmQgYXNz
aWdubWVudCBleHByZXNzaW9ucyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlCisgKiBh
c3NpZ25tZW50cyB0byAnZXZhbCcgb3IgJ2FyZ3VtZW50cycuCisgKi8KK2Fzc2VydEVxKHRlc3RM
ZW5pZW50QW5kU3RyaWN0KCdhcmd1bWVudHMrPTEnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNz
ZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ2V2YWwrPTEnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUp
OworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyhhcmd1bWVudHMpKz0xJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisg
ICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZXZhbCkrPTEn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJy
b3IpKSwKKyAgICAgICAgIHRydWUpOworCityZXBvcnRDb21wYXJlKHRydWUsIHRydWUpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjMuMS5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjMuMS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43NDIyNWI0NWRhOGUxN2ZjNmQ1NThkYWVlZmFhMWZlNmZjYzQwMzgxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTEu
My4xLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8qIC0qLSBNb2RlOiBDKys7IHRhYi13aWR0aDogMjsg
aW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KKworLyoKKyAq
IEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICogaHR0
cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLworICovCisKKy8q
CisgKiBQb3N0Zml4IGluY3JlbWVudCBleHByZXNzaW9ucyBtdXN0IG5vdCBoYXZlICdldmFsJyBv
ciAnYXJndW1lbnRzJworICogYXMgdGhlaXIgb3BlcmFuZHMuCisgKi8KK2Fzc2VydEVxKHRlc3RM
ZW5pZW50QW5kU3RyaWN0KCdhcmd1bWVudHMrKycsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnZXZhbCsrJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsK
K2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoYXJndW1lbnRzKSsrJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAg
ICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZXZhbCkrKycsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikp
LAorICAgICAgICAgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9q
cy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTEuMy4yLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTEuMy4yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBi
MDZmZWI5MDIzZGI2Y2RhMjlhM2IyNzAwMzIxNDM5ZjExMDE2YmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS4zLjIu
anMKQEAgLTAsMCArMSwzMSBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRl
bnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55
IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8v
Y3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworLyoKKyAq
IFBvc3RmaXggZGVjcmVtZW50IGV4cHJlc3Npb25zIG11c3Qgbm90IGhhdmUgJ2V2YWwnIG9yICdh
cmd1bWVudHMnCisgKiBhcyB0aGVpciBvcGVyYW5kcy4KKyAqLworYXNzZXJ0RXEodGVzdExlbmll
bnRBbmRTdHJpY3QoJ2FyZ3VtZW50cy0tJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNl
UmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVx
KHRlc3RMZW5pZW50QW5kU3RyaWN0KCdldmFsLS0nLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNz
ZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyhhcmd1bWVudHMpLS0nLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAg
IHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyhldmFsKS0tJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisg
ICAgICAgICB0cnVlKTsKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS40LjEuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS40LjEuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGY4NDc2
MmQ1NjJmNzNlYWI2YmVjM2NjMWNmYTUzYzg3MzI5OGFkOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjQuMS5qcwpA
QCAtMCwwICsxLDQzIEBACisvKiAtKi0gTW9kZTogQysrOyB0YWItd2lkdGg6IDI7IGluZGVudC10
YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCisKKy8qCisgKiBBbnkgY29w
eXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAqIGh0dHA6Ly9jcmVh
dGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKyAqLworCisvKiBEZWxldGlu
ZyBhbiBpZGVudGlmaWVyIGlzIGEgc3ludGF4IGVycm9yIGluIHN0cmljdCBtb2RlIGNvZGUgb25s
eS4gKi8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdkZWxldGUgeDsnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAg
ICAgICAgIHRydWUpOworCisvKgorICogQSByZWZlcmVuY2UgZXhwcmVzc2lvbiBzdXJyb3VuZGVk
IGJ5IHBhcmVucyBpcyBpdHNlbGYgYSByZWZlcmVuY2UKKyAqIGV4cHJlc3Npb24uCisgKi8KK2Fz
c2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdkZWxldGUgKHgpOycsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAg
dHJ1ZSk7CisKKy8qIERlbGV0aW5nIG90aGVyIHNvcnRzIG9mIGV4cHJlc3Npb25zIGFyZSBub3Qg
c3ludGF4IGVycm9ycyBpbiBlaXRoZXIgbW9kZS4gKi8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5k
U3RyaWN0KCdkZWxldGUgeC55OycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJz
ZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNj
ZXNzZnVsbHkpLAorICAgICAgICAgdHJ1ZSk7CisKKy8qIEZ1bmN0aW9ucyBzaG91bGQgaW5oZXJp
dCB0aGUgc3Vycm91bmRpbmcgY29kZSdzIHN0cmljdG5lc3MuICovCithc3NlcnRFcSh0ZXN0TGVu
aWVudEFuZFN0cmljdCgnZnVuY3Rpb24gZigpIHsgZGVsZXRlIHg7IH0nLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAg
IHRydWUpOworCisvKiBMb2NhbCBkaXJlY3RpdmVzIG92ZXJyaWRlIHRoZSBzdXJyb3VuZGluZyBj
b2RlJ3Mgc3RyaWN0bmVzcy4gKi8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5j
dGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IGRlbGV0ZSB4OyB9JywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSks
CisgICAgICAgICB0cnVlKTsKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS40LjQuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS40LjQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Yx
NTA4MTMxYTRhODUwZDEzMjRiZDk0ZDZiYzM4ZDI4YWY3OGFjYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzExLjQuNC5q
cwpAQCAtMCwwICsxLDMxIEBACisvKiAtKi0gTW9kZTogQysrOyB0YWItd2lkdGg6IDI7IGluZGVu
dC10YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCisKKy8qCisgKiBBbnkg
Y29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAqIGh0dHA6Ly9j
cmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKyAqLworCisvKgorICog
UHJlZml4IGluY3JlbWVudCBleHByZXNzaW9ucyBtdXN0IG5vdCBoYXZlICdldmFsJyBvciAnYXJn
dW1lbnRzJyBhcworICogdGhlaXIgb3BlcmFuZHMuCisgKi8KK2Fzc2VydEVxKHRlc3RMZW5pZW50
QW5kU3RyaWN0KCcrK2FyZ3VtZW50cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJh
aXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0
ZXN0TGVuaWVudEFuZFN0cmljdCgnKytldmFsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh
cnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2Vy
dEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcrKyhhcmd1bWVudHMpJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0
cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcrKyhldmFsKScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAg
ICAgICAgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTEuNC41LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTEuNC41LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNTVkZjcy
NTA5NDc4ODIwNDBjYTZlOWM2ZDBhYzlmMDcyYmM4MzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMS40LjUuanMKQEAg
LTAsMCArMSwzMSBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFi
cy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHly
aWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRp
dmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworLyoKKyAqIFByZWZp
eCBkZWNyZW1lbnQgZXhwcmVzc2lvbnMgbXVzdCBub3QgaGF2ZSAnZXZhbCcgb3IgJ2FyZ3VtZW50
cycgYXMKKyAqIHRoZWlyIG9wZXJhbmRzLgorICovCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0
cmljdCgnLS1hcmd1bWVudHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2Vz
U3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNF
eGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExl
bmllbnRBbmRTdHJpY3QoJy0tZXZhbCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJh
aXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0
ZXN0TGVuaWVudEFuZFN0cmljdCgnLS0oYXJndW1lbnRzKScsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7
Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnLS0oZXZhbCknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAg
IHRydWUpOworCityZXBvcnRDb21wYXJlKHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3Qvc2NyaXB0LXRlc3RzLzEyLjEwLjEuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemls
bGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMi4xMC4xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3MmE4OWEyZGEx
NjEzMTRiZWUxZTkzMTZiYWU1NTU5MzQwZjVmN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xMi4xMC4xLmpzCkBAIC0w
LDAgKzEsMzIgQEAKKy8qIC0qLSBNb2RlOiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMt
bW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBjb3B5cmln
aHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZl
Y29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLworICovCisKKy8qCisgKiAnd2l0aCcg
c3RhdGVtZW50cyBhcmUgZm9yYmlkZGVuIGluIHN0cmljdCB0b3AtbGV2ZWwgY29kZS4gVGhpcyBp
cworICogZXZhbCBjb2RlLCBidXQgdGhhdCdzIGNsb3NlIGVub3VnaC4KKyAqLworYXNzZXJ0RXEo
dGVzdExlbmllbnRBbmRTdHJpY3QoJ3dpdGggKDEpIHt9JywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbXBsZXRlc05vcm1hbGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworLyog
J3dpdGgnIHN0YXRlbWVudHMgYXJlIGZvcmJpZGRlbiBpbiBzdHJpY3QgZnVuY3Rpb24gY29kZS4g
Ki8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5jdGlvbiBmKCkgeyAidXNlIHN0
cmljdCI7IHdpdGggKDEpIHt9IH0nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisvKgorICogQSB1c2Ugc3RyaWN0IGRp
cmVjdGl2ZSBpbiBhIGZ1bmN0aW9uIG11c3RuJ3QgYWZmZWN0IHRoZSBzdHJpY3RuZXNzCisgKiBv
ZiBzdWJzZXF1ZW50IGNvZGUuCisgKi8KK2Fzc2VydEVxKHBhcnNlc1N1Y2Nlc3NmdWxseSgnZnVu
Y3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyB9OyB3aXRoICgxKSB7fScpLAorICAgICAgICAgdHJ1
ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC9zY3JpcHQtdGVzdHMvMTIuMTQuMS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3Qvc2NyaXB0LXRlc3RzLzEyLjE0LjEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzAxMmU4OGIyZDRiZmJm
YWYxNTU0MDhkZmZiNzNlYjNjNzY4OTQ5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzEyLjE0LjEuanMKQEAgLTAsMCAr
MSwzOSBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2Rl
OiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdodCBp
cyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21t
b25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworLyoKKyAqIEluIHN0cmljdCBt
b2RlLCB0aGUgaWRlbnRpZmllciBib3VuZCBieSBhICdjYXRjaCcgY2xhdXNlIG1heSBub3QKKyAq
IGJlICdldmFsJyBvciAnYXJndW1lbnRzJy4KKyAqLworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRT
dHJpY3QoJ3RyeXt9Y2F0Y2goZXZhbCl7fScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJz
ZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRF
cSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndHJ5e31jYXRjaChbZXZhbF0pe30nLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAg
ICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3RyeXt9Y2F0Y2goe3g6
ZXZhbH0pe30nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1
bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24o
U3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRT
dHJpY3QoJ3RyeXt9Y2F0Y2goYXJndW1lbnRzKXt9JywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fz
c2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd0cnl7fWNhdGNoKFthcmd1bWVudHNdKXt9JywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9y
KSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd0cnl7
fWNhdGNoKHt4OmFyZ3VtZW50c30pe30nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VS
YWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCityZXBvcnRD
b21wYXJlKHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3Rz
LzEyLjIuMS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRl
c3RzLzEyLjIuMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODhkYmVjYmM1YWY1YzcyMGU2MzFmNjgxZWFiMTcz
YWRkYzgxYTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9zY3JpcHQtdGVzdHMvMTIuMi4xLmpzCkBAIC0wLDAgKzEsMjcgQEAKKy8qIC0qLSBN
b2RlOiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9m
ZnNldDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRo
ZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMv
cHVibGljZG9tYWluLworICovCisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIg
ZXZhbDsnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJ3ZhciB4LGV2YWw7JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1
Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhj
ZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5p
ZW50QW5kU3RyaWN0KCd2YXIgYXJndW1lbnRzOycsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFyIHgsYXJndW1lbnRzOycsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAg
ICAgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9zY3JpcHQtdGVzdHMvMTMuMS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzEzLjEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFmYjI4NzgxMTVkOTZj
NjEyMzA3ZTkxNjg4ZWY5ODcxM2RiMmVlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzEzLjEuanMKQEAgLTAsMCArMSwz
NDcgQEAKKy8qIC0qLSBNb2RlOiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTog
bmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBjb3B5cmlnaHQgaXMg
ZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZlY29tbW9u
cy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLworICovCisKKy8qCisgKiBJbiBzdHJpY3QgbW9k
ZSwgaXQgaXMgYSBzeW50YXggZXJyb3IgZm9yIGFuIGlkZW50aWZpZXIgdG8gYXBwZWFyCisgKiBt
b3JlIHRoYW4gb25jZSBpbiBhIGZ1bmN0aW9uJ3MgYXJndW1lbnQgbGlzdC4KKyAqLworCisvKgor
ICogVGhlIHBhcmFtZXRlcnMgb2Ygb3JkaW5hcnkgZnVuY3Rpb24gZGVmaW5pdGlvbnMgc2hvdWxk
IG5vdCBjb250YWluCisgKiBkdXBsaWNhdGUgaWRlbnRpZmllcnMuCisgKi8KK2Fzc2VydEVxKHRl
c3RMZW5pZW50QW5kU3RyaWN0KCdmdW5jdGlvbiBmKHgseSkge30nLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5KSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEo
dGVzdExlbmllbnRBbmRTdHJpY3QoJ2Z1bmN0aW9uIGYoeCx4KSB7fScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAg
dHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnZnVuY3Rpb24gZih4LHkseix5
KSB7fScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50
YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKKy8qIEV4ZXJjaXNlIHRoZSBoYXNoZWQgbG9j
YWwgbmFtZSBtYXAgY2FzZS4gKi8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5j
dGlvbiBmKGEsYixjLGQsZSxmLGcsaCxkKSB7fScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKKy8q
CisgKiBTcGlkZXJNb25rZXkgaGFzIGFsd2F5cyB0cmVhdGVkIGR1cGxpY2F0ZXMgaW4gZGVzdHJ1
Y3R1cmluZworICogcGF0dGVybnMgYXMgYW4gZXJyb3IuIFN0cmljdCBtb2RlIHNob3VsZCBub3Qg
YWZmZWN0IHRoaXMuCisgKi8KK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5jdGlv
biBmKFt4LHldKSB7fScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNj
ZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVs
bHkpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnZnVu
Y3Rpb24gZihbeCx4XSl7fScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJh
aXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cith
c3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnZnVuY3Rpb24gZih4LFt4XSl7fScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJv
ciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihT
eW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKKy8qCisgKiBTdHJpY3QgcnVsZXMgYXBw
bHkgdG8gdGhlIHBhcmFtZXRlcnMgaWYgdGhlIGZ1bmN0aW9uJ3MgYm9keSBpcworICogc3RyaWN0
LgorICovCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnZnVuY3Rpb24gZih4LHgpIHsg
InVzZSBzdHJpY3QiIH07JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFp
c2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKKwor
LyoKKyAqIENhbGxzIHRvIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBzaG91bGQgbm90IGJlIGFm
ZmVjdGVkIGJ5IHRoZQorICogc3RyaWN0bmVzcyBvZiB0aGUgY2FsbGluZyBjb2RlLCBidXQgc2hv
dWxkIGJlIGFmZmVjdGVkIGJ5IHRoZQorICogc3RyaWN0bmVzcyBvZiB0aGUgZnVuY3Rpb24gYm9k
eS4KKyAqLworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ0Z1bmN0aW9uKCJ4IiwieCIs
IiIpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlc05vcm1hbGx5LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVzTm9ybWFsbHkpLAorICAgICAg
ICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnRnVuY3Rpb24oIngiLCJ5
IiwiIiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVzTm9ybWFsbHks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZXNOb3JtYWxseSksCisgICAg
ICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdGdW5jdGlvbigieCIs
IngiLCJcJ3VzZSBzdHJpY3RcJyIpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJh
aXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0
RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ0Z1bmN0aW9uKCJ4IiwieSIsIlwndXNlIHN0cmljdFwn
IiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVzTm9ybWFsbHksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZXNOb3JtYWxseSksCisgICAgICAg
ICB0cnVlKTsKKworCisvKgorICogVGhlIHBhcmFtZXRlciBsaXN0cyBvZiBmdW5jdGlvbiBleHBy
ZXNzaW9ucyBzaG91bGQgbm90IGNvbnRhaW4KKyAqIGR1cGxpY2F0ZSBpZGVudGlmaWVycy4KKyAq
LworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyhmdW5jdGlvbiAoeCx4KSAyKScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9y
KSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVu
Y3Rpb24gKHgseSkgMiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3Vj
Y2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1
bGx5KSwKKyAgICAgICAgIHRydWUpOworCisvKgorICogQWxsIHBlcm11dGF0aW9ucyBvZjoKKyAq
IC0gRm9yIHRoZSB0d28gbWFnaWMgaWRlbnRpZmllcnMgJ2FyZ3VtZW50cycgb3IgJ2V2YWwnCisg
KiAgIC0gRm9yIGZ1bmN0aW9uIGRlZmluaXRpb25zLCBmdW5jdGlvbiBleHByZXNzaW9ucywgZXhw
cmVzc2lvbiBjbG9zdXJlcywKKyAqICAgICBhbmQgZ2V0dGVyIGFuZCBzZXR0ZXIgcHJvcGVydHkg
ZGVmaW5pdGlvbnMsCisgKiAgICAgLSBGb3IgZm9ybXMgdGhhdCBpbmhlcml0IHRoZWlyIGNvbnRl
eHQncyBzdHJpY3RuZXNzLCBhbmQgZm9ybXMgdGhhdAorICogICAgICAgaW5jbHVkZSB0aGVpciBv
d24gc3RyaWN0bmVzcyBkaXJlY3RpdmVzLAorICogICAgICAgLSBGb3Igb3JkaW5hcnkgcGFyYW1l
dGVycywgYXJyYXkgZGVzdHJ1Y3R1cmluZyBwYXJhbWV0ZXJzLCBhbmQgCisgKiAgICAgICAgIG9i
amVjdCBkZXN0cnVjdHVyaW5nIHBhcmFtZXRlcnMsCisgKiAgICAgICAgIC0gdGhlIG1hZ2ljIGlk
ZW50aWZpZXJzIG1heSBiZSB1c2VkIHRvIG5hbWUgc3VjaCBwYXJhbWV0ZXJzCisgKiAgICAgICAg
ICAgaW4gbGVuaWVudCBjb2RlLCBidXQgbm90IGluIHN0cmljdCBjb2RlCisgKiAgICAgICAtIHRo
ZSBtYWdpYyBpZGVudGlmaWVycyBtYXkgYmUgdXNlZCBhcyBmdW5jdGlvbiBuYW1lcyBpbiBsZW5p
ZW50IGNvZGUsCisgKiAgICAgICAgIGJ1dCBub3QgaW4gc3RyaWN0IGNvZGUKKyAqLworYXNzZXJ0
RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ2Z1bmN0aW9uIGYoZXZhbCl7fScsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAg
ICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnZnVuY3Rpb24gZihbZXZh
bF0pe30nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJ2Z1bmN0aW9uIGYoe3g6ZXZhbH0pe30nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0
RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ2Z1bmN0aW9uIGV2YWwoKXt9JywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAg
ICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5jdGlvbiBmKGV2YWwp
eyJ1c2Ugc3RyaWN0Ijt9JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFp
c2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fz
c2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5jdGlvbiBmKFtldmFsXSl7InVzZSBzdHJp
Y3QiO30nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRp
b24oU3ludGF4RXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlz
ZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVz
dExlbmllbnRBbmRTdHJpY3QoJ2Z1bmN0aW9uIGYoe3g6ZXZhbH0peyJ1c2Ugc3RyaWN0Ijt9JywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRh
eEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0
aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50
QW5kU3RyaWN0KCdmdW5jdGlvbiBldmFsKCl7InVzZSBzdHJpY3QiO30nLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJy
b3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyhm
dW5jdGlvbiBmKGV2YWwpe30pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNl
c1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2Vz
RXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RM
ZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gZihbZXZhbF0pe30pJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0
cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gZih7eDpldmFs
fSl7fSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJyhmdW5jdGlvbiBldmFsKCl7fSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VS
YWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEo
dGVzdExlbmllbnRBbmRTdHJpY3QoJyhmdW5jdGlvbiBmKGV2YWwpeyJ1c2Ugc3RyaWN0Ijt9KScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50
YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2Vw
dGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVu
dEFuZFN0cmljdCgnKGZ1bmN0aW9uIGYoW2V2YWxdKXsidXNlIHN0cmljdCI7fSknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3Ip
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJyhmdW5jdGlvbiBmKHt4OmV2YWx9KXsidXNlIHN0cmljdCI7fSknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJy
b3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyhm
dW5jdGlvbiBldmFsKCl7InVzZSBzdHJpY3QiO30pJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAg
ICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gZihl
dmFsKSAyKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVs
bHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihT
eW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0
cmljdCgnKGZ1bmN0aW9uIGYoW2V2YWxdKSAyKScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKGZ1bmN0aW9uIGYoe3g6ZXZhbH0pIDIpJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSks
CisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rp
b24gZXZhbCgpIDIpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nl
c3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0
aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50
QW5kU3RyaWN0KCcoe3NldCB4KGV2YWwpe319KScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKHtzZXQgeChbZXZhbF0pe319KScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAg
ICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKHtzZXQgeCh7eDpl
dmFsfSl7fX0pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3Nm
dWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9u
KFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5k
U3RyaWN0KCcoe3NldCB4KGV2YWwpeyJ1c2Ugc3RyaWN0Ijt9fSknLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3Ip
KSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyh7c2V0
IHgoW2V2YWxdKXsidXNlIHN0cmljdCI7fX0pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAg
ICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoe3NldCB4KHt4OmV2YWx9
KXsidXNlIHN0cmljdCI7fX0pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNl
UmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsK
K2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5jdGlvbiBmKGFyZ3VtZW50cyl7fScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJv
cikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnZnVu
Y3Rpb24gZihbYXJndW1lbnRzXSl7fScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJh
aXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0
ZXN0TGVuaWVudEFuZFN0cmljdCgnZnVuY3Rpb24gZih7eDphcmd1bWVudHN9KXt9JywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisg
ICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5jdGlvbiBh
cmd1bWVudHMoKXt9JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nl
c3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0
aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50
QW5kU3RyaWN0KCdmdW5jdGlvbiBmKGFyZ3VtZW50cyl7InVzZSBzdHJpY3QiO30nLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3Ip
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJ2Z1bmN0aW9uIGYoW2FyZ3VtZW50c10peyJ1c2Ugc3RyaWN0Ijt9JywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVy
cm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdm
dW5jdGlvbiBmKHt4OmFyZ3VtZW50c30peyJ1c2Ugc3RyaWN0Ijt9JywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9y
KSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdmdW5j
dGlvbiBhcmd1bWVudHMoKXsidXNlIHN0cmljdCI7fScsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAg
ICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKGZ1bmN0aW9uIGYo
YXJndW1lbnRzKXt9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNj
ZXNzZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2Vw
dGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVu
dEFuZFN0cmljdCgnKGZ1bmN0aW9uIGYoW2FyZ3VtZW50c10pe30pJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0
cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gZih7eDphcmd1
bWVudHN9KXt9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNz
ZnVsbHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlv
bihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFu
ZFN0cmljdCgnKGZ1bmN0aW9uIGFyZ3VtZW50cygpe30pJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsK
K2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gZihhcmd1bWVudHMpeyJ1
c2Ugc3RyaWN0Ijt9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNl
c0V4Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKGZ1bmN0aW9uIGYoW2FyZ3VtZW50c10peyJ1c2Ug
c3RyaWN0Ijt9KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4
Y2VwdGlvbihTeW50YXhFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJz
ZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRF
cSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKGZ1bmN0aW9uIGYoe3g6YXJndW1lbnRzfSl7InVzZSBz
dHJpY3QiO30pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhj
ZXB0aW9uKFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNl
UmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVx
KHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gYXJndW1lbnRzKCl7InVzZSBzdHJpY3Qi
O30pJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9u
KFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2Vz
RXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RM
ZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gZihhcmd1bWVudHMpIDIpJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAg
ICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gZihbYXJn
dW1lbnRzXSkgMiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vz
c2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRp
b24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRB
bmRTdHJpY3QoJyhmdW5jdGlvbiBmKHt4OmFyZ3VtZW50c30pIDIpJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSksCisgICAgICAgICB0
cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCcoZnVuY3Rpb24gYXJndW1lbnRz
KCkgMiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3VjY2Vzc2Z1bGx5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJyh7c2V0IHgoYXJndW1lbnRzKXt9fSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0
RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyh7c2V0IHgoW2FyZ3VtZW50c10pe319KScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhFcnJvcikpLAor
ICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnKHtzZXQgeCh7
eDphcmd1bWVudHN9KXt9fSknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2Vz
U3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNF
eGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExl
bmllbnRBbmRTdHJpY3QoJyh7c2V0IHgoYXJndW1lbnRzKXsidXNlIHN0cmljdCI7fX0pJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVy
cm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9u
KFN5bnRheEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5k
U3RyaWN0KCcoe3NldCB4KFthcmd1bWVudHNdKXsidXNlIHN0cmljdCI7fX0pJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRh
eEVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0
KCcoe3NldCB4KHt4OmFyZ3VtZW50c30peyJ1c2Ugc3RyaWN0Ijt9fSknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJy
b3IpKSwKKyAgICAgICAgIHRydWUpOworCisvKgorICogRnVuY3Rpb25zIHByb2R1Y2VkIHVzaW5n
IHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBtYXkgbm90IHVzZQorICogJ2V2YWwnIG9yICdhcmd1
bWVudHMnIGFzIGEgcGFyYW1ldGVyIG5hbWUgaWYgdGhlaXIgYm9keSBpcyBzdHJpY3QKKyAqIG1v
ZGUgY29kZS4gVGhlIHN0cmljdG5lc3Mgb2YgdGhlIGNhbGxpbmcgY29kZSBkb2VzIG5vdCBhZmZl
Y3QgdGhlCisgKiBjb25zdHJhaW50cyBhcHBsaWVkIHRvIHRoZSBwYXJhbWV0ZXJzLgorICovCith
c3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnRnVuY3Rpb24oImV2YWwiLCIiKScsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZXNOb3JtYWxseSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlc05vcm1hbGx5KSwKKyAgICAgICAgIHRydWUpOwor
YXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ0Z1bmN0aW9uKCJldmFsIiwiXCd1c2Ugc3Ry
aWN0XCc7IiknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0aW9u
KFN5bnRheEVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlc0V4Y2Vw
dGlvbihTeW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVu
dEFuZFN0cmljdCgnRnVuY3Rpb24oImFyZ3VtZW50cyIsIiIpJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbXBsZXRlc05vcm1hbGx5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29tcGxldGVzTm9ybWFsbHkpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0
TGVuaWVudEFuZFN0cmljdCgnRnVuY3Rpb24oImFyZ3VtZW50cyIsIlwndXNlIHN0cmljdFwnOyIp
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihTeW50YXhF
cnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZXNFeGNlcHRpb24oU3lu
dGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1
ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuMTAuNy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzE1LjEwLjcuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjY3YjJhYjg1ZThhZTQ0MDY2ZjNhODIyZjA1OTQ2MDkwN2FjODNmMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0
LXRlc3RzLzE1LjEwLjcuanMKQEAgLTAsMCArMSw0NSBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFi
LXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAq
LworCisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21h
aW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4v
CisgKi8KKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciByID0gL2Zvby87IHIu
c291cmNlID0gImJhciI7IHIuc291cmNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybnMoImZvbyIpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0
cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgciA9IC9mb28vOyBkZWxl
dGUgci5zb3VyY2UnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyhmYWxz
ZSksIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFyIHIgPSAvZm9vLzsgci5nbG9iYWwgPSB0cnVl
OyByLmdsb2JhbCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKGZhbHNl
KSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRF
cSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFyIHIgPSAvZm9vLzsgZGVsZXRlIHIuZ2xvYmFsJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybnMoZmFsc2UpLCByYWlzZXNFeGNl
cHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmll
bnRBbmRTdHJpY3QoJ3ZhciByID0gL2Zvby87IHIuaWdub3JlQ2FzZSA9IHRydWU7IHIuaWdub3Jl
Q2FzZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKGZhbHNlKSwgcmFp
c2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0
TGVuaWVudEFuZFN0cmljdCgndmFyIHIgPSAvZm9vLzsgZGVsZXRlIHIuaWdub3JlQ2FzZScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKGZhbHNlKSwgcmFpc2VzRXhjZXB0
aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50
QW5kU3RyaWN0KCd2YXIgciA9IC9mb28vOyByLm11bHRpbGluZSA9IHRydWU7IHIubXVsdGlsaW5l
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybnMoZmFsc2UpLCByYWlzZXNF
eGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5p
ZW50QW5kU3RyaWN0KCd2YXIgciA9IC9mb28vOyBkZWxldGUgci5tdWx0aWxpbmUnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyhmYWxzZSksIHJhaXNlc0V4Y2VwdGlvbihU
eXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0
cmljdCgndmFyIHIgPSAvZm9vLzsgci5sYXN0SW5kZXggPSA0Mjsgci5sYXN0SW5kZXgnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyg0MiksIHJldHVybnMoNDIpKSwKKyAg
ICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciByID0gL2Zv
by87IGRlbGV0ZSByLmxhc3RJbmRleCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm5zKGZhbHNlKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1
ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC9zY3JpcHQtdGVzdHMvMTUuMy40LjUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0L3NjcmlwdC10ZXN0cy8xNS4zLjQuNS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzAwZjljNmUyNjYw
YTIzMTJkODEyMDRjZWU1ZjIyZGEyZWJhZThmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuMy40LjUuanMKQEAgLTAs
MCArMSwyOCBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1t
b2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdo
dCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVj
b21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworZnVuY3Rpb24gc3RyaWN0
KCkgeyAndXNlIHN0cmljdCc7IHJldHVybiB0aGlzOyB9CitmdW5jdGlvbiBsZW5pZW50KCkgeyBy
ZXR1cm4gdGhpczsgfQordmFyIG9iaiA9IHt9OworCithc3NlcnRFcShzdHJpY3QuYmluZCh0cnVl
KSgpLCB0cnVlKTsKK2Fzc2VydEVxKHN0cmljdC5iaW5kKDQyKSgpLCA0Mik7Cithc3NlcnRFcShz
dHJpY3QuYmluZCgiIikoKSwgIiIpOworYXNzZXJ0RXEoc3RyaWN0LmJpbmQobnVsbCkoKSwgbnVs
bCk7Cithc3NlcnRFcShzdHJpY3QuYmluZCh1bmRlZmluZWQpKCksIHVuZGVmaW5lZCk7Cithc3Nl
cnRFcShzdHJpY3QuYmluZChvYmopKCksIG9iaik7CisKK2Fzc2VydEVxKGxlbmllbnQuYmluZCh0
cnVlKSgpIGluc3RhbmNlb2YgQm9vbGVhbiwgdHJ1ZSk7Cithc3NlcnRFcShsZW5pZW50LmJpbmQo
NDIpKCkgaW5zdGFuY2VvZiBOdW1iZXIsIHRydWUpOworYXNzZXJ0RXEobGVuaWVudC5iaW5kKCIi
KSgpIGluc3RhbmNlb2YgU3RyaW5nLCB0cnVlKTsKK2Fzc2VydEVxKGxlbmllbnQuYmluZChudWxs
KSgpLCB0aGlzKTsKK2Fzc2VydEVxKGxlbmllbnQuYmluZCh1bmRlZmluZWQpKCksIHRoaXMpOwor
YXNzZXJ0RXEobGVuaWVudC5iaW5kKG9iaikoKSwgb2JqKTsKKworcmVwb3J0Q29tcGFyZSh0cnVl
LCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS4zLjUuMS5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzE1LjMu
NS4xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFjNTBlZmVkYWZiNDU4ODg2ZWVmYzUzZWY2NTk0MWJlNzAxOTBk
MTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
L3NjcmlwdC10ZXN0cy8xNS4zLjUuMS5qcwpAQCAtMCwwICsxLDIxIEBACisvKiAtKi0gTW9kZTog
QysrOyB0YWItd2lkdGg6IDI7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6
IDIgLSotICovCisKKy8qCisgKiBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVi
bGljIERvbWFpbi4KKyAqIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1Ymxp
Y2RvbWFpbi8KKyAqLworCitmdW5jdGlvbiBmbigpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGEsIGIs
IGMpIHsgfTsKK30KKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBmID0gZm4o
KTsgZi5sZW5ndGggPSAxOyBmLmxlbmd0aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm5zKDMpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVl
KTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgZiA9IGZuKCk7IGRlbGV0ZSBm
Lmxlbmd0aCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKGZhbHNlKSwg
cmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK3JlcG9ydENv
bXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMv
MTUuMy41LjIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10
ZXN0cy8xNS4zLjUuMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjQ2ZGZmNjQzYzc5YTgyOGI1OTFmYTQ3ZmEz
MjhmYzhjNmNmZTI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuMy41LjIuanMKQEAgLTAsMCArMSwxOCBAQAorLyog
LSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFz
aWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQg
dG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNl
bnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworZnVuY3Rpb24gZm4oKSB7CisgIHJldHVybiBmdW5j
dGlvbihhLCBiLCBjKSB7IH07Cit9CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2
YXIgZiA9IGZuKCk7IGRlbGV0ZSBmLnByb3RvdHlwZScsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm5zKGZhbHNlKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAg
ICAgICAgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNC40LjEyLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9q
cy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNC40LjEyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
NmM1ZTY4ODU3ZGY5N2E3NWFiZTBmYzFiZGJjNjRmN2NlZTZmYmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40LjQu
MTIuanMKQEAgLTAsMCArMSw1MiBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBp
bmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICog
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworZnVu
Y3Rpb24gYXJyKCkgeworICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KFsxLCAyLCAzXSwg
MCwge3dyaXRhYmxlOiBmYWxzZX0pOworfQorCitmdW5jdGlvbiBvYmooKSB7CisgIHZhciBvID0g
ezA6IDEsIDE6IDIsIDI6IDMsIGxlbmd0aDogM307CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShv
LCAwLCB7d3JpdGFibGU6IGZhbHNlfSk7CisgIHJldHVybiBvOworfQorCithc3NlcnRFcSh0ZXN0
TGVuaWVudEFuZFN0cmljdCgndmFyIGEgPSBhcnIoKTsgW2Euc3BsaWNlKDAsIDEpLCBhXScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3Ip
KSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFy
IG8gPSBvYmooKTsgW0FycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChvLCAwLCAxKSwgb10nLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvciks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9y
KSksCisgICAgICAgICB0cnVlKTsKKworZnVuY3Rpb24gYWdhcCgpIHsKKyAgdmFyIGEgPSBbMSwg
MiwgLCA0XTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIDEsIHtjb25maWd1cmFibGU6IGZh
bHNlfSk7CisgIHJldHVybiBhOworfQorCitmdW5jdGlvbiBvZ2FwKCkgeworICB2YXIgbyA9IHsw
OiAxLCAxOiAyLCAvKiBubyAyICovIDM6IDQsIGxlbmd0aDogNH07CisgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvLCAxLCB7Y29uZmlndXJhYmxlOiBmYWxzZX0pOworICByZXR1cm4gbzsKK30KKwor
YXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBhID0gYWdhcCgpOyBbYS5zcGxpY2Uo
MCwgMSksIGFdJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlv
bihUeXBlRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0
aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50
QW5kU3RyaWN0KCd2YXIgbyA9IG9nYXAoKTsgW0FycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChv
LCAwLCAxKSwgb10nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0
aW9uKFR5cGVFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZXNFeGNl
cHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworcmVwb3J0Q29tcGFyZSh0cnVl
LCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40LjQuMTMu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40
LjQuMTMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGYyYTEzNDRjYmQxMTU3MzQxMzViNWEyNDI0NzBiZjk1Y2Iz
MjRmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJp
Y3Qvc2NyaXB0LXRlc3RzLzE1LjQuNC4xMy5qcwpAQCAtMCwwICsxLDUyIEBACisvKiAtKi0gTW9k
ZTogQysrOyB0YWItd2lkdGg6IDI7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZz
ZXQ6IDIgLSotICovCisKKy8qCisgKiBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUg
UHVibGljIERvbWFpbi4KKyAqIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1
YmxpY2RvbWFpbi8KKyAqLworCitmdW5jdGlvbiBhcnIoKSB7CisgIHJldHVybiBPYmplY3QuZGVm
aW5lUHJvcGVydHkoWzEsIDIsIDNdLCAwLCB7d3JpdGFibGU6IGZhbHNlfSk7Cit9CisKK2Z1bmN0
aW9uIG9iaigpIHsKKyAgdmFyIG8gPSB7MDogMSwgMTogMiwgMjogMywgbGVuZ3RoOiAzfTsKKyAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIDAsIHt3cml0YWJsZTogZmFsc2V9KTsKKyAgcmV0dXJu
IG87Cit9CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgYSA9IGFycigpOyBb
YS51bnNoaWZ0KDQwLCA1MCksIGFdJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJh
aXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVx
KHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgbyA9IG9iaigpOyBbQXJyYXkucHJvdG90eXBlLnVu
c2hpZnQuY2FsbChvLCA0MCwgNTApLCBvXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCitmdW5j
dGlvbiBhZ2FwKCkgeworICB2YXIgYSA9IFsxLCAyLCAsIDRdOworICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoYSwgMywge2NvbmZpZ3VyYWJsZTogZmFsc2V9KTsKKyAgcmV0dXJuIGE7Cit9CisKK2Z1
bmN0aW9uIG9nYXAoKSB7CisgIHZhciBvID0gezA6IDEsIDE6IDIsIC8qIG5vIDIgKi8gMzogNCwg
bGVuZ3RoOiA0fTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIDMsIHtjb25maWd1cmFibGU6
IGZhbHNlfSk7CisgIHJldHVybiBvOworfQorCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmlj
dCgndmFyIGEgPSBhZ2FwKCk7IFthLnVuc2hpZnQoOSksIGFdJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1
ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgbyA9IG9nYXAoKTsgW0Fy
cmF5LnByb3RvdHlwZS51bnNoaWZ0LmNhbGwobywgOSksIG9dJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1
ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC9zY3JpcHQtdGVzdHMvMTUuNC40LjYuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40LjQuNi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTQwYzkwNjQ1NDMz
OTcwNWQ5ZDM4NTA1MTdmMjJlMmRlYmU5ZjAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNC40LjYuanMKQEAgLTAs
MCArMSwzMCBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1t
b2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdo
dCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVj
b21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworZnVuY3Rpb24gYXJyKCkg
eworICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KFsxLCAyLCAzXSwgMiwge2NvbmZpZ3Vy
YWJsZTogZmFsc2V9KTsKK30KKworZnVuY3Rpb24gb2JqKCkgeworICB2YXIgbyA9IHswOiAxLCAx
OiAyLCAyOiAzLCBsZW5ndGg6IDN9OworICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgMiwge2Nv
bmZpZ3VyYWJsZTogZmFsc2V9KTsKKyAgcmV0dXJuIG87Cit9CisKK2Fzc2VydEVxKHRlc3RMZW5p
ZW50QW5kU3RyaWN0KCd2YXIgYSA9IGFycigpOyBbYS5wb3AoKSwgYV0nLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvciksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAg
ICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBvID0gb2JqKCk7
IFtBcnJheS5wcm90b3R5cGUucG9wLmNhbGwobyksIG9dJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7
CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9z
Y3JpcHQtdGVzdHMvMTUuNC40LjguanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3Ry
aWN0L3NjcmlwdC10ZXN0cy8xNS40LjQuOC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGIxYTU0OTAxNzlhNmFi
YTg2MTUzYzIyNWJhYjdmYmY3ZTIwMTU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNC40LjguanMKQEAgLTAsMCAr
MSw1MiBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2Rl
OiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdodCBp
cyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21t
b25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworZnVuY3Rpb24gYXJyKCkgewor
ICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KFsxLCAyLCAzXSwgMCwge3dyaXRhYmxlOiBm
YWxzZX0pOworfQorCitmdW5jdGlvbiBvYmooKSB7CisgIHZhciBvID0gezA6IDEsIDE6IDIsIDI6
IDMsIGxlbmd0aDogM307CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAwLCB7d3JpdGFibGU6
IGZhbHNlfSk7CisgIHJldHVybiBvOworfQorCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmlj
dCgndmFyIGEgPSBhcnIoKTsgYS5yZXZlcnNlKCknLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKKwor
YXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBvID0gb2JqKCk7IEFycmF5LnByb3Rv
dHlwZS5yZXZlcnNlLmNhbGwobyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFp
c2VzRXhjZXB0aW9uKFR5cGVFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
YWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworZnVuY3Rpb24g
YWdhcCgpIHsKKyAgdmFyIGEgPSBbMSwgMiwgLCA0XTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGEsIDEsIHtjb25maWd1cmFibGU6IGZhbHNlfSk7CisgIHJldHVybiBhOworfQorCitmdW5jdGlv
biBvZ2FwKCkgeworICB2YXIgbyA9IHswOiAxLCAxOiAyLCAvKiBubyAyICovIDM6IDQsIGxlbmd0
aDogNH07CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAxLCB7Y29uZmlndXJhYmxlOiBmYWxz
ZX0pOworICByZXR1cm4gbzsKK30KKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3Zh
ciBhID0gYWdhcCgpOyBhLnJldmVyc2UoKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFyIG8gPSBvZ2FwKCk7IEFycmF5LnByb3RvdHlw
ZS5yZXZlcnNlLmNhbGwobyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Vz
RXhjZXB0aW9uKFR5cGVFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlz
ZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworcmVwb3J0Q29tcGFy
ZSh0cnVlLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40
LjQuOS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3Rz
LzE1LjQuNC45LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2NGQ2MzJlOTY4OGU4YTgxOTE5YjdmMGI1OWI3MTQy
Mjg2MWNhNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0L3NjcmlwdC10ZXN0cy8xNS40LjQuOS5qcwpAQCAtMCwwICsxLDUyIEBACisvKiAtKi0g
TW9kZTogQysrOyB0YWItd2lkdGg6IDI7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1v
ZmZzZXQ6IDIgLSotICovCisKKy8qCisgKiBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0
aGUgUHVibGljIERvbWFpbi4KKyAqIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2Vz
L3B1YmxpY2RvbWFpbi8KKyAqLworCitmdW5jdGlvbiBhcnIoKSB7CisgIHJldHVybiBPYmplY3Qu
ZGVmaW5lUHJvcGVydHkoWzEwLCAyMCwgMzBdLCAwLCB7d3JpdGFibGU6IGZhbHNlfSk7Cit9CisK
K2Z1bmN0aW9uIG9iaigpIHsKKyAgdmFyIG8gPSB7MDogMTAsIDE6IDIwLCAyOiAzMCwgbGVuZ3Ro
OiAzfTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIDAsIHt3cml0YWJsZTogZmFsc2V9KTsK
KyAgcmV0dXJuIG87Cit9CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgYSA9
IGFycigpOyBbYS5zaGlmdCgpLCBhXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
YWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRF
cSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFyIG8gPSBvYmooKTsgW0FycmF5LnByb3RvdHlwZS5z
aGlmdC5jYWxsKG8pLCBvXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZXNF
eGNlcHRpb24oVHlwZUVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl
c0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCitmdW5jdGlvbiBhZ2Fw
KCkgeworICB2YXIgYSA9IFsxLCAyLCAsIDRdOworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwg
MSwge2NvbmZpZ3VyYWJsZTogZmFsc2V9KTsKKyAgcmV0dXJuIGE7Cit9CisKK2Z1bmN0aW9uIG9n
YXAoKSB7CisgIHZhciBvID0gezA6IDEsIDE6IDIsIC8qIG5vIDIgKi8gMzogNCwgbGVuZ3RoOiA0
fTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIDEsIHtjb25maWd1cmFibGU6IGZhbHNlfSk7
CisgIHJldHVybiBvOworfQorCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFyIGEg
PSBhZ2FwKCk7IFthLnNoaWZ0KCksIGFdJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2Vy
dEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgbyA9IG9nYXAoKTsgW0FycmF5LnByb3RvdHlw
ZS5zaGlmdC5jYWxsKG8pLCBvXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlz
ZXNFeGNlcHRpb24oVHlwZUVycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJh
aXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCityZXBvcnRDb21w
YXJlKHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzE1
LjQuNS4xLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVz
dHMvMTUuNC41LjEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI3N2MyMzRiMzMxZWM2NGMyZTc2N2Y5ZGZkODBh
NjE1MDFhY2QyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxs
YS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzE1LjQuNS4xLmpzCkBAIC0wLDAgKzEsMzIgQEAKKy8qIC0q
LSBNb2RlOiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2lj
LW9mZnNldDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRv
IHRoZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5z
ZXMvcHVibGljZG9tYWluLworICovCisKK2Z1bmN0aW9uIGFycigpIHsKKyAgcmV0dXJuIE9iamVj
dC5kZWZpbmVQcm9wZXJ0eShbMSwgMiwgMywgNF0sIDIsIHtjb25maWd1cmFibGU6IGZhbHNlfSk7
Cit9CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgYSA9IGFycigpOyBhLmxl
bmd0aCA9IDI7IGEnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuc0NvcHlP
ZihbMSwgMiwgM10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VzRXhjZXB0
aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKKy8vIEludGVybmFsbHksIFNwaWRl
ck1vbmtleSBoYXMgdHdvIHJlcHJlc2VudGF0aW9ucyBmb3IgYXJyYXlzOgorLy8gZmFzdC1idXQt
aW5mbGV4aWJsZSwgYW5kIHNsb3ctYnV0LWZsZXhpYmxlLiBBZGRpbmcgYSBub24taW5kZXggcHJv
cGVydHkKKy8vIHRvIGFuIGFycmF5IHR1cm5zIGl0IGludG8gdGhlIGxhdHRlci4gV2Ugc2hvdWxk
IHRlc3Qgb24gYm90aCBraW5kcy4KK2Z1bmN0aW9uIGFkZHgob2JqKSB7CisgIG9iai54ID0gNTsK
KyAgcmV0dXJuIG9iajsKK30KKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBh
ID0gYWRkeChhcnIoKSk7IGEubGVuZ3RoID0gMjsgYScsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm5zQ29weU9mKGFkZHgoWzEsIDIsIDNdKSksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVl
KTsKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
L3NjcmlwdC10ZXN0cy8xNS41LjUuMS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3Qvc2NyaXB0LXRlc3RzLzE1LjUuNS4xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMDM5OTVjYjdhMmNj
ZDY4N2Y4MmExOWRjOWViNGYwNzUyODI0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS41LjUuMS5qcwpAQCAtMCww
ICsxLDI4IEBACisvKiAtKi0gTW9kZTogQysrOyB0YWItd2lkdGg6IDI7IGluZGVudC10YWJzLW1v
ZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCisKKy8qCisgKiBBbnkgY29weXJpZ2h0
IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAqIGh0dHA6Ly9jcmVhdGl2ZWNv
bW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKyAqLworCitmdW5jdGlvbiBzdHIoKSB7
CisgIHJldHVybiBuZXcgU3RyaW5nKCJmb28iKTsKK30KKworYXNzZXJ0RXEodGVzdExlbmllbnRB
bmRTdHJpY3QoJ3ZhciBzID0gc3RyKCk7IHMubGVuZ3RoID0gMTsgcy5sZW5ndGgnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucygzKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVF
cnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgn
dmFyIHMgPSBzdHIoKTsgZGVsZXRlIHMubGVuZ3RoJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybnMoZmFsc2UpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAg
ICAgICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyJmb28iLmxlbmd0
aCA9IDEnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucygxKSwgcmFpc2Vz
RXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVu
aWVudEFuZFN0cmljdCgnZGVsZXRlICJmb28iLmxlbmd0aCcsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm5zKGZhbHNlKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAor
ICAgICAgICAgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNS41LjIuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy8xNS41LjUuMi5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
MmQ1OWVlYjM1ODlkYmIzYTNmZjVhYjNmY2ExZWRlNzI0ZTdhZTQwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvMTUuNS41
LjIuanMKQEAgLTAsMCArMSwxNyBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBp
bmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICog
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworYXNz
ZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyJmb28iWzBdID0gMScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm5zKDEpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSks
CisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdkZWxldGUg
ImZvbyJbMF0nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyhmYWxzZSks
IHJhaXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCityZXBvcnRD
b21wYXJlKHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3Rz
LzguMTIuNS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRl
c3RzLzguMTIuNS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDFhOTRlNWM2MDY2MDhiMDIyZDJmZjRlZjk3YTQz
NTg3NDk0ZjZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9zY3JpcHQtdGVzdHMvOC4xMi41LmpzCkBAIC0wLDAgKzEsODQgQEAKKy8qIC0qLSBN
b2RlOiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9m
ZnNldDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRo
ZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMv
cHVibGljZG9tYWluLworICovCisKK2Z1bmN0aW9uIG9iaigpIHsKKyAgdmFyIG8gPSB7YWxsOiAx
LCBub3dyaXRlOiAxLCBub2NvbmZpZzogMSwgbm9ibGU6IDF9OworICBPYmplY3QuZGVmaW5lUHJv
cGVydHkobywgJ25vd3JpdGUnLCB7d3JpdGFibGU6IGZhbHNlfSk7CisgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvLCAnbm9jb25maWcnLCB7Y29uZmlndXJhYmxlOiBmYWxzZX0pOworICBPYmplY3Qu
ZGVmaW5lUHJvcGVydHkobywgJ25vYmxlJywge3dyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxl
OiBmYWxzZX0pOworICByZXR1cm4gbzsKK30KKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJ3ZhciBvID0gb2JqKCk7IG8uYWxsID0gMjsgby5hbGwnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJucygyKSwgcmV0dXJucygyKSksCisgICAgICAgICB0cnVlKTsKKwor
YXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBvID0gb2JqKCk7IG8ubm93cml0ZSA9
IDI7IG8ubm93cml0ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKDEp
LCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0
RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBvID0gb2JqKCk7IG8ubm9jb25maWcgPSAyOyBv
Lm5vY29uZmlnJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybnMoMiksIHJl
dHVybnMoMikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3Ry
aWN0KCd2YXIgbyA9IG9iaigpOyBvLm5vYmxlID0gMjsgby5ub2JsZScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm5zKDEpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSks
CisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ29iaigp
Lm5vd3JpdGUrKycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKDEpLCBy
YWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRl
c3RMZW5pZW50QW5kU3RyaWN0KCcrK29iaigpLm5vd3JpdGUnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJucygyKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAg
ICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnb2JqKCkubm93cml0
ZS0tJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybnMoMSksIHJhaXNlc0V4
Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExlbmll
bnRBbmRTdHJpY3QoJy0tb2JqKCkubm93cml0ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm5zKDApLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0
cnVlKTsKKworCitmdW5jdGlvbiBhcnIoKSB7CisgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVy
dGllcyhbMSwgMSwgMSwgMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IDE6
IHsgd3JpdGFibGU6IGZhbHNlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDI6IHsgY29uZmlndXJhYmxlOiBmYWxzZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAzOiB7IHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxzZSB9fSk7Cit9
CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgYSA9IGFycigpOyBhWzBdID0g
MjsgYVswXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKDIpLCByZXR1
cm5zKDIpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmlj
dCgndmFyIGEgPSBhcnIoKTsgYVsxXSA9IDI7IGFbMV0nLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJucygxKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAg
ICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCd2YXIgYSA9IGFycigp
OyBhWzJdID0gMjsgYVsyXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5z
KDIpLCByZXR1cm5zKDIpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVu
dEFuZFN0cmljdCgndmFyIGEgPSBhcnIoKTsgYVszXSA9IDI7IGFbM10nLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJucygxKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikp
LAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCdhcnIo
KVsxXSsrJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybnMoMSksIHJhaXNl
c0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworYXNzZXJ0RXEodGVzdExl
bmllbnRBbmRTdHJpY3QoJysrYXJyKClbMV0nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJucygyKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1
ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgnYXJyKClbMV0tLScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKDEpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVy
cm9yKSksCisgICAgICAgICB0cnVlKTsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCct
LWFycigpWzFdJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybnMoMCksIHJh
aXNlc0V4Y2VwdGlvbihUeXBlRXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCityZXBvcnRDb21w
YXJlKHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzgu
MTIuNy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3Rz
LzguMTIuNy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWZlYTU5ZmUwOTNhYzZmODUwMTUxMDEwNzBmY2Y3NmJk
YWQ2ZjNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0
cmljdC9zY3JpcHQtdGVzdHMvOC4xMi43LmpzCkBAIC0wLDAgKzEsMzQgQEAKKy8qIC0qLSBNb2Rl
OiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNl
dDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQ
dWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVi
bGljZG9tYWluLworICovCisKK2Z1bmN0aW9uIHNldHVwKCkgeworICB2YXIgbyA9IHthbGw6IDEs
IG5vd3JpdGU6IDEsIG5vY29uZmlnOiAxLCBub2JsZTogMX07CisgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShvLCAnbm93cml0ZScsIHt3cml0YWJsZTogZmFsc2V9KTsKKyAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KG8sICdub2NvbmZpZycsIHtjb25maWd1cmFibGU6IGZhbHNlfSk7CisgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShvLCAnbm9ibGUnLCB7d3JpdGFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6
IGZhbHNlfSk7CisgIHJldHVybiBvOworfQorCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmlj
dCgndmFyIG8gPSBzZXR1cCgpOyBkZWxldGUgby5hbGwnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJucyh0cnVlKSwgcmV0dXJucyh0cnVlKSksCisgICAgICAgICB0cnVlKTsK
KworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBvID0gc2V0dXAoKTsgZGVsZXRl
IG8ubm93cml0ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKHRydWUp
LCByZXR1cm5zKHRydWUpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVu
dEFuZFN0cmljdCgndmFyIG8gPSBzZXR1cCgpOyBkZWxldGUgby5ub2NvbmZpZycsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKGZhbHNlKSwgcmFpc2VzRXhjZXB0aW9uKFR5
cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3Ry
aWN0KCd2YXIgbyA9IHNldHVwKCk7IGRlbGV0ZSBvLm5vYmxlJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybnMoZmFsc2UpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSks
CisgICAgICAgICB0cnVlKTsKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pz
L21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy84LjcuMi5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzLzguNy4yLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzM2I5
ZjhkZGEyZGI1NzMwYzU1MjI1NWYyY2M1YzJkOTM3MmM4OTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy84LjcuMi5qcwpA
QCAtMCwwICsxLDU4IEBACisvKiAtKi0gTW9kZTogQysrOyB0YWItd2lkdGg6IDI7IGluZGVudC10
YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCisKKy8qCisgKiBBbnkgY29w
eXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAqIGh0dHA6Ly9jcmVh
dGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKyAqLworCisvKgorICogVGhl
c2UgdGVzdHMgZGVwZW5kIG9uIHRoZSBmYWN0IHRoYXQgdGVzdExlbmllbnRBbmRTdHJpY3QgdHJp
ZXMgdGhlCisgKiBzdHJpY3QgY2FzZSBmaXJzdDsgb3RoZXJ3aXNlLCB0aGUgbm9uLXN0cmljdCBl
dmFsdWF0aW9uIGNyZWF0ZXMgdGhlCisgKiB2YXJpYWJsZS4gVWdoLiBJZGVhbGx5LCB3ZSB3b3Vs
ZCB1c2UgZXZhbGN4LCBidXQgdGhhdCdzIG5vdAorICogYXZhaWxhYmxlIGluIHRoZSBicm93c2Vy
LgorICovCisKKy8qIEFzc2lnbmluZyB0byBhbiB1bmRlY2xhcmVkIHZhcmlhYmxlIHNob3VsZCBm
YWlsIGluIHN0cmljdCBtb2RlLiAqLworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3Vu
ZGVjbGFyZWQ9MScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZXNOb3Jt
YWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlc0V4Y2VwdGlvbihSZWZl
cmVuY2VFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKKy8qCisgKiBBc3NpZ25pbmcgdG8gYSB2
YXItZGVjbGFyZWQgdmFyaWFibGUgc2hvdWxkIGJlIG9rYXkgaW4gc3RyaWN0IGFuZAorICogbGVu
aWVudCBtb2Rlcy4KKyAqLworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciB2YXJf
ZGVjbGFyZWQ7IHZhcl9kZWNsYXJlZD0xJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbXBsZXRlc05vcm1hbGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxl
dGVzTm9ybWFsbHkpLAorICAgICAgICAgdHJ1ZSk7CisKKy8qCisgKiBXZSBtdXN0bid0IHJlcG9y
dCBlcnJvcnMgdW50aWwgdGhlIGNvZGUgaXMgYWN0dWFsbHkgcnVuOyB0aGUgdmFyaWFibGUKKyAq
IGNvdWxkIGJlIGNyZWF0ZWQgaW4gdGhlIG1lYW4gdGltZS4KKyAqLworYXNzZXJ0RXEodGVzdExl
bmllbnRBbmRTdHJpY3QoJ3VuZGVjbGFyZWRfYXRfY29tcGlsZXRpbWU9MScsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHkpLAorICAgICAgICAgdHJ1ZSk7CisKK2Z1
bmN0aW9uIG9iaigpIHsKKyAgdmFyIG8gPSB7IHg6IDEsIHk6IDEgfTsKKyAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KG8sICd4JywgeyB3cml0YWJsZTogZmFsc2UgfSk7CisgIHJldHVybiBvOworfQor
CisvKiBQdXQgRVhQUiBpbiBhIHN0cmljdCBtb2RlIGNvZGUgY29udGV4dCB3aXRoICd3aXRoJyBi
aW5kaW5ncyBpbiBzY29wZS4gKi8KK2Z1bmN0aW9uIGluX3N0cmljdF93aXRoKGV4cHIpIHsKKyAg
cmV0dXJuICJ3aXRoKG9iaigpKSB7IChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JzsgIiArIGV4
cHIgKyAiIH0pKCk7IH0iOworfQorCithc3NlcnRFcShyYWlzZXNFeGNlcHRpb24oVHlwZUVycm9y
KShpbl9zdHJpY3Rfd2l0aCgneCA9IDI7IHkgPSAyOycpKSwgdHJ1ZSk7Cithc3NlcnRFcShyYWlz
ZXNFeGNlcHRpb24oVHlwZUVycm9yKShpbl9zdHJpY3Rfd2l0aCgneCsrOycpKSwgdHJ1ZSk7Cith
c3NlcnRFcShyYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKShpbl9zdHJpY3Rfd2l0aCgnKyt4Oycp
KSwgdHJ1ZSk7Cithc3NlcnRFcShyYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKShpbl9zdHJpY3Rf
d2l0aCgneC0tOycpKSwgdHJ1ZSk7Cithc3NlcnRFcShyYWlzZXNFeGNlcHRpb24oVHlwZUVycm9y
KShpbl9zdHJpY3Rfd2l0aCgnLS14OycpKSwgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwg
dHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvQi4xLjEuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9CLjEuMS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mNzYyYzljYWY2Y2Y0NTMwZTA2MWQ2YjcyMDZiODg2ZjI2NTEzNGQ1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQt
dGVzdHMvQi4xLjEuanMKQEAgLTAsMCArMSwzMyBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdp
ZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLwor
CisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4u
CisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisg
Ki8KKworLyogT2N0YWwgaW50ZWdlciBsaXRlcmFsIGF0IHRvcCBsZXZlbC4gKi8KK2Fzc2VydEVx
KHRlc3RMZW5pZW50QW5kU3RyaWN0KCcwMTAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCisvKiBP
Y3RhbCBpbnRlZ2VyIGxpdGVyYWwgaW4gc3RyaWN0IGZ1bmN0aW9uIGJvZHkgKi8KK2Fzc2VydEVx
KHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKQorICAgICAgICAgKCdmdW5jdGlvbiBm
KCkgeyAidXNlIHN0cmljdCI7IDAxMDsgfScpLAorICAgICAgICAgdHJ1ZSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKKworLyoKKyAqIE9jdGFsIGludGVnZXIgbGl0ZXJhbCBhZnRl
ciBzdHJpY3QgZnVuY3Rpb24gYm9keSAocmVzdG9yYXRpb24gb2YKKyAqIHNjYW5uZXIgc3RhdGUp
CisgKi8KK2Fzc2VydEVxKHBhcnNlc1N1Y2Nlc3NmdWxseSgnZnVuY3Rpb24gZigpIHsgInVzZSBz
dHJpY3QiOyB9OyAwMTAnKSwKKyAgICAgICAgIHRydWUpOworCisvKiBPY3RhbCBpbnRlZ2VyIGxp
dGVyYWwgaW4gZnVuY3Rpb24gYm9keSAqLworYXNzZXJ0RXEocGFyc2VzU3VjY2Vzc2Z1bGx5KCdm
dW5jdGlvbiBmKCkgeyAwMTA7IH0nKSwKKyAgICAgICAgIHRydWUpOworCityZXBvcnRDb21wYXJl
KHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL0IuMS4y
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvQi4x
LjIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTZiODJjNTk4MjU4YjU4M2E2NGViYzQwYWU0YTY4YmM5MTk2MDVl
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qv
c2NyaXB0LXRlc3RzL0IuMS4yLmpzCkBAIC0wLDAgKzEsNDAgQEAKKy8qIC0qLSBNb2RlOiBDKys7
IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAt
Ki0gKi8KKworLyoKKyAqIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMg
RG9tYWluLgorICogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9t
YWluLworICovCisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KCciXFwwMTAiJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxseSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhcnNlUmFpc2VzRXhjZXB0aW9uKFN5bnRheEVycm9yKSks
CisgICAgICAgICB0cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJyJcXDAw
IicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVsbHksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihTeW50YXhF
cnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0
KCciXFwxIicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXNTdWNjZXNzZnVs
bHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZVJhaXNlc0V4Y2VwdGlvbihT
eW50YXhFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5k
U3RyaWN0KCciXFwwOCInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3Vj
Y2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VSYWlzZXNFeGNl
cHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVu
aWVudEFuZFN0cmljdCgnIlxcMCInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VzU3Vj
Y2Vzc2Z1bGx5KSwKKyAgICAgICAgIHRydWUpOworCithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0
cmljdCgnIlxcMHgiJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nl
c3NmdWxseSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlc1N1Y2Nlc3NmdWxs
eSksCisgICAgICAgICB0cnVlKTsKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yNmZjYTE4NTRiZDEzN2RjNjhkNDIwMzNjNGRhZjhlMDY2MjlhZGEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVz
dHMvVEVNUExBVEUuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVz
dHMvYXNzaWduLXRvLWNhbGxlZS1uYW1lLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9zY3JpcHQtdGVzdHMvYXNzaWduLXRvLWNhbGxlZS1uYW1lLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJjODc5NjMzZDVlMjI4MmY0ZWIyNDZkNjU1ZGI1MTdhNjIxNjI4NjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9hc3Np
Z24tdG8tY2FsbGVlLW5hbWUuanMKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIEFueSBjb3B5cmln
aHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZl
Y29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLworICovCisKK3ZhciBnVGVzdGZpbGUg
PSAnYXNzaWduLXRvLWNhbGxlZS1uYW1lLmpzJzsKK3ZhciBCVUdOVU1CRVIgPSA2MTAzNTA7Cit2
YXIgc3VtbWFyeSA9CisgICJBc3NpZ25pbmcgdG8gYSBmdW5jdGlvbiBleHByZXNzaW9uJ3MgbmFt
ZSB3aXRoaW4gdGhhdCBmdW5jdGlvbiBzaG91bGQgIiArCisgICJ0aHJvdyBhIFR5cGVFcnJvciBp
biBzdHJpY3QgbW9kZSBjb2RlIjsKKworcHJpbnQoQlVHTlVNQkVSICsgIjogIiArIHN1bW1hcnkp
OworCisvKioqKioqKioqKioqKioKKyAqIEJFR0lOIFRFU1QgKgorICoqKioqKioqKioqKioqLwor
Cit2YXIgZiA9IGZ1bmN0aW9uIGFzc2lnblNlbGZTdHJpY3QoKSB7ICJ1c2Ugc3RyaWN0IjsgYXNz
aWduU2VsZlN0cmljdCA9IDEyOyB9OworCit0cnkKK3sKKyAgdmFyIHIgPSBmKCk7CisgIHRocm93
IG5ldyBFcnJvcigic2hvdWxkIGhhdmUgdGhyb3duIGEgVHlwZUVycm9yLCByZXR1cm5lZCAiICsg
cik7Cit9CitjYXRjaCAoZSkKK3sKKyAgYXNzZXJ0RXEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwg
dHJ1ZSwKKyAgICAgICAgICAgImRpZG4ndCB0aHJvdyBhIFR5cGVFcnJvcjogIiArIGUpOworfQor
Cit2YXIgYXNzaWduU2VsZiA9IDQyOwordmFyIGYyID0gZnVuY3Rpb24gYXNzaWduU2VsZigpIHsg
YXNzaWduU2VsZiA9IDEyOyB9OworCitmMigpOyAvLyBzaG91bGRuJ3QgdGhyb3csIGRvZXMgbm90
aGluZworYXNzZXJ0RXEoYXNzaWduU2VsZiwgNDIpOworCisvKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
LworCitpZiAodHlwZW9mIHJlcG9ydENvbXBhcmUgPT09ICJmdW5jdGlvbiIpCisgIHJlcG9ydENv
bXBhcmUodHJ1ZSwgdHJ1ZSk7CisKK3ByaW50KCJBbGwgdGVzdHMgcGFzc2VkISIpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL2RpcmVjdGl2ZS1wcm9sb2d1ZS0wMS5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL2RpcmVjdGl2
ZS1wcm9sb2d1ZS0wMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjYzNWM3YzU3MGMxNzU0ODU0NGIxYmYyZjE4
YWRmMThmMjZiMmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvZGlyZWN0aXZlLXByb2xvZ3VlLTAxLmpzCkBAIC0wLDAg
KzEsODAgQEAKKy8vIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9t
YWluLgorLy8gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWlu
LworCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCit2YXIgQlVHTlVNQkVSID0gNjAxMjYyOwordmFy
IHN1bW1hcnkgPQorICAiQSBzdHJpbmcgbGl0ZXJhbCBjb250YWluaW5nIGFuIG9jdGFsIGVzY2Fw
ZSBiZWZvcmUgYSBzdHJpY3QgbW9kZSAiICsKKyAgImRpcmVjdGl2ZSBzaG91bGQgYmUgYSBzeW50
YXggZXJyb3IiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAiICsgc3VtbWFyeSk7CisKKy8qKioq
KioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioqKioqKioqKiovCisKK3RyeQorewor
ICBldmFsKCIgJ1xcMTQ1JzsgJ3VzZSBzdHJpY3QnOyAiKTsKKyAgdGhyb3cgbmV3IEVycm9yKCJu
byBlcnJvciB0aHJvd24gZm9yIGV2YWwiKTsKK30KK2NhdGNoIChlKQoreworICBhc3NlcnRFcShl
IGluc3RhbmNlb2YgU3ludGF4RXJyb3IsIHRydWUsCisgICAgICAgICAgICJ3cm9uZyBlcnJvciBm
b3Igb2N0YWwtZXNjYXBlIGJlZm9yZSBzdHJpY3QgZGlyZWN0aXZlIGluIGV2YWwiKTsKK30KKwor
dHJ5Cit7CisgIEZ1bmN0aW9uKCIgJ1xcMTQ1JzsgJ3VzZSBzdHJpY3QnOyAiKTsKKyAgdGhyb3cg
bmV3IEVycm9yKCJubyBlcnJvciB0aHJvd24gZm9yIEZ1bmN0aW9uIik7Cit9CitjYXRjaCAoZSkK
K3sKKyAgYXNzZXJ0RXEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yLCB0cnVlLAorICAgICAgICAg
ICAid3JvbmcgZXJyb3IgZm9yIG9jdGFsLWVzY2FwZSBiZWZvcmUgc3RyaWN0IGRpcmVjdGl2ZSBp
biBGdW5jdGlvbiIpOworfQorCit0cnkKK3sKKyAgZXZhbCgiIGZ1bmN0aW9uIGYoKXsgJ1xcMTQ1
JzsgJ3VzZSBzdHJpY3QnOyB9ICIpOworICB0aHJvdyBuZXcgRXJyb3IoIm5vIGVycm9yIHRocm93
biBmb3IgZXZhbCBvZiBmdW5jdGlvbiIpOworfQorY2F0Y2ggKGUpCit7CisgIGFzc2VydEVxKGUg
aW5zdGFuY2VvZiBTeW50YXhFcnJvciwgdHJ1ZSwKKyAgICAgICAgICAgIndyb25nIGVycm9yIGZv
ciBvY3RhbC1lc2NhcGUgYmVmb3JlIHN0cmljdCBkaXJlY3RpdmUgaW4gZXZhbCBvZiAiICsKKyAg
ICAgICAgICAgImZ1bmN0aW9uIik7Cit9CisKK3RyeQoreworICBGdW5jdGlvbigiIGZ1bmN0aW9u
IGYoKXsgJ1xcMTQ1JzsgJ3VzZSBzdHJpY3QnOyB9ICIpOworICB0aHJvdyBuZXcgRXJyb3IoIm5v
IGVycm9yIHRocm93biBmb3IgZXZhbCBvZiBmdW5jdGlvbiIpOworfQorY2F0Y2ggKGUpCit7Cisg
IGFzc2VydEVxKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciwgdHJ1ZSwKKyAgICAgICAgICAgIndy
b25nIGVycm9yIGZvciBvY3RhbC1lc2NhcGUgYmVmb3JlIHN0cmljdCBkaXJlY3RpdmUgaW4gZXZh
bCBvZiAiICsKKyAgICAgICAgICAgImZ1bmN0aW9uIik7Cit9CisKK2V2YWwoImZ1bmN0aW9uIG5v
dEFuRXJyb3IxKCkgeyA1OyAnXFwxNDUnOyBmdW5jdGlvbiBnKCkgeyAndXNlIHN0cmljdCc7IH0g
fSIpOworCitGdW5jdGlvbigiZnVuY3Rpb24gbm90QW5FcnJvcjIoKSB7IDU7ICdcXDE0NSc7IGZ1
bmN0aW9uIGcoKSB7ICd1c2Ugc3RyaWN0JzsgfSB9Iik7CisKK2Z1bmN0aW9uIG5vdEFuRXJyb3Iz
KCkKK3sKKyAgNTsKKyAgIlwxNDUiOworICBmdW5jdGlvbiBnKCkgeyAidXNlIHN0cmljdCI7IH0K
K30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworaWYgKHR5cGVvZiByZXBvcnRDb21wYXJl
ID09PSAiZnVuY3Rpb24iKQorICByZXBvcnRDb21wYXJlKHRydWUsIHRydWUpOworCitwcmludCgi
QWxsIHRlc3RzIHBhc3NlZCEiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0
cy9ldmFsLXZhcmlhYmxlLWVudmlyb25tZW50LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvZXZhbC12YXJpYWJsZS1lbnZpcm9ubWVudC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43MzM3YWVjMDkxZWUxNTM3ZTk2NDYxOTRlNGJiY2FkMGMwODkzZWJiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVz
dHMvZXZhbC12YXJpYWJsZS1lbnZpcm9ubWVudC5qcwpAQCAtMCwwICsxLDY5IEBACisvKgorICog
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKwordmFy
IGNvZGU7CisKK2NvZGUgPQorICAiZXZhbCgndmFyIHggPSAyOyB0eXBlb2YgeCcpOyI7Cithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdChjb2RlLCByZXR1cm5zKCJudW1iZXIiKSwgcmV0dXJu
cygibnVtYmVyIikpLAorICAgICAgICAgdHJ1ZSk7CisKK2NvZGUgPQorICAiZXZhbCgnXCJ1c2Ug
c3RyaWN0XCI7IHZhciB4ID0gMjsgdHlwZW9mIHgnKTsiOworYXNzZXJ0RXEodGVzdExlbmllbnRB
bmRTdHJpY3QoY29kZSwgcmV0dXJucygibnVtYmVyIiksIHJldHVybnMoIm51bWJlciIpKSwKKyAg
ICAgICAgIHRydWUpOworCitjb2RlID0KKyAgImV2YWwoJ3ZhciB4ID0gMjsnKTsgIiArCisgICJ0
eXBlb2YgeCI7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdChjb2RlLCByZXR1cm5zKCJu
dW1iZXIiKSwgcmV0dXJucygidW5kZWZpbmVkIikpLAorICAgICAgICAgdHJ1ZSk7CisKK2NvZGUg
PQorICAiZXZhbCgnXCJ1c2Ugc3RyaWN0XCI7IHZhciB4ID0gMjsnKTsgIiArCisgICJ0eXBlb2Yg
eCI7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdChjb2RlLCByZXR1cm5zKCJ1bmRlZmlu
ZWQiKSwgcmV0dXJucygidW5kZWZpbmVkIikpLAorICAgICAgICAgdHJ1ZSk7CisKK2NvZGUgPQor
ICAiZXZhbCgnXCJ1c2Ugc3RyaWN0XCI7IHZhciB4ID0gMjsgdHlwZW9mIHgnKTsgIiArCisgICJ0
eXBlb2YgeCI7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdChjb2RlLCByZXR1cm5zKCJ1
bmRlZmluZWQiKSwgcmV0dXJucygidW5kZWZpbmVkIikpLAorICAgICAgICAgdHJ1ZSk7CisKK2Nv
ZGUgPQorICAiZnVuY3Rpb24gdGVzdCgpICIgKworICAieyAiICsKKyAgIiAgZXZhbCgndmFyIHgg
PSAyOycpOyAiICsKKyAgIiAgcmV0dXJuIHR5cGVvZiB4OyAiICsKKyAgIn0gIiArCisgICJ0ZXN0
KCk7IjsKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5kU3RyaWN0KGNvZGUsIHJldHVybnMoIm51bWJl
ciIpLCByZXR1cm5zKCJ1bmRlZmluZWQiKSksCisgICAgICAgICB0cnVlKTsKKworY29kZSA9Cisg
ICJmdW5jdGlvbiB0ZXN0KCkgIiArCisgICJ7ICIgKworICAiICAndXNlIHN0cmljdCc7ICIgKwor
ICAiICBldmFsKCd2YXIgeCA9IDI7Jyk7ICIgKworICAiICByZXR1cm4gdHlwZW9mIHg7ICIgKwor
ICAifSAiICsKKyAgInRlc3QoKTsiOworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoY29k
ZSwgcmV0dXJucygidW5kZWZpbmVkIiksIHJldHVybnMoInVuZGVmaW5lZCIpKSwKKyAgICAgICAg
IHRydWUpOworCitjb2RlID0KKyAgImZ1bmN0aW9uIHRlc3QoKSAiICsKKyAgInsgIiArCisgICIg
IGV2YWwoJ1widXNlIHN0cmljdFwiOyB2YXIgeCA9IDI7Jyk7ICIgKworICAiICByZXR1cm4gdHlw
ZW9mIHg7ICIgKworICAifSAiICsKKyAgInRlc3QoKTsiOworYXNzZXJ0RXEodGVzdExlbmllbnRB
bmRTdHJpY3QoY29kZSwgcmV0dXJucygidW5kZWZpbmVkIiksIHJldHVybnMoInVuZGVmaW5lZCIp
KSwKKyAgICAgICAgIHRydWUpOworCityZXBvcnRDb21wYXJlKHRydWUsIHRydWUpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
anMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL2Z1bmN0aW9uLW5hbWUtYXJpdHkuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9mdW5jdGlvbi1u
YW1lLWFyaXR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3OTliZDg5YWY2ZDViNzdjYjdkOTdiYjYwMmZlOGQ0
NzZhZTFkNjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0L3NjcmlwdC10ZXN0cy9mdW5jdGlvbi1uYW1lLWFyaXR5LmpzCkBAIC0wLDAgKzEsMjgg
QEAKKy8qIC0qLSBNb2RlOiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmls
OyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBjb3B5cmlnaHQgaXMgZGVk
aWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2NyZWF0aXZlY29tbW9ucy5v
cmcvbGljZW5zZXMvcHVibGljZG9tYWluLworICovCisKK2Z1bmN0aW9uIGZuKCkgeworICByZXR1
cm4gZnVuY3Rpb24gZihhLCBiLCBjKSB7IH07Cit9CisKK2Fzc2VydEVxKHRlc3RMZW5pZW50QW5k
U3RyaWN0KCd2YXIgZiA9IGZuKCk7IGYubmFtZSA9ICJnIjsgZi5uYW1lJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybnMoImYiKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJv
cikpLAorICAgICAgICAgdHJ1ZSk7Cithc3NlcnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFy
IGYgPSBmbigpOyBkZWxldGUgZi5uYW1lJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybnMoZmFsc2UpLCByYWlzZXNFeGNlcHRpb24oVHlwZUVycm9yKSksCisgICAgICAgICB0
cnVlKTsKKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJpY3QoJ3ZhciBmID0gZm4oKTsgZi5h
cml0eSA9IDQ7IGYuYXJpdHknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
cygzKSwgcmFpc2VzRXhjZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7Cithc3Nl
cnRFcSh0ZXN0TGVuaWVudEFuZFN0cmljdCgndmFyIGYgPSBmbigpOyBkZWxldGUgZi5hcml0eScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5zKGZhbHNlKSwgcmFpc2VzRXhj
ZXB0aW9uKFR5cGVFcnJvcikpLAorICAgICAgICAgdHJ1ZSk7CisKK3JlcG9ydENvbXBhcmUodHJ1
ZSwgdHJ1ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvcHJpbWl0aXZl
LXRoaXMtbm8td3JpdGViYWNrLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC9zY3JpcHQtdGVzdHMvcHJpbWl0aXZlLXRoaXMtbm8td3JpdGViYWNrLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBlM2RkM2MwMGE3MDM1YWM5OWEyNDM0YzQ4MmU0ZjE5OTU4ODg3MmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9wcmlt
aXRpdmUtdGhpcy1uby13cml0ZWJhY2suanMKQEAgLTAsMCArMSwyMiBAQAorLyogLSotIE1vZGU6
IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0
OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1
YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJs
aWNkb21haW4vCisgKi8KKworLyogVmVyaWZ5IHRoYXQgR0VUVEhJU1BST1AgZG9lcyBub3QgdXBk
YXRlIHRoZSBmcmFtZSdzIHx0aGlzfCBzbG90LiAqLworCit2YXIgZiA9IFN0cmluZy5wcm90b3R5
cGUubSA9IGZ1bmN0aW9uICgpIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgYXNzZXJ0RXEodGhp
cywgInMiKTsKKyAgICAvLyBUaGUgR0VUVEhJU1BST1Agc2hvdWxkIG5vdCBjYXVzZSB8dGhpc3wg
dG8gYmVjb21lIHdyYXBwZWQuCisgICAgcmV0dXJuIFt0aGlzLm0sIHRoaXNdOworfTsKK3ZhciBh
ID0gInMiLm0oKTsKK2Fzc2VydEVxKGFbMF0sIGYpOworYXNzZXJ0RXEoYVsxXSwgInMiKTsKKwor
cmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3Njcmlw
dC10ZXN0cy9yZWdyZXNzLTUzMjA0MS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3Qvc2NyaXB0LXRlc3RzL3JlZ3Jlc3MtNTMyMDQxLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiYTc3M2Iz
MmJiZDhmOWRiMmZhOTcxOWM1NTg0YTViOTNlMTkwN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9yZWdyZXNzLTUzMjA0
MS5qcwpAQCAtMCwwICsxLDE5IEBACisvKiAtKi0gTW9kZTogQysrOyB0YWItd2lkdGg6IDI7IGlu
ZGVudC10YWJzLW1vZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCisKKy8qCisgKiBB
bnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAqIGh0dHA6
Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8KKyAqLworCisKKy8q
CisgKiBKU0Z1bmN0aW9uOjpmaW5kRHVwbGljYXRlRm9ybWFsIChuZWUganNfRmluZER1cGxpY2F0
ZUZvcm1hbCksIHVzZWQKKyAqIGJ5IHN0cmljdCBjaGVja3MsIHNvbWV0aW1lcyBmYWlsZWQgdG8g
Y2hvb3NlIHRoZSBjb3JyZWN0IGJyYW5jaCBvZgorICogdGhlIGZ1bi0+dS5pLm5hbWVzIHVuaW9u
OiBpdCB1c2VkIHRoZSBhcmd1bWVudCBjb3VudCwgbm90IHRoZQorICogb3ZlcmFsbCBuYW1lIGNv
dW50LgorICovCitmdW5jdGlvbiBmKGExLGEyLGEzLGE0LGE1KSB7ICJ1c2Ugc3RyaWN0IjsgdmFy
IHYxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3OyB9CisKK3JlcG9ydENvbXBhcmUodHJ1ZSwgdHJ1
ZSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvcmVncmVzcy01MzIyNTQu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9yZWdy
ZXNzLTUzMjI1NC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNWUwMzIyZDU1MmQxOWJmMWUxZTU0NmIxYWU4NjA3
YjhhMGU0NGIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC9zY3JpcHQtdGVzdHMvcmVncmVzcy01MzIyNTQuanMKQEAgLTAsMCArMSwxNSBAQAor
LyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMt
YmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0
ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9s
aWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworYXNzZXJ0RXEodGVzdExlbmllbnRBbmRTdHJp
Y3QoJ2Z1bmN0aW9uIGYoZXZhbCxbeF0pe30nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFyc2VzU3VjY2Vzc2Z1bGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VSYWlzZXNFeGNlcHRpb24oU3ludGF4RXJyb3IpKSwKKyAgICAgICAgIHRydWUpOworCityZXBv
cnRDb21wYXJlKHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRl
c3RzL3JlZ3Jlc3MtNTk5MTU5LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC9zY3JpcHQtdGVzdHMvcmVncmVzcy01OTkxNTkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE2MWM0ZTY3N2Jl
N2Q2NGU0MmEzYjQxZjM3NGJiNjlkZGZiZTk0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL3JlZ3Jlc3MtNTk5MTU5Lmpz
CkBAIC0wLDAgKzEsMzUgQEAKKy8qIC0qLSBNb2RlOiBDKys7IHRhYi13aWR0aDogMjsgaW5kZW50
LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogMiAtKi0gKi8KKworLyoKKyAqIEFueSBj
b3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICogaHR0cDovL2Ny
ZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLworICovCisKKy8vIFNodSdz
IHRlc3QKK2Z1bmN0aW9uIHRlc3QobWFrZU5vbkFycmF5KSB7CisgICAgZnVuY3Rpb24gQygpIHt9
CisgICAgQy5wcm90b3R5cGUgPSBbXQorICAgIGlmIChtYWtlTm9uQXJyYXkpCisgICAgICAgIEMu
cHJvdG90eXBlLmNvbnN0cnVjdG9yID0gQworICAgIGMgPSBuZXcgQygpOworICAgIGMucHVzaCgi
Zm9vIik7CisgICAgcmV0dXJuIGMubGVuZ3RoCit9Cithc3NlcnRFcSh0ZXN0KHRydWUpLCAxKTsK
K2Fzc2VydEVxKHRlc3QoZmFsc2UpLCAxKTsKKworLy8gam9yZW5kb3JmZidzIGxvbmdlciB0ZXN0
Cit2YXIgYSA9IFtdOworYS5zbG93aWZ5ID0gMTsKK3ZhciBiID0gT2JqZWN0LmNyZWF0ZShhKTsK
K2IubGVuZ3RoID0gMTI7Cithc3NlcnRFcShiLmxlbmd0aCwgMTIpOworCisvLyBqb3JlbmRvcmZm
J3Mgc2hvcnRlciB0ZXN0Cit2YXIgYiA9IE9iamVjdC5jcmVhdGUoQXJyYXkucHJvdG90eXBlKTsK
K2IubGVuZ3RoID0gMTI7Cithc3NlcnRFcShiLmxlbmd0aCwgMTIpOworCityZXBvcnRDb21wYXJl
KHRydWUsIHRydWUpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL3N0cmlj
dC10aGlzLWlzLW5vdC10cnV0aHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3Ry
aWN0L3NjcmlwdC10ZXN0cy9zdHJpY3QtdGhpcy1pcy1ub3QtdHJ1dGh5LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjliMGM5MTFkNGMyNjRmM2VhZWE5OWU1YzE5NWRjOWI4NzAzNWQ5ZGYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy9zdHJp
Y3QtdGhpcy1pcy1ub3QtdHJ1dGh5LmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEFueSBjb3B5cmln
aHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLg0KKy8vIGh0dHA6Ly9jcmVhdGl2
ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8NCisNCisvLyBTZWUgYnVnIDYzMDU0
My4NCisNCitmdW5jdGlvbiBmKCkgew0KKyAgICAidXNlIHN0cmljdCI7DQorICAgIHJldHVybiAh
dGhpczsNCit9DQorYXNzZXJ0RXEoZi5jYWxsKG51bGwpLCB0cnVlKTsNCisNCityZXBvcnRDb21w
YXJlKDAsIDAsICdvaycpOw0KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy90
aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJlY3Vyc2lvbi5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvanMvbW96aWxsYS9zdHJpY3Qvc2NyaXB0LXRlc3RzL3RoaXMtZm9yLWZ1bmN0aW9uLWV4cHJl
c3Npb24tcmVjdXJzaW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxNzQwMzM3NGQ0ZWEyN2NmYWExYzRlNzcw
YTI3Y2M4ZmMwOGQwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy90aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJl
Y3Vyc2lvbi5qcwpAQCAtMCwwICsxLDQ2IEBACisvKgorICogQW55IGNvcHlyaWdodCBpcyBkZWRp
Y2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9y
Zy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKwordmFyIGdUZXN0ZmlsZSA9ICd0aGlzLWZv
ci1mdW5jdGlvbi1leHByZXNzaW9uLXJlY3Vyc2lvbi5qcyc7Cit2YXIgQlVHTlVNQkVSID0gNjEx
Mjc2OwordmFyIHN1bW1hcnkgPSAiSlNPUF9DQUxMRUUgc2hvdWxkIHB1c2ggdW5kZWZpbmVkLCBu
b3QgbnVsbCwgZm9yIHRoaXMiOworCitwcmludChCVUdOVU1CRVIgKyAiOiAiICsgc3VtbWFyeSk7
CisKKy8qKioqKioqKioqKioqKgorICogQkVHSU4gVEVTVCAqCisgKioqKioqKioqKioqKiovCisK
Ky8vIENhbGxpbmcgYSBuYW1lZCBmdW5jdGlvbiBleHByZXNzaW9uIChub3QgZnVuY3Rpb24gc3Rh
dGVtZW50KSB1c2VzIHRoZQorLy8gSlNPUF9DQUxMRUUgb3Bjb2RlLiAgVGhpcyBvcGNvZGUgcHVz
aGVzIGl0cyBvd24gfHRoaXN8LCBkaXN0aW5jdCBmcm9tIHRoZQorLy8gbm9ybWFsIGNhbGwgcGF0
aDsgdmVyaWZ5IHRoYXQgdGhhdCB8dGhpc3wgdmFsdWUgaXMgcHJvcGVybHkgfHVuZGVmaW5lZHwu
CisKK3ZhciBjYWxsZWVUaGlzRnVuID0KKyAgZnVuY3Rpb24gY2FsbGVlVGhpc0Z1bihyZWN1cnJp
bmcpCisgIHsKKyAgICBpZiAocmVjdXJyaW5nKQorICAgICAgcmV0dXJuIHRoaXM7CisgICAgcmV0
dXJuIGNhbGxlZVRoaXNGdW4odHJ1ZSk7CisgIH07Cithc3NlcnRFcShjYWxsZWVUaGlzRnVuKGZh
bHNlKSwgdGhpcyk7CisKK3ZhciBjYWxsZWVUaGlzU3RyaWN0RnVuID0KKyAgZnVuY3Rpb24gY2Fs
bGVlVGhpc1N0cmljdEZ1bihyZWN1cnJpbmcpCisgIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAg
aWYgKHJlY3VycmluZykKKyAgICAgIHJldHVybiB0aGlzOworICAgIHJldHVybiBjYWxsZWVUaGlz
U3RyaWN0RnVuKHRydWUpOworICB9OworYXNzZXJ0RXEoY2FsbGVlVGhpc1N0cmljdEZ1bihmYWxz
ZSksIHVuZGVmaW5lZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK2lmICh0eXBlb2Yg
cmVwb3J0Q29tcGFyZSA9PT0gImZ1bmN0aW9uIikKKyAgcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVl
KTsKKworcHJpbnQoIkFsbCB0ZXN0cyBwYXNzZWQhIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC9zY3JpcHQtdGVzdHMvdW5icmFuZC10aGlzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3pp
bGxhL3N0cmljdC9zY3JpcHQtdGVzdHMvdW5icmFuZC10aGlzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2N2Jl
ZjE4ZThkNDRmMjJjNzNlZWZhMjUwY2E1YmVkYzM5NjVhZDgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3NjcmlwdC10ZXN0cy91bmJyYW5kLXRo
aXMuanMKQEAgLTAsMCArMSw0NyBAQAorLyogLSotIE1vZGU6IEMrKzsgdGFiLXdpZHRoOiAyOyBp
bmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiAyIC0qLSAqLworCisvKgorICog
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgKiBodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vCisgKi8KKworLyog
VGVzdCBKU09QX1VOQlJBTkRUSElTJ3MgYmVoYXZpb3Igb24gb2JqZWN0IGFuZCBub24tb2JqZWN0
IHx0aGlzfCB2YWx1ZXMuICovCisKK2Z1bmN0aW9uIHN0cmljdCgpIHsKKyAgInVzZSBzdHJpY3Qi
OworICB0aGlzLmluc2VydCA9IGZ1bmN0aW9uKCl7IGJhcigpOyB9OworICBmdW5jdGlvbiBiYXIo
KSB7fQorfQorCit2YXIgZXhjZXB0aW9uOworCisvLyBUcnkgJ3VuZGVmaW5lZCcgYXMgYSB8dGhp
c3wgdmFsdWUuCitleGNlcHRpb24gPSBudWxsOwordHJ5IHsKKyAgc3RyaWN0LmNhbGwodW5kZWZp
bmVkKTsKK30gY2F0Y2ggKHgpIHsKKyAgZXhjZXB0aW9uID0geDsKK30KK2Fzc2VydEVxKGV4Y2Vw
dGlvbiBpbnN0YW5jZW9mIFR5cGVFcnJvciwgdHJ1ZSk7CisKKy8vIFRyeSAnbnVsbCcgYXMgYSB8
dGhpc3wgdmFsdWUuCitleGNlcHRpb24gPSBudWxsOwordHJ5IHsKKyAgc3RyaWN0LmNhbGwobnVs
bCk7Cit9IGNhdGNoICh4KSB7CisgIGV4Y2VwdGlvbiA9IHg7Cit9Cithc3NlcnRFcShleGNlcHRp
b24gaW5zdGFuY2VvZiBUeXBlRXJyb3IsIHRydWUpOworCisvLyBBbiBvYmplY3QgYXMgYSB8dGhp
c3wgdmFsdWUgc2hvdWxkIGJlIGZpbmUuCitleGNlcHRpb24gPSBudWxsOwordHJ5IHsKKyAgc3Ry
aWN0LmNhbGwoe30pOworfSBjYXRjaCAoeCkgeworICBleGNlcHRpb24gPSB4OworfQorYXNzZXJ0
RXEoZXhjZXB0aW9uLCBudWxsKTsKKworcmVwb3J0Q29tcGFyZSh0cnVlLCB0cnVlKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL21vemlsbGEvc3RyaWN0L3N0cmljdC10aGlzLWlzLW5vdC10cnV0aHktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC9zdHJpY3QtdGhpcy1pcy1ub3Qt
dHJ1dGh5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjBlZTY5OWYyNmRiYzEzZDhkNTRiMzIx
NDJlMGZjZDcwYzJjNzIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9t
b3ppbGxhL3N0cmljdC9zdHJpY3QtdGhpcy1pcy1ub3QtdHJ1dGh5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorIFBBU1NFRCEgb2sKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0L3N0cmljdC10aGlzLWlzLW5vdC10cnV0aHku
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3Qvc3RyaWN0LXRoaXMtaXMt
bm90LXRydXRoeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5MmMzNzBmN2E0MTBhMjRkZTUwN2Y4OTQyNjBk
OTMzMWQwZDA1NGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemls
bGEvc3RyaWN0L3N0cmljdC10aGlzLWlzLW5vdC10cnV0aHkuaHRtbApAQCAtMCwwICsxLDE1IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtc2hlbGwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLWVzNS1zaGVsbC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N0cmljdC10
aGlzLWlzLW5vdC10cnV0aHkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC90aGlzLWZvci1mdW5jdGlvbi1l
eHByZXNzaW9uLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21v
emlsbGEvc3RyaWN0L3RoaXMtZm9yLWZ1bmN0aW9uLWV4cHJlc3Npb24tcmVjdXJzaW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNTA3NWY4NThiZmNiNDRiZTBiZjNhNmRjMzdlNzIzOTU1ZDkx
N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmlj
dC90aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw5IEBACis2MTEyNzY6IEpTT1BfQ0FMTEVFIHNob3VsZCBwdXNoIHVuZGVmaW5lZCwg
bm90IG51bGwsIGZvciB0aGlzCitQQVNTIFtvYmplY3QgRE9NV2luZG93XSA9PT0gW29iamVjdCBE
T01XaW5kb3ddCitQQVNTIHVuZGVmaW5lZCA9PT0gdW5kZWZpbmVkCisgUEFTU0VEISAKK0FsbCB0
ZXN0cyBwYXNzZWQhCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC90
aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJlY3Vyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9tb3ppbGxhL3N0cmljdC90aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJlY3Vy
c2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0MTBhMjU5Y2UxYzVhZWIyYjY3MDE0ZWQ0MDA3ZTk1MjE1
NWQwNDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3Ry
aWN0L3RoaXMtZm9yLWZ1bmN0aW9uLWV4cHJlc3Npb24tcmVjdXJzaW9uLmh0bWwKQEAgLTAsMCAr
MSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tb3ppbGxhLXNoZWxs
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1lczUtc2hl
bGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy90
aGlzLWZvci1mdW5jdGlvbi1leHByZXNzaW9uLXJlY3Vyc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0
L3VuYnJhbmQtdGhpcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemlsbGEv
c3RyaWN0L3VuYnJhbmQtdGhpcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI0NjFkYTIzYmRl
YzA1NDhmMzNmMzhjYTJlYjM0MWY2ZGYwY2UxNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvdW5icmFuZC10aGlzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDggQEAKK1BBU1MgdHJ1ZSA9PT0gdHJ1ZQorUEFTUyB0cnVlID09PSB0cnVlCitQQVNT
IG51bGwgPT09IG51bGwKKyBQQVNTRUQhIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvbW96
aWxsYS9zdHJpY3QvdW5icmFuZC10aGlzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL21vemls
bGEvc3RyaWN0L3VuYnJhbmQtdGhpcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4NDI2YmQxNWZkMjk4M2E5
MzRlOGViYTA3OTdlYmY1NDI2ZGM2YzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL21vemlsbGEvc3RyaWN0L3VuYnJhbmQtdGhpcy5odG1sCkBAIC0wLDAgKzEsMTUgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbW96aWxsYS1zaGVsbC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21vemlsbGEtZXM1LXNoZWxsLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvdW5icmFuZC10
aGlzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="74363"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>