<?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>144781</bug_id>
          
          <creation_ts>2015-05-07 19:26:52 -0700</creation_ts>
          <short_desc>[Content Extensions] Add simple tester that takes an extension and compiles it</short_desc>
          <delta_ts>2015-05-08 17:35:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1093003</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-07 19:26:52 -0700</bug_when>
    <thetext>[Content Extensions] Add simple tester that takes an extension and compiles it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093005</commentid>
    <comment_count>1</comment_count>
      <attachid>252675</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-07 19:27:42 -0700</bug_when>
    <thetext>Created attachment 252675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093008</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 19:30:21 -0700</bug_when>
    <thetext>Attachment 252675 did not pass style-queue:


ERROR: Tools/ContentExtensionTester/main.m:49:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 8 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>1093249</commentid>
    <comment_count>3</comment_count>
      <attachid>252675</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-08 11:46:01 -0700</bug_when>
    <thetext>Comment on attachment 252675
Patch

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

This looks sane to me.

&gt; Tools/ContentExtensionTester/main.m:29
&gt; +static void run(bool* done)

Minor: &apos;*&apos; should be on the right.

&gt; Tools/ContentExtensionTester/main.m:35
&gt; +int main(int argc, const char * argv[])

Ditto.

&gt; Tools/Scripts/run-content-extension-tester:1
&gt; +#!/usr/bin/perl -w

I am assuming that since this file was created from an svn copy of Tools/Scripts/run-webkit-test that SVN will be smart enough t copy the executable bit from the original file given the absence of a property change diff in this patch to explicitly set the executable bit on this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093366</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-08 17:35:04 -0700</bug_when>
    <thetext>Committed revision 184033.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252675</attachid>
            <date>2015-05-07 19:27:42 -0700</date>
            <delta_ts>2015-05-08 11:46:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144781-20150507192625.patch</filename>
            <type>text/plain</type>
            <size>35285</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4Mzk3NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE1LTA1LTA3ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gQWRkIHNpbXBsZSB0ZXN0ZXIgdGhhdCB0YWtlcyBh
biBleHRlbnNpb24gYW5kIGNvbXBpbGVzIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ3ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENvbnRlbnRFeHRlbnNpb25UZXN0ZXI6IEFkZGVkLgorICAg
ICAgICAqIENvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmlndXJhdGlvbnM6IEFkZGVkLgorICAg
ICAgICAqIENvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZzogQ29waWVkIGZyb20gU291cmNlL2JtYWxsb2MvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
Zy4KKyAgICAgICAgKiBDb250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0NvbnRl
bnRFeHRlbnNpb25UZXN0ZXIueGNjb25maWc6IENvcGllZCBmcm9tIFNvdXJjZS9ibWFsbG9jL0Nv
bmZpZ3VyYXRpb25zL2JtYWxsb2MueGNjb25maWcuCisgICAgICAgICogQ29udGVudEV4dGVuc2lv
blRlc3Rlci9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWc6IENvcGllZCBmcm9t
IFNvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZpZy4KKyAg
ICAgICAgKiBDb250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIueGNv
ZGVwcm9qOiBBZGRlZC4KKyAgICAgICAgKiBDb250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbnRlbnRF
eHRlbnNpb25UZXN0ZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQuCisgICAgICAg
ICogQ29udGVudEV4dGVuc2lvblRlc3Rlci9NYWtlZmlsZTogQ29waWVkIGZyb20gVG9vbHMvVGVz
dFdlYktpdEFQSS9NYWtlZmlsZS4KKyAgICAgICAgKiBDb250ZW50RXh0ZW5zaW9uVGVzdGVyL21h
aW4ubTogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy9ydW4tY29udGVudC1leHRlbnNpb24tdGVz
dGVyOiBDb3BpZWQgZnJvbSBUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMuCisKIDIwMTUt
MDUtMDcgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBHQyBoYXMg
dHJvdWJsZSB3aXRoIHBhdGhvbG9naWNhbGx5IGxhcmdlIGFycmF5IGFsbG9jYXRpb25zCkluZGV4
OiBUb29scy9Db250ZW50RXh0ZW5zaW9uVGVzdGVyL01ha2VmaWxlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvTWFrZWZpbGUJKHJldmlzaW9uIDE4Mzk2NikJKGZy
b20gVG9vbHMvVGVzdFdlYktpdEFQSS9NYWtlZmlsZToxODM5NjYpCisrKyBUb29scy9Db250ZW50
RXh0ZW5zaW9uVGVzdGVyL01ha2VmaWxlCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAK
KyMgQnVpbGQgVGVzdFdlYktpdEFQSSBvbmx5IG9uIFNub3cgTGVvcGFyZCBhbmQgbGF0ZXIuCisK
K09TWF9WRVJTSU9OID89ICQoc2hlbGwgc3dfdmVycyAtcHJvZHVjdFZlcnNpb24gfCBjdXQgLWQu
IC1mIDIpCitCVUlMRF9URVNUV0VCS0lUQVBJID0gJChzaGVsbCAoKCAkKE9TWF9WRVJTSU9OKSA+
PSA2ICkpICYmIGVjaG8gIllFUyIgKQorCitpZmVxICIkKEJVSUxEX1RFU1RXRUJLSVRBUEkpIiAi
WUVTIgorCitTQ1JJUFRTX1BBVEggPSAuLi9TY3JpcHRzCitpbmNsdWRlIC4uLy4uL01ha2VmaWxl
LnNoYXJlZAorCitlbHNlCisKK2FsbDogOworCitkZWJ1ZyBkIGRldmVsb3BtZW50IGRldiBkZXZl
bG9wOiA7CisKK3JlbGVhc2UgciBkZXBsb3ltZW50IGRlcCBkZXBsb3k6IDsKKworY2xlYW46IDsK
KworZW5kaWYKSW5kZXg6IFRvb2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvTWFrZWZpbGUKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9NYWtlZmlsZQkod29ya2lu
ZyBjb3B5KQorKysgVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9NYWtlZmlsZQkod29ya2lu
ZyBjb3B5KQpAQCAtMSwyMSArMSwyIEBACi0jIEJ1aWxkIFRlc3RXZWJLaXRBUEkgb25seSBvbiBT
bm93IExlb3BhcmQgYW5kIGxhdGVyLgotCi1PU1hfVkVSU0lPTiA/PSAkKHNoZWxsIHN3X3ZlcnMg
LXByb2R1Y3RWZXJzaW9uIHwgY3V0IC1kLiAtZiAyKQotQlVJTERfVEVTVFdFQktJVEFQSSA9ICQo
c2hlbGwgKCggJChPU1hfVkVSU0lPTikgPj0gNiApKSAmJiBlY2hvICJZRVMiICkKLQotaWZlcSAi
JChCVUlMRF9URVNUV0VCS0lUQVBJKSIgIllFUyIKLQogU0NSSVBUU19QQVRIID0gLi4vU2NyaXB0
cwogaW5jbHVkZSAuLi8uLi9NYWtlZmlsZS5zaGFyZWQKLQotZWxzZQotCi1hbGw6IDsKLQotZGVi
dWcgZCBkZXZlbG9wbWVudCBkZXYgZGV2ZWxvcDogOwotCi1yZWxlYXNlIHIgZGVwbG95bWVudCBk
ZXAgZGVwbG95OiA7Ci0KLWNsZWFuOiA7Ci0KLWVuZGlmCkluZGV4OiBUb29scy9Db250ZW50RXh0
ZW5zaW9uVGVzdGVyL21haW4ubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9Db250ZW50RXh0ZW5zaW9u
VGVzdGVyL21haW4ubQkocmV2aXNpb24gMCkKKysrIFRvb2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0
ZXIvbWFpbi5tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oPgorCitzdGF0aWMgdm9pZCBydW4oYm9vbCog
ZG9uZSkKK3sKKyAgICB3aGlsZSAoISpkb25lKQorICAgICAgICBbW05TUnVuTG9vcCBjdXJyZW50
UnVuTG9vcF0gcnVuTW9kZTpOU0RlZmF1bHRSdW5Mb29wTW9kZSBiZWZvcmVEYXRlOltOU0RhdGUg
ZGlzdGFudFBhc3RdXTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiBhcmd2
W10pCit7CisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgIGlmIChhcmdjIDwgMikgewor
ICAgICAgICAgICAgTlNMb2coQCJOb3QgZW5vdWdoIGFyZ3VtZW50cy4iKTsKKyAgICAgICAgICAg
IHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNp
b25TdG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50RXh0ZW5zaW9uc107CisKKyAg
ICAgICAgTlNTdHJpbmcgKnBhdGggPSBbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6YXJn
dlsxXV07CisgICAgICAgIE5TU3RyaW5nICpqc29uU3RyaW5nID0gW1tOU1N0cmluZyBhbGxvY10g
aW5pdFdpdGhDb250ZW50c09mRmlsZTpwYXRoIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5n
IGVycm9yOm5pbF07CisKKyAgICAgICAgX19ibG9jayBib29sIGRvbmVDb21waWxpbmcgPSBmYWxz
ZTsKKyAgICAgICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0g
Y29tcGlsZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOkAiVGVzdEV4dGVuc2lvbiIgZW5j
b2RlZENvbnRlbnRFeHRlbnNpb246anNvblN0cmluZyBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1Vz
ZXJDb250ZW50RmlsdGVyICpmaWx0ZXIgX19hdHRyaWJ1dGVfXygodW51c2VkKSksIE5TRXJyb3Ig
KmVycm9yKSB7CisgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgcHJpbnRm
KCJGYWlsZWQgdG8gY29tcGlsZSBleHRlbnNpb24gYXQgJXMgd2l0aCBlcnJvciAlcyIsIHBhdGgu
VVRGOFN0cmluZyAsIGVycm9yLmRlc2NyaXB0aW9uLlVURjhTdHJpbmcpOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIHByaW50ZigiU3VjY2VlZGVkIGluIGNvbXBpbGluZyBleHRl
bnNpb24gYXQgJXMiLCBwYXRoLlVURjhTdHJpbmcpOworCisgICAgICAgICAgICBkb25lQ29tcGls
aW5nID0gdHJ1ZTsKKyAgICAgICAgfV07CisKKyAgICAgICAgcnVuKCZkb25lQ29tcGlsaW5nKTsK
KyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KSW5kZXg6IFRvb2xzL0NvbnRlbnRFeHRlbnNpb25U
ZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9D
b250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcJKHJldmlz
aW9uIDE4Mzk2NikJKGZyb20gU291cmNlL2JtYWxsb2MvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2Nv
bmZpZzoxODM5NjYpCisrKyBUb29scy9Db250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTQgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6Cisv
LyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
Ky8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisv
LyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKy8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworI2luY2x1
ZGUgIi4uLy4uLy4uLy4uL0ludGVybmFsL0NvbmZpZ3VyYXRpb25zL0hhdmVJbnRlcm5hbFNESy54
Y2NvbmZpZyIKKworVVNFX0lOVEVSTkFMX1NESyA9ICQoVVNFX0lOVEVSTkFMX1NES18kKENPTkZJ
R1VSQVRJT04pKTsKK1VTRV9JTlRFUk5BTF9TREtfUHJvZHVjdGlvbiA9IFlFUzsKK1VTRV9JTlRF
Uk5BTF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKK1VTRV9JTlRFUk5BTF9TREtf
UmVsZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREspOworCitDTEFOR19DWFhfTEFOR1VBR0VfU1RB
TkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CitDTEFOR19XQVJO
X0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9
IFlFUzsKK0NMQU5HX1dBUk5fQ1hYMFhfRVhURU5TSU9OUyA9IE5POworQ0xBTkdfV0FSTl9FTVBU
WV9CT0RZID0gWUVTOworQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CitDTEFOR19X
QVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9N
QVRDSCA9IFlFUzsKK0RFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsK
K0dDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CitHQ0NfREVCVUdHSU5HX1NZTUJPTFMg
PSBkZWZhdWx0OworR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CitHQ0NfRU5BQkxFX0NQUF9FWENF
UFRJT05TID0gTk87CitHQ0NfRU5BQkxFX0NQUF9SVFRJID0gTk87CitHQ0NfRU5BQkxFX09CSkNf
RVhDRVBUSU9OUyA9IFlFUzsKK0dDQ19FTkFCTEVfT0JKQ19HQyA9ICQoR0NDX0VOQUJMRV9PQkpD
X0dDXyQoUExBVEZPUk1fTkFNRSlfJChVU0VfSU5URVJOQUxfU0RLKSk7CitHQ0NfRU5BQkxFX09C
SkNfR0NfbWFjb3N4XyA9IE5POworR0NDX0VOQUJMRV9PQkpDX0dDX21hY29zeF9ZRVMgPSBzdXBw
b3J0ZWQ7CitHQ0NfRU5BQkxFX1NZTUJPTF9TRVBBUkFUSU9OID0gTk87CitHQ0NfRkFTVF9PQkpD
X0RJU1BBVENIID0gWUVTOworR0NDX0dFTkVSQVRFX0RFQlVHR0lOR19TWU1CT0xTID0gWUVTOwor
R0NDX0lOTElORVNfQVJFX1BSSVZBVEVfRVhURVJOID0gWUVTOworR0NDX01PREVMX1RVTklOR1tz
ZGs9bWFjb3N4Kl0gPSBHNTsKK0dDQ19PQkpDX0NBTExfQ1hYX0NEVE9SUyA9IFlFUzsKK0dDQ19Q
UkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7CitHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJ
T05TID0gJChERUJVR19ERUZJTkVTKSBXRUJLSVRfVkVSU0lPTl9NSU5fUkVRVUlSRUQ9V0VCS0lU
X1ZFUlNJT05fTEFURVNUIEhBVkVfSEVBREVSX0RFVEVDVElPTl9IICQoR0NDX1BSRVBST0NFU1NP
Ul9ERUZJTklUSU9OUyk7CitHQ0NfU1RSSUNUX0FMSUFTSU5HID0gWUVTOworR0NDX1RIUkVBRFNB
RkVfU1RBVElDUyA9IE5POworR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9SUyA9IFlFUzsKK0dD
Q19WRVJTSU9OID0gY29tLmFwcGxlLmNvbXBpbGVycy5sbHZtLmNsYW5nLjFfMDsKKy8vIEZJWE1F
OiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMDcwOTM+IFdURiBzaG91bGQgYnVpbGQgd2l0aCAtV3No
b3J0ZW4tNjQtdG8tMzIKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gJChHQ0Nf
V0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl8kKENVUlJFTlRfQVJDSCkpOworR0NDX1dBUk5f
NjRfVE9fMzJfQklUX0NPTlZFUlNJT05fID0gWUVTOworR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NP
TlZFUlNJT05fYXJtdjcgPSBZRVM7CitHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl9h
cm12N2sgPSBZRVM7CitHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl9hcm12N3MgPSBZ
RVM7CitHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTl9hcm02NCA9IE5POworR0NDX1dB
Uk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05faTM4NiA9IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMy
X0JJVF9DT05WRVJTSU9OX3g4Nl82NCA9IE5POworR0NDX1dBUk5fQUJPVVRfREVQUkVDQVRFRF9G
VU5DVElPTlMgPSBOTzsKK0dDQ19XQVJOX0FCT1VUX01JU1NJTkdfTkVXTElORSA9IFlFUzsKK0dD
Q19XQVJOX0FCT1VUX01JU1NJTkdfUFJPVE9UWVBFUyA9IFlFUzsKK0dDQ19XQVJOX0FCT1VUX1JF
VFVSTl9UWVBFID0gWUVTOworR0NDX1dBUk5fTk9OX1ZJUlRVQUxfREVTVFJVQ1RPUiA9IFlFUzsK
K0dDQ19XQVJOX1NJR05fQ09NUEFSRSA9IFlFUzsKK0dDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNU
T1IgPSBZRVM7CitHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTOworR0NDX1dBUk5f
VU5VU0VEX0ZVTkNUSU9OID0gWUVTOworR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwor
TElOS0VSX0RJU1BMQVlTX01BTkdMRURfTkFNRVMgPSBZRVM7CitQUkVCSU5ESU5HID0gTk87CitX
QVJOSU5HX0NGTEFHUyA9IC1XYWxsIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdjaGFyLXN1YnNjcmlw
dHMgLVdleHRyYS10b2tlbnMgLVdmb3JtYXQ9MiAtV2luaXQtc2VsZiAtV21pc3NpbmctZm9ybWF0
LWF0dHJpYnV0ZSAtV21pc3Npbmctbm9yZXR1cm4gLVdwYWNrZWQgLVdwb2ludGVyLWFyaXRoIC1X
cmVkdW5kYW50LWRlY2xzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1XZXhpdC10aW1lLWRlc3Ry
dWN0b3JzIC1XZ2xvYmFsLWNvbnN0cnVjdG9ycyAtV3RhdXRvbG9naWNhbC1jb21wYXJlIC1XaW1w
bGljaXQtZmFsbHRocm91Z2g7CisKK1RBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChN
QUNfT1NfWF9WRVJTSU9OX01BSk9SKTsKKworU1VQUE9SVEVEX1BMQVRGT1JNUyA9IGlwaG9uZW9z
IGlwaG9uZXNpbXVsYXRvciBtYWNvc3g7CisKKy8vIERFQlVHX0RFRklORVMsIEdDQ19PUFRJTUla
QVRJT05fTEVWRUwsIFNUUklQX0lOU1RBTExFRF9QUk9EVUNUIGFuZCBERUFEX0NPREVfU1RSSVBQ
SU5HIHZhcnkgYmV0d2VlbiB0aGUgZGVidWcgYW5kIG5vcm1hbCB2YXJpYW50cy4KKy8vIFdlIHNl
dCB1cCB0aGUgdmFsdWVzIGZvciBlYWNoIHZhcmlhbnQgaGVyZSwgYW5kIGhhdmUgdGhlIERlYnVn
IGNvbmZpZ3VyYXRpb24gaW4gdGhlIFhjb2RlIHByb2plY3QgdXNlIHRoZSBfZGVidWcgdmFyaWFu
dC4KK0RFQlVHX0RFRklORVNfZGVidWcgPSA7CitERUJVR19ERUZJTkVTX25vcm1hbCA9IE5ERUJV
RzsKK0RFQlVHX0RFRklORVMgPSAkKERFQlVHX0RFRklORVNfJChDVVJSRU5UX1ZBUklBTlQpKTsK
KworR0NDX09QVElNSVpBVElPTl9MRVZFTCA9ICQoR0NDX09QVElNSVpBVElPTl9MRVZFTF8kKENV
UlJFTlRfVkFSSUFOVCkpOworR0NDX09QVElNSVpBVElPTl9MRVZFTF9ub3JtYWwgPSAzOworR0ND
X09QVElNSVpBVElPTl9MRVZFTF9kZWJ1ZyA9IDA7CisKK1NUUklQX0lOU1RBTExFRF9QUk9EVUNU
ID0gJChTVFJJUF9JTlNUQUxMRURfUFJPRFVDVF8kKENVUlJFTlRfVkFSSUFOVCkpOworU1RSSVBf
SU5TVEFMTEVEX1BST0RVQ1Rfbm9ybWFsID0gWUVTOworU1RSSVBfSU5TVEFMTEVEX1BST0RVQ1Rf
ZGVidWcgPSBOTzsKKworREVBRF9DT0RFX1NUUklQUElOR19kZWJ1ZyA9IE5POworREVBRF9DT0RF
X1NUUklQUElOR19ub3JtYWwgPSBZRVM7CitERUFEX0NPREVfU1RSSVBQSU5HID0gJChERUFEX0NP
REVfU1RSSVBQSU5HXyQoQ1VSUkVOVF9WQVJJQU5UKSk7CisKK0lOU1RBTExfUEFUSF9QUkVGSVhb
c2RrPWlwaG9uZXNpbXVsYXRvcjguKl0gPSAkKERFVkVMT1BFUl9JTlNUQUxMX0RJUikvUGxhdGZv
cm1zL2lQaG9uZVNpbXVsYXRvci5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy8kKFNES19ESVI6Zmls
ZSk7CitJTlNUQUxMX1BBVEggPSAkKElOU1RBTExfUEFUSF9QUkVGSVgpJChJTlNUQUxMX1BBVEhf
QUNUVUFMKTsKKworU0RLUk9PVCA9IG1hY29zeC5pbnRlcm5hbDsKKworT1RIRVJfQ0ZMQUdTID0g
JChBU0FOX09USEVSX0NGTEFHUyk7CitPVEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoQVNBTl9PVEhF
Ul9DUExVU1BMVVNGTEFHUyk7CitPVEhFUl9MREZMQUdTID0gJChBU0FOX09USEVSX0xERkxBR1Mp
OwpJbmRleDogVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQorKysgVG9vbHMvQ29udGVu
dEV4dGVuc2lvblRlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExLCAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTQwLDM0ICs0MCwxOSBAQCBDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9E
X01BVENIID0gWUVTCiBERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07
CiBHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwogR0NDX0RFQlVHR0lOR19TWU1CT0xT
ID0gZGVmYXVsdDsKLUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POwogR0NDX0VOQUJMRV9DUFBfRVhD
RVBUSU9OUyA9IE5POwogR0NDX0VOQUJMRV9DUFBfUlRUSSA9IE5POwogR0NDX0VOQUJMRV9PQkpD
X0VYQ0VQVElPTlMgPSBZRVM7Ci1HQ0NfRU5BQkxFX09CSkNfR0MgPSAkKEdDQ19FTkFCTEVfT0JK
Q19HQ18kKFBMQVRGT1JNX05BTUUpXyQoVVNFX0lOVEVSTkFMX1NESykpOwotR0NDX0VOQUJMRV9P
QkpDX0dDX21hY29zeF8gPSBOTzsKLUdDQ19FTkFCTEVfT0JKQ19HQ19tYWNvc3hfWUVTID0gc3Vw
cG9ydGVkOwogR0NDX0VOQUJMRV9TWU1CT0xfU0VQQVJBVElPTiA9IE5POwogR0NDX0ZBU1RfT0JK
Q19ESVNQQVRDSCA9IFlFUzsKIEdDQ19HRU5FUkFURV9ERUJVR0dJTkdfU1lNQk9MUyA9IFlFUzsK
LUdDQ19JTkxJTkVTX0FSRV9QUklWQVRFX0VYVEVSTiA9IFlFUzsKLUdDQ19NT0RFTF9UVU5JTkdb
c2RrPW1hY29zeCpdID0gRzU7CiBHQ0NfT0JKQ19DQUxMX0NYWF9DRFRPUlMgPSBZRVM7CiBHQ0Nf
UFJFQ09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOwotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklU
SU9OUyA9ICQoREVCVUdfREVGSU5FUykgV0VCS0lUX1ZFUlNJT05fTUlOX1JFUVVJUkVEPVdFQktJ
VF9WRVJTSU9OX0xBVEVTVCBIQVZFX0hFQURFUl9ERVRFQ1RJT05fSCAkKEdDQ19QUkVQUk9DRVNT
T1JfREVGSU5JVElPTlMpOworR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdf
REVGSU5FUykgJChpbmhlcml0ZWQpOwogR0NDX1NUUklDVF9BTElBU0lORyA9IFlFUzsKIEdDQ19U
SFJFQURTQUZFX1NUQVRJQ1MgPSBOTzsKIEdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZ
RVM7Ci1HQ0NfVkVSU0lPTiA9IGNvbS5hcHBsZS5jb21waWxlcnMubGx2bS5jbGFuZy4xXzA7Ci0v
LyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTA3MDkzPiBXVEYgc2hvdWxkIGJ1aWxkIHdp
dGggLVdzaG9ydGVuLTY0LXRvLTMyCi1HQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9
ICQoR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05fJChDVVJSRU5UX0FSQ0gpKTsKIEdD
Q19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OXyA9IFlFUzsKLUdDQ19XQVJOXzY0X1RPXzMy
X0JJVF9DT05WRVJTSU9OX2FybXY3ID0gWUVTOwotR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZF
UlNJT05fYXJtdjdrID0gWUVTOwotR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05fYXJt
djdzID0gWUVTOwotR0NDX1dBUk5fNjRfVE9fMzJfQklUX0NPTlZFUlNJT05fYXJtNjQgPSBOTzsK
LUdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OX2kzODYgPSBZRVM7Ci1HQ0NfV0FSTl82
NF9UT18zMl9CSVRfQ09OVkVSU0lPTl94ODZfNjQgPSBOTzsKIEdDQ19XQVJOX0FCT1VUX0RFUFJF
Q0FURURfRlVOQ1RJT05TID0gTk87CiBHQ0NfV0FSTl9BQk9VVF9NSVNTSU5HX05FV0xJTkUgPSBZ
RVM7CiBHQ0NfV0FSTl9BQk9VVF9NSVNTSU5HX1BST1RPVFlQRVMgPSBZRVM7CkBAIC03OSwxMyAr
NjQsMTAgQEAgR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFUzsKIEdDQ19XQVJOX1VO
VVNFRF9GVU5DVElPTiA9IFlFUzsKIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKIExJ
TktFUl9ESVNQTEFZU19NQU5HTEVEX05BTUVTID0gWUVTOwotUFJFQklORElORyA9IE5POwogV0FS
TklOR19DRkxBR1MgPSAtV2FsbCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XY2hhci1zdWJzY3JpcHRz
IC1XZXh0cmEtdG9rZW5zIC1XZm9ybWF0PTIgLVdpbml0LXNlbGYgLVdtaXNzaW5nLWZvcm1hdC1h
dHRyaWJ1dGUgLVdtaXNzaW5nLW5vcmV0dXJuIC1XcGFja2VkIC1XcG9pbnRlci1hcml0aCAtV3Jl
ZHVuZGFudC1kZWNscyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV2V4aXQtdGltZS1kZXN0cnVj
dG9ycyAtV2dsb2JhbC1jb25zdHJ1Y3RvcnMgLVd0YXV0b2xvZ2ljYWwtY29tcGFyZSAtV2ltcGxp
Y2l0LWZhbGx0aHJvdWdoOwogCiBUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUiA9ICQoTUFD
X09TX1hfVkVSU0lPTl9NQUpPUik7CiAKLVNVUFBPUlRFRF9QTEFURk9STVMgPSBpcGhvbmVvcyBp
cGhvbmVzaW11bGF0b3IgbWFjb3N4OwotCiAvLyBERUJVR19ERUZJTkVTLCBHQ0NfT1BUSU1JWkFU
SU9OX0xFVkVMLCBTVFJJUF9JTlNUQUxMRURfUFJPRFVDVCBhbmQgREVBRF9DT0RFX1NUUklQUElO
RyB2YXJ5IGJldHdlZW4gdGhlIGRlYnVnIGFuZCBub3JtYWwgdmFyaWFudHMuCiAvLyBXZSBzZXQg
dXAgdGhlIHZhbHVlcyBmb3IgZWFjaCB2YXJpYW50IGhlcmUsIGFuZCBoYXZlIHRoZSBEZWJ1ZyBj
b25maWd1cmF0aW9uIGluIHRoZSBYY29kZSBwcm9qZWN0IHVzZSB0aGUgX2RlYnVnIHZhcmlhbnQu
CiBERUJVR19ERUZJTkVTX2RlYnVnID0gOwpAQCAtOTYsMTcgKzc4LDYgQEAgR0NDX09QVElNSVpB
VElPTl9MRVZFTCA9ICQoR0NDX09QVElNSVpBVAogR0NDX09QVElNSVpBVElPTl9MRVZFTF9ub3Jt
YWwgPSAzOwogR0NDX09QVElNSVpBVElPTl9MRVZFTF9kZWJ1ZyA9IDA7CiAKLVNUUklQX0lOU1RB
TExFRF9QUk9EVUNUID0gJChTVFJJUF9JTlNUQUxMRURfUFJPRFVDVF8kKENVUlJFTlRfVkFSSUFO
VCkpOwotU1RSSVBfSU5TVEFMTEVEX1BST0RVQ1Rfbm9ybWFsID0gWUVTOwotU1RSSVBfSU5TVEFM
TEVEX1BST0RVQ1RfZGVidWcgPSBOTzsKLQotREVBRF9DT0RFX1NUUklQUElOR19kZWJ1ZyA9IE5P
OwotREVBRF9DT0RFX1NUUklQUElOR19ub3JtYWwgPSBZRVM7Ci1ERUFEX0NPREVfU1RSSVBQSU5H
ID0gJChERUFEX0NPREVfU1RSSVBQSU5HXyQoQ1VSUkVOVF9WQVJJQU5UKSk7Ci0KLUlOU1RBTExf
UEFUSF9QUkVGSVhbc2RrPWlwaG9uZXNpbXVsYXRvcjguKl0gPSAkKERFVkVMT1BFUl9JTlNUQUxM
X0RJUikvUGxhdGZvcm1zL2lQaG9uZVNpbXVsYXRvci5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy8k
KFNES19ESVI6ZmlsZSk7Ci1JTlNUQUxMX1BBVEggPSAkKElOU1RBTExfUEFUSF9QUkVGSVgpJChJ
TlNUQUxMX1BBVEhfQUNUVUFMKTsKLQogU0RLUk9PVCA9IG1hY29zeC5pbnRlcm5hbDsKIAogT1RI
RVJfQ0ZMQUdTID0gJChBU0FOX09USEVSX0NGTEFHUyk7CkluZGV4OiBUb29scy9Db250ZW50RXh0
ZW5zaW9uVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIueGNjb25m
aWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9Db25maWd1cmF0
aW9ucy9Db250ZW50RXh0ZW5zaW9uVGVzdGVyLnhjY29uZmlnCShyZXZpc2lvbiAxODM5NjYpCShm
cm9tIFNvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL2JtYWxsb2MueGNjb25maWc6MTgzOTY2
KQorKysgVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9Db25maWd1cmF0aW9ucy9Db250ZW50
RXh0ZW5zaW9uVGVzdGVyLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
Ly8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworRVhFQ1VUQUJMRV9QUkVGSVgg
PSBsaWI7CitJTlNUQUxMX1BBVEhfQUNUVUFMID0gL3Vzci9sb2NhbC9saWI7CitQUklWQVRFX0hF
QURFUlNfRk9MREVSX1BBVEggPSAkKFBSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSF8kKERFUExP
WU1FTlRfTE9DQVRJT04pKTsKK1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSF9OTyA9IC91c3Iv
bG9jYWwvaW5jbHVkZS9ibWFsbG9jOworUFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIX1lFUyA9
ICQoSU5TVEFMTF9QQVRIX1BSRUZJWCkvdXNyL2xvY2FsL2luY2x1ZGUvYm1hbGxvYzsKK1BST0RV
Q1RfTkFNRSA9IGJtYWxsb2M7CisKK0dDQ19TWU1CT0xTX1BSSVZBVEVfRVhURVJOID0gWUVTOwor
U1RSSVBfSU5TVEFMTEVEX1BST0RVQ1QgPSBOTzsKSW5kZXg6IFRvb2xzL0NvbnRlbnRFeHRlbnNp
b25UZXN0ZXIvQ29uZmlndXJhdGlvbnMvQ29udGVudEV4dGVuc2lvblRlc3Rlci54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9Db250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbmZpZ3VyYXRpb25z
L0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIueGNjb25maWcJKHdvcmtpbmcgY29weSkKKysrIFRvb2xz
L0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmlndXJhdGlvbnMvQ29udGVudEV4dGVuc2lvblRl
c3Rlci54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLS8vIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMSwxMiArMjEsNCBAQAogLy8gKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAvLyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKIAotRVhFQ1VUQUJMRV9QUkVGSVggPSBsaWI7Ci1JTlNUQUxMX1BBVEhfQUNU
VUFMID0gL3Vzci9sb2NhbC9saWI7Ci1QUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEggPSAkKFBS
SVZBVEVfSEVBREVSU19GT0xERVJfUEFUSF8kKERFUExPWU1FTlRfTE9DQVRJT04pKTsKLVBSSVZB
VEVfSEVBREVSU19GT0xERVJfUEFUSF9OTyA9IC91c3IvbG9jYWwvaW5jbHVkZS9ibWFsbG9jOwot
UFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIX1lFUyA9ICQoSU5TVEFMTF9QQVRIX1BSRUZJWCkv
dXNyL2xvY2FsL2luY2x1ZGUvYm1hbGxvYzsKLVBST0RVQ1RfTkFNRSA9IGJtYWxsb2M7Ci0KLUdD
Q19TWU1CT0xTX1BSSVZBVEVfRVhURVJOID0gWUVTOwotU1RSSVBfSU5TVEFMTEVEX1BST0RVQ1Qg
PSBOTzsKK1BST0RVQ1RfTkFNRSA9ICQoVEFSR0VUX05BTUUpOwpJbmRleDogVG9vbHMvQ29udGVu
dEV4dGVuc2lvblRlc3Rlci9Db25maWd1cmF0aW9ucy9EZWJ1Z1JlbGVhc2UueGNjb25maWcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9Db25maWd1cmF0aW9ucy9E
ZWJ1Z1JlbGVhc2UueGNjb25maWcJKHJldmlzaW9uIDE4Mzk2NikJKGZyb20gU291cmNlL2JtYWxs
b2MvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnOjE4Mzk2NikKKysrIFRvb2xz
L0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAw
OSwgMjAxMCwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisv
LworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisv
LyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworI2luY2x1ZGUgIkJhc2UueGNjb25maWciCisK
K0FSQ0hTID0gJChBUkNIU19TVEFOREFSRF8zMl82NF9CSVQpOworT05MWV9BQ1RJVkVfQVJDSCA9
IFlFUzsKKworTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUID0gJChNQUNPU1hfREVQTE9ZTUVOVF9U
QVJHRVRfJChQTEFURk9STV9OQU1FKV8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7
CitNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRfbWFjb3N4XzEwOTAgPSAxMC45OworTUFDT1NYX0RF
UExPWU1FTlRfVEFSR0VUX21hY29zeF8xMDEwMDAgPSAxMC4xMDsKK01BQ09TWF9ERVBMT1lNRU5U
X1RBUkdFVF9tYWNvc3hfMTAxMTAwID0gMTAuMTE7CisKK0dDQ19XQVJOX0FCT1VUX0RFUFJFQ0FU
RURfRlVOQ1RJT05TID0gWUVTOworREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmY7CisK
K1NES1JPT1Rbc2RrPWlwaG9uZSpdID0gJChTREtST09UKTsKK1NES1JPT1QgPSAkKFNES1JPT1Rf
JChQTEFURk9STV9OQU1FKV8kKFVTRV9JTlRFUk5BTF9TREspKTsKK1NES1JPT1RfbWFjb3N4XyA9
IG1hY29zeDsKK1NES1JPT1RfbWFjb3N4X1lFUyA9IG1hY29zeC5pbnRlcm5hbDsKSW5kZXg6IFRv
b2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmlndXJhdGlvbnMvRGVidWdSZWxlYXNlLnhj
Y29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmln
dXJhdGlvbnMvRGVidWdSZWxlYXNlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCisrKyBUb29scy9D
b250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0RlYnVnUmVsZWFzZS54Y2NvbmZp
Zwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLS8vIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMCwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMyw3ICsyMyw2IEBACiAKICNpbmNsdWRlICJCYXNlLnhjY29u
ZmlnIgogCi1BUkNIUyA9ICQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKTsKIE9OTFlfQUNUSVZF
X0FSQ0ggPSBZRVM7CiAKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9ICQoTUFDT1NYX0RFUExP
WU1FTlRfVEFSR0VUXyQoUExBVEZPUk1fTkFNRSlfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9N
QUpPUikpOwpJbmRleDogVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9Db250ZW50RXh0ZW5z
aW9uVGVzdGVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
Q29udGVudEV4dGVuc2lvblRlc3Rlci9Db250ZW50RXh0ZW5zaW9uVGVzdGVyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDApCisrKyBUb29scy9Db250ZW50RXh0ZW5zaW9uVGVz
dGVyL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDIwMCBAQAorLy8gISQqVVRGOCokIQoreworCWFyY2hpdmVW
ZXJzaW9uID0gMTsKKwljbGFzc2VzID0geworCX07CisJb2JqZWN0VmVyc2lvbiA9IDQ2OworCW9i
amVjdHMgPSB7CisKKy8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCTdDNEFCM0FD
MUFGMDI3OTgwMDNGQzhEMSAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0QUIzQUIxQUYwMjc5ODAwM0ZDOEQxIC8q
IFdlYktpdC5mcmFtZXdvcmsgKi87IH07CisJCTdDQjY4NDRCMUFGQTc5NzgwMDJCMzA1QyAvKiBt
YWluLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0I2
ODQ0QTFBRkE3OTc4MDAyQjMwNUMgLyogbWFpbi5tICovOyB9OworLyogRW5kIFBCWEJ1aWxkRmls
ZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCQk3QzRBQjM5RjFBRjAyNzZDMDAzRkM4RDEgLyogQ29weUZpbGVzICovID0geworCQkJaXNh
ID0gUEJYQ29weUZpbGVzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7CisJCQlkc3RQYXRoID0gL3Vzci9zaGFyZS9tYW4vbWFuMS87CisJCQlkc3RTdWJmb2xkZXJT
cGVjID0gMDsKKwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAxOworCQl9OworLyogRW5kIFBCWENvcHlGaWxlc0J1aWxkUGhhc2Ugc2Vj
dGlvbiAqLworCisvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwkJN0MyMjI3
NTExQUZDNEQ5QzAwOEMzMzM4IC8qIEJhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gQmFzZS54
Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0MyMjI3NTIxQUZDNEQ5QzAw
OEMzMzM4IC8qIENvbnRlbnRFeHRlbnNpb25UZXN0ZXIueGNjb25maWcgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0g
Q29udGVudEV4dGVuc2lvblRlc3Rlci54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJN0MyMjI3NTMxQUZDNEQ5QzAwOEMzMzM4IC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBEZWJ1Z1JlbGVhc2UueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTdDNEFCM0ExMUFGMDI3NkMwMDNGQzhEMSAvKiBDb250ZW50RXh0ZW5zaW9uVGVz
dGVyICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBDb250
ZW50RXh0ZW5zaW9uVGVzdGVyOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
CQk3QzRBQjNBQjFBRjAyNzk4MDAzRkM4RDEgLyogV2ViS2l0LmZyYW1ld29yayAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3Jr
OyBuYW1lID0gV2ViS2l0LmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvV2ViS2l0LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CisJCTdDQjY4NDRB
MUFGQTc5NzgwMDJCMzA1QyAvKiBtYWluLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsg
cGF0aCA9IG1haW4ubTsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworLyogRW5kIFBCWEZp
bGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZSBzZWN0aW9uICovCisJCTdDNEFCMzlFMUFGMDI3NkMwMDNGQzhEMSAvKiBGcmFtZXdvcmtzICov
ID0geworCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJN0M0QUIzQUMxQUYwMjc5ODAwM0ZD
OEQxIC8qIFdlYktpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24g
Ki8KKwkJN0MyMjI3NTAxQUZDNEQwQTAwOEMzMzM4IC8qIENvbmZpZ3VyYXRpb25zICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk3QzIyMjc1MTFBRkM0RDlD
MDA4QzMzMzggLyogQmFzZS54Y2NvbmZpZyAqLywKKwkJCQk3QzIyMjc1MjFBRkM0RDlDMDA4QzMz
MzggLyogQ29udGVudEV4dGVuc2lvblRlc3Rlci54Y2NvbmZpZyAqLywKKwkJCQk3QzIyMjc1MzFB
RkM0RDlDMDA4QzMzMzggLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovLAorCQkJKTsKKwkJCXBh
dGggPSBDb25maWd1cmF0aW9uczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJ
CTdDNEFCMzk4MUFGMDI3NkMwMDNGQzhEMSA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJN0M0QUIzQUIxQUYwMjc5ODAwM0ZDOEQxIC8qIFdlYktpdC5mcmFtZXdv
cmsgKi8sCisJCQkJN0M0QUIzQTMxQUYwMjc2QzAwM0ZDOEQxIC8qIENvbnRlbnRFeHRlbnNpb25U
ZXN0ZXIgKi8sCisJCQkJN0MyMjI3NTAxQUZDNEQwQTAwOEMzMzM4IC8qIENvbmZpZ3VyYXRpb25z
ICovLAorCQkJCTdDNEFCM0EyMUFGMDI3NkMwMDNGQzhEMSAvKiBQcm9kdWN0cyAqLywKKwkJCSk7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk3QzRBQjNBMjFBRjAyNzZDMDAz
RkM4RDEgLyogUHJvZHVjdHMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTdDNEFCM0ExMUFGMDI3NkMwMDNGQzhEMSAvKiBDb250ZW50RXh0ZW5zaW9uVGVz
dGVyICovLAorCQkJKTsKKwkJCW5hbWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CisJCTdDNEFCM0EzMUFGMDI3NkMwMDNGQzhEMSAvKiBDb250ZW50RXh0ZW5z
aW9uVGVzdGVyICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQk3Q0I2ODQ0QTFBRkE3OTc4MDAyQjMwNUMgLyogbWFpbi5tICovLAorCQkJKTsKKwkJCXBhdGgg
PSBDb250ZW50RXh0ZW5zaW9uVGVzdGVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKKy8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCisKKy8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdl
dCBzZWN0aW9uICovCisJCTdDNEFCM0EwMUFGMDI3NkMwMDNGQzhEMSAvKiBDb250ZW50RXh0ZW5z
aW9uVGVzdGVyICovID0geworCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25m
aWd1cmF0aW9uTGlzdCA9IDdDNEFCM0E4MUFGMDI3NkMwMDNGQzhEMSAvKiBCdWlsZCBjb25maWd1
cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiQ29udGVudEV4dGVuc2lvblRlc3RlciIg
Ki87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk3QzRBQjM5RDFBRjAyNzZDMDAzRkM4RDEgLyog
U291cmNlcyAqLywKKwkJCQk3QzRBQjM5RTFBRjAyNzZDMDAzRkM4RDEgLyogRnJhbWV3b3JrcyAq
LywKKwkJCQk3QzRBQjM5RjFBRjAyNzZDMDAzRkM4RDEgLyogQ29weUZpbGVzICovLAorCQkJKTsK
KwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJKTsKKwkJ
CW5hbWUgPSBDb250ZW50RXh0ZW5zaW9uVGVzdGVyOworCQkJcHJvZHVjdE5hbWUgPSBDb250ZW50
RXh0ZW5zaW9uVGVzdGVyOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDdDNEFCM0ExMUFGMDI3NkMw
MDNGQzhEMSAvKiBDb250ZW50RXh0ZW5zaW9uVGVzdGVyICovOworCQkJcHJvZHVjdFR5cGUgPSAi
Y29tLmFwcGxlLnByb2R1Y3QtdHlwZS50b29sIjsKKwkJfTsKKy8qIEVuZCBQQlhOYXRpdmVUYXJn
ZXQgc2VjdGlvbiAqLworCisvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KKwkJN0M0QUIz
OTkxQUYwMjc2QzAwM0ZDOEQxIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0gUEJY
UHJvamVjdDsKKwkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA3MDA7
CisJCQkJT1JHQU5JWkFUSU9OTkFNRSA9ICJTYW0gV2VpbmlnIjsKKwkJCQlUYXJnZXRBdHRyaWJ1
dGVzID0geworCQkJCQk3QzRBQjNBMDFBRjAyNzZDMDAzRkM4RDEgPSB7CisJCQkJCQlDcmVhdGVk
T25Ub29sc1ZlcnNpb24gPSA3LjA7CisJCQkJCX07CisJCQkJfTsKKwkJCX07CisJCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gN0M0QUIzOUMxQUYwMjc2QzAwM0ZDOEQxIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiQ29udGVudEV4dGVuc2lvblRlc3RlciIgKi87
CisJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAzLjIiOworCQkJZGV2ZWxvcG1lbnRS
ZWdpb24gPSBFbmdsaXNoOworCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDA7CisJCQlrbm93
blJlZ2lvbnMgPSAoCisJCQkJZW4sCisJCQkpOworCQkJbWFpbkdyb3VwID0gN0M0QUIzOTgxQUYw
Mjc2QzAwM0ZDOEQxOworCQkJcHJvZHVjdFJlZkdyb3VwID0gN0M0QUIzQTIxQUYwMjc2QzAwM0ZD
OEQxIC8qIFByb2R1Y3RzICovOworCQkJcHJvamVjdERpclBhdGggPSAiIjsKKwkJCXByb2plY3RS
b290ID0gIiI7CisJCQl0YXJnZXRzID0gKAorCQkJCTdDNEFCM0EwMUFGMDI3NkMwMDNGQzhEMSAv
KiBDb250ZW50RXh0ZW5zaW9uVGVzdGVyICovLAorCQkJKTsKKwkJfTsKKy8qIEVuZCBQQlhQcm9q
ZWN0IHNlY3Rpb24gKi8KKworLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCQk3QzRBQjM5RDFBRjAyNzZDMDAzRkM4RDEgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9
IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJCTdDQjY4NDRCMUFGQTc5NzgwMDJCMzA1QyAvKiBtYWluLm0gaW4g
U291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKKwkJfTsKKy8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCisKKy8q
IEJlZ2luIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KKwkJN0M0QUIzQTYxQUYwMjc2
QzAwM0ZDOEQxIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247
CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDdDMjIyNzUzMUFGQzREOUMwMDhDMzMz
OCAvKiBEZWJ1Z1JlbGVhc2UueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJ
CURFQlVHX0RFRklORVMgPSAiJChERUJVR19ERUZJTkVTX2RlYnVnKSI7CisJCQkJR0NDX09QVElN
SVpBVElPTl9MRVZFTCA9ICIkKEdDQ19PUFRJTUlaQVRJT05fTEVWRUxfZGVidWcpIjsKKwkJCX07
CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTdDNEFCM0E3MUFGMDI3NkMwMDNGQzhEMSAvKiBS
ZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29u
ZmlndXJhdGlvblJlZmVyZW5jZSA9IDdDMjIyNzUzMUFGQzREOUMwMDhDMzMzOCAvKiBEZWJ1Z1Jl
bGVhc2UueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUg
PSBSZWxlYXNlOworCQl9OworCQk3QzRBQjNBOTFBRjAyNzZDMDAzRkM4RDEgLyogRGVidWcgKi8g
PSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9u
UmVmZXJlbmNlID0gN0MyMjI3NTIxQUZDNEQ5QzAwOEMzMzM4IC8qIENvbnRlbnRFeHRlbnNpb25U
ZXN0ZXIueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUg
PSBEZWJ1ZzsKKwkJfTsKKwkJN0M0QUIzQUExQUYwMjc2QzAwM0ZDOEQxIC8qIFJlbGVhc2UgKi8g
PSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9u
UmVmZXJlbmNlID0gN0MyMjI3NTIxQUZDNEQ5QzAwOEMzMzM4IC8qIENvbnRlbnRFeHRlbnNpb25U
ZXN0ZXIueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUg
PSBSZWxlYXNlOworCQl9OworLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8K
KworLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCisJCTdDNEFCMzlDMUFG
MDI3NkMwMDNGQzhEMSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3Qg
IkNvbnRlbnRFeHRlbnNpb25UZXN0ZXIiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9u
TGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJN0M0QUIzQTYxQUYwMjc2QzAw
M0ZDOEQxIC8qIERlYnVnICovLAorCQkJCTdDNEFCM0E3MUFGMDI3NkMwMDNGQzhEMSAvKiBSZWxl
YXNlICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJ
CWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTdDNEFCM0E4MUFG
MDI3NkMwMDNGQzhEMSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRh
cmdldCAiQ29udGVudEV4dGVuc2lvblRlc3RlciIgKi8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3Vy
YXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQk3QzRBQjNBOTFBRjAy
NzZDMDAzRkM4RDEgLyogRGVidWcgKi8sCisJCQkJN0M0QUIzQUExQUYwMjc2QzAwM0ZDOEQxIC8q
IFJlbGVhc2UgKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAw
OworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUmVsZWFzZTsKKwkJfTsKKy8qIEVuZCBY
Q0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8KKwl9OworCXJvb3RPYmplY3QgPSA3QzRBQjM5
OTFBRjAyNzZDMDAzRkM4RDEgLyogUHJvamVjdCBvYmplY3QgKi87Cit9CkluZGV4OiBUb29scy9T
Y3JpcHRzL3J1bi1jb250ZW50LWV4dGVuc2lvbi10ZXN0ZXIKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy9ydW4tY29udGVudC1leHRlbnNpb24tdGVzdGVyCShyZXZpc2lvbiAxODM5NjYpCShm
cm9tIFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0czoxODM5NjYpCisrKyBUb29scy9TY3Jp
cHRzL3J1bi1jb250ZW50LWV4dGVuc2lvbi10ZXN0ZXIJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIiIiV3Jh
cHBlciBhcm91bmQgd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkiIiIK
K2Zyb20gd2Via2l0cHkuY29tbW9uIGltcG9ydCBtdWx0aXByb2Nlc3NpbmdfYm9vdHN0cmFwCisK
K211bHRpcHJvY2Vzc2luZ19ib290c3RyYXAucnVuKCd3ZWJraXRweScsICdsYXlvdXRfdGVzdHMn
LCAncnVuX3dlYmtpdF90ZXN0cy5weScpCkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi1jb250ZW50
LWV4dGVuc2lvbi10ZXN0ZXIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9ydW4tY29udGVu
dC1leHRlbnNpb24tdGVzdGVyCSh3b3JraW5nIGNvcHkpCisrKyBUb29scy9TY3JpcHRzL3J1bi1j
b250ZW50LWV4dGVuc2lvbi10ZXN0ZXIJKHdvcmtpbmcgY29weSkKQEAgLTEsMzMgKzEsMzkgQEAK
LSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMhL3Vzci9iaW4vcGVybCAtdworCisjIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0jIG1ldDoKLSMKLSMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0jIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKLSMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotIyBkaXN0cmlidXRpb24uCi0jICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogIwotIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCi0jICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0j
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyMgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisj
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyMgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisjIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisjIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyMgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCit1c2Ugc3RyaWN0OwordXNlIEZpbmRCaW47Cit1c2Ug
bGliICRGaW5kQmluOjpCaW47Cit1c2Ugd2Via2l0ZGlyczsKKworcHJpbnRIZWxwQW5kRXhpdEZv
clJ1bkFuZERlYnVnV2ViS2l0QXBwSWZOZWVkZWQoKTsKKworc2V0Q29uZmlndXJhdGlvbigpOwog
Ci0iIiJXcmFwcGVyIGFyb3VuZCB3ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weSIiIgotZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG11bHRpcHJvY2Vzc2luZ19ib290
c3RyYXAKK2lmICghaXNBcHBsZU1hY1dlYktpdCgpKSB7CisgICAgZXhpdCAxOworfQogCi1tdWx0
aXByb2Nlc3NpbmdfYm9vdHN0cmFwLnJ1bignd2Via2l0cHknLCAnbGF5b3V0X3Rlc3RzJywgJ3J1
bl93ZWJraXRfdGVzdHMucHknKQorZXhpdCBleGl0U3RhdHVzKHJ1bk1hY1dlYktpdEFwcChGaWxl
OjpTcGVjLT5jYXRmaWxlKHByb2R1Y3REaXIoKSwgIkNvbnRlbnRFeHRlbnNpb25UZXN0ZXIiKSkp
Owo=
</data>
<flag name="review"
          id="277512"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>