Date: Mon, 5 Jun 2006 17:02:29 +0300 (EEST) From: "Елисей Бабенко" <a@zeos.net> To: freebsd-questions@freebsd.org Cc: a@zeos.net Subject: sendmail client side smtp authentication problem Message-ID: <20060605140229.44BF5921832@uma.zeos.net>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. ------=ZEOSMAIL_BOUND_0.489048333912255 Content-Type: text/plain; charset=koi8-u sendmail client side smtp authentication problem My ISP wants my MTA authenticate itself from now on. So, I read cf/README, added FEATURE(authinfo) in my localhost.mc, created the file authinfo with one line AuthInfo:mail.ukrpost.ua "U:babenko@kv.ukrtel.net" "P:password" where mail.ukrpost.ua is my ISP smtp server, babenko@kv.ukrtel.net -- my id appoited by ISP; made and installed cf, restarted sendmail (at 9:17), and tried to send a mail with the command sendmail -f babenko@kv.ukrtel.net babenko@kv.ukrtel.net where babenko@kv.ukrtel.net -- my mailbox on ISP directly. The mail was rejected by server. The next is in maillog: Jun 5 09:18:07 localhost sendmail[1321]: k556I72R001321: Authentication-Warning: localhost.my.domain: elisej set sender to babenko@kv.ukrtel.net using -f Jun 5 09:18:17 localhost sendmail[1321]: k556I72R001321: from=babenko@kv.ukrtel.net, size=5, class=0, nrcpts=1, msgid=<200606050618.k556I72R001321@localhost.my.domain>, relay=elisej@localhost Jun 5 09:18:17 localhost sm-mta[1322]: k556IHub001322: from=<babenko@kv.ukrtel.net>, size=443, class=0, nrcpts=1, msgid=<200606050618.k556I72R001321@localhost.my.domain>, proto=ESMTP, daemon=Daemon0, relay=localhost [127.0.0.1] Jun 5 09:18:17 localhost sendmail[1321]: k556I72R001321: to=babenko@kv.ukrtel.net, ctladdr=babenko@kv.ukrtel.net (1001/1001), delay=00:00:10, xdelay=00:00:00, mailer=relay, pri=30005, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k556IHub001322 Message accepted for delivery) Jun 5 09:18:17 localhost sm-mta[1324]: k556IHub001322: to=<babenko@kv.ukrtel.net>, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30443, relay=mail.ukrpost.ua. [195.5.6.41], dsn=5.1.1, stat=User unknown Jun 5 09:18:17 localhost sm-mta[1324]: k556IHub001322: k556IHub001324: DSN: User unknown Jun 5 09:18:22 localhost sm-mta[1324]: k556IHub001324: to=<babenko@kv.ukrtel.net>, delay=00:00:05, xdelay=00:00:05, mailer=relay, pri=31467, relay=mail.ukrpost.ua. [195.5.6.41], dsn=2.0.0, stat=Sent (OK id=1Fn8Q0-0006J4-G5) Then, I looked at the file authinfo with ls -lu and found that sendmail does not read it at all (see access time): -rw------- 1 root wheel 63 Jun 5 09:14 authinfo What is a problem? I have sendmail 8.13.6 on FreeBSD 6.1-RELEASE. Thank you in advance. Elisej Babenko -- Zeos: интернет + callback с лучшим отношением цена/качество http://zeos.net ------=ZEOSMAIL_BOUND_0.489048333912255 Content-Type: text/plain; charset=cp866; name="localhost.mc" Content-Transfer-Encoding: base64 IyBsb2NhbGhvc3QubWMKIwojIEVsaXNlaiBCYWJlbmtvCgpWRVJTSU9OSUQoYCRGcmVlQlNEOiBz cmMvZXRjL3NlbmRtYWlsL2ZyZWVic2QubWMsdiAxLjMwLjYuMSAyMDA2LzA0LzEzIDA0OjAwOjIz IGdzaGFwaXJvIEV4cCAkJykKT1NUWVBFKGZyZWVic2Q2KQpET01BSU4oZ2VuZXJpYykKCkZFQVRV UkUoYWNjZXNzX2RiLCBgaGFzaCAtbyAtVDxUTVBGPiAvZXRjL21haWwvYWNjZXNzJykKRkVBVFVS RShibGFja2xpc3RfcmVjaXBpZW50cykKRkVBVFVSRShsb2NhbF9sbXRwKQpGRUFUVVJFKG1haWxl cnRhYmxlLCBgaGFzaCAtbyAvZXRjL21haWwvbWFpbGVydGFibGUnKQpGRUFUVVJFKHZpcnR1c2Vy dGFibGUsIGBoYXNoIC1vIC9ldGMvbWFpbC92aXJ0dXNlcnRhYmxlJykKRkVBVFVSRShhdXRoaW5m bykKCmRlZmluZShgU01BUlRfSE9TVCcsIGBtYWlsLnVrcnBvc3QudWEnKQoKZGVmaW5lKGBjb25m Q1dfRklMRScsIGAtbyAvZXRjL21haWwvbG9jYWwtaG9zdC1uYW1lcycpCgpkbmwgRW5hYmxlIGZv ciBib3RoIElQdjQgYW5kIElQdjYgKG9wdGlvbmFsKQpEQUVNT05fT1BUSU9OUyhgTmFtZT1JUHY0 LCBGYW1pbHk9aW5ldCcpCkRBRU1PTl9PUFRJT05TKGBOYW1lPUlQdjYsIEZhbWlseT1pbmV0Niwg TW9kaWZpZXJzPU8nKQoKZGVmaW5lKGBjb25mQklORF9PUFRTJywgYFdvcmtBcm91bmRCcm9rZW5B QUFBJykKZGVmaW5lKGBjb25mTk9fUkNQVF9BQ1RJT04nLCBgYWRkLXRvLXVuZGlzY2xvc2VkJykK ZGVmaW5lKGBjb25mUFJJVkFDWV9GTEFHUycsIGBhdXRod2FybmluZ3Msbm9leHBuLG5vdnJmeScp CgpNQUlMRVIobG9jYWwpCk1BSUxFUihzbXRwKQo= ------=ZEOSMAIL_BOUND_0.489048333912255 Content-Type: text/plain; charset=cp866; name="sendmail.cf" Content-Transfer-Encoding: base64 IwojIENvcHlyaWdodCAoYykgMTk5OC0yMDA0IFNlbmRtYWlsLCBJbmMuIGFuZCBpdHMgc3VwcGxp ZXJzLgojCUFsbCByaWdodHMgcmVzZXJ2ZWQuCiMgQ29weXJpZ2h0IChjKSAxOTgzLCAxOTk1IEVy aWMgUC4gQWxsbWFuLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIyBDb3B5cmlnaHQgKGMpIDE5ODgs IDE5OTMKIwlUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxs IHJpZ2h0cyByZXNlcnZlZC4KIwojIEJ5IHVzaW5nIHRoaXMgZmlsZSwgeW91IGFncmVlIHRvIHRo ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBzZXQKIyBmb3J0aCBpbiB0aGUgTElDRU5TRSBmaWxlIHdo aWNoIGNhbiBiZSBmb3VuZCBhdCB0aGUgdG9wIGxldmVsIG9mCiMgdGhlIHNlbmRtYWlsIGRpc3Ry aWJ1dGlvbi4KIwojICRGcmVlQlNEOiBzcmMvY29udHJpYi9zZW5kbWFpbC9jZi9tNC9jZmhlYWQu bTQsdiAxLjE3IDIwMDQvMDgvMDEgMDE6MTY6MTQgZ3NoYXBpcm8gRXhwICQKIwoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjCiMjIyMjCQlTRU5ETUFJTCBDT05GSUdVUkFUSU9OIEZJ TEUKIyMjIyMKIyMjIyMgYnVpbHQgYnkgcm9vdEBsb2NhbGhvc3Qgb24gTW9uIEp1biA1IDA3OjQw OjA5IEVFU1QgMjAwNgojIyMjIyBpbiAvZXRjL21haWwKIyMjIyMgdXNpbmcgL3Vzci9zaGFyZS9z ZW5kbWFpbC9jZi8gYXMgY29uZmlndXJhdGlvbiBpbmNsdWRlIGRpcmVjdG9yeQojIyMjIwojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMjIyMjCiMjIyMjCURPIE5PVCBFRElUIFRISVMgRklMRSEgIE9ubHkgZWRpdCB0 aGUgc291cmNlIC5tYyBmaWxlLgojIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMj IyMjICAkSWQ6IGNmaGVhZC5tNCx2IDguMTE2IDIwMDQvMDEvMjggMjI6MDI6MjIgY2EgRXhwICQg ICMjIyMjCiMjIyMjICAkSWQ6IGNmLm00LHYgOC4zMiAxOTk5LzAyLzA3IDA3OjI2OjE0IGdzaGFw aXJvIEV4cCAkICAjIyMjIwojIGxvY2FsaG9zdC5tYwojCiMgRWxpc2VqIEJhYmVua28KCiMjIyMj ICAkRnJlZUJTRDogc3JjL2V0Yy9zZW5kbWFpbC9mcmVlYnNkLm1jLHYgMS4zMC42LjEgMjAwNi8w NC8xMyAwNDowMDoyMyBnc2hhcGlybyBFeHAgJCAgIyMjIyMKCiMjIyMjICAkSWQ6IGZyZWVic2Q2 Lm00LHYgMS4xIDIwMDUvMDYvMTQgMDI6MTY6MzUgZ3NoYXBpcm8gRXhwICQgICMjIyMjCgoKIyMj IyMgICRJZDogZ2VuZXJpYy5tNCx2IDguMTUgMTk5OS8wNC8wNCAwMDo1MTowOSBjYSBFeHAgJCAg IyMjIyMKCiMjIyMjICAkSWQ6IHJlZGlyZWN0Lm00LHYgOC4xNSAxOTk5LzA4LzA2IDAxOjQ3OjM2 IGdzaGFwaXJvIEV4cCAkICAjIyMjIwoKIyMjIyMgICRJZDogdXNlX2N3X2ZpbGUubTQsdiA4LjEx IDIwMDEvMDgvMjYgMjA6NTg6NTcgZ3NoYXBpcm8gRXhwICQgICMjIyMjCgoKCgojIyMjIyAgJElk OiBhY2Nlc3NfZGIubTQsdiA4LjI2IDIwMDQvMDYvMjQgMTg6MTA6MDIgY2EgRXhwICQgICMjIyMj CgoKIyMjIyMgICRJZDogYmxhY2tsaXN0X3JlY2lwaWVudHMubTQsdiA4LjEzIDE5OTkvMDQvMDIg MDI6MjU6MTMgZ3NoYXBpcm8gRXhwICQgICMjIyMjCgoKIyMjIyMgICRJZDogbG9jYWxfbG10cC5t NCx2IDguMTcgMjAwMi8xMS8xNyAwNDo0MTowNCBjYSBFeHAgJCAgIyMjIyMKCgojIyMjIyAgJElk OiBtYWlsZXJ0YWJsZS5tNCx2IDguMjUgMjAwMi8wNi8yNyAyMzoyMzo1NyBnc2hhcGlybyBFeHAg JCAgIyMjIyMKCgojIyMjIyAgJElkOiB2aXJ0dXNlcnRhYmxlLm00LHYgOC4yMyAyMDAyLzA2LzI3 IDIzOjIzOjU3IGdzaGFwaXJvIEV4cCAkICAjIyMjIwoKCiMjIyMjICAkSWQ6IGF1dGhpbmZvLm00 LHYgMS45IDIwMDIvMDYvMjcgMjM6MjM6NTcgZ3NoYXBpcm8gRXhwICQgICMjIyMjCgoKCgoKCgoK CgoKCgoKCgoKIyMjIyMgICRJZDogcHJvdG8ubTQsdiA4LjcxOCAyMDA1LzA4LzI0IDE4OjA3OjIz IGNhIEV4cCAkICAjIyMjIwoKIyBsZXZlbCAxMCBjb25maWcgZmlsZSBmb3JtYXQKVjEwL0Jlcmtl bGV5CgojIG92ZXJyaWRlIGZpbGUgc2FmZXRpZXMgLSBzZXR0aW5nIHRoaXMgb3B0aW9uIGNvbXBy b21pc2VzIHN5c3RlbSBzZWN1cml0eSwKIyBhZGRyZXNzaW5nIHRoZSBhY3R1YWwgZmlsZSBjb25m aWd1cmF0aW9uIHByb2JsZW0gaXMgcHJlZmVycmVkCiMgbmVlZCB0byBzZXQgdGhpcyBiZWZvcmUg YW55IGZpbGUgYWN0aW9ucyBhcmUgZW5jb3VudGVyZWQgaW4gdGhlIGNmIGZpbGUKI08gRG9udEJs YW1lU2VuZG1haWw9c2FmZQoKIyBkZWZhdWx0IExEQVAgbWFwIHNwZWNpZmljYXRpb24KIyBuZWVk IHRvIHNldCB0aGlzIG5vdyBiZWZvcmUgYW55IExEQVAgbWFwcyBhcmUgZGVmaW5lZAojTyBMREFQ RGVmYXVsdFNwZWM9LWggbG9jYWxob3N0CgojIyMjIyMjIyMjIyMjIyMjIyMKIyAgIGxvY2FsIGlu Zm8gICAjCiMjIyMjIyMjIyMjIyMjIyMjIwoKIyBteSBMREFQIGNsdXN0ZXIKIyBuZWVkIHRvIHNl dCB0aGlzIGJlZm9yZSBhbnkgTERBUCBsb29rdXBzIGFyZSBkb25lIChpbmNsdWRpbmcgY2xhc3Nl cykKI0R7c2VuZG1haWxNVEFDbHVzdGVyfSRtCgpDd2xvY2FsaG9zdAojIGZpbGUgY29udGFpbmlu ZyBuYW1lcyBvZiBob3N0cyBmb3Igd2hpY2ggd2UgcmVjZWl2ZSBlbWFpbApGdy1vIC9ldGMvbWFp bC9sb2NhbC1ob3N0LW5hbWVzCgojIG15IG9mZmljaWFsIGRvbWFpbiBuYW1lCiMgLi4uIGRlZmlu ZSB0aGlzIG9ubHkgaWYgc2VuZG1haWwgY2Fubm90IGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHlv dXIgZG9tYWluCiNEaiR3LkZvby5DT00KCiMgaG9zdC9kb21haW4gbmFtZXMgZW5kaW5nIHdpdGgg YSB0b2tlbiBpbiBjbGFzcyBQIGFyZSBjYW5vbmljYWwKQ1AuCgojICJTbWFydCIgcmVsYXkgaG9z dCAobWF5IGJlIG51bGwpCkRTbWFpbC51a3Jwb3N0LnVhCgoKIyBvcGVyYXRvcnMgdGhhdCBjYW5u b3QgYmUgaW4gbG9jYWwgdXNlcm5hbWVzIChpLmUuLCBuZXR3b3JrIGluZGljYXRvcnMpCkNPIEAg JSAhCgojIGEgY2xhc3Mgd2l0aCBqdXN0IGRvdCAoZm9yIGlkZW50aWZ5aW5nIGNhbm9uaWNhbCBu YW1lcykKQy4uCgojIGEgY2xhc3Mgd2l0aCBqdXN0IGEgbGVmdCBicmFja2V0IChmb3IgaWRlbnRp ZnlpbmcgZG9tYWluIGxpdGVyYWxzKQpDW1sKCiMgYWNjZXNzX2RiIGFjY2VwdGFuY2UgY2xhc3MK Q3tBY2NlcHR9T0sgUkVMQVkKCgojIFJlc29sdmUgbWFwICh0byBjaGVjayBpZiBhIGhvc3QgZXhp c3RzIGluIGNoZWNrX21haWwpCktyZXNvbHZlIGhvc3QgLWE8T0tSPiAtVDxURU1QPgpDe1Jlc09r fU9LUgoKCiMgSG9zdHMgZm9yIHdoaWNoIHJlbGF5aW5nIGlzIHBlcm1pdHRlZCAoJD1SKQpGUi1v IC9ldGMvbWFpbC9yZWxheS1kb21haW5zCgojIGFyaXRobWV0aWMgbWFwCkthcml0aCBhcml0aAoj IG1hY3JvIHN0b3JhZ2UgbWFwCkttYWNybyBtYWNybwojIHBvc3NpYmxlIHZhbHVlcyBmb3IgVExT X2Nvbm5lY3Rpb24gaW4gYWNjZXNzIG1hcApDe1Rsc31WRVJJRlkgRU5DUgoKCgoKCiMgZGVxdW90 aW5nIG1hcApLZGVxdW90ZSBkZXF1b3RlCgojIGNsYXNzIEU6IG5hbWVzIHRoYXQgc2hvdWxkIGJl IGV4cG9zZWQgYXMgZnJvbSB0aGlzIGhvc3QsIGV2ZW4gaWYgd2UgbWFzcXVlcmFkZQojIGNsYXNz IEw6IG5hbWVzIHRoYXQgc2hvdWxkIGJlIGRlbGl2ZXJlZCBsb2NhbGx5LCBldmVuIGlmIHdlIGhh dmUgYSByZWxheQojIGNsYXNzIE06IGRvbWFpbnMgdGhhdCBzaG91bGQgYmUgY29udmVydGVkIHRv ICRNCiMgY2xhc3MgTjogZG9tYWlucyB0aGF0IHNob3VsZCBub3QgYmUgY29udmVydGVkIHRvICRN CiNDTCByb290CkN7RX1yb290CgoKCiMgbXkgbmFtZSBmb3IgZXJyb3IgbWVzc2FnZXMKRG5NQUlM RVItREFFTU9OCgoKQ1BSRURJUkVDVAoKIyBBY2Nlc3MgbGlzdCBkYXRhYmFzZSAoZm9yIHNwYW0g c3RvbXBpbmcpCkthY2Nlc3MgaGFzaCAtbyAtVDxUTVBGPiAvZXRjL21haWwvYWNjZXNzCgojIE1h aWxlciB0YWJsZSAob3ZlcnJpZGluZyBkb21haW5zKQpLbWFpbGVydGFibGUgaGFzaCAtbyAvZXRj L21haWwvbWFpbGVydGFibGUKCiMgVmlydHVhbCB1c2VyIHRhYmxlIChtYXBzIGluY29taW5nIHVz ZXJzKQpLdmlydHVzZXIgaGFzaCAtbyAvZXRjL21haWwvdmlydHVzZXJ0YWJsZQoKIyBhdXRoaW5m byBsaXN0IGRhdGFiYXNlOiBjb250YWlucyBpbmZvIGZvciBhdXRoZW50aWNhdGlvbiBhcyBjbGll bnQKS2F1dGhpbmZvIGhhc2ggL2V0Yy9tYWlsL2F1dGhpbmZvCgojIENvbmZpZ3VyYXRpb24gdmVy c2lvbiBudW1iZXIKRFo4LjEzLjYKCgojIyMjIyMjIyMjIyMjIyMKIyAgIE9wdGlvbnMgICAjCiMj IyMjIyMjIyMjIyMjIwoKIyBzdHJpcCBtZXNzYWdlIGJvZHkgdG8gNyBiaXRzIG9uIGlucHV0PwpP IFNldmVuQml0SW5wdXQ9RmFsc2UKCiMgOC1iaXQgZGF0YSBoYW5kbGluZwojTyBFaWdodEJpdE1v ZGU9cGFzczgKCiMgd2FpdCBmb3IgYWxpYXMgZmlsZSByZWJ1aWxkIChkZWZhdWx0IHVuaXRzOiBt aW51dGVzKQpPIEFsaWFzV2FpdD0xMAoKIyBsb2NhdGlvbiBvZiBhbGlhcyBmaWxlCk8gQWxpYXNG aWxlPS9ldGMvbWFpbC9hbGlhc2VzCgojIG1pbmltdW0gbnVtYmVyIG9mIGZyZWUgYmxvY2tzIG9u IGZpbGVzeXN0ZW0KTyBNaW5GcmVlQmxvY2tzPTEwMAoKIyBtYXhpbXVtIG1lc3NhZ2Ugc2l6ZQoj TyBNYXhNZXNzYWdlU2l6ZT0wCgojIHN1YnN0aXR1dGlvbiBmb3Igc3BhY2UgKGJsYW5rKSBjaGFy YWN0ZXJzCk8gQmxhbmtTdWI9LgoKIyBhdm9pZCBjb25uZWN0aW5nIHRvICJleHBlbnNpdmUiIG1h aWxlcnMgb24gaW5pdGlhbCBzdWJtaXNzaW9uPwpPIEhvbGRFeHBlbnNpdmU9RmFsc2UKCiMgY2hl Y2twb2ludCBxdWV1ZSBydW5zIGFmdGVyIGV2ZXJ5IE4gc3VjY2Vzc2Z1bCBkZWxpdmVyaWVzCiNP IENoZWNrcG9pbnRJbnRlcnZhbD0xMAoKIyBkZWZhdWx0IGRlbGl2ZXJ5IG1vZGUKTyBEZWxpdmVy eU1vZGU9YmFja2dyb3VuZAoKIyBlcnJvciBtZXNzYWdlIGhlYWRlci9maWxlCiNPIEVycm9ySGVh ZGVyPS9ldGMvbWFpbC9lcnJvci1oZWFkZXIKCiMgZXJyb3IgbW9kZQojTyBFcnJvck1vZGU9cHJp bnQKCiMgc2F2ZSBVbml4LXN0eWxlICJGcm9tXyIgbGluZXMgYXQgdG9wIG9mIGhlYWRlcj8KI08g U2F2ZUZyb21MaW5lPUZhbHNlCgojIHF1ZXVlIGZpbGUgbW9kZSAocWYgZmlsZXMpCiNPIFF1ZXVl RmlsZU1vZGU9MDYwMAoKIyB0ZW1wb3JhcnkgZmlsZSBtb2RlCk8gVGVtcEZpbGVNb2RlPTA2MDAK CiMgbWF0Y2ggcmVjaXBpZW50cyBhZ2FpbnN0IEdFQ09TIGZpZWxkPwojTyBNYXRjaEdFQ09TPUZh bHNlCgojIG1heGltdW0gaG9wIGNvdW50CiNPIE1heEhvcENvdW50PTI1CgojIGxvY2F0aW9uIG9m IGhlbHAgZmlsZQpPIEhlbHBGaWxlPS9ldGMvbWFpbC9oZWxwZmlsZQoKIyBpZ25vcmUgZG90cyBh cyB0ZXJtaW5hdG9ycyBpbiBpbmNvbWluZyBtZXNzYWdlcz8KI08gSWdub3JlRG90cz1GYWxzZQoK IyBuYW1lIHJlc29sdmVyIG9wdGlvbnMKTyBSZXNvbHZlck9wdGlvbnM9V29ya0Fyb3VuZEJyb2tl bkFBQUEKCiMgZGVsaXZlciBNSU1FLWVuY2Fwc3VsYXRlZCBlcnJvciBtZXNzYWdlcz8KTyBTZW5k TWltZUVycm9ycz1UcnVlCgojIEZvcndhcmQgZmlsZSBzZWFyY2ggcGF0aApPIEZvcndhcmRQYXRo PSR6Ly5mb3J3YXJkLiR3KyRoOiR6Ly5mb3J3YXJkKyRoOiR6Ly5mb3J3YXJkLiR3OiR6Ly5mb3J3 YXJkCgojIG9wZW4gY29ubmVjdGlvbiBjYWNoZSBzaXplCk8gQ29ubmVjdGlvbkNhY2hlU2l6ZT0y CgojIG9wZW4gY29ubmVjdGlvbiBjYWNoZSB0aW1lb3V0Ck8gQ29ubmVjdGlvbkNhY2hlVGltZW91 dD01bQoKIyBwZXJzaXN0ZW50IGhvc3Qgc3RhdHVzIGRpcmVjdG9yeQojTyBIb3N0U3RhdHVzRGly ZWN0b3J5PS5ob3N0c3RhdAoKIyBzaW5nbGUgdGhyZWFkIGRlbGl2ZXJpZXMgKHJlcXVpcmVzIEhv c3RTdGF0dXNEaXJlY3RvcnkpPwojTyBTaW5nbGVUaHJlYWREZWxpdmVyeT1GYWxzZQoKIyB1c2Ug RXJyb3JzLVRvOiBoZWFkZXI/Ck8gVXNlRXJyb3JzVG89RmFsc2UKCiMgbG9nIGxldmVsCk8gTG9n TGV2ZWw9OQoKIyBzZW5kIHRvIG1lIHRvbywgZXZlbiBpbiBhbiBhbGlhcyBleHBhbnNpb24/CiNP IE1lVG9vPVRydWUKCiMgdmVyaWZ5IFJIUyBpbiBuZXdhbGlhc2VzPwpPIENoZWNrQWxpYXNlcz1G YWxzZQoKIyBkZWZhdWx0IG1lc3NhZ2VzIHRvIG9sZCBzdHlsZSBoZWFkZXJzIGlmIG5vIHNwZWNp YWwgcHVuY3R1YXRpb24/Ck8gT2xkU3R5bGVIZWFkZXJzPVRydWUKCiMgU01UUCBkYWVtb24gb3B0 aW9ucwoKTyBEYWVtb25Qb3J0T3B0aW9ucz1OYW1lPUlQdjQsIEZhbWlseT1pbmV0Ck8gRGFlbW9u UG9ydE9wdGlvbnM9TmFtZT1JUHY2LCBGYW1pbHk9aW5ldDYsIE1vZGlmaWVycz1PCk8gRGFlbW9u UG9ydE9wdGlvbnM9UG9ydD01ODcsIE5hbWU9TVNBLCBNPUUKCiMgU01UUCBjbGllbnQgb3B0aW9u cwojTyBDbGllbnRQb3J0T3B0aW9ucz1GYW1pbHk9aW5ldCwgQWRkcmVzcz0wLjAuMC4wCgojIE1v ZGlmaWVycyB0byBkZWZpbmUge2RhZW1vbl9mbGFnc30gZm9yIGRpcmVjdCBzdWJtaXNzaW9ucwoj TyBEaXJlY3RTdWJtaXNzaW9uTW9kaWZpZXJzCgojIFVzZSBhcyBtYWlsIHN1Ym1pc3Npb24gcHJv Z3JhbT8gU2VlIHNlbmRtYWlsL1NFQ1VSSVRZCiNPIFVzZU1TUAoKIyBwcml2YWN5IGZsYWdzCk8g UHJpdmFjeU9wdGlvbnM9YXV0aHdhcm5pbmdzLG5vZXhwbixub3ZyZnkKCiMgd2hvIChpZiBhbnlv bmUpIHNob3VsZCBnZXQgZXh0cmEgY29waWVzIG9mIGVycm9yIG1lc3NhZ2VzCiNPIFBvc3RtYXN0 ZXJDb3B5PVBvc3RtYXN0ZXIKCiMgc2xvcGUgb2YgcXVldWUtb25seSBmdW5jdGlvbgojTyBRdWV1 ZUZhY3Rvcj02MDAwMDAKCiMgbGltaXQgb24gbnVtYmVyIG9mIGNvbmN1cnJlbnQgcXVldWUgcnVu bmVycwojTyBNYXhRdWV1ZUNoaWxkcmVuCgojIG1heGltdW0gbnVtYmVyIG9mIHF1ZXVlLXJ1bm5l cnMgcGVyIHF1ZXVlLWdyb3VwaW5nIHdpdGggbXVsdGlwbGUgcXVldWVzCiNPIE1heFJ1bm5lcnNQ ZXJRdWV1ZT0xCgojIHByaW9yaXR5IG9mIHF1ZXVlIHJ1bm5lcnMgKG5pY2UoMykpCiNPIE5pY2VR dWV1ZVJ1bgoKIyBzaGFsbCB3ZSBzb3J0IHRoZSBxdWV1ZSBieSBob3N0bmFtZSBmaXJzdD8KI08g UXVldWVTb3J0T3JkZXI9cHJpb3JpdHkKCiMgbWluaW11bSB0aW1lIGluIHF1ZXVlIGJlZm9yZSBy ZXRyeQojTyBNaW5RdWV1ZUFnZT0zMG0KCiMgaG93IG1hbnkgam9icyBjYW4geW91IHByb2Nlc3Mg aW4gdGhlIHF1ZXVlPwojTyBNYXhRdWV1ZVJ1blNpemU9MAoKIyBwZXJmb3JtIGluaXRpYWwgc3Bs aXQgb2YgZW52ZWxvcGUgd2l0aG91dCBjaGVja2luZyBNWCByZWNvcmRzCiNPIEZhc3RTcGxpdD0x CgojIHF1ZXVlIGRpcmVjdG9yeQpPIFF1ZXVlRGlyZWN0b3J5PS92YXIvc3Bvb2wvbXF1ZXVlCgoj IGtleSBmb3Igc2hhcmVkIG1lbW9yeTsgMCB0byB0dXJuIG9mZgojTyBTaGFyZWRNZW1vcnlLZXk9 MAoKCgojIHRpbWVvdXRzIChtYW55IG9mIHRoZXNlKQojTyBUaW1lb3V0LmluaXRpYWw9NW0KI08g VGltZW91dC5jb25uZWN0PTVtCiNPIFRpbWVvdXQuYWNvbm5lY3Q9MHMKI08gVGltZW91dC5pY29u bmVjdD01bQojTyBUaW1lb3V0LmhlbG89NW0KI08gVGltZW91dC5tYWlsPTEwbQojTyBUaW1lb3V0 LnJjcHQ9MWgKI08gVGltZW91dC5kYXRhaW5pdD01bQojTyBUaW1lb3V0LmRhdGFibG9jaz0xaAoj TyBUaW1lb3V0LmRhdGFmaW5hbD0xaAojTyBUaW1lb3V0LnJzZXQ9NW0KI08gVGltZW91dC5xdWl0 PTJtCiNPIFRpbWVvdXQubWlzYz0ybQojTyBUaW1lb3V0LmNvbW1hbmQ9MWgKI08gVGltZW91dC5p ZGVudD01cwojTyBUaW1lb3V0LmZpbGVvcGVuPTYwcwojTyBUaW1lb3V0LmNvbnRyb2w9Mm0KTyBU aW1lb3V0LnF1ZXVlcmV0dXJuPTVkCiNPIFRpbWVvdXQucXVldWVyZXR1cm4ubm9ybWFsPTVkCiNP IFRpbWVvdXQucXVldWVyZXR1cm4udXJnZW50PTJkCiNPIFRpbWVvdXQucXVldWVyZXR1cm4ubm9u LXVyZ2VudD03ZAojTyBUaW1lb3V0LnF1ZXVlcmV0dXJuLmRzbj01ZApPIFRpbWVvdXQucXVldWV3 YXJuPTRoCiNPIFRpbWVvdXQucXVldWV3YXJuLm5vcm1hbD00aAojTyBUaW1lb3V0LnF1ZXVld2Fy bi51cmdlbnQ9MWgKI08gVGltZW91dC5xdWV1ZXdhcm4ubm9uLXVyZ2VudD0xMmgKI08gVGltZW91 dC5xdWV1ZXdhcm4uZHNuPTRoCiNPIFRpbWVvdXQuaG9zdHN0YXR1cz0zMG0KI08gVGltZW91dC5y ZXNvbHZlci5yZXRyYW5zPTVzCiNPIFRpbWVvdXQucmVzb2x2ZXIucmV0cmFucy5maXJzdD01cwoj TyBUaW1lb3V0LnJlc29sdmVyLnJldHJhbnMubm9ybWFsPTVzCiNPIFRpbWVvdXQucmVzb2x2ZXIu cmV0cnk9NAojTyBUaW1lb3V0LnJlc29sdmVyLnJldHJ5LmZpcnN0PTQKI08gVGltZW91dC5yZXNv bHZlci5yZXRyeS5ub3JtYWw9NAojTyBUaW1lb3V0LmxobG89Mm0KI08gVGltZW91dC5hdXRoPTEw bQojTyBUaW1lb3V0LnN0YXJ0dGxzPTFoCgojIHRpbWUgZm9yIERlbGl2ZXJCeTsgZXh0ZW5zaW9u IGRpc2FibGVkIGlmIGxlc3MgdGhhbiAwCiNPIERlbGl2ZXJCeU1pbj0wCgojIHNob3VsZCB3ZSBu b3QgcHJ1bmUgcm91dGVzIGluIHJvdXRlLWFkZHIgc3ludGF4IGFkZHJlc3Nlcz8KI08gRG9udFBy dW5lUm91dGVzPUZhbHNlCgojIHF1ZXVlIHVwIGV2ZXJ5dGhpbmcgYmVmb3JlIGZvcmtpbmc/Ck8g U3VwZXJTYWZlPVRydWUKCiMgc3RhdHVzIGZpbGUKTyBTdGF0dXNGaWxlPS92YXIvbG9nL3NlbmRt YWlsLnN0CgojIHRpbWUgem9uZSBoYW5kbGluZzoKIyAgaWYgdW5kZWZpbmVkLCB1c2Ugc3lzdGVt IGRlZmF1bHQKIyAgaWYgZGVmaW5lZCBidXQgbnVsbCwgdXNlIFRaIGVudmFyaWFibGUgcGFzc2Vk IGluCiMgIGlmIGRlZmluZWQgYW5kIG5vbi1udWxsLCB1c2UgdGhhdCBpbmZvCiNPIFRpbWVab25l U3BlYz0KCiMgZGVmYXVsdCBVSUQgKGNhbiBiZSB1c2VybmFtZSBvciB1c2VyaWQ6Z3JvdXBpZCkK I08gRGVmYXVsdFVzZXI9bWFpbG51bGwKCiMgbGlzdCBvZiBsb2NhdGlvbnMgb2YgdXNlciBkYXRh YmFzZSBmaWxlIChudWxsIG1lYW5zIG5vIGxvb2t1cCkKI08gVXNlckRhdGFiYXNlU3BlYz0vZXRj L21haWwvdXNlcmRiCgojIGZhbGxiYWNrIE1YIGhvc3QKI08gRmFsbGJhY2tNWGhvc3Q9ZmFsbC5i YWNrLmhvc3QubmV0CgojIGZhbGxiYWNrIHNtYXJ0IGhvc3QKI08gRmFsbGJhY2tTbWFydEhvc3Q9 ZmFsbC5iYWNrLmhvc3QubmV0CgojIGlmIHdlIGFyZSB0aGUgYmVzdCBNWCBob3N0IGZvciBhIHNp dGUsIHRyeSBpdCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvbmZpZyBlcnIKI08gVHJ5TnVsbE1YTGlz dD1GYWxzZQoKIyBsb2FkIGF2ZXJhZ2UgYXQgd2hpY2ggd2UganVzdCBxdWV1ZSBtZXNzYWdlcwoj TyBRdWV1ZUxBPTgKCiMgbG9hZCBhdmVyYWdlIGF0IHdoaWNoIHdlIHJlZnVzZSBjb25uZWN0aW9u cwojTyBSZWZ1c2VMQT0xMgoKIyBsb2cgaW50ZXJ2YWwgd2hlbiByZWZ1c2luZyBjb25uZWN0aW9u cyBmb3IgdGhpcyBsb25nCiNPIFJlamVjdExvZ0ludGVydmFsPTNoCgojIGxvYWQgYXZlcmFnZSBh dCB3aGljaCB3ZSBkZWxheSBjb25uZWN0aW9uczsgMCBtZWFucyBubyBsaW1pdAojTyBEZWxheUxB PTAKCiMgbWF4aW11bSBudW1iZXIgb2YgY2hpbGRyZW4gd2UgYWxsb3cgYXQgb25lIHRpbWUKI08g TWF4RGFlbW9uQ2hpbGRyZW49MAoKIyBtYXhpbXVtIG51bWJlciBvZiBuZXcgY29ubmVjdGlvbnMg cGVyIHNlY29uZAojTyBDb25uZWN0aW9uUmF0ZVRocm90dGxlPTAKCiMgV2lkdGggb2YgdGhlIHdp bmRvdyAKI08gQ29ubmVjdGlvblJhdGVXaW5kb3dTaXplPTYwcwoKIyB3b3JrIHJlY2lwaWVudCBm YWN0b3IKI08gUmVjaXBpZW50RmFjdG9yPTMwMDAwCgojIGRlbGl2ZXIgZWFjaCBxdWV1ZWQgam9i IGluIGEgc2VwYXJhdGUgcHJvY2Vzcz8KI08gRm9ya0VhY2hKb2I9RmFsc2UKCiMgd29yayBjbGFz cyBmYWN0b3IKI08gQ2xhc3NGYWN0b3I9MTgwMAoKIyB3b3JrIHRpbWUgZmFjdG9yCiNPIFJldHJ5 RmFjdG9yPTkwMDAwCgojIGRlZmF1bHQgY2hhcmFjdGVyIHNldAojTyBEZWZhdWx0Q2hhclNldD11 bmtub3duLThiaXQKCiMgc2VydmljZSBzd2l0Y2ggZmlsZSAobmFtZSBoYXJkd2lyZWQgb24gU29s YXJpcywgVWx0cml4LCBPU0YvMSwgb3RoZXJzKQojTyBTZXJ2aWNlU3dpdGNoRmlsZT0vZXRjL21h aWwvc2VydmljZS5zd2l0Y2gKCiMgaG9zdHMgZmlsZSAobm9ybWFsbHkgL2V0Yy9ob3N0cykKI08g SG9zdHNGaWxlPS9ldGMvaG9zdHMKCiMgZGlhbHVwIGxpbmUgZGVsYXkgb24gY29ubmVjdGlvbiBm YWlsdXJlCiNPIERpYWxEZWxheT0wcwoKIyBhY3Rpb24gdG8gdGFrZSBpZiB0aGVyZSBhcmUgbm8g cmVjaXBpZW50cyBpbiB0aGUgbWVzc2FnZQpPIE5vUmVjaXBpZW50QWN0aW9uPWFkZC10by11bmRp c2Nsb3NlZAoKIyBjaHJvb3RlZCBlbnZpcm9ubWVudCBmb3Igd3JpdGluZyB0byBmaWxlcwojTyBT YWZlRmlsZUVudmlyb25tZW50CgojIGFyZSBjb2xvbnMgT0sgaW4gYWRkcmVzc2VzPwojTyBDb2xv bk9rSW5BZGRyPVRydWUKCiMgc2hhbGwgSSBhdm9pZCBleHBhbmRpbmcgQ05BTUVzICh2aW9sYXRl cyBwcm90b2NvbHMpPwojTyBEb250RXhwYW5kQ25hbWVzPUZhbHNlCgojIFNNVFAgaW5pdGlhbCBs b2dpbiBtZXNzYWdlIChvbGQgJGUgbWFjcm8pCk8gU210cEdyZWV0aW5nTWVzc2FnZT0kaiBTZW5k bWFpbCAkdi8kWjsgJGIKCiMgVU5JWCBpbml0aWFsIEZyb20gaGVhZGVyIGZvcm1hdCAob2xkICRs IG1hY3JvKQpPIFVuaXhGcm9tTGluZT1Gcm9tICRnICRkCgojIEZyb206IGxpbmVzIHRoYXQgaGF2 ZSBlbWJlZGRlZCBuZXdsaW5lcyBhcmUgdW53cmFwcGVkIG9udG8gb25lIGxpbmUKI08gU2luZ2xl TGluZUZyb21IZWFkZXI9RmFsc2UKCiMgQWxsb3cgSEVMTyBTTVRQIGNvbW1hbmQgdGhhdCBkb2Vz IG5vdCBpbmNsdWRlIGEgaG9zdCBuYW1lCiNPIEFsbG93Qm9ndXNIRUxPPUZhbHNlCgojIENoYXJh Y3RlcnMgdG8gYmUgcXVvdGVkIGluIGEgZnVsbCBuYW1lIHBocmFzZSAoQCw7OlwoKVtdIGFyZSBh dXRvbWF0aWMpCiNPIE11c3RRdW90ZUNoYXJzPS4KCiMgZGVsaW1pdGVyIChvcGVyYXRvcikgY2hh cmFjdGVycyAob2xkICRvIG1hY3JvKQpPIE9wZXJhdG9yQ2hhcnM9LjolQCFeL1tdKwoKIyBzaGFs bCBJIGF2b2lkIGNhbGxpbmcgaW5pdGdyb3VwcygzKSBiZWNhdXNlIG9mIGhpZ2ggTklTIGNvc3Rz PwojTyBEb250SW5pdEdyb3Vwcz1GYWxzZQoKIyBhcmUgZ3JvdXAtd3JpdGFibGUgOmluY2x1ZGU6 IGFuZCAuZm9yd2FyZCBmaWxlcyAodW4pdHJ1c3R3b3J0aHk/CiMgVHJ1ZSAodGhlIGRlZmF1bHQp IG1lYW5zIHRoZXkgYXJlIG5vdCB0cnVzdHdvcnRoeS4KI08gVW5zYWZlR3JvdXBXcml0ZXM9VHJ1 ZQoKCiMgd2hlcmUgZG8gZXJyb3JzIHRoYXQgb2NjdXIgd2hlbiBzZW5kaW5nIGVycm9ycyBnZXQg c2VudD8KI08gRG91YmxlQm91bmNlQWRkcmVzcz1wb3N0bWFzdGVyCgojIHdoZXJlIHRvIHNhdmUg Ym91bmNlcyBpZiBhbGwgZWxzZSBmYWlscwojTyBEZWFkTGV0dGVyRHJvcD0vdmFyL3RtcC9kZWFk LmxldHRlcgoKIyB3aGF0IHVzZXIgaWQgZG8gd2UgYXNzdW1lIGZvciB0aGUgbWFqb3JpdHkgb2Yg dGhlIHByb2Nlc3Npbmc/CiNPIFJ1bkFzVXNlcj1zZW5kbWFpbAoKIyBtYXhpbXVtIG51bWJlciBv ZiByZWNpcGllbnRzIHBlciBTTVRQIGVudmVsb3BlCiNPIE1heFJlY2lwaWVudHNQZXJNZXNzYWdl PTAKCiMgbGltaXQgdGhlIHJhdGUgcmVjaXBpZW50cyBwZXIgU01UUCBlbnZlbG9wZSBhcmUgYWNj ZXB0ZWQKIyBvbmNlIHRoZSB0aHJlc2hvbGQgbnVtYmVyIG9mIHJlY2lwaWVudHMgaGF2ZSBiZWVu IHJlamVjdGVkCiNPIEJhZFJjcHRUaHJvdHRsZT0wCgojIHNoYWxsIHdlIGdldCBsb2NhbCBuYW1l cyBmcm9tIG91ciBpbnN0YWxsZWQgaW50ZXJmYWNlcz8KI08gRG9udFByb2JlSW50ZXJmYWNlcz1G YWxzZQoKIyBSZXR1cm4tUmVjZWlwdC1UbzogaGVhZGVyIGltcGxpZXMgRFNOIHJlcXVlc3QKI08g UnJ0SW1wbGllc0Rzbj1GYWxzZQoKIyBvdmVycmlkZSBjb25uZWN0aW9uIGFkZHJlc3MgKGZvciB0 ZXN0aW5nKQojTyBDb25uZWN0T25seVRvPTAuMC4wLjAKCiMgVHJ1c3RlZCB1c2VyIGZvciBmaWxl IG93bmVyc2hpcCBhbmQgc3RhcnRpbmcgdGhlIGRhZW1vbgojTyBUcnVzdGVkVXNlcj1yb290Cgoj IENvbnRyb2wgc29ja2V0IGZvciBkYWVtb24gbWFuYWdlbWVudAojTyBDb250cm9sU29ja2V0TmFt ZT0vdmFyL3Nwb29sL21xdWV1ZS8uY29udHJvbAoKIyBNYXhpbXVtIE1JTUUgaGVhZGVyIGxlbmd0 aCB0byBwcm90ZWN0IE1VQXMKI08gTWF4TWltZUhlYWRlckxlbmd0aD0wLzAKCiMgTWF4aW11bSBs ZW5ndGggb2YgdGhlIHN1bSBvZiBhbGwgaGVhZGVycwpPIE1heEhlYWRlcnNMZW5ndGg9MzI3NjgK CiMgTWF4aW11bSBkZXB0aCBvZiBhbGlhcyByZWN1cnNpb24KI08gTWF4QWxpYXNSZWN1cnNpb249 MTAKCiMgbG9jYXRpb24gb2YgcGlkIGZpbGUKI08gUGlkRmlsZT0vdmFyL3J1bi9zZW5kbWFpbC5w aWQKCiMgUHJlZml4IHN0cmluZyBmb3IgdGhlIHByb2Nlc3MgdGl0bGUgc2hvd24gb24gJ3BzJyBs aXN0aW5ncwojTyBQcm9jZXNzVGl0bGVQcmVmaXg9cHJlZml4CgojIERhdGEgZmlsZSAoZGYpIG1l bW9yeS1idWZmZXIgZmlsZSBtYXhpbXVtIHNpemUKI08gRGF0YUZpbGVCdWZmZXJTaXplPTQwOTYK CiMgVHJhbnNjcmlwdCBmaWxlICh4ZikgbWVtb3J5LWJ1ZmZlciBmaWxlIG1heGltdW0gc2l6ZQoj TyBYc2NyaXB0RmlsZUJ1ZmZlclNpemU9NDA5NgoKIyBsb29rdXAgdHlwZSB0byBmaW5kIGluZm9y bWF0aW9uIGFib3V0IGxvY2FsIG1haWxib3hlcwojTyBNYWlsYm94RGF0YWJhc2U9cHcKCiMgb3Zl cnJpZGUgY29tcGlsZSB0aW1lIGZsYWcgUkVRVUlSRVNfRElSX0ZTWU5DCiNPIFJlcXVpcmVzRGly ZnN5bmM9dHJ1ZQoKIyBsaXN0IG9mIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbXMKI08gQXV0aE1l Y2hhbmlzbXM9RVhURVJOQUwgR1NTQVBJIEtFUkJFUk9TX1Y0IERJR0VTVC1NRDUgQ1JBTS1NRDUK CiMgQXV0aGVudGljYXRpb24gcmVhbG0KI08gQXV0aFJlYWxtCgojIGRlZmF1bHQgYXV0aGVudGlj YXRpb24gaW5mb3JtYXRpb24gZm9yIG91dGdvaW5nIGNvbm5lY3Rpb25zCiNPIERlZmF1bHRBdXRo SW5mbz0vZXRjL21haWwvZGVmYXVsdC1hdXRoLWluZm8KCiMgU01UUCBBVVRIIGZsYWdzCiNPIEF1 dGhPcHRpb25zCgojIFNNVFAgQVVUSCBtYXhpbXVtIGVuY3J5cHRpb24gc3RyZW5ndGgKI08gQXV0 aE1heEJpdHMKCiMgU01UUCBTVEFSVFRMUyBzZXJ2ZXIgb3B0aW9ucwojTyBUTFNTcnZPcHRpb25z CgojIElucHV0IG1haWwgZmlsdGVycwojTyBJbnB1dE1haWxGaWx0ZXJzCgoKIyBDQSBkaXJlY3Rv cnkKI08gQ0FDZXJ0UGF0aAojIENBIGZpbGUKI08gQ0FDZXJ0RmlsZQojIFNlcnZlciBDZXJ0CiNP IFNlcnZlckNlcnRGaWxlCiMgU2VydmVyIHByaXZhdGUga2V5CiNPIFNlcnZlcktleUZpbGUKIyBD bGllbnQgQ2VydAojTyBDbGllbnRDZXJ0RmlsZQojIENsaWVudCBwcml2YXRlIGtleQojTyBDbGll bnRLZXlGaWxlCiMgRmlsZSBjb250YWluaW5nIGNlcnRpZmljYXRlIHJldm9jYXRpb24gbGlzdHMg CiNPIENSTEZpbGUKIyBESFBhcmFtZXRlcnMgKG9ubHkgcmVxdWlyZWQgaWYgRFNBL0RIIGlzIHVz ZWQpCiNPIERIUGFyYW1ldGVycwojIFJhbmRvbSBkYXRhIHNvdXJjZSAocmVxdWlyZWQgZm9yIHN5 c3RlbXMgd2l0aG91dCAvZGV2L3VyYW5kb20gdW5kZXIgT3BlblNTTCkKI08gUmFuZEZpbGUKCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBRVUVVRSBHUk9VUCBERUZJTklUSU9OUyAgIwoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CiMgICBNZXNzYWdlIHByZWNlZGVuY2VzICAgIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK ClBmaXJzdC1jbGFzcz0wClBzcGVjaWFsLWRlbGl2ZXJ5PTEwMApQbGlzdD0tMzAKUGJ1bGs9LTYw ClBqdW5rPS0xMDAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIwojICAgVHJ1c3RlZCB1c2VycyAgICMK IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIHRoaXMgaXMgZXF1aXZhbGVudCB0byBzZXR0aW5nIGNs YXNzICJ0IgojRnQvZXRjL21haWwvdHJ1c3RlZC11c2VycwpUcm9vdApUZGFlbW9uClR1dWNwCgoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgICBGb3JtYXQgb2YgaGVhZGVycyAgICMKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwoKSD9QP1JldHVybi1QYXRoOiA8JGc+CkhSZWNlaXZlZDogJD9z ZnJvbSAkcyAkLiQ/XygkP3MkfGZyb20gJC4kXykKCSQuJD97YXV0aF90eXBlfShhdXRoZW50aWNh dGVkJD97YXV0aF9zc2Z9IGJpdHM9JHthdXRoX3NzZn0kLikKCSQuYnkgJGogKCR2LyRaKSQ/ciB3 aXRoICRyJC4gaWQgJGkkP3t0bHNfdmVyc2lvbn0KCSh2ZXJzaW9uPSR7dGxzX3ZlcnNpb259IGNp cGhlcj0ke2NpcGhlcn0gYml0cz0ke2NpcGhlcl9iaXRzfSB2ZXJpZnk9JHt2ZXJpZnl9KSQuJD91 Cglmb3IgJHU7ICR8OwoJJC4kYiQ/ZwoJKGVudmVsb3BlLWZyb20gJGcpJC4KSD9EP1Jlc2VudC1E YXRlOiAkYQpIP0Q/RGF0ZTogJGEKSD9GP1Jlc2VudC1Gcm9tOiAkP3gkeCA8JGc+JHwkZyQuCkg/ Rj9Gcm9tOiAkP3gkeCA8JGc+JHwkZyQuCkg/eD9GdWxsLU5hbWU6ICR4CiMgSFBvc3RlZC1EYXRl OiAkYQojIEg/bD9SZWNlaXZlZC1EYXRlOiAkYgpIP00/UmVzZW50LU1lc3NhZ2UtSWQ6IDwkdC4k aUAkaj4KSD9NP01lc3NhZ2UtSWQ6IDwkdC4kaUAkaj4KCiMMCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwojIyMjIwojIyMjIwkJCVJFV1JJVElORyBSVUxFUwojIyMjIwojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMjIyAgUnVsZXNldCAzIC0tIE5hbWUgQ2Fub25pY2FsaXphdGlvbiAgIyMjCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClNjYW5vbmlmeT0zCgojIGhhbmRs ZSBudWxsIGlucHV0ICh0cmFuc2xhdGUgdG8gPEA+IHNwZWNpYWwgY2FzZSkKUiRACQkJJEAgPEA+ CgojIHN0cmlwIGdyb3VwOiBzeW50YXggKG5vdCBpbnNpZGUgYW5nbGUgYnJhY2tldHMhKSBhbmQg dHJhaWxpbmcgc2VtaWNvbG9uClIkKgkJCSQ6ICQxIDxAPgkJCW1hcmsgYWRkcmVzc2VzClIkKiA8 ICQqID4gJCogPEA+CSQ6ICQxIDwgJDIgPiAkMwkJCXVubWFyayA8YWRkcj4KUkAgJCogPEA+CQkk OiBAICQxCQkJCXVubWFyayBAaG9zdDouLi4KUiQqIFsgSVB2NiA6ICQrIF0gPEA+CSQ6ICQxIFsg SVB2NiA6ICQyIF0JCXVubWFyayBJUHY2IGFkZHIKUiQqIDo6ICQqIDxAPgkJJDogJDEgOjogJDIJ CQl1bm1hcmsgbm9kZTo6YWRkcgpSOmluY2x1ZGU6ICQqIDxAPgkkOiA6aW5jbHVkZTogJDEJCQl1 bm1hcmsgOmluY2x1ZGU6Li4uClIkKiA6ICQqIFsgJCogXQkJJDogJDEgOiAkMiBbICQzIF0gPEA+ CQlyZW1hcmsgaWYgbGVhZGluZyBjb2xvbgpSJCogOiAkKiA8QD4JCSQ6ICQyCQkJCXN0cmlwIGNv bG9uIGlmIG1hcmtlZApSJCogPEA+CQkJJDogJDEJCQkJdW5tYXJrClIkKiA7CQkJICAgJDEJCQkJ c3RyaXAgdHJhaWxpbmcgc2VtaQpSJCogPCAkKyA6OyA+ICQqCSRAICQyIDo7IDxAPgkJCWNhdGNo IDxsaXN0Ojs+ClIkKiA8ICQqIDsgPgkJICAgJDEgPCAkMiA+CQkJYm9ndXMgYnJhY2tldGVkIHNl bWkKCiMgbnVsbCBpbnB1dCBub3cgcmVzdWx0cyBmcm9tIGxpc3Q6OyBzeW50YXgKUiRACQkJJEAg OjsgPEA+CgojIHN0cmlwIGFuZ2xlIGJyYWNrZXRzIC0tIG5vdGUgUkZDNzMzIGhldXJpc3RpYyB0 byBnZXQgaW5uZXJtb3N0IGl0ZW0KUiQqCQkJJDogPCAkMSA+CQkJaG91c2VrZWVwaW5nIDw+ClIk KyA8ICQqID4JCSAgIDwgJDIgPgkJCXN0cmlwIGV4Y2VzcyBvbiBsZWZ0ClI8ICQqID4gJCsJCSAg IDwgJDEgPgkJCXN0cmlwIGV4Y2VzcyBvbiByaWdodApSPD4JCQkkQCA8IEAgPgkJCU1BSUwgRlJP TTo8PiBjYXNlClI8ICQrID4JCQkkOiAkMQkJCQlyZW1vdmUgaG91c2VrZWVwaW5nIDw+CgojIHN0 cmlwIHJvdXRlIGFkZHJlc3MgPEBhLEBiLEBjOnVzZXJAZD4gLT4gPHVzZXJAZD4KUkAgJCsgLCAk KwkJJDIKUkAgWyAkKiBdIDogJCsJCSQyClJAICQrIDogJCsJCSQyCgojIGZpbmQgZm9jdXMgZm9y IGxpc3Qgc3ludGF4ClIgJCsgOiAkKiA7IEAgJCsJJEAgJD5DYW5vbmlmeTIgJDEgOiAkMiA7IDwg QCAkMyA+CWxpc3Qgc3ludGF4ClIgJCsgOiAkKiA7CQkkQCAkMSA6ICQyOwkJCWxpc3Qgc3ludGF4 CgojIGZpbmQgZm9jdXMgZm9yIEAgc3ludGF4IGFkZHJlc3NlcwpSJCsgQCAkKwkJJDogJDEgPCBA ICQyID4JCQlmb2N1cyBvbiBkb21haW4KUiQrIDwgJCsgQCAkKyA+CQkkMSAkMiA8IEAgJDMgPgkJ CW1vdmUgZ2F6ZSByaWdodApSJCsgPCBAICQrID4JCSRAICQ+Q2Fub25pZnkyICQxIDwgQCAkMiA+ CWFscmVhZHkgY2Fub25pY2FsCgoKIyBjb252ZXJ0IG9sZC1zdHlsZSBhZGRyZXNzZXMgdG8gYSBk b21haW4tYmFzZWQgYWRkcmVzcwpSJC0gISAkKwkJJEAgJD5DYW5vbmlmeTIgJDIgPCBAICQxIC5V VUNQID4JcmVzb2x2ZSB1dWNwIG5hbWVzClIkKyAuICQtICEgJCsJCSRAICQ+Q2Fub25pZnkyICQz IDwgQCAkMSAuICQyID4JCWRvbWFpbiB1dWNwcwpSJCsgISAkKwkJJEAgJD5DYW5vbmlmeTIgJDIg PCBAICQxIC5VVUNQID4JdXVjcCBzdWJkb21haW5zCgojIGlmIHdlIGhhdmUgJSBzaWducywgdGFr ZSB0aGUgcmlnaHRtb3N0IG9uZQpSJCogJSAkKgkJJDEgQCAkMgkJCQlGaXJzdCBtYWtlIHRoZW0g YWxsIEBzLgpSJCogQCAkKiBAICQqCQkkMSAlICQyIEAgJDMJCQlVbmRvIGFsbCBidXQgdGhlIGxh c3QuClIkKiBAICQqCQkkQCAkPkNhbm9uaWZ5MiAkMSA8IEAgJDIgPglJbnNlcnQgPCA+IGFuZCBm aW5pc2gKCiMgZWxzZSB3ZSBtdXN0IGJlIGEgbG9jYWwgbmFtZQpSJCoJCQkkQCAkPkNhbm9uaWZ5 MiAkMQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoj IyMgIFJ1bGVzZXQgOTYgLS0gYm90dG9tIGhhbGYgb2YgcnVsZXNldCAzICAjIyMKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTQ2Fub25pZnkyPTk2Cgoj IGhhbmRsZSBzcGVjaWFsIGNhc2VzIGZvciBsb2NhbCBuYW1lcwpSJCogPCBAIGxvY2FsaG9zdCA+ ICQqCQkkOiAkMSA8IEAgJGogLiA+ICQyCQlubyBkb21haW4gYXQgYWxsClIkKiA8IEAgbG9jYWxo b3N0IC4gJG0gPiAkKgkkOiAkMSA8IEAgJGogLiA+ICQyCQlsb2NhbCBkb21haW4KUiQqIDwgQCBs b2NhbGhvc3QgLiBVVUNQID4gJCoJJDogJDEgPCBAICRqIC4gPiAkMgkJLlVVQ1AgZG9tYWluCgoj IGNoZWNrIGZvciBJUHY0L0lQdjYgZG9tYWluIGxpdGVyYWwKUiQqIDwgQCBbICQrIF0gPiAkKgkJ JDogJDEgPCBAQCBbICQyIF0gPiAkMwkJbWFyayBbYWRkcl0KUiQqIDwgQEAgJD13ID4gJCoJCSQ6 ICQxIDwgQCAkaiAuID4gJDMJCXNlbGYtbGl0ZXJhbApSJCogPCBAQCAkKyA+ICQqCQkkQCAkMSA8 IEAgJDIgPiAkMwkJY2Fub24gSVAgYWRkcgoKCgoKCiMgaWYgcmVhbGx5IFVVQ1AsIGhhbmRsZSBp dCBpbW1lZGlhdGVseQoKIyB0cnkgVVVDUCB0cmFmZmljIGFzIGEgbG9jYWwgYWRkcmVzcwpSJCog PCBAICQrIC4gVVVDUCA+ICQqCQkkOiAkMSA8IEAgJFsgJDIgJF0gLiBVVUNQIC4gPiAkMwpSJCog PCBAICQrIC4gLiBVVUNQIC4gPiAkKgkkQCAkMSA8IEAgJDIgLiA+ICQzCgojIGhvc3RuYW1lcyBl bmRpbmcgaW4gY2xhc3MgUCBhcmUgYWx3YXlzIGNhbm9uaWNhbApSJCogPCBAICQqICQ9UCA+ICQq CQkkOiAkMSA8IEAgJDIgJDMgLiA+ICQ0ClIkKiA8IEAgJCogJH5QID4gJCoJCSQ6ICQme2RhZW1v bl9mbGFnc30gJHwgJDEgPCBAICQyICQzID4gJDQKUiQqIENDICQqICR8ICQqIDwgQCAkKy4kKyA+ ICQqCSQ6ICQzIDwgQCAkNC4kNSAuID4gJDYKUiQqIENDICQqICR8ICQqCQkJJDogJDMKIyBwYXNz IHRvIG5hbWUgc2VydmVyIHRvIG1ha2UgaG9zdG5hbWUgY2Fub25pY2FsClIkKiAkfCAkKiA8IEAg JCogPiAkKgkJJDogJDIgPCBAICRbICQzICRdID4gJDQKUiQqICR8ICQqCQkJJDogJDIKCiMgbG9j YWwgaG9zdCBhbGlhc2VzIGFuZCBwc2V1ZG8tZG9tYWlucyBhcmUgYWx3YXlzIGNhbm9uaWNhbApS JCogPCBAICQ9dyA+ICQqCQkkOiAkMSA8IEAgJDIgLiA+ICQzClIkKiA8IEAgJD1NID4gJCoJCSQ6 ICQxIDwgQCAkMiAuID4gJDMKUiQqIDwgQCAkPXtWaXJ0SG9zdH0gPiAkKiAJJDogJDEgPCBAICQy IC4gPiAkMwpSJCogPCBAICQqIC4gLiA+ICQqCQkkMSA8IEAgJDIgLiA+ICQzCgoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjICBSdWxlc2V0IDQg LS0gRmluYWwgT3V0cHV0IFBvc3QtcmV3cml0aW5nICAjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKU2ZpbmFsPTQKClIkKyA6OyA8QD4JCSRAICQx IDoJCQkJaGFuZGxlIDxsaXN0Ojs+ClIkKiA8QD4JCQkkQAkJCQloYW5kbGUgPD4gYW5kIGxpc3Q6 OwoKIyBzdHJpcCB0cmFpbGluZyBkb3Qgb2ZmIHBvc3NpYmx5IGNhbm9uaWNhbCBuYW1lClIkKiA8 IEAgJCsgLiA+ICQqCSQxIDwgQCAkMiA+ICQzCgojIGVsaW1pbmF0ZSBpbnRlcm5hbCBjb2RlClIk KiA8IEAgKkxPQ0FMKiA+ICQqCSQxIDwgQCAkaiA+ICQyCgojIGV4dGVybmFsaXplIGxvY2FsIGRv bWFpbiBpbmZvClIkKiA8ICQrID4gJCoJCSQxICQyICQzCQkJZGVmb2N1cwpSQCAkKyA6IEAgJCsg OiAkKwlAICQxICwgQCAkMiA6ICQzCQk8cm91dGUtYWRkcj4gY2Fub25pY2FsClJAICQqCQkJJEAg QCAkMQkJCQkuLi4gYW5kIGV4aXQKCiMgVVVDUCBtdXN0IGFsd2F5cyBiZSBwcmVzZW50ZWQgaW4g b2xkIGZvcm0KUiQrIEAgJC0gLiBVVUNQCQkkMiEkMQkJCQl1QGguVVVDUCA9PiBoIXUKCiMgZGVs ZXRlIGR1cGxpY2F0ZSBsb2NhbCBuYW1lcwpSJCsgJSAkPXcgQCAkPXcJCSQxIEAgJDIJCQkJdSVo b3N0QGhvc3QgPT4gdUBob3N0CgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgIFJ1bGVzZXQgOTcgLS0gcmVjYW5vbmlj YWxpemUgYW5kIGNhbGwgcnVsZXNldCB6ZXJvICAgIyMjCiMjIwkJICAgKHVzZWQgZm9yIHJlY3Vy c2l2ZSBjYWxscykJCSAgICMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU1JlY3Vyc2U9OTcKUiQqCQkJJDogJD5jYW5vbmlm eSAkMQpSJCoJCQkkQCAkPnBhcnNlICQxCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyMjICAgUnVsZXNldCAwIC0tIFBhcnNlIEFkZHJlc3MgICAjIyMKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNwYXJzZT0wCgpSJCoJCQkkOiAkPlBhcnNl MCAkMQkJaW5pdGlhbCBwYXJzaW5nClI8QD4JCQkkI2xvY2FsICQ6IDxAPgkJc3BlY2lhbCBjYXNl IGVycm9yIG1zZ3MKUiQqCQkJJDogJD5QYXJzZUxvY2FsICQxCWhhbmRsZSBsb2NhbCBoYWNrcwpS JCoJCQkkOiAkPlBhcnNlMSAkMQkJZmluYWwgcGFyc2luZwoKIwojICBQYXJzZTAgLS0gZG8gaW5p dGlhbCBzeW50YXggY2hlY2tpbmcgYW5kIGVsaW1pbmF0ZSBsb2NhbCBhZGRyZXNzZXMuCiMJVGhp cyBzaG91bGQgZWl0aGVyIHJldHVybiB3aXRoIHRoZSAocG9zc2libHkgbW9kaWZpZWQpIGlucHV0 CiMJb3IgcmV0dXJuIHdpdGggYSAjZXJyb3IgbWFpbGVyLiAgSXQgc2hvdWxkIG5vdCByZXR1cm4g d2l0aCBhCiMJI21haWxlciBvdGhlciB0aGFuIHRoZSAjZXJyb3IgbWFpbGVyLgojCgpTUGFyc2Uw ClI8QD4JCQkkQCA8QD4JCQlzcGVjaWFsIGNhc2UgZXJyb3IgbXNncwpSJCogOiAkKiA7IDxAPgkJ JCNlcnJvciAkQCA1LjEuMyAkOiAiNTUzIExpc3Q6OyBzeW50YXggaWxsZWdhbCBmb3IgcmVjaXBp ZW50IGFkZHJlc3NlcyIKUkAgPEAgJCogPgkJPCBAICQxID4JCWNhdGNoICJAQGhvc3QiIGJvZ29z aXR5ClI8QCAkKz4JCQkkI2Vycm9yICRAIDUuMS4zICQ6ICI1NTMgVXNlciBhZGRyZXNzIHJlcXVp cmVkIgpSJCsgPEA+CQkJJCNlcnJvciAkQCA1LjEuMyAkOiAiNTUzIEhvc3RuYW1lIHJlcXVpcmVk IgpSJCoJCQkkOiA8PiAkMQpSPD4gJCogPCBAIFsgJCogXSA6ICQrID4gJCoJJDEgPCBAIFsgJDIg XSA6ICQzID4gJDQKUjw+ICQqIDwgQCBbICQqIF0gLCAkKyA+ICQqCSQxIDwgQCBbICQyIF0gLCAk MyA+ICQ0ClI8PiAkKiA8IEAgWyAkKiBdICQrID4gJCoJJCNlcnJvciAkQCA1LjEuMiAkOiAiNTUz IEludmFsaWQgYWRkcmVzcyIKUjw+ICQqIDwgQCBbICQrIF0gPiAkKgkJJDEgPCBAIFsgJDIgXSA+ ICQzClI8PiAkKiA8JCogOiAkKiA+ICQqCSQjZXJyb3IgJEAgNS4xLjMgJDogIjU1MyBDb2xvbiBp bGxlZ2FsIGluIGhvc3QgbmFtZSBwYXJ0IgpSPD4gJCoJCQkkMQpSJCogPCBAIC4gJCogPiAkKgkk I2Vycm9yICRAIDUuMS4yICQ6ICI1NTMgSW52YWxpZCBob3N0IG5hbWUiClIkKiA8IEAgJCogLi4g JCogPiAkKgkkI2Vycm9yICRAIDUuMS4yICQ6ICI1NTMgSW52YWxpZCBob3N0IG5hbWUiClIkKiA8 IEAgJCogQCA+ICQqCSQjZXJyb3IgJEAgNS4xLjIgJDogIjU1MyBJbnZhbGlkIHJvdXRlIGFkZHJl c3MiClIkKiBAICQqIDwgQCAkKiA+ICQqCSQjZXJyb3IgJEAgNS4xLjMgJDogIjU1MyBJbnZhbGlk IHJvdXRlIGFkZHJlc3MiClIkKiAsICR+TyAkKgkJJCNlcnJvciAkQCA1LjEuMyAkOiAiNTUzIElu dmFsaWQgcm91dGUgYWRkcmVzcyIKCgojIG5vdyBkZWxldGUgdGhlIGxvY2FsIGluZm8gLS0gbm90 ZSAkPU8gdG8gZmluZCBjaGFyYWN0ZXJzIHRoYXQgY2F1c2UgZm9yd2FyZGluZwpSJCogPCBAID4g JCoJCSRAICQ+UGFyc2UwICQ+Y2Fub25pZnkgJDEJdXNlckAgPT4gdXNlcgpSPCBAICQ9dyAuID4g OiAkKgkkQCAkPlBhcnNlMCAkPmNhbm9uaWZ5ICQyCUBoZXJlOi4uLiAtPiAuLi4KUiQtIDwgQCAk PXcgLiA+CQkkOiAkKGRlcXVvdGUgJDEgJCkgPCBAICQyIC4gPglkZXF1b3RlICJmb28iQGhlcmUK UjwgQCAkKyA+CQkkI2Vycm9yICRAIDUuMS4zICQ6ICI1NTMgVXNlciBhZGRyZXNzIHJlcXVpcmVk IgpSJCogJD1PICQqIDwgQCAkPXcgLiA+CSRAICQ+UGFyc2UwICQ+Y2Fub25pZnkgJDEgJDIgJDMJ Li4uQGhlcmUgLT4gLi4uClIkLSAJCQkkOiAkKGRlcXVvdGUgJDEgJCkgPCBAICpMT0NBTCogPglk ZXF1b3RlICJmb28iClI8IEAgKkxPQ0FMKiA+CQkkI2Vycm9yICRAIDUuMS4zICQ6ICI1NTMgVXNl ciBhZGRyZXNzIHJlcXVpcmVkIgpSJCogJD1PICQqIDwgQCAqTE9DQUwqID4KCQkJJEAgJD5QYXJz ZTAgJD5jYW5vbmlmeSAkMSAkMiAkMwkuLi5AKkxPQ0FMKiAtPiAuLi4KUiQqIDwgQCAqTE9DQUwq ID4JJDogJDEKCiMKIyAgUGFyc2UxIC0tIHRoZSBib3R0b20gaGFsZiBvZiBydWxlc2V0IDAuCiMK ClNQYXJzZTEKCiMgaGFuZGxlIG51bWVyaWMgYWRkcmVzcyBzcGVjClIkKiA8IEAgWyAkKyBdID4g JCoJJDogJD5QYXJzZUxvY2FsICQxIDwgQCBbICQyIF0gPiAkMwludW1lcmljIGludGVybmV0IHNw ZWMKUiQqIDwgQCBbICQrIF0gPiAkKgkkOiAkMSA8IEAgWyAkMiBdIDogJFMgPiAkMwlBZGQgc21h cnQgaG9zdCB0byBwYXRoClIkKiA8IEAgWyAkKyBdIDogPiAkKgkJJCNlc210cCAkQCBbJDJdICQ6 ICQxIDwgQCBbJDJdID4gJDMJbm8gc21hcnRob3N0OiBzZW5kClIkKiA8IEAgWyAkKyBdIDogJC0g OiAkKj4gJCoJJCMkMyAkQCAkNCAkOiAkMSA8IEAgWyQyXSA+ICQ1CXNtYXJ0aG9zdCB3aXRoIG1h aWxlcgpSJCogPCBAIFsgJCsgXSA6ICQrID4gJCoJJCNlc210cCAkQCAkMyAkOiAkMSA8IEAgWyQy XSA+ICQ0CXNtYXJ0aG9zdCB3aXRob3V0IG1haWxlcgoKIyBoYW5kbGUgdmlydHVhbCB1c2VycwpS JCsJCQkkOiA8IT4gJDEJCU1hcmsgZm9yIGxvb2t1cApSPCE+ICQrIDwgQCAkPXtWaXJ0SG9zdH0g LiA+IAkkOiA8ICQodmlydHVzZXIgJDEgQCAkMiAkQCAkMSAkOiBAICQpID4gJDEgPCBAICQyIC4g PgpSPCE+ICQrIDwgQCAkPXcgLiA+IAkkOiA8ICQodmlydHVzZXIgJDEgQCAkMiAkQCAkMSAkOiBA ICQpID4gJDEgPCBAICQyIC4gPgpSPEA+ICQrICsgJCsgPCBAICQqIC4gPgoJCQkkOiA8ICQodmly dHVzZXIgJDEgKyArIEAgJDMgJEAgJDEgJEAgJDIgJEAgKyQyICQ6IEAgJCkgPiAkMSArICQyIDwg QCAkMyAuID4KUjxAPiAkKyArICQqIDwgQCAkKiAuID4KCQkJJDogPCAkKHZpcnR1c2VyICQxICsg KiBAICQzICRAICQxICRAICQyICRAICskMiAkOiBAICQpID4gJDEgKyAkMiA8IEAgJDMgLiA+ClI8 QD4gJCsgKyAkKiA8IEAgJCogLiA+CgkJCSQ6IDwgJCh2aXJ0dXNlciAkMSBAICQzICRAICQxICRA ICQyICRAICskMiAkOiBAICQpID4gJDEgKyAkMiA8IEAgJDMgLiA+ClI8QD4gJCsgKyAkKyA8IEAg JCsgLiA+CSQ6IDwgJCh2aXJ0dXNlciArICsgQCAkMyAkQCAkMSAkQCAkMiAkQCArJDIgJDogQCAk KSA+ICQxICsgJDIgPCBAICQzIC4gPgpSPEA+ICQrICsgJCogPCBAICQrIC4gPgkkOiA8ICQodmly dHVzZXIgKyAqIEAgJDMgJEAgJDEgJEAgJDIgJEAgKyQyICQ6IEAgJCkgPiAkMSArICQyIDwgQCAk MyAuID4KUjxAPiAkKyArICQqIDwgQCAkKyAuID4JJDogPCAkKHZpcnR1c2VyIEAgJDMgJEAgJDEg JEAgJDIgJEAgKyQyICQ6ICEgJCkgPiAkMSArICQyIDwgQCAkMyAuID4KUjxAPiAkKyA8IEAgJCsg LiA+CSQ6IDwgJCh2aXJ0dXNlciBAICQyICRAICQxICQ6IEAgJCkgPiAkMSA8IEAgJDIgLiA+ClI8 QD4gJCsJCQkkOiAkMQpSPCE+ICQrCQkJJDogJDEKUjwgZXJyb3IgOiAkLS4kLS4kLSA6ICQrID4g JCogCSQjZXJyb3IgJEAgJDEuJDIuJDMgJDogJDQKUjwgZXJyb3IgOiAkLSAkKyA+ICQqIAkkI2Vy cm9yICRAICQoZGVxdW90ZSAkMSAkKSAkOiAkMgpSPCAkKyA+ICQrIDwgQCAkKyA+CSQ6ICQ+UmVj dXJzZSAkMQoKIyBzaG9ydCBjaXJjdWl0IGxvY2FsIGRlbGl2ZXJ5IHNvIGZvcndhcmRlZCBlbWFp bCB3b3JrcwoKClIkPUwgPCBAICQ9dyAuID4JJCNsb2NhbCAkOiBAICQxCQkJc3BlY2lhbCBsb2Nh bCBuYW1lcwpSJCsgPCBAICQ9dyAuID4JCSQjbG9jYWwgJDogJDEJCQlyZWd1bGFyIGxvY2FsIG5h bWUKCiMgbm90IGxvY2FsIC0tIHRyeSBtYWlsZXIgdGFibGUgbG9va3VwClIkKiA8QCAkKyA+ICQq CQkkOiA8ICQyID4gJDEgPCBAICQyID4gJDMJZXh0cmFjdCBob3N0IG5hbWUKUjwgJCsgLiA+ICQq CQkkOiA8ICQxID4gJDIJCQlzdHJpcCB0cmFpbGluZyBkb3QKUjwgJCsgPiAkKgkJJDogPCAkKG1h aWxlcnRhYmxlICQxICQpID4gJDIJbG9va3VwClI8ICR+WyA6ICQqID4gJCogCSQ+TWFpbGVyVG9U cmlwbGUgPCAkMSA6ICQyID4gJDMJCWNoZWNrIC0tIHJlc29sdmVkPwpSPCAkKyA+ICQqCQkkOiAk Pk1haWxlcnRhYmxlIDwkMT4gJDIJCXRyeSBkb21haW4KCiMgcmVzb2x2ZSByZW1vdGVseSBjb25u ZWN0ZWQgVVVDUCBsaW5rcyAoaWYgYW55KQoKIyByZXNvbHZlIGZha2UgdG9wIGxldmVsIGRvbWFp bnMgYnkgZm9yd2FyZGluZyB0byBvdGhlciBob3N0cwoKCgojIHBhc3MgbmFtZXMgdGhhdCBzdGls bCBoYXZlIGEgaG9zdCB0byBhIHNtYXJ0aG9zdCAoaWYgZGVmaW5lZCkKUiQqIDwgQCAkKiA+ICQq CQkkOiAkPk1haWxlclRvVHJpcGxlIDwgJFMgPiAkMSA8IEAgJDIgPiAkMwlnbHVlIG9uIHNtYXJ0 aG9zdCBuYW1lCgojIGRlYWwgd2l0aCBvdGhlciByZW1vdGUgbmFtZXMKUiQqIDwgQCQqID4gJCoJ CSQjZXNtdHAgJEAgJDIgJDogJDEgPCBAICQyID4gJDMJdXNlckBob3N0LmRvbWFpbgoKIyBoYW5k bGUgbG9jYWxseSBkZWxpdmVyZWQgbmFtZXMKUiQ9TAkJCSQjbG9jYWwgJDogQCAkMQkJc3BlY2lh bCBsb2NhbCBuYW1lcwpSJCsJCQkkI2xvY2FsICQ6ICQxCQkJcmVndWxhciBsb2NhbCBuYW1lcwoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgIFJ1bGVzZXQgNSAtLSBzcGVjaWFsIHJld3JpdGluZyBh ZnRlciBhbGlhc2VzIGhhdmUgYmVlbiBleHBhbmRlZCAgICMjIwojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK ClNMb2NhbF9sb2NhbGFkZHIKU2xvY2FsYWRkcj01ClIkKwkJCSQ6ICQxICR8ICQ+IkxvY2FsX2xv Y2FsYWRkciIgJDEKUiQrICR8ICQjb2sJCSRAICQxCQkJbm8gY2hhbmdlClIkKyAkfCAkIyQqCQkk IyQyClIkKyAkfCAkKgkJJDogJDEKCgoKCiMgZGVhbCB3aXRoIHBsdXNzZWQgdXNlcnMgc28gYWxp YXNlcyB3b3JrIG5pY2VseQpSJCsgKyAqCQkJJCNsb2NhbCAkQCAkJmggJDogJDEKUiQrICsgJCoJ CSQjbG9jYWwgJEAgKyAkMiAkOiAkMSArICoKCiMgcHJlcGVuZCBhbiBlbXB0eSAiZm9yd2FyZCBo b3N0IiBvbiB0aGUgZnJvbnQKUiQrCQkJJDogPD4gJDEKCgoKUjwgPiAkKwkJCSQ6IDwgPiA8ICQx IDw+ICQmaCA+CQlub3BlLCByZXN0b3JlICtkZXRhaWwKClI8ID4gPCAkKyA8PiArICQqID4JJDog PCA+IDwgJDEgKyAkMiA+CQljaGVjayB3aGV0aGVyICtkZXRhaWwKUjwgPiA8ICQrIDw+ICQqID4J JDogPCA+IDwgJDEgPgkJCWVsc2UgZGlzY2FyZApSPCA+IDwgJCsgKyAkKiA+ICQqCSAgIDwgPiA8 ICQxID4gKyAkMiAkMwkJZmluZCB0aGUgdXNlciBwYXJ0ClI8ID4gPCAkKyA+ICsgJCoJJCNsb2Nh bCAkQCAkMiAkOiBAICQxCQlzdHJpcCB0aGUgZXh0cmEgKwpSPCA+IDwgJCsgPgkJJEAgJDEJCQkJ bm8gK2RldGFpbApSJCsJCQkkOiAkMSA8PiAkJmgJCQlhZGQgK2RldGFpbCBiYWNrIGluCgpSJCsg PD4gKyAkKgkJJDogJDEgKyAkMgkJCWNoZWNrIHdoZXRoZXIgK2RldGFpbApSJCsgPD4gJCoJCSQ6 ICQxCQkJCWVsc2UgZGlzY2FyZApSPCBsb2NhbCA6ICQqID4gJCoJJDogJD5NYWlsZXJUb1RyaXBs ZSA8IGxvY2FsIDogJDEgPiAkMglubyBob3N0IGV4dGVuc2lvbgpSPCBlcnJvciA6ICQqID4gJCoJ JDogJD5NYWlsZXJUb1RyaXBsZSA8IGVycm9yIDogJDEgPiAkMglubyBob3N0IGV4dGVuc2lvbgoK UjwgJH5bIDogJCsgPiAkKwkkOiAkPk1haWxlclRvVHJpcGxlIDwgJDEgOiAkMiA+ICQzIDwgQCAk MiA+CgpSPCAkKyA+ICQrCQkkQCAkPk1haWxlclRvVHJpcGxlIDwgJDEgPiAkMiA8IEAgJDEgPgoK CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIyMjICBSdWxlc2V0IDkwIC0tIHRyeSBkb21haW4gcGFydCBvZiBtYWlsZXJ0 YWJsZSBlbnRyeSAJIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNNYWlsZXJ0YWJsZT05MApSJCogPCQtIC4gJCsg PiAkKgkkOiAkMSQyIDwgJChtYWlsZXJ0YWJsZSAuJDMgJEAgJDEkMiAkQCAkMiAkKSA+ICQ0ClIk KiA8JH5bIDogJCogPiAkKgkkPk1haWxlclRvVHJpcGxlIDwgJDIgOiAkMyA+ICQ0CQljaGVjayAt LSByZXNvbHZlZD8KUiQqIDwgLiAkKyA+ICQqIAkkQCAkPk1haWxlcnRhYmxlICQxIC4gPCQyPiAk MwkJbm8gLS0gc3RyaXAgJiB0cnkgYWdhaW4KUiQqIDwgJCogPiAkKgkJJDogPCAkKG1haWxlcnRh YmxlIC4gJEAgJDEkMiAkKSA+ICQzCXRyeSAiLiIKUjwgJH5bIDogJCogPiAkKgkkPk1haWxlclRv VHJpcGxlIDwgJDEgOiAkMiA+ICQzCQkiLiIgZm91bmQ/ClI8ICQqID4gJCoJCSRAICQyCQkJCW5v IG1haWxlcnRhYmxlIG1hdGNoCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgUnVsZXNldCA5NSAtLSBjYW5vbmlm eSBtYWlsZXI6W3VzZXJAXWhvc3Qgc3ludGF4IHRvIHRyaXBsZQkjIyMKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU01h aWxlclRvVHJpcGxlPTk1ClI8ID4gJCoJCQkJJEAgJDEJCQlzdHJpcCBvZmYgbnVsbCByZWxheQpS PCBlcnJvciA6ICQtLiQtLiQtIDogJCsgPiAkKiAJJCNlcnJvciAkQCAkMS4kMi4kMyAkOiAkNApS PCBlcnJvciA6ICQtIDogJCsgPiAkKgkJJCNlcnJvciAkQCAkKGRlcXVvdGUgJDEgJCkgJDogJDIK UjwgZXJyb3IgOiAkKyA+ICQqCQkkI2Vycm9yICQ6ICQxClI8IGxvY2FsIDogJCogPiAkKgkJJD5D YW5vbkxvY2FsIDwgJDEgPiAkMgpSPCAkflsgOiAkKyBAICQrID4gJCo8JCo+JCoJJCMgJDEgJEAg JDMgJDogJDI8QCQzPgl1c2UgbGl0ZXJhbCB1c2VyClI8ICR+WyA6ICQrID4gJCoJCSQjICQxICRA ICQyICQ6ICQzCXRyeSBxdWFsaWZpZWQgbWFpbGVyClI8ICQ9dyA+ICQqCQkJJEAgJDIJCQlkZWxl dGUgbG9jYWwgaG9zdApSPCAkKyA+ICQqCQkJJCNyZWxheSAkQCAkMSAkOiAkMgl1c2UgdW5xdWFs aWZpZWQgbWFpbGVyCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgUnVsZXNldCBDYW5vbkxvY2FsIC0tIGNhbm9u aWZ5IGxvY2FsOiBzeW50YXgJCSMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTQ2Fub25Mb2NhbAojIHN0cmlwIGxv Y2FsIGhvc3QgZnJvbSByb3V0ZWQgYWRkcmVzc2VzClI8ICQqID4gPCBAICQrID4gOiAkKwkJJEAg JD5SZWN1cnNlICQzClI8ICQqID4gJCsgJD1PICQrIDwgQCAkKyA+CSRAICQ+UmVjdXJzZSAkMiAk MyAkNAoKIyBzdHJpcCB0cmFpbGluZyBkb3QgZnJvbSBhbnkgaG9zdCBuYW1lIHRoYXQgbWF5IGFw cGVhcgpSPCAkKiA+ICQqIDwgQCAkKiAuID4JCSQ6IDwgJDEgPiAkMiA8IEAgJDMgPgoKIyBoYW5k bGUgbG9jYWw6IHN5bnRheCAtLSB1c2Ugb2xkIHVzZXIsIGVpdGhlciB3aXRoIG9yIHdpdGhvdXQg aG9zdApSPCA+ICQqIDwgQCAkKiA+ICQqCQkkI2xvY2FsICRAICQxQCQyICQ6ICQxClI8ID4gJCsJ CQkJJCNsb2NhbCAkQCAkMSAgICAkOiAkMQoKIyBoYW5kbGUgbG9jYWw6dXNlckBob3N0IHN5bnRh eCAtLSBpZ25vcmUgaG9zdCBwYXJ0ClI8ICQrIEAgJCsgPiAkKiA8IEAgJCogPgkkOiA8ICQxID4g JDMgPCBAICQ0ID4KCiMgaGFuZGxlIGxvY2FsOnVzZXIgc3ludGF4ClI8ICQrID4gJCogPEAgJCog PiAkKgkJJCNsb2NhbCAkQCAkMkAkMyAkOiAkMQpSPCAkKyA+ICQqIAkJCSQjbG9jYWwgJEAgJDIg ICAgJDogJDEKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjICBSdWxlc2V0IDkzIC0tIGNvbnZlcnQgaGVhZGVyIG5h bWVzIHRvIG1hc3F1ZXJhZGVkIGZvcm0JIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNNYXNxSGRyPTkzCgoKIyBk byBub3QgbWFzcXVlcmFkZSBhbnl0aGluZyBpbiBjbGFzcyBOClIkKiA8IEAgJCogJD1OIC4gPgkk QCAkMSA8IEAgJDIgJDMgLiA+CgpSJCogPCBAICpMT0NBTCogPgkkQCAkMSA8IEAgJGogLiA+Cgoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMjIyAgUnVsZXNldCA5NCAtLSBjb252ZXJ0IGVudmVsb3BlIG5hbWVzIHRvIG1h c3F1ZXJhZGVkIGZvcm0JIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNNYXNxRW52PTk0ClIkKiA8IEAgKkxPQ0FM KiA+ICQqCSQ6ICQxIDwgQCAkaiAuID4gJDIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjICBSdWxlc2V0IDk4IC0t IGxvY2FsIHBhcnQgb2YgcnVsZXNldCB6ZXJvIChjYW4gYmUgbnVsbCkJIyMjCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK ClNQYXJzZUxvY2FsPTk4CgojIGFkZHJlc3NlcyBzZW50IHRvIGZvb0Bob3N0LlJFRElSRUNUIHdp bGwgZ2l2ZSBhIDU1MSBlcnJvciBjb2RlClIkKiA8IEAgJCsgLlJFRElSRUNULiA+CQkkOiAkMSA8 IEAgJDIgLiBSRURJUkVDVCAuID4gPCAke29wTW9kZX0gPgpSJCogPCBAICQrIC5SRURJUkVDVC4g PiA8aT4JJDogJDEgPCBAICQyIC4gUkVESVJFQ1QuID4KUiQqIDwgQCAkKyAuUkVESVJFQ1QuID4g PCAkLSA+CSQjZXJyb3IgJEAgNS4xLjEgJDogIjU1MSBVc2VyIGhhcyBtb3ZlZDsgcGxlYXNlIHRy eSAiIDwkMUAkMj4KCgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjICBEOiBMb29rVXBEb21haW4gLS0gc2Vh cmNoIGZvciBkb21haW4gaW4gYWNjZXNzIGRhdGFiYXNlCiMjIwojIyMJUGFyYW1ldGVyczoKIyMj CQk8JDE+IC0tIGtleSAoZG9tYWluIG5hbWUpCiMjIwkJPCQyPiAtLSBkZWZhdWx0ICh3aGF0IHRv IHJldHVybiBpZiBub3QgZm91bmQgaW4gZGIpCiMjIwkJPCQzPiAtLSBtYXJrIChtdXN0IGJlIDwo IXwrKSBzaW5nbGUtdG9rZW4+KQojIyMJCQkhIGRvZXMgbG9va3VwIG9ubHkgd2l0aCB0YWcKIyMj CQkJKyBkb2VzIGxvb2t1cCB3aXRoIGFuZCB3aXRob3V0IHRhZwojIyMJCTwkND4gLS0gcGFzc3Ro cnUgKGFkZGl0aW9uYWwgZGF0YSBwYXNzZWQgdW5jaGFuZ2VkIHRocm91Z2gpCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKClNEClI8JCo+IDwkKz4gPCQtICQtPiA8JCo+CQkkOiA8ICQoYWNjZXNzICQ0OiQxICQ6ID8g JCkgPiA8JDE+IDwkMj4gPCQzICQ0PiA8JDU+ClI8Pz4gPCQrPiA8JCs+IDwrICQtPiA8JCo+CSQ6 IDwgJChhY2Nlc3MgJDEgJDogPyAkKSA+IDwkMT4gPCQyPiA8KyAkMz4gPCQ0PgpSPD8+IDxbJCsu JC1dPiA8JCs+IDwkLSAkLT4gPCQqPgkkQCAkPkQgPFskMV0+IDwkMz4gPCQ0ICQ1PiA8JDY+ClI8 Pz4gPFskKzo6JC1dPiA8JCs+IDwkLSAkLT4gPCQqPgkkOiAkPkQgPFskMV0+IDwkMz4gPCQ0ICQ1 PiA8JDY+ClI8Pz4gPFskKzokLV0+IDwkKz4gPCQtICQtPiA8JCo+CSQ6ICQ+RCA8WyQxXT4gPCQz PiA8JDQgJDU+IDwkNj4KUjw/PiA8JCsuJCs+IDwkKz4gPCQtICQtPiA8JCo+CSRAICQ+RCA8JDI+ IDwkMz4gPCQ0ICQ1PiA8JDY+ClI8Pz4gPCQrPiA8JCs+IDwkLSAkLT4gPCQqPgkkQCA8JDI+IDwk NT4KUjwkKiA8VE1QRj4+IDwkKz4gPCQrPiA8JC0gJC0+IDwkKj4JJEAgPDxUTVBGPj4gPCQ2PgpS PCQqPiA8JCs+IDwkKz4gPCQtICQtPiA8JCo+CSRAIDwkMT4gPCQ2PgoKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoj IyMgIEE6IExvb2tVcEFkZHJlc3MgLS0gc2VhcmNoIGZvciBob3N0IGFkZHJlc3MgaW4gYWNjZXNz IGRhdGFiYXNlCiMjIwojIyMJUGFyYW1ldGVyczoKIyMjCQk8JDE+IC0tIGtleSAoZG90IHF1YWRk ZWQgaG9zdCBhZGRyZXNzKQojIyMJCTwkMj4gLS0gZGVmYXVsdCAod2hhdCB0byByZXR1cm4gaWYg bm90IGZvdW5kIGluIGRiKQojIyMJCTwkMz4gLS0gbWFyayAobXVzdCBiZSA8KCF8Kykgc2luZ2xl LXRva2VuPikKIyMjCQkJISBkb2VzIGxvb2t1cCBvbmx5IHdpdGggdGFnCiMjIwkJCSsgZG9lcyBs b29rdXAgd2l0aCBhbmQgd2l0aG91dCB0YWcKIyMjCQk8JDQ+IC0tIHBhc3N0aHJ1IChhZGRpdGlv bmFsIGRhdGEgcGFzc2VkIHRocm91Z2gpCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNBClI8JCs+IDwkKz4gPCQt ICQtPiA8JCo+CQkkOiA8ICQoYWNjZXNzICQ0OiQxICQ6ID8gJCkgPiA8JDE+IDwkMj4gPCQzICQ0 PiA8JDU+ClI8Pz4gPCQrPiA8JCs+IDwrICQtPiA8JCo+CSQ6IDwgJChhY2Nlc3MgJDEgJDogPyAk KSA+IDwkMT4gPCQyPiA8KyAkMz4gPCQ0PgpSPD8+IDwkKzo6JC0+IDwkKz4gPCQtICQtPiA8JCo+ CQkkQCAkPkEgPCQxPiA8JDM+IDwkNCAkNT4gPCQ2PgpSPD8+IDwkKzokLT4gPCQrPiA8JC0gJC0+ IDwkKj4JCSRAICQ+QSA8JDE+IDwkMz4gPCQ0ICQ1PiA8JDY+ClI8Pz4gPCQrLiQtPiA8JCs+IDwk LSAkLT4gPCQqPgkJJEAgJD5BIDwkMT4gPCQzPiA8JDQgJDU+IDwkNj4KUjw/PiA8JCs+IDwkKz4g PCQtICQtPiA8JCo+CSRAIDwkMj4gPCQ1PgpSPCQqIDxUTVBGPj4gPCQrPiA8JCs+IDwkLSAkLT4g PCQqPgkkQCA8PFRNUEY+PiA8JDY+ClI8JCo+IDwkKz4gPCQrPiA8JC0gJC0+IDwkKj4JJEAgPCQx PiA8JDY+CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgQ2Fub25BZGRyIC0tCUNvbnZlcnQgYW4gYWRkcmVz cyBpbnRvIGEgc3RhbmRhcmQgZm9ybSBmb3IKIyMjCQkJcmVsYXkgY2hlY2tpbmcuICBSb3V0ZSBh ZGRyZXNzIHN5bnRheCBpcwojIyMJCQljcnVkZWx5IGNvbnZlcnRlZCBpbnRvIGEgJS1oYWNrIGFk ZHJlc3MuCiMjIwojIyMJUGFyYW1ldGVyczoKIyMjCQkkMSAtLSBmdWxsIHJlY2lwaWVudCBhZGRy ZXNzCiMjIwojIyMJUmV0dXJuczoKIyMjCQlwYXJzZWQgYWRkcmVzcywgbm90IGluIHNvdXJjZSBy b3V0ZSBmb3JtCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNDYW5vbkFkZHIKUiQqCQkJJDogJD5QYXJzZTAgJD5j YW5vbmlmeSAkMQltYWtlIGRvbWFpbiBjYW5vbmljYWwKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgUGFy c2VSZWNpcGllbnQgLS0JU3RyaXAgb2ZmIGhvc3RzIGluICQ9UiBhcyB3ZWxsIGFzIHBvc3NpYmx5 CiMjIwkJCSQqICQ9bSBvciB0aGUgYWNjZXNzIGRhdGFiYXNlLgojIyMJCQlDaGVjayB1c2VyIHBv cnRpb24gZm9yIGhvc3Qgc2VwYXJhdG9ycy4KIyMjCiMjIwlQYXJhbWV0ZXJzOgojIyMJCSQxIC0t IGZ1bGwgcmVjaXBpZW50IGFkZHJlc3MKIyMjCiMjIwlSZXR1cm5zOgojIyMJCXBhcnNlZCwgbm9u LWxvY2FsLXJlbGF5aW5nIGFkZHJlc3MKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU1BhcnNlUmVjaXBpZW50ClIk KgkJCQkkOiA8Pz4gJD5DYW5vbkFkZHIgJDEKUjw/PiAkKiA8IEAgJCogLiA+CQk8Pz4gJDEgPCBA ICQyID4JCQlzdHJpcCB0cmFpbGluZyBkb3RzClI8Pz4gJC0gPCBAICQqID4JCSQ6IDw/PiAkKGRl cXVvdGUgJDEgJCkgPCBAICQyID4JZGVxdW90ZSBsb2NhbCBwYXJ0CgojIGlmIG5vICQ9TyBjaGFy YWN0ZXIsIG5vIGhvc3QgaW4gdGhlIHVzZXIgcG9ydGlvbiwgd2UgYXJlIGRvbmUKUjw/PiAkKiAk PU8gJCogPCBAICQqID4JCSQ6IDxOTz4gJDEgJDIgJDMgPCBAICQ0PgpSPD8+ICQqCQkJCSRAICQx CgoKUjxOTz4gJCogPCBAICQqICQ9UiA+CQkkOiA8UkVMQVk+ICQxIDwgQCAkMiAkMyA+ClI8Tk8+ ICQqIDwgQCAkKyA+CQkkOiAkPkQgPCQyPiA8Tk8+IDwrIFRvPiA8JDEgPCBAICQyID4+ClI8JCs+ IDwkKz4JCQkkOiA8JDE+ICQyCgoKClI8UkVMQVk+ICQqIDwgQCAkKiA+CQkkQCAkPlBhcnNlUmVj aXBpZW50ICQxClI8JCs+ICQqCQkJJEAgJDIKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgY2hlY2tfcmVs YXkgLS0gY2hlY2sgaG9zdG5hbWUvYWRkcmVzcyBvbiBTTVRQIHN0YXJ0dXAKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwoKCgpTTG9jYWxfY2hlY2tfcmVsYXkKU2NoZWNrX3JlbGF5ClIkKgkJCSQ6ICQxICR8ICQ+Ikxv Y2FsX2NoZWNrX3JlbGF5IiAkMQpSJCogJHwgJCogJHwgJCMkKgkkIyQzClIkKiAkfCAkKiAkfCAk KgkJJEAgJD4iQmFzaWNfY2hlY2tfcmVsYXkiICQxICR8ICQyCgpTQmFzaWNfY2hlY2tfcmVsYXkK IyBjaGVjayBmb3IgZGVmZXJyZWQgZGVsaXZlcnkgbW9kZQpSJCoJCQkkOiA8ICQme2RlbGl2ZXJ5 TW9kZX0gPiAkMQpSPCBkID4gJCoJCSRAIGRlZmVycmVkClI8ICQqID4gJCoJCSQ6ICQyCgpSJCsg JHwgJCsJCSQ6ICQ+RCA8ICQxID4gPD8+IDwrIENvbm5lY3Q+IDwgJDIgPgpSICAgJHwgJCsJCSQ6 ICQ+QSA8ICQxID4gPD8+IDwrIENvbm5lY3Q+IDw+CWVtcHR5IGNsaWVudF9uYW1lClI8Pz4gPCQr PgkJJDogJD5BIDwgJDEgPiA8Pz4gPCsgQ29ubmVjdD4gPD4Jbm86IGFub3RoZXIgbG9va3VwClI8 Pz4gPCQqPgkJJDogT0sJCQkJZm91bmQgbm90aGluZwpSPCQ9e0FjY2VwdH0+IDwkKj4JJEAgJDEJ CQkJcmV0dXJuIHZhbHVlIG9mIGxvb2t1cApSPFJFSkVDVD4gPCQqPgkJJCNlcnJvciAkQCA1Ljcu MSAkOiAiNTUwIEFjY2VzcyBkZW5pZWQiClI8RElTQ0FSRD4gPCQqPgkJJCNkaXNjYXJkICQ6IGRp c2NhcmQKUjxRVUFSQU5USU5FOiQrPiA8JCo+CSQjZXJyb3IgJEAgcXVhcmFudGluZSAkOiAkMQpS PEVSUk9SOiQtLiQtLiQtOiQrPiA8JCo+CSQjZXJyb3IgJEAgJDEuJDIuJDMgJDogJDQKUjxFUlJP UjokKz4gPCQqPgkJJCNlcnJvciAkOiAkMQpSPCQqIDxUTVBGPj4gPCQqPgkJJCNlcnJvciAkQCA0 LjMuMCAkOiAiNDUxIFRlbXBvcmFyeSBzeXN0ZW0gZmFpbHVyZS4gUGxlYXNlIHRyeSBhZ2FpbiBs YXRlci4iClI8JCs+IDwkKj4JCSQjZXJyb3IgJDogJDEKCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMgIGNo ZWNrX21haWwgLS0gY2hlY2sgU01UUCBgTUFJTCBGUk9NOicgY29tbWFuZCBhcmd1bWVudAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCgpTTG9jYWxfY2hlY2tfbWFpbApTY2hlY2tfbWFpbApSJCoJCQkkOiAkMSAkfCAk PiJMb2NhbF9jaGVja19tYWlsIiAkMQpSJCogJHwgJCMkKgkJJCMkMgpSJCogJHwgJCoJCSRAICQ+ IkJhc2ljX2NoZWNrX21haWwiICQxCgpTQmFzaWNfY2hlY2tfbWFpbAojIGNoZWNrIGZvciBkZWZl cnJlZCBkZWxpdmVyeSBtb2RlClIkKgkJCSQ6IDwgJCZ7ZGVsaXZlcnlNb2RlfSA+ICQxClI8IGQg PiAkKgkJJEAgZGVmZXJyZWQKUjwgJCogPiAkKgkJJDogJDIKCiMgYXV0aGVudGljYXRlZD8KUiQq CQkJJDogJDEgJHwgJD4idGxzX2NsaWVudCIgJCZ7dmVyaWZ5fSAkfCBNQUlMClIkKiAkfCAkIyQr CQkkIyQyClIkKiAkfCAkKgkJJDogJDEKClI8PgkJCSRAIDxPSz4JCQl3ZSBNVVNUIGFjY2VwdCA8 PiAoUkZDIDExMjMpClIkKwkJCSQ6IDw/PiAkMQpSPD8+PCQrPgkJJDogPEA+IDwkMT4KUjw/PiQr CQkJJDogPEA+IDwkMT4KUiQqCQkJJDogJCZ7ZGFlbW9uX2ZsYWdzfSAkfCAkMQpSJCogZiAkKiAk fCA8QD4gPCAkKiBAICQtID4JJDogPCA/ICQme2NsaWVudF9uYW1lfSA+IDwgJDMgQCAkNCA+ClIk KiB1ICQqICR8IDxAPiA8ICQqID4JJDogPD8+IDwgJDMgPgpSJCogJHwgJCoJCSQ6ICQyCiMgaGFu ZGxlIGNhc2Ugb2YgQGxvY2FsaG9zdCBvbiBhZGRyZXNzClI8QD4gPCAkKiBAIGxvY2FsaG9zdCA+ CSQ6IDwgPyAkJntjbGllbnRfbmFtZX0gPiA8ICQxIEAgbG9jYWxob3N0ID4KUjxAPiA8ICQqIEAg WzEyNy4wLjAuMV0gPgoJCQkkOiA8ID8gJCZ7Y2xpZW50X25hbWV9ID4gPCAkMSBAIFsxMjcuMC4w LjFdID4KUjxAPiA8ICQqIEAgbG9jYWxob3N0LiRtID4KCQkJJDogPCA/ICQme2NsaWVudF9uYW1l fSA+IDwgJDEgQCBsb2NhbGhvc3QuJG0gPgpSPEA+IDwgJCogQCBsb2NhbGhvc3QuVVVDUCA+CgkJ CSQ6IDwgPyAkJntjbGllbnRfbmFtZX0gPiA8ICQxIEAgbG9jYWxob3N0LlVVQ1AgPgpSPEA+ICQq CQkJJDogJDEJCQlubyBsb2NhbGhvc3QgYXMgZG9tYWluClI8PyAkPXc+ICQqCQkkOiAkMgkJCWxv Y2FsIGNsaWVudDogb2sKUjw/ICQrPiA8JCs+CQkkI2Vycm9yICRAIDUuNS40ICQ6ICI1NTMgUmVh bCBkb21haW4gbmFtZSByZXF1aXJlZCBmb3Igc2VuZGVyIGFkZHJlc3MiClI8Pz4gJCoJCQkkOiAk MQpSJCoJCQkkOiA8Pz4gJD5DYW5vbkFkZHIgJDEJCWNhbm9uaWZ5IHNlbmRlciBhZGRyZXNzIGFu ZCBtYXJrIGl0ClI8Pz4gJCogPCBAICQrIC4gPgk8Pz4gJDEgPCBAICQyID4JCQlzdHJpcCB0cmFp bGluZyBkb3RzCiMgaGFuZGxlIG5vbi1ETlMgaG9zdG5hbWVzICgqLmJpdG5ldCwgKi5kZWNuZXQs ICoudXVjcCwgZXRjKQpSPD8+ICQqIDwgQCAkKiAkPVAgPgkkOiA8T0tSPiAkMSA8IEAgJDIgJDMg PgpSPD8+ICQqIDwgQCAkaiA+CSQ6IDxPS1I+ICQxIDwgQCAkaiA+ClI8Pz4gJCogPCBAICQrID4J JDogPD8gJChyZXNvbHZlICQyICQ6ICQyIDxQRVJNPiAkKSA+ICQxIDwgQCAkMiA+ClI8PyAkKiA8 JC0+PiAkKiA8IEAgJCsgPgoJCQkkOiA8JDI+ICQzIDwgQCAkNCA+CgojIGNoZWNrIHNlbmRlciBh ZGRyZXNzOiB1c2VyQGFkZHJlc3MsIHVzZXJALCBhZGRyZXNzClI8JCs+ICQrIDwgQCAkKiA+CSQ6 IEA8JDE+IDwkMiA8IEAgJDMgPj4gJHwgPEY6JDJAJDM+IDxVOiQyQD4gPEQ6JDM+ClI8JCs+ICQr CQkkOiBAPCQxPiA8JDI+ICR8IDxVOiQyQD4KUkAgPCQrPiA8JCo+ICR8IDwkKz4JJDogPEA+IDwk MT4gPCQyPiAkfCAkPlNlYXJjaExpc3QgPCsgRnJvbT4gJHwgPCQzPiA8PgpSPEA+IDwkKz4gPCQq PiAkfCA8JCo+CSQ6IDwkMz4gPCQxPiA8JDI+CQlyZXZlcnNlIHJlc3VsdAojIHJldHJhbnNmb3Jt IGZvciBmdXJ0aGVyIHVzZQpSPD8+IDwkKz4gPCQqPgkJJDogPCQxPiAkMglubyBtYXRjaApSPCQr PiA8JCs+IDwkKj4JCSQ6IDwkMT4gJDMJcmVsZXZhbnQgcmVzdWx0LCBrZWVwIGl0CgojIGhhbmRs ZSBjYXNlIG9mIG5vIEBkb21haW4gb24gYWRkcmVzcwpSPD8+ICQqCQkJJDogJCZ7ZGFlbW9uX2Zs YWdzfSAkfCA8Pz4gJDEKUiQqIHUgJCogJHwgPD8+ICQqCSQ6IDxPS1I+ICQzClIkKiAkfCAkKgkJ JDogJDIKUjw/PiAkKgkJCSQ6IDwgPyAkJntjbGllbnRfYWRkcn0gPiAkMQpSPD8+ICQqCQkJJEAg PE9LUj4JCQkuLi5sb2NhbCB1bnF1YWxlZCBvawpSPD8gJCs+ICQqCQkkI2Vycm9yICRAIDUuNS40 ICQ6ICI1NTMgRG9tYWluIG5hbWUgcmVxdWlyZWQgZm9yIHNlbmRlciBhZGRyZXNzICIgJCZmCgkJ CQkJCQkuLi5yZW1vdGUgaXMgbm90CiMgY2hlY2sgcmVzdWx0cwpSPD8+ICQqCQkJJDogQCAkMQkJ bWFyayBhZGRyZXNzOiBub3RoaW5nIGtub3duIGFib3V0IGl0ClI8JD17UmVzT2t9PiAkKgkJJEAg PE9LUj4JZG9tYWluIG9rOiBzdG9wClI8VEVNUD4gJCoJCSQjZXJyb3IgJEAgNC4xLjggJDogIjQ1 MSBEb21haW4gb2Ygc2VuZGVyIGFkZHJlc3MgIiAkJmYgIiBkb2VzIG5vdCByZXNvbHZlIgpSPFBF Uk0+ICQqCQkkI2Vycm9yICRAIDUuMS44ICQ6ICI1NTMgRG9tYWluIG9mIHNlbmRlciBhZGRyZXNz ICIgJCZmICIgZG9lcyBub3QgZXhpc3QiClI8JD17QWNjZXB0fT4gJCoJJCMgJDEJCWFjY2VwdCBm cm9tIGFjY2VzcyBtYXAKUjxESVNDQVJEPiAkKgkJJCNkaXNjYXJkICQ6IGRpc2NhcmQKUjxRVUFS QU5USU5FOiQrPiAkKgkkI2Vycm9yICRAIHF1YXJhbnRpbmUgJDogJDEKUjxSRUpFQ1Q+ICQqCQkk I2Vycm9yICRAIDUuNy4xICQ6ICI1NTAgQWNjZXNzIGRlbmllZCIKUjxFUlJPUjokLS4kLS4kLTok Kz4gJCoJCSQjZXJyb3IgJEAgJDEuJDIuJDMgJDogJDQKUjxFUlJPUjokKz4gJCoJCSQjZXJyb3Ig JDogJDEKUjw8VE1QRj4+ICQqCQkkI2Vycm9yICRAIDQuMy4wICQ6ICI0NTEgVGVtcG9yYXJ5IHN5 c3RlbSBmYWlsdXJlLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIKUjwkKz4gJCoJCSQjZXJyb3Ig JDogJDEJCWVycm9yIGZyb20gYWNjZXNzIGRiCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgY2hlY2tfcmNw dCAtLSBjaGVjayBTTVRQIGBSQ1BUIFRPOicgY29tbWFuZCBhcmd1bWVudAojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CgpTTG9jYWxfY2hlY2tfcmNwdApTY2hlY2tfcmNwdApSJCoJCQkkOiAkMSAkfCAkPiJMb2NhbF9j aGVja19yY3B0IiAkMQpSJCogJHwgJCMkKgkJJCMkMgpSJCogJHwgJCoJCSRAICQ+IkJhc2ljX2No ZWNrX3JjcHQiICQxCgpTQmFzaWNfY2hlY2tfcmNwdAojIGVtcHR5IGFkZHJlc3M/ClI8PgkJCSQj ZXJyb3IgJEAgbm91c2VyICQ6ICI1NTMgVXNlciBhZGRyZXNzIHJlcXVpcmVkIgpSJEAJCQkkI2Vy cm9yICRAIG5vdXNlciAkOiAiNTUzIFVzZXIgYWRkcmVzcyByZXF1aXJlZCIKIyBjaGVjayBmb3Ig ZGVmZXJyZWQgZGVsaXZlcnkgbW9kZQpSJCoJCQkkOiA8ICQme2RlbGl2ZXJ5TW9kZX0gPiAkMQpS PCBkID4gJCoJCSRAIGRlZmVycmVkClI8ICQqID4gJCoJCSQ6ICQyCgoKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpS JCoJCQkkOiAkMSAkfCBAICQ+IlJjcHRfb2siICQxClIkKiAkfCBAICQjVEVNUCAkKwkkOiAkMSAk fCBUICQyClIkKiAkfCBAICQjJCoJCSQjJDIKUiQqICR8IEAgUkVMQVkJCSRAIFJFTEFZClIkKiAk fCBAICQqCQkkOiBPICR8ICQ+IlJlbGF5X29rIiAkMQpSJCogJHwgVCAkKwkJJDogVCAkMiAkfCAk PiJSZWxheV9vayIgJDEKUiQqICR8ICQjVEVNUCAkKwkkI2Vycm9yICQyClIkKiAkfCAkIyQqCQkk IyQyClIkKiAkfCBSRUxBWQkJJEAgUkVMQVkKUiBUICQrICR8ICQqCQkkI2Vycm9yICQxCiMgYW55 dGhpbmcgZWxzZSBpcyBib2d1cwpSJCoJCQkkI2Vycm9yICRAIDUuNy4xICQ6ICI1NTAgUmVsYXlp bmcgZGVuaWVkIgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIFJjcHRfb2s6IGlzIHRoZSByZWNpcGllbnQg b2s/CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKU1JjcHRfb2sKUiQqCQkJJDogJD5QYXJzZVJlY2lwaWVudCAkMQkJ c3RyaXAgcmVsYXlhYmxlIGhvc3RzCgoKCiMgYmxhY2tsaXN0IGxvY2FsIHVzZXJzIG9yIGFueSBo b3N0IGZyb20gcmVjZWl2aW5nIG1haWwKUiQqCQkJJDogPD8+ICQxClI8Pz4gJCsgPCBAICQ9dyA+ CSQ6IDw+IDwkMSA8IEAgJDIgPj4gJHwgPEY6JDFAJDI+IDxVOiQxQD4gPEQ6JDI+ClI8Pz4gJCsg PCBAICQqID4JJDogPD4gPCQxIDwgQCAkMiA+PiAkfCA8RjokMUAkMj4gPEQ6JDI+ClI8Pz4gJCsJ CQkkOiA8PiA8JDE+ICR8IDxVOiQxQD4KUjw+IDwkKj4gJHwgPCQrPgkkOiA8QD4gPCQxPiAkfCAk PlNlYXJjaExpc3QgPCsgVG8+ICR8IDwkMj4gPD4KUjxAPiA8JCo+ICR8IDwkKj4JJDogPCQyPiA8 JDE+CQlyZXZlcnNlIHJlc3VsdApSPD8+IDwkKj4JCSQ6IEAgJDEJCW1hcmsgYWRkcmVzcyBhcyBu byBtYXRjaApSPCQ9e0FjY2VwdH0+IDwkKj4JJDogQCAkMgkJbWFyayBhZGRyZXNzIGFzIG5vIG1h dGNoCgpSPFJFSkVDVD4gJCoJCSQjZXJyb3IgJEAgNS4yLjEgJDogIjU1MCBNYWlsYm94IGRpc2Fi bGVkIGZvciB0aGlzIHJlY2lwaWVudCIKUjxESVNDQVJEPiAkKgkJJCNkaXNjYXJkICQ6IGRpc2Nh cmQKUjxRVUFSQU5USU5FOiQrPiAkKgkkI2Vycm9yICRAIHF1YXJhbnRpbmUgJDogJDEKUjxFUlJP UjokLS4kLS4kLTokKz4gJCoJCSQjZXJyb3IgJEAgJDEuJDIuJDMgJDogJDQKUjxFUlJPUjokKz4g JCoJCSQjZXJyb3IgJDogJDEKUjw8VE1QRj4+ICQqCQkkI2Vycm9yICRAIDQuMy4wICQ6ICI0NTEg VGVtcG9yYXJ5IHN5c3RlbSBmYWlsdXJlLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIKUjwkKz4g JCoJCSQjZXJyb3IgJDogJDEJCWVycm9yIGZyb20gYWNjZXNzIGRiClJAICQqCQkJJDEJCXJlbW92 ZSBtYXJrCgojIGF1dGhlbnRpY2F0ZWQgdmlhIFRMUz8KUiQqCQkJJDogJDEgJHwgJD5SZWxheVRM UwljbGllbnQgYXV0aGVudGljYXRlZD8KUiQqICR8ICQjICQrCQkkIyAkMgkJCWVycm9yL29rPwpS JCogJHwgJCoJCSQ6ICQxCQkJbm8KClIkKgkJCSQ6ICQxICR8ICQ+IkxvY2FsX1JlbGF5X0F1dGgi ICQme2F1dGhfdHlwZX0KUiQqICR8ICQjICQqCQkkIyAkMgpSJCogJHwgTk8JCSQ6ICQxClIkKiAk fCAkKgkJJDogJDEgJHwgJCZ7YXV0aF90eXBlfQpSJCogJHwJCQkkOiAkMQpSJCogJHwgJD17VHJ1 c3RBdXRoTWVjaH0JJCMgUkVMQVkKUiQqICR8ICQqCQkkOiAkMQojIGFueXRoaW5nIHRlcm1pbmF0 aW5nIGxvY2FsbHkgaXMgb2sKUiQrIDwgQCAkPXcgPgkJJEAgUkVMQVkKUiQrIDwgQCAkKiAkPVIg PgkkQCBSRUxBWQpSJCsgPCBAICQrID4JCSQ6ICQ+RCA8JDI+IDw/PiA8KyBUbz4gPCQxIDwgQCAk MiA+PgpSPFJFTEFZPiAkKgkJJEAgUkVMQVkKUjwkKiA8VE1QRj4+ICQqCQkkI1RFTVAgJEAgNC4z LjAgJDogIjQ1MSBUZW1wb3Jhcnkgc3lzdGVtIGZhaWx1cmUuIFBsZWFzZSB0cnkgYWdhaW4gbGF0 ZXIuIgpSPCQqPiA8JCo+CQkkOiAkMgoKCgojIGNoZWNrIGZvciBsb2NhbCB1c2VyIChpLmUuIHVu cXVhbGlmaWVkIGFkZHJlc3MpClIkKgkJCSQ6IDw/PiAkMQpSPD8+ICQqIDwgQCAkKyA+CSQ6IDxS RU1PVEU+ICQxIDwgQCAkMiA+CiMgbG9jYWwgdXNlciBpcyBvawpSPD8+ICQrCQkJJEAgUkVMQVkK UjwkKz4gJCoJCSQ6ICQyCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyBSZWxheV9vazogaXMgdGhlIHJlbGF5 L3NlbmRlciBvaz8KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpTUmVsYXlfb2sKIyBhbnl0aGluZyBvcmlnaW5hdGlu ZyBsb2NhbGx5IGlzIG9rCiMgY2hlY2sgSVAgYWRkcmVzcwpSJCoJCQkkOiAkJntjbGllbnRfYWRk cn0KUiRACQkJJEAgUkVMQVkJCW9yaWdpbmF0ZWQgbG9jYWxseQpSMAkJCSRAIFJFTEFZCQlvcmln aW5hdGVkIGxvY2FsbHkKUjEyNy4wLjAuMQkJJEAgUkVMQVkJCW9yaWdpbmF0ZWQgbG9jYWxseQpS SVB2Njo6OjEJCSRAIFJFTEFZCQlvcmlnaW5hdGVkIGxvY2FsbHkKUiQ9UiAkKgkJCSRAIFJFTEFZ CQlyZWxheWFibGUgSVAgYWRkcmVzcwpSJCoJCQkkOiAkPkEgPCQxPiA8Pz4gPCsgQ29ubmVjdD4g PCQxPgpSPFJFTEFZPiAkKiAJCSRAIFJFTEFZCQlyZWxheWFibGUgSVAgYWRkcmVzcwoKUjw8VE1Q Rj4+ICQqCQkkI1RFTVAgJEAgNC4zLjAgJDogIjQ1MSBUZW1wb3Jhcnkgc3lzdGVtIGZhaWx1cmUu IFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIgpSPCQqPiA8JCo+CQkkOiAkMgpSJCoJCQkkOiBbICQx IF0JCXB1dCBicmFja2V0cyBhcm91bmQgaXQuLi4KUiQ9dwkJCSRAIFJFTEFZCQkuLi4gYW5kIHNl ZSBpZiBpdCBpcyBsb2NhbAoKCiMgY2hlY2sgY2xpZW50IG5hbWU6IGZpcnN0OiBkaWQgaXQgcmVz b2x2ZT8KUiQqCQkJJDogPCAkJntjbGllbnRfcmVzb2x2ZX0gPgpSPFRFTVA+CQkJJCNURU1QICRA IDQuNC4wICQ6ICI0NTAgUmVsYXlpbmcgdGVtcG9yYXJpbHkgZGVuaWVkLiBDYW5ub3QgcmVzb2x2 ZSBQVFIgcmVjb3JkIGZvciAiICQme2NsaWVudF9hZGRyfQpSPEZPUkdFRD4JCSQjZXJyb3IgJEAg NS43LjEgJDogIjU1MCBSZWxheWluZyBkZW5pZWQuIElQIG5hbWUgcG9zc2libHkgZm9yZ2VkICIg JCZ7Y2xpZW50X25hbWV9ClI8RkFJTD4JCQkkI2Vycm9yICRAIDUuNy4xICQ6ICI1NTAgUmVsYXlp bmcgZGVuaWVkLiBJUCBuYW1lIGxvb2t1cCBmYWlsZWQgIiAkJntjbGllbnRfbmFtZX0KUiQqCQkJ JDogPEA+ICQme2NsaWVudF9uYW1lfQojIHBhc3MgdG8gbmFtZSBzZXJ2ZXIgdG8gbWFrZSBob3N0 bmFtZSBjYW5vbmljYWwKUjxAPiAkKiAkPVAgCQkkOjw/PiAgJDEgJDIKUjxAPiAkKwkJCSQ6PD8+ ICAkWyAkMSAkXQpSJCogLgkJCSQxCQkJc3RyaXAgdHJhaWxpbmcgZG90cwpSPD8+ICQ9dwkJJEAg UkVMQVkKUjw/PiAkKiAkPVIJCQkkQCBSRUxBWQpSPD8+ICQqCQkJJDogJD5EIDwkMT4gPD8+IDwr IENvbm5lY3Q+IDwkMT4KUjxSRUxBWT4gJCoJCSRAIFJFTEFZClI8JCogPFRNUEY+PiAkKgkJJCNU RU1QICRAIDQuMy4wICQ6ICI0NTEgVGVtcG9yYXJ5IHN5c3RlbSBmYWlsdXJlLiBQbGVhc2UgdHJ5 IGFnYWluIGxhdGVyLiIKUjwkKj4gPCQqPgkJJDogJDIKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgRjog TG9va1VwRnVsbCAtLSBzZWFyY2ggZm9yIGFuIGVudHJ5IGluIGFjY2VzcyBkYXRhYmFzZQojIyMK IyMjCWxvb2t1cCBvZiBmdWxsIGtleSAod2hpY2ggc2hvdWxkIGJlIGFuIGFkZHJlc3MpIGFuZAoj IyMJdmFyaWF0aW9ucyBpZiArZGV0YWlsIGV4aXN0czogKyogYW5kIHdpdGhvdXQgK2RldGFpbAoj IyMKIyMjCVBhcmFtZXRlcnM6CiMjIwkJPCQxPiAtLSBrZXkKIyMjCQk8JDI+IC0tIGRlZmF1bHQg KHdoYXQgdG8gcmV0dXJuIGlmIG5vdCBmb3VuZCBpbiBkYikKIyMjCQk8JDM+IC0tIG1hcmsgKG11 c3QgYmUgPCghfCspIHNpbmdsZS10b2tlbj4pCiMjIwkJCSEgZG9lcyBsb29rdXAgb25seSB3aXRo IHRhZwojIyMJCQkrIGRvZXMgbG9va3VwIHdpdGggYW5kIHdpdGhvdXQgdGFnCiMjIwkJPCQ0PiAt LSBwYXNzdGhydSAoYWRkaXRpb25hbCBkYXRhIHBhc3NlZCB1bmNoYW5nZWQgdGhyb3VnaCkKIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKU0YKUjwkKz4gPCQqPiA8JC0gJC0+IDwkKj4JCSQ6IDwkKGFjY2VzcyAkNDok MSAkOiA/ICQpPiA8JDE+IDwkMj4gPCQzICQ0PiA8JDU+ClI8Pz4gPCQrPiA8JCo+IDwrICQtPiA8 JCo+CSQ6IDwkKGFjY2VzcyAkMSAkOiA/ICQpPiA8JDE+IDwkMj4gPCsgJDM+IDwkND4KUjw/PiA8 JCsgKyAkKiBAICQrPiA8JCo+IDwkLSAkLT4gPCQqPgoJCQkkOiA8JChhY2Nlc3MgJDY6JDErKkAk MyAkOiA/ICQpPiA8JDErJDJAJDM+IDwkND4gPCQ1ICQ2PiA8JDc+ClI8Pz4gPCQrICsgJCogQCAk Kz4gPCQqPiA8KyAkLT4gPCQqPgoJCQkkOiA8JChhY2Nlc3MgJDErKkAkMyAkOiA/ICQpPiA8JDEr JDJAJDM+IDwkND4gPCsgJDU+IDwkNj4KUjw/PiA8JCsgKyAkKiBAICQrPiA8JCo+IDwkLSAkLT4g PCQqPgoJCQkkOiA8JChhY2Nlc3MgJDY6JDFAJDMgJDogPyAkKT4gPCQxKyQyQCQzPiA8JDQ+IDwk NSAkNj4gPCQ3PgpSPD8+IDwkKyArICQqIEAgJCs+IDwkKj4gPCsgJC0+IDwkKj4KCQkJJDogPCQo YWNjZXNzICQxQCQzICQ6ID8gJCk+IDwkMSskMkAkMz4gPCQ0PiA8KyAkNT4gPCQ2PgpSPD8+IDwk Kz4gPCQqPiA8JC0gJC0+IDwkKj4JJEAgPCQyPiA8JDU+ClI8JCsgPFRNUEY+PiA8JCo+IDwkLSAk LT4gPCQqPgkkQCA8PFRNUEY+PiA8JDU+ClI8JCs+IDwkKj4gPCQtICQtPiA8JCo+CQkkQCA8JDE+ IDwkNT4KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjICBFOiBMb29rVXBFeGFjdCAtLSBzZWFyY2ggZm9yIGFu IGVudHJ5IGluIGFjY2VzcyBkYXRhYmFzZQojIyMKIyMjCVBhcmFtZXRlcnM6CiMjIwkJPCQxPiAt LSBrZXkKIyMjCQk8JDI+IC0tIGRlZmF1bHQgKHdoYXQgdG8gcmV0dXJuIGlmIG5vdCBmb3VuZCBp biBkYikKIyMjCQk8JDM+IC0tIG1hcmsgKG11c3QgYmUgPCghfCspIHNpbmdsZS10b2tlbj4pCiMj IwkJCSEgZG9lcyBsb29rdXAgb25seSB3aXRoIHRhZwojIyMJCQkrIGRvZXMgbG9va3VwIHdpdGgg YW5kIHdpdGhvdXQgdGFnCiMjIwkJPCQ0PiAtLSBwYXNzdGhydSAoYWRkaXRpb25hbCBkYXRhIHBh c3NlZCB1bmNoYW5nZWQgdGhyb3VnaCkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU0UKUjwkKj4gPCQqPiA8JC0g JC0+IDwkKj4JCSQ6IDwkKGFjY2VzcyAkNDokMSAkOiA/ICQpPiA8JDE+IDwkMj4gPCQzICQ0PiA8 JDU+ClI8Pz4gPCQrPiA8JCo+IDwrICQtPiA8JCo+CSQ6IDwkKGFjY2VzcyAkMSAkOiA/ICQpPiA8 JDE+IDwkMj4gPCsgJDM+IDwkND4KUjw/PiA8JCs+IDwkKj4gPCQtICQtPiA8JCo+CSRAIDwkMj4g PCQ1PgpSPCQrIDxUTVBGPj4gPCQqPiA8JC0gJC0+IDwkKj4JJEAgPDxUTVBGPj4gPCQ1PgpSPCQr PiA8JCo+IDwkLSAkLT4gPCQqPgkJJEAgPCQxPiA8JDU+CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgVTog TG9va1VwVXNlciAtLSBzZWFyY2ggZm9yIGFuIGVudHJ5IGluIGFjY2VzcyBkYXRhYmFzZQojIyMK IyMjCWxvb2t1cCBvZiBrZXkgKHdoaWNoIHNob3VsZCBiZSBhIGxvY2FsIHBhcnQpIGFuZAojIyMJ dmFyaWF0aW9ucyBpZiArZGV0YWlsIGV4aXN0czogKyogYW5kIHdpdGhvdXQgK2RldGFpbAojIyMK IyMjCVBhcmFtZXRlcnM6CiMjIwkJPCQxPiAtLSBrZXkgKHVzZXJAKQojIyMJCTwkMj4gLS0gZGVm YXVsdCAod2hhdCB0byByZXR1cm4gaWYgbm90IGZvdW5kIGluIGRiKQojIyMJCTwkMz4gLS0gbWFy ayAobXVzdCBiZSA8KCF8Kykgc2luZ2xlLXRva2VuPikKIyMjCQkJISBkb2VzIGxvb2t1cCBvbmx5 IHdpdGggdGFnCiMjIwkJCSsgZG9lcyBsb29rdXAgd2l0aCBhbmQgd2l0aG91dCB0YWcKIyMjCQk8 JDQ+IC0tIHBhc3N0aHJ1IChhZGRpdGlvbmFsIGRhdGEgcGFzc2VkIHVuY2hhbmdlZCB0aHJvdWdo KQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCgpTVQpSPCQrPiA8JCo+IDwkLSAkLT4gPCQqPgkJJDogPCQoYWNjZXNz ICQ0OiQxICQ6ID8gJCk+IDwkMT4gPCQyPiA8JDMgJDQ+IDwkNT4KUjw/PiA8JCs+IDwkKj4gPCsg JC0+IDwkKj4JJDogPCQoYWNjZXNzICQxICQ6ID8gJCk+IDwkMT4gPCQyPiA8KyAkMz4gPCQ0PgpS PD8+IDwkKyArICQqIEA+IDwkKj4gPCQtICQtPiA8JCo+CgkJCSQ6IDwkKGFjY2VzcyAkNTokMSsq QCAkOiA/ICQpPiA8JDErJDJAPiA8JDM+IDwkNCAkNT4gPCQ2PgpSPD8+IDwkKyArICQqIEA+IDwk Kj4gPCsgJC0+IDwkKj4KCQkJJDogPCQoYWNjZXNzICQxKypAICQ6ID8gJCk+IDwkMSskMkA+IDwk Mz4gPCsgJDQ+IDwkNT4KUjw/PiA8JCsgKyAkKiBAPiA8JCo+IDwkLSAkLT4gPCQqPgoJCQkkOiA8 JChhY2Nlc3MgJDU6JDFAICQ6ID8gJCk+IDwkMSskMkA+IDwkMz4gPCQ0ICQ1PiA8JDY+ClI8Pz4g PCQrICsgJCogQD4gPCQqPiA8KyAkLT4gPCQqPgoJCQkkOiA8JChhY2Nlc3MgJDFAICQ6ID8gJCk+ IDwkMSskMkA+IDwkMz4gPCsgJDQ+IDwkNT4KUjw/PiA8JCs+IDwkKj4gPCQtICQtPiA8JCo+CSRA IDwkMj4gPCQ1PgpSPCQrIDxUTVBGPj4gPCQqPiA8JC0gJC0+IDwkKj4JJEAgPDxUTVBGPj4gPCQ1 PgpSPCQrPiA8JCo+IDwkLSAkLT4gPCQqPgkJJEAgPCQxPiA8JDU+CgojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMj IyAgU2VhcmNoTGlzdDogc2VhcmNoIGEgbGlzdCBvZiBpdGVtcyBpbiB0aGUgYWNjZXNzIG1hcAoj IyMJUGFyYW1ldGVyczoKIyMjCQk8ZXhhY3QgdGFnPiAkfCA8bWFyazphZGRyZXNzPiA8bWFyazph ZGRyZXNzPiAuLi4gPD4KIyMjCXdoZXJlICJleGFjdCIgaXMgZWl0aGVyICIrIiBvciAiISI6CiMj Iwk8KyBUQUc+CWxvb2t1cCB3aXRoIGFuZCB3L28gdGFnCiMjIwk8ISBUQUc+CWxvb2t1cCB3aXRo IHRhZwojIyMJcG9zc2libGUgdmFsdWVzIGZvciAibWFyayIgYXJlOgojIyMJCUQ6IHJlY3Vyc2l2 ZSBob3N0IGxvb2t1cCAoTG9va1VwRG9tYWluKQojIyMJCUU6IGV4YWN0IGxvb2t1cCwgbm8gbW9k aWZpY2F0aW9ucwojIyMJCUY6IGZ1bGwgbG9va3VwLCB0cnkgdXNlcitleHRAZG9tYWluIGFuZCB1 c2VyQGRvbWFpbgojIyMJCVU6IHVzZXIgbG9va3VwLCB0cnkgdXNlcitleHQgYW5kIHVzZXIgKGlu cHV0IG11c3QgaGF2ZSB0cmFpbGluZyBAKQojIyMJcmV0dXJuOiA8UkhTIG9mIGxvb2t1cD4gb3Ig PD8+IChub3QgZm91bmQpCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgY2xhc3Mgd2l0aCB2YWxpZCBtYXJrcyBm b3IgU2VhcmNoTGlzdApDe1NyY31FIEYgRCBVIApTU2VhcmNoTGlzdAojIGp1c3QgY2FsbCB0aGUg cnVsZXNldCB3aXRoIHRoZSBuYW1lIG9mIHRoZSB0YWcuLi4gbmljZSB0cmljay4uLgpSPCQrPiAk fCA8JD17U3JjfTokKj4gPCQqPgkkOiA8JDE+ICR8IDwkND4gJHwgJD4kMiA8JDM+IDw/PiA8JDE+ IDw+ClI8JCs+ICR8IDw+ICR8IDw/PiA8PgkJJEAgPD8+ClI8JCs+ICR8IDwkKz4gJHwgPD8+IDw+ CQkkQCAkPlNlYXJjaExpc3QgPCQxPiAkfCA8JDI+ClI8JCs+ICR8IDwkKj4gJHwgPCQrPiA8Pgkk QCA8JDM+ClI8JCs+ICR8IDwkKz4JCQkkQCA8JDI+CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMgIHRydXN0 X2F1dGg6IGlzIHVzZXIgdHJ1c3RlZCB0byBhdXRoZW50aWNhdGUgYXMgc29tZW9uZSBlbHNlPwoj IyMKIyMjCVBhcmFtZXRlcnM6CiMjIwkJJDE6IEFVVEg9IHBhcmFtZXRlciBmcm9tIE1BSUwgY29t bWFuZAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCgpTTG9jYWxfdHJ1c3RfYXV0aApTdHJ1c3RfYXV0aApSJCoJCQkk OiAkJnthdXRoX3R5cGV9ICR8ICQxCiMgcmVxdWlyZWQgYnkgUkZDIDI1NTQgc2VjdGlvbiA0LgpS JEAgJHwgJCoJCSQjZXJyb3IgJEAgNS43LjEgJDogIjU1MCBub3QgYXV0aGVudGljYXRlZCIKUiQq ICR8ICQme2F1dGhfYXV0aGVufQkJJEAgaWRlbnRpY2FsClIkKiAkfCA8JCZ7YXV0aF9hdXRoZW59 PgkkQCBpZGVudGljYWwKUiQqICR8ICQqCQkkOiAkMSAkfCAkPiJMb2NhbF90cnVzdF9hdXRoIiAk MgpSJCogJHwgJCMkKgkJJCMkMgpSJCoJCQkkI2Vycm9yICRAIDUuNy4xICQ6ICI1NTAgIiAkJnth dXRoX2F1dGhlbn0gIiBub3QgYWxsb3dlZCB0byBhY3QgYXMgIiAkJnthdXRoX2F1dGhvcn0KCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIyMjICBSZWxheV9BdXRoOiBhbGxvdyByZWxheWluZyBiYXNlZCBvbiBhdXRo ZW50aWNhdGlvbj8KIyMjCiMjIwlQYXJhbWV0ZXJzOgojIyMJCSQxOiAke2F1dGhfdHlwZX0KIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwpTTG9jYWxfUmVsYXlfQXV0aAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMgIHNydl9mZWF0 dXJlczogd2hpY2ggZmVhdHVyZXMgdG8gb2ZmZXIgdG8gYSBjbGllbnQ/CiMjIwkoZG9uZSBpbiBz ZXJ2ZXIpCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKU3Nydl9mZWF0dXJlcwpSJCoJCSQ6ICQ+RCA8JCZ7Y2xpZW50 X25hbWV9PiA8Pz4gPCEgIlNydl9GZWF0dXJlcyI+IDw+ClI8Pz4kKgkJJDogJD5BIDwkJntjbGll bnRfYWRkcn0+IDw/PiA8ISAiU3J2X0ZlYXR1cmVzIj4gPD4KUjw/PiQqCQkkOiA8JChhY2Nlc3Mg IlNydl9GZWF0dXJlcyI6ICQ6ID8gJCk+ClI8Pz4kKgkJJEAgT0sKUjwkKiA8VE1QRj4+JCoJJCN0 ZW1wClI8JCs+JCoJCSQjICQxCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgdHJ5X3RsczogdHJ5IHRvIHVz ZSBTVEFSVFRMUz8KIyMjCShkb25lIGluIGNsaWVudCkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpTdHJ5X3RscwpS JCoJCSQ6ICQ+RCA8JCZ7c2VydmVyX25hbWV9PiA8Pz4gPCEgIlRyeV9UTFMiPiA8PgpSPD8+JCoJ CSQ6ICQ+QSA8JCZ7c2VydmVyX2FkZHJ9PiA8Pz4gPCEgIlRyeV9UTFMiPiA8PgpSPD8+JCoJCSQ6 IDwkKGFjY2VzcyAiVHJ5X1RMUyI6ICQ6ID8gJCk+ClI8Pz4kKgkJJEAgT0sKUjwkKiA8VE1QRj4+ JCoJJCNlcnJvciAkQCA0LjMuMCAkOiAiNDUxIFRlbXBvcmFyeSBzeXN0ZW0gZmFpbHVyZS4gUGxl YXNlIHRyeSBhZ2FpbiBsYXRlci4iClI8Tk8+JCoJCSQjZXJyb3IgJEAgNS43LjEgJDogIjU1MCBk byBub3QgdHJ5IFRMUyB3aXRoICIgJCZ7c2VydmVyX25hbWV9ICIgWyIkJntzZXJ2ZXJfYWRkcn0i XSIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIyMjICB0bHNfcmNwdDogaXMgY29ubmVjdGlvbiB3aXRoIHNlcnZl ciAiZ29vZCIgZW5vdWdoPwojIyMJKGRvbmUgaW4gY2xpZW50LCBwZXIgcmVjaXBpZW50KQojIyMK IyMjCVBhcmFtZXRlcnM6CiMjIwkJJDE6IHJlY2lwaWVudAojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClN0bHNfcmNw dApSJCoJCQkkOiAkKG1hY3JvIHtUTFNfTmFtZX0gJEAgJCZ7c2VydmVyX25hbWV9ICQpICQxClIk KwkJCSQ6IDw/PiAkPkNhbm9uQWRkciAkMQpSPD8+ICQrIDwgQCAkKyAuID4JPD8+ICQxIDxAICQy ID4KUjw/PiAkKyA8IEAgJCsgPgkkOiAkMSA8QCAkMiA+ICR8IDxGOiQxQCQyPiA8VTokMUA+IDxE OiQyPiA8RTo+ClI8Pz4gJCsJCQkkOiAkMSAkfCA8VTokMUA+IDxFOj4KUiQqICR8ICQrCSQ6ICQx ICR8ICQ+U2VhcmNoTGlzdCA8ISAiVExTX1JjcHQiPiAkfCAkMiA8PgpSJCogJHwgPD8+CSRAIE9L ClIkKiAkfCA8JCogPFRNUEY+PgkkI2Vycm9yICRAIDQuMy4wICQ6ICI0NTEgVGVtcG9yYXJ5IHN5 c3RlbSBmYWlsdXJlLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIKUiQqICR8IDwkKz4JJEAgJD4i VExTX2Nvbm5lY3Rpb24iICQme3ZlcmlmeX0gJHwgPCQyPgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMgIHRs c19jbGllbnQ6IGlzIGNvbm5lY3Rpb24gd2l0aCBjbGllbnQgImdvb2QiIGVub3VnaD8KIyMjCShk b25lIGluIHNlcnZlcikKIyMjCiMjIwlQYXJhbWV0ZXJzOgojIyMJCSR7dmVyaWZ5fSAkfCAoTUFJ THxTVEFSVFRMUykKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpTdGxzX2NsaWVudApSJCoJCSQ6ICQobWFjcm8ge1RM U19OYW1lfSAkQCAkJntzZXJ2ZXJfbmFtZX0gJCkgJDEKUiQqICR8ICQqCSQ6ICQxICR8ICQ+RCA8 JCZ7Y2xpZW50X25hbWV9PiA8Pz4gPCEgIlRMU19DbHQiPiA8PgpSJCogJHwgPD8+JCoJJDogJDEg JHwgJD5BIDwkJntjbGllbnRfYWRkcn0+IDw/PiA8ISAiVExTX0NsdCI+IDw+ClIkKiAkfCA8Pz4k KgkkOiAkMSAkfCA8JChhY2Nlc3MgIlRMU19DbHQiOiAkOiA/ICQpPgpSJCogJHwgPCQqIDxUTVBG Pj4JJCNlcnJvciAkQCA0LjMuMCAkOiAiNDUxIFRlbXBvcmFyeSBzeXN0ZW0gZmFpbHVyZS4gUGxl YXNlIHRyeSBhZ2FpbiBsYXRlci4iClIkKgkJJEAgJD4iVExTX2Nvbm5lY3Rpb24iICQxCgojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMjIyAgdGxzX3NlcnZlcjogaXMgY29ubmVjdGlvbiB3aXRoIHNlcnZlciAiZ29v ZCIgZW5vdWdoPwojIyMJKGRvbmUgaW4gY2xpZW50KQojIyMKIyMjCVBhcmFtZXRlcjoKIyMjCQkk e3ZlcmlmeX0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpTdGxzX3NlcnZlcgpSJCoJCSQ6ICQobWFjcm8ge1RMU19O YW1lfSAkQCAkJntzZXJ2ZXJfbmFtZX0gJCkgJDEKUiQqCQkkOiAkMSAkfCAkPkQgPCQme3NlcnZl cl9uYW1lfT4gPD8+IDwhICJUTFNfU3J2Ij4gPD4KUiQqICR8IDw/PiQqCSQ6ICQxICR8ICQ+QSA8 JCZ7c2VydmVyX2FkZHJ9PiA8Pz4gPCEgIlRMU19TcnYiPiA8PgpSJCogJHwgPD8+JCoJJDogJDEg JHwgPCQoYWNjZXNzICJUTFNfU3J2IjogJDogPyAkKT4KUiQqICR8IDwkKiA8VE1QRj4+CSQjZXJy b3IgJEAgNC4zLjAgJDogIjQ1MSBUZW1wb3Jhcnkgc3lzdGVtIGZhaWx1cmUuIFBsZWFzZSB0cnkg YWdhaW4gbGF0ZXIuIgpSJCoJCSRAICQ+IlRMU19jb25uZWN0aW9uIiAkMQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwojIyMgIFRMU19jb25uZWN0aW9uOiBpcyBUTFMgY29ubmVjdGlvbiAiZ29vZCIgZW5vdWdoPwoj IyMKIyMjCVBhcmFtZXRlcnM6CiMjIwkJJHt2ZXJpZnl9ICR8IDxSZXF1aXJlbWVudD4gWzw+XQoj IyMJCVJlcXVpcmVtZW50OiBSSFMgZnJvbSBhY2Nlc3MgbWFwLCBtYXkgYmUgPyBmb3Igbm9uZS4K IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwpTVExTX2Nvbm5lY3Rpb24KUiQqICR8IDwkKj4kKgkJCSQ6ICQxICR8IDwk Mj4KIyBjcmVhdGUgdGhlIGFwcHJvcHJpYXRlIGVycm9yIGNvZGVzClIkKiAkfCA8UEVSTSArICQ9 e1Rsc30gJCo+CSQ6ICQxICR8IDw1MDM6NS43LjA+IDwkMiAkMz4KUiQqICR8IDxURU1QICsgJD17 VGxzfSAkKj4JJDogJDEgJHwgPDQwMzo0LjcuMD4gPCQyICQzPgpSJCogJHwgPCQ9e1Rsc30gJCo+ CQkkOiAkMSAkfCA8NDAzOjQuNy4wPiA8JDIgJDM+CiMgZGVhbCB3aXRoIFRMUyBoYW5kc2hha2Ug ZmFpbHVyZXM6IGFib3J0ClJTT0ZUV0FSRSAkfCA8JC06JCs+ICQqIAkkI2Vycm9yICRAICQyICQ6 ICQxICIgVExTIGhhbmRzaGFrZSBmYWlsZWQuIgpSU09GVFdBUkUgJHwgJCogCQkkI2Vycm9yICRA IDQuNy4wICQ6ICI0MDMgVExTIGhhbmRzaGFrZSBmYWlsZWQuIgojIGRlYWwgd2l0aCBUTFMgcHJv dG9jb2wgZXJyb3JzOiBhYm9ydApSUFJPVE9DT0wgJHwgPCQtOiQrPiAkKiAJJCNlcnJvciAkQCAk MiAkOiAkMSAiIFNUQVJUVExTIGZhaWxlZC4iClJQUk9UT0NPTCAkfCAkKiAJCSQjZXJyb3IgJEAg NC43LjAgJDogIjQwMyBTVEFSVFRMUyBmYWlsZWQuIgpSJCogJHwgPCQqPiA8VkVSSUZZPgkJJDog PCQyPiA8VkVSSUZZPiA8PiAkMQpSJCogJHwgPCQqPiA8VkVSSUZZICsgJCs+CSQ6IDwkMj4gPFZF UklGWT4gPCQzPiAkMQpSJCogJHwgPCQqPiA8JD17VGxzfTokLT4kKgkkOiA8JDI+IDwkMzokND4g PD4gJDEKUiQqICR8IDwkKj4gPCQ9e1Rsc306JC0gKyAkKz4kKgkkOiA8JDI+IDwkMzokND4gPCQ1 PiAkMQpSJCogJHwgJCoJCQkkQCBPSwojIGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkOiBnaXZlIGFw cHJvcHJpYXRlIGVycm9yCiMgb3RoZXIgc2lkZSBkaWQgYXV0aGVudGljYXRlICh2aWEgU1RBUlRU TFMpClI8JCo+PFZFUklGWT4gPD4gT0sJCSRAIE9LClI8JCo+PFZFUklGWT4gPCQrPiBPSwkJJDog PCQxPiA8UkVROjA+IDwkMj4KUjwkKj48VkVSSUZZOiQtPiA8JCo+IE9LCSQ6IDwkMT4gPFJFUTok Mj4gPCQzPgpSPCQqPjxFTkNSOiQtPiA8JCo+ICQqCQkkOiA8JDE+IDxSRVE6JDI+IDwkMz4KUjwk LTokKz48VkVSSUZZICQqPiA8JCo+CSQjZXJyb3IgJEAgJDIgJDogJDEgIiBhdXRoZW50aWNhdGlv biByZXF1aXJlZCIKUjwkLTokKz48VkVSSUZZICQqPiA8JCo+IEZBSUwJJCNlcnJvciAkQCAkMiAk OiAkMSAiIGF1dGhlbnRpY2F0aW9uIGZhaWxlZCIKUjwkLTokKz48VkVSSUZZICQqPiA8JCo+IE5P CSQjZXJyb3IgJEAgJDIgJDogJDEgIiBub3QgYXV0aGVudGljYXRlZCIKUjwkLTokKz48VkVSSUZZ ICQqPiA8JCo+IE5PVAkkI2Vycm9yICRAICQyICQ6ICQxICIgbm8gYXV0aGVudGljYXRpb24gcmVx dWVzdGVkIgpSPCQtOiQrPjxWRVJJRlkgJCo+IDwkKj4gTk9ORQkkI2Vycm9yICRAICQyICQ6ICQx ICIgb3RoZXIgc2lkZSBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTIgpSPCQtOiQrPjxWRVJJRlkg JCo+IDwkKj4gJCsJJCNlcnJvciAkQCAkMiAkOiAkMSAiIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUg IiAkNApSPCQqPjxSRVE6JC0+IDwkKj4JCSQ6IDwkMT4gPFJFUTokMj4gPCQzPiAkPm1heCAkJntj aXBoZXJfYml0c30gOiAkJnthdXRoX3NzZn0KUjwkKj48UkVROiQtPiA8JCo+ICQtCQkkOiA8JDE+ IDwkMjokND4gPCQzPiAkKGFyaXRoIGwgJEAgJDQgJEAgJDIgJCkKUjwkLTokKz48JC06JC0+IDwk Kj4gVFJVRQkkI2Vycm9yICRAICQyICQ6ICQxICIgZW5jcnlwdGlvbiB0b28gd2VhayAiICQ0ICIg bGVzcyB0aGFuICIgJDMKUjwkLTokKz48JC06JC0+IDwkKj4gJCoJCSQ6IDwkMTokMiArKyAkNT4K UjwkLTokKyArKyA+CQkJJEAgT0sKUjwkLTokKyArKyAkKyA+CQkJJDogPCQxOiQyPiA8JDM+ClI8 JC06JCs+IDwgJCsgKysgJCsgPgkJPCQxOiQyPiA8JDM+IDwkND4KUjwkLTokKz4gJCsJCQkkQCAk PiJUTFNfcmVxIiAkMyAkfCA8JDE6JDI+CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgVExTX3JlcTogY2hl Y2sgYWRkaXRpb25hbCBUTFMgcmVxdWlyZW1lbnRzCiMjIwojIyMJUGFyYW1ldGVyczogWzxsaXN0 PiA8b2Y+IDxyZXE+XSAkfCA8JC06JCs+CiMjIwkJJC06IFNNVFAgcmVwbHkgY29kZQojIyMJCSQr OiBFbmhhbmNlZCBTdGF0dXMgQ29kZQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClNUTFNfcmVxClIgJHwgJCsJCSRA IE9LClI8Q04+ICQqICR8IDwkKz4JCSQ6IDxDTjokJntUTFNfTmFtZX0+ICQxICR8IDwkMj4KUjxD TjokJntjbl9zdWJqZWN0fT4gJCogJHwgPCQrPgkJJEAgJD4iVExTX3JlcSIgJDEgJHwgPCQyPgpS PENOOiQrPiAkKiAkfCA8JC06JCs+CSQjZXJyb3IgJEAgJDQgJDogJDMgIiBDTiAiICQme2NuX3N1 YmplY3R9ICIgZG9lcyBub3QgbWF0Y2ggIiAkMQpSPENTOiQme2NlcnRfc3ViamVjdH0+ICQqICR8 IDwkKz4JJEAgJD4iVExTX3JlcSIgJDEgJHwgPCQyPgpSPENTOiQrPiAkKiAkfCA8JC06JCs+CSQj ZXJyb3IgJEAgJDQgJDogJDMgIiBDZXJ0IFN1YmplY3QgIiAkJntjZXJ0X3N1YmplY3R9ICIgZG9l cyBub3QgbWF0Y2ggIiAkMQpSPENJOiQme2NlcnRfaXNzdWVyfT4gJCogJHwgPCQrPgkkQCAkPiJU TFNfcmVxIiAkMSAkfCA8JDI+ClI8Q0k6JCs+ICQqICR8IDwkLTokKz4JJCNlcnJvciAkQCAkNCAk OiAkMyAiIENlcnQgSXNzdWVyICIgJCZ7Y2VydF9pc3N1ZXJ9ICIgZG9lcyBub3QgbWF0Y2ggIiAk MQpST0sJCQkkQCBPSwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMgIG1heDogcmV0dXJuIHRoZSBtYXhpbXVt IG9mIHR3byB2YWx1ZXMgc2VwYXJhdGVkIGJ5IDoKIyMjCiMjIwlQYXJhbWV0ZXJzOiBbJC1dOlsk LV0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwpTbWF4ClI6CQkkOiAwClI6JC0JCSQ6ICQxClIkLToJCSQ6ICQxClIk LTokLQkJJDogJChhcml0aCBsICRAICQxICRAICQyICQpIDogJDEgOiAkMgpSVFJVRTokLTokLQkk OiAkMgpSJC06JC06JC0JJDogJDIKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyAgUmVsYXlUTFM6IGFsbG93 IHJlbGF5aW5nIGJhc2VkIG9uIFRMUyBhdXRoZW50aWNhdGlvbgojIyMKIyMjCVBhcmFtZXRlcnM6 CiMjIwkJbm9uZQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClNSZWxheVRMUwojIGF1dGhlbnRpY2F0ZWQ/ClIkKgkJ CSQ6IDw/PiAkJnt2ZXJpZnl9ClI8Pz4gT0sJCQkkOiBPSwkJYXV0aGVudGljYXRlZDogY29udGlu dWUKUjw/PiAkKgkJCSRAIE5PCQlub3QgYXV0aGVudGljYXRlZApSJCoJCQkkOiAkJntjZXJ0X2lz c3Vlcn0KUiQrCQkJJDogJChhY2Nlc3MgQ0VSVElTU1VFUjokMSAkKQpSUkVMQVkJCQkkIyBSRUxB WQpSU1VCSkVDVAkJJDogPEA+ICQme2NlcnRfc3ViamVjdH0KUjxAPiAkKwkJCSQ6IDxAPiAkKGFj Y2VzcyBDRVJUU1VCSkVDVDokMSAkKQpSPEA+IFJFTEFZCQkkIyBSRUxBWQpSJCoJCQkkOiBOTwoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIyMgIGF1dGhpbmZvOiBsb29rdXAgYXV0aGluZm8gaW4gdGhlIGFjY2Vz cyBtYXAKIyMjCiMjIwlQYXJhbWV0ZXJzOgojIyMJCSQxOiB7c2VydmVyX25hbWV9CiMjIwkJJDI6 IHtzZXJ2ZXJfYWRkcn0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpTYXV0aGluZm8KUiQqCQkkOiA8JChhdXRoaW5m byBBdXRoSW5mbzokJntzZXJ2ZXJfbmFtZX0gJDogPyAkKT4KUjw/PgkJJDogPCQoYXV0aGluZm8g QXV0aEluZm86JCZ7c2VydmVyX2FkZHJ9ICQ6ID8gJCk+ClI8Pz4JCSQ6IDwkKGF1dGhpbmZvIEF1 dGhJbmZvOiAkOiA/ICQpPgpSPD8+CQkkQCBubwkJCQlubyBhdXRoaW5mbyBhdmFpbGFibGUKUjwk Kj4JCSQjICQxCgoKCgoKIwwKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjCiMjIyMj CQkJTUFJTCBGSUxURVIgREVGSU5JVElPTlMKIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCgojDAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMKIyMjIyMJCQlNQUlMRVIg REVGSU5JVElPTlMKIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjICAgTG9jYWwgYW5k IFByb2dyYW0gTWFpbGVyIHNwZWNpZmljYXRpb24gICAjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMjIyMjICAkSWQ6IGxvY2FsLm00LHYgOC41 OSAyMDA0LzExLzIzIDAwOjM3OjI1IGNhIEV4cCAkICAjIyMjIwoKIwojICBFbnZlbG9wZSBzZW5k ZXIgcmV3cml0aW5nCiMKU0VudkZyb21MClI8QD4JCQkkbgkJCWVycm9ycyB0byBtYWlsZXItZGFl bW9uClJAIDxAICQqPgkJJG4JCQl0ZW1wb3JhcmlseSBieXBhc3MgU3VuIGJvZ29zaXR5ClIkKwkJ CSQ6ICQ+QWRkRG9tYWluICQxCWFkZCBsb2NhbCBkb21haW4gaWYgbmVlZGVkClIkKgkJCSQ6ICQ+ TWFzcUVudiAkMQkJZG8gbWFzcXVlcmFkaW5nCgojCiMgIEVudmVsb3BlIHJlY2lwaWVudCByZXdy aXRpbmcKIwpTRW52VG9MClIkKyA8IEAgJCogPgkJJDogJDEJCQlzdHJpcCBob3N0IHBhcnQKUiQr ICsgJCoJCSQ6IDwgJCZ7YWRkcl90eXBlfSA+ICQxICsgJDIJbWFyayB3aXRoIGFkZHIgdHlwZQpS PGUgcz4gJCsgKyAkKgkJJDogJDEJCQlyZW1vdmUgK2RldGFpbCBmb3Igc2VuZGVyClI8ICQqID4g JCsJCSQ6ICQyCQkJZWxzZSByZW1vdmUgbWFyawoKIwojICBIZWFkZXIgc2VuZGVyIHJld3JpdGlu ZwojClNIZHJGcm9tTApSPEA+CQkJJG4JCQllcnJvcnMgdG8gbWFpbGVyLWRhZW1vbgpSQCA8QCAk Kj4JCSRuCQkJdGVtcG9yYXJpbHkgYnlwYXNzIFN1biBib2dvc2l0eQpSJCsJCQkkOiAkPkFkZERv bWFpbiAkMQlhZGQgbG9jYWwgZG9tYWluIGlmIG5lZWRlZApSJCoJCQkkOiAkPk1hc3FIZHIgJDEJ CWRvIG1hc3F1ZXJhZGluZwoKIwojICBIZWFkZXIgcmVjaXBpZW50IHJld3JpdGluZwojClNIZHJU b0wKUiQrCQkJJDogJD5BZGREb21haW4gJDEJYWRkIGxvY2FsIGRvbWFpbiBpZiBuZWVkZWQKUiQq IDwgQCAqTE9DQUwqID4gJCoJJDogJDEgPCBAICRqIC4gPiAkMgoKIwojICBDb21tb24gY29kZSB0 byBhZGQgbG9jYWwgZG9tYWluIG5hbWUgKG9ubHkgaWYgYWx3YXlzLWFkZC1kb21haW4pCiMKU0Fk ZERvbWFpbgoKTWxvY2FsLAkJUD0vdXNyL2xpYmV4ZWMvbWFpbC5sb2NhbCwgRj1sc0RGTUF3NTov fEBxUFNYbW56OSwgUz1FbnZGcm9tU01UUC9IZHJGcm9tTCwgUj1FbnZUb0wvSGRyVG9MLAoJCVQ9 RE5TL1JGQzgyMi9TTVRQLAoJCUE9bWFpbC5sb2NhbCAtbApNcHJvZywJCVA9L2Jpbi9zaCwgRj1s c0RGTW9xZXU5LCBTPUVudkZyb21ML0hkckZyb21MLCBSPUVudlRvTC9IZHJUb0wsIEQ9JHo6LywK CQlUPVgtVW5peC9YLVVuaXgvWC1Vbml4LAoJCUE9c2ggLWMgJHUKCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjICAgU01UUCBNYWlsZXIgc3BlY2lmaWNhdGlvbiAgICMj IwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIyMjIyAgJElkOiBzbXRw Lm00LHYgOC42NCAyMDAxLzA0LzAzIDAxOjUyOjU0IGdzaGFwaXJvIEV4cCAkICAjIyMjIwoKIwoj ICBjb21tb24gc2VuZGVyIGFuZCBtYXNxdWVyYWRpbmcgcmVjaXBpZW50IHJld3JpdGluZwojClNN YXNxU01UUApSJCogPCBAICQqID4gJCoJCSRAICQxIDwgQCAkMiA+ICQzCQlhbHJlYWR5IGZ1bGx5 IHF1YWxpZmllZApSJCsJCQkkQCAkMSA8IEAgKkxPQ0FMKiA+CQlhZGQgbG9jYWwgcXVhbGlmaWNh dGlvbgoKIwojICBjb252ZXJ0IHBzZXVkby1kb21haW4gYWRkcmVzc2VzIHRvIHJlYWwgZG9tYWlu IGFkZHJlc3NlcwojClNQc2V1ZG9Ub1JlYWwKCiMgcGFzcyA8cm91dGUtYWRkcj5zIHRocm91Z2gK UjwgQCAkKyA+ICQqCQkkQCA8IEAgJDEgPiAkMgkJCXJlc29sdmUgPHJvdXRlLWFkZHI+CgojIG91 dHB1dCBmYWtlIGRvbWFpbnMgYXMgdXNlciVmYWtlQHJlbGF5CgojIGRvIFVVQ1AgaGV1cmlzdGlj czsgbm90ZSB0aGF0IHRoZXNlIGFyZSBzaGFyZWQgd2l0aCBVVUNQIG1haWxlcnMKUiQrIDwgQCAk KyAuVVVDUC4gPgkkOiA8ICQyICEgPiAkMQkJCWNvbnZlcnQgdG8gVVVDUCBmb3JtClIkKyA8IEAg JCogPiAkKgkJJEAgJDEgPCBAICQyID4gJDMJCW5vdCBVVUNQIGZvcm0KCiMgbGVhdmUgdGhlc2Ug aW4gLlVVQ1AgZm9ybSB0byBhdm9pZCBmdXJ0aGVyIHRhbXBlcmluZwpSPCAkJmggISA+ICQtICEg JCsJJEAgJDIgPCBAICQxIC5VVUNQLiA+ClI8ICQmaCAhID4gJC0uJCsgISAkKwkkQCAkMyA8IEAg JDEuJDIgPgpSPCAkJmggISA+ICQrCQkkQCAkMSA8IEAgJCZoIC5VVUNQLiA+ClI8ICQrICEgPiAk KwkJJDogJDEgISAkMiA8IEAgJFkgPgkJdXNlIFVVQ1BfUkVMQVkKUiQrIDwgQCAkflsgJCogOiAk KyA+CSRAICQxIDwgQCAkNCA+CQkJc3RyaXAgbWFpbGVyOiBwYXJ0ClIkKyA8IEAgPgkJJDogJDEg PCBAICpMT0NBTCogPgkJaWYgbm8gVVVDUF9SRUxBWQoKCiMKIyAgZW52ZWxvcGUgc2VuZGVyIHJl d3JpdGluZwojClNFbnZGcm9tU01UUApSJCsJCQkkOiAkPlBzZXVkb1RvUmVhbCAkMQkJc2VuZGVy L3JlY2lwaWVudCBjb21tb24KUiQqIDo7IDxAPgkJJEAJCQkJbGlzdDo7IHNwZWNpYWwgY2FzZQpS JCoJCQkkOiAkPk1hc3FTTVRQICQxCQlxdWFsaWZ5IHVucXVhbCdlZCBuYW1lcwpSJCsJCQkkOiAk Pk1hc3FFbnYgJDEJCQlkbyBtYXNxdWVyYWRpbmcKCgojCiMgIGVudmVsb3BlIHJlY2lwaWVudCBy ZXdyaXRpbmcgLS0KIyAgYWxzbyBoZWFkZXIgcmVjaXBpZW50IGlmIG5vdCBtYXNxdWVyYWRpbmcg cmVjaXBpZW50cwojClNFbnZUb1NNVFAKUiQrCQkJJDogJD5Qc2V1ZG9Ub1JlYWwgJDEJCXNlbmRl ci9yZWNpcGllbnQgY29tbW9uClIkKwkJCSQ6ICQ+TWFzcVNNVFAgJDEJCXF1YWxpZnkgdW5xdWFs J2VkIG5hbWVzClIkKiA8IEAgKkxPQ0FMKiA+ICQqCSQ6ICQxIDwgQCAkaiAuID4gJDIKCiMKIyAg aGVhZGVyIHNlbmRlciBhbmQgbWFzcXVlcmFkaW5nIGhlYWRlciByZWNpcGllbnQgcmV3cml0aW5n CiMKU0hkckZyb21TTVRQClIkKwkJCSQ6ICQ+UHNldWRvVG9SZWFsICQxCQlzZW5kZXIvcmVjaXBp ZW50IGNvbW1vbgpSOjsgPEA+CQkJJEAJCQkJbGlzdDo7IHNwZWNpYWwgY2FzZQoKIyBkbyBzcGVj aWFsIGhlYWRlciByZXdyaXRpbmcKUiQqIDxAPiAkKgkJJEAgJDEgPEA+ICQyCQkJcGFzcyBudWxs IGhvc3QgdGhyb3VnaApSPCBAICQqID4gJCoJCSRAIDwgQCAkMSA+ICQyCQkJcGFzcyByb3V0ZS1h ZGRyIHRocm91Z2gKUiQqCQkJJDogJD5NYXNxU01UUCAkMQkJcXVhbGlmeSB1bnF1YWwnZWQgbmFt ZXMKUiQrCQkJJDogJD5NYXNxSGRyICQxCQkJZG8gbWFzcXVlcmFkaW5nCgoKIwojICByZWxheSBt YWlsZXIgaGVhZGVyIG1hc3F1ZXJhZGluZyByZWNpcGllbnQgcmV3cml0aW5nCiMKU01hc3FSZWxh eQpSJCsJCQkkOiAkPk1hc3FTTVRQICQxClIkKwkJCSQ6ICQ+TWFzcUhkciAkMQoKTXNtdHAsCQlQ PVtJUENdLCBGPW1ERk11WCwgUz1FbnZGcm9tU01UUC9IZHJGcm9tU01UUCwgUj1FbnZUb1NNVFAs IEU9XHJcbiwgTD05OTAsCgkJVD1ETlMvUkZDODIyL1NNVFAsCgkJQT1UQ1AgJGgKTWVzbXRwLAkJ UD1bSVBDXSwgRj1tREZNdVhhLCBTPUVudkZyb21TTVRQL0hkckZyb21TTVRQLCBSPUVudlRvU01U UCwgRT1cclxuLCBMPTk5MCwKCQlUPUROUy9SRkM4MjIvU01UUCwKCQlBPVRDUCAkaApNc210cDgs CQlQPVtJUENdLCBGPW1ERk11WDgsIFM9RW52RnJvbVNNVFAvSGRyRnJvbVNNVFAsIFI9RW52VG9T TVRQLCBFPVxyXG4sIEw9OTkwLAoJCVQ9RE5TL1JGQzgyMi9TTVRQLAoJCUE9VENQICRoCk1kc210 cCwJCVA9W0lQQ10sIEY9bURGTXVYYSUsIFM9RW52RnJvbVNNVFAvSGRyRnJvbVNNVFAsIFI9RW52 VG9TTVRQLCBFPVxyXG4sIEw9OTkwLAoJCVQ9RE5TL1JGQzgyMi9TTVRQLAoJCUE9VENQICRoCk1y ZWxheSwJCVA9W0lQQ10sIEY9bURGTXVYYTgsIFM9RW52RnJvbVNNVFAvSGRyRnJvbVNNVFAsIFI9 TWFzcVNNVFAsIEU9XHJcbiwgTD0yMDQwLAoJCVQ9RE5TL1JGQzgyMi9TTVRQLAoJCUE9VENQICRo Cgo= ------=ZEOSMAIL_BOUND_0.489048333912255--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060605140229.44BF5921832>