<?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>167193</bug_id>
          
          <creation_ts>2017-01-18 20:21:42 -0800</creation_ts>
          <short_desc>JSSegmentedVariableObject and its subclasses should have a sane destruction story</short_desc>
          <delta_ts>2017-01-18 21:14:55 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1268001</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-18 20:21:42 -0800</bug_when>
    <thetext>Right now, JSSegmentedVariableObjects&apos; subclasses install finalizers that call destroy. They do this in random ways, which sometimes result in JSSegmentedVariableObject::~JSSegmentedVariableObject executing more than once (which works because of the way that ~SegmentedVector is written). Maybe this works now, but it&apos;s a disaster waiting to happen.

Fortunately we can now just give those things their own Subspace and teach it its own protocol of destruction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268016</commentid>
    <comment_count>1</comment_count>
      <attachid>299227</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-18 20:43:24 -0800</bug_when>
    <thetext>Created attachment 299227
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268017</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-18 20:44:29 -0800</bug_when>
    <thetext>Attachment 299227 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h:104:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/JSSegmentedVariableObjectSubspace.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268023</commentid>
    <comment_count>3</comment_count>
      <attachid>299230</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-18 20:52:39 -0800</bug_when>
    <thetext>Created attachment 299230
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268028</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-01-18 21:14:55 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/210912</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299227</attachid>
            <date>2017-01-18 20:43:24 -0800</date>
            <delta_ts>2017-01-18 20:52:39 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>46966</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEwOTA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBA
CisyMDE3LTAxLTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBhbmQgaXRzIHN1YmNsYXNzZXMgc2hvdWxkIGhhdmUg
YSBzYW5lIGRlc3RydWN0aW9uIHN0b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjcxOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIFByaW9yIHRvIHRoaXMgY2hhbmdlLCBKU1NlZ21lbnRl
ZFZhcmlhYmxlT2JqZWN0cycgc3ViY2xhc3NlcyBpbnN0YWxsIGZpbmFsaXplcnMgdGhhdCBjYWxs
CisgICAgICAgIGRlc3Ryb3kuIFRoZXkgZGlkIHRoaXMgaW4gcmFuZG9tIHdheXMsIHdoaWNoIHNv
bWV0aW1lcyByZXN1bHRlZCBpbgorICAgICAgICBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Ojp+
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBleGVjdXRpbmcgbW9yZSB0aGFuIG9uY2UgKHdoaWNo
IHdvcmtlZAorICAgICAgICBiZWNhdXNlIG9mIHRoZSB3YXkgdGhhdCB+U2VnbWVudGVkVmVjdG9y
IGlzIHdyaXR0ZW4pLiBNYXliZSB0aGlzIHdvcmtzIG5vdywgYnV0IGl0J3MgYSBkaXNhc3Rlcgor
ICAgICAgICB3YWl0aW5nIHRvIGhhcHBlbi4KKworICAgICAgICBGb3J0dW5hdGVseSB3ZSBjYW4g
bm93IGp1c3QgZ2l2ZSB0aG9zZSB0aGluZ3MgdGhlaXIgb3duIFN1YnNwYWNlIGFuZCB0ZWFjaCBp
dCBpdHMgb3duIHByb3RvY29sIG9mCisgICAgICAgIGRlc3RydWN0aW9uLiBUaGlzIGNoYW5nZSBp
bnRyb2R1Y2VzIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZSBhbmQgc3Rhc2hlcyBh
IG1fY2xhc3NJbmZvCisgICAgICAgIGluIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuIE5vdywg
c3ViY2xhc3NlcyBvZiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IGFyZSBkZXN0cnVjdGlibGUg
aW4KKyAgICAgICAgbXVjaCB0aGUgc2FtZSB3YXkgYXMgSlNEZXN0cnVjdGlibGVPYmplY3Qgd2l0
aG91dCBoYXZpbmcgdG8gYmUgc3ViY2xhc3NlcyBvZgorICAgICAgICBKU0Rlc3RydWN0aWJsZU9i
amVjdC4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OmNyZWF0ZSk6CisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0Ojpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaDoK
KyAgICAgICAgKEpTQzo6SlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQ6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFs
T2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9K
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdDo6ZGVzdHJveSk6CisgICAgICAgIChKU0M6OkpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3Q6OkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QpOgorICAgICAgICAoSlNDOjpKU1Nl
Z21lbnRlZFZhcmlhYmxlT2JqZWN0Ojp+SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCk6CisgICAg
ICAgIChKU0M6OkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAg
ICAgICAgKiBydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaDoKKyAgICAgICAgKEpT
Qzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6c3Vic3BhY2VGb3IpOgorICAgICAgICAoSlND
OjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpjbGFzc0luZm8pOgorICAgICAgICAoSlNDOjpK
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdFN1YnNwYWNlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OkpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3RTdWJzcGFjZTo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlKToKKyAg
ICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlOjp+SlNTZWdtZW50
ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlKToKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJp
YWJsZU9iamVjdFN1YnNwYWNlOjpmaW5pc2hTd2VlcCk6CisgICAgICAgIChKU0M6OkpTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZTo6ZGVzdHJveSk6CisgICAgICAgICogcnVudGltZS9K
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuaDogQWRkZWQuCisgICAgICAgICogcnVu
dGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9W
TS5oOgorICAgICAgICAqIHRlc3RSZWdFeHAuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0Ojpj
cmVhdGUpOgorCiAyMDE3LTAxLTE4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBPbmx5IGRlbGV0ZSBzb3VyY2UgcHJvdmlkZXIgY2FjaGVzIG9uIGZ1bGwgY29s
bGVjdGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MjEwODU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC03ODgsNiArNzg4LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAg
ICBydW50aW1lL0pTU2NvcGUuY3BwCiAgICAgcnVudGltZS9KU1NjcmlwdEZldGNoZXIuY3BwCiAg
ICAgcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcAorICAgIHJ1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlLmNwcAogICAgIHJ1bnRpbWUvSlNTZXQuY3Bw
CiAgICAgcnVudGltZS9KU1NldEl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNTb3VyY2VDb2Rl
LmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDIxMDg1OCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTE5LDcgKzExMTks
NiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBHbG9iYWxPYmplY3QqIG9iamVjdCA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPEdsb2JhbE9iamVjdD4odm0uaGVhcCkpIEdsb2JhbE9iamVj
dCh2bSwgc3RydWN0dXJlKTsKICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSwgYXJn
dW1lbnRzKTsKLSAgICAgICAgdm0uaGVhcC5hZGRGaW5hbGl6ZXIob2JqZWN0LCBkZXN0cm95KTsK
ICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0UmVnRXhwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdFJlZ0V4cC5jcHAJKHJldmlzaW9uIDIxMDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0UmVnRXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDcgKzExMiw2IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgR2xvYmFsT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50cykKICAgICB7CiAgICAgICAg
IEdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
R2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgR2xvYmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUsIGFyZ3Vt
ZW50cyk7Ci0gICAgICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKGdsb2JhbE9iamVjdCwgZGVzdHJv
eSk7CiAgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3Q7CiAgICAgfQogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJKHJldmlzaW9uIDIx
MDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYt
MjAxNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00
NSw3ICs0NSw2IEBAIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KiBKU0NhbGwKIHsK
ICAgICBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0PiogY2FsbGJhY2tPYmplY3QgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0
Pj4odm0uaGVhcCkpIEpTQ2FsbGJhY2tPYmplY3Qodm0sIGNsYXNzUmVmLCBzdHJ1Y3R1cmUpOwog
ICAgIGNhbGxiYWNrT2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgdm0uaGVhcC5hZGRG
aW5hbGl6ZXIoY2FsbGJhY2tPYmplY3QsIGRlc3Ryb3kpOwogICAgIHJldHVybiBjYWxsYmFja09i
amVjdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIx
MDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsNiArNDA4LDggQEAKIAkJMEY0
REUxRDExQzRENzY0QjAwNEQ2QzExIC8qIEIzT3JpZ2luRHVtcC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjRERTFEMDFDNEQ3NjRCMDA0RDZDMTEg
LyogQjNPcmlnaW5EdW1wLmNwcCAqLzsgfTsKIAkJMEY0RjI5REYxOEI2QUQxQzAwNTdCQzE1IC8q
IERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNEYyOUREMThCNkFEMUMwMDU3QkMx
NSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHAgKi87IH07CiAJ
CTBGNEYyOUUwMThCNkFEMUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGlt
YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY0RjI5REUxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0
aW1hdGlvblBoYXNlLmggKi87IH07CisJCTBGNEY4Mjg3MUUyRkZEREQwMDc1MTg0QyAvKiBKU1Nl
Z21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0RjgyODUxRTJGRkREQjAwNzUxODRDIC8qIEpTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5jcHAgKi87IH07CisJCTBGNEY4Mjg4MUUyRkZE
RTAwMDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNEY4Mjg2MUUyRkZEREIw
MDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjUwQUYzQzE5M0U4QjM5
MDA2NzRFRTggLyogREZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjUwQUYzQjE5M0U4QjM5MDA2NzRFRTggLyog
REZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggKi87IH07CiAJCTBGNTUxM0E2MUQ1QTY4MkMwMEMz
MkJEOCAvKiBGcmVlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEY1NTEzQTUxRDVBNjgyQTAwQzMyQkQ4IC8qIEZyZWVMaXN0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY1NTEzQTgxRDVBNjhD
RDAwQzMyQkQ4IC8qIEZyZWVMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNTUxM0E3MUQ1QTY4Q0IwMEMzMkJEOCAvKiBGcmVlTGlzdC5jcHAg
Ki87IH07CkBAIC0xMTY0LDYgKzExNjYsNyBAQAogCQkxNDdGMzlENTEwN0VDMzc2MDA0MjdBNDgg
LyogSlNTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMwMkU5QjYwRTE4NDJGQTAwMEY5Mjk3IC8qIEpTU3RyaW5nLmNwcCAqLzsgfTsKIAkJ
MTQ3RjM5RDYxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQ0pTVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4ODcwMjU1NTk3RDAxRkY2MEY3
IC8qIEpTQ0pTVmFsdWUuY3BwICovOyB9OwogCQkxNDdGMzlENzEwN0VDMzc2MDA0MjdBNDggLyog
SlNFbnZpcm9ubWVudFJlY29yZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzIyQTM5QTBFMTZFMTQ4MDBBRjIxQzggLyogSlNFbnZpcm9ubWVudFJl
Y29yZC5jcHAgKi87IH07CisJCTE0ODE1RjVGOTkxQzQ2QkVCOThEMDAxNiAvKiBKU1NjcmlwdEZl
dGNoZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTFDMTk3QzI2MjQ4NDhFREE4NENFRDdGIC8qIEpTU2NyaXB0RmV0Y2hlci5jcHAgKi87IH07CiAJ
CTE0ODJCNzRFMEE0MzAzMjgwMDUxN0NGQyAvKiBKU1N0cmluZ1JlZi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDgyQjc0QzBBNDMwMzI4MDA1MTdD
RkMgLyogSlNTdHJpbmdSZWYuY3BwICovOyB9OwogCQkxNDgyQjdFNDBBNDMwNzYwMDA1MTdDRkMg
LyogSlNPYmplY3RSZWYuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQ4MkI3RTIwQTQzMDc2MDAwNTE3Q0ZDIC8qIEpTT2JqZWN0UmVmLmNwcCAqLzsg
fTsKIAkJMTQ4NzRBRTUxNUVCREU0QTAwMkUzNTg3IC8qIEpTU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ4NzRBRTExNUVCREU0QTAwMkUz
NTg3IC8qIEpTU2NvcGUuY3BwICovOyB9OwpAQCAtMTU2NSw2ICsxNTY4LDcgQEAKIAkJOEI5RjZE
NTYxRDU5MTJGQTAwMUM3MzlGIC8qIEl0ZXJhdGlvbktpbmQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCOUY2RDU1MUQ1OTEyRkEwMDFDNzM5RiAvKiBJ
dGVyYXRpb25LaW5kLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJOTAyMTNFM0QxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0Ix
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovOyB9OwogCQk5MDIxM0Uz
RTEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8q
IE1lbW9yeVN0YXRpc3RpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5MDY0MzM3REQ0QjA0MDJCQUYzNEE1OTIgLyogSlNTY3JpcHRGZXRjaGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkE5M0M5
NTkwNDg0QzVCQUQ5MzE2RUEgLyogSlNTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMz
IC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87
IH07CiAJCTkzMDUyQzM1MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzMwRkI3OTIxOTAw
NDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCRDMwODIyQTFDNzAwNzM2OTc1IC8qIENvcmVGb3VuZGF0
aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDY1NjBBNENGMDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdv
cmsgKi87IH07CkBAIC0yMTUyLDYgKzIxNTYsNyBAQAogCQlCQ0Y2MDUxNDBFMjAzRUY4MDBCOUE2
NEQgLyogQXJnTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNGNjA1MTIwRTIwM0VGODAwQjlBNjREIC8qIEFyZ0xpc3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0ZEOEM5MjBFRUIyRUU3MDAy
ODM4NDggLyogSnVtcFRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRkQ4QzkwMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwICov
OyB9OwogCQlCQ0ZEOEM5MzBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0ZEOEM5MTBFRUIyRUU3MDAy
ODM4NDggLyogSnVtcFRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQkRGQ0IyQkJFOTBGNDEzNDlFMUIwQkVEIC8qIEpTU291cmNlQ29kZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzAzMjE3NURG
MUFENDdEODk5OEIzNEUxIC8qIEpTU291cmNlQ29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyMDMyODIwMTk4MTk3OUQwMDg4QjQ5OSAvKiBD
dXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMyMDMyODFFMTk4MTk3OUQwMDg4QjQ5OSAvKiBDdXN0b21HbG9i
YWxPYmplY3RDbGFzc1Rlc3QuYyAqLzsgfTsKIAkJQzIwQkE5MkQxNkJCMUMxNTAwQjNBRUEyIC8q
IFN0cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzIwQkE5MkMxNkJCMUMxNTAwQjNBRUEyIC8qIFN0cnVjdHVyZVJh
cmVEYXRhSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUMyMTYwRkU3MTVGN0U5NUUwMDk0MkRGQyAvKiBTbG90VmlzaXRvcklubGluZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0MDg1
MTVDMEEzQzMwMDQ4OTMyQiAvKiBTbG90VmlzaXRvcklubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjE5Nyw2ICsyMjAyLDcgQEAKIAkJ
QzRGNEI2RjQxQTA1Qzk0NDAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3IucHkgaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZEMDFBMDVDNzZGMDA1Q0FC
NzYgLyogY3BwX2dlbmVyYXRvci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDNEY0QjZGNTFBMDVDOTg0MDA1Q0FCNzYgLyogZ2VuZXJhdGVfb2Jq
Y19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0RjRCNkQ3MUEwNUM3NkYwMDVDQUI3NiAvKiBnZW5l
cmF0ZV9vYmpjX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5ICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM0RjRCNkY2MUEwNUM5ODQwMDVD
QUI3NiAvKiBvYmpjX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZEODFBMDVDNzZGMDA1Q0FCNzYgLyogb2Jq
Y19nZW5lcmF0b3JfdGVtcGxhdGVzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNFQUU3RDdCODg5QjQ3N0JBOTNBQkE2QyAvKiBTY3JpcHRGZXRj
aGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4ODUy
MTUxQTlDMzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUQ5NzIyNzUyREM1NDQ1OUI5MTI1QjUz
OSAvKiBKU01vZHVsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzdCMjVDQjJDMzA5NEE5MkEzOEUxREIzIC8qIEpTTW9kdWxlTG9hZGVyLmgg
Ki87IH07CiAJCURDMDAwMzkzMTlEOEJFNkYwMDAyM0VCMCAvKiBERkdQcmVjaXNlTG9jYWxDbG9i
YmVyaXplLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
QzAwMDM5MDE5RDhCRTZGMDAwMjNFQjAgLyogREZHUHJlY2lzZUxvY2FsQ2xvYmJlcml6ZS5oICov
OyB9OwogCQlEQzAxODQxOTFEMTBDMTg5MDA1N0IwNTMgLyogSklUV29ya2xpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDMDE4NDE4MUQxMEMxODcw
MDU3QjA1MyAvKiBKSVRXb3JrbGlzdC5oICovOyB9OwpAQCAtMjMwOCw2ICsyMzE0LDcgQEAKIAkJ
RTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMxNTUxMkVGMjc3
MjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwICovOyB9OwogCQlFNDlEQzE2QzEy
RUYyOTRFMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMxNTExMkVGMjcyMjAwMTg0QTFGIC8q
IFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFNDlEQzE2RDEyRUYyOTUzMDAxODRBMUYgLyogU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZBM0FC
MjExQzg0OTQ1MjRBQjM5MDI2NyAvKiBKU1NvdXJjZUNvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8q
IEpTU291cmNlQ29kZS5jcHAgKi87IH07CiAJCUZFMEQ0QTA2MUFCOEREMEEwMDJGNTRCRiAvKiBF
eGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFMEQ0QTA0MUFCOEREMEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1l
TGltaXRUZXN0LmNwcCAqLzsgfTsKIAkJRkUwRDRBMDkxQUJBMjQzNzAwMkY1NEJGIC8qIEdsb2Jh
bENvbnRleHRXaXRoRmluYWxpemVyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRTBENEEwNzFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29u
dGV4dFdpdGhGaW5hbGl6ZXJUZXN0LmNwcCAqLzsgfTsKIAkJRkUxMjIwMjcxQkU3RjU4QzAwMzlF
NkYyIC8qIEpJVEFkZEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkUxMjIwMjYxQkU3RjU2NDAwMzlFNkYyIC8qIEpJVEFkZEdlbmVyYXRv
ci5oICovOyB9OwpAQCAtMjM3OSwxMSArMjM4Niw2IEBACiAJCUZFRDk0RjJGMTcxRTNFMjMwMEJF
NzdBNCAvKiBXYXRjaGRvZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkVEOTRGMkMxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkVGMDQwNTExQUFFNjYy
RDAwQkQyOEIwIC8qIENvbXBhcmVBbmRTd2FwVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUYwNDA1MDFBQUU2NjJEMDBCRDI4QjAgLyogQ29t
cGFyZUFuZFN3YXBUZXN0LmNwcCAqLzsgfTsKIAkJRkVGRDZGQzYxRDVFNzk5MjAwOEYyRjBCIC8q
IEpTU3RyaW5nSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkVGRDZGQzUxRDVFNzk3MDAwOEYyRjBCIC8qIEpTU3RyaW5nSW5saW5lcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUZBM0FCMjEx
Qzg0OTQ1MjRBQjM5MDI2NyAvKiBKU1NvdXJjZUNvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8qIEpT
U291cmNlQ29kZS5jcHAgKi87IH07Ci0JCUJERkNCMkJCRTkwRjQxMzQ5RTFCMEJFRCAvKiBKU1Nv
dXJjZUNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMwMzIxNzVERjFBRDQ3RDg5OThCMzRFMSAvKiBKU1NvdXJjZUNvZGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxNDgxNUY1Rjk5MUM0NkJFQjk4
RDAwMTYgLyogSlNTY3JpcHRGZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDExQzE5N0MyNjI0ODQ4RURBODRDRUQ3RiAvKiBKU1NjcmlwdEZl
dGNoZXIuY3BwICovOyB9OwotCQk5MDY0MzM3REQ0QjA0MDJCQUYzNEE1OTIgLyogSlNTY3JpcHRG
ZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
QkE5M0M5NTkwNDg0QzVCQUQ5MzE2RUEgLyogSlNTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0VBRTdEN0I4ODlCNDc3QkE5
M0FCQTZDIC8qIFNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg4NTIxNTFBOUMzODQyMzg5QjMyMTVCNyAvKiBTY3JpcHRGZXRjaGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIC8qIEVu
ZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJv
eHkgc2VjdGlvbiAqLwpAQCAtMjg1OSw2ICsyODYxLDggQEAKIAkJMEY0REUxRDAxQzRENzY0QjAw
NEQ2QzExIC8qIEIzT3JpZ2luRHVtcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBCM09yaWdpbkR1bXAuY3BwOyBwYXRoID0gYjMvQjNPcmlnaW5EdW1wLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0RjI5REQxOEI2QUQxQzAwNTdCQzE1IC8qIERG
R1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBo
YXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFz
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNEYyOURFMThCNkFEMUMwMDU3
QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRp
b25QaGFzZS5oOyBwYXRoID0gZGZnL0RGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBo
YXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNEY4Mjg1MUUyRkZEREIwMDc1
MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNw
YWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0RjgyODYxRTJGRkREQjAw
NzUxODRDIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1MEFGM0IxOTNFOEIzOTAwNjc0RUU4
IC8qIERGR1N0cnVjdHVyZUNsb2JiZXJTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdTdHJ1Y3R1cmVDbG9iYmVyU3RhdGUuaDsgcGF0aCA9IGRmZy9ERkdTdHJ1Y3R1
cmVDbG9iYmVyU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1NTEzQTUx
RDVBNjgyQTAwQzMyQkQ4IC8qIEZyZWVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZyZWVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNTUxM0E3
MUQ1QTY4Q0IwMEMzMkJEOCAvKiBGcmVlTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGcmVlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zNDgxLDYgKzM0ODUsNyBAQAogCQkwRkZGQzk1MjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdQcmVkaWN0
aW9uUHJvcGFnYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkZG
Qzk1MzE0RUY5MDk1MDBDNzI1MzIgLyogREZHVmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBoYXNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ZpcnR1YWxSZWdp
c3RlckFsbG9jYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHVmlydHVhbFJlZ2lzdGVyQWxs
b2NhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGRkM5NTQx
NEVGOTA5NTAwQzcyNTMyIC8qIERGR1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25QaGFzZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0
aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTFDMTk3QzI2MjQ4NDhFREE4NENFRDdG
IC8qIEpTU2NyaXB0RmV0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1NjcmlwdEZldGNoZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NDBEMTdENjBFOEFENEE5MDAwQ0QxN0QgLyogSlNCYXNlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0Jhc2VQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE0MTIxMTAyMEE0ODc4MDkwMDQ4MDI1NSAvKiBtaW5pZG9tLmMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9IG1pbmlkb20uYzsgcGF0aCA9IHRlc3RzL21pbmlkb20u
Yzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQxMjExMEQwQTQ4Nzg4NzAwNDgwMjU1
IC8qIG1pbmlkb20uanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IG5hbWUgPSBt
aW5pZG9tLmpzOyBwYXRoID0gdGVzdHMvbWluaWRvbS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTM2NzIsNiArMzY3Nyw3IEBACiAJCTJBREZBMjYyMThFRjM1NDAwMDRGOUZDQyAv
KiBHQ0xvZ2dpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NM
b2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFGNzM4MkExOEJCQkY5
MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3RydWN0dXJlSURUYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJBRjczODJCMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZUlEVGFibGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzAzMjE3NURGMUFENDdEODk5OEIzNEUxIC8qIEpT
U291cmNlQ29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NvdXJjZUNv
ZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRDg0MkMxN0M5OEI2RTAwRUNG
OTk0IC8qIGxpYnouZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYnouZHlsaWI7IHBh
dGggPSB1c3IvbGliL2xpYnouZHlsaWI7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwogCQk0MTI5
NTI3MzFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gYnVpbHRp
bnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5OyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNj
cmlwdC5weXRob247IHBhdGggPSBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9p
bXBsZW1lbnRhdGlvbi5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM4MzEsNiAr
MzgzNyw3IEBACiAJCTY1RkI1MTE1MTg0RUU4RjgwMEMxMkI3MCAvKiBQcm90b0NhbGxGcmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b0NhbGxGcmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUZCNTExNjE4NEVFOUJDMDBDMTJCNzAgLyogUHJv
dG9DYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJv
dG9DYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QUQyQ0I0QzE5
QjkxNDAxMDAwNjU3MTkgLyogRGVidWdnZXJFdmFsRW5hYmxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEZWJ1Z2dlckV2YWxFbmFibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTZCQTkzQzk1OTA0ODRDNUJBRDkzMTZFQSAvKiBKU1NjcmlwdEZldGNoZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTY3JpcHRGZXRjaGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcwMTEzRDQ5MUE4REIwOTMwMDM4NDhDNCAvKiBJ
dGVyYXRvck9wZXJhdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSXRlcmF0b3JPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NzAxMTNENEExQThEQjA5MzAwMzg0OEM0IC8qIEl0ZXJhdG9yT3BlcmF0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJdGVyYXRvck9wZXJhdGlvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzAxM0NBODkxQjQ5MUE5NDAwQ0FFNjEzIC8qIEpTSm9iLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSm9iLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQwNTAsNiArNDA1Nyw3IEBACiAJCTg2Rjc1RUZEMTUx
QzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0JvdW5kRnVu
Y3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU5MDE0MkJCQjJF
MDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQm91bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
ODUyMTUxQTlDMzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCThCNDdGMjM0MzY2QzRCNzJBQzg1MkE3RSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5S2V5
VGFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGVtcGxhdGVS
ZWdpc3RyeUtleVRhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEI5RjZE
NTUxRDU5MTJGQTAwMUM3MzlGIC8qIEl0ZXJhdGlvbktpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSXRlcmF0aW9uS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ4NDAsNiArNDg0OCw3IEBACiAJCUY2OTJB
ODdEMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQlGNjkyQTg3RTAyNTU1OTdEMDFGRjYwRjcg
LyogUmVnRXhwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJlZ0V4cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07
CiAJCUY2OTJBODg3MDI1NTU5N0QwMUZGNjBGNyAvKiBKU0NKU1ZhbHVlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ0pTVmFsdWUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCUY3MzkyNjkx
OERDNjQzMzBBRkNERjBENyAvKiBKU1NvdXJjZUNvZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNTb3VyY2VDb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkUwRDRBMDQxQUI4REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRpbWVMaW1pdFRl
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRXhlY3V0aW9uVGlt
ZUxpbWl0VGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMEQ0QTA1MUFCOEREMEEwMDJGNTRC
RiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEV4ZWN1dGlvblRpbWVMaW1pdFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9FeGVjdXRp
b25UaW1lTGltaXRUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMEQ0QTA3
MUFCQTI0MzcwMDJGNTRCRiAvKiBHbG9iYWxDb250ZXh0V2l0aEZpbmFsaXplclRlc3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR2xvYmFsQ29udGV4dFdpdGhGaW5h
bGl6ZXJUZXN0LmNwcDsgcGF0aCA9IEFQSS90ZXN0cy9HbG9iYWxDb250ZXh0V2l0aEZpbmFsaXpl
clRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDkxOSwxMSArNDkyOCw2
IEBACiAJCUZFRjA0MDUwMUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ29tcGFyZUFuZFN3YXBUZXN0
LmNwcDsgcGF0aCA9IEFQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRUYwNDA1MjFBQUVDNEVEMDBCRDI4QjAgLyogQ29tcGFyZUFu
ZFN3YXBUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENvbXBhcmVBbmRT
d2FwVGVzdC5oOyBwYXRoID0gQVBJL3Rlc3RzL0NvbXBhcmVBbmRTd2FwVGVzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGRUZENkZDNTFENUU3OTcwMDA4RjJGMEIgLyogSlNTdHJp
bmdJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3RyaW5nSW5s
aW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGNzM5MjY5MThEQzY0MzMwQUZD
REYwRDcgLyogSlNTb3VyY2VDb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEpTU291cmNlQ29kZS5jcHA7IHBhdGggPSBKU1NvdXJjZUNvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkzMDMyMTc1REYxQUQ0N0Q4OTk4QjM0RTEgLyogSlNTb3Vy
Y2VDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTU291cmNlQ29kZS5o
OyBwYXRoID0gSlNTb3VyY2VDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTEx
QzE5N0MyNjI0ODQ4RURBODRDRUQ3RiAvKiBKU1NjcmlwdEZldGNoZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNTY3JpcHRGZXRjaGVyLmNwcDsgcGF0aCA9IEpT
U2NyaXB0RmV0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZCQTkzQzk1
OTA0ODRDNUJBRDkzMTZFQSAvKiBKU1NjcmlwdEZldGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSlNTY3JpcHRGZXRjaGVyLmg7IHBhdGggPSBKU1NjcmlwdEZldGNoZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODg1MjE1MUE5QzM4NDIzODlCMzIxNUI3
IC8qIFNjcmlwdEZldGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU2Ny
aXB0RmV0Y2hlci5oOyBwYXRoID0gU2NyaXB0RmV0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC02NTAyLDEyICs2NTA2LDE4IEBA
CiAJCQkJODYyNTUzQ0YxNjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuaCAqLywKIAkJCQkxNDg3
NEFFMTE1RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5jcHAgKi8sCiAJCQkJMTQ4NzRBRTIxNUVC
REU0QTAwMkUzNTg3IC8qIEpTU2NvcGUuaCAqLywKKwkJCQkxMUMxOTdDMjYyNDg0OEVEQTg0Q0VE
N0YgLyogSlNTY3JpcHRGZXRjaGVyLmNwcCAqLywKKwkJCQk2QkE5M0M5NTkwNDg0QzVCQUQ5MzE2
RUEgLyogSlNTY3JpcHRGZXRjaGVyLmggKi8sCiAJCQkJMEY5MTlEMEUxNTdGMzMyNzAwNEE0RTdE
IC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwICovLAogCQkJCTBGOTE5RDBGMTU3RjMz
MjcwMDRBNEU3RCAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmggKi8sCisJCQkJMEY0Rjgy
ODUxRTJGRkREQjAwNzUxODRDIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5j
cHAgKi8sCisJCQkJMEY0RjgyODYxRTJGRkREQjAwNzUxODRDIC8qIEpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3RTdWJzcGFjZS5oICovLAogCQkJCUE3Mjk5RDlCMTdEMTI4MzcwMDVGNUZGOSAvKiBK
U1NldC5jcHAgKi8sCiAJCQkJQTcyOTlEOUMxN0QxMjgzNzAwNUY1RkY5IC8qIEpTU2V0LmggKi8s
CiAJCQkJQTc5MERENjkxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuY3BwICovLAog
CQkJCUE3OTBERDZBMTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmggKi8sCisJCQkJ
RjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8qIEpTU291cmNlQ29kZS5jcHAgKi8sCisJCQkJMzAz
MjE3NURGMUFENDdEODk5OEIzNEUxIC8qIEpTU291cmNlQ29kZS5oICovLAogCQkJCUJDMDJFOUI2
MEUxODQyRkEwMDBGOTI5NyAvKiBKU1N0cmluZy5jcHAgKi8sCiAJCQkJRjY5MkE4NjIwMjU1NTk3
RDAxRkY2MEY3IC8qIEpTU3RyaW5nLmggKi8sCiAJCQkJODZFODU1MzgxMTFCOTk2ODAwMUFGNTFF
IC8qIEpTU3RyaW5nQnVpbGRlci5oICovLApAQCAtNjY2Myw2ICs2NjczLDcgQEAKIAkJCQkwRkUw
NTAyMjFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVPZmZzZXQuaCAqLywKIAkJCQkxNDczNDFFMDFE
QzJDRTk2MDBBQTI5QkEgLyogU2NyaXB0RXhlY3V0YWJsZS5jcHAgKi8sCiAJCQkJMTQ3MzQxQ0Qx
REMwMkQ3OTAwQUEyOUJBIC8qIFNjcmlwdEV4ZWN1dGFibGUuaCAqLywKKwkJCQk4ODUyMTUxQTlD
Mzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovLAogCQkJCUE3Mjk5REEzMTdEMTI4
NTgwMDVGNUZGOSAvKiBTZXRDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJQTcyOTlEQTQxN0QxMjg1
ODAwNUY1RkY5IC8qIFNldENvbnN0cnVjdG9yLmggKi8sCiAJCQkJQTc5MERENjcxODJGNDk5NzAw
NTg4ODA3IC8qIFNldEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKQEAgLTY3NzEsMTEgKzY3ODIs
NiBAQAogCQkJCTcwOUZCODY2MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmgg
Ki8sCiAJCQkJQTdEQ0I3NzkxMkUzRDkwNTAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oICovLAog
CQkJCUMyQjZENzUyMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJbmxpbmVzLmggKi8s
Ci0JCQkJRjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8qIEpTU291cmNlQ29kZS5jcHAgKi8sCi0J
CQkJMzAzMjE3NURGMUFENDdEODk5OEIzNEUxIC8qIEpTU291cmNlQ29kZS5oICovLAotCQkJCTEx
QzE5N0MyNjI0ODQ4RURBODRDRUQ3RiAvKiBKU1NjcmlwdEZldGNoZXIuY3BwICovLAotCQkJCTZC
QTkzQzk1OTA0ODRDNUJBRDkzMTZFQSAvKiBKU1NjcmlwdEZldGNoZXIuaCAqLywKLQkJCQk4ODUy
MTUxQTlDMzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovLAogCQkJKTsKIAkJCXBh
dGggPSBydW50aW1lOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTgxMjMsNiArODEy
OSw3IEBACiAJCQkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxp
dGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0ODUzMjIxODc3NTA1NjAwODNCNjg3IC8qIERG
R0FyaXRoTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwNUMzQjQxNjgzQ0Y5MjAwQkFGNDVC
IC8qIERGR0FycmF5aWZ5U2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
NEY4Mjg4MUUyRkZERTAwMDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3Bh
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjM5NDg1MTVFNDgxMUIwMDZBNTk3QyAvKiBERkdB
cnJheU1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDlBMjk1MTdBMEJDNzQwMEVFMjYxOCAv
KiBERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjY2NkVDNzE4
MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKQEAgLTk3
ODIsNiArOTc4OSw3IEBACiAJCQkJMEY2NEIyNzExQTc4NEJBRjAwNkU0RTY2IC8qIEJpbmFyeVN3
aXRjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDI4MDg2MzEwN0VDMTFBMDAxM0U3QjIgLyog
Qm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjgwODY0MTA3RUMx
MUEwMDEzRTdCMiAvKiBCb29sZWFuT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNEY4
Mjg3MUUyRkZEREQwMDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQURCNkY2N0QxRTE1RDc2MDAwODJGMzg0IC8qIFdhc21Q
YWdlQ291bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyODA4NjUxMDdFQzExQTAwMTNFN0Iy
IC8qIEJvb2xlYW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREUyNkU5MDcxQ0I1
REVGQjAwRDJCRTgyIC8qIEJ1aWx0aW5FeGVjdXRhYmxlQ3JlYXRvci5jcHAgaW4gU291cmNlcyAq
LywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsTGV4aWNhbEVu
dmlyb25tZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaAkocmV2aXNpb24gMjEwODU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudD4odm0uaGVhcCkp
IEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50KHZtLCBzdHJ1Y3R1cmUsIHBhcmVudFNjb3BlKTsK
ICAgICAgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIHJlc3VsdC0+c3lt
Ym9sVGFibGUoKS0+c2V0U2NvcGVUeXBlKFN5bWJvbFRhYmxlOjpTY29wZVR5cGU6Okdsb2JhbExl
eGljYWxTY29wZSk7Ci0gICAgICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKHJlc3VsdCwgZGVzdHJv
eSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAyMTA4
NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NDksNCArMTQ0OSwyOSBAQCBib29sIEpTR2xvYmFsT2JqZWN0
OjpoYXNJbnRlcmFjdGl2ZURlYnVnCiAgICAgcmV0dXJuIG1fZGVidWdnZXIgJiYgbV9kZWJ1Z2dl
ci0+aXNJbnRlcmFjdGl2ZWx5RGVidWdnaW5nKCk7CiB9CiAKK0pTR2xvYmFsT2JqZWN0KiBKU0ds
b2JhbE9iamVjdDo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxs
PEpTR2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgSlNHbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSk7
CisgICAgZ2xvYmFsT2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgcmV0dXJuIGdsb2Jh
bE9iamVjdDsKK30KKwordm9pZCBKU0dsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBzdHJ1Y3R1cmUoKS0+c2V0
R2xvYmFsT2JqZWN0KHZtLCB0aGlzKTsKKyAgICBtX3J1bnRpbWVGbGFncyA9IG1fZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUtPmphdmFTY3JpcHRSdW50aW1lRmxhZ3ModGhpcyk7CisgICAgaW5pdCh2
bSk7CisgICAgc2V0R2xvYmFsVGhpcyh2bSwgSlNQcm94eTo6Y3JlYXRlKHZtLCBKU1Byb3h5Ojpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIGdldFByb3RvdHlwZURpcmVjdCgpLCBQdXJlRm9yd2Fy
ZGluZ1Byb3h5VHlwZSksIHRoaXMpKTsKK30KKwordm9pZCBKU0dsb2JhbE9iamVjdDo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogdGhpc1ZhbHVlKQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtKTsKKyAgICBzdHJ1Y3R1cmUoKS0+c2V0R2xvYmFsT2JqZWN0KHZtLCB0aGlz
KTsKKyAgICBtX3J1bnRpbWVGbGFncyA9IG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUtPmphdmFT
Y3JpcHRSdW50aW1lRmxhZ3ModGhpcyk7CisgICAgaW5pdCh2bSk7CisgICAgc2V0R2xvYmFsVGhp
cyh2bSwgdGhpc1ZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9uIDIx
MDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQzMywxMyArNDMzLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVy
dHlUYWJsZSB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3Bl
cnR5TmFtZXMgfCBPdmVycmlkZXNUb1RoaXM7CiAKLSAgICBzdGF0aWMgSlNHbG9iYWxPYmplY3Qq
IGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIHsKLSAgICAgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpT
R2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgSlNHbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSk7Ci0g
ICAgICAgIGdsb2JhbE9iamVjdC0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICB2bS5oZWFw
LmFkZEZpbmFsaXplcihnbG9iYWxPYmplY3QsIGRlc3Ryb3kpOwotICAgICAgICByZXR1cm4gZ2xv
YmFsT2JqZWN0OwotICAgIH0KKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNHbG9iYWxP
YmplY3QqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSopOwogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5G
TzsKIApAQCAtNDUwLDMxICs0NDQsMTUgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIGV4cGxpY2l0IEpTR2xvYmFsT2JqZWN0KFZNJiwgU3RydWN0dXJlKiwgY29u
c3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUqID0gMCk7CiAKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAg
ICAgICAgc3RydWN0dXJlKCktPnNldEdsb2JhbE9iamVjdCh2bSwgdGhpcyk7Ci0gICAgICAgIG1f
cnVudGltZUZsYWdzID0gbV9nbG9iYWxPYmplY3RNZXRob2RUYWJsZS0+amF2YVNjcmlwdFJ1bnRp
bWVGbGFncyh0aGlzKTsKLSAgICAgICAgaW5pdCh2bSk7Ci0gICAgICAgIHNldEdsb2JhbFRoaXMo
dm0sIEpTUHJveHk6OmNyZWF0ZSh2bSwgSlNQcm94eTo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlz
LCBnZXRQcm90b3R5cGVEaXJlY3QoKSwgUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpLCB0aGlzKSk7
Ci0gICAgfQotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiB0aGlz
VmFsdWUpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAg
IHN0cnVjdHVyZSgpLT5zZXRHbG9iYWxPYmplY3Qodm0sIHRoaXMpOwotICAgICAgICBtX3J1bnRp
bWVGbGFncyA9IG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUtPmphdmFTY3JpcHRSdW50aW1lRmxh
Z3ModGhpcyk7Ci0gICAgICAgIGluaXQodm0pOwotICAgICAgICBzZXRHbG9iYWxUaGlzKHZtLCB0
aGlzVmFsdWUpOwotICAgIH0KKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJik7CisKKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNPYmplY3QqKTsKIAogICAgIHZvaWQgYWRkR2xvYmFsVmFyKGNvbnN0IElkZW50aWZpZXIm
KTsKIAogcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIH5KU0dsb2JhbE9iamVjdCgpOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7Ci0gICAg
Ly8gV2UgZG9uJ3QgbmVlZCBhIGRlc3RydWN0b3IgYmVjYXVzZSB3ZSB1c2UgYSBmaW5hbGl6ZXIg
aW5zdGVhZC4KLSAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gZmFsc2U7
CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2Vs
bCosIFNsb3RWaXNpdG9yJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwCShyZXZpc2lv
biAyMTA4NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZh
cmlhYmxlT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC05Myw1ICs5MywyOCBA
QCB2b2lkIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmhlYXBTbmFwCiAgICAgfQogfQogCit2
b2lkIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQorewor
ICAgIHN0YXRpY19jYXN0PEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QqPihjZWxsKS0+SlNTZWdt
ZW50ZWRWYXJpYWJsZU9iamVjdDo6fkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QoKTsKK30KKwor
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdChWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Njb3BlKiBzY29wZSkKKyAgICA6IEpTU3ltYm9s
VGFibGVPYmplY3Qodm0sIHN0cnVjdHVyZSwgc2NvcGUpCisgICAgLCBtX2NsYXNzSW5mbyhzdHJ1
Y3R1cmUtPmNsYXNzSW5mbygpKQoreworfQorCitKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Ojp+
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCgpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1fYWxy
ZWFkeURlc3Ryb3llZCk7CisgICAgbV9hbHJlYWR5RGVzdHJveWVkID0gdHJ1ZTsKK30KKwordm9p
ZCBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIHNldFN5bWJvbFRhYmxlKHZtLCBTeW1i
b2xUYWJsZTo6Y3JlYXRlKHZtKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdC5oCShyZXZpc2lvbiAyMTA4NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzLCAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtODYsMjMgKzg2LDI4IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgaGVhcFNuYXBzaG90KEpTQ2VsbCosIEhlYXBTbmFw
c2hvdEJ1aWxkZXImKTsKICAgICAKLXByb3RlY3RlZDoKLSAgICBKU1NlZ21lbnRlZFZhcmlhYmxl
T2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU2NvcGUqIHNjb3BlKQotICAg
ICAgICA6IEpTU3ltYm9sVGFibGVPYmplY3Qodm0sIHN0cnVjdHVyZSwgc2NvcGUpCisgICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZT4K
KyAgICBzdGF0aWMgU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKICAgICB7CisgICAgICAg
IHJldHVybiAmdm0uc2VnbWVudGVkVmFyaWFibGVPYmplY3RTcGFjZTsKICAgICB9CisgICAgCisg
ICAgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzSW5m
bzsgfQorICAgIAorcHJvdGVjdGVkOgorICAgIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QoVk0m
LCBTdHJ1Y3R1cmUqLCBKU1Njb3BlKik7CisgICAgCisgICAgfkpTU2VnbWVudGVkVmFyaWFibGVP
YmplY3QoKTsKIAotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtKQotICAgIHsKLSAgICAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzZXRTeW1ib2xUYWJsZSh2bSwg
U3ltYm9sVGFibGU6OmNyZWF0ZSh2bSkpOwotICAgIH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiB2bSk7CiAgICAgCiBwcml2YXRlOgotICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIGEgZGVz
dHJ1Y3Rvciwgd2hpY2ggY2FuIG9ubHkgYmUgYWRkZWQgdXNpbmcgY3VzdG9tIHN1YnNwYWNlLgot
ICAgIAogICAgIFNlZ21lbnRlZFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4sIDE2PiBtX3Zh
cmlhYmxlczsKICAgICBDb25jdXJyZW50SlNMb2NrIG1fbG9jazsKKyAgICBib29sIG1fYWxyZWFk
eURlc3Ryb3llZCB7IGZhbHNlIH07IC8vIFdlIHVzZSB0aGVzZSBhc3NlcnRpb25zIHRvIGNoZWNr
IHRoYXQgd2UgYXJlbid0IGRvaW5nIGFuY2llbnQgaGFja3MgdGhhdCByZXN1bHQgaW4gdGhpcyBi
ZWluZyBkZXN0cm95ZWQgbW9yZSB0aGFuIG9uY2UuCisgICAgY29uc3QgQ2xhc3NJbmZvKiBtX2Ns
YXNzSW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlh
YmxlT2JqZWN0U3Vic3BhY2UuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNTZWdtZW50
ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlLmgiCisKKyNpbmNsdWRlICJNYXJrZWRCbG9ja0lubGlu
ZXMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiU3Vic3BhY2VJbmxpbmVz
LmgiCisKK25hbWVzcGFjZSBKU0MgeworCituYW1lc3BhY2UgeworCitzdHJ1Y3QgRGVzdHJveUZ1
bmMgeworICAgIEFMV0FZU19JTkxJTkUgdm9pZCBvcGVyYXRvcigpKFZNJiwgSlNDZWxsKiBjZWxs
KSBjb25zdAorICAgIHsKKyAgICAgICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdCo+KGNlbGwpLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKKyAg
ICB9Cit9OworCit9IC8vIGFub255bW91cyBuYW1lc3BhY2UKKworSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdFN1YnNwYWNlOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UoQ1N0cmlu
ZyBuYW1lLCBIZWFwJiBoZWFwKQorICAgIDogU3Vic3BhY2UobmFtZSwgaGVhcCwgQWxsb2NhdG9y
QXR0cmlidXRlcyhOZWVkc0Rlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkKK3sKK30KKwor
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlOjp+SlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdFN1YnNwYWNlKCkKK3sKK30KKworRnJlZUxpc3QgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dFN1YnNwYWNlOjpmaW5pc2hTd2VlcChNYXJrZWRCbG9jazo6SGFuZGxlJiBoYW5kbGUsIE1hcmtl
ZEJsb2NrOjpIYW5kbGU6OlN3ZWVwTW9kZSBzd2VlcE1vZGUpCit7CisgICAgcmV0dXJuIGhhbmRs
ZS5maW5pc2hTd2VlcEtub3dpbmdTdWJzcGFjZShzd2VlcE1vZGUsIERlc3Ryb3lGdW5jKCkpOwor
fQorCit2b2lkIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZTo6ZGVzdHJveShWTSYg
dm0sIEpTQ2VsbCogY2VsbCkKK3sKKyAgICBEZXN0cm95RnVuYygpKHZtLCBjZWxsKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgSlNDCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFj
ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdWJzcGFjZS5oIgorCituYW1lc3BhY2UgSlNDIHsKKwor
Y2xhc3MgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlIDogcHVibGljIFN1YnNwYWNl
IHsKK3B1YmxpYzoKKyAgICBKU19FWFBPUlRfUFJJVkFURSBKU1NlZ21lbnRlZFZhcmlhYmxlT2Jq
ZWN0U3Vic3BhY2UoQ1N0cmluZyBuYW1lLCBIZWFwJik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUg
dmlydHVhbCB+SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlKCk7CisgICAgCisgICAg
RnJlZUxpc3QgZmluaXNoU3dlZXAoTWFya2VkQmxvY2s6OkhhbmRsZSYsIE1hcmtlZEJsb2NrOjpI
YW5kbGU6OlN3ZWVwTW9kZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBkZXN0cm95KFZNJiwgSlNDZWxs
Kikgb3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMjEwODU4KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcg
QEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwgZGVzdHJ1
Y3RpYmxlQ2VsbFNwYWNlKCJEZXN0cnVjdGlibGUgSlNDZWxsIiwgaGVhcCwgQWxsb2NhdG9yQXR0
cmlidXRlcyhOZWVkc0Rlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkKICAgICAsIHN0cmlu
Z1NwYWNlKCJKU1N0cmluZyIsIGhlYXApCiAgICAgLCBkZXN0cnVjdGlibGVPYmplY3RTcGFjZSgi
SlNEZXN0cnVjdGlibGVPYmplY3QiLCBoZWFwKQorICAgICwgc2VnbWVudGVkVmFyaWFibGVPYmpl
Y3RTcGFjZSgiSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFNwYWNlIiwgaGVhcCkKICAgICAsIHZt
VHlwZSh2bVR5cGUpCiAgICAgLCBjbGllbnREYXRhKDApCiAgICAgLCB0b3BWTUVudHJ5RnJhbWUo
bnVsbHB0cikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMjEw
ODU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKICNpbmNsdWRlICJK
U0Rlc3RydWN0aWJsZU9iamVjdFN1YnNwYWNlLmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCisjaW5j
bHVkZSAiSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlLmgiCiAjaW5jbHVkZSAiSlNT
dHJpbmdTdWJzcGFjZS5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgogI2lu
Y2x1ZGUgIk1pY3JvdGFzay5oIgpAQCAtMjk4LDYgKzI5OSw3IEBAIHB1YmxpYzoKICAgICBTdWJz
cGFjZSBkZXN0cnVjdGlibGVDZWxsU3BhY2U7CiAgICAgSlNTdHJpbmdTdWJzcGFjZSBzdHJpbmdT
cGFjZTsKICAgICBKU0Rlc3RydWN0aWJsZU9iamVjdFN1YnNwYWNlIGRlc3RydWN0aWJsZU9iamVj
dFNwYWNlOworICAgIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZSBzZWdtZW50ZWRW
YXJpYWJsZU9iamVjdFNwYWNlOwogCiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgc3RkOjp1bmlx
dWVfcHRyPERGRzo6TG9uZ0xpdmVkU3RhdGU+IGRmZ1N0YXRlOwpJbmRleDogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2
aXNpb24gMjEwOTA5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMDEtMTggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KKworICAgICAgICBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IGFuZCBpdHMgc3ViY2xh
c3NlcyBzaG91bGQgaGF2ZSBhIHNhbmUgZGVzdHJ1Y3Rpb24gc3RvcnkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzE5MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5v
IG5ldyBiZWhhdmlvci4KKyAgICAgICAgCisgICAgICAgIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3RzIG5vdyBnZXQgdG8gaGF2ZSBhIHNhbmUgZGVzdHJ1Y3Rpb24gc3RvcnkuIFRoaXMgbWVhbnMg
c3dpdGNoaW5nCisgICAgICAgIHN1YnNwYWNlIHR5cGVzIGZvciB0aGUgRE9NJ3MgZ2xvYmFsIG9i
amVjdCBzdWJzcGFjZS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERh
dGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNWTUNsaWVudERhdGE6OkpTVk1DbGllbnREYXRh
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmg6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0
ZUhlYWRlcik6CisKIDIwMTctMDEtMTggIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMDg0OC4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3Bw
CShyZXZpc2lvbiAyMTA4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
SlNDbGllbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBKU1ZNQ2xp
ZW50RGF0YTo6SlNWTUNsaWVudERhdGEoVk0mIHZtKQogICAgIDogbV9idWlsdGluRnVuY3Rpb25z
KHZtKQogICAgICwgbV9idWlsdGluTmFtZXMoJnZtKQogICAgICwgbV9vdXRwdXRDb25zdHJhaW50
U3BhY2UoIldlYkNvcmUgV3JhcHBlciB3LyBPdXRwdXQgQ29uc3RyYWludCIsIHZtLmhlYXApCi0g
ICAgLCBtX2dsb2JhbE9iamVjdE91dHB1dENvbnN0cmFpbnRTcGFjZSgiV2ViQ29yZSBHbG9iYWwg
T2JqZWN0IHcvIE91dHB1dCBDb25zdHJhaW50Iiwgdm0uaGVhcCwgQWxsb2NhdG9yQXR0cmlidXRl
cyhEb2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkKKyAgICAsIG1fZ2xv
YmFsT2JqZWN0T3V0cHV0Q29uc3RyYWludFNwYWNlKCJXZWJDb3JlIEdsb2JhbCBPYmplY3Qgdy8g
T3V0cHV0IENvbnN0cmFpbnQiLCB2bS5oZWFwKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCShyZXZpc2lvbiAyMTA4
NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc4LDcgKzc4LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlQnVp
bHRpbk5hbWVzIG1fYnVpbHRpbk5hbWVzOwogICAgIAogICAgIEpTQzo6SlNEZXN0cnVjdGlibGVP
YmplY3RTdWJzcGFjZSBtX291dHB1dENvbnN0cmFpbnRTcGFjZTsKLSAgICBKU0M6OlN1YnNwYWNl
IG1fZ2xvYmFsT2JqZWN0T3V0cHV0Q29uc3RyYWludFNwYWNlOworICAgIEpTQzo6SlNTZWdtZW50
ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlIG1fZ2xvYmFsT2JqZWN0T3V0cHV0Q29uc3RyYWludFNw
YWNlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDIx
MDg1OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMDYg
QW5kZXJzIENhcmxzc29uIDxhbmRlcnNjYUBtYWMuY29tPgogIyBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDcgU2FtdWVsIFdlaW5pZyA8c2FtQHdlYmtpdC5vcmc+CiAjIENvcHlyaWdodCAoQykgMjAw
NiBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgotIyBDb3B5cmlnaHQgKEMpIDIw
MDYtMjAxMCwgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29w
eXJpZ2h0IChDKSAyMDA2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBD
b3B5cmlnaHQgKEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjIENv
cHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQpAQCAtMTc1MSw3ICsxNzUxLDYgQEAgc3ViIEdlbmVyYXRlSGVh
ZGVyCiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAge1xuIik7CiAgICAgICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgICRjbGFzc05hbWUqIHB0ciA9IG5ldyAoTm90TnVs
bCwgSlNDOjphbGxvY2F0ZUNlbGw8JGNsYXNzTmFtZT4odm0uaGVhcCkpICR7Y2xhc3NOYW1lfSh2
bSwgc3RydWN0dXJlLCBXVEZNb3ZlKGltcGwpLCB3aW5kb3dTaGVsbCk7XG4iKTsKICAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgd2lu
ZG93U2hlbGwpO1xuIik7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgIHZt
LmhlYXAuYWRkRmluYWxpemVyKHB0ciwgZGVzdHJveSk7XG4iKTsKICAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgIiAgICAgICAgcmV0dXJuIHB0cjtcbiIpOwogICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiICAgIH1cblxuIik7CiAgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPklu
aGVyaXRzSW50ZXJmYWNlKCRpbnRlcmZhY2UsICJXb3JrZXJHbG9iYWxTY29wZSIpKSB7CkBAIC0x
NzU5LDcgKzE3NTgsNiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgIiAgICB7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAg
ICAgJGNsYXNzTmFtZSogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDwkY2xh
c3NOYW1lPih2bS5oZWFwKSkgJHtjbGFzc05hbWV9KHZtLCBzdHJ1Y3R1cmUsIFdURk1vdmUoaW1w
bCkpO1xuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgIHB0ci0+Zmlu
aXNoQ3JlYXRpb24odm0sIHByb3h5KTtcbiIpOwotICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50
LCAiICAgICAgICB2bS5oZWFwLmFkZEZpbmFsaXplcihwdHIsIGRlc3Ryb3kpO1xuIik7CiAgICAg
ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgIHJldHVybiBwdHI7XG4iKTsKICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB9XG5cbiIpOwogICAgIH0gZWxzaWYgKCRpbnRl
cmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e01hc3F1ZXJhZGVzQXNVbmRlZmluZWR9KSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299230</attachid>
            <date>2017-01-18 20:52:39 -0800</date>
            <delta_ts>2017-01-18 21:01:22 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>46963</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEwOTA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBA
CisyMDE3LTAxLTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBhbmQgaXRzIHN1YmNsYXNzZXMgc2hvdWxkIGhhdmUg
YSBzYW5lIGRlc3RydWN0aW9uIHN0b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjcxOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIFByaW9yIHRvIHRoaXMgY2hhbmdlLCBKU1NlZ21lbnRl
ZFZhcmlhYmxlT2JqZWN0cycgc3ViY2xhc3NlcyBpbnN0YWxsIGZpbmFsaXplcnMgdGhhdCBjYWxs
CisgICAgICAgIGRlc3Ryb3kuIFRoZXkgZGlkIHRoaXMgaW4gcmFuZG9tIHdheXMsIHdoaWNoIHNv
bWV0aW1lcyByZXN1bHRlZCBpbgorICAgICAgICBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Ojp+
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBleGVjdXRpbmcgbW9yZSB0aGFuIG9uY2UgKHdoaWNo
IHdvcmtlZAorICAgICAgICBiZWNhdXNlIG9mIHRoZSB3YXkgdGhhdCB+U2VnbWVudGVkVmVjdG9y
IGlzIHdyaXR0ZW4pLiBNYXliZSB0aGlzIHdvcmtzIG5vdywgYnV0IGl0J3MgYSBkaXNhc3Rlcgor
ICAgICAgICB3YWl0aW5nIHRvIGhhcHBlbi4KKworICAgICAgICBGb3J0dW5hdGVseSB3ZSBjYW4g
bm93IGp1c3QgZ2l2ZSB0aG9zZSB0aGluZ3MgdGhlaXIgb3duIFN1YnNwYWNlIGFuZCB0ZWFjaCBp
dCBpdHMgb3duIHByb3RvY29sIG9mCisgICAgICAgIGRlc3RydWN0aW9uLiBUaGlzIGNoYW5nZSBp
bnRyb2R1Y2VzIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZSBhbmQgc3Rhc2hlcyBh
IG1fY2xhc3NJbmZvCisgICAgICAgIGluIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuIE5vdywg
c3ViY2xhc3NlcyBvZiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IGFyZSBkZXN0cnVjdGlibGUg
aW4KKyAgICAgICAgbXVjaCB0aGUgc2FtZSB3YXkgYXMgSlNEZXN0cnVjdGlibGVPYmplY3Qgd2l0
aG91dCBoYXZpbmcgdG8gYmUgc3ViY2xhc3NlcyBvZgorICAgICAgICBKU0Rlc3RydWN0aWJsZU9i
amVjdC4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OmNyZWF0ZSk6CisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0Ojpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaDoK
KyAgICAgICAgKEpTQzo6SlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQ6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFs
T2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9K
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdDo6ZGVzdHJveSk6CisgICAgICAgIChKU0M6OkpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3Q6OkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QpOgorICAgICAgICAoSlNDOjpKU1Nl
Z21lbnRlZFZhcmlhYmxlT2JqZWN0Ojp+SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCk6CisgICAg
ICAgIChKU0M6OkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAg
ICAgICAgKiBydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaDoKKyAgICAgICAgKEpT
Qzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6c3Vic3BhY2VGb3IpOgorICAgICAgICAoSlND
OjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpjbGFzc0luZm8pOgorICAgICAgICAoSlNDOjpK
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdFN1YnNwYWNlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OkpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3RTdWJzcGFjZTo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlKToKKyAg
ICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlOjp+SlNTZWdtZW50
ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlKToKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJp
YWJsZU9iamVjdFN1YnNwYWNlOjpmaW5pc2hTd2VlcCk6CisgICAgICAgIChKU0M6OkpTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZTo6ZGVzdHJveSk6CisgICAgICAgICogcnVudGltZS9K
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuaDogQWRkZWQuCisgICAgICAgICogcnVu
dGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9W
TS5oOgorICAgICAgICAqIHRlc3RSZWdFeHAuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0Ojpj
cmVhdGUpOgorCiAyMDE3LTAxLTE4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBPbmx5IGRlbGV0ZSBzb3VyY2UgcHJvdmlkZXIgY2FjaGVzIG9uIGZ1bGwgY29s
bGVjdGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MjEwODU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC03ODgsNiArNzg4LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAg
ICBydW50aW1lL0pTU2NvcGUuY3BwCiAgICAgcnVudGltZS9KU1NjcmlwdEZldGNoZXIuY3BwCiAg
ICAgcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcAorICAgIHJ1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlLmNwcAogICAgIHJ1bnRpbWUvSlNTZXQuY3Bw
CiAgICAgcnVudGltZS9KU1NldEl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNTb3VyY2VDb2Rl
LmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDIxMDg1OCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTE5LDcgKzExMTks
NiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBHbG9iYWxPYmplY3QqIG9iamVjdCA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPEdsb2JhbE9iamVjdD4odm0uaGVhcCkpIEdsb2JhbE9iamVj
dCh2bSwgc3RydWN0dXJlKTsKICAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSwgYXJn
dW1lbnRzKTsKLSAgICAgICAgdm0uaGVhcC5hZGRGaW5hbGl6ZXIob2JqZWN0LCBkZXN0cm95KTsK
ICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0UmVnRXhwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdFJlZ0V4cC5jcHAJKHJldmlzaW9uIDIxMDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0UmVnRXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDcgKzExMiw2IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgR2xvYmFsT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFyZ3VtZW50cykKICAgICB7CiAgICAgICAg
IEdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
R2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgR2xvYmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUsIGFyZ3Vt
ZW50cyk7Ci0gICAgICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKGdsb2JhbE9iamVjdCwgZGVzdHJv
eSk7CiAgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3Q7CiAgICAgfQogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJKHJldmlzaW9uIDIx
MDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYt
MjAxNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00
NSw3ICs0NSw2IEBAIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KiBKU0NhbGwKIHsK
ICAgICBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0PiogY2FsbGJhY2tPYmplY3QgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0
Pj4odm0uaGVhcCkpIEpTQ2FsbGJhY2tPYmplY3Qodm0sIGNsYXNzUmVmLCBzdHJ1Y3R1cmUpOwog
ICAgIGNhbGxiYWNrT2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgdm0uaGVhcC5hZGRG
aW5hbGl6ZXIoY2FsbGJhY2tPYmplY3QsIGRlc3Ryb3kpOwogICAgIHJldHVybiBjYWxsYmFja09i
amVjdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIx
MDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsNiArNDA4LDggQEAKIAkJMEY0
REUxRDExQzRENzY0QjAwNEQ2QzExIC8qIEIzT3JpZ2luRHVtcC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjRERTFEMDFDNEQ3NjRCMDA0RDZDMTEg
LyogQjNPcmlnaW5EdW1wLmNwcCAqLzsgfTsKIAkJMEY0RjI5REYxOEI2QUQxQzAwNTdCQzE1IC8q
IERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNEYyOUREMThCNkFEMUMwMDU3QkMx
NSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHAgKi87IH07CiAJ
CTBGNEYyOUUwMThCNkFEMUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGlt
YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY0RjI5REUxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0
aW1hdGlvblBoYXNlLmggKi87IH07CisJCTBGNEY4Mjg3MUUyRkZEREQwMDc1MTg0QyAvKiBKU1Nl
Z21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0RjgyODUxRTJGRkREQjAwNzUxODRDIC8qIEpTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5jcHAgKi87IH07CisJCTBGNEY4Mjg4MUUyRkZE
RTAwMDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNEY4Mjg2MUUyRkZEREIw
MDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjUwQUYzQzE5M0U4QjM5
MDA2NzRFRTggLyogREZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjUwQUYzQjE5M0U4QjM5MDA2NzRFRTggLyog
REZHU3RydWN0dXJlQ2xvYmJlclN0YXRlLmggKi87IH07CiAJCTBGNTUxM0E2MUQ1QTY4MkMwMEMz
MkJEOCAvKiBGcmVlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEY1NTEzQTUxRDVBNjgyQTAwQzMyQkQ4IC8qIEZyZWVMaXN0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY1NTEzQTgxRDVBNjhD
RDAwQzMyQkQ4IC8qIEZyZWVMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNTUxM0E3MUQ1QTY4Q0IwMEMzMkJEOCAvKiBGcmVlTGlzdC5jcHAg
Ki87IH07CkBAIC0xMTY0LDYgKzExNjYsNyBAQAogCQkxNDdGMzlENTEwN0VDMzc2MDA0MjdBNDgg
LyogSlNTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMwMkU5QjYwRTE4NDJGQTAwMEY5Mjk3IC8qIEpTU3RyaW5nLmNwcCAqLzsgfTsKIAkJ
MTQ3RjM5RDYxMDdFQzM3NjAwNDI3QTQ4IC8qIEpTQ0pTVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4ODcwMjU1NTk3RDAxRkY2MEY3
IC8qIEpTQ0pTVmFsdWUuY3BwICovOyB9OwogCQkxNDdGMzlENzEwN0VDMzc2MDA0MjdBNDggLyog
SlNFbnZpcm9ubWVudFJlY29yZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzIyQTM5QTBFMTZFMTQ4MDBBRjIxQzggLyogSlNFbnZpcm9ubWVudFJl
Y29yZC5jcHAgKi87IH07CisJCTE0ODE1RjVGOTkxQzQ2QkVCOThEMDAxNiAvKiBKU1NjcmlwdEZl
dGNoZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTFDMTk3QzI2MjQ4NDhFREE4NENFRDdGIC8qIEpTU2NyaXB0RmV0Y2hlci5jcHAgKi87IH07CiAJ
CTE0ODJCNzRFMEE0MzAzMjgwMDUxN0NGQyAvKiBKU1N0cmluZ1JlZi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDgyQjc0QzBBNDMwMzI4MDA1MTdD
RkMgLyogSlNTdHJpbmdSZWYuY3BwICovOyB9OwogCQkxNDgyQjdFNDBBNDMwNzYwMDA1MTdDRkMg
LyogSlNPYmplY3RSZWYuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQ4MkI3RTIwQTQzMDc2MDAwNTE3Q0ZDIC8qIEpTT2JqZWN0UmVmLmNwcCAqLzsg
fTsKIAkJMTQ4NzRBRTUxNUVCREU0QTAwMkUzNTg3IC8qIEpTU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ4NzRBRTExNUVCREU0QTAwMkUz
NTg3IC8qIEpTU2NvcGUuY3BwICovOyB9OwpAQCAtMTU2NSw2ICsxNTY4LDcgQEAKIAkJOEI5RjZE
NTYxRDU5MTJGQTAwMUM3MzlGIC8qIEl0ZXJhdGlvbktpbmQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCOUY2RDU1MUQ1OTEyRkEwMDFDNzM5RiAvKiBJ
dGVyYXRpb25LaW5kLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJOTAyMTNFM0QxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0Ix
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovOyB9OwogCQk5MDIxM0Uz
RTEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8q
IE1lbW9yeVN0YXRpc3RpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk5MDY0MzM3REQ0QjA0MDJCQUYzNEE1OTIgLyogSlNTY3JpcHRGZXRjaGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkE5M0M5
NTkwNDg0QzVCQUQ5MzE2RUEgLyogSlNTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMz
IC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87
IH07CiAJCTkzMDUyQzM1MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzMwRkI3OTIxOTAw
NDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTMyRjVCRDMwODIyQTFDNzAwNzM2OTc1IC8qIENvcmVGb3VuZGF0
aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDY1NjBBNENGMDRCM0IzRTcwMDhBRTk1MiAvKiBDb3JlRm91bmRhdGlvbi5mcmFtZXdv
cmsgKi87IH07CkBAIC0yMTUyLDYgKzIxNTYsNyBAQAogCQlCQ0Y2MDUxNDBFMjAzRUY4MDBCOUE2
NEQgLyogQXJnTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNGNjA1MTIwRTIwM0VGODAwQjlBNjREIC8qIEFyZ0xpc3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0ZEOEM5MjBFRUIyRUU3MDAy
ODM4NDggLyogSnVtcFRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRkQ4QzkwMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwICov
OyB9OwogCQlCQ0ZEOEM5MzBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0ZEOEM5MTBFRUIyRUU3MDAy
ODM4NDggLyogSnVtcFRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQkRGQ0IyQkJFOTBGNDEzNDlFMUIwQkVEIC8qIEpTU291cmNlQ29kZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzAzMjE3NURG
MUFENDdEODk5OEIzNEUxIC8qIEpTU291cmNlQ29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyMDMyODIwMTk4MTk3OUQwMDg4QjQ5OSAvKiBD
dXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYyBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMyMDMyODFFMTk4MTk3OUQwMDg4QjQ5OSAvKiBDdXN0b21HbG9i
YWxPYmplY3RDbGFzc1Rlc3QuYyAqLzsgfTsKIAkJQzIwQkE5MkQxNkJCMUMxNTAwQjNBRUEyIC8q
IFN0cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzIwQkE5MkMxNkJCMUMxNTAwQjNBRUEyIC8qIFN0cnVjdHVyZVJh
cmVEYXRhSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUMyMTYwRkU3MTVGN0U5NUUwMDk0MkRGQyAvKiBTbG90VmlzaXRvcklubGluZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQ0I0MDg1
MTVDMEEzQzMwMDQ4OTMyQiAvKiBTbG90VmlzaXRvcklubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjE5Nyw2ICsyMjAyLDcgQEAKIAkJ
QzRGNEI2RjQxQTA1Qzk0NDAwNUNBQjc2IC8qIGNwcF9nZW5lcmF0b3IucHkgaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZEMDFBMDVDNzZGMDA1Q0FC
NzYgLyogY3BwX2dlbmVyYXRvci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDNEY0QjZGNTFBMDVDOTg0MDA1Q0FCNzYgLyogZ2VuZXJhdGVfb2Jq
Y19wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0RjRCNkQ3MUEwNUM3NkYwMDVDQUI3NiAvKiBnZW5l
cmF0ZV9vYmpjX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5ICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM0RjRCNkY2MUEwNUM5ODQwMDVD
QUI3NiAvKiBvYmpjX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEY0QjZEODFBMDVDNzZGMDA1Q0FCNzYgLyogb2Jq
Y19nZW5lcmF0b3JfdGVtcGxhdGVzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNFQUU3RDdCODg5QjQ3N0JBOTNBQkE2QyAvKiBTY3JpcHRGZXRj
aGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4ODUy
MTUxQTlDMzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUQ5NzIyNzUyREM1NDQ1OUI5MTI1QjUz
OSAvKiBKU01vZHVsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzdCMjVDQjJDMzA5NEE5MkEzOEUxREIzIC8qIEpTTW9kdWxlTG9hZGVyLmgg
Ki87IH07CiAJCURDMDAwMzkzMTlEOEJFNkYwMDAyM0VCMCAvKiBERkdQcmVjaXNlTG9jYWxDbG9i
YmVyaXplLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
QzAwMDM5MDE5RDhCRTZGMDAwMjNFQjAgLyogREZHUHJlY2lzZUxvY2FsQ2xvYmJlcml6ZS5oICov
OyB9OwogCQlEQzAxODQxOTFEMTBDMTg5MDA1N0IwNTMgLyogSklUV29ya2xpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDMDE4NDE4MUQxMEMxODcw
MDU3QjA1MyAvKiBKSVRXb3JrbGlzdC5oICovOyB9OwpAQCAtMjMwOCw2ICsyMzE0LDcgQEAKIAkJ
RTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMxNTUxMkVGMjc3
MjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwICovOyB9OwogCQlFNDlEQzE2QzEy
RUYyOTRFMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMxNTExMkVGMjcyMjAwMTg0QTFGIC8q
IFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFNDlEQzE2RDEyRUYyOTUzMDAxODRBMUYgLyogU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0OURDMTQ5MTJFRjI2MUEwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZBM0FC
MjExQzg0OTQ1MjRBQjM5MDI2NyAvKiBKU1NvdXJjZUNvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8q
IEpTU291cmNlQ29kZS5jcHAgKi87IH07CiAJCUZFMEQ0QTA2MUFCOEREMEEwMDJGNTRCRiAvKiBF
eGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFMEQ0QTA0MUFCOEREMEEwMDJGNTRCRiAvKiBFeGVjdXRpb25UaW1l
TGltaXRUZXN0LmNwcCAqLzsgfTsKIAkJRkUwRDRBMDkxQUJBMjQzNzAwMkY1NEJGIC8qIEdsb2Jh
bENvbnRleHRXaXRoRmluYWxpemVyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRTBENEEwNzFBQkEyNDM3MDAyRjU0QkYgLyogR2xvYmFsQ29u
dGV4dFdpdGhGaW5hbGl6ZXJUZXN0LmNwcCAqLzsgfTsKIAkJRkUxMjIwMjcxQkU3RjU4QzAwMzlF
NkYyIC8qIEpJVEFkZEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkUxMjIwMjYxQkU3RjU2NDAwMzlFNkYyIC8qIEpJVEFkZEdlbmVyYXRv
ci5oICovOyB9OwpAQCAtMjM3OSwxMSArMjM4Niw2IEBACiAJCUZFRDk0RjJGMTcxRTNFMjMwMEJF
NzdBNCAvKiBXYXRjaGRvZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkVEOTRGMkMxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkVGMDQwNTExQUFFNjYy
RDAwQkQyOEIwIC8qIENvbXBhcmVBbmRTd2FwVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUYwNDA1MDFBQUU2NjJEMDBCRDI4QjAgLyogQ29t
cGFyZUFuZFN3YXBUZXN0LmNwcCAqLzsgfTsKIAkJRkVGRDZGQzYxRDVFNzk5MjAwOEYyRjBCIC8q
IEpTU3RyaW5nSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkVGRDZGQzUxRDVFNzk3MDAwOEYyRjBCIC8qIEpTU3RyaW5nSW5saW5lcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUZBM0FCMjEx
Qzg0OTQ1MjRBQjM5MDI2NyAvKiBKU1NvdXJjZUNvZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8qIEpT
U291cmNlQ29kZS5jcHAgKi87IH07Ci0JCUJERkNCMkJCRTkwRjQxMzQ5RTFCMEJFRCAvKiBKU1Nv
dXJjZUNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMwMzIxNzVERjFBRDQ3RDg5OThCMzRFMSAvKiBKU1NvdXJjZUNvZGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxNDgxNUY1Rjk5MUM0NkJFQjk4
RDAwMTYgLyogSlNTY3JpcHRGZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDExQzE5N0MyNjI0ODQ4RURBODRDRUQ3RiAvKiBKU1NjcmlwdEZl
dGNoZXIuY3BwICovOyB9OwotCQk5MDY0MzM3REQ0QjA0MDJCQUYzNEE1OTIgLyogSlNTY3JpcHRG
ZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
QkE5M0M5NTkwNDg0QzVCQUQ5MzE2RUEgLyogSlNTY3JpcHRGZXRjaGVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0VBRTdEN0I4ODlCNDc3QkE5
M0FCQTZDIC8qIFNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg4NTIxNTFBOUMzODQyMzg5QjMyMTVCNyAvKiBTY3JpcHRGZXRjaGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIC8qIEVu
ZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJv
eHkgc2VjdGlvbiAqLwpAQCAtMjg1OSw2ICsyODYxLDggQEAKIAkJMEY0REUxRDAxQzRENzY0QjAw
NEQ2QzExIC8qIEIzT3JpZ2luRHVtcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBCM09yaWdpbkR1bXAuY3BwOyBwYXRoID0gYjMvQjNPcmlnaW5EdW1wLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0RjI5REQxOEI2QUQxQzAwNTdCQzE1IC8qIERG
R1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBo
YXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFz
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNEYyOURFMThCNkFEMUMwMDU3
QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRp
b25QaGFzZS5oOyBwYXRoID0gZGZnL0RGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBo
YXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNEY4Mjg1MUUyRkZEREIwMDc1
MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNw
YWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0RjgyODYxRTJGRkREQjAw
NzUxODRDIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1MEFGM0IxOTNFOEIzOTAwNjc0RUU4
IC8qIERGR1N0cnVjdHVyZUNsb2JiZXJTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdTdHJ1Y3R1cmVDbG9iYmVyU3RhdGUuaDsgcGF0aCA9IGRmZy9ERkdTdHJ1Y3R1
cmVDbG9iYmVyU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1NTEzQTUx
RDVBNjgyQTAwQzMyQkQ4IC8qIEZyZWVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZyZWVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNTUxM0E3
MUQ1QTY4Q0IwMEMzMkJEOCAvKiBGcmVlTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGcmVlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zNDgxLDYgKzM0ODUsNyBAQAogCQkwRkZGQzk1MjE0RUY5MDk1MDBDNzI1MzIgLyogREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdQcmVkaWN0
aW9uUHJvcGFnYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkZG
Qzk1MzE0RUY5MDk1MDBDNzI1MzIgLyogREZHVmlydHVhbFJlZ2lzdGVyQWxsb2NhdGlvblBoYXNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1ZpcnR1YWxSZWdp
c3RlckFsbG9jYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHVmlydHVhbFJlZ2lzdGVyQWxs
b2NhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGRkM5NTQx
NEVGOTA5NTAwQzcyNTMyIC8qIERGR1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25QaGFzZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0
aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdWaXJ0dWFsUmVnaXN0ZXJBbGxvY2F0aW9uUGhhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTFDMTk3QzI2MjQ4NDhFREE4NENFRDdG
IC8qIEpTU2NyaXB0RmV0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1NjcmlwdEZldGNoZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NDBEMTdENjBFOEFENEE5MDAwQ0QxN0QgLyogSlNCYXNlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0Jhc2VQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE0MTIxMTAyMEE0ODc4MDkwMDQ4MDI1NSAvKiBtaW5pZG9tLmMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuYzsgbmFtZSA9IG1pbmlkb20uYzsgcGF0aCA9IHRlc3RzL21pbmlkb20u
Yzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQxMjExMEQwQTQ4Nzg4NzAwNDgwMjU1
IC8qIG1pbmlkb20uanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IG5hbWUgPSBt
aW5pZG9tLmpzOyBwYXRoID0gdGVzdHMvbWluaWRvbS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTM2NzIsNiArMzY3Nyw3IEBACiAJCTJBREZBMjYyMThFRjM1NDAwMDRGOUZDQyAv
KiBHQ0xvZ2dpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NM
b2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFGNzM4MkExOEJCQkY5
MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU3RydWN0dXJlSURUYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJBRjczODJCMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZUlEVGFibGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzAzMjE3NURGMUFENDdEODk5OEIzNEUxIC8qIEpT
U291cmNlQ29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NvdXJjZUNv
ZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzcxRDg0MkMxN0M5OEI2RTAwRUNG
OTk0IC8qIGxpYnouZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYnouZHlsaWI7IHBh
dGggPSB1c3IvbGliL2xpYnouZHlsaWI7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwogCQk0MTI5
NTI3MzFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gYnVpbHRp
bnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5OyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNj
cmlwdC5weXRob247IHBhdGggPSBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9p
bXBsZW1lbnRhdGlvbi5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM4MzEsNiAr
MzgzNyw3IEBACiAJCTY1RkI1MTE1MTg0RUU4RjgwMEMxMkI3MCAvKiBQcm90b0NhbGxGcmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b0NhbGxGcmFtZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUZCNTExNjE4NEVFOUJDMDBDMTJCNzAgLyogUHJv
dG9DYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJv
dG9DYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QUQyQ0I0QzE5
QjkxNDAxMDAwNjU3MTkgLyogRGVidWdnZXJFdmFsRW5hYmxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEZWJ1Z2dlckV2YWxFbmFibGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTZCQTkzQzk1OTA0ODRDNUJBRDkzMTZFQSAvKiBKU1NjcmlwdEZldGNoZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTY3JpcHRGZXRjaGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcwMTEzRDQ5MUE4REIwOTMwMDM4NDhDNCAvKiBJ
dGVyYXRvck9wZXJhdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSXRlcmF0b3JPcGVyYXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NzAxMTNENEExQThEQjA5MzAwMzg0OEM0IC8qIEl0ZXJhdG9yT3BlcmF0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJdGVyYXRvck9wZXJhdGlvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzAxM0NBODkxQjQ5MUE5NDAwQ0FFNjEzIC8qIEpTSm9iLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSm9iLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQwNTAsNiArNDA1Nyw3IEBACiAJCTg2Rjc1RUZEMTUx
QzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0JvdW5kRnVu
Y3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU5MDE0MkJCQjJF
MDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQm91bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
ODUyMTUxQTlDMzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRGZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCThCNDdGMjM0MzY2QzRCNzJBQzg1MkE3RSAvKiBUZW1wbGF0ZVJlZ2lzdHJ5S2V5
VGFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGVtcGxhdGVS
ZWdpc3RyeUtleVRhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEI5RjZE
NTUxRDU5MTJGQTAwMUM3MzlGIC8qIEl0ZXJhdGlvbktpbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSXRlcmF0aW9uS2luZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ4NDAsNiArNDg0OCw3IEBACiAJCUY2OTJB
ODdEMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQlGNjkyQTg3RTAyNTU1OTdEMDFGRjYwRjcg
LyogUmVnRXhwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJlZ0V4cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07
CiAJCUY2OTJBODg3MDI1NTU5N0QwMUZGNjBGNyAvKiBKU0NKU1ZhbHVlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ0pTVmFsdWUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCUY3MzkyNjkx
OERDNjQzMzBBRkNERjBENyAvKiBKU1NvdXJjZUNvZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNTb3VyY2VDb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkUwRDRBMDQxQUI4REQwQTAwMkY1NEJGIC8qIEV4ZWN1dGlvblRpbWVMaW1pdFRl
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRXhlY3V0aW9uVGlt
ZUxpbWl0VGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMEQ0QTA1MUFCOEREMEEwMDJGNTRC
RiAvKiBFeGVjdXRpb25UaW1lTGltaXRUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEV4ZWN1dGlvblRpbWVMaW1pdFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9FeGVjdXRp
b25UaW1lTGltaXRUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFMEQ0QTA3
MUFCQTI0MzcwMDJGNTRCRiAvKiBHbG9iYWxDb250ZXh0V2l0aEZpbmFsaXplclRlc3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gR2xvYmFsQ29udGV4dFdpdGhGaW5h
bGl6ZXJUZXN0LmNwcDsgcGF0aCA9IEFQSS90ZXN0cy9HbG9iYWxDb250ZXh0V2l0aEZpbmFsaXpl
clRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDkxOSwxMSArNDkyOCw2
IEBACiAJCUZFRjA0MDUwMUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ29tcGFyZUFuZFN3YXBUZXN0
LmNwcDsgcGF0aCA9IEFQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRUYwNDA1MjFBQUVDNEVEMDBCRDI4QjAgLyogQ29tcGFyZUFu
ZFN3YXBUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENvbXBhcmVBbmRT
d2FwVGVzdC5oOyBwYXRoID0gQVBJL3Rlc3RzL0NvbXBhcmVBbmRTd2FwVGVzdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGRUZENkZDNTFENUU3OTcwMDA4RjJGMEIgLyogSlNTdHJp
bmdJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3RyaW5nSW5s
aW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGNzM5MjY5MThEQzY0MzMwQUZD
REYwRDcgLyogSlNTb3VyY2VDb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEpTU291cmNlQ29kZS5jcHA7IHBhdGggPSBKU1NvdXJjZUNvZGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkzMDMyMTc1REYxQUQ0N0Q4OTk4QjM0RTEgLyogSlNTb3Vy
Y2VDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTU291cmNlQ29kZS5o
OyBwYXRoID0gSlNTb3VyY2VDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTEx
QzE5N0MyNjI0ODQ4RURBODRDRUQ3RiAvKiBKU1NjcmlwdEZldGNoZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNTY3JpcHRGZXRjaGVyLmNwcDsgcGF0aCA9IEpT
U2NyaXB0RmV0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZCQTkzQzk1
OTA0ODRDNUJBRDkzMTZFQSAvKiBKU1NjcmlwdEZldGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSlNTY3JpcHRGZXRjaGVyLmg7IHBhdGggPSBKU1NjcmlwdEZldGNoZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODg1MjE1MUE5QzM4NDIzODlCMzIxNUI3
IC8qIFNjcmlwdEZldGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU2Ny
aXB0RmV0Y2hlci5oOyBwYXRoID0gU2NyaXB0RmV0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQ
QlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC02NTAyLDEyICs2NTA2LDE4IEBA
CiAJCQkJODYyNTUzQ0YxNjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuaCAqLywKIAkJCQkxNDg3
NEFFMTE1RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5jcHAgKi8sCiAJCQkJMTQ4NzRBRTIxNUVC
REU0QTAwMkUzNTg3IC8qIEpTU2NvcGUuaCAqLywKKwkJCQkxMUMxOTdDMjYyNDg0OEVEQTg0Q0VE
N0YgLyogSlNTY3JpcHRGZXRjaGVyLmNwcCAqLywKKwkJCQk2QkE5M0M5NTkwNDg0QzVCQUQ5MzE2
RUEgLyogSlNTY3JpcHRGZXRjaGVyLmggKi8sCiAJCQkJMEY5MTlEMEUxNTdGMzMyNzAwNEE0RTdE
IC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwICovLAogCQkJCTBGOTE5RDBGMTU3RjMz
MjcwMDRBNEU3RCAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmggKi8sCisJCQkJMEY0Rjgy
ODUxRTJGRkREQjAwNzUxODRDIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5j
cHAgKi8sCisJCQkJMEY0RjgyODYxRTJGRkREQjAwNzUxODRDIC8qIEpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3RTdWJzcGFjZS5oICovLAogCQkJCUE3Mjk5RDlCMTdEMTI4MzcwMDVGNUZGOSAvKiBK
U1NldC5jcHAgKi8sCiAJCQkJQTcyOTlEOUMxN0QxMjgzNzAwNUY1RkY5IC8qIEpTU2V0LmggKi8s
CiAJCQkJQTc5MERENjkxODJGNDk5NzAwNTg4ODA3IC8qIEpTU2V0SXRlcmF0b3IuY3BwICovLAog
CQkJCUE3OTBERDZBMTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1NldEl0ZXJhdG9yLmggKi8sCisJCQkJ
RjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8qIEpTU291cmNlQ29kZS5jcHAgKi8sCisJCQkJMzAz
MjE3NURGMUFENDdEODk5OEIzNEUxIC8qIEpTU291cmNlQ29kZS5oICovLAogCQkJCUJDMDJFOUI2
MEUxODQyRkEwMDBGOTI5NyAvKiBKU1N0cmluZy5jcHAgKi8sCiAJCQkJRjY5MkE4NjIwMjU1NTk3
RDAxRkY2MEY3IC8qIEpTU3RyaW5nLmggKi8sCiAJCQkJODZFODU1MzgxMTFCOTk2ODAwMUFGNTFF
IC8qIEpTU3RyaW5nQnVpbGRlci5oICovLApAQCAtNjY2Myw2ICs2NjczLDcgQEAKIAkJCQkwRkUw
NTAyMjFBQTkwOTU2MDBEMzNCMzMgLyogU2NvcGVPZmZzZXQuaCAqLywKIAkJCQkxNDczNDFFMDFE
QzJDRTk2MDBBQTI5QkEgLyogU2NyaXB0RXhlY3V0YWJsZS5jcHAgKi8sCiAJCQkJMTQ3MzQxQ0Qx
REMwMkQ3OTAwQUEyOUJBIC8qIFNjcmlwdEV4ZWN1dGFibGUuaCAqLywKKwkJCQk4ODUyMTUxQTlD
Mzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovLAogCQkJCUE3Mjk5REEzMTdEMTI4
NTgwMDVGNUZGOSAvKiBTZXRDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJQTcyOTlEQTQxN0QxMjg1
ODAwNUY1RkY5IC8qIFNldENvbnN0cnVjdG9yLmggKi8sCiAJCQkJQTc5MERENjcxODJGNDk5NzAw
NTg4ODA3IC8qIFNldEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKQEAgLTY3NzEsMTEgKzY3ODIs
NiBAQAogCQkJCTcwOUZCODY2MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmgg
Ki8sCiAJCQkJQTdEQ0I3NzkxMkUzRDkwNTAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oICovLAog
CQkJCUMyQjZENzUyMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJbmxpbmVzLmggKi8s
Ci0JCQkJRjczOTI2OTE4REM2NDMzMEFGQ0RGMEQ3IC8qIEpTU291cmNlQ29kZS5jcHAgKi8sCi0J
CQkJMzAzMjE3NURGMUFENDdEODk5OEIzNEUxIC8qIEpTU291cmNlQ29kZS5oICovLAotCQkJCTEx
QzE5N0MyNjI0ODQ4RURBODRDRUQ3RiAvKiBKU1NjcmlwdEZldGNoZXIuY3BwICovLAotCQkJCTZC
QTkzQzk1OTA0ODRDNUJBRDkzMTZFQSAvKiBKU1NjcmlwdEZldGNoZXIuaCAqLywKLQkJCQk4ODUy
MTUxQTlDMzg0MjM4OUIzMjE1QjcgLyogU2NyaXB0RmV0Y2hlci5oICovLAogCQkJKTsKIAkJCXBh
dGggPSBydW50aW1lOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTgxMjMsNiArODEy
OSw3IEBACiAJCQkJMEYyREQ4MTQxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0FyZ3VtZW50c1V0aWxp
dGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0ODUzMjIxODc3NTA1NjAwODNCNjg3IC8qIERG
R0FyaXRoTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwNUMzQjQxNjgzQ0Y5MjAwQkFGNDVC
IC8qIERGR0FycmF5aWZ5U2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
NEY4Mjg4MUUyRkZERTAwMDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3Bh
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjM5NDg1MTVFNDgxMUIwMDZBNTk3QyAvKiBERkdB
cnJheU1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDlBMjk1MTdBMEJDNzQwMEVFMjYxOCAv
KiBERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjY2NkVDNzE4
MzU2NzJCMDBEMDE3RjEgLyogREZHQXZhaWxhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKQEAgLTk3
ODIsNiArOTc4OSw3IEBACiAJCQkJMEY2NEIyNzExQTc4NEJBRjAwNkU0RTY2IC8qIEJpbmFyeVN3
aXRjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDI4MDg2MzEwN0VDMTFBMDAxM0U3QjIgLyog
Qm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MjgwODY0MTA3RUMx
MUEwMDEzRTdCMiAvKiBCb29sZWFuT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNEY4
Mjg3MUUyRkZEREQwMDc1MTg0QyAvKiBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQURCNkY2N0QxRTE1RDc2MDAwODJGMzg0IC8qIFdhc21Q
YWdlQ291bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyODA4NjUxMDdFQzExQTAwMTNFN0Iy
IC8qIEJvb2xlYW5Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREUyNkU5MDcxQ0I1
REVGQjAwRDJCRTgyIC8qIEJ1aWx0aW5FeGVjdXRhYmxlQ3JlYXRvci5jcHAgaW4gU291cmNlcyAq
LywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsTGV4aWNhbEVu
dmlyb25tZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaAkocmV2aXNpb24gMjEwODU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudD4odm0uaGVhcCkp
IEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50KHZtLCBzdHJ1Y3R1cmUsIHBhcmVudFNjb3BlKTsK
ICAgICAgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIHJlc3VsdC0+c3lt
Ym9sVGFibGUoKS0+c2V0U2NvcGVUeXBlKFN5bWJvbFRhYmxlOjpTY29wZVR5cGU6Okdsb2JhbExl
eGljYWxTY29wZSk7Ci0gICAgICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKHJlc3VsdCwgZGVzdHJv
eSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAyMTA4
NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NDksNCArMTQ0OSwyOSBAQCBib29sIEpTR2xvYmFsT2JqZWN0
OjpoYXNJbnRlcmFjdGl2ZURlYnVnCiAgICAgcmV0dXJuIG1fZGVidWdnZXIgJiYgbV9kZWJ1Z2dl
ci0+aXNJbnRlcmFjdGl2ZWx5RGVidWdnaW5nKCk7CiB9CiAKK0pTR2xvYmFsT2JqZWN0KiBKU0ds
b2JhbE9iamVjdDo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxs
PEpTR2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgSlNHbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSk7
CisgICAgZ2xvYmFsT2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgcmV0dXJuIGdsb2Jh
bE9iamVjdDsKK30KKwordm9pZCBKU0dsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBzdHJ1Y3R1cmUoKS0+c2V0
R2xvYmFsT2JqZWN0KHZtLCB0aGlzKTsKKyAgICBtX3J1bnRpbWVGbGFncyA9IG1fZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUtPmphdmFTY3JpcHRSdW50aW1lRmxhZ3ModGhpcyk7CisgICAgaW5pdCh2
bSk7CisgICAgc2V0R2xvYmFsVGhpcyh2bSwgSlNQcm94eTo6Y3JlYXRlKHZtLCBKU1Byb3h5Ojpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIGdldFByb3RvdHlwZURpcmVjdCgpLCBQdXJlRm9yd2Fy
ZGluZ1Byb3h5VHlwZSksIHRoaXMpKTsKK30KKwordm9pZCBKU0dsb2JhbE9iamVjdDo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogdGhpc1ZhbHVlKQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtKTsKKyAgICBzdHJ1Y3R1cmUoKS0+c2V0R2xvYmFsT2JqZWN0KHZtLCB0aGlz
KTsKKyAgICBtX3J1bnRpbWVGbGFncyA9IG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUtPmphdmFT
Y3JpcHRSdW50aW1lRmxhZ3ModGhpcyk7CisgICAgaW5pdCh2bSk7CisgICAgc2V0R2xvYmFsVGhp
cyh2bSwgdGhpc1ZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9uIDIx
MDg1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQzMywxMyArNDMzLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSGFzU3RhdGljUHJvcGVy
dHlUYWJsZSB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3Bl
cnR5TmFtZXMgfCBPdmVycmlkZXNUb1RoaXM7CiAKLSAgICBzdGF0aWMgSlNHbG9iYWxPYmplY3Qq
IGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIHsKLSAgICAgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpT
R2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgSlNHbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSk7Ci0g
ICAgICAgIGdsb2JhbE9iamVjdC0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICB2bS5oZWFw
LmFkZEZpbmFsaXplcihnbG9iYWxPYmplY3QsIGRlc3Ryb3kpOwotICAgICAgICByZXR1cm4gZ2xv
YmFsT2JqZWN0OwotICAgIH0KKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNHbG9iYWxP
YmplY3QqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSopOwogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5G
TzsKIApAQCAtNDUwLDMxICs0NDQsMTUgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIGV4cGxpY2l0IEpTR2xvYmFsT2JqZWN0KFZNJiwgU3RydWN0dXJlKiwgY29u
c3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUqID0gMCk7CiAKLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAg
ICAgICAgc3RydWN0dXJlKCktPnNldEdsb2JhbE9iamVjdCh2bSwgdGhpcyk7Ci0gICAgICAgIG1f
cnVudGltZUZsYWdzID0gbV9nbG9iYWxPYmplY3RNZXRob2RUYWJsZS0+amF2YVNjcmlwdFJ1bnRp
bWVGbGFncyh0aGlzKTsKLSAgICAgICAgaW5pdCh2bSk7Ci0gICAgICAgIHNldEdsb2JhbFRoaXMo
dm0sIEpTUHJveHk6OmNyZWF0ZSh2bSwgSlNQcm94eTo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlz
LCBnZXRQcm90b3R5cGVEaXJlY3QoKSwgUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpLCB0aGlzKSk7
Ci0gICAgfQotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiB0aGlz
VmFsdWUpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAg
IHN0cnVjdHVyZSgpLT5zZXRHbG9iYWxPYmplY3Qodm0sIHRoaXMpOwotICAgICAgICBtX3J1bnRp
bWVGbGFncyA9IG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUtPmphdmFTY3JpcHRSdW50aW1lRmxh
Z3ModGhpcyk7Ci0gICAgICAgIGluaXQodm0pOwotICAgICAgICBzZXRHbG9iYWxUaGlzKHZtLCB0
aGlzVmFsdWUpOwotICAgIH0KKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJik7CisKKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgSlNPYmplY3QqKTsKIAogICAgIHZvaWQgYWRkR2xvYmFsVmFyKGNvbnN0IElkZW50aWZpZXIm
KTsKIAogcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIH5KU0dsb2JhbE9iamVjdCgpOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7Ci0gICAg
Ly8gV2UgZG9uJ3QgbmVlZCBhIGRlc3RydWN0b3IgYmVjYXVzZSB3ZSB1c2UgYSBmaW5hbGl6ZXIg
aW5zdGVhZC4KLSAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gZmFsc2U7
CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2Vs
bCosIFNsb3RWaXNpdG9yJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwCShyZXZpc2lv
biAyMTA4NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZh
cmlhYmxlT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC05Myw1ICs5MywyOCBA
QCB2b2lkIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmhlYXBTbmFwCiAgICAgfQogfQogCit2
b2lkIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQorewor
ICAgIHN0YXRpY19jYXN0PEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QqPihjZWxsKS0+SlNTZWdt
ZW50ZWRWYXJpYWJsZU9iamVjdDo6fkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QoKTsKK30KKwor
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdChWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Njb3BlKiBzY29wZSkKKyAgICA6IEpTU3ltYm9s
VGFibGVPYmplY3Qodm0sIHN0cnVjdHVyZSwgc2NvcGUpCisgICAgLCBtX2NsYXNzSW5mbyhzdHJ1
Y3R1cmUtPmNsYXNzSW5mbygpKQoreworfQorCitKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Ojp+
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCgpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1fYWxy
ZWFkeURlc3Ryb3llZCk7CisgICAgbV9hbHJlYWR5RGVzdHJveWVkID0gdHJ1ZTsKK30KKwordm9p
ZCBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIHNldFN5bWJvbFRhYmxlKHZtLCBTeW1i
b2xUYWJsZTo6Y3JlYXRlKHZtKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdC5oCShyZXZpc2lvbiAyMTA4NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzLCAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtODYsMjMgKzg2LDI4IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQgaGVhcFNuYXBzaG90KEpTQ2VsbCosIEhlYXBTbmFw
c2hvdEJ1aWxkZXImKTsKICAgICAKLXByb3RlY3RlZDoKLSAgICBKU1NlZ21lbnRlZFZhcmlhYmxl
T2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTU2NvcGUqIHNjb3BlKQotICAg
ICAgICA6IEpTU3ltYm9sVGFibGVPYmplY3Qodm0sIHN0cnVjdHVyZSwgc2NvcGUpCisgICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZT4K
KyAgICBzdGF0aWMgU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKICAgICB7CisgICAgICAg
IHJldHVybiAmdm0uc2VnbWVudGVkVmFyaWFibGVPYmplY3RTcGFjZTsKICAgICB9CisgICAgCisg
ICAgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzSW5m
bzsgfQorICAgIAorcHJvdGVjdGVkOgorICAgIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QoVk0m
LCBTdHJ1Y3R1cmUqLCBKU1Njb3BlKik7CisgICAgCisgICAgfkpTU2VnbWVudGVkVmFyaWFibGVP
YmplY3QoKTsKIAotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtKQotICAgIHsKLSAgICAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzZXRTeW1ib2xUYWJsZSh2bSwg
U3ltYm9sVGFibGU6OmNyZWF0ZSh2bSkpOwotICAgIH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJik7CiAgICAgCiBwcml2YXRlOgotICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIGEgZGVzdHJ1
Y3Rvciwgd2hpY2ggY2FuIG9ubHkgYmUgYWRkZWQgdXNpbmcgY3VzdG9tIHN1YnNwYWNlLgotICAg
IAogICAgIFNlZ21lbnRlZFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4sIDE2PiBtX3Zhcmlh
YmxlczsKICAgICBDb25jdXJyZW50SlNMb2NrIG1fbG9jazsKKyAgICBib29sIG1fYWxyZWFkeURl
c3Ryb3llZCB7IGZhbHNlIH07IC8vIFdlIHVzZSB0aGVzZSBhc3NlcnRpb25zIHRvIGNoZWNrIHRo
YXQgd2UgYXJlbid0IGRvaW5nIGFuY2llbnQgaGFja3MgdGhhdCByZXN1bHQgaW4gdGhpcyBiZWlu
ZyBkZXN0cm95ZWQgbW9yZSB0aGFuIG9uY2UuCisgICAgY29uc3QgQ2xhc3NJbmZvKiBtX2NsYXNz
SW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxl
T2JqZWN0U3Vic3BhY2UuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdFN1YnNwYWNlLmgiCisKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5j
bHVkZSAiTWFya2VkQmxvY2tJbmxpbmVzLmgiCisjaW5jbHVkZSAiU3Vic3BhY2VJbmxpbmVzLmgi
CisKK25hbWVzcGFjZSBKU0MgeworCituYW1lc3BhY2UgeworCitzdHJ1Y3QgRGVzdHJveUZ1bmMg
eworICAgIEFMV0FZU19JTkxJTkUgdm9pZCBvcGVyYXRvcigpKFZNJiwgSlNDZWxsKiBjZWxsKSBj
b25zdAorICAgIHsKKyAgICAgICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dCo+KGNlbGwpLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKKyAgICB9
Cit9OworCit9IC8vIGFub255bW91cyBuYW1lc3BhY2UKKworSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdFN1YnNwYWNlOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0U3Vic3BhY2UoQ1N0cmluZyBu
YW1lLCBIZWFwJiBoZWFwKQorICAgIDogU3Vic3BhY2UobmFtZSwgaGVhcCwgQWxsb2NhdG9yQXR0
cmlidXRlcyhOZWVkc0Rlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkKK3sKK30KKworSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlOjp+SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dFN1YnNwYWNlKCkKK3sKK30KKworRnJlZUxpc3QgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1
YnNwYWNlOjpmaW5pc2hTd2VlcChNYXJrZWRCbG9jazo6SGFuZGxlJiBoYW5kbGUsIE1hcmtlZEJs
b2NrOjpIYW5kbGU6OlN3ZWVwTW9kZSBzd2VlcE1vZGUpCit7CisgICAgcmV0dXJuIGhhbmRsZS5m
aW5pc2hTd2VlcEtub3dpbmdTdWJzcGFjZShzd2VlcE1vZGUsIERlc3Ryb3lGdW5jKCkpOworfQor
Cit2b2lkIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZTo6ZGVzdHJveShWTSYgdm0s
IEpTQ2VsbCogY2VsbCkKK3sKKyAgICBEZXN0cm95RnVuYygpKHZtLCBjZWxsKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgSlNDCisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5o
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJTdWJzcGFjZS5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xh
c3MgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlIDogcHVibGljIFN1YnNwYWNlIHsK
K3B1YmxpYzoKKyAgICBKU19FWFBPUlRfUFJJVkFURSBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0
U3Vic3BhY2UoQ1N0cmluZyBuYW1lLCBIZWFwJik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdmly
dHVhbCB+SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlKCk7CisgICAgCisgICAgRnJl
ZUxpc3QgZmluaXNoU3dlZXAoTWFya2VkQmxvY2s6OkhhbmRsZSYsIE1hcmtlZEJsb2NrOjpIYW5k
bGU6OlN3ZWVwTW9kZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBkZXN0cm95KFZNJiwgSlNDZWxsKikg
b3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMjEwODU4KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcxLDcgQEAg
Vk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwgZGVzdHJ1Y3Rp
YmxlQ2VsbFNwYWNlKCJEZXN0cnVjdGlibGUgSlNDZWxsIiwgaGVhcCwgQWxsb2NhdG9yQXR0cmli
dXRlcyhOZWVkc0Rlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkKICAgICAsIHN0cmluZ1Nw
YWNlKCJKU1N0cmluZyIsIGhlYXApCiAgICAgLCBkZXN0cnVjdGlibGVPYmplY3RTcGFjZSgiSlNE
ZXN0cnVjdGlibGVPYmplY3QiLCBoZWFwKQorICAgICwgc2VnbWVudGVkVmFyaWFibGVPYmplY3RT
cGFjZSgiSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFNwYWNlIiwgaGVhcCkKICAgICAsIHZtVHlw
ZSh2bVR5cGUpCiAgICAgLCBjbGllbnREYXRhKDApCiAgICAgLCB0b3BWTUVudHJ5RnJhbWUobnVs
bHB0cikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMjEwODU4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpA
QCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKICNpbmNsdWRlICJKU0Rl
c3RydWN0aWJsZU9iamVjdFN1YnNwYWNlLmgiCiAjaW5jbHVkZSAiSlNMb2NrLmgiCisjaW5jbHVk
ZSAiSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdFN1YnNwYWNlLmgiCiAjaW5jbHVkZSAiSlNTdHJp
bmdTdWJzcGFjZS5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgogI2luY2x1
ZGUgIk1pY3JvdGFzay5oIgpAQCAtMjk4LDYgKzI5OSw3IEBAIHB1YmxpYzoKICAgICBTdWJzcGFj
ZSBkZXN0cnVjdGlibGVDZWxsU3BhY2U7CiAgICAgSlNTdHJpbmdTdWJzcGFjZSBzdHJpbmdTcGFj
ZTsKICAgICBKU0Rlc3RydWN0aWJsZU9iamVjdFN1YnNwYWNlIGRlc3RydWN0aWJsZU9iamVjdFNw
YWNlOworICAgIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3RTdWJzcGFjZSBzZWdtZW50ZWRWYXJp
YWJsZU9iamVjdFNwYWNlOwogCiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgc3RkOjp1bmlxdWVf
cHRyPERGRzo6TG9uZ0xpdmVkU3RhdGU+IGRmZ1N0YXRlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMjEwOTA5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTctMDEtMTggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNv
bT4KKworICAgICAgICBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IGFuZCBpdHMgc3ViY2xhc3Nl
cyBzaG91bGQgaGF2ZSBhIHNhbmUgZGVzdHJ1Y3Rpb24gc3RvcnkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzE5MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIG5l
dyBiZWhhdmlvci4KKyAgICAgICAgCisgICAgICAgIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Rz
IG5vdyBnZXQgdG8gaGF2ZSBhIHNhbmUgZGVzdHJ1Y3Rpb24gc3RvcnkuIFRoaXMgbWVhbnMgc3dp
dGNoaW5nCisgICAgICAgIHN1YnNwYWNlIHR5cGVzIGZvciB0aGUgRE9NJ3MgZ2xvYmFsIG9iamVj
dCBzdWJzcGFjZS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNWTUNsaWVudERhdGE6OkpTVk1DbGllbnREYXRhKToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUhl
YWRlcik6CisKIDIwMTctMDEtMTggIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMDg0OC4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuY3BwCShy
ZXZpc2lvbiAyMTA4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlND
bGllbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBKU1ZNQ2xpZW50
RGF0YTo6SlNWTUNsaWVudERhdGEoVk0mIHZtKQogICAgIDogbV9idWlsdGluRnVuY3Rpb25zKHZt
KQogICAgICwgbV9idWlsdGluTmFtZXMoJnZtKQogICAgICwgbV9vdXRwdXRDb25zdHJhaW50U3Bh
Y2UoIldlYkNvcmUgV3JhcHBlciB3LyBPdXRwdXQgQ29uc3RyYWludCIsIHZtLmhlYXApCi0gICAg
LCBtX2dsb2JhbE9iamVjdE91dHB1dENvbnN0cmFpbnRTcGFjZSgiV2ViQ29yZSBHbG9iYWwgT2Jq
ZWN0IHcvIE91dHB1dCBDb25zdHJhaW50Iiwgdm0uaGVhcCwgQWxsb2NhdG9yQXR0cmlidXRlcyhE
b2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkKKyAgICAsIG1fZ2xvYmFs
T2JqZWN0T3V0cHV0Q29uc3RyYWludFNwYWNlKCJXZWJDb3JlIEdsb2JhbCBPYmplY3Qgdy8gT3V0
cHV0IENvbnN0cmFpbnQiLCB2bS5oZWFwKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCShyZXZpc2lvbiAyMTA4NTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgJKHdv
cmtpbmcgY29weSkKQEAgLTc4LDcgKzc4LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlQnVpbHRp
bk5hbWVzIG1fYnVpbHRpbk5hbWVzOwogICAgIAogICAgIEpTQzo6SlNEZXN0cnVjdGlibGVPYmpl
Y3RTdWJzcGFjZSBtX291dHB1dENvbnN0cmFpbnRTcGFjZTsKLSAgICBKU0M6OlN1YnNwYWNlIG1f
Z2xvYmFsT2JqZWN0T3V0cHV0Q29uc3RyYWludFNwYWNlOworICAgIEpTQzo6SlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdFN1YnNwYWNlIG1fZ2xvYmFsT2JqZWN0T3V0cHV0Q29uc3RyYWludFNwYWNl
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDIxMDg1
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMDYgQW5k
ZXJzIENhcmxzc29uIDxhbmRlcnNjYUBtYWMuY29tPgogIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDcgU2FtdWVsIFdlaW5pZyA8c2FtQHdlYmtpdC5vcmc+CiAjIENvcHlyaWdodCAoQykgMjAwNiBB
bGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgotIyBDb3B5cmlnaHQgKEMpIDIwMDYt
MjAxMCwgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJp
Z2h0IChDKSAyMDA2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5
cmlnaHQgKEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjIENvcHly
aWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQpAQCAtMTc1MSw3ICsxNzUxLDYgQEAgc3ViIEdlbmVyYXRlSGVhZGVy
CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAge1xuIik7CiAgICAgICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsICIgICAgICAgICRjbGFzc05hbWUqIHB0ciA9IG5ldyAoTm90TnVsbCwg
SlNDOjphbGxvY2F0ZUNlbGw8JGNsYXNzTmFtZT4odm0uaGVhcCkpICR7Y2xhc3NOYW1lfSh2bSwg
c3RydWN0dXJlLCBXVEZNb3ZlKGltcGwpLCB3aW5kb3dTaGVsbCk7XG4iKTsKICAgICAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIiAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSwgd2luZG93
U2hlbGwpO1xuIik7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgIHZtLmhl
YXAuYWRkRmluYWxpemVyKHB0ciwgZGVzdHJveSk7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgIiAgICAgICAgcmV0dXJuIHB0cjtcbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJD
b250ZW50LCAiICAgIH1cblxuIik7CiAgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPkluaGVy
aXRzSW50ZXJmYWNlKCRpbnRlcmZhY2UsICJXb3JrZXJHbG9iYWxTY29wZSIpKSB7CkBAIC0xNzU5
LDcgKzE3NTgsNiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIiAgICB7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAgICAg
JGNsYXNzTmFtZSogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDwkY2xhc3NO
YW1lPih2bS5oZWFwKSkgJHtjbGFzc05hbWV9KHZtLCBzdHJ1Y3R1cmUsIFdURk1vdmUoaW1wbCkp
O1xuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgIHB0ci0+ZmluaXNo
Q3JlYXRpb24odm0sIHByb3h5KTtcbiIpOwotICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
ICAgICAgICB2bS5oZWFwLmFkZEZpbmFsaXplcihwdHIsIGRlc3Ryb3kpO1xuIik7CiAgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgICAgIHJldHVybiBwdHI7XG4iKTsKICAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB9XG5cbiIpOwogICAgIH0gZWxzaWYgKCRpbnRlcmZh
Y2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e01hc3F1ZXJhZGVzQXNVbmRlZmluZWR9KSB7Cg==
</data>
<flag name="review"
          id="321206"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>