RnJlZXNjYWxlIE1DRjUzNzNFVkIgQ29sZEZpcmUgRGV2ZWxvcG1lbnQgQm9hcmQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpUc2lDaHVuZyBMaWV3KFRzaS1DaHVuZy5MaWV3QGZyZWVzY2FsZS5jb20pCkNyZWF0ZWQgMTEvMDgvMDcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKCkNoYW5nZWQgZmlsZXM6Cj09PT09PT09PT09PT09CgotIGJvYXJkL2ZyZWVzY2FsZS9tNTM3M2V2Yi9tNTM3M2V2Yi5jCURyYW0gc2V0dXAKLSBib2FyZC9mcmVlc2NhbGUvbTUzNzNldmIvbWlpLmMJTWlpIGFjY2VzcwotIGJvYXJkL2ZyZWVzY2FsZS9tNTM3M2V2Yi9NYWtlZmlsZQlNYWtlZmlsZQotIGJvYXJkL2ZyZWVzY2FsZS9tNTM3M2V2Yi9jb25maWcubWsJY29uZmlnIG1ha2UKLSBib2FyZC9mcmVlc2NhbGUvbTUzNzNldmIvdS1ib290LmxkcwlMaW5rZXIgZGVzY3JpcHRpb24KCi0gY3B1L21jZjUzMngvY3B1LmMJCWNwdSBzcGVjaWZpYyBjb2RlCi0gY3B1L21jZjUzMngvY3B1X2luaXQuYwlGQkNTLCBNdXggcGlucywgaWNhY2hlIGFuZCBSVEMgZXh0cmEgcmVncwotIGNwdS9tY2Y1MzJ4L2ludGVycnVwdHMuYwljcHUgc3BlY2lmaWMgaW50ZXJydXB0IHN1cHBvcnQKLSBjcHUvbWNmNTMyeC9zcGVlZC5jCQlzeXN0ZW0sIHBjaSwgZmxleGJ1cywgYW5kIGNwdSBjbG9jawotIGNwdS9tY2Y1MzJ4L01ha2VmaWxlCQlNYWtlZmlsZQotIGNwdS9tY2Y1MzJ4L2NvbmZpZy5tawkJY29uZmlnIG1ha2UKLSBjcHUvbWNmNTMyeC9zdGFydC5TCQlzdGFydCB1cCBhc3NlbWJseSBjb2RlCgotIGRvYy9SRUFETUUubTUzNzNldmIJCVRoaXMgcmVhZG1lIGZpbGUKCi0gZHJpdmVycy9uZXQvbWNmZmVjLmMJCUNvbGRGaXJlIGNvbW1vbiBGRUMgZHJpdmVyCi0gZHJpdmVycy9zZXJpYWwvbWNmdWFydC5jCUNvbGRGaXJlIGNvbW1vbiBVQVJUIGRyaXZlcgotIGRyaXZlcnMvcnRjL21jZnJ0Yy5jCQlSZWFsdGltZSBjbG9jayBEcml2ZXIKCi0gaW5jbHVkZS9hc20tbTY4ay9iaXRvcHMuaAkJQml0IG9wZXJhdGlvbiBmdW5jdGlvbiBleHBvcnQKLSBpbmNsdWRlL2FzbS1tNjhrL2J5dGVvcmRlci5oCQlCeXRlIG9yZGVyIGZ1bmN0aW9ucwotIGluY2x1ZGUvYXNtLW02OGsvZmVjLmgJCUZFQyBzdHJ1Y3R1cmUgYW5kIGRlZmluaXRpb24KLSBpbmNsdWRlL2FzbS1tNjhrL2ZzbF9pMmMuaAkJSTJDIHN0cnVjdHVyZSBhbmQgZGVmaW5pdGlvbgotIGluY2x1ZGUvYXNtLW02OGsvZ2xvYmFsX2RhdGEuaAlHbG9iYWwgZGF0YSBzdHJ1Y3R1cmUKLSBpbmNsdWRlL2FzbS1tNjhrL2ltbWFwLmgJCUNvbGRGaXJlIHNwZWNpZmljIGhlYWRlciBmaWxlIGFuZCBkcml2ZXIgbWFjcm9zCi0gaW5jbHVkZS9hc20tbTY4ay9pbW1hcF81MzJ4LmgJCW1jZjUzMnggc3BlY2lmaWMgaGVhZGVyIGZpbGUKLSBpbmNsdWRlL2FzbS1tNjhrL2lvLmgJCQlpbyBmdW5jdGlvbnMKLSBpbmNsdWRlL2FzbS1tNjhrL201MzJ4LmgJCW1jZjUzMnggc3BlY2lmaWMgaGVhZGVyIGZpbGUKLSBpbmNsdWRlL2FzbS1tNjhrL3Bvc2l4X3R5cGVzLmgJUG9zaXgKLSBpbmNsdWRlL2FzbS1tNjhrL3Byb2Nlc3Nvci5oCQloZWFkZXIgZmlsZQotIGluY2x1ZGUvYXNtLW02OGsvcHRyYWNlLmgJCUV4Y2VwdGlvbiBzdHJ1Y3R1cmUKLSBpbmNsdWRlL2FzbS1tNjhrL3J0Yy5oCQlSZWFsdGltZSBjbG9jayBoZWFkZXIgZmlsZQotIGluY2x1ZGUvYXNtLW02OGsvc3RyaW5nLmgJCVN0cmluZyBmdW5jdGlvbiBleHBvcnQKLSBpbmNsdWRlL2FzbS1tNjhrL3RpbWVyLmgJCVRpbWVyIHN0cnVjdHVyZSBhbmQgZGVmaW5pdGlvbgotIGluY2x1ZGUvYXNtLW02OGsvdHlwZXMuaAkJRGF0YSB0eXBlcyBkZWZpbml0aW9uCi0gaW5jbHVkZS9hc20tbTY4ay91YXJ0LmgJCVVhcnQgc3RydWN0dXJlIGFuZCBkZWZpbml0aW9uCi0gaW5jbHVkZS9hc20tbTY4ay91LWJvb3QuaAkJdS1ib290IHN0cnVjdHVyZQoKLSBpbmNsdWRlL2NvbmZpZ3MvTTUzNzNFVkIuaAkJQm9hcmQgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlCgotIGxpYl9tNjhrL2JvYXJkLmMJCQlib2FyZCBpbml0IGZ1bmN0aW9uCi0gbGliX202OGsvY2FjaGUuYwotIGxpYl9tNjhrL2ludGVycnVwdHMJCQlDb2xkZmlyZSBjb21tb24gaW50ZXJydXB0IGZ1bmN0aW9ucwotIGxpYl9tNjhrL202OGtfbGludXguYwotIGxpYl9tNjhrL3RpbWUuYwkJCVRpbWVyIGZ1bmN0aW9ucyAoRG1hIHRpbWVyIGFuZCBQSVQpCi0gbGliX202OGsvdHJhcHMuYwkJCUV4Y2VwdGlvbiBpbml0IGNvZGUKCjEgTUNGNTM3MyBzcGVjaWZpYyBPcHRpb25zL1NldHRpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoxLjEgcHJlLWxvYWRlciBpcyBubyBsb25nZXIgc3VwcG9lciBpbiB0aGllIGNvbGRmaXJlIGZhbWlseQoKMS4yIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIE01MzczRVZCIERldmVsb3BtZW50IEJvYXJkCkNPTkZJR19NQ0Y1MzJ4CQktLSBkZWZpbmUgZm9yIGFsbCBNQ0Y1MzJ4IENQVXMKQ09ORklHX001MzczCQktLSBkZWZpbmUgZm9yIGFsbCBGcmVlc2NhbGUgTUNGNTM3MyBDUFVzCkNPTkZJR19NNTM3M0VWQgkJLS0gZGVmaW5lIGZvciBNNTM3M0VWQiBib2FyZAoKQ09ORklHX01DRlVBUlQJCS0tIGRlZmluZSB0byB1c2UgY29tbW9uIENGIFVhcnQgZHJpdmVyCkNPTkZJR19TWVNfVUFSVF9QT1JUCQktLSBkZWZpbmUgVUFSVCBwb3J0IG51bWJlciwgc3RhcnQgd2l0aCAwLCAxIGFuZCAyCkNPTkZJR19CQVVEUkFURQkJLS0gZGVmaW5lIFVBUlQgYmF1ZHJhdGUKCkNPTkZJR19NQ0ZSVEMJCS0tIGRlZmluZSB0byB1c2UgY29tbW9uIENGIFJUQyBkcml2ZXIKQ09ORklHX1NZU19NQ0ZSVENfQkFTRQkJLS0gcHJvdmlkZSBiYXNlIGFkZHJlc3MgZm9yIFJUQyBpbiBpbW1hcC5oCkNPTkZJR19TWVNfUlRDX09TQ0lMTEFUT1IJLS0gZGVmaW5lIFJUQyBjbG9jayBmcmVxdWVuY3kKUlRDX0RFQlVHCQktLSBkZWZpbmUgdG8gc2hvdyBSVEMgZGVidWcgbWVzc2FnZQpDT05GSUdfQ01EX0RBVEUJCS0tIGVuYWJsZSB0byB1c2UgZGF0ZSBmZWF0dXJlIGluIHUtYm9vdAoKQ09ORklHX01DRkZFQwkJLS0gZGVmaW5lIHRvIHVzZSBjb21tb24gQ0YgRkVDIGRyaXZlcgpDT05GSUdfTkVUX01VTFRJCS0tIGRlZmluZSB0byB1c2UgbXVsdGkgRkVDIGluIHUtYm9vdApDT05GSUdfTUlJCQktLSBlbmFibGUgdG8gdXNlIE1JSSBkcml2ZXIKQ09ORklHX0NGX0RPTUlJCQktLSBlbmFibGUgdG8gdXNlIE1JSSBmZWF0dXJlIGluIGNtZF9taWkuYwpDT05GSUdfU1lTX0RJU0NPVkVSX1BIWQktLSBlbmFibGUgUEhZIGRpc2NvdmVyeQpDT05GSUdfU1lTX1JYX0VUSF9CVUZGRVIJLS0gU2V0IEZFQyBSZWNlaXZlIGJ1ZmZlcgpDT05GSUdfU1lTX0ZBVUxUX0VDSE9fTElOS19ET1dOLS0KQ09ORklHX1NZU19GRUMwX1BJTk1VWAkJLS0gU2V0IEZFQzAgUGluIGNvbmZpZ3VyYXRpb24KQ09ORklHX1NZU19GRUMwX01JSUJBU0UJLS0gU2V0IEZFQzAgTUlJIGJhc2UgcmVnaXN0ZXIKTUNGRkVDX1RPVVRfTE9PUAktLSBzZXQgRkVDIHRpbWVvdXQgbG9vcAoKQ09ORklHX01DRlRNUgkJLS0gZGVmaW5lIHRvIHVzZSBETUEgdGltZXIKQ09ORklHX01DRlBJVAkJLS0gZGVmaW5lIHRvIHVzZSBQSVQgdGltZXIKCkNPTkZJR19GU0xfSTJDCQktLSBkZWZpbmUgdG8gdXNlIEZTTCBjb21tb24gSTJDIGRyaXZlcgpDT05GSUdfSEFSRF9JMkMJCS0tIGRlZmluZSBmb3IgSTJDIGhhcmR3YXJlIHN1cHBvcnQKQ09ORklHX1NPRlRfSTJDCQktLSBkZWZpbmUgZm9yIEkyQyBiaXQtYmFuZ2VkCkNPTkZJR19TWVNfSTJDX1NQRUVECQktLSBkZWZpbmUgZm9yIEkyQyBzcGVlZApDT05GSUdfU1lTX0kyQ19TTEFWRQkJLS0gZGVmaW5lIGZvciBJMkMgc2xhdmUgYWRkcmVzcwpDT05GSUdfU1lTX0kyQ19PRkZTRVQJCS0tIGRlZmluZSBmb3IgSTJDIGJhc2UgYWRkcmVzcyBvZmZzZXQKQ09ORklHX1NZU19JTU1SCQktLSBkZWZpbmUgZm9yIE1CQVIgb2Zmc2V0CgpDT05GSUdfU1lTX01CQVIJCS0tIGRlZmluZSBNQkFSIG9mZnNldAoKQ09ORklHX01PTklUT1JfSVNfSU5fUkFNIC0tIE5vdCBzdXBwb3J0CgpDT05GSUdfU1lTX0lOSVRfUkFNX0FERFIJLS0gZGVmaW5lcyB0aGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBNQ0Y1MzczIGludGVybmFsIFNSQU0KCkNPTkZJR19TWVNfQ1NuX0JBU0UJLS0gZGVmaW5lcyB0aGUgQ2hpcCBTZWxlY3QgQmFzZSByZWdpc3RlcgpDT05GSUdfU1lTX0NTbl9NQVNLCS0tIGRlZmluZXMgdGhlIENoaXAgU2VsZWN0IE1hc2sgcmVnaXN0ZXIKQ09ORklHX1NZU19DU25fQ1RSTAktLSBkZWZpbmVzIHRoZSBDaGlwIFNlbGVjdCBDb250cm9sIHJlZ2lzdGVyCgpDT05GSUdfU1lTX1NEUkFNX0JBU0UJLS0gZGVmaW5lcyB0aGUgRFJBTSBCYXNlCgoyLiBNRU1PUlkgTUFQIFVOREVSIFUtQk9PVCBBTkQgTElOVVggS0VSTkVMCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KMi4xLiBTeXN0ZW0gbWVtb3J5IG1hcDoKCUZsYXNoOgkJMHgwMDAwMDAwMC0weDNGRkZGRkZGICgxMDI0TUIpCglERFI6CQkweDQwMDAwMDAwLTB4N0ZGRkZGRkYgKDEwMjRNQikKCVNSQU06CQkweDgwMDAwMDAwLTB4OEZGRkZGRkYgKDI1Nk1CKQoJSVA6CQkweEYwMDAwMDAwLTB4RkZGRkZGRkYgKDI1Nk1CKQoKMi4yLiBGb3IgdGhlIGluaXRpYWwgYnJpbmd1cCwgd2UgYWRvcHRlZCBhIGNvbnNpc3RlbnQgbWVtb3J5IHNjaGVtZSBiZXR3ZWVuIHUtYm9vdCBhbmQKCWxpbnV4IGtlcm5lbCwgeW91IGNhbiBjdXN0b21pemUgaXQgYmFzZWQgb24geW91ciBzeXN0ZW0gcmVxdWlyZW1lbnRzOgoJRmxhc2gwOgkJMHgwMDAwMDAwMC0weDAwRkZGRkZGICgxNk1CKQoKCUREUjoJCTB4NDAwMDAwMDAtMHg0RkZGRkZGRiAoMjU2TUIpCglTUkFNOgkJMHg4MDAwMDAwMC0weDgwMDA3RkZGICgzMktCKQoJSVA6CQkweEZDMDAwMDAwLTB4RkMwRkZGRkYgKDY0S0IpCgozLiBDT01QSUxBVElPTgo9PT09PT09PT09PT09PQozLjEJVG8gY3JlYXRlIFUtQm9vdCB0aGUgZ2NjLTQuMS14eCBjb21waWxlciBzZXQgKENvbGRGaXJlIEVMRiBvcgp1Q2xpbnV4IHZlcnNpb24pIGZyb20gY29kZXNvdXJjZXJ5LmNvbSB3YXMgdXNlZC4gRG93bmxvYWQgaXQgZnJvbToKaHR0cDovL3d3dy5jb2Rlc291cmNlcnkuY29tL2dudV90b29sY2hhaW5zL2NvbGRmaXJlL2Rvd25sb2FkLmh0bWwKCjMuMiBDb21waWxhdGlvbgogICBleHBvcnQgQ1JPU1NfQ09NUElMRT1jcm9zcy1jb21waWxlLXByZWZpeAogICBjZCB1LWJvb3QtMS54LngKICAgbWFrZSBkaXN0Y2xlYW4KICAgbWFrZSBNNTM3M0VWQl9jb25maWcKICAgbWFrZQoKNC4gU0NSRUVOIERVTVAKPT09PT09PT09PT09PT0KNC4xIE01MzczRVZCIERldmVsb3BtZW50IGJvYXJkCiAgICAoTk9URTogTWF5IG5vdCBzaG93IGV4YWN0bHkgdGhlIHNhbWUpCgpVLUJvb3QgMS4zLjAgKE5vdiA4IDIwMDcgLSAxMjo0NDowOCkKCkNQVTogICBGcmVlc2NhbGUgTUNGNTM3MyAoTWFzazo2NSBWZXJzaW9uOjEpCiAgICAgICBDUFUgQ0xLIDI0MCBNaHogQlVTIENMSyA4MCBNaHoKQm9hcmQ6IEZyZWVzY2FsZSBGaXJlRW5naW5lIDUzNzMgRVZCCkkyQzogICByZWFkeQpEUkFNOiAgMzIgTUIKRkxBU0g6IDIgTUIKSW46ICAgIHNlcmlhbApPdXQ6ICAgc2VyaWFsCkVycjogICBzZXJpYWwKTkFORDogIDE2IE1pQgpOZXQ6ICAgRkVDMAotPiBwcmludApib290ZGVsYXk9MQpiYXVkcmF0ZT0xMTUyMDAKZXRoYWRkcj0wMDplMDowYzpiYzplNTo2MApob3N0bmFtZT1NNTM3M0VWQgpuZXRkZXY9ZXRoMApsb2FkYWRkcj00MDAxMDAwMApsb2FkPXRmdHAgJHtsb2FkYWRkcikgJHt1LWJvb3R9CnVwZD1ydW4gbG9hZDsgcnVuIHByb2cKcHJvZz1wcm90IG9mZiAwIDJmZmZmO2VyYSAwIDJmZmZmO2NwLmIgJHtsb2FkYWRkcn0gMCAke2ZpbGVzaXplfTtzYXZlCmV0aGFjdD1GRUMwCnUtYm9vdD11LWJvb3QuYmluCmdhdGV3YXlpcD0xOTIuMTY4LjEuMQpuZXRtYXNrPTI1NS4yNTUuMjU1LjAKaXBhZGRyPTE5Mi4xNjguMS4zCnNlcnZlcmlwPTE5Mi4xNjguMS4yCnN0ZGluPXNlcmlhbApzdGRvdXQ9c2VyaWFsCnN0ZGVycj1zZXJpYWwKbWVtPTI2MTYzMmsKCkVudmlyb25tZW50IHNpemU6IDQwMS84MTg4IGJ5dGVzCi0+IGJkaW5mbwptZW1zdGFydCAgICA9IDB4NDAwMDAwMDAKbWVtc2l6ZSAgICAgPSAweDAyMDAwMDAwCmZsYXNoc3RhcnQgID0gMHgwMDAwMDAwMApmbGFzaHNpemUgICA9IDB4MDAyMDAwMDAKZmxhc2hvZmZzZXQgPSAweDAwMDAwMDAwCnNyYW1zdGFydCAgID0gMHg4MDAwMDAwMApzcmFtc2l6ZSAgICA9IDB4MDAwMDgwMDAKbWJhcgkgICAgPSAweEZDMDAwMDAwCmJ1c2ZyZXEgICAgID0JICA4MCBNSHoKZXRoYWRkciAgICAgPSAwMDpFMDowQzpCQzpFNTo2MAppcF9hZGRyICAgICA9IDE5Mi4xNjguMS4zCmJhdWRyYXRlICAgID0gMTE1MjAwIGJwcwotPgotPiBoZWxwCj8JLSBhbGlhcyBmb3IgJ2hlbHAnCmJhc2UJLSBwcmludCBvciBzZXQgYWRkcmVzcyBvZmZzZXQKYmRpbmZvCS0gcHJpbnQgQm9hcmQgSW5mbyBzdHJ1Y3R1cmUKYm9vdAktIGJvb3QgZGVmYXVsdCwgaS5lLiwgcnVuICdib290Y21kJwpib290ZAktIGJvb3QgZGVmYXVsdCwgaS5lLiwgcnVuICdib290Y21kJwpib290ZWxmIC0gQm9vdCBmcm9tIGFuIEVMRiBpbWFnZSBpbiBtZW1vcnkKYm9vdG0JLSBib290IGFwcGxpY2F0aW9uIGltYWdlIGZyb20gbWVtb3J5CmJvb3RwCS0gYm9vdCBpbWFnZSB2aWEgbmV0d29yayB1c2luZyBCb290UC9URlRQIHByb3RvY29sCmJvb3R2eAktIEJvb3QgdnhXb3JrcyBmcm9tIGFuIEVMRiBpbWFnZQpjbXAJLSBtZW1vcnkgY29tcGFyZQpjb25pbmZvIC0gcHJpbnQgY29uc29sZSBkZXZpY2VzIGFuZCBpbmZvcm1hdGlvbgpjcAktIG1lbW9yeSBjb3B5CmNyYzMyCS0gY2hlY2tzdW0gY2FsY3VsYXRpb24KZGF0ZQktIGdldC9zZXQvcmVzZXQgZGF0ZSAmIHRpbWUKZGNhY2hlCS0gZW5hYmxlIG9yIGRpc2FibGUgZGF0YSBjYWNoZQplY2hvCS0gZWNobyBhcmdzIHRvIGNvbnNvbGUKZXJhc2UJLSBlcmFzZSBGTEFTSCBtZW1vcnkKZmxpbmZvCS0gcHJpbnQgRkxBU0ggbWVtb3J5IGluZm9ybWF0aW9uCmdvCS0gc3RhcnQgYXBwbGljYXRpb24gYXQgYWRkcmVzcyAnYWRkcicKaGVscAktIHByaW50IG9ubGluZSBoZWxwCmkyYwktIEkyQyBzdWItc3lzdGVtCmljYWNoZQktIGVuYWJsZSBvciBkaXNhYmxlIGluc3RydWN0aW9uIGNhY2hlCmltaW5mbwktIHByaW50IGhlYWRlciBpbmZvcm1hdGlvbiBmb3IgYXBwbGljYXRpb24gaW1hZ2UKaW1scwktIGxpc3QgYWxsIGltYWdlcyBmb3VuZCBpbiBmbGFzaAppdGVzdAktIHJldHVybiB0cnVlL2ZhbHNlIG9uIGludGVnZXIgY29tcGFyZQpsb2FkYgktIGxvYWQgYmluYXJ5IGZpbGUgb3ZlciBzZXJpYWwgbGluZSAoa2VybWl0IG1vZGUpCmxvYWRzCS0gbG9hZCBTLVJlY29yZCBmaWxlIG92ZXIgc2VyaWFsIGxpbmUKbG9hZHkJLSBsb2FkIGJpbmFyeSBmaWxlIG92ZXIgc2VyaWFsIGxpbmUgKHltb2RlbSBtb2RlKQpsb29wCS0gaW5maW5pdGUgbG9vcCBvbiBhZGRyZXNzIHJhbmdlCmxzCS0gbGlzdCBmaWxlcyBpbiBhIGRpcmVjdG9yeSAoZGVmYXVsdCAvKQptZAktIG1lbW9yeSBkaXNwbGF5Cm1paQktIE1JSSB1dGlsaXR5IGNvbW1hbmRzCm1tCS0gbWVtb3J5IG1vZGlmeSAoYXV0by1pbmNyZW1lbnRpbmcpCm10ZXN0CS0gc2ltcGxlIFJBTSB0ZXN0Cm13CS0gbWVtb3J5IHdyaXRlIChmaWxsKQpuYW5kCS0gTkFORCBzdWItc3lzdGVtCm5ib290CS0gYm9vdCBmcm9tIE5BTkQgZGV2aWNlCm5mcwktIGJvb3QgaW1hZ2UgdmlhIG5ldHdvcmsgdXNpbmcgTkZTIHByb3RvY29sCm5tCS0gbWVtb3J5IG1vZGlmeSAoY29uc3RhbnQgYWRkcmVzcykKcGluZwktIHNlbmQgSUNNUCBFQ0hPX1JFUVVFU1QgdG8gbmV0d29yayBob3N0CnByaW50ZW52LSBwcmludCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKcHJvdGVjdCAtIGVuYWJsZSBvciBkaXNhYmxlIEZMQVNIIHdyaXRlIHByb3RlY3Rpb24KcmFycGJvb3QtIGJvb3QgaW1hZ2UgdmlhIG5ldHdvcmsgdXNpbmcgUkFSUC9URlRQIHByb3RvY29sCnJlc2V0CS0gUGVyZm9ybSBSRVNFVCBvZiB0aGUgQ1BVCnJ1bgktIHJ1biBjb21tYW5kcyBpbiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQpzYXZlZW52IC0gc2F2ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGVyc2lzdGVudCBzdG9yYWdlCnNldGVudgktIHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKc2xlZXAJLSBkZWxheSBleGVjdXRpb24gZm9yIHNvbWUgdGltZQpzb3VyY2UJLSBydW4gc2NyaXB0IGZyb20gbWVtb3J5CnRmdHBib290LSBib290IGltYWdlIHZpYSBuZXR3b3JrIHVzaW5nIFRGVFAgcHJvdG9jb2wKdmVyc2lvbiAtIHByaW50IG1vbml0b3IgdmVyc2lvbgotPiB0ZnRwIDB4NDA4MDAwMDAgdUltYWdlClVzaW5nIEZFQzAgZGV2aWNlClRGVFAgZnJvbSBzZXJ2ZXIgMTkyLjE2OC4xLjM7IG91ciBJUCBhZGRyZXNzIGlzIDE5Mi4xNjguMS4zIEZpbGVuYW1lICd1SW1hZ2UnLgpMb2FkIGFkZHJlc3M6IDB4NDA4MDAwMDAKTG9hZGluZzogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCSAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCSAgIyMjIyMjIyMjIwpkb25lCkJ5dGVzIHRyYW5zZmVycmVkID0gMjA1MzI3MCAoMWY1NDk2IGhleCkKLT4gYm9vdG0gMHg0MDgwMDAwMAojIyBCb290aW5nIGltYWdlIGF0IDQwODAwMDAwIC4uLgogICAgSW1hZ2UgTmFtZTogICBMaW51eCBLZXJuZWwgSW1hZ2UKICAgIENyZWF0ZWQ6CSAgMjAwNy0xMS0wNyAgMjA6MzM6MDggVVRDCiAgICBJbWFnZSBUeXBlOiAgIE02OEsgTGludXggS2VybmVsIEltYWdlIChnemlwIGNvbXByZXNzZWQpCiAgICBEYXRhIFNpemU6CSAgMjA1MzIwNiBCeXRlcyA9ICAyIE1CCiAgICBMb2FkIEFkZHJlc3M6IDQwMDIwMDAwCiAgICBFbnRyeSBQb2ludDogIDQwMDIwMDAwCiAgICBWZXJpZnlpbmcgQ2hlY2tzdW0gLi4uIE9LCiAgICBVbmNvbXByZXNzaW5nIEtlcm5lbCBJbWFnZSAuLi4gT0sKTGludXggdmVyc2lvbiAyLjYuMjItdWMxIChtYXR0d0Bsb2EpIChnY2MgdmVyc2lvbiA0LjIuMSAoU291cmNlcnkgRysrIExpdGUgNC4yLTcKCgp1Q2xpbnV4L0NPTERGSVJFKG01Mzd4KQpDT0xERklSRSBwb3J0IGRvbmUgYnkgR3JlZyBVbmdlcmVyLCBnZXJnQHNuYXBnZWFyLmNvbSBGbGF0IG1vZGVsIHN1cHBvcnQgKEMpIDE5OTgsMTk5OSBLZW5uZXRoIEFsYmFub3dza2ksIEQuIEplZmYgRGlvbm5lIEJ1aWx0IDEgem9uZWxpc3RzLiAgVG90YWwgcGFnZXM6IDgxMjggS2VybmVsIGNvbW1hbmQgbGluZTogcm9vdGZzdHlwZT1yb21mcyBQSUQgaGFzaCB0YWJsZSBlbnRyaWVzOiAxMjggKG9yZGVyOiA3LCA1MTIgYnl0ZXMpIERlbnRyeSBjYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDQwOTYgKG9yZGVyOiAyLCAxNjM4NCBieXRlcykgSW5vZGUtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDQ4IChvcmRlcjogMSwgODE5MiBieXRlcykgTWVtb3J5IGF2YWlsYWJsZTogMjgwOTJrLzMyNzY4ayBSQU0sICgxNzg4ayBrZXJuZWwgY29kZSwgMjQ0ayBkYXRhKSBNb3VudC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDUxMgpORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE2ClVTQi1NQ0Y1Mzd4OiAoSE9TVCBtb2R1bGUpIEVIQ0kgZGV2aWNlIGlzIHJlZ2lzdGVyZWQKVVNCLU1DRjUzN3g6IChPVEcgbW9kdWxlKSBFSENJIGRldmljZSBpcyByZWdpc3RlcmVkClVTQi1NQ0Y1Mzd4OiAoT1RHIG1vZHVsZSkgVURDIGRldmljZSBpcyByZWdpc3RlcmVkCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiZnMKdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBodWIKdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1c2IKTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAyCklQIHJvdXRlIGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDAsIDQwOTYgYnl0ZXMpIFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6IDEwMjQgKG9yZGVyOiAxLCA4MTkyIGJ5dGVzKSBUQ1AgYmluZCBoYXNoIHRhYmxlIGVudHJpZXM6IDEwMjQgKG9yZGVyOiAwLCA0MDk2IGJ5dGVzKQpUQ1A6IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDEwMjQgYmluZCAxMDI0KSBUQ1AgcmVubyByZWdpc3RlcmVkCkpGRlMyIHZlcnNpb24gMi4yLiAoTkFORCkgqSAyMDAxLTIwMDYgUmVkIEhhdCwgSW5jLgppbyBzY2hlZHVsZXIgbm9vcCByZWdpc3RlcmVkCmlvIHNjaGVkdWxlciBjZnEgcmVnaXN0ZXJlZCAoZGVmYXVsdCkKQ29sZEZpcmUgaW50ZXJuYWwgVUFSVCBzZXJpYWwgZHJpdmVyIHZlcnNpb24gMS4wMCB0dHlTMCBhdCAweGZjMDYwMDAwIChpcnEgPSA5MCkgaXMgYSBidWlsdGluIENvbGRGaXJlIFVBUlQKdHR5UzEgYXQgMHhmYzA2NDAwMCAoaXJxID0gOTEpIGlzIGEgYnVpbHRpbiBDb2xkRmlyZSBVQVJUCnR0eVMyIGF0IDB4ZmMwNjgwMDAgKGlycSA9IDkyKSBpcyBhIGJ1aWx0aW4gQ29sZEZpcmUgVUFSVCBSQU1ESVNLIGRyaXZlciBpbml0aWFsaXplZDogMTYgUkFNIGRpc2tzIG9mIDQwOTZLIHNpemUgMTAyNCBibG9ja3NpemUKbG9vcDogbW9kdWxlIGxvYWRlZApuYmQ6IHJlZ2lzdGVyZWQgZGV2aWNlIGF0IG1ham9yIDQzCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdWIgRkVDIEVORVQgVmVyc2lvbiAwLjIKZmVjOiBQSFkgQCAweDEsIElEIDB4MjAwMDVjOTAgLS0gRFA4Mzg0OApldGgwOiBldGhlcm5ldCAwMDplMDowYzpiYzplNTo2MAp1Y2xpbnV4W210ZF06IFJBTSBwcm9iZSBhZGRyZXNzPTB4NDAyMWMyMmMgc2l6ZT0weDIyYjAwMCBDcmVhdGluZyAxIE1URCBwYXJ0aXRpb25zIG9uICJSQU0iOgoweDAwMDAwMDAwLTB4MDAyMmIwMDAgOiAiUk9NZnMiCnVjbGludXhbbXRkXTogc2V0IFJPTWZzIHRvIGJlIHJvb3QgZmlsZXN5c3RlbSBOQU5EIGRldmljZTogTWFudWZhY3R1cmVyIElEOiAweDIwLCBDaGlwIElEOiAweDczIChTVCBNaWNybyBOQU5EIDE2TWlCIDMsM1YgOC1iKSBTY2FubmluZyBkZXZpY2UgZm9yIGJhZCBibG9ja3MgQ3JlYXRpbmcgMSBNVEQgcGFydGl0aW9ucyBvbiAiTkFORCAxNk1pQiAzLDNWIDgtYml0IjoKMHgwMDAwMDAwMC0weDAxMDAwMDAwIDogIk01M3h4IGZsYXNoIHBhcnRpdGlvbiAxIgpRU1BJOiBzcGktPm1heF9zcGVlZF9oeiAzMDAwMDAKUVNQSTogQmF1ZCBzZXQgdG8gMjU1ClNQSTogQ29sZGZpcmUgbWFzdGVyIGluaXRpYWxpemVkCk01Mzd4IC0gRGlzYWJsZSBVQVJUMSB3aGVuIHVzaW5nIEF1ZGlvCnVkYzogRnJlZXNjYWxlIE1DRjUzeHggVURDIGRyaXZlciB2ZXJzaW9uIDI3IE9jdG9iZXIgMjAwNiBpbml0CnVkYzogTUNGNTN4eCBVU0IgRGV2aWNlIGlzIGZvdW5kLiBJRD0weDUgUmV2PTB4NDEgaTJjIC9kZXYgZW50cmllcyBkcml2ZXIKdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2JoaWQKZHJpdmVycy9oaWQvdXNiaGlkL2hpZC1jb3JlLmM6IHYyLjY6VVNCIEhJRCBjb3JlIGRyaXZlciBUQ1AgY3ViaWMgcmVnaXN0ZXJlZApORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDEKTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNwpWRlM6IE1vdW50ZWQgcm9vdCAocm9tZnMgZmlsZXN5c3RlbSkgcmVhZG9ubHkuCkZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDY0ayBmcmVlZCAoMHg0MDFmNTAwMCAtIDB4NDAyMDQwMDApIGluaXQgc3RhcnRlZDogIEJ1c3lCb3ggdjEuMDAgKDIwMDcuMTEuMDctMTk6NTcrMDAwMCkgbXVsdGktY2FsbCBiaW5hcnk/U2V0dGluZyBlIE1vdW50aW5nIGZpbGVzeXN0ZW1zCm1vdW50OiBNb3VudGluZyBkZXZwdHMgb24gL2Rldi9wdHMgZmFpbGVkOiBObyBzdWNoIGRldmljZQptb3VudDogTW91bnRpbmcgdXNiZnMgb24gL3Byb2MvYnVzL3VzYiBmYWlsZWQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkgU3RhcnRpbmcgc3lzbG9nZCBhbmQga2xvZ2QgU2V0dGluZyB1cCBuZXR3b3JraW5nIG9uIGxvb3BiYWNrIGRldmljZToKU2V0dGluZyB1cCBuZXR3b3JraW5nIG9uIGV0aDA6CmluZm8sIHVkaGNwYyAodjAuOS45LXByZSkgc3RhcnRlZApldGgwOiBjb25maWc6IGF1dG8tbmVnb3RpYXRpb24gb24sIDEwMEZEWCwgMTAwSERYLCAxMEZEWCwgMTBIRFguCmRlYnVnLCBTZW5kaW5nIGRpc2NvdmVyLi4uCmRlYnVnLCBTZW5kaW5nIGRpc2NvdmVyLi4uCmRlYnVnLCBTZW5kaW5nIHNlbGVjdCBmb3IgMTcyLjI3LjAuMTMwLi4uCmluZm8sIExlYXNlIG9mIDE3Mi4yNy4wLjEzMCBvYnRhaW5lZCwgbGVhc2UgdGltZSA0MzIwMCBkZWxldGluZyByb3V0ZXJzCnJvdXRlOiBTSU9DW0FERHxERUxdUlQ6IE5vIHN1Y2ggcHJvY2VzcwphZGRpbmcgZG5zIDE3Mi4yNy4wLjEKU3RhcnRpbmcgdGhlIGJvYSB3ZWJzZXJ2ZXI6ClNldHRpbmcgdGltZSBmcm9tIG50cCBzZXJ2ZXI6IG50cC5jcy5zdHJhdGguYWMudWsKbnRwLmNzLnN0cmF0aC5hYy51azogVW5rbm93biBob3N0CgoKQnVzeUJveCB2MS4wMCAoMjAwNy4xMS4wNy0xOTo1NyswMDAwKSBCdWlsdC1pbiBzaGVsbCAobXNoKSBFbnRlciAnaGVscCcgZm9yIGEgbGlzdCBvZiBidWlsdC1pbiBjb21tYW5kcy4KCiMK