From: Date: October 26 2008 9:45am Subject: bzr commit into mysql-6.0-falcon-team branch (lars-erik.bjork:2874) List-Archive: http://lists.mysql.com/commits/57062 Message-Id: <200810260845.m9Q8jdAu006429@dm-norway-02.uk.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vaG9tZS9sYjIwMDY3MC9kZXZlbC9teXNxbC90cmFtcG9saW5lLwoKIDI4NzQg bGFycy1lcmlrLmJqb3JrQHN1bi5jb20JMjAwOC0xMC0yNiBbbWVyZ2VdCiAgICAgIE1lcmdpbmcs IGFuZCBhZGRpbmcgbmV3bGluZSB0byBmYWxjb25feWVhcl80ZGlnaXQudGVzdAphZGRlZDoKICBt eXNxbC10ZXN0L3N1aXRlL2JhY2t1cC8KICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yLwogIG15 c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX2NvbW1pdF9iYWNrdXAucmVzdWx0CiAgbXlz cWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC8KICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1 cF9jb21taXRfYmFja3VwLnRlc3QKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2Rpc2FibGVk LmRlZgogIG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9iYWNrdXBfcHRy LmluYwogIG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9iYWNrdXBfcHRy X2NvbW1pdC5pbmMKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFj a3VwX3B0cl9vYmplY3RzLmluYwogIG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5j bHVkZS9ub3RfaGF2ZV9mYWxjb24uaW5jCiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5l cy9pbmNsdWRlL25vdF9oYXZlX2lubm9kYi5pbmMKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9l bmdpbmVzL2luY2x1ZGUvbm90X2hhdmVfbWVtb3J5LmluYwogIG15c3FsLXRlc3Qvc3VpdGUvYmFj a3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9teWlzYW0uaW5jCiAgbXlzcWwtdGVzdC9zdWl0 ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfY29tbWl0X21peGVkLnJlc3VsdAogIG15c3Fs LXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvci9iYWNrdXBfcHRyX2NvbW1pdF9yb3cucmVzdWx0 CiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfY29tbWl0X3N0 bXQucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJf bWl4ZWQucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9w dHJfb2JqZWN0c19taXhlZC5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVz L3IvYmFja3VwX3B0cl9vYmplY3RzX3Jvdy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1 cF9lbmdpbmVzL3IvYmFja3VwX3B0cl9vYmplY3RzX3N0bXQucmVzdWx0CiAgbXlzcWwtdGVzdC9z dWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfcm93LnJlc3VsdAogIG15c3FsLXRlc3Qv c3VpdGUvYmFja3VwX2VuZ2luZXMvci9iYWNrdXBfcHRyX3N0bXQucmVzdWx0CiAgbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wdHJfY29tbWl0X21peGVkLnRlc3QKICBt eXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9jb21taXRfcm93LnRl c3QKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9jb21taXRf c3RtdC50ZXN0CiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wdHJf bWl4ZWQudGVzdAogIG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBfcHRy X29iamVjdHNfbWl4ZWQudGVzdAogIG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9i YWNrdXBfcHRyX29iamVjdHNfcm93LnRlc3QKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdp bmVzL3QvYmFja3VwX3B0cl9vYmplY3RzX3N0bXQudGVzdAogIG15c3FsLXRlc3Qvc3VpdGUvYmFj a3VwX2VuZ2luZXMvdC9iYWNrdXBfcHRyX3Jvdy50ZXN0CiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNr dXBfZW5naW5lcy90L2JhY2t1cF9wdHJfc3RtdC50ZXN0CnJlbmFtZWQ6CiAgbXlzcWwtdGVzdC9y L2JhY2t1cC5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXAucmVzdWx0 CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9iYWNrdXBkaXIucmVzdWx0ID0+IG15c3FsLXRlc3Qvc3Vp dGUvYmFja3VwL3IvYmFja3VwX2JhY2t1cGRpci5yZXN1bHQKICBteXNxbC10ZXN0L3IvYmFja3Vw X2Jsb2IucmVzdWx0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX2Jsb2IucmVz dWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9jaGFyc2V0cy5yZXN1bHQgPT4gbXlzcWwtdGVzdC9z dWl0ZS9iYWNrdXAvci9iYWNrdXBfY2hhcnNldHMucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1 cF9jb21taXRfYmxvY2tlci5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNr dXBfY29tbWl0X2Jsb2NrZXIucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9jb21taXRfcmVz dG9yZS5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfY29tbWl0X3Jl c3RvcmUucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9jb21wcmVzc2lvbi5yZXN1bHQgPT4g bXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfY29tcHJlc3Npb24ucmVzdWx0CiAgbXlz cWwtdGVzdC9yL2JhY2t1cF9jb25jdXJyZW50LnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRlL2Jh Y2t1cC9yL2JhY2t1cF9jb25jdXJyZW50LnJlc3VsdAogIG15c3FsLXRlc3Qvci9iYWNrdXBfZGJf Z3JhbnRzLnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9kYl9ncmFu dHMucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9kZGxfYmxvY2tlci5yZXN1bHQgPT4gbXlz cWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfZGRsX2Jsb2NrZXIucmVzdWx0CiAgbXlzcWwt dGVzdC9yL2JhY2t1cF9kZWZhdWx0LnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9y L2JhY2t1cF9kZWZhdWx0LnJlc3VsdAogIG15c3FsLXRlc3Qvci9iYWNrdXBfZXJyb3JzLnJlc3Vs dCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9lcnJvcnMucmVzdWx0CiAgbXlz cWwtdGVzdC9yL2JhY2t1cF9ma2V5LnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9y L2JhY2t1cF9ma2V5LnJlc3VsdAogIG15c3FsLXRlc3Qvci9iYWNrdXBfbG9ja19teWlzYW0ucmVz dWx0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX2xvY2tfbXlpc2FtLnJlc3Vs dAogIG15c3FsLXRlc3Qvci9iYWNrdXBfbG9ncy5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9i YWNrdXAvci9iYWNrdXBfbG9ncy5yZXN1bHQKICBteXNxbC10ZXN0L3IvYmFja3VwX2xvZ3Nfb3V0 cHV0LnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9sb2dzX291dHB1 dC5yZXN1bHQKICBteXNxbC10ZXN0L3IvYmFja3VwX21hbnlfZGJzLnJlc3VsdCA9PiBteXNxbC10 ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9tYW55X2Ricy5yZXN1bHQKICBteXNxbC10ZXN0L3Iv YmFja3VwX211bHRpX2Jsb2Nrcy5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9i YWNrdXBfbXVsdGlfYmxvY2tzLnJlc3VsdAogIG15c3FsLXRlc3Qvci9iYWNrdXBfbXlpc2FtMS5y ZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfbXlpc2FtMS5yZXN1bHQK ICBteXNxbC10ZXN0L3IvYmFja3VwX215aXNhbTIucmVzdWx0ID0+IG15c3FsLXRlc3Qvc3VpdGUv YmFja3VwL3IvYmFja3VwX215aXNhbTIucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9ub19i ZS5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfbm9fYmUucmVzdWx0 CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9ub19kYXRhLnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRl L2JhY2t1cC9yL2JhY2t1cF9ub19kYXRhLnJlc3VsdAogIG15c3FsLXRlc3Qvci9iYWNrdXBfbm9f ZW5naW5lLnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9ub19lbmdp bmUucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9ub2RhdGFfZHJpdmVyLnJlc3VsdCA9PiBt eXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9ub2RhdGFfZHJpdmVyLnJlc3VsdAogIG15 c3FsLXRlc3Qvci9iYWNrdXBfb2JqZWN0cy5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNr dXAvci9iYWNrdXBfb2JqZWN0cy5yZXN1bHQKICBteXNxbC10ZXN0L3IvYmFja3VwX3Byb2NlZHVy ZXMucmVzdWx0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX3Byb2NlZHVyZXMu cmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9zZWN1cmVmaWxlcHJpdi5yZXN1bHQgPT4gbXlz cWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfc2VjdXJlZmlsZXByaXYucmVzdWx0CiAgbXlz cWwtdGVzdC9yL2JhY2t1cF9zZWN1cml0eS5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNr dXAvci9iYWNrdXBfc2VjdXJpdHkucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF9zbmFwc2hv dC5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfc25hcHNob3QucmVz dWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF90YWJsZXNwYWNlLnJlc3VsdCA9PiBteXNxbC10ZXN0 L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF90YWJsZXNwYWNlLnJlc3VsdAogIG15c3FsLXRlc3Qvci9i YWNrdXBfdGltZW91dC5yZXN1bHQgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBf dGltZW91dC5yZXN1bHQKICBteXNxbC10ZXN0L3IvYmFja3VwX3RyaWdnZXJzX2FuZF9ldmVudHMu cmVzdWx0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX3RyaWdnZXJzX2FuZF9l dmVudHMucmVzdWx0CiAgbXlzcWwtdGVzdC9yL2JhY2t1cF92aWV3X29uX3ZpZXcucmVzdWx0ID0+ IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX3ZpZXdfb25fdmlldy5yZXN1bHQKICBt eXNxbC10ZXN0L3IvYmFja3VwX3ZpZXdzLnJlc3VsdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1 cC9yL2JhY2t1cF92aWV3cy5yZXN1bHQKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cCA9PiBteXNx bC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzCiAgbXlzcWwtdGVzdC90L2JhY2t1cC50ZXN0ID0+ IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwLnRlc3QKICBteXNxbC10ZXN0L3QvYmFj a3VwX2JhY2t1cGRpci50ZXN0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2Jh Y2t1cGRpci50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF9ibG9iLnRlc3QgPT4gbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfYmxvYi50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF9j aGFyc2V0cy50ZXN0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2NoYXJzZXRz LnRlc3QKICBteXNxbC10ZXN0L3QvYmFja3VwX2NvbW1pdF9ibG9ja2VyLnRlc3QgPT4gbXlzcWwt dGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfY29tbWl0X2Jsb2NrZXIudGVzdAogIG15c3FsLXRl c3QvdC9iYWNrdXBfY29tbWl0X3Jlc3RvcmUudGVzdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1 cC90L2JhY2t1cF9jb21taXRfcmVzdG9yZS50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF9jb21w cmVzc2lvbi50ZXN0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2NvbXByZXNz aW9uLnRlc3QKICBteXNxbC10ZXN0L3QvYmFja3VwX2NvbmN1cnJlbnQudGVzdCA9PiBteXNxbC10 ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9jb25jdXJyZW50LnRlc3QKICBteXNxbC10ZXN0L3Qv YmFja3VwX2RiX2dyYW50cy50ZXN0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3Vw X2RiX2dyYW50cy50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF9kZGxfYmxvY2tlci50ZXN0ID0+ IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2RkbF9ibG9ja2VyLnRlc3QKICBteXNx bC10ZXN0L3QvYmFja3VwX2RlZmF1bHQudGVzdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90 L2JhY2t1cF9kZWZhdWx0LnRlc3QKICBteXNxbC10ZXN0L3QvYmFja3VwX2Vycm9ycy50ZXN0ID0+ IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2Vycm9ycy50ZXN0CiAgbXlzcWwtdGVz dC90L2JhY2t1cF9ma2V5LnRlc3QgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBf ZmtleS50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF9sb2NrX215aXNhbS50ZXN0ID0+IG15c3Fs LXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2xvY2tfbXlpc2FtLnRlc3QKICBteXNxbC10ZXN0 L3QvYmFja3VwX2xvZ3MudGVzdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9s b2dzLnRlc3QKICBteXNxbC10ZXN0L3QvYmFja3VwX2xvZ3Nfb3V0cHV0LnRlc3QgPT4gbXlzcWwt dGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfbG9nc19vdXRwdXQudGVzdAogIG15c3FsLXRlc3Qv dC9iYWNrdXBfbWFueV9kYnMudGVzdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1 cF9tYW55X2Ricy50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF9tdWx0aV9ibG9ja3MudGVzdCA9 PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9tdWx0aV9ibG9ja3MudGVzdAogIG15 c3FsLXRlc3QvdC9iYWNrdXBfbXlpc2FtMS1tYXN0ZXIub3B0ID0+IG15c3FsLXRlc3Qvc3VpdGUv YmFja3VwL3QvYmFja3VwX215aXNhbTEtbWFzdGVyLm9wdAogIG15c3FsLXRlc3QvdC9iYWNrdXBf bXlpc2FtMS50ZXN0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX215aXNhbTEu dGVzdAogIG15c3FsLXRlc3QvdC9iYWNrdXBfbXlpc2FtMi50ZXN0ID0+IG15c3FsLXRlc3Qvc3Vp dGUvYmFja3VwL3QvYmFja3VwX215aXNhbTIudGVzdAogIG15c3FsLXRlc3QvdC9iYWNrdXBfbm9f YmUudGVzdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9ub19iZS50ZXN0CiAg bXlzcWwtdGVzdC90L2JhY2t1cF9ub19kYXRhLnRlc3QgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNr dXAvdC9iYWNrdXBfbm9fZGF0YS50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF9ub19lbmdpbmUu dGVzdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9ub19lbmdpbmUudGVzdAog IG15c3FsLXRlc3QvdC9iYWNrdXBfbm9kYXRhX2RyaXZlci50ZXN0ID0+IG15c3FsLXRlc3Qvc3Vp dGUvYmFja3VwL3QvYmFja3VwX25vZGF0YV9kcml2ZXIudGVzdAogIG15c3FsLXRlc3QvdC9iYWNr dXBfb2JqZWN0cy50ZXN0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX29iamVj dHMudGVzdAogIG15c3FsLXRlc3QvdC9iYWNrdXBfcHJvY2VkdXJlcy50ZXN0ID0+IG15c3FsLXRl c3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX3Byb2NlZHVyZXMudGVzdAogIG15c3FsLXRlc3QvdC9i YWNrdXBfc2VjdXJlZmlsZXByaXYtbWFzdGVyLm9wdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1 cC90L2JhY2t1cF9zZWN1cmVmaWxlcHJpdi1tYXN0ZXIub3B0CiAgbXlzcWwtdGVzdC90L2JhY2t1 cF9zZWN1cmVmaWxlcHJpdi50ZXN0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3Vw X3NlY3VyZWZpbGVwcml2LnRlc3QKICBteXNxbC10ZXN0L3QvYmFja3VwX3NlY3VyaXR5LnRlc3Qg PT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfc2VjdXJpdHkudGVzdAogIG15c3Fs LXRlc3QvdC9iYWNrdXBfc25hcHNob3Qub3B0ID0+IG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3Qv YmFja3VwX3NuYXBzaG90Lm9wdAogIG15c3FsLXRlc3QvdC9iYWNrdXBfc25hcHNob3QudGVzdCA9 PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9zbmFwc2hvdC50ZXN0CiAgbXlzcWwt dGVzdC90L2JhY2t1cF90YWJsZXNwYWNlLnRlc3QgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAv dC9iYWNrdXBfdGFibGVzcGFjZS50ZXN0CiAgbXlzcWwtdGVzdC90L2JhY2t1cF90aW1lb3V0LnRl c3QgPT4gbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfdGltZW91dC50ZXN0CiAgbXlz cWwtdGVzdC90L2JhY2t1cF90cmlnZ2Vyc19hbmRfZXZlbnRzLnRlc3QgPT4gbXlzcWwtdGVzdC9z dWl0ZS9iYWNrdXAvdC9iYWNrdXBfdHJpZ2dlcnNfYW5kX2V2ZW50cy50ZXN0CiAgbXlzcWwtdGVz dC90L2JhY2t1cF92aWV3X29uX3ZpZXcudGVzdCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90 L2JhY2t1cF92aWV3X29uX3ZpZXcudGVzdAogIG15c3FsLXRlc3QvdC9iYWNrdXBfdmlld3MudGVz dCA9PiBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF92aWV3cy50ZXN0Cm1vZGlmaWVk OgogIC5ienJpZ25vcmUKICBpbmNsdWRlL2Vycm1zZy5oCiAgbGlibXlzcWwvTWFrZWZpbGUuYW0K ICBsaWJteXNxbC9NYWtlZmlsZS5zaGFyZWQKICBsaWJteXNxbC9lcnJtc2cuYwogIGxpYm15c3Fs L2xpYm15c3FsLmMKICBsaWJteXNxbGQvbGlibXlzcWxkLmMKICBteXNxbC10ZXN0L2xpYi9tdHJf cmVwb3J0LnBsCiAgbXlzcWwtdGVzdC9yL2JpbmxvZ19mb3JtYXRfYmFzaWMucmVzdWx0CiAgbXlz cWwtdGVzdC9yL2NyZWF0ZS5yZXN1bHQKICBteXNxbC10ZXN0L3IvbG9nX3RhYmxlcy5yZXN1bHQK ICBteXNxbC10ZXN0L3IvbXlzcWwucmVzdWx0CiAgbXlzcWwtdGVzdC9yL3BhcnRpdGlvbi5yZXN1 bHQKICBteXNxbC10ZXN0L3IvcGFydGl0aW9uX2lubm9kYi5yZXN1bHQKICBteXNxbC10ZXN0L3Iv cGx1Z2luLnJlc3VsdAogIG15c3FsLXRlc3Qvci9zcC5yZXN1bHQKICBteXNxbC10ZXN0L3Ivc3Rv cmFnZV9lbmdpbmVfYmFzaWMucmVzdWx0CiAgbXlzcWwtdGVzdC9yL3ZhcmlhYmxlcy5yZXN1bHQK ICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX2Z1bmN0aW9ucy50ZXN0 CiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wcm9jZWR1cmVzLnRl c3QKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3RyaWdnZXJzLnRl c3QKICBteXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi9yL2ZhbGNvbl9idWdzLnJlc3VsdAogIG15c3Fs LXRlc3Qvc3VpdGUvZmFsY29uL3QvZmFsY29uX2J1Z3MudGVzdAogIG15c3FsLXRlc3Qvc3VpdGUv ZmFsY29uL3QvZmFsY29uX3llYXJfNGRpZ2l0LnRlc3QKICBteXNxbC10ZXN0L3QvYmlubG9nX2Zv cm1hdF9iYXNpYy50ZXN0CiAgbXlzcWwtdGVzdC90L3BzLnRlc3QKICBteXNxbC10ZXN0L3QvcHNf MWdlbmVyYWwudGVzdAogIG15c3FsLXRlc3QvdC9xdWVyeV9jYWNoZS50ZXN0CiAgbXlzcWwtdGVz dC90L3NwLnRlc3QKICBteXNxbC10ZXN0L3Qvc3Vic2VsZWN0My50ZXN0CiAgbXlzeXMvbXlfbGFy Z2VwYWdlLmMKICBzY3JpcHRzL21ha2Vfd2luX2Jpbl9kaXN0CiAgc3FsLWNvbW1vbi9jbGllbnQu YwogIHNxbC9NYWtlZmlsZS5hbQogIHNxbC9iYWNrdXAvYmFja3VwX2luZm8uY2MKICBzcWwvYmFj a3VwL2JhY2t1cF9pbmZvLmgKICBzcWwvYmFja3VwL2JhY2t1cF9rZXJuZWwuaAogIHNxbC9iYWNr dXAvYmFja3VwX3Rlc3QuY2MKICBzcWwvYmFja3VwL2RhdGFfYmFja3VwLmNjCiAgc3FsL2JhY2t1 cC9lcnJvci5oCiAgc3FsL2JhY2t1cC9pbWFnZV9pbmZvLmgKICBzcWwvYmFja3VwL2tlcm5lbC5j YwogIHNxbC9iYWNrdXAvbG9nZ2VyLmNjCiAgc3FsL2JhY2t1cC9sb2dnZXIuaAogIHNxbC9iYWNr dXAvc3RyZWFtX3YxLmMKICBzcWwvYmFja3VwL3N0cmVhbV92MV90cmFuc3BvcnQuYwogIHNxbC9m aWxlc29ydC5jYwogIHNxbC9oYW5kbGVyLmNjCiAgc3FsL2xvZy5jYwogIHNxbC9teXNxbF9wcml2 LmgKICBzcWwvbXlzcWxkLmNjCiAgc3FsL25ldF9zZXJ2LmNjCiAgc3FsL3Byb2Jlcy5kCiAgc3Fs L3Byb2Jlcy5oCiAgc3FsL3NjaGVkdWxlci5jYwogIHNxbC9zaGFyZS9lcnJtc2cudHh0CiAgc3Fs L3NpX2xvZ3MuY2MKICBzcWwvc2lfbG9ncy5oCiAgc3FsL3NpX29iamVjdHMuY2MKICBzcWwvc2lf b2JqZWN0cy5oCiAgc3FsL3NwX2hlYWQuY2MKICBzcWwvc3FsX2NhY2hlLmNjCiAgc3FsL3NxbF9j bGFzcy5jYwogIHNxbC9zcWxfY29ubmVjdC5jYwogIHNxbC9zcWxfY3Vyc29yLmNjCiAgc3FsL3Nx bF9kZWxldGUuY2MKICBzcWwvc3FsX2luc2VydC5jYwogIHNxbC9zcWxfcGFyc2UuY2MKICBzcWwv c3FsX3ByZXBhcmUuY2MKICBzcWwvc3FsX3NlbGVjdC5jYwogIHNxbC9zcWxfdGFibGUuY2MKICBz cWwvc3FsX3VwZGF0ZS5jYwogIHN0b3JhZ2UvZmFsY29uL0JpdG1hcC5jcHAKICBzdG9yYWdlL2Zh bGNvbi9DYWNoZS5jcHAKICBzdG9yYWdlL2ZhbGNvbi9EYXRhYmFzZS5jcHAKICBzdG9yYWdlL2Zh bGNvbi9OTm9kZS5oCiAgc3RvcmFnZS9mYWxjb24vU3RvcmFnZUNvbm5lY3Rpb24uY3BwCiAgc3Rv cmFnZS9mYWxjb24vU3RvcmFnZUNvbm5lY3Rpb24uaAogIHN0b3JhZ2UvZmFsY29uL1N0b3JhZ2VU YWJsZS5jcHAKICBzdG9yYWdlL2ZhbGNvbi9TdG9yYWdlVGFibGUuaAogIHN0b3JhZ2UvZmFsY29u L1N0b3JhZ2VUYWJsZVNoYXJlLmNwcAogIHN0b3JhZ2UvZmFsY29uL1N0b3JhZ2VUYWJsZVNoYXJl LmgKICBzdG9yYWdlL2ZhbGNvbi9TdG9yYWdlVmVyc2lvbi5oCiAgc3RvcmFnZS9mYWxjb24vU3lu Y0hhbmRsZXIuY3BwCiAgc3RvcmFnZS9mYWxjb24vU3luY0hhbmRsZXIuaAogIHN0b3JhZ2UvZmFs Y29uL1RhYmxlLmNwcAogIHN0b3JhZ2UvZmFsY29uL1RyYW5zYWN0aW9uTWFuYWdlci5jcHAKICBz dG9yYWdlL2ZhbGNvbi9UeXBlcy5oCiAgc3RvcmFnZS9mYWxjb24vaGFfZmFsY29uLmNwcAogIHN0 b3JhZ2UvZmFsY29uL2hhX2ZhbGNvbi5oCiAgc3RvcmFnZS9mYWxjb24vcGx1Zy5pbgogIHN1cHBv cnQtZmlsZXMvbXktaHVnZS5jbmYuc2gKICBzdXBwb3J0LWZpbGVzL215LWxhcmdlLmNuZi5zaAog IHN1cHBvcnQtZmlsZXMvbXktbWVkaXVtLmNuZi5zaAogIHN1cHBvcnQtZmlsZXMvbXktc21hbGwu Y25mLnNoCiAgc3VwcG9ydC1maWxlcy9teXNxbC5zcGVjLnNoCiAgdGVzdHMvbXlzcWxfY2xpZW50 X3Rlc3QuYwogIG15c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwLnJlc3VsdAogIG15c3Fs LXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX2Vycm9ycy5yZXN1bHQKICBteXNxbC10ZXN0L3N1 aXRlL2JhY2t1cC90L2JhY2t1cC50ZXN0CiAgbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNr dXBfZXJyb3JzLnRlc3QKICBteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9ub19kYXRh LnRlc3QKCj09PSBtb2RpZmllZCBmaWxlICcuYnpyaWdub3JlJwotLS0gYS8uYnpyaWdub3JlCTIw MDgtMTAtMDEgMTI6MDI6MjggKzAwMDAKKysrIGIvLmJ6cmlnbm9yZQkyMDA4LTEwLTE2IDEyOjM5 OjMwICswMDAwCkBAIC0xODk4LDMgKzE4OTgsNCBAQCBteXNxbC10ZXN0L3Rwcy5sb2cKIGxpYm15 c3FsZC9ldmVudF9wYXJzZV9kYXRhLmNjCiBjbGllbnQvdHJhbnNhY3Rpb24uaAogbGlibXlzcWxk L3RyYW5zYWN0aW9uLmNjCitsaWJteXNxbGQvcnBsX2hhbmRsZXIuY2MKCj09PSBtb2RpZmllZCBm aWxlICdpbmNsdWRlL2Vycm1zZy5oJwotLS0gYS9pbmNsdWRlL2Vycm1zZy5oCTIwMDgtMDUtMjAg MTY6MzY6MjYgKzAwMDAKKysrIGIvaW5jbHVkZS9lcnJtc2cuaAkyMDA4LTEwLTE3IDEyOjM5OjM0 ICswMDAwCkBAIC05Nyw2ICs5Nyw3IEBAIGV4dGVybiBjb25zdCBjaGFyICpjbGllbnRfZXJyb3Jz W107CS8qIEUKICNkZWZpbmUgQ1JfU0VSVkVSX0xPU1RfRVhURU5ERUQJCQkyMDU1CiAjZGVmaW5l IENSX1NUTVRfQ0xPU0VECQkJCTIwNTYKICNkZWZpbmUgQ1JfTkVXX1NUTVRfTUVUQURBVEEgICAg ICAgICAgICAgICAgICAgIDIwNTcKLSNkZWZpbmUgQ1JfRVJST1JfTEFTVCAgLypDb3B5IGxhc3Qg ZXJyb3IgbnI6Ki8gIDIwNTcKKyNkZWZpbmUgQ1JfQUxSRUFEWV9DT05ORUNURUQgICAgICAgICAg ICAgICAgICAgIDIwNTgKKyNkZWZpbmUgQ1JfRVJST1JfTEFTVCAgLypDb3B5IGxhc3QgZXJyb3Ig bnI6Ki8gIDIwNTgKIC8qIEFkZCBlcnJvciBudW1iZXJzIGJlZm9yZSBDUl9FUlJPUl9MQVNUIGFu ZCBjaGFuZ2UgaXQgYWNjb3JkaW5nbHkuICovCiAKCj09PSBtb2RpZmllZCBmaWxlICdsaWJteXNx bC9NYWtlZmlsZS5hbScKLS0tIGEvbGlibXlzcWwvTWFrZWZpbGUuYW0JMjAwOC0wOS0yOSAxNzo0 NzoyNyArMDAwMAorKysgYi9saWJteXNxbC9NYWtlZmlsZS5hbQkyMDA4LTEwLTEwIDE2OjIzOjMw ICswMDAwCkBAIC02Nyw2ICs2Nyw4IEBAIGxpbmtfc291cmNlczoKIAkgIGRvbmU7IFwKIAkgIHJt IC1mIG5ldC5jOyBcCiAJICBATE5fQ1BfRkAgJCh0b3Bfc3JjZGlyKS9zcWwvbmV0X3NlcnYuY2Mg bmV0LmMgOyBcCisJICBybSAtZiBwcm9iZXMuaDsgXAorCSAgQExOX0NQX0ZAICQodG9wX3NyY2Rp cikvc3FsL3Byb2Jlcy5oIHByb2Jlcy5oCiAJICBybSAtZiBwYXNzd29yZC5jOyBcCiAJICBATE5f Q1BfRkAgJCh0b3Bfc3JjZGlyKS9zcWwvcGFzc3dvcmQuYyBwYXNzd29yZC5jCiAJICBlY2hvIHRp bWVzdGFtcCA+IGxpbmtfc291cmNlcwoKPT09IG1vZGlmaWVkIGZpbGUgJ2xpYm15c3FsL01ha2Vm aWxlLnNoYXJlZCcKLS0tIGEvbGlibXlzcWwvTWFrZWZpbGUuc2hhcmVkCTIwMDgtMDUtMjkgMTU6 NDQ6MTEgKzAwMDAKKysrIGIvbGlibXlzcWwvTWFrZWZpbGUuc2hhcmVkCTIwMDgtMTAtMDIgMTI6 MDg6MDkgKzAwMDAKQEAgLTEwNyw3ICsxMDcsNyBAQCBjbGVhbi1sb2NhbDoKIAkgICAgICBgZWNo byAkKHNxbF9jbW5fb2JqZWN0cykgfCBzZWQgInM7XC5sbzsuYztnImAgXAogCSAgICAgICAkKENI QVJTRVRfU1JDUykgJChDSEFSU0VUX09CSlMpIFwKIAkgICAgICAgJChteXN0cmluZ3NleHRyYSkg JChteXN5c2hlYWRlcnMpICQodmlvaGVhZGVycykgXAotICAgICAgICAgICAgICAgbmV0LmMKKyAg ICAgICAgICAgICAgIG5ldC5jIHByb2Jlcy5oCiAKIGNvbmZfdG9fc3JjX1NPVVJDRVMgPSBjb25m X3RvX3NyYy5jCiBjb25mX3RvX3NyY19MREFERD0KCj09PSBtb2RpZmllZCBmaWxlICdsaWJteXNx bC9lcnJtc2cuYycKLS0tIGEvbGlibXlzcWwvZXJybXNnLmMJMjAwOC0wNS0yMCAxNjozNjoyNiAr MDAwMAorKysgYi9saWJteXNxbC9lcnJtc2cuYwkyMDA4LTEwLTE3IDEyOjM5OjM0ICswMDAwCkBA IC04NSw2ICs4NSw3IEBAIGNvbnN0IGNoYXIgKmNsaWVudF9lcnJvcnNbXT0KICAgIkxvc3QgY29u bmVjdGlvbiB0byBNeVNRTCBzZXJ2ZXIgYXQgJyVzJywgc3lzdGVtIGVycm9yOiAlZCIsCiAgICJT dGF0ZW1lbnQgY2xvc2VkIGluZGlyZWN0bHkgYmVjYXVzZSBvZiBhIHByZWNlZWRpbmcgJXMoKSBj YWxsIiwKICAgIlRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgcmVzdWx0IHNldCBkaWZmZXJz IGZyb20gdGhlIG51bWJlciBvZiBib3VuZCBidWZmZXJzLiBZb3UgbXVzdCByZXNldCB0aGUgc3Rh dGVtZW50LCByZWJpbmQgdGhlIHJlc3VsdCBzZXQgY29sdW1ucywgYW5kIGV4ZWN1dGUgdGhlIHN0 YXRlbWVudCBhZ2FpbiIsCisgICJUaGlzIGhhbmRsZSBpcyBhbHJlYWR5IGNvbm5lY3RlZC4gVXNl IGEgc2VwYXJhdGUgaGFuZGxlIGZvciBlYWNoIGNvbm5lY3Rpb24uIgogICAiIgogfTsKIApAQCAt MTUxLDYgKzE1Miw3IEBAIGNvbnN0IGNoYXIgKmNsaWVudF9lcnJvcnNbXT0KICAgIkxvc3QgY29u bmVjdGlvbiB0byBNeVNRTCBzZXJ2ZXIgYXQgJyVzJywgc3lzdGVtIGVycm9yOiAlZCIsCiAgICJT dGF0ZW1lbnQgY2xvc2VkIGluZGlyZWN0bHkgYmVjYXVzZSBvZiBhIHByZWNlZWRpbmcgJXMoKSBj YWxsIiwKICAgIlRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgcmVzdWx0IHNldCBkaWZmZXJz IGZyb20gdGhlIG51bWJlciBvZiBib3VuZCBidWZmZXJzLiBZb3UgbXVzdCByZXNldCB0aGUgc3Rh dGVtZW50LCByZWJpbmQgdGhlIHJlc3VsdCBzZXQgY29sdW1ucywgYW5kIGV4ZWN1dGUgdGhlIHN0 YXRlbWVudCBhZ2FpbiIsCisgICJUaGlzIGhhbmRsZSBpcyBhbHJlYWR5IGNvbm5lY3RlZC4gVXNl IGEgc2VwYXJhdGUgaGFuZGxlIGZvciBlYWNoIGNvbm5lY3Rpb24uIgogICAiIgogfTsKIApAQCAt MjE1LDYgKzIxNyw3IEBAIGNvbnN0IGNoYXIgKmNsaWVudF9lcnJvcnNbXT0KICAgIkxvc3QgY29u bmVjdGlvbiB0byBNeVNRTCBzZXJ2ZXIgYXQgJyVzJywgc3lzdGVtIGVycm9yOiAlZCIsCiAgICJT dGF0ZW1lbnQgY2xvc2VkIGluZGlyZWN0bHkgYmVjYXVzZSBvZiBhIHByZWNlZWRpbmcgJXMoKSBj YWxsIiwKICAgIlRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgcmVzdWx0IHNldCBkaWZmZXJz IGZyb20gdGhlIG51bWJlciBvZiBib3VuZCBidWZmZXJzLiBZb3UgbXVzdCByZXNldCB0aGUgc3Rh dGVtZW50LCByZWJpbmQgdGhlIHJlc3VsdCBzZXQgY29sdW1ucywgYW5kIGV4ZWN1dGUgdGhlIHN0 YXRlbWVudCBhZ2FpbiIsCisgICJUaGlzIGhhbmRsZSBpcyBhbHJlYWR5IGNvbm5lY3RlZC4gVXNl IGEgc2VwYXJhdGUgaGFuZGxlIGZvciBlYWNoIGNvbm5lY3Rpb24uIgogICAiIgogfTsKICNlbmRp ZgoKPT09IG1vZGlmaWVkIGZpbGUgJ2xpYm15c3FsL2xpYm15c3FsLmMnCi0tLSBhL2xpYm15c3Fs L2xpYm15c3FsLmMJMjAwOC0wOC0wNyAxNzo1Mjo0MyArMDAwMAorKysgYi9saWJteXNxbC9saWJt eXNxbC5jCTIwMDgtMTAtMTcgMTE6MDM6NDYgKzAwMDAKQEAgLTE3NDgsMTkgKzE3NDgsMjEgQEAg c3RhdGljIHZvaWQgYWxsb2Nfc3RtdF9maWVsZHMoTVlTUUxfU1RNVAogCSBmaWVsZD0gc3RtdC0+ ZmllbGRzOwogICAgICAgIGZpZWxkICYmIGZpZWxkcyA8IGVuZDsgZmllbGRzKyssIGZpZWxkKysp CiAgIHsKLSAgICBmaWVsZC0+Y2F0YWxvZyAgPSBzdHJkdXBfcm9vdChhbGxvYyxmaWVsZHMtPmNh dGFsb2cpOwotICAgIGZpZWxkLT5kYiAgICAgICA9IHN0cmR1cF9yb290KGFsbG9jLGZpZWxkcy0+ ZGIpOwotICAgIGZpZWxkLT50YWJsZSAgICA9IHN0cmR1cF9yb290KGFsbG9jLGZpZWxkcy0+dGFi bGUpOwotICAgIGZpZWxkLT5vcmdfdGFibGU9IHN0cmR1cF9yb290KGFsbG9jLGZpZWxkcy0+b3Jn X3RhYmxlKTsKLSAgICBmaWVsZC0+bmFtZSAgICAgPSBzdHJkdXBfcm9vdChhbGxvYyxmaWVsZHMt Pm5hbWUpOwotICAgIGZpZWxkLT5vcmdfbmFtZSA9IHN0cmR1cF9yb290KGFsbG9jLGZpZWxkcy0+ b3JnX25hbWUpOwotICAgIGZpZWxkLT5jaGFyc2V0bnI9IGZpZWxkcy0+Y2hhcnNldG5yOwotICAg IGZpZWxkLT5sZW5ndGggICA9IGZpZWxkcy0+bGVuZ3RoOwotICAgIGZpZWxkLT50eXBlICAgICA9 IGZpZWxkcy0+dHlwZTsKLSAgICBmaWVsZC0+ZmxhZ3MgICAgPSBmaWVsZHMtPmZsYWdzOwotICAg IGZpZWxkLT5kZWNpbWFscyA9IGZpZWxkcy0+ZGVjaW1hbHM7Ci0gICAgZmllbGQtPmRlZiAgICAg ID0gZmllbGRzLT5kZWYgPyBzdHJkdXBfcm9vdChhbGxvYyxmaWVsZHMtPmRlZik6IDA7Ci0gICAg ZmllbGQtPm1heF9sZW5ndGg9IDA7CisgICAgKmZpZWxkPSAqZmllbGRzOyAvKiBUbyBjb3B5IGFs bCBudW1lcmljIHBhcnRzLiAqLworICAgIGZpZWxkLT5jYXRhbG9nPSAgIHN0cm1ha2Vfcm9vdChh bGxvYywgZmllbGRzLT5jYXRhbG9nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmaWVsZHMtPmNhdGFsb2dfbGVuZ3RoKTsKKyAgICBmaWVsZC0+ZGI9ICAgICAgICBzdHJtYWtl X3Jvb3QoYWxsb2MsIGZpZWxkcy0+ZGIsIGZpZWxkcy0+ZGJfbGVuZ3RoKTsKKyAgICBmaWVsZC0+ dGFibGU9ICAgICBzdHJtYWtlX3Jvb3QoYWxsb2MsIGZpZWxkcy0+dGFibGUsIGZpZWxkcy0+dGFi bGVfbGVuZ3RoKTsKKyAgICBmaWVsZC0+b3JnX3RhYmxlPSBzdHJtYWtlX3Jvb3QoYWxsb2MsIGZp ZWxkcy0+b3JnX3RhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVs ZHMtPm9yZ190YWJsZV9sZW5ndGgpOworICAgIGZpZWxkLT5uYW1lPSAgICAgIHN0cm1ha2Vfcm9v dChhbGxvYywgZmllbGRzLT5uYW1lLCBmaWVsZHMtPm5hbWVfbGVuZ3RoKTsKKyAgICBmaWVsZC0+ b3JnX25hbWU9ICBzdHJtYWtlX3Jvb3QoYWxsb2MsIGZpZWxkcy0+b3JnX25hbWUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkcy0+b3JnX25hbWVfbGVuZ3RoKTsKKyAg ICBmaWVsZC0+ZGVmICAgICAgPSBmaWVsZHMtPmRlZiA/IHN0cm1ha2Vfcm9vdChhbGxvYywgZmll bGRzLT5kZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmllbGRzLT5kZWZfbGVuZ3RoKSA6IDA7CisgICAgZmllbGQtPmRlZl9sZW5ndGg9IGZpZWxk LT5kZWYgPyBmaWVsZHMtPmRlZl9sZW5ndGggOiAwOworICAgIGZpZWxkLT5leHRlbnNpb249IDA7 IC8qIEF2b2lkIGRhbmdsaW5nIGxpbmtzLiAqLworICAgIGZpZWxkLT5tYXhfbGVuZ3RoPSAwOyAv KiBtYXhfbGVuZ3RoIGlzIHNldCBpbiBteXNxbF9zdG10X3N0b3JlX3Jlc3VsdCgpICovCiAgIH0K IH0KIAoKPT09IG1vZGlmaWVkIGZpbGUgJ2xpYm15c3FsZC9saWJteXNxbGQuYycKLS0tIGEvbGli bXlzcWxkL2xpYm15c3FsZC5jCTIwMDgtMDMtMjcgMTg6NDA6MDAgKzAwMDAKKysrIGIvbGlibXlz cWxkL2xpYm15c3FsZC5jCTIwMDgtMTAtMTcgMTU6MTE6MjggKzAwMDAKQEAgLTI4LDYgKzI4LDcg QEAKICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUg PHRpbWUuaD4KKyNpbmNsdWRlIDxzcWxfY29tbW9uLmg+CiAjaW5jbHVkZSAiY2xpZW50X3NldHRp bmdzLmgiCiAjaWZkZWYJIEhBVkVfUFdEX0gKICNpbmNsdWRlIDxwd2QuaD4KQEAgLTgxLDE0ICs4 Miw2IEBAIHN0YXRpYyBteV9ib29sIGlzX05UKHZvaWQpCiAqKiBTaHV0IGRvd24gY29ubmVjdGlv bgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovCiAKLXN0YXRpYyB2b2lkIGVuZF9zZXJ2ZXIoTVlTUUwgKm15 c3FsKQotewotICBEQlVHX0VOVEVSKCJlbmRfc2VydmVyIik7Ci0gIGZyZWVfb2xkX3F1ZXJ5KG15 c3FsKTsKLSAgREJVR19WT0lEX1JFVFVSTjsKLX0KLQotCiBpbnQgbXlzcWxfaW5pdF9jaGFyYWN0 ZXJfc2V0KE1ZU1FMICpteXNxbCk7CiAKIE1ZU1FMICogU1REQ0FMTApAQCAtMTA0LDYgKzk3LDEz IEBAIG15c3FsX3JlYWxfY29ubmVjdChNWVNRTCAqbXlzcWwsY29uc3QgY2gKIAkJICAgICAgZGIg PyBkYiA6ICIoTnVsbCkiLAogCQkgICAgICB1c2VyID8gdXNlciA6ICIoTnVsbCkiKSk7CiAKKyAg LyogVGVzdCB3aGV0aGVyIHdlJ3JlIGFscmVhZHkgY29ubmVjdGVkICovCisgIGlmIChteXNxbC0+ c2VydmVyX3ZlcnNpb24pCisgIHsKKyAgICBzZXRfbXlzcWxfZXJyb3IobXlzcWwsIENSX0FMUkVB RFlfQ09OTkVDVEVELCB1bmtub3duX3NxbHN0YXRlKTsKKyAgICBEQlVHX1JFVFVSTigwKTsKKyAg fQorCiAgIGlmICghaG9zdCB8fCAhaG9zdFswXSkKICAgICBob3N0PSBteXNxbC0+b3B0aW9ucy5o b3N0OwogCkBAIC0yMTUsNyArMjE1LDcgQEAgZXJyb3I6CiAgIHsKICAgICAvKiBGcmVlIGFsbG9j ZWQgbWVtb3J5ICovCiAgICAgbXlfYm9vbCBmcmVlX21lPW15c3FsLT5mcmVlX21lOwotICAgIGVu ZF9zZXJ2ZXIobXlzcWwpOworICAgIGZyZWVfb2xkX3F1ZXJ5KG15c3FsKTsKICAgICBteXNxbC0+ ZnJlZV9tZT0wOwogICAgIG15c3FsX2Nsb3NlKG15c3FsKTsKICAgICBteXNxbC0+ZnJlZV9tZT1m cmVlX21lOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvbGliL210cl9yZXBvcnQucGwn Ci0tLSBhL215c3FsLXRlc3QvbGliL210cl9yZXBvcnQucGwJMjAwOC0xMC0wMiAwODo1MjoxMyAr MDAwMAorKysgYi9teXNxbC10ZXN0L2xpYi9tdHJfcmVwb3J0LnBsCTIwMDgtMTAtMTYgMTQ6MzA6 MzUgKzAwMDAKQEAgLTMyOSw0MyArMzI5LDQzIEBAIHN1YiBtdHJfcmVwb3J0X3N0YXRzICgkKSB7 CiAgICAgICAgICAgICAgICAgL1NsYXZlIFNRTDouKig/OkVycm9yX2NvZGU6IFxkK3xRdWVyeTou KikvIG9yCiAJCQogCQkjIGJhY2t1cF9lcnJvcnMgdGVzdCBpcyBzdXBwb3NlZCB0byB0cmlnZ2Vy IGxvdHMgb2YgYmFja3VwIHJlbGF0ZWQgZXJyb3JzCi0JCSgkdGVzdG5hbWUgZXEgJ21haW4uYmFj a3VwX2Vycm9ycycpIGFuZAorCQkoJHRlc3RuYW1lIGVxICdiYWNrdXAuYmFja3VwX2Vycm9ycycp IGFuZAogCQkoCi0JCSAgL0JhY2t1cDovIG9yIC9SZXN0b3JlOi8gb3IgL0Nhbid0IG9wZW4gdGhl IGJhY2t1cCBsb2cgdGFibGVzLworCQkgIC9CYWNrdXA6LyBvciAvUmVzdG9yZTovIG9yIC9DYW4n dCBvcGVuIHRoZSBiYWNrdXAgbG9ncyBhcyB0YWJsZXMvCiAJCSkgb3IKIAogCQkjIGJhY2t1cF9i YWNrdXBkaXIgdGVzdCBpcyBzdXBwb3NlZCB0byB0cmlnZ2VyIGJhY2t1cCByZWxhdGVkIGVycm9y cwotCQkoJHRlc3RuYW1lIGVxICdtYWluLmJhY2t1cF9iYWNrdXBkaXInKSBhbmQKKwkJKCR0ZXN0 bmFtZSBlcSAnYmFja3VwLmJhY2t1cF9iYWNrdXBkaXInKSBhbmQKIAkJKAogCQkgIC9CYWNrdXA6 LyBvciAvQ2FuJ3Qgd3JpdGUgdG8gYmFja3VwIGxvY2F0aW9uLwogCQkpIG9yCiAgICAgICAgICAg ICAgICAgCiAJCSMgYmFja3VwX2NvbmN1cnJlbnQgcGVyZm9ybXMgYSBiYWNrdXAgdGhhdCBzaG91 bGQgZmFpbAotCQkoJHRlc3RuYW1lIGVxICdtYWluLmJhY2t1cF9jb25jdXJyZW50JykgYW5kCisJ CSgkdGVzdG5hbWUgZXEgJ2JhY2t1cC5iYWNrdXBfY29uY3VycmVudCcpIGFuZAogCQkoCiAJCSAg L0Nhbid0IGV4ZWN1dGUgdGhpcyBjb21tYW5kIGJlY2F1c2UgYW5vdGhlciBCQUNLVVBcL1JFU1RP UkUgb3BlcmF0aW9uIGlzIGluIHByb2dyZXNzLwogCQkpIG9yCiAgICAgICAgICAgICAgICAgCiAJ CSMgYmFja3VwX2RiX2dyYW50cyB0ZXN0IGlzIHN1cHBvc2VkIHRvIHRyaWdnZXIgbG90cyBvZiBy ZXN0b3JlIHdhcm5pbmdzCi0JCSgkdGVzdG5hbWUgZXEgJ21haW4uYmFja3VwX2RiX2dyYW50cycp IGFuZAorCQkoJHRlc3RuYW1lIGVxICdiYWNrdXAuYmFja3VwX2RiX2dyYW50cycpIGFuZAogCQko CiAJCSAgL1Jlc3RvcmU6LyBvciAvd2FzIHNraXBwZWQgYmVjYXVzZSB0aGUgdXNlciBkb2VzIG5v dCBleGlzdC8KIAkJKSBvcgogICAgICAgICAgICAgICAgIAogCQkjIFRoZSB0YWJsZXNwYWNlIHRl c3QgdHJpZ2dlcnMgZXJyb3IgYmVsb3cgb24gcHVycG9zZQotCQkoJHRlc3RuYW1lIGVxICdtYWlu LmJhY2t1cF90YWJsZXNwYWNlJykgYW5kCisJCSgkdGVzdG5hbWUgZXEgJ2JhY2t1cC5iYWNrdXBf dGFibGVzcGFjZScpIGFuZAogCQkoCiAJCSAgL1Jlc3RvcmU6IFRhYmxlc3BhY2UgLiogbmVlZGVk IGJ5IHRhYmxlcyBiZWluZyByZXN0b3JlZCBoYXMgY2hhbmdlZCBvbiB0aGUgc2VydmVyLwogCQkp IG9yCiAgICAgICAgICAgICAgICAgCiAJCSMgVGhlIGJhY2t1cF9zZWN1cmVmaWxlcHJpdiB0ZXN0 IHRyaWdnZXJzIGVycm9yIGJlbG93IG9uIHB1cnBvc2UKLQkJKCR0ZXN0bmFtZSBlcSAnbWFpbi5i YWNrdXBfc2VjdXJlZmlsZXByaXYnKSBhbmQKKwkJKCR0ZXN0bmFtZSBlcSAnYmFja3VwLmJhY2t1 cF9zZWN1cmVmaWxlcHJpdicpIGFuZAogCQkoCiAJCSAgL0JhY2t1cDogVGhlIE15U1FMIHNlcnZl ciBpcyBydW5uaW5nIHdpdGggdGhlIC8KIAkJKSBvcgogCQkKIAkJIyBUaGUgdmlld3MgdGVzdCB0 cmlnZ2VycyBlcnJvcnMgYmVsb3cgb24gcHVycG9zZQotCQkoJHRlc3RuYW1lIGVxICdtYWluLmJh Y2t1cF92aWV3cycpIGFuZAorCQkoJHRlc3RuYW1lIGVxICdiYWNrdXAuYmFja3VwX3ZpZXdzJykg YW5kCiAJCSgKIAkJICAvQmFja3VwOiBGYWlsZWQgdG8gYWRkIHZpZXcvIG9yCiAJCSAgL0JhY2t1 cDogRmFpbGVkIHRvIG9idGFpbiBtZXRhLWRhdGEgZm9yIHZpZXcvIG9yCkBAIC0zNzMsMTEgKzM3 MywxMSBAQCBzdWIgbXRyX3JlcG9ydF9zdGF0cyAoJCkgewogCQkpIG9yCiAgCSAKIAkJIyBpZ25v cmUgd2FybmluZyBnZW5lcmF0ZWQgd2hlbiBiYWNrdXAgZW5naW5lIHNlbGVjdGlvbiBhbGdvcml0 aG0gaXMgdGVzdGVkCi0JCSgkdGVzdG5hbWUgZXEgJ21haW4uYmFja3VwX25vX2JlJykgYW5kIC9C YWNrdXA6IENhbm5vdCBjcmVhdGUgYmFja3VwIGVuZ2luZS8gb3IKKwkJKCR0ZXN0bmFtZSBlcSAn YmFja3VwLmJhY2t1cF9ub19iZScpIGFuZCAvQmFja3VwOiBDYW5ub3QgY3JlYXRlIGJhY2t1cCBl bmdpbmUvIG9yCiAJCSMgaWdub3JlIHdhcm5pbmdzIGdlbmVyYXRlZCB3aGVuIGJhY2t1cCBwcml2 aWxlZ2UgaXMgdGVzdGVkCi0JCSgkdGVzdG5hbWUgZXEgJ21haW4uYmFja3VwX3NlY3VyaXR5Jykg YW5kIC8oQmFja3VwfFJlc3RvcmUpOiBBY2Nlc3MgZGVuaWVkOyB5b3UgbmVlZCB0aGUgU1VQRVIv IG9yCisJCSgkdGVzdG5hbWUgZXEgJ2JhY2t1cC5iYWNrdXBfc2VjdXJpdHknKSBhbmQgLyhCYWNr dXB8UmVzdG9yZSk6IEFjY2VzcyBkZW5pZWQ7IHlvdSBuZWVkIHRoZSBTVVBFUi8gb3IKIAkJCi0g ICAgICAgICAgICAgICAgKCR0ZXN0bmFtZSBlcSAnbWFpbi5iYWNrdXBfbXlpc2FtMScpIGFuZAor ICAgICAgICAgICAgICAgICgkdGVzdG5hbWUgZXEgJ2JhY2t1cC5iYWNrdXBfbXlpc2FtMScpIGFu ZAogICAgICAgICAgICAgICAgICgvQmFja3VwOiBDYW4ndCBpbml0aWFsaXplIE15SVNBTSBiYWNr dXAgZHJpdmVyLykgb3IKIAkJL1NvcnQgYWJvcnRlZC8gb3IKIAkJL1RpbWUtb3V0IGluIE5EQi8g b3IKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvYmlubG9nX2Zvcm1hdF9iYXNpYy5y ZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9iaW5sb2dfZm9ybWF0X2Jhc2ljLnJlc3VsdAkyMDA4 LTA0LTEwIDEzOjE0OjI4ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9iaW5sb2dfZm9ybWF0X2Jh c2ljLnJlc3VsdAkyMDA4LTEwLTIyIDE0OjA4OjEwICswMDAwCkBAIC0xLDMgKzEsNiBAQAorU0VM RUNUIEBAR0xPQkFMLmJpbmxvZ19mb3JtYXQ7CitAQEdMT0JBTC5iaW5sb2dfZm9ybWF0CitNSVhF RAogJyMtLS0tLS0tLS0tLS0tLS0tLS0tLS1CU19TVFZBUlNfMDAyXzAxLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSMnCiBTRUxFQ1QgQ09VTlQoQEBHTE9CQUwuYmlubG9nX2Zvcm1hdCk7CiBDT1VOVChA QEdMT0JBTC5iaW5sb2dfZm9ybWF0KQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9j cmVhdGUucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvY3JlYXRlLnJlc3VsdAkyMDA4LTEwLTAy IDE0OjAzOjU3ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9jcmVhdGUucmVzdWx0CTIwMDgtMTAt MTcgMTQ6MTM6MjQgKzAwMDAKQEAgLTIyOCw3ICsyMjgsNyBAQCB0MQlDUkVBVEUgVEFCTEUgYHQx YCAoCiApIEVOR0lORT1NRU1PUlkgREVGQVVMVCBDSEFSU0VUPWxhdGluMQogZHJvcCB0YWJsZSB0 MTsKIFNFVCBTRVNTSU9OIHN0b3JhZ2VfZW5naW5lPSJnZW1pbmkiOwotRVJST1IgNDIwMDA6IFVu a25vd24gdGFibGUgZW5naW5lICdnZW1pbmknCitFUlJPUiA0MjAwMDogVW5rbm93biBzdG9yYWdl IGVuZ2luZSAnZ2VtaW5pJwogU0VMRUNUIEBAc3RvcmFnZV9lbmdpbmU7CiBAQHN0b3JhZ2VfZW5n aW5lCiBNRU1PUlkKQEAgLTM4OSw3ICszODksNyBAQCB0MQlDUkVBVEUgVEFCTEUgYHQxYCAoCiAp IEVOR0lORT1NRU1PUlkgREVGQVVMVCBDSEFSU0VUPWxhdGluMQogZHJvcCB0YWJsZSB0MTsKIFNF VCBTRVNTSU9OIHN0b3JhZ2VfZW5naW5lPSJnZW1pbmkiOwotRVJST1IgNDIwMDA6IFVua25vd24g dGFibGUgZW5naW5lICdnZW1pbmknCitFUlJPUiA0MjAwMDogVW5rbm93biBzdG9yYWdlIGVuZ2lu ZSAnZ2VtaW5pJwogU0VMRUNUIEBAc3RvcmFnZV9lbmdpbmU7CiBAQHN0b3JhZ2VfZW5naW5lCiBN RU1PUlkKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvbG9nX3RhYmxlcy5yZXN1bHQn Ci0tLSBhL215c3FsLXRlc3Qvci9sb2dfdGFibGVzLnJlc3VsdAkyMDA4LTA5LTI5IDE4OjIwOjU5 ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9sb2dfdGFibGVzLnJlc3VsdAkyMDA4LTEwLTE3IDE0 OjEzOjI0ICswMDAwCkBAIC0yMzUsNyArMjM1LDcgQEAgc2V0IEBzYXZlX3N0b3JhZ2VfZW5naW5l PSBAQHNlc3Npb24uc3Rvcgogc2V0IHN0b3JhZ2VfZW5naW5lPSBNRU1PUlk7CiBhbHRlciB0YWJs ZSBteXNxbC5zbG93X2xvZyBlbmdpbmU9Tm9uRXhpc3RlbnRFbmdpbmU7CiBXYXJuaW5nczoKLVdh cm5pbmcJMTI4NglVbmtub3duIHRhYmxlIGVuZ2luZSAnTm9uRXhpc3RlbnRFbmdpbmUnCitXYXJu aW5nCTEyODYJVW5rbm93biBzdG9yYWdlIGVuZ2luZSAnTm9uRXhpc3RlbnRFbmdpbmUnCiBhbHRl ciB0YWJsZSBteXNxbC5zbG93X2xvZyBlbmdpbmU9bWVtb3J5OwogRVJST1IgSFkwMDA6IFRoaXMg c3RvcmFnZSBlbmdpbmUgY2Fubm90IGJlIHVzZWQgZm9yIGxvZyB0YWJsZXMiCiBzZXQgc3RvcmFn ZV9lbmdpbmU9IEBzYXZlX3N0b3JhZ2VfZW5naW5lOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3Fs LXRlc3Qvci9teXNxbC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9teXNxbC5yZXN1bHQJMjAw OC0wNy0yMyAxMToyODoyMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvbXlzcWwucmVzdWx0CTIw MDgtMTAtMTcgMTQ6MTM6MjQgKzAwMDAKQEAgLTM3OCw5ICszNzgsOSBAQCBXQVJOSU5HOiAtLXNl cnZlci1hcmcgb3B0aW9uIG5vdCBzdXBwb3J0CiArLS0tKwogfCAxIHwgCiArLS0tKwotV2Fybmlu ZyAoQ29kZSAxMjg2KTogVW5rbm93biB0YWJsZSBlbmdpbmUgJ25vbmV4aXN0ZW50JworV2Fybmlu ZyAoQ29kZSAxMjg2KTogVW5rbm93biBzdG9yYWdlIGVuZ2luZSAnbm9uZXhpc3RlbnQnCiBXYXJu aW5nIChDb2RlIDEyNjYpOiBVc2luZyBzdG9yYWdlIGVuZ2luZSBNeUlTQU0gZm9yIHRhYmxlICd0 MicKLVdhcm5pbmcgKENvZGUgMTI4Nik6IFVua25vd24gdGFibGUgZW5naW5lICdub25leGlzdGVu dDInCitXYXJuaW5nIChDb2RlIDEyODYpOiBVbmtub3duIHN0b3JhZ2UgZW5naW5lICdub25leGlz dGVudDInCiBXYXJuaW5nIChDb2RlIDEyNjYpOiBVc2luZyBzdG9yYWdlIGVuZ2luZSBNeUlTQU0g Zm9yIHRhYmxlICd0MicKIEVycm9yIChDb2RlIDEwNTApOiBUYWJsZSAndDInIGFscmVhZHkgZXhp c3RzCiBkcm9wIHRhYmxlcyB0MSwgdDI7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9y L3BhcnRpdGlvbi5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9wYXJ0aXRpb24ucmVzdWx0CTIw MDgtMTAtMDcgMTU6NDA6MTIgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3BhcnRpdGlvbi5yZXN1 bHQJMjAwOC0xMC0xNyAxNDoxMzoyNCArMDAwMApAQCAtMiwzMCArMiwzMCBAQCBkcm9wIHRhYmxl IGlmIGV4aXN0cyB0MSwgdDI7CiBDUkVBVEUgVEFCTEUgdDEgKGEgSU5UKQogRU5HSU5FPU5vbkV4 aXN0ZW50RW5naW5lOwogV2FybmluZ3M6Ci1XYXJuaW5nCTEyODYJVW5rbm93biB0YWJsZSBlbmdp bmUgJ05vbkV4aXN0ZW50RW5naW5lJworV2FybmluZwkxMjg2CVVua25vd24gc3RvcmFnZSBlbmdp bmUgJ05vbkV4aXN0ZW50RW5naW5lJwogV2FybmluZwkxMjY2CVVzaW5nIHN0b3JhZ2UgZW5naW5l IE15SVNBTSBmb3IgdGFibGUgJ3QxJwogRFJPUCBUQUJMRSB0MTsKIENSRUFURSBUQUJMRSB0MSAo YSBJTlQpCiBFTkdJTkU9Tm9uRXhpc3RlbnRFbmdpbmUKIFBBUlRJVElPTiBCWSBIQVNIIChhKTsK IFdhcm5pbmdzOgotV2FybmluZwkxMjg2CVVua25vd24gdGFibGUgZW5naW5lICdOb25FeGlzdGVu dEVuZ2luZScKK1dhcm5pbmcJMTI4NglVbmtub3duIHN0b3JhZ2UgZW5naW5lICdOb25FeGlzdGVu dEVuZ2luZScKIFdhcm5pbmcJMTI2NglVc2luZyBzdG9yYWdlIGVuZ2luZSBNeUlTQU0gZm9yIHRh YmxlICd0MScKIERST1AgVEFCTEUgdDE7CiBDUkVBVEUgVEFCTEUgdDEgKGEgSU5UKQogRU5HSU5F PU1lbW9yeTsKIEFMVEVSIFRBQkxFIHQxIEVOR0lORT1Ob25FeGlzdGVudEVuZ2luZTsKIFdhcm5p bmdzOgotV2FybmluZwkxMjg2CVVua25vd24gdGFibGUgZW5naW5lICdOb25FeGlzdGVudEVuZ2lu ZScKK1dhcm5pbmcJMTI4NglVbmtub3duIHN0b3JhZ2UgZW5naW5lICdOb25FeGlzdGVudEVuZ2lu ZScKIEFMVEVSIFRBQkxFIHQxCiBQQVJUSVRJT04gQlkgSEFTSCAoYSkKIChQQVJUSVRJT04gcDAg RU5HSU5FPU1lbW9yeSwKIFBBUlRJVElPTiBwMSBFTkdJTkU9Tm9uRXhpc3RlbnRFbmdpbmUpOwog V2FybmluZ3M6Ci1XYXJuaW5nCTEyODYJVW5rbm93biB0YWJsZSBlbmdpbmUgJ05vbkV4aXN0ZW50 RW5naW5lJworV2FybmluZwkxMjg2CVVua25vd24gc3RvcmFnZSBlbmdpbmUgJ05vbkV4aXN0ZW50 RW5naW5lJwogQUxURVIgVEFCTEUgdDEgRU5HSU5FPU5vbkV4aXN0ZW50RW5naW5lOwogV2Fybmlu Z3M6Ci1XYXJuaW5nCTEyODYJVW5rbm93biB0YWJsZSBlbmdpbmUgJ05vbkV4aXN0ZW50RW5naW5l JworV2FybmluZwkxMjg2CVVua25vd24gc3RvcmFnZSBlbmdpbmUgJ05vbkV4aXN0ZW50RW5naW5l JwogU0hPVyBDUkVBVEUgVEFCTEUgdDE7CiBUYWJsZQlDcmVhdGUgVGFibGUKIHQxCUNSRUFURSBU QUJMRSBgdDFgICgKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvcGFydGl0aW9uX2lu bm9kYi5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9wYXJ0aXRpb25faW5ub2RiLnJlc3VsdAky MDA4LTA3LTA3IDE3OjU0OjUwICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9wYXJ0aXRpb25faW5u b2RiLnJlc3VsdAkyMDA4LTEwLTE3IDE0OjEzOjI0ICswMDAwCkBAIC02Niw3ICs2Niw3IEBAIGNy ZWF0ZSB0YWJsZSB0MSAoYSBpbnQpCiBlbmdpbmUgPSB4CiBwYXJ0aXRpb24gYnkga2V5IChhKTsK IFdhcm5pbmdzOgotV2FybmluZwkxMjg2CVVua25vd24gdGFibGUgZW5naW5lICd4JworV2Fybmlu ZwkxMjg2CVVua25vd24gc3RvcmFnZSBlbmdpbmUgJ3gnCiBXYXJuaW5nCTEyNjYJVXNpbmcgc3Rv cmFnZSBlbmdpbmUgTXlJU0FNIGZvciB0YWJsZSAndDEnCiBzaG93IGNyZWF0ZSB0YWJsZSB0MTsK IFRhYmxlCUNyZWF0ZSBUYWJsZQpAQCAtODAsNyArODAsNyBAQCBwYXJ0aXRpb24gYnkgbGlzdCAo YSkKIChwYXJ0aXRpb24gcDAgdmFsdWVzIGluICgwKSk7CiBhbHRlciB0YWJsZSB0MSBlbmdpbmUg PSB4OwogV2FybmluZ3M6Ci1XYXJuaW5nCTEyODYJVW5rbm93biB0YWJsZSBlbmdpbmUgJ3gnCitX YXJuaW5nCTEyODYJVW5rbm93biBzdG9yYWdlIGVuZ2luZSAneCcKIHNob3cgY3JlYXRlIHRhYmxl IHQxOwogVGFibGUJQ3JlYXRlIFRhYmxlCiB0MQlDUkVBVEUgVEFCTEUgYHQxYCAoCgo9PT0gbW9k aWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3BsdWdpbi5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qv ci9wbHVnaW4ucmVzdWx0CTIwMDgtMDItMjQgMTM6MTI6MTcgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9yL3BsdWdpbi5yZXN1bHQJMjAwOC0xMC0xNyAxNDoxMzoyNCArMDAwMApAQCAtMSw2ICsxLDYg QEAKIENSRUFURSBUQUJMRSB0MShhIGludCkgRU5HSU5FPUVYQU1QTEU7CiBXYXJuaW5nczoKLVdh cm5pbmcJMTI4NglVbmtub3duIHRhYmxlIGVuZ2luZSAnRVhBTVBMRScKK1dhcm5pbmcJMTI4NglV bmtub3duIHN0b3JhZ2UgZW5naW5lICdFWEFNUExFJwogV2FybmluZwkxMjY2CVVzaW5nIHN0b3Jh Z2UgZW5naW5lIE15SVNBTSBmb3IgdGFibGUgJ3QxJwogRFJPUCBUQUJMRSB0MTsKIElOU1RBTEwg UExVR0lOIGV4YW1wbGUgU09OQU1FICdoYV9leGFtcGxlLnNvJzsKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3Ivc3AucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Ivc3AucmVzdWx0CTIw MDgtMDktMjUgMTE6NDY6MTcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3NwLnJlc3VsdAkyMDA4 LTEwLTE2IDEyOjM5OjMwICswMDAwCkBAIC02OTQ4LDMgKzY5NDgsMjEgQEAgZHJvcCBwcm9jZWR1 cmUgcDsKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAjIC0tIEVuZCBvZiA1LjEgdGVzdHMKICMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitE Uk9QIEZVTkNUSU9OIElGIEVYSVNUUyBmMTsKK0RST1AgVEFCTEUgSUYgRVhJU1RTIHRfbm9uX2V4 aXN0aW5nOworRFJPUCBUQUJMRSBJRiBFWElTVFMgdDE7CitDUkVBVEUgRlVOQ1RJT04gZjEoKSBS RVRVUk5TIElOVAorQkVHSU4KK0RFQ0xBUkUgdiBJTlQ7CitTRUxFQ1QgYSBJTlRPIHYgRlJPTSB0 X25vbl9leGlzdGluZzsKK1JFVFVSTiAxOworRU5EfAorQ1JFQVRFIFRBQkxFIHQxIChhIElOVCkg RU5HSU5FID0gbXlpc2FtOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgxKTsKK1NFTEVDVCAqIEZS T00gdDEgV0hFUkUgYSA9IGYxKCk7CitFUlJPUiA0MlMwMjogVGFibGUgJ3Rlc3QudF9ub25fZXhp c3RpbmcnIGRvZXNuJ3QgZXhpc3QKK0RST1AgRlVOQ1RJT04gZjE7CitEUk9QIFRBQkxFIHQxOwor IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyMgLS0gRW5kIG9mIDYuMCB0ZXN0cworIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCj09PSBtb2Rp ZmllZCBmaWxlICdteXNxbC10ZXN0L3Ivc3RvcmFnZV9lbmdpbmVfYmFzaWMucmVzdWx0JwotLS0g YS9teXNxbC10ZXN0L3Ivc3RvcmFnZV9lbmdpbmVfYmFzaWMucmVzdWx0CTIwMDgtMDQtMTAgMTM6 MTQ6MjggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3N0b3JhZ2VfZW5naW5lX2Jhc2ljLnJlc3Vs dAkyMDA4LTEwLTE3IDE0OjEzOjI0ICswMDAwCkBAIC02MCwxMyArNjAsMTMgQEAgRVJST1IgNDIw MDA6IEluY29ycmVjdCBhcmd1bWVudCB0eXBlIHRvIAogU0VUIEBAZ2xvYmFsLnN0b3JhZ2VfZW5n aW5lID0gNjU1MzAuMzQuOwogRVJST1IgNDIwMDA6IFlvdSBoYXZlIGFuIGVycm9yIGluIHlvdXIg U1FMIHN5bnRheDsgY2hlY2sgdGhlIG1hbnVhbCB0aGF0IGNvcnJlc3BvbmRzIHRvIHlvdXIgTXlT UUwgc2VydmVyIHZlcnNpb24gZm9yIHRoZSByaWdodCBzeW50YXggdG8gdXNlIG5lYXIgJy4nIGF0 IGxpbmUgMQogU0VUIEBAZ2xvYmFsLnN0b3JhZ2VfZW5naW5lID0gRklMRTsKLUVSUk9SIDQyMDAw OiBVbmtub3duIHRhYmxlIGVuZ2luZSAnRklMRScKK0VSUk9SIDQyMDAwOiBVbmtub3duIHN0b3Jh Z2UgZW5naW5lICdGSUxFJwogU0VUIEBAc2Vzc2lvbi5zdG9yYWdlX2VuZ2luZSA9IDgxOTk7CiBF UlJPUiA0MjAwMDogSW5jb3JyZWN0IGFyZ3VtZW50IHR5cGUgdG8gdmFyaWFibGUgJ3N0b3JhZ2Vf ZW5naW5lJwogU0VUIEBAc2Vzc2lvbi5zdG9yYWdlX2VuZ2luZSA9IDY1NTMwLjM0LjsKIEVSUk9S IDQyMDAwOiBZb3UgaGF2ZSBhbiBlcnJvciBpbiB5b3VyIFNRTCBzeW50YXg7IGNoZWNrIHRoZSBt YW51YWwgdGhhdCBjb3JyZXNwb25kcyB0byB5b3VyIE15U1FMIHNlcnZlciB2ZXJzaW9uIGZvciB0 aGUgcmlnaHQgc3ludGF4IHRvIHVzZSBuZWFyICcuJyBhdCBsaW5lIDEKIFNFVCBAQHNlc3Npb24u c3RvcmFnZV9lbmdpbmUgPSBSRUNPUkQ7Ci1FUlJPUiA0MjAwMDogVW5rbm93biB0YWJsZSBlbmdp bmUgJ1JFQ09SRCcKK0VSUk9SIDQyMDAwOiBVbmtub3duIHN0b3JhZ2UgZW5naW5lICdSRUNPUkQn CiAnIy0tLS0tLS0tLS0tLS0tLS0tLUZOX0RZTlZBUlNfMDA1XzA1LS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0jJwogU0VMRUNUIEBAZ2xvYmFsLnN0b3JhZ2VfZW5naW5lID0KIFZBUklBQkxFX1ZBTFVF IEZST00gSU5GT1JNQVRJT05fU0NIRU1BLkdMT0JBTF9WQVJJQUJMRVMKCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3IvdmFyaWFibGVzLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3Zh cmlhYmxlcy5yZXN1bHQJMjAwOC0wNS0yOSAxMjo1Njo1MSArMDAwMAorKysgYi9teXNxbC10ZXN0 L3IvdmFyaWFibGVzLnJlc3VsdAkyMDA4LTEwLTE3IDE0OjEzOjI0ICswMDAwCkBAIC0zNzgsNyAr Mzc4LDcgQEAgRVJST1IgSFkwMDA6IFVua25vd24gc3lzdGVtIHZhcmlhYmxlICd1bgogc2V0IG1h eF9qb2luX3NpemU9ImhlbGxvIjsKIEVSUk9SIDQyMDAwOiBJbmNvcnJlY3QgYXJndW1lbnQgdHlw ZSB0byB2YXJpYWJsZSAnbWF4X2pvaW5fc2l6ZScKIHNldCBzdG9yYWdlX2VuZ2luZT1VTktOT1dO X1RBQkxFX1RZUEU7Ci1FUlJPUiA0MjAwMDogVW5rbm93biB0YWJsZSBlbmdpbmUgJ1VOS05PV05f VEFCTEVfVFlQRScKK0VSUk9SIDQyMDAwOiBVbmtub3duIHN0b3JhZ2UgZW5naW5lICdVTktOT1dO X1RBQkxFX1RZUEUnCiBzZXQgc3RvcmFnZV9lbmdpbmU9TUVSR0UsIGJpZ190YWJsZXM9MjsKIEVS Uk9SIDQyMDAwOiBWYXJpYWJsZSAnYmlnX3RhYmxlcycgY2FuJ3QgYmUgc2V0IHRvIHRoZSB2YWx1 ZSBvZiAnMicKIHNob3cgbG9jYWwgdmFyaWFibGVzIGxpa2UgJ3N0b3JhZ2VfZW5naW5lJzsKCj09 PSBhZGRlZCBkaXJlY3RvcnkgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwJwo9PT0gYWRkZWQgZGly ZWN0b3J5ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yJwo9PT0gcmVuYW1lZCBmaWxlICdteXNx bC10ZXN0L3IvYmFja3VwLnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFj a3VwLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2JhY2t1cC5yZXN1bHQJMjAwOC0wNy0wMSAy MDozMjoyNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cC5yZXN1 bHQJMjAwOC0xMC0wNyAxNzoxNTo0NCArMDAwMApAQCAtMTAsMTcgKzEwLDEzIEBAIENSRUFURSBU QUJMRSBgYnVpbGRpbmdgICgKIGBkaXJfY29kZWAgY2hhcig0KSwKIGBidWlsZGluZ2AgY2hhcig2 KQogKSBFTkdJTkU9TVlJU0FNIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjE7Ci1MT0NLIFRBQkxFUyBg YnVpbGRpbmdgIFdSSVRFOwogSU5TRVJUIElOVE8gYGJ1aWxkaW5nYCBWQUxVRVMgKCdONDEnLCcx MzAwJyksKCdOMDEnLCcxNDUzJyksKCdNMDAnLCcxMDAwJyksKCdONDEnLCcxMzAxJyksKCdONDEn LCcxMzA1Jyk7Ci1VTkxPQ0sgVEFCTEVTOwogQ1JFQVRFIFRBQkxFIGBkaXJlY3RvcmF0ZWAgKAog YGRpcl9jb2RlYCBjaGFyKDQpLAogYGRpcl9uYW1lYCBjaGFyKDMwKSwKIGBkaXJfaGVhZF9pZGAg Y2hhcig5KQogKSBFTkdJTkU9TVlJU0FNIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjE7Ci1MT0NLIFRB QkxFUyBgZGlyZWN0b3JhdGVgIFdSSVRFOwogSU5TRVJUIElOVE8gYGRpcmVjdG9yYXRlYCBWQUxV RVMgKCdONDEnLCdEZXZlbG9wbWVudCcsJzMzMzQ0NTU1NScpLCgnTjAxJywnSHVtYW4gUmVzb3Vy Y2VzJywnMTIzNjU0MzIxJyksKCdNMDAnLCdNYW5hZ2VtZW50JywnMzMzNDQ0NDQ0Jyk7Ci1VTkxP Q0sgVEFCTEVTOwogVVNFIGRiMjsKIENSRUFURSBUQUJMRSBgc3RhZmZgICgKIGBpZGAgY2hhcig5 KSwKQEAgLTMxLDE3ICsyNywxMyBAQCBDUkVBVEUgVEFCTEUgYHN0YWZmYCAoCiBgc2FsYXJ5YCBp bnQoMTEpLAogYG1ncl9pZGAgY2hhcig5KQogKSBFTkdJTkU9TVlJU0FNIERFRkFVTFQgQ0hBUlNF VD1sYXRpbjE7Ci1MT0NLIFRBQkxFUyBgc3RhZmZgIFdSSVRFOwogSU5TRVJUIElOVE8gYHN0YWZm YCBWQUxVRVMgKCczMzM0NDU1NTUnLCdKb2huJywnUScsJ1NtaXRoJywnTScsMzAwMDAsJzMzMzQ0 NDQ0NCcpLCgnMTIzNzYzMTUzJywnV2lsbGlhbScsJ0UnLCdXYWx0ZXJzJywnTScsMjUwMDAsJzEy MzY1NDMyMScpLCgnMzMzNDQ0NDQ0JywnQWxpY2lhJywnRicsJ1N0LkNydXonLCdGJywyNTAwMCxO VUxMKSwoJzkyMTMxMjM4OCcsJ0dveScsJ1gnLCdIb25nJywnRicsNDAwMDAsJzEyMzY1NDMyMScp LCgnODAwMTIyMzM3JywnUmFqZXNoJywnRycsJ0thcmRha2FybmEnLCdNJywzODAwMCwnMzMzNDQ1 NTU1JyksKCc4MjAxMjM2MzcnLCdNb250eScsJ0MnLCdTbXl0aGUnLCdNJywzODAwMCwnMzMzNDQ1 NTU1JyksKCc4MzAxMzIzMzUnLCdSaWNoYXJkJywnRScsJ0pvbmVzJywnTScsMzgwMDAsJzMzMzQ0 NTU1NScpLCgnMzMzNDQ1NjY1JywnRWR3YXJkJywnRScsJ0VuZ2xlcycsJ00nLDI1MDAwLCczMzM0 NDU1NTUnKSwoJzEyMzY1NDMyMScsJ0Jld2FyZScsJ0QnLCdCb3JnJywnRicsNTUwMDAsJzMzMzQ0 NDQ0NCcpLCgnMTIzNDU2Nzg5JywnV2lsbWEnLCdOJywnTWF4aW1hJywnRicsNDMwMDAsJzMzMzQ0 NTU1NScpOwotVU5MT0NLIFRBQkxFUzsKIENSRUFURSBUQUJMRSBgdGFza2luZ2AgKAogYGlkYCBj aGFyKDkpLAogYHByb2plY3RfbnVtYmVyYCBjaGFyKDkpLAogYGhvdXJzX3dvcmtlZGAgZG91Ymxl KDEwLDIpCiApIEVOR0lORT1ibGFja2hvbGUgREVGQVVMVCBDSEFSU0VUPWxhdGluMTsKLUxPQ0sg VEFCTEVTIGB0YXNraW5nYCBXUklURTsKIElOU0VSVCBJTlRPIGB0YXNraW5nYCBWQUxVRVMgKCcz MzM0NDU1NTUnLCc0MDUnLDIzKSwoJzEyMzc2MzE1MycsJzQwNScsMzMuNSksKCc5MjEzMTIzODgn LCc2MDEnLDQ0KSwoJzgwMDEyMjMzNycsJzMwMCcsMTMpLCgnODIwMTIzNjM3JywnMzAwJyw5LjUp LCgnODMwMTMyMzM1JywnNDAxJyw4LjUpLCgnMzMzNDQ1NTU1JywnMzAwJywxMSksKCc5MjEzMTIz ODgnLCc1MDAnLDEzKSwoJzgwMDEyMjMzNycsJzMwMCcsNDQpLCgnODIwMTIzNjM3JywnNDAxJyw1 MDAuNSksKCc4MzAxMzIzMzUnLCc0MDAnLDEyKSwoJzMzMzQ0NTY2NScsJzYwMCcsMzAwLjI1KSwo JzEyMzY1NDMyMScsJzYwNycsNDQ0Ljc1KSwoJzEyMzQ1Njc4OScsJzMwMCcsMTAwMCk7Ci1VTkxP Q0sgVEFCTEVTOwogYmFja3VwOiBBY3RpdmF0ZSBzeW5jaHJvbml6YXRpb24gcG9pbnRzIGZvciBC QUNLVVAuCiBEZXBlbmRpbmcgb24gdGhlIGRyaXZlciB1c2VkLCBvbmUgb2YgdGhlIHN5bmMgcG9p bnRzIGlzIHVzZWQsCiBhbmQgdGhlIHJlc3VsdCBkaWZmZXJzIGluIFBST0NFU1NMSVNUIHN0YXRl IGFuZCBpbmZvLgpAQCAtNjcsMTIgKzU5LDIwIEBAIGJyZWFrcG9pbnRzOiBTZW5kaW5nIGZpbmlz aCBzaWduYWwgdG8gd2EKIFNFVCBERUJVR19TWU5DPSAnbm93IFNJR05BTCBmaW5pc2gnOwogYmFj a3VwX2lkCiAjCitTRUxFQ1QgTUFYKGJhY2t1cF9pZCkgRlJPTSBteXNxbC5iYWNrdXBfaGlzdG9y eSBJTlRPIEBiaWQ7CitTRUxFQ1QgdmFsaWRpdHlfcG9pbnRfdGltZSBGUk9NIG15c3FsLmJhY2t1 cF9oaXN0b3J5CitXSEVSRSBiYWNrdXBfaWQgPSBAYmlkIElOVE8gQHZwX3RpbWU7CitTRUxFQ1Qg YmlubG9nX2ZpbGUgRlJPTSBteXNxbC5iYWNrdXBfaGlzdG9yeQorV0hFUkUgYmFja3VwX2lkID0g QGJpZCBJTlRPIEB2cF9maWxlOworU0VMRUNUIGJpbmxvZ19wb3MgRlJPTSBteXNxbC5iYWNrdXBf aGlzdG9yeQorV0hFUkUgYmFja3VwX2lkID0gQGJpZCBJTlRPIEB2cF9wb3M7CiBEUk9QIERBVEFC QVNFIGRiMTsKIERST1AgREFUQUJBU0UgZGIyOwogVVNFIG15c3FsOwogUkVTVE9SRSBGUk9NICd0 ZXN0LmJhJzsKIGJhY2t1cF9pZAogIworU0VMRUNUIE1BWChiYWNrdXBfaWQpIEZST00gbXlzcWwu YmFja3VwX2hpc3RvcnkgSU5UTyBAYmlkOwogU0hPVyBDUkVBVEUgREFUQUJBU0UgZGIxOwogRGF0 YWJhc2UJQ3JlYXRlIERhdGFiYXNlCiBkYjEJQ1JFQVRFIERBVEFCQVNFIGBkYjFgIC8qITQwMTAw IERFRkFVTFQgQ0hBUkFDVEVSIFNFVCBsYXRpbjEgKi8KQEAgLTEzMiw2ICsxMzIsMTggQEAgdGFz a2luZwlDUkVBVEUgVEFCTEUgYHRhc2tpbmdgICgKICAgYHByb2plY3RfbnVtYmVyYCBjaGFyKDkp IERFRkFVTFQgTlVMTCwKICAgYGhvdXJzX3dvcmtlZGAgZG91YmxlKDEwLDIpIERFRkFVTFQgTlVM TAogKSBFTkdJTkU9QkxBQ0tIT0xFIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjEKK1NFTEVDVCB2YWxp ZGl0eV9wb2ludF90aW1lID0gQHZwX3RpbWUgRlJPTSBteXNxbC5iYWNrdXBfaGlzdG9yeQorV0hF UkUgYmFja3VwX2lkID0gQGJpZDsKK3ZhbGlkaXR5X3BvaW50X3RpbWUgPSBAdnBfdGltZQorMQor U0VMRUNUIGJpbmxvZ19maWxlID0gQHZwX2ZpbGUgRlJPTSBteXNxbC5iYWNrdXBfaGlzdG9yeQor V0hFUkUgYmFja3VwX2lkID0gQGJpZDsKK2JpbmxvZ19maWxlID0gQHZwX2ZpbGUKKzEKK1NFTEVD VCBiaW5sb2dfcG9zID0gQHZwX3BvcyBGUk9NIG15c3FsLmJhY2t1cF9oaXN0b3J5CitXSEVSRSBi YWNrdXBfaWQgPSBAYmlkOworYmlubG9nX3BvcyA9IEB2cF9wb3MKKzEKIERST1AgREFUQUJBU0Ug ZGIxOwogRFJPUCBEQVRBQkFTRSBkYjI7CiBEUk9QIERBVEFCQVNFIGRiMzsKCj09PSByZW5hbWVk IGZpbGUgJ215c3FsLXRlc3Qvci9iYWNrdXBfYmFja3VwZGlyLnJlc3VsdCcgPT4gJ215c3FsLXRl c3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX2JhY2t1cGRpci5yZXN1bHQnCj09PSByZW5hbWVkIGZp bGUgJ215c3FsLXRlc3Qvci9iYWNrdXBfYmxvYi5yZXN1bHQnID0+ICdteXNxbC10ZXN0L3N1aXRl L2JhY2t1cC9yL2JhY2t1cF9ibG9iLnJlc3VsdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVz dC9yL2JhY2t1cF9jaGFyc2V0cy5yZXN1bHQnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9y L2JhY2t1cF9jaGFyc2V0cy5yZXN1bHQnCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRl L2JhY2t1cC9yL2JhY2t1cF9jb21taXRfYmFja3VwLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9z dWl0ZS9iYWNrdXAvci9iYWNrdXBfY29tbWl0X2JhY2t1cC5yZXN1bHQJMTk3MC0wMS0wMSAwMDow MDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9jb21taXRf YmFja3VwLnJlc3VsdAkyMDA4LTEwLTA3IDE3OjE1OjQ0ICswMDAwCkBAIC0wLDAgKzEsMzI0IEBA CitEUk9QIERBVEFCQVNFIElGIEVYSVNUUyBkYjE7CitEUk9QIERBVEFCQVNFIElGIEVYSVNUUyBk YjI7CitDUkVBVEUgREFUQUJBU0UgZGIxOworQ1JFQVRFIERBVEFCQVNFIGRiMjsKK0NSRUFURSBU QUJMRSBkYjEudDEgKHMxIENIQVIoMykpIEVOR0lORT1pbm5vZGI7CitDUkVBVEUgVEFCTEUgZGIx LnQyIChzMSBDSEFSKDMpKSBFTkdJTkU9ZmFsY29uOworQ1JFQVRFIFRBQkxFIGRiMS50MyAoczEg Q0hBUigzKSkgRU5HSU5FPW1lbW9yeTsKK0NSRUFURSBUQUJMRSBkYjEudDQgKHMxIENIQVIoMykp IEVOR0lORT1teWlzYW07CitDUkVBVEUgVEFCTEUgZGIyLnQxIChzMSBDSEFSKDMpKSBFTkdJTkU9 aW5ub2RiOworQ1JFQVRFIFRBQkxFIGRiMi50MiAoczEgQ0hBUigzKSkgRU5HSU5FPWZhbGNvbjsK K0NSRUFURSBUQUJMRSBkYjIudDMgKHMxIENIQVIoMykpIEVOR0lORT1teWlzYW07Citjb25uZWN0 aW9uIEIgLSBzdGFydGluZyB0cmFuc2FjdGlvbiBCCitTRVQgYXV0b2NvbW1pdD0wOworQkVHSU47 CitTRUxFQ1QgZ2V0X2xvY2soInN5bmMiLDEwKTsKK2dldF9sb2NrKCJzeW5jIiwxMCkKKzEKK0lO U0VSVCBJTlRPIGRiMS50MSBWQUxVRVMgKCdiMScpOworSU5TRVJUIElOVE8gZGIxLnQyIFZBTFVF UyAoJ2IxJyk7CitJTlNFUlQgSU5UTyBkYjEudDMgVkFMVUVTICgnYjEnKTsKK0lOU0VSVCBJTlRP IGRiMS50NCBWQUxVRVMgKCdiMScpOworSU5TRVJUIElOVE8gZGIyLnQxIFZBTFVFUyAoJ2IxJyk7 CitJTlNFUlQgSU5UTyBkYjIudDIgVkFMVUVTICgnYjEnKTsKK0lOU0VSVCBJTlRPIGRiMi50MyBW QUxVRVMgKCdiMScpOworU0VMRUNUIHJlbGVhc2VfbG9jaygic3luYyIpOworcmVsZWFzZV9sb2Nr KCJzeW5jIikKKzEKK1NFTEVDVCBnZXRfbG9jaygic3luYyIsMTApOworZ2V0X2xvY2soInN5bmMi LDEwKQorMQorU0VMRUNUICogRlJPTSBkYjEudDE7CitzMQorU0VMRUNUICogRlJPTSBkYjEudDI7 CitzMQorU0VMRUNUICogRlJPTSBkYjEudDM7CitzMQorYjEKK1NFTEVDVCAqIEZST00gZGIxLnQ0 OworczEKK2IxCitTRUxFQ1QgKiBGUk9NIGRiMi50MTsKK3MxCitTRUxFQ1QgKiBGUk9NIGRiMi50 MjsKK3MxCitTRUxFQ1QgKiBGUk9NIGRiMi50MzsKK3MxCitiMQorU0VMRUNUIHJlbGVhc2VfbG9j aygic3luYyIpOworcmVsZWFzZV9sb2NrKCJzeW5jIikKKzEKK2Nvbm5lY3Rpb24gQSAtIHN0YXJ0 aW5nIHRyYW5zYWN0aW9uIEEKK1NFVCBhdXRvY29tbWl0PTA7CitCRUdJTjsKK1NFTEVDVCBnZXRf bG9jaygic3luYyIsMTApOworZ2V0X2xvY2soInN5bmMiLDEwKQorMQorSU5TRVJUIElOVE8gZGIx LnQxIFZBTFVFUyAoJ2ExJyk7CitJTlNFUlQgSU5UTyBkYjEudDIgVkFMVUVTICgnYTEnKTsKK0lO U0VSVCBJTlRPIGRiMS50MyBWQUxVRVMgKCdhMScpOworSU5TRVJUIElOVE8gZGIxLnQ0IFZBTFVF UyAoJ2ExJyk7CitJTlNFUlQgSU5UTyBkYjIudDEgVkFMVUVTICgnYTEnKTsKK0lOU0VSVCBJTlRP IGRiMi50MiBWQUxVRVMgKCdhMScpOworSU5TRVJUIElOVE8gZGIyLnQzIFZBTFVFUyAoJ2ExJyk7 CitTRUxFQ1QgcmVsZWFzZV9sb2NrKCJzeW5jIik7CityZWxlYXNlX2xvY2soInN5bmMiKQorMQor U0VMRUNUIGdldF9sb2NrKCJzeW5jIiwxMCk7CitnZXRfbG9jaygic3luYyIsMTApCisxCitTRUxF Q1QgKiBGUk9NIGRiMS50MTsKK3MxCitTRUxFQ1QgKiBGUk9NIGRiMS50MjsKK3MxCitTRUxFQ1Qg KiBGUk9NIGRiMS50MzsKK3MxCitiMQorYTEKK1NFTEVDVCAqIEZST00gZGIxLnQ0OworczEKK2Ix CithMQorU0VMRUNUICogRlJPTSBkYjIudDE7CitzMQorU0VMRUNUICogRlJPTSBkYjIudDI7Citz MQorU0VMRUNUICogRlJPTSBkYjIudDM7CitzMQorYjEKK2ExCitTRUxFQ1QgcmVsZWFzZV9sb2Nr KCJzeW5jIik7CityZWxlYXNlX2xvY2soInN5bmMiKQorMQorY29ubmVjdGlvbiBCIC0gcGVyZm9y bWluZyBCQUNLVVAgd2hpY2ggY29tbWl0cyB0cmFuc2FjdGlvbiBCCitTRUxFQ1QgZ2V0X2xvY2so InN5bmMiLDEwKTsKK2dldF9sb2NrKCJzeW5jIiwxMCkKKzEKK0lOU0VSVCBJTlRPIGRiMS50MSBW QUxVRVMgKCdiMicpOworSU5TRVJUIElOVE8gZGIxLnQyIFZBTFVFUyAoJ2IyJyk7CitJTlNFUlQg SU5UTyBkYjEudDMgVkFMVUVTICgnYjInKTsKK0lOU0VSVCBJTlRPIGRiMS50NCBWQUxVRVMgKCdi MicpOworSU5TRVJUIElOVE8gZGIyLnQxIFZBTFVFUyAoJ2IyJyk7CitJTlNFUlQgSU5UTyBkYjIu dDIgVkFMVUVTICgnYjInKTsKK0lOU0VSVCBJTlRPIGRiMi50MyBWQUxVRVMgKCdiMicpOworQkFD S1VQIERBVEFCQVNFIGRiMSBUTyAnZGIxLmJhayc7CitiYWNrdXBfaWQKKyMKK1NFTEVDVCByZWxl YXNlX2xvY2soInN5bmMiKTsKK3JlbGVhc2VfbG9jaygic3luYyIpCisxCitTRUxFQ1QgZ2V0X2xv Y2soInN5bmMiLDEwKTsKK2dldF9sb2NrKCJzeW5jIiwxMCkKKzEKK1NFTEVDVCAqIEZST00gZGIx LnQxOworczEKK2IxCitiMgorU0VMRUNUICogRlJPTSBkYjEudDI7CitzMQorYjEKK2IyCitTRUxF Q1QgKiBGUk9NIGRiMS50MzsKK3MxCitiMQorYTEKK2IyCitTRUxFQ1QgKiBGUk9NIGRiMS50NDsK K3MxCitiMQorYTEKK2IyCitTRUxFQ1QgKiBGUk9NIGRiMi50MTsKK3MxCitiMQorYjIKK1NFTEVD VCAqIEZST00gZGIyLnQyOworczEKK2IxCitiMgorU0VMRUNUICogRlJPTSBkYjIudDM7CitzMQor YjEKK2ExCitiMgorU0VMRUNUIHJlbGVhc2VfbG9jaygic3luYyIpOworcmVsZWFzZV9sb2NrKCJz eW5jIikKKzEKK2Nvbm5lY3Rpb24gQiAtIGRvaW5nIFJPTExCQUNLIHdoaWNoIHNob3VsZCBiZSBh IG5vLW9wIGFmdGVyIHRoZSBpbXBsaWNpdCBjb21taXQKK1NFTEVDVCBnZXRfbG9jaygic3luYyIs MTApOworZ2V0X2xvY2soInN5bmMiLDEwKQorMQorUk9MTEJBQ0s7CitTRUxFQ1QgcmVsZWFzZV9s b2NrKCJzeW5jIik7CityZWxlYXNlX2xvY2soInN5bmMiKQorMQorU0VMRUNUIGdldF9sb2NrKCJz eW5jIiwxMCk7CitnZXRfbG9jaygic3luYyIsMTApCisxCitTRUxFQ1QgKiBGUk9NIGRiMS50MTsK K3MxCitiMQorYjIKK1NFTEVDVCAqIEZST00gZGIxLnQyOworczEKK2IxCitiMgorU0VMRUNUICog RlJPTSBkYjEudDM7CitzMQorYjEKK2ExCitiMgorU0VMRUNUICogRlJPTSBkYjEudDQ7CitzMQor YjEKK2ExCitiMgorU0VMRUNUICogRlJPTSBkYjIudDE7CitzMQorYjEKK2IyCitTRUxFQ1QgKiBG Uk9NIGRiMi50MjsKK3MxCitiMQorYjIKK1NFTEVDVCAqIEZST00gZGIyLnQzOworczEKK2IxCith MQorYjIKK1NFTEVDVCByZWxlYXNlX2xvY2soInN5bmMiKTsKK3JlbGVhc2VfbG9jaygic3luYyIp CisxCitjb25uZWN0aW9uIEEgLSBmaW5pc2hpbmcgdHJhbnNhY3Rpb24gQQorU0VMRUNUIGdldF9s b2NrKCJzeW5jIiwxMCk7CitnZXRfbG9jaygic3luYyIsMTApCisxCitJTlNFUlQgSU5UTyBkYjEu dDEgVkFMVUVTICgnYTInKTsKK0lOU0VSVCBJTlRPIGRiMS50MiBWQUxVRVMgKCdhMicpOworSU5T RVJUIElOVE8gZGIxLnQzIFZBTFVFUyAoJ2EyJyk7CitJTlNFUlQgSU5UTyBkYjEudDQgVkFMVUVT ICgnYTInKTsKK0lOU0VSVCBJTlRPIGRiMi50MSBWQUxVRVMgKCdhMicpOworSU5TRVJUIElOVE8g ZGIyLnQyIFZBTFVFUyAoJ2EyJyk7CitJTlNFUlQgSU5UTyBkYjIudDMgVkFMVUVTICgnYTInKTsK K1NFTEVDVCByZWxlYXNlX2xvY2soInN5bmMiKTsKK3JlbGVhc2VfbG9jaygic3luYyIpCisxCitT RUxFQ1QgZ2V0X2xvY2soInN5bmMiLDEwKTsKK2dldF9sb2NrKCJzeW5jIiwxMCkKKzEKK1NFTEVD VCAqIEZST00gZGIxLnQxOworczEKK2IxCitiMgorU0VMRUNUICogRlJPTSBkYjEudDI7CitzMQor YjEKK2IyCitTRUxFQ1QgKiBGUk9NIGRiMS50MzsKK3MxCitiMQorYTEKK2IyCithMgorU0VMRUNU ICogRlJPTSBkYjEudDQ7CitzMQorYjEKK2ExCitiMgorYTIKK1NFTEVDVCAqIEZST00gZGIyLnQx OworczEKK2IxCitiMgorU0VMRUNUICogRlJPTSBkYjIudDI7CitzMQorYjEKK2IyCitTRUxFQ1Qg KiBGUk9NIGRiMi50MzsKK3MxCitiMQorYTEKK2IyCithMgorU0VMRUNUIHJlbGVhc2VfbG9jaygi c3luYyIpOworcmVsZWFzZV9sb2NrKCJzeW5jIikKKzEKK1NFTEVDVCBnZXRfbG9jaygic3luYyIs MTApOworZ2V0X2xvY2soInN5bmMiLDEwKQorMQorQ09NTUlUOworU0VMRUNUIHJlbGVhc2VfbG9j aygic3luYyIpOworcmVsZWFzZV9sb2NrKCJzeW5jIikKKzEKK1NFTEVDVCBnZXRfbG9jaygic3lu YyIsMTApOworZ2V0X2xvY2soInN5bmMiLDEwKQorMQorU0VMRUNUICogRlJPTSBkYjEudDE7Citz MQorYjEKK2ExCitiMgorYTIKK1NFTEVDVCAqIEZST00gZGIxLnQyOworczEKK2IxCithMQorYjIK K2EyCitTRUxFQ1QgKiBGUk9NIGRiMS50MzsKK3MxCitiMQorYTEKK2IyCithMgorU0VMRUNUICog RlJPTSBkYjEudDQ7CitzMQorYjEKK2ExCitiMgorYTIKK1NFTEVDVCAqIEZST00gZGIyLnQxOwor czEKK2IxCithMQorYjIKK2EyCitTRUxFQ1QgKiBGUk9NIGRiMi50MjsKK3MxCitiMQorYTEKK2Iy CithMgorU0VMRUNUICogRlJPTSBkYjIudDM7CitzMQorYjEKK2ExCitiMgorYTIKK1NFTEVDVCBy ZWxlYXNlX2xvY2soInN5bmMiKTsKK3JlbGVhc2VfbG9jaygic3luYyIpCisxCitDaGVja2luZyBj b250ZW50cyBvZiB0aGUgYmFja3VwIGltYWdlCitSRVNUT1JFIEZST00gJ2RiMS5iYWsnOworYmFj a3VwX2lkCisjCitTRUxFQ1QgKiBGUk9NIGRiMS50MTsKK3MxCitiMQorYjIKK1NFTEVDVCAqIEZS T00gZGIxLnQyOworczEKK2IxCitiMgorU0VMRUNUICogRlJPTSBkYjEudDM7CitzMQorYjEKK2Ex CitiMgorU0VMRUNUICogRlJPTSBkYjEudDQ7CitzMQorYjEKK2ExCitiMgorRFJPUCBEQVRBQkFT RSBkYjE7CitEUk9QIERBVEFCQVNFIGRiMjsKCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3Qv ci9iYWNrdXBfY29tbWl0X2Jsb2NrZXIucmVzdWx0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNr dXAvci9iYWNrdXBfY29tbWl0X2Jsb2NrZXIucmVzdWx0Jwo9PT0gcmVuYW1lZCBmaWxlICdteXNx bC10ZXN0L3IvYmFja3VwX2NvbW1pdF9yZXN0b3JlLnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qvc3Vp dGUvYmFja3VwL3IvYmFja3VwX2NvbW1pdF9yZXN0b3JlLnJlc3VsdCcKPT09IHJlbmFtZWQgZmls ZSAnbXlzcWwtdGVzdC9yL2JhY2t1cF9jb21wcmVzc2lvbi5yZXN1bHQnID0+ICdteXNxbC10ZXN0 L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9jb21wcmVzc2lvbi5yZXN1bHQnCj09PSByZW5hbWVkIGZp bGUgJ215c3FsLXRlc3Qvci9iYWNrdXBfY29uY3VycmVudC5yZXN1bHQnID0+ICdteXNxbC10ZXN0 L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9jb25jdXJyZW50LnJlc3VsdCcKPT09IHJlbmFtZWQgZmls ZSAnbXlzcWwtdGVzdC9yL2JhY2t1cF9kYl9ncmFudHMucmVzdWx0JyA9PiAnbXlzcWwtdGVzdC9z dWl0ZS9iYWNrdXAvci9iYWNrdXBfZGJfZ3JhbnRzLnJlc3VsdCcKPT09IHJlbmFtZWQgZmlsZSAn bXlzcWwtdGVzdC9yL2JhY2t1cF9kZGxfYmxvY2tlci5yZXN1bHQnID0+ICdteXNxbC10ZXN0L3N1 aXRlL2JhY2t1cC9yL2JhY2t1cF9kZGxfYmxvY2tlci5yZXN1bHQnCj09PSByZW5hbWVkIGZpbGUg J215c3FsLXRlc3Qvci9iYWNrdXBfZGVmYXVsdC5yZXN1bHQnID0+ICdteXNxbC10ZXN0L3N1aXRl L2JhY2t1cC9yL2JhY2t1cF9kZWZhdWx0LnJlc3VsdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwt dGVzdC9yL2JhY2t1cF9lcnJvcnMucmVzdWx0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAv ci9iYWNrdXBfZXJyb3JzLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2JhY2t1cF9lcnJvcnMu cmVzdWx0CTIwMDgtMDgtMjcgMTc6MzU6MTAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9i YWNrdXAvci9iYWNrdXBfZXJyb3JzLnJlc3VsdAkyMDA4LTEwLTA3IDE3OjE1OjQ0ICswMDAwCkBA IC03NSw3ICs3NSw3IEBAIGJhY2t1cF9pZAogRFJPUCBUQUJMRSBteXNxbC5iYWNrdXBfaGlzdG9y eTsKIEJhY2t1cCB0aGUgZGF0YWJhc2U7CiBCQUNLVVAgREFUQUJBU0UgdGVzdF9vYl9lcnJvciBU TyAnb2JfZXJyLmJhayc7Ci1FUlJPUiA0MlMwMjogVGFibGUgJ215c3FsLmJhY2t1cF9oaXN0b3J5 JyBkb2Vzbid0IGV4aXN0CitFUlJPUiBIWTAwMDogQ2FuJ3Qgb3BlbiB0aGUgYmFja3VwIGxvZ3Mg YXMgdGFibGVzLiBDaGVjayAnbXlzcWwuYmFja3VwX2hpc3RvcnknIGFuZCAnbXlzcWwuYmFja3Vw X3Byb2dyZXNzJyBvciBydW4gbXlzcWxfdXBncmFkZSB0byByZXBhaXIuCiBTSE9XIEVSUk9SUzsK IExldmVsCUNvZGUJTWVzc2FnZQogRXJyb3IJIwlUYWJsZSAnbXlzcWwuYmFja3VwX2hpc3Rvcnkn IGRvZXNuJ3QgZXhpc3QKQEAgLTg2LDcgKzg2LDcgQEAgRFJPUCBUQUJMRSB0ZXN0Lm9iX2NvcHk7 CiBEUk9QIFRBQkxFIG15c3FsLmJhY2t1cF9wcm9ncmVzczsKIEJhY2t1cCB0aGUgZGF0YWJhc2U7 CiBCQUNLVVAgREFUQUJBU0UgdGVzdF9vYl9lcnJvciBUTyAnb2JfZXJyLmJhayc7Ci1FUlJPUiA0 MlMwMjogVGFibGUgJ215c3FsLmJhY2t1cF9wcm9ncmVzcycgZG9lc24ndCBleGlzdAorRVJST1Ig SFkwMDA6IENhbid0IG9wZW4gdGhlIGJhY2t1cCBsb2dzIGFzIHRhYmxlcy4gQ2hlY2sgJ215c3Fs LmJhY2t1cF9oaXN0b3J5JyBhbmQgJ215c3FsLmJhY2t1cF9wcm9ncmVzcycgb3IgcnVuIG15c3Fs X3VwZ3JhZGUgdG8gcmVwYWlyLgogU0hPVyBFUlJPUlM7CiBMZXZlbAlDb2RlCU1lc3NhZ2UKIEVy cm9yCSMJVGFibGUgJ215c3FsLmJhY2t1cF9wcm9ncmVzcycgZG9lc24ndCBleGlzdAoKPT09IHJl bmFtZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2JhY2t1cF9ma2V5LnJlc3VsdCcgPT4gJ215c3FsLXRl c3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX2ZrZXkucmVzdWx0Jwo9PT0gcmVuYW1lZCBmaWxlICdt eXNxbC10ZXN0L3IvYmFja3VwX2xvY2tfbXlpc2FtLnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qvc3Vp dGUvYmFja3VwL3IvYmFja3VwX2xvY2tfbXlpc2FtLnJlc3VsdCcKPT09IHJlbmFtZWQgZmlsZSAn bXlzcWwtdGVzdC9yL2JhY2t1cF9sb2dzLnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFj a3VwL3IvYmFja3VwX2xvZ3MucmVzdWx0Jwo9PT0gcmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3Iv YmFja3VwX2xvZ3Nfb3V0cHV0LnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3Iv YmFja3VwX2xvZ3Nfb3V0cHV0LnJlc3VsdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVzdC9y L2JhY2t1cF9tYW55X2Ricy5yZXN1bHQnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2Jh Y2t1cF9tYW55X2Ricy5yZXN1bHQnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3Qvci9iYWNr dXBfbXVsdGlfYmxvY2tzLnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFj a3VwX211bHRpX2Jsb2Nrcy5yZXN1bHQnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3Qvci9i YWNrdXBfbXlpc2FtMS5yZXN1bHQnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1 cF9teWlzYW0xLnJlc3VsdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2JhY2t1cF9t eWlzYW0yLnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX215aXNh bTIucmVzdWx0Jwo9PT0gcmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3IvYmFja3VwX25vX2JlLnJl c3VsdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX25vX2JlLnJlc3VsdCcK PT09IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2JhY2t1cF9ub19kYXRhLnJlc3VsdCcgPT4g J215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX25vX2RhdGEucmVzdWx0Jwo9PT0gcmVu YW1lZCBmaWxlICdteXNxbC10ZXN0L3IvYmFja3VwX25vX2VuZ2luZS5yZXN1bHQnID0+ICdteXNx bC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9ub19lbmdpbmUucmVzdWx0Jwo9PT0gcmVuYW1l ZCBmaWxlICdteXNxbC10ZXN0L3IvYmFja3VwX25vZGF0YV9kcml2ZXIucmVzdWx0JyA9PiAnbXlz cWwtdGVzdC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfbm9kYXRhX2RyaXZlci5yZXN1bHQnCj09PSBy ZW5hbWVkIGZpbGUgJ215c3FsLXRlc3Qvci9iYWNrdXBfb2JqZWN0cy5yZXN1bHQnID0+ICdteXNx bC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9vYmplY3RzLnJlc3VsdCcKPT09IHJlbmFtZWQg ZmlsZSAnbXlzcWwtdGVzdC9yL2JhY2t1cF9wcm9jZWR1cmVzLnJlc3VsdCcgPT4gJ215c3FsLXRl c3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX3Byb2NlZHVyZXMucmVzdWx0Jwo9PT0gcmVuYW1lZCBm aWxlICdteXNxbC10ZXN0L3IvYmFja3VwX3NlY3VyZWZpbGVwcml2LnJlc3VsdCcgPT4gJ215c3Fs LXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX3NlY3VyZWZpbGVwcml2LnJlc3VsdCcKPT09IHJl bmFtZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2JhY2t1cF9zZWN1cml0eS5yZXN1bHQnID0+ICdteXNx bC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF9zZWN1cml0eS5yZXN1bHQnCj09PSByZW5hbWVk IGZpbGUgJ215c3FsLXRlc3Qvci9iYWNrdXBfc25hcHNob3QucmVzdWx0JyA9PiAnbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXAvci9iYWNrdXBfc25hcHNob3QucmVzdWx0Jwo9PT0gcmVuYW1lZCBmaWxl ICdteXNxbC10ZXN0L3IvYmFja3VwX3RhYmxlc3BhY2UucmVzdWx0JyA9PiAnbXlzcWwtdGVzdC9z dWl0ZS9iYWNrdXAvci9iYWNrdXBfdGFibGVzcGFjZS5yZXN1bHQnCj09PSByZW5hbWVkIGZpbGUg J215c3FsLXRlc3Qvci9iYWNrdXBfdGltZW91dC5yZXN1bHQnID0+ICdteXNxbC10ZXN0L3N1aXRl L2JhY2t1cC9yL2JhY2t1cF90aW1lb3V0LnJlc3VsdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwt dGVzdC9yL2JhY2t1cF90cmlnZ2Vyc19hbmRfZXZlbnRzLnJlc3VsdCcgPT4gJ215c3FsLXRlc3Qv c3VpdGUvYmFja3VwL3IvYmFja3VwX3RyaWdnZXJzX2FuZF9ldmVudHMucmVzdWx0Jwo9PT0gcmVu YW1lZCBmaWxlICdteXNxbC10ZXN0L3IvYmFja3VwX3ZpZXdfb25fdmlldy5yZXN1bHQnID0+ICdt eXNxbC10ZXN0L3N1aXRlL2JhY2t1cC9yL2JhY2t1cF92aWV3X29uX3ZpZXcucmVzdWx0Jwo9PT0g cmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3IvYmFja3VwX3ZpZXdzLnJlc3VsdCcgPT4gJ215c3Fs LXRlc3Qvc3VpdGUvYmFja3VwL3IvYmFja3VwX3ZpZXdzLnJlc3VsdCcKPT09IGFkZGVkIGRpcmVj dG9yeSAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwt dGVzdC90L2JhY2t1cC50ZXN0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXAu dGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L2JhY2t1cC50ZXN0CTIwMDgtMDctMDEgMjA6MzI6Mjcg KzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXAudGVzdAkyMDA4LTEw LTA3IDE3OjE1OjQ0ICswMDAwCkBAIC0xLDYgKzEsNyBAQAogLS1zb3VyY2UgaW5jbHVkZS9oYXZl X2lubm9kYi5pbmMKIC0tc291cmNlIGluY2x1ZGUvbm90X2VtYmVkZGVkLmluYwogLS1zb3VyY2Ug aW5jbHVkZS9oYXZlX2RlYnVnX3N5bmMuaW5jCistLXNvdXJjZSBpbmNsdWRlL2hhdmVfbG9nX2Jp bi5pbmMKIAogU0VUIERFQlVHX1NZTkM9ICdSRVNFVCc7CiAKQEAgLTMyLDkgKzMzLDcgQEAgQ1JF QVRFIFRBQkxFIGBidWlsZGluZ2AgKAogIyBEdW1waW5nIGRhdGEgZm9yIHRhYmxlIGBidWlsZGlu Z2AKICMKIAotTE9DSyBUQUJMRVMgYGJ1aWxkaW5nYCBXUklURTsKIElOU0VSVCBJTlRPIGBidWls ZGluZ2AgVkFMVUVTICgnTjQxJywnMTMwMCcpLCgnTjAxJywnMTQ1MycpLCgnTTAwJywnMTAwMCcp LCgnTjQxJywnMTMwMScpLCgnTjQxJywnMTMwNScpOwotVU5MT0NLIFRBQkxFUzsKIAogCiAjCkBA IC01MSw5ICs1MCw3IEBAIENSRUFURSBUQUJMRSBgZGlyZWN0b3JhdGVgICgKICMgRHVtcGluZyBk YXRhIGZvciB0YWJsZSBgZGlyZWN0b3JhdGVgCiAjCiAKLUxPQ0sgVEFCTEVTIGBkaXJlY3RvcmF0 ZWAgV1JJVEU7CiBJTlNFUlQgSU5UTyBgZGlyZWN0b3JhdGVgIFZBTFVFUyAoJ040MScsJ0RldmVs b3BtZW50JywnMzMzNDQ1NTU1JyksKCdOMDEnLCdIdW1hbiBSZXNvdXJjZXMnLCcxMjM2NTQzMjEn KSwoJ00wMCcsJ01hbmFnZW1lbnQnLCczMzM0NDQ0NDQnKTsKLVVOTE9DSyBUQUJMRVM7CiAKIFVT RSBkYjI7CiAKQEAgLTc1LDkgKzcyLDcgQEAgQ1JFQVRFIFRBQkxFIGBzdGFmZmAgKAogIyBEdW1w aW5nIGRhdGEgZm9yIHRhYmxlIGBzdGFmZmAKICMKIAotTE9DSyBUQUJMRVMgYHN0YWZmYCBXUklU RTsKIElOU0VSVCBJTlRPIGBzdGFmZmAgVkFMVUVTICgnMzMzNDQ1NTU1JywnSm9obicsJ1EnLCdT bWl0aCcsJ00nLDMwMDAwLCczMzM0NDQ0NDQnKSwoJzEyMzc2MzE1MycsJ1dpbGxpYW0nLCdFJywn V2FsdGVycycsJ00nLDI1MDAwLCcxMjM2NTQzMjEnKSwoJzMzMzQ0NDQ0NCcsJ0FsaWNpYScsJ0Yn LCdTdC5DcnV6JywnRicsMjUwMDAsTlVMTCksKCc5MjEzMTIzODgnLCdHb3knLCdYJywnSG9uZycs J0YnLDQwMDAwLCcxMjM2NTQzMjEnKSwoJzgwMDEyMjMzNycsJ1JhamVzaCcsJ0cnLCdLYXJkYWth cm5hJywnTScsMzgwMDAsJzMzMzQ0NTU1NScpLCgnODIwMTIzNjM3JywnTW9udHknLCdDJywnU215 dGhlJywnTScsMzgwMDAsJzMzMzQ0NTU1NScpLCgnODMwMTMyMzM1JywnUmljaGFyZCcsJ0UnLCdK b25lcycsJ00nLDM4MDAwLCczMzM0NDU1NTUnKSwoJzMzMzQ0NTY2NScsJ0Vkd2FyZCcsJ0UnLCdF bmdsZXMnLCdNJywyNTAwMCwnMzMzNDQ1NTU1JyksKCcxMjM2NTQzMjEnLCdCZXdhcmUnLCdEJywn Qm9yZycsJ0YnLDU1MDAwLCczMzM0NDQ0NDQnKSwoJzEyMzQ1Njc4OScsJ1dpbG1hJywnTicsJ01h eGltYScsJ0YnLDQzMDAwLCczMzM0NDU1NTUnKTsKLVVOTE9DSyBUQUJMRVM7CiAKICMKICMgVGFi bGUgc3RydWN0dXJlIGZvciB0YWJsZSBgdGFza2luZ2AKQEAgLTkzLDkgKzg4LDcgQEAgQ1JFQVRF IFRBQkxFIGB0YXNraW5nYCAoCiAjIER1bXBpbmcgZGF0YSBmb3IgdGFibGUgYHRhc2tpbmdgCiAj CiAKLUxPQ0sgVEFCTEVTIGB0YXNraW5nYCBXUklURTsKIElOU0VSVCBJTlRPIGB0YXNraW5nYCBW QUxVRVMgKCczMzM0NDU1NTUnLCc0MDUnLDIzKSwoJzEyMzc2MzE1MycsJzQwNScsMzMuNSksKCc5 MjEzMTIzODgnLCc2MDEnLDQ0KSwoJzgwMDEyMjMzNycsJzMwMCcsMTMpLCgnODIwMTIzNjM3Jywn MzAwJyw5LjUpLCgnODMwMTMyMzM1JywnNDAxJyw4LjUpLCgnMzMzNDQ1NTU1JywnMzAwJywxMSks KCc5MjEzMTIzODgnLCc1MDAnLDEzKSwoJzgwMDEyMjMzNycsJzMwMCcsNDQpLCgnODIwMTIzNjM3 JywnNDAxJyw1MDAuNSksKCc4MzAxMzIzMzUnLCc0MDAnLDEyKSwoJzMzMzQ0NTY2NScsJzYwMCcs MzAwLjI1KSwoJzEyMzY1NDMyMScsJzYwNycsNDQ0Ljc1KSwoJzEyMzQ1Njc4OScsJzMwMCcsMTAw MCk7Ci1VTkxPQ0sgVEFCTEVTOwogCiAjCiAjIEdldCBhIGxvY2sgdG8gY2hlY2sgZm9yIGxvY2tp bmcgdGhyZWFkIGluIHByb2Nlc3MgbGlzdApAQCAtMTMyLDYgKzEyNSwxOCBAQCBjb25uZWN0aW9u IGJhY2t1cDsKIC0tcmVwbGFjZV9jb2x1bW4gMSAjCiByZWFwOwogCisjIGdldCBiYWNrdXBfaWQg b2YgdGhlIEJBQ0tVUCBvcGVyYXRpb24uIAorU0VMRUNUIE1BWChiYWNrdXBfaWQpIEZST00gbXlz cWwuYmFja3VwX2hpc3RvcnkgSU5UTyBAYmlkOworCisjIHN0b3JlIFZQIHRpbWUgYW5kIGJpbmxv ZyBwb3NpdGlvbgorCitTRUxFQ1QgdmFsaWRpdHlfcG9pbnRfdGltZSBGUk9NIG15c3FsLmJhY2t1 cF9oaXN0b3J5CitXSEVSRSBiYWNrdXBfaWQgPSBAYmlkIElOVE8gQHZwX3RpbWU7CitTRUxFQ1Qg YmlubG9nX2ZpbGUgRlJPTSBteXNxbC5iYWNrdXBfaGlzdG9yeQorV0hFUkUgYmFja3VwX2lkID0g QGJpZCBJTlRPIEB2cF9maWxlOworU0VMRUNUIGJpbmxvZ19wb3MgRlJPTSBteXNxbC5iYWNrdXBf aGlzdG9yeQorV0hFUkUgYmFja3VwX2lkID0gQGJpZCBJTlRPIEB2cF9wb3M7CisKIERST1AgREFU QUJBU0UgZGIxOwogRFJPUCBEQVRBQkFTRSBkYjI7CiAKQEAgLTE0MCw5ICsxNDUsMTUgQEAgRFJP UCBEQVRBQkFTRSBkYjI7CiAKIFVTRSBteXNxbDsKIAorIyB3YWl0IGZldyBzZWNvbmRzIHNvIHRo YXQgcmVzdG9yZSB0aW1lICE9IGJhY2t1cCB0aW1lCistLXNsZWVwIDIKKwogLS1yZXBsYWNlX2Nv bHVtbiAxICMKIFJFU1RPUkUgRlJPTSAndGVzdC5iYSc7CiAKKyMgZGV0ZXJtaW5lIGlkIG9mIFJF U1RPUkUgb3BlcmF0aW9uCitTRUxFQ1QgTUFYKGJhY2t1cF9pZCkgRlJPTSBteXNxbC5iYWNrdXBf aGlzdG9yeSBJTlRPIEBiaWQ7CisKIC0tcmVtb3ZlX2ZpbGUgJE1ZU1FMVEVTVF9WQVJESVIvbWFz dGVyLWRhdGEvdGVzdC5iYQogCiBTSE9XIENSRUFURSBEQVRBQkFTRSBkYjE7CkBAIC0xNjcsNiAr MTc4LDE1IEBAIENIRUNLIFRBQkxFIHN0YWZmIEVYVEVOREVEOwogU0VMRUNUICogRlJPTSBzdGFm ZjsKIFNIT1cgQ1JFQVRFIFRBQkxFIHRhc2tpbmc7CiAKKyMgY2hlY2sgdGhhdCBWUCBpbmZvIHdh cyBjb3JyZWN0bHkgcmVhZCBhbmQgcmVwb3J0ZWQKKworU0VMRUNUIHZhbGlkaXR5X3BvaW50X3Rp bWUgPSBAdnBfdGltZSBGUk9NIG15c3FsLmJhY2t1cF9oaXN0b3J5CitXSEVSRSBiYWNrdXBfaWQg PSBAYmlkOyAKK1NFTEVDVCBiaW5sb2dfZmlsZSA9IEB2cF9maWxlIEZST00gbXlzcWwuYmFja3Vw X2hpc3RvcnkKK1dIRVJFIGJhY2t1cF9pZCA9IEBiaWQ7IAorU0VMRUNUIGJpbmxvZ19wb3MgPSBA dnBfcG9zIEZST00gbXlzcWwuYmFja3VwX2hpc3RvcnkKK1dIRVJFIGJhY2t1cF9pZCA9IEBiaWQ7 IAorCiBEUk9QIERBVEFCQVNFIGRiMTsKIERST1AgREFUQUJBU0UgZGIyOwogRFJPUCBEQVRBQkFT RSBkYjM7Cgo9PT0gcmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3QvYmFja3VwX2JhY2t1cGRpci50 ZXN0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfYmFja3VwZGlyLnRlc3Qn Cj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3QvdC9iYWNrdXBfYmxvYi50ZXN0JyA9PiAnbXlz cWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfYmxvYi50ZXN0Jwo9PT0gcmVuYW1lZCBmaWxl ICdteXNxbC10ZXN0L3QvYmFja3VwX2NoYXJzZXRzLnRlc3QnID0+ICdteXNxbC10ZXN0L3N1aXRl L2JhY2t1cC90L2JhY2t1cF9jaGFyc2V0cy50ZXN0Jwo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfY29tbWl0X2JhY2t1cC50ZXN0JwotLS0gYS9teXNxbC10 ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9jb21taXRfYmFja3VwLnRlc3QJMTk3MC0wMS0wMSAw MDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9jb21t aXRfYmFja3VwLnRlc3QJMjAwOC0xMC0wNyAxNzoxNTo0NCArMDAwMApAQCAtMCwwICsxLDIzMCBA QAorIworIyBUaGlzIHRlc3QgdGVzdHMgaW50ZXJyYWN0aW9uIG9mIEJBQ0tVUCBjb21tYW5kIHdp dGggdHJhbnNhY3Rpb25zIGluCisjIHRoZSBzYW1lIGFuZCBkaWZmZXJlbnQgY29ubmVjdGlvbiAo QlVHIzM4MjYxKQorIworIyBCQUNLVVAgc2hvdWxkIGNvbW1pdCBvbmdvaW5nIHRyYW5zYWN0aW9u IGluIHRoZSBzYW1lIGNvbm5lY3Rpb24gYnV0CisjIHNob3VsZCBub3QgaW50ZXJmZXJyZSB3aXRo IHRyYW5zYWN0aW9ucyBleGVjdXRpbmcgaW4gb3RoZXIgY29ubmVjdGlvbnMuCisjCisKKy0tc291 cmNlIGluY2x1ZGUvbm90X2VtYmVkZGVkLmluYworLS1zb3VyY2UgaW5jbHVkZS9oYXZlX2lubm9k Yi5pbmMKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9mYWxjb24uaW5jCisKKworTEVUICRCRElSPWBz ZWxlY3QgQEBiYWNrdXBkaXJgOworCitkaXNhYmxlX3dhcm5pbmdzOworRFJPUCBEQVRBQkFTRSBJ RiBFWElTVFMgZGIxOworRFJPUCBEQVRBQkFTRSBJRiBFWElTVFMgZGIyOworZXJyb3IgMCwxOwor cmVtb3ZlX2ZpbGUgJEJESVIvZGIxLmJhazsKK2VuYWJsZV93YXJuaW5nczsKKworQ1JFQVRFIERB VEFCQVNFIGRiMTsKK0NSRUFURSBEQVRBQkFTRSBkYjI7CisKK0NSRUFURSBUQUJMRSBkYjEudDEg KHMxIENIQVIoMykpIEVOR0lORT1pbm5vZGI7ICMgQ1MgZHJpdmVyCitDUkVBVEUgVEFCTEUgZGIx LnQyIChzMSBDSEFSKDMpKSBFTkdJTkU9ZmFsY29uOyAjIENTIGRyaXZlcgorQ1JFQVRFIFRBQkxF IGRiMS50MyAoczEgQ0hBUigzKSkgRU5HSU5FPW1lbW9yeTsgIyBkZWZhdWx0IGRyaXZlcgorQ1JF QVRFIFRBQkxFIGRiMS50NCAoczEgQ0hBUigzKSkgRU5HSU5FPW15aXNhbTsgIyBuYXRpdmUgZHJp dmVyCisKK0NSRUFURSBUQUJMRSBkYjIudDEgKHMxIENIQVIoMykpIEVOR0lORT1pbm5vZGI7ICMg dHJ4MQorQ1JFQVRFIFRBQkxFIGRiMi50MiAoczEgQ0hBUigzKSkgRU5HSU5FPWZhbGNvbjsgIyB0 cngyCitDUkVBVEUgVEFCTEUgZGIyLnQzIChzMSBDSEFSKDMpKSBFTkdJTkU9bXlpc2FtOyAjIG5v bi10cngKKworCisjIENyZWF0ZSB0ZXN0IGNvbm5lY3Rpb25zLiBUaGUgc2V0dXAgaXMgYXMgZm9s bG93cworIworIyBjb25uQQkJY29ubkIKKyMgLS0tLS0JCS0tLS0tCisjCQlCRUdJTgorIwkJaW5z ZXJ0IGRhdGEKKyMgQkVHSU4KKyMgaW5zZXJ0IGRhdGEKKyMJCWluc2VydCBkYXRhCisjCQlCQUNL VVAKKyMJCVJPTExCQUNLCisjIGluc2VydCBkYXRhCisjIENPTU1JVAkKKyMKKyMgVGhlIGRlZmF1 bHQgY29ubmVjdGlvbiBpcyB1c2VkIHRvIGNoZWNrIGNvbnRlbnRzIG9mIHRoZSB0YWJsZXMgYWZ0 ZXIgZWFjaAorIyBvcGVyYXRpb24uCisjCisjIE5vdGU6IHdlIHVzZSAic3luYyIgbG9jayB0byBz eW5jaHJvbml6ZSBjb25uZWN0aW9ucy4gIFdpdGhvdXQgaXQsIGRhdGEgCisjIGluc2VydGVkIGlu IG9uZSB0aHJlYWQgY291bGQgYmUgbm90IGFsd2F5cyBzZWVuIGluIGFub3RoZXIgb25lLCB3aGlj aCB3b3VsZAorIyBtYWRlIHRlc3Qgbm9uLWRldGVybWluaXN0aWMuCisKKyAgY29ubmVjdChjb25u QSwgbG9jYWxob3N0LCByb290LCwpOworICAgIGNvbm5lY3QoY29ubkIsIGxvY2FsaG9zdCwgcm9v dCwsKTsKKworICAgIGNvbm5lY3Rpb24gY29ubkI7CisgICAgZWNobyBjb25uZWN0aW9uIEIgLSBz dGFydGluZyB0cmFuc2FjdGlvbiBCOyAKKyAgICAjLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgU0VU IGF1dG9jb21taXQ9MDsKKyAgICBCRUdJTjsKKworICAgIFNFTEVDVCBnZXRfbG9jaygic3luYyIs MTApOworICAgIElOU0VSVCBJTlRPIGRiMS50MSBWQUxVRVMgKCdiMScpOworICAgIElOU0VSVCBJ TlRPIGRiMS50MiBWQUxVRVMgKCdiMScpOworICAgIElOU0VSVCBJTlRPIGRiMS50MyBWQUxVRVMg KCdiMScpOworICAgIElOU0VSVCBJTlRPIGRiMS50NCBWQUxVRVMgKCdiMScpOworCisgICAgSU5T RVJUIElOVE8gZGIyLnQxIFZBTFVFUyAoJ2IxJyk7CisgICAgSU5TRVJUIElOVE8gZGIyLnQyIFZB TFVFUyAoJ2IxJyk7CisgICAgSU5TRVJUIElOVE8gZGIyLnQzIFZBTFVFUyAoJ2IxJyk7CisgICAg U0VMRUNUIHJlbGVhc2VfbG9jaygic3luYyIpOworCitjb25uZWN0aW9uIGRlZmF1bHQ7CisjLS0t LS0tLS0tLS0tLS0tLS0tCitTRUxFQ1QgZ2V0X2xvY2soInN5bmMiLDEwKTsKK1NFTEVDVCAqIEZS T00gZGIxLnQxOworU0VMRUNUICogRlJPTSBkYjEudDI7CitTRUxFQ1QgKiBGUk9NIGRiMS50MzsK K1NFTEVDVCAqIEZST00gZGIxLnQ0OworCitTRUxFQ1QgKiBGUk9NIGRiMi50MTsKK1NFTEVDVCAq IEZST00gZGIyLnQyOworU0VMRUNUICogRlJPTSBkYjIudDM7CitTRUxFQ1QgcmVsZWFzZV9sb2Nr KCJzeW5jIik7CisKKyAgY29ubmVjdGlvbiBjb25uQTsKKyAgZWNobyBjb25uZWN0aW9uIEEgLSBz dGFydGluZyB0cmFuc2FjdGlvbiBBOworICAjLS0tLS0tLS0tLS0tLS0tLS0tCisgIFNFVCBhdXRv Y29tbWl0PTA7CisgIEJFR0lOOworCisgIFNFTEVDVCBnZXRfbG9jaygic3luYyIsMTApOworICBJ TlNFUlQgSU5UTyBkYjEudDEgVkFMVUVTICgnYTEnKTsKKyAgSU5TRVJUIElOVE8gZGIxLnQyIFZB TFVFUyAoJ2ExJyk7CisgIElOU0VSVCBJTlRPIGRiMS50MyBWQUxVRVMgKCdhMScpOworICBJTlNF UlQgSU5UTyBkYjEudDQgVkFMVUVTICgnYTEnKTsKKworICBJTlNFUlQgSU5UTyBkYjIudDEgVkFM VUVTICgnYTEnKTsKKyAgSU5TRVJUIElOVE8gZGIyLnQyIFZBTFVFUyAoJ2ExJyk7CisgIElOU0VS VCBJTlRPIGRiMi50MyBWQUxVRVMgKCdhMScpOworICBTRUxFQ1QgcmVsZWFzZV9sb2NrKCJzeW5j Iik7CisKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKKyMtLS0tLS0tLS0tLS0tLS0tLS0KK1NFTEVDVCBn ZXRfbG9jaygic3luYyIsMTApOworU0VMRUNUICogRlJPTSBkYjEudDE7CitTRUxFQ1QgKiBGUk9N IGRiMS50MjsKK1NFTEVDVCAqIEZST00gZGIxLnQzOworU0VMRUNUICogRlJPTSBkYjEudDQ7CisK K1NFTEVDVCAqIEZST00gZGIyLnQxOworU0VMRUNUICogRlJPTSBkYjIudDI7CitTRUxFQ1QgKiBG Uk9NIGRiMi50MzsKK1NFTEVDVCByZWxlYXNlX2xvY2soInN5bmMiKTsKKworICAgIGNvbm5lY3Rp b24gY29ubkI7CisgICAgZWNobyBjb25uZWN0aW9uIEIgLSBwZXJmb3JtaW5nIEJBQ0tVUCB3aGlj aCBjb21taXRzIHRyYW5zYWN0aW9uIEI7CisgICAgIy0tLS0tLS0tLS0tLS0tLS0tLQorICAgIFNF TEVDVCBnZXRfbG9jaygic3luYyIsMTApOworICAgIElOU0VSVCBJTlRPIGRiMS50MSBWQUxVRVMg KCdiMicpOworICAgIElOU0VSVCBJTlRPIGRiMS50MiBWQUxVRVMgKCdiMicpOworICAgIElOU0VS VCBJTlRPIGRiMS50MyBWQUxVRVMgKCdiMicpOworICAgIElOU0VSVCBJTlRPIGRiMS50NCBWQUxV RVMgKCdiMicpOworCisgICAgSU5TRVJUIElOVE8gZGIyLnQxIFZBTFVFUyAoJ2IyJyk7CisgICAg SU5TRVJUIElOVE8gZGIyLnQyIFZBTFVFUyAoJ2IyJyk7CisgICAgSU5TRVJUIElOVE8gZGIyLnQz IFZBTFVFUyAoJ2IyJyk7CisKKyAgICByZXBsYWNlX2NvbHVtbiAxICM7CisgICAgQkFDS1VQIERB VEFCQVNFIGRiMSBUTyAnZGIxLmJhayc7CisgICAgU0VMRUNUIHJlbGVhc2VfbG9jaygic3luYyIp OworCitjb25uZWN0aW9uIGRlZmF1bHQ7CisjLS0tLS0tLS0tLS0tLS0tLS0tCitTRUxFQ1QgZ2V0 X2xvY2soInN5bmMiLDEwKTsKK1NFTEVDVCAqIEZST00gZGIxLnQxOworU0VMRUNUICogRlJPTSBk YjEudDI7CitTRUxFQ1QgKiBGUk9NIGRiMS50MzsKK1NFTEVDVCAqIEZST00gZGIxLnQ0OworCitT RUxFQ1QgKiBGUk9NIGRiMi50MTsKK1NFTEVDVCAqIEZST00gZGIyLnQyOworU0VMRUNUICogRlJP TSBkYjIudDM7CitTRUxFQ1QgcmVsZWFzZV9sb2NrKCJzeW5jIik7CisKKyAgICBjb25uZWN0aW9u IGNvbm5COworICAgIGVjaG8gY29ubmVjdGlvbiBCIC0gZG9pbmcgUk9MTEJBQ0sgd2hpY2ggc2hv dWxkIGJlIGEgbm8tb3AgYWZ0ZXIgdGhlIGltcGxpY2l0IGNvbW1pdDsKKyAgICAjLS0tLS0tLS0t LS0tLS0tLS0tCisgICAgU0VMRUNUIGdldF9sb2NrKCJzeW5jIiwxMCk7CisgICAgUk9MTEJBQ0s7 CisgICAgU0VMRUNUIHJlbGVhc2VfbG9jaygic3luYyIpOworCitjb25uZWN0aW9uIGRlZmF1bHQ7 CisjLS0tLS0tLS0tLS0tLS0tLS0tCitTRUxFQ1QgZ2V0X2xvY2soInN5bmMiLDEwKTsKK1NFTEVD VCAqIEZST00gZGIxLnQxOworU0VMRUNUICogRlJPTSBkYjEudDI7CitTRUxFQ1QgKiBGUk9NIGRi MS50MzsKK1NFTEVDVCAqIEZST00gZGIxLnQ0OworCitTRUxFQ1QgKiBGUk9NIGRiMi50MTsKK1NF TEVDVCAqIEZST00gZGIyLnQyOworU0VMRUNUICogRlJPTSBkYjIudDM7CitTRUxFQ1QgcmVsZWFz ZV9sb2NrKCJzeW5jIik7CisKKyAgY29ubmVjdGlvbiBjb25uQTsKKyAgZWNobyBjb25uZWN0aW9u IEEgLSBmaW5pc2hpbmcgdHJhbnNhY3Rpb24gQTsKKyAgIy0tLS0tLS0tLS0tLS0tLS0tLQorICBT RUxFQ1QgZ2V0X2xvY2soInN5bmMiLDEwKTsKKyAgSU5TRVJUIElOVE8gZGIxLnQxIFZBTFVFUyAo J2EyJyk7CisgIElOU0VSVCBJTlRPIGRiMS50MiBWQUxVRVMgKCdhMicpOworICBJTlNFUlQgSU5U TyBkYjEudDMgVkFMVUVTICgnYTInKTsKKyAgSU5TRVJUIElOVE8gZGIxLnQ0IFZBTFVFUyAoJ2Ey Jyk7CisKKyAgSU5TRVJUIElOVE8gZGIyLnQxIFZBTFVFUyAoJ2EyJyk7CisgIElOU0VSVCBJTlRP IGRiMi50MiBWQUxVRVMgKCdhMicpOworICBJTlNFUlQgSU5UTyBkYjIudDMgVkFMVUVTICgnYTIn KTsKKyAgU0VMRUNUIHJlbGVhc2VfbG9jaygic3luYyIpOworCitjb25uZWN0aW9uIGRlZmF1bHQ7 CisjLS0tLS0tLS0tLS0tLS0tLS0tCitTRUxFQ1QgZ2V0X2xvY2soInN5bmMiLDEwKTsKK1NFTEVD VCAqIEZST00gZGIxLnQxOworU0VMRUNUICogRlJPTSBkYjEudDI7CitTRUxFQ1QgKiBGUk9NIGRi MS50MzsKK1NFTEVDVCAqIEZST00gZGIxLnQ0OworCitTRUxFQ1QgKiBGUk9NIGRiMi50MTsKK1NF TEVDVCAqIEZST00gZGIyLnQyOworU0VMRUNUICogRlJPTSBkYjIudDM7CitTRUxFQ1QgcmVsZWFz ZV9sb2NrKCJzeW5jIik7CisKKyAgY29ubmVjdGlvbiBjb25uQTsKKyAgIy0tLS0tLS0tLS0tLS0t LS0tLQorICBTRUxFQ1QgZ2V0X2xvY2soInN5bmMiLDEwKTsKKyAgQ09NTUlUOworICBTRUxFQ1Qg cmVsZWFzZV9sb2NrKCJzeW5jIik7CisKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKKyMtLS0tLS0tLS0t LS0tLS0tLS0KK1NFTEVDVCBnZXRfbG9jaygic3luYyIsMTApOworU0VMRUNUICogRlJPTSBkYjEu dDE7CitTRUxFQ1QgKiBGUk9NIGRiMS50MjsKK1NFTEVDVCAqIEZST00gZGIxLnQzOworU0VMRUNU ICogRlJPTSBkYjEudDQ7CisKK1NFTEVDVCAqIEZST00gZGIyLnQxOworU0VMRUNUICogRlJPTSBk YjIudDI7CitTRUxFQ1QgKiBGUk9NIGRiMi50MzsKK1NFTEVDVCByZWxlYXNlX2xvY2soInN5bmMi KTsKKworZWNobyBDaGVja2luZyBjb250ZW50cyBvZiB0aGUgYmFja3VwIGltYWdlOworCityZXBs YWNlX2NvbHVtbiAxICM7CitSRVNUT1JFIEZST00gJ2RiMS5iYWsnOworCitTRUxFQ1QgKiBGUk9N IGRiMS50MTsKK1NFTEVDVCAqIEZST00gZGIxLnQyOworU0VMRUNUICogRlJPTSBkYjEudDM7CitT RUxFQ1QgKiBGUk9NIGRiMS50NDsKKworIyBDbGVhbnVwCisKK0RST1AgREFUQUJBU0UgZGIxOwor RFJPUCBEQVRBQkFTRSBkYjI7CityZW1vdmVfZmlsZSAkQkRJUi9kYjEuYmFrOwoKPT09IHJlbmFt ZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JhY2t1cF9jb21taXRfYmxvY2tlci50ZXN0JyA9PiAnbXlz cWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfY29tbWl0X2Jsb2NrZXIudGVzdCcKPT09IHJl bmFtZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JhY2t1cF9jb21taXRfcmVzdG9yZS50ZXN0JyA9PiAn bXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfY29tbWl0X3Jlc3RvcmUudGVzdCcKPT09 IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JhY2t1cF9jb21wcmVzc2lvbi50ZXN0JyA9PiAn bXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfY29tcHJlc3Npb24udGVzdCcKPT09IHJl bmFtZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JhY2t1cF9jb25jdXJyZW50LnRlc3QnID0+ICdteXNx bC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9jb25jdXJyZW50LnRlc3QnCj09PSByZW5hbWVk IGZpbGUgJ215c3FsLXRlc3QvdC9iYWNrdXBfZGJfZ3JhbnRzLnRlc3QnID0+ICdteXNxbC10ZXN0 L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9kYl9ncmFudHMudGVzdCcKPT09IHJlbmFtZWQgZmlsZSAn bXlzcWwtdGVzdC90L2JhY2t1cF9kZGxfYmxvY2tlci50ZXN0JyA9PiAnbXlzcWwtdGVzdC9zdWl0 ZS9iYWNrdXAvdC9iYWNrdXBfZGRsX2Jsb2NrZXIudGVzdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlz cWwtdGVzdC90L2JhY2t1cF9kZWZhdWx0LnRlc3QnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1 cC90L2JhY2t1cF9kZWZhdWx0LnRlc3QnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3QvdC9i YWNrdXBfZXJyb3JzLnRlc3QnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9l cnJvcnMudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L2JhY2t1cF9lcnJvcnMudGVzdAkyMDA4LTA4 LTI3IDE3OjM1OjEwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3Vw X2Vycm9ycy50ZXN0CTIwMDgtMTAtMDcgMTc6MTU6NDQgKzAwMDAKQEAgLTE4MSw3ICsxODEsNyBA QCBEUk9QIFRBQkxFIG15c3FsLmJhY2t1cF9oaXN0b3J5OwogCiAjIFRyeSB0byBiYWNrdXAgdGhl IGRhdGFiYXNlIChzaG91bGQgYmUgZXJyb3IpLgogLS1lY2hvIEJhY2t1cCB0aGUgZGF0YWJhc2U7 Ci0tLWVycm9yIEVSX05PX1NVQ0hfVEFCTEUKKy0tZXJyb3IgRVJfQkFDS1VQX1BST0dSRVNTX1RB QkxFUwogQkFDS1VQIERBVEFCQVNFIHRlc3Rfb2JfZXJyb3IgVE8gJ29iX2Vyci5iYWsnOwogLS1l cnJvciAwLDEKIC0tcmVtb3ZlX2ZpbGUgJE1ZU1FMVEVTVF9WQVJESVIvbWFzdGVyLWRhdGEvb2Jf ZXJyLmJhawpAQCAtMTk4LDcgKzE5OCw3IEBAIERST1AgVEFCTEUgbXlzcWwuYmFja3VwX3Byb2dy ZXNzOwogCiAjIFRyeSB0byBiYWNrdXAgdGhlIGRhdGFiYXNlIChzaG91bGQgYmUgZXJyb3IpLgog LS1lY2hvIEJhY2t1cCB0aGUgZGF0YWJhc2U7Ci0tLWVycm9yIEVSX05PX1NVQ0hfVEFCTEUKKy0t ZXJyb3IgRVJfQkFDS1VQX1BST0dSRVNTX1RBQkxFUwogQkFDS1VQIERBVEFCQVNFIHRlc3Rfb2Jf ZXJyb3IgVE8gJ29iX2Vyci5iYWsnOwogLS1lcnJvciAwLDEKIC0tcmVtb3ZlX2ZpbGUgJE1ZU1FM VEVTVF9WQVJESVIvbWFzdGVyLWRhdGEvb2JfZXJyLmJhawoKPT09IHJlbmFtZWQgZmlsZSAnbXlz cWwtdGVzdC90L2JhY2t1cF9ma2V5LnRlc3QnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90 L2JhY2t1cF9ma2V5LnRlc3QnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3QvdC9iYWNrdXBf bG9ja19teWlzYW0udGVzdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2xv Y2tfbXlpc2FtLnRlc3QnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3QvdC9iYWNrdXBfbG9n cy50ZXN0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfbG9ncy50ZXN0Jwo9 PT0gcmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3QvYmFja3VwX2xvZ3Nfb3V0cHV0LnRlc3QnID0+ ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9sb2dzX291dHB1dC50ZXN0Jwo9PT0g cmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3QvYmFja3VwX21hbnlfZGJzLnRlc3QnID0+ICdteXNx bC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9tYW55X2Ricy50ZXN0Jwo9PT0gcmVuYW1lZCBm aWxlICdteXNxbC10ZXN0L3QvYmFja3VwX211bHRpX2Jsb2Nrcy50ZXN0JyA9PiAnbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfbXVsdGlfYmxvY2tzLnRlc3QnCj09PSByZW5hbWVkIGZp bGUgJ215c3FsLXRlc3QvdC9iYWNrdXBfbXlpc2FtMS1tYXN0ZXIub3B0JyA9PiAnbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfbXlpc2FtMS1tYXN0ZXIub3B0Jwo9PT0gcmVuYW1lZCBm aWxlICdteXNxbC10ZXN0L3QvYmFja3VwX215aXNhbTEudGVzdCcgPT4gJ215c3FsLXRlc3Qvc3Vp dGUvYmFja3VwL3QvYmFja3VwX215aXNhbTEudGVzdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwt dGVzdC90L2JhY2t1cF9teWlzYW0yLnRlc3QnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90 L2JhY2t1cF9teWlzYW0yLnRlc3QnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3QvdC9iYWNr dXBfbm9fYmUudGVzdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX25vX2Jl LnRlc3QnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3QvdC9iYWNrdXBfbm9fZGF0YS50ZXN0 JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfbm9fZGF0YS50ZXN0JwotLS0g YS9teXNxbC10ZXN0L3QvYmFja3VwX25vX2RhdGEudGVzdAkyMDA4LTAyLTE0IDIwOjU3OjE4ICsw MDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX25vX2RhdGEudGVzdAky MDA4LTEwLTA5IDA5OjU1OjA4ICswMDAwCkBAIC0xLDYgKzEsOCBAQAogLS1zb3VyY2UgaW5jbHVk ZS9ub3RfZW1iZWRkZWQuaW5jCiAKIC0tZGlzYWJsZV93YXJuaW5ncworLS1ybWRpciAkTVlTUUxU RVNUX1ZBUkRJUi9tYXN0ZXItZGF0YS90ZXN0CistLW1rZGlyICRNWVNRTFRFU1RfVkFSRElSL21h c3Rlci1kYXRhL3Rlc3QKIERST1AgREFUQUJBU0UgSUYgRVhJU1RTIGVtcHR5X2RiOwogRFJPUCBE QVRBQkFTRSBJRiBFWElTVFMgb3RoZXJfZGI7CiAtLWVuYWJsZV93YXJuaW5ncwoKPT09IHJlbmFt ZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JhY2t1cF9ub19lbmdpbmUudGVzdCcgPT4gJ215c3FsLXRl c3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX25vX2VuZ2luZS50ZXN0Jwo9PT0gcmVuYW1lZCBmaWxl ICdteXNxbC10ZXN0L3QvYmFja3VwX25vZGF0YV9kcml2ZXIudGVzdCcgPT4gJ215c3FsLXRlc3Qv c3VpdGUvYmFja3VwL3QvYmFja3VwX25vZGF0YV9kcml2ZXIudGVzdCcKPT09IHJlbmFtZWQgZmls ZSAnbXlzcWwtdGVzdC90L2JhY2t1cF9vYmplY3RzLnRlc3QnID0+ICdteXNxbC10ZXN0L3N1aXRl L2JhY2t1cC90L2JhY2t1cF9vYmplY3RzLnRlc3QnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRl c3QvdC9iYWNrdXBfcHJvY2VkdXJlcy50ZXN0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAv dC9iYWNrdXBfcHJvY2VkdXJlcy50ZXN0Jwo9PT0gcmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3Qv YmFja3VwX3NlY3VyZWZpbGVwcml2LW1hc3Rlci5vcHQnID0+ICdteXNxbC10ZXN0L3N1aXRlL2Jh Y2t1cC90L2JhY2t1cF9zZWN1cmVmaWxlcHJpdi1tYXN0ZXIub3B0Jwo9PT0gcmVuYW1lZCBmaWxl ICdteXNxbC10ZXN0L3QvYmFja3VwX3NlY3VyZWZpbGVwcml2LnRlc3QnID0+ICdteXNxbC10ZXN0 L3N1aXRlL2JhY2t1cC90L2JhY2t1cF9zZWN1cmVmaWxlcHJpdi50ZXN0Jwo9PT0gcmVuYW1lZCBm aWxlICdteXNxbC10ZXN0L3QvYmFja3VwX3NlY3VyaXR5LnRlc3QnID0+ICdteXNxbC10ZXN0L3N1 aXRlL2JhY2t1cC90L2JhY2t1cF9zZWN1cml0eS50ZXN0Jwo9PT0gcmVuYW1lZCBmaWxlICdteXNx bC10ZXN0L3QvYmFja3VwX3NuYXBzaG90Lm9wdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3Vw L3QvYmFja3VwX3NuYXBzaG90Lm9wdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVzdC90L2Jh Y2t1cF9zbmFwc2hvdC50ZXN0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBf c25hcHNob3QudGVzdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JhY2t1cF90YWJs ZXNwYWNlLnRlc3QnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF90YWJsZXNw YWNlLnRlc3QnCj09PSByZW5hbWVkIGZpbGUgJ215c3FsLXRlc3QvdC9iYWNrdXBfdGltZW91dC50 ZXN0JyA9PiAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBfdGltZW91dC50ZXN0Jwo9 PT0gcmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3QvYmFja3VwX3RyaWdnZXJzX2FuZF9ldmVudHMu dGVzdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX3RyaWdnZXJzX2FuZF9l dmVudHMudGVzdCcKPT09IHJlbmFtZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JhY2t1cF92aWV3X29u X3ZpZXcudGVzdCcgPT4gJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX3ZpZXdfb25f dmlldy50ZXN0Jwo9PT0gcmVuYW1lZCBmaWxlICdteXNxbC10ZXN0L3QvYmFja3VwX3ZpZXdzLnRl c3QnID0+ICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cC90L2JhY2t1cF92aWV3cy50ZXN0Jwo9PT0g YWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9kaXNhYmxlZC5kZWYnCi0tLSBh L215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvZGlzYWJsZWQuZGVmCTE5NzAtMDEtMDEgMDA6MDA6 MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9kaXNhYmxlZC5kZWYJMjAw OC0xMC0wOSAxMTo0NTo0MCArMDAwMApAQCAtMCwwICsxLDE2IEBACisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKyMKKyMgIExpc3QgdGhlIHRlc3QgY2FzZXMgdGhhdCBhcmUgdG8gYmUgZGlzYWJsZWQg dGVtcG9yYXJpbHkuCisjCisjICBTZXBhcmF0ZSB0aGUgdGVzdCBjYXNlIG5hbWUgYW5kIHRoZSBj b21tZW50IHdpdGggJzonLgorIworIyAgICA8dGVzdGNhc2VuYW1lPiA6IEJVRyM8eHh4eD4gPGRh dGUgZGlzYWJsZWQ+IDxkaXNhYmxlcj4gPGNvbW1lbnQ+CisjCisjICBEbyBub3QgdXNlIGFueSBU QUIgY2hhcmFjdGVycyBmb3Igd2hpdGVzcGFjZS4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor YmFja3VwX25vX2VuZ2luZSAgICAgOiBCdWcjMzYwMjEgMjAwOC0wNC0xMyByc29tbGEgc2VydmVy IGNyYXNoZXMgd2hlbiBvcGVubmluZyB0YWJsZSB3aXRoIHVua25vd24gc3RvcmFnZSBlbmdpbmUK K2JhY2t1cF90cmlnZ2Vyc19hbmRfZXZlbnRzICA6IEJ1ZyMzNzc2MiAyMDA4LTA3LTAxIHJhZmFs IFRlc3QgZmFpbHMgb24gcmVtb3ZlX2ZpbGUgZm9yIHVua25vd24gcmVhc29ucworYmFja3VwX25v X2JlICAgICAgICAgICAgICAgIDogQnVnIzM4MDIzIDIwMDgtMDctMTYgcmFmYWwgVGVzdCB0cmln Z2VycyB2YWxncmluZCB3YXJuaW5ncyBkZXNjcmliZWQgaW4gdGhlIGJ1ZworYmFja3VwX25vX2Rh dGEgICAgICAgOiBCdWcjMTc4MjMgMjAwOC0xMC0wOSByYWZhbCBUZXN0cyBpbiBtYWluIHN1aXRl IGxlYXZlIHVuZGVsZXRlZCBmaWxlcyBjYXVzaW5nIHRoaXMgdGVzdCB0byBmYWlsCitiYWNrdXBf ZGRsX2Jsb2NrZXIgICA6IEJ1ZyMxNzgyMyAyMDA4LTEwLTA5IHJhZmFsIFRlc3RzIGluIG1haW4g c3VpdGUgbGVhdmUgdW5kZWxldGVkIGZpbGVzIGNhdXNpbmcgdGhpcyB0ZXN0IHRvIGZhaWwKCj09 PSByZW5hbWVkIGRpcmVjdG9yeSAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAnID0+ICdteXNxbC10 ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzJwo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0 ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRlL2JhY2t1cF9wdHIuaW5jJwotLS0gYS9teXNxbC10ZXN0 L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX3B0ci5pbmMJMTk3MC0wMS0wMSAw MDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1 ZGUvYmFja3VwX3B0ci5pbmMJMjAwOC0xMC0wOCAwNDoyNjoyNSArMDAwMApAQCAtMCwwICsxLDM4 NiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQXV0aG9yOiBIZW1hCisjIERhdGU6IDIwMDgtMDct MzAKKyMgUHVycG9zZTogVGVzdCB0byBlbnN1cmUgdGhhdCBwb2ludCBpbiB0aW1lIHJlY292ZXJ5 IGlzIHByZXNlcnZlZCBkdXJpbmcgCisjIGJhY2t1cC4gSW4gdGhpcyB0ZXN0IHdlIHBlcmZvcm0g Ym90aCBEYXRhIE1hbmlwdWxhdGlvbiBPcGVyYXRpb25zIGFuZCAKKyMgRGF0YSBEZWZpbml0aW9u IE9wZXJhdGlvbnMuIFdlIHJlY292ZXIgdGhlIGRhdGEgYWZ0ZXIgYW5kIGJlZm9yZSBiYWNrdXAK KyMgdXNpbmcgYm90aCBiaW5sb2cgcG9zaXRpb25zIGFuZCBiaW5sb2cgZGF0ZXMuCisjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisKKworLS1zb3VyY2UgaW5jbHVkZS9ub3RfZW1iZWRkZWQuaW5jCist LXNvdXJjZSBpbmNsdWRlL2hhdmVfbG9nX2Jpbi5pbmMKK1NFTEVDVCBAQEJJTkxPR19GT1JNQVQ7 CitSRVNFVCBNQVNURVI7CisKKy0tZXJyb3IgMCwxCistLXJlbW92ZV9maWxlICRNWVNRTFRFU1Rf VkFSRElSL21hc3Rlci1kYXRhL3B0ci5iYWs7IAorCistLWVjaG8gKipTVEFSVCBURVNUKioKKy0t ZWNobyAqKioqIFRFU1QxICoqKioKKy0tZWNobyAgVGhpcyB0ZXN0IHdpbGwgcmVjb3ZlciBkYXRh IHVzaW5nIGJpbmxvZyBwb3NpdGlvbgorLS1lY2hvICB0aWxsIHBvaW50IG9mIGJhY2t1cCBhbmQg YWZ0ZXIgYmFja3VwLgorLS1lY2hvCisKKyNXZSBzZXQgY29uc3RhbnQgdGltZXN0YW1wIGluc2lk ZSB0aGUgdGVzdC4KK1NFVCBAYT1VTklYX1RJTUVTVEFNUCgiMjAxMC0wMS0yMSAxNTozMjoyMiIp OworU0VUIHRpbWVzdGFtcD1AYTsKKworIyBDcmVhdGUgZGF0YWJhc2UKK0NSRUFURSBEQVRBQkFT RSBJRiBOT1QgRVhJU1RTIHB0cjsKK1VTRSBwdHI7CisKKy0tZWNobyAqKioqIENyZWF0aW5nIHRh YmxlcyAqKioqCitDUkVBVEUgVEFCTEUgcHRyLnQxKGlkIElOVCwgYSBDSEFSKDQpKTsKK0lOU0VS VCBJTlRPIHB0ci50MSBWQUxVRVMoMSwnYScpLCgyLCdiJyksKDMsJ2MnKSwoNCwnZCcpLCg1LCdl Jyk7CitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKKworQ1JFQVRFIFRBQkxFIHB0ci50MyhpZCBJTlQs IGIgQ0hBUig0KSk7CitJTlNFUlQgSU5UTyBwdHIudDMgVkFMVUVTCisoMTEsJ2FhJyksKDIyLCdi YicpLCgzMywnY2MnKSwoNDQsJ2RkJyksKDU1LCdlZScpOworCitDUkVBVEUgVEFCTEUgcHRyLnQy KGlkIElOVCwgZGVsZXRlc19kYXRhIFZBUkNIQVIoMzApLCB1cGRhdGVzX2RhdGEgVEVYVCk7CitJ TlNFUlQgSU5UTyBwdHIudDIgVkFMVUVTCisoMTAwLCdkYXRhMSBmb3IgdGVzdGluZycsJ3VwZGF0 ZSBkYXRhMScpLAorKDIwMCwnZGF0YTIgZm9yIHRlc3RpbmcnLCd1cGRhdGUgZGF0YTInKSwKKygz MDAsJ2RhdGEzIGZvciB0ZXN0aW5nJywndXBkYXRlIGRhdGEzJyksCisoNDAwLCdkYXRhNCBmb3Ig dGVzdGluZycsJ3VwZGF0ZSBkYXRhNCcpLAorKDUwMCwnZGF0YTUgZm9yIHRlc3RpbmcnLCd1cGRh dGUgZGF0YTUnKSwKKygxMDAsJ2RhdGExIGZvciB0ZXN0aW5nJywndXBkYXRlIGRhdGExJyksCiso NjAwLCdkYXRhNiBmb3IgdGVzdGluZycsJ3VwZGF0ZSBkYXRhNicpOworU0VMRUNUICogRlJPTSBw dHIudDIgT1JERVIgQlkgaWQ7CitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDI7CisKKy0tZWNo byAqKioqIENyZWF0aW5nIHRhYmxlcyB3aXRoIGRpZmZlcmVudCBkYXRhdHlwZXMgKioqKgorCitD UkVBVEUgVEFCTEUgcHRyLmQxKAorcmludCBJTlQsCit0aW50IFRJTllJTlQsCitzaW50IFNNQUxM SU5ULAorYmludCBCSUdJTlQsCittaW50IE1FRElVTUlOVCwKK25hbWUgQ0hBUigxMDApLAorY2l0 eSAgVkFSQ0hBUigxMDApLAorZmwgRkxPQVQoNyw0KSwKK3BlcnMgREVDSU1BTCg4LDIpLAorc2Fs IERPVUJMRSwKK2NvbG91cnMgU0VUKCdyZWQnLCdibHVlJywneWVsbG93JyksCitjb250aW5lbnQg RU5VTSgnQXNpYScsICdFdXJvcGUnLCdBZnJpY2EnLCdBbnRhcnRpY2EnKSwKK3RzIFRJTUVTVEFN UCBERUZBVUxUIDAsCitkb2IgREFURSwKK3kgWUVBUgorKTsKKworQ1JFQVRFIFRBQkxFIHB0ci5k MigKK3JlZ2lvbiBURVhULAorc3VtbWFyeSBMT05HVEVYVCwKK2RhdGEgQkxPQiwKK2RldGFpbHMg TUVESVVNQkxPQiwKK3F1ZXJpZXMgVElOWVRFWFQsCitxdWVyeTIgVElOWUJMT0IsCitleHRyYWN0 IExPTkdCTE9CLAorcGFyYXMgTUVESVVNVEVYVAorKTsKKworSU5TRVJUIElOVE8gcHRyLmQxIFZB TFVFUworKDc4NSwxMjcsNzI4OCwyNzg4Mjk4OTksMzc3NywndGVzdGluZzEnLCdzd2VkZW4nLCc2 NzguMjk5JywyMDAuMjMsODI5ODk5LjkwOSwKKyd5ZWxsb3cnLCdBc2lhJywnMjAwOC0wNi0wMSAx NjoyMzozMCcsJzE5ODQtMDktMDgnLCcxOTg0Jyk7CisKK0lOU0VSVCBJTlRPIHB0ci5kMiBWQUxV RVMKKygneHh4eHh4eHgnLCdUZXN0b2ZvbmxpbmUgYmFja3VwJywnYWFhYWFhYWFhYScsJ2JiYmJi YmJiYmJiJywnaGhoaGhoaGhoaGgnLAorJ2tra2tra2tra2tra2snLCdtbW1tbW1tbW1tbW0nLCdv bmxpbmViYWNrdXAxJyk7CisKK1NFTEVDVCAqIEZST00gcHRyLmQxOworU0VMRUNUICogRlJPTSBw dHIuZDI7CisKKy0tZWNobyAqKioqIFBlcmZvcm0gRGF0YSBNYW5pcHVsYXRpb24gT3BlcmF0aW9u cyAqKioqCistLWVjaG8gIyMgRGVsZXRlICMjCitERUxFVEUgRlJPTSBwdHIudDIgV0hFUkUgZGVs ZXRlc19kYXRhPSdkYXRhNCBmb3IgdGVzdGluZyc7CitERUxFVEUgRlJPTSBwdHIudDIgV0hFUkUg aWQ9MTAwIExJTUlUIDE7CisKKy0tZWNobyAjIyBJbnNlcnQgYW5kIFNlbGVjdCAjIworLS1lY2hv ICoqKiogTm93IHB0ci50MiB3aWxsIGhhdmUgNSBjb3VudHMgaW4gdGhlIHRhYmxlICoqKioKKy0t ZWNobyAKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50MjsKK0lOU0VSVCBJTlRPIHB0ci50MiBW QUxVRVMKKyg4MDAsJ2RhdGExIGZvciByZXBsYWNlbWVudCcsJ3JlcGxhY2UgZGF0YTEnKTsKKwor LS1lY2hvICMjIFJlcGxhY2UgIyMKK1JFUExBQ0UgSU5UTyBwdHIudDIgCitTRVQgaWQ9ODAwLCBk ZWxldGVzX2RhdGE9J2RhdGEgcmVwbGFjZWQnLCB1cGRhdGVzX2RhdGE9J3JlcGxhY2Ugb3Zlcic7 CisKKy0tZWNobyAjIyBVbmlvbiAjIworU0VMRUNUICogRlJPTSBwdHIudDEgVU5JT04gU0VMRUNU ICogRlJPTSBwdHIudDM7CisKKy0tZWNobyAjIyBVcGRhdGUgIyMKK1VQREFURSBwdHIudDIgU0VU IHVwZGF0ZXNfZGF0YT0nIyNWQUxVRSBVUERBVEVEIyMnIFdIRVJFIGlkPTMwMDsKKworLS1lY2hv ICBOb3cgdGFibGUgdDIgd2lsbCBoYXZlIDYgY291bnRzIHdpdGggb25lIHVwZGF0ZWQgYW5kIHJl cGxhY2VkIHZhbHVlcyAKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50MjsKK1NFTEVDVCAqIEZS T00gcHRyLnQyIE9SREVSIEJZIGlkOworCitERVNDUklCRSBwdHIudDE7CitERVNDUklCRSBwdHIu dDI7CitERVNDUklCRSBwdHIuZDE7CitERVNDUklCRSBwdHIuZDI7CisKKyMtLWVjaG8gIyMgUGVy Zm9ybSB0YWJsZSBtYWludGVuZW5jZSBvcGVyYXRpb25zICMjCisjV2UgZGlzYWJsZSB0aGUgdGFi bGUgbWFpbnRlbmVuY2Ugb3BlcmF0aW9ucyBhcyBpdCBpcyBzdXBwb3J0ZWQgYnkgb25seQorI015 aXNhbSBhbmQgSW5ub2RiIGVuZ2luZXMuIEZhbGNvbiBlbmdpbmUgZG9lcyBub3Qgc3VwcG9ydCB0 YWJsZSBtYWludGVuYW5jZQorI29wZXJhdGlvbnMuCisgCisjQU5BTFlaRSBUQUJMRSBkMTsKKyNB TkFMWVpFIFRBQkxFIHQyOworI0NIRUNLIFRBQkxFIGQxOworI0NIRUNLIFRBQkxFIHQyOworCist LWVjaG8gKioqKiBQZXJmb3JtIERhdGEgRGVmaW5pdGlvbiBPcGVyYXRpb25zICoqKioKKworLS1l Y2hvICMjIEFMVEVSICMjCitBTFRFUiBUQUJMRSBwdHIudDIgQUREIENPTFVNTiBjaGFuZ2VzIENI QVIoMjApOworCitVUERBVEUgcHRyLnQyIFNFVCBjaGFuZ2VzPSdhbHRlcmVkJyBXSEVSRSBpZD0y MDA7CitVUERBVEUgcHRyLnQyIFNFVCBjaGFuZ2VzPSdhbHRlcmVkJyBXSEVSRSBpZD0xMDA7CisK K0FMVEVSIFRBQkxFIHB0ci50MyBNT0RJRlkgYiBWQVJDSEFSKDQpOworCitERVNDUklCRSBwdHIu dDI7CitERVNDUklCRSBwdHIudDM7CisKKy0tZWNobyAqKioqIE5vdyB3ZSB3aWxsIGNoZWNrIHRo ZSBkYXRhIGNvbnRlbnRzIGluIGFsbCB0aGUgdGFibGVzIGFnYWluICoqKioKKworU0VMRUNUICog RlJPTSBwdHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK1NFTEVDVCAq IEZST00gcHRyLnQzOworU0VMRUNUICogRlJPTSBwdHIuZDE7CitTRUxFQ1QgKiBGUk9NIHB0ci5k MjsKKworLS1lY2hvICoqIFBlcmZvcm0gQmFja3VwIG9wZXJhdGlvbiBhbmQgZ2F0aGVyIGJpbmxv ZyBwb3NpdGlvbiBhbmQgZGF0ZXMgKioKKy0tZWNobyAqKiBCYWNrdXAgZGF0YSAqKgorTEVUICRi YWNrdXBfaWQgPSBgQkFDS1VQIERBVEFCQVNFIHB0ciBUTyAncHRyLmJhaydgOworc2V0IHRpbWVz dGFtcD1AYSsyOworTEVUICRiaW5sb2dfcG9zID0gYFNFTEVDVCBiaW5sb2dfcG9zIEZST00gbXlz cWwuYmFja3VwX2hpc3RvcnkgV0hFUkUgYmFja3VwX2lkID0kYmFja3VwX2lkYDsKK0xFVCAkYmlu bG9nX2ZpbGUgPXF1ZXJ5X2dldF92YWx1ZShTSE9XIE1BU1RFUiBTVEFUVVMsIEZpbGUsIDEpOwor CistLWVjaG8KKy0tZWNobyBOb3cgZXhlY3V0ZSBzb21lIG9wZXJhdGlvbnMgaW4gdGhlIHRhYmxl IGFmdGVyIHBlcmZvcm1pbmcgYmFja3VwLgorLS1lY2hvCisKKy0tZWNobworLS1lY2hvICoqKiog UGVyZm9ybSBzb21lIGRhdGEgbWFuaXB1bGF0aW9uIG9wZXJhdGlvbnMgKioqKgorCitJTlNFUlQg SU5UTyBwdHIudDEgVkFMVUVTKDYsJ2YnKSwoNywnZycpOworSU5TRVJUIElOVE8gcHRyLmQxIFZB TFVFUworKDEwMDAxLDEyMCw2NTUwLDcyNzg2MzQ2NTcsOTA2NjcsJ0FmdGVyIGJhY2t1cCcsJ01p bm5lYXBvbGlzJyw3ODIuOTkwMSwKKzc4OS4yMyw5NzgwNi40NTYsJ2JsdWUnLCdBbnRhcnRpY2En LCcyMDA4LTA4LTA3IDE1OjEyOjQ0JywnMTk1NC0xMi0yMycsJzE5NTQnKTsKKworSU5TRVJUIElO VE8gcHRyLnQzIFZBTFVFUygxLCdmZicpLCgzLCdraycpOworU0VMRUNUICogRlJPTSB0MSBVTklP TiBTRUxFQ1QgKiBGUk9NIHQzIE9SREVSIEJZIGE7CisKK1VQREFURSBwdHIudDMgU0VUIGI9J21t JyB3aGVyZSBiPSdrayc7CitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKKworREVMRVRFIEZST00gcHRy LnQyIFdIRVJFIGlkPTIwMDsKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworCist LWVjaG8KKy0tZWNobyAqKioqIFBlcmZvcm0gc29tZSBkYXRhIGRlZmluaXRpb24gb3BlcmF0aW9u cyAqKioqCisKK0FMVEVSIFRBQkxFIHB0ci50MiBEUk9QIENPTFVNTiBjaGFuZ2VzOworQUxURVIg VEFCTEUgcHRyLnQzIEVOR0lORT1NRU1PUlk7CitDUkVBVEUgVEFCTEUgZGVmaW5pdGlvbihkZXRh aWxzIExPTkdURVhUKTsKK0lOU0VSVCBJTlRPIGRlZmluaXRpb24gVkFMVUVTCisoJ1BlcmZvcm1p bmcgc29tZSBkYXRhIGRlZmluaXRpb24gc3RhdGVtZW50cyBmb3IgUFRSJyk7CisKK0RFU0NSSUJF IHB0ci50MjsKK0RFU0NSSUJFIHB0ci5kZWZpbml0aW9uOworCistLWVjaG8KKy0tZWNobyAqKioq IFRoZSB0YWJsZXMgdDEsIHQyLCB0MyBhbmQgdDQgaGFzIGNoYW5nZXMgKioqKgorLS1lY2hvICoq KiogTmV3IHRhYmxlICJkZWZpbml0aW9uIiBpcyBjcmVhdGVkIGFmdGVyIGJhY2t1cCAqKioqKgor LS1lY2hvCisKK1NIT1cgVEFCTEVTIEZST00gcHRyOworU0VMRUNUICogRlJPTSBwdHIudDE7CitT RUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK1NFTEVDVCAqIEZST00gcHRyLnQzOwor U0VMRUNUICogRlJPTSBwdHIuZDE7CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsKKworU0VUIFRJTUVT VEFNUD1AYSs0OworTEVUICRiaW5wb3M9cXVlcnlfZ2V0X3ZhbHVlKFNIT1cgTUFTVEVSIFNUQVRV UywgUG9zaXRpb24sIDEpOworTEVUICRiaW5maWxlPXF1ZXJ5X2dldF92YWx1ZShTSE9XIE1BU1RF UiBTVEFUVVMsIEZpbGUsIDEpOworCisjIFJvdGF0ZSBsb2dzLiBUaGlzIGZyZWVzIHRoZSBwcmV2 aW91cyBsb2cgc28gdGhhdCB3ZSBjYW4gZHVtcCBpdC4KK0ZMVVNIIExPR1M7CitEUk9QIERBVEFC QVNFIHB0cjsKKworLS1lY2hvICoqKiogRXhlY3V0ZSBteXNxbGJpbmxvZyB0byByZWNvdmVyIHRo ZSBkYXRhIGZyb20gc3RhcnQgdG8gYmFja3VwICoqKioKKworLS1leGVjICRNWVNRTF9CSU5MT0cg LS1kYXRhYmFzZT1wdHIgJE1ZU1FMVEVTVF9WQVJESVIvbG9nL21hc3Rlci1iaW4uMDAwMDAxID4g JE1ZU1FMVEVTVF9WQVJESVIvdG1wL3ExLmJpbgorLS1leGVjICRNWVNRTF9CSU5MT0cgLS1kYXRh YmFzZT1wdHIgLS1zdG9wLXBvc2l0aW9uPSRiaW5sb2dfcG9zICRNWVNRTFRFU1RfVkFSRElSL2xv Zy8kYmlubG9nX2ZpbGUgfCRNWVNRTAorCisjIFZlcmlmeSB0aGF0IHRoZSB0YWJsZSB3ZSBqdXN0 IGRyb3BwZWQgaGFzIGJlZW4gcmVzdG9yZWQKK1NIT1cgVEFCTEVTIEZST00gcHRyOworU0VMRUNU ICogRlJPTSBwdHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK1NFTEVD VCAqIEZST00gcHRyLnQzOworU0VMRUNUICogRlJPTSBwdHIuZDE7CitTRUxFQ1QgKiBGUk9NIHB0 ci5kMjsKKworLS1lY2hvICoqKiogTm93IHBlcmZvcm0gYW5vdGhlciByZWNvdmVyeSB0byByZWNv dmVyIGRhdGEgYWZ0ZXIgYmFja3VwICoqKioKKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tZGF0YWJh c2U9cHRyIC0tc3RhcnQtcG9zaXRpb249JGJpbmxvZ19wb3MgJE1ZU1FMVEVTVF9WQVJESVIvbG9n LyRiaW5sb2dfZmlsZSB8JE1ZU1FMCisKK1NIT1cgVEFCTEVTIEZST00gcHRyOworCitERVNDUklC RSBwdHIudDE7CitERVNDUklCRSBwdHIudDI7CitERVNDUklCRSBwdHIudDM7CisKK1NFTEVDVCAq IEZST00gcHRyLnQxOworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitTRUxFQ1Qg KiBGUk9NIHB0ci50MzsKK1NFTEVDVCAqIEZST00gcHRyLmQxOworU0VMRUNUICogRlJPTSBwdHIu ZDI7CisKK0RST1AgREFUQUJBU0UgcHRyOworCistLWVjaG8gKioqIFRFU1QyICoqKiA6CistLWVj aG8gUGVyZm9ybSBSZXN0b3JlIGFuZCByZWNvdmVyIHRyYW5zYWN0aW9ucyBhZnRlciBiYWNrdXAg YnkgZXhlY3V0aW5nIAorLS1lY2hvIG15c3FsYmlubG9nIHV0aWxpdHkgdXNpbmcgYmlubG9nIHBv c2l0aW9uLgorCistLWVjaG8gUGVyZm9ybSByZXN0b3JlIG9wZXJhdGlvbiAKKy0tcmVwbGFjZV9j b2x1bW4gMSAjCitSRVNUT1JFIEZST00gJ3B0ci5iYWsnOworU0VMRUNUICogRlJPTSBwdHIudDE7 CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK1NFTEVDVCAqIEZST00gcHRyLnQz OworU0VMRUNUICogRlJPTSBwdHIuZDE7CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsKKworLS1lY2hv IFJlY292ZXJpbmcgZGF0YSBjb250ZW50cyBhZnRlciBiYWNrdXAKKy0tZXhlYyAkTVlTUUxfQklO TE9HIC0tZGF0YWJhc2U9cHRyIC0tc3RhcnQtcG9zaXRpb249JGJpbmxvZ19wb3MgICRNWVNRTFRF U1RfVkFSRElSL2xvZy8kYmlubG9nX2ZpbGUgfCRNWVNRTAorU0hPVyBUQUJMRVMgRlJPTSBwdHI7 CisKK0RFU0NSSUJFIHB0ci50MTsKK0RFU0NSSUJFIHB0ci50MjsKK0RFU0NSSUJFIHB0ci50MzsK KworU0VMRUNUICogRlJPTSBwdHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBp ZDsKK1NFTEVDVCAqIEZST00gcHRyLnQzOworU0VMRUNUICogRlJPTSBwdHIuZDE7CitTRUxFQ1Qg KiBGUk9NIHB0ci5kMjsKKworRFJPUCBEQVRBQkFTRSBwdHI7CisKKy0tZWNobyAqKiogVEVTVDMg KioqIDoKKy0tZWNobyBUaGlzIHRlc3Qgd2lsbCByZWNvdmVyIGRhdGEgdXNpbmcgYmlubG9nIGRh dGVzCistLWVjaG8gdGlsbCBwb2ludCBvZiBiYWNrdXAgYW5kIGFmdGVyIGJhY2t1cC4KKworLS1l Y2hvICBOb3cgdXNlIGJpbmxvZyBkYXRlcyB0byByZWNvdmVyIHRoZSBkYXRhIHRpbGwgcG9pbnQg b2YgYmFja3VwLgorCistLWV4ZWMgJE1ZU1FMX0JJTkxPRyAtLWRhdGFiYXNlPXB0ciAtLXN0YXJ0 LWRhdGV0aW1lPSIyMDEwLTAxLTIxIDE1OjMyOjIyIiAtLXN0b3AtZGF0ZXRpbWU9IjIwMTAtMDEt MjEgMTU6MzI6MjQiICRNWVNRTFRFU1RfVkFSRElSL2xvZy9tYXN0ZXItYmluLjAwMDAwMSB8JE1Z U1FMCisKK1NFTEVDVCAqIEZST00gcHRyLnQxOworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIg QlkgaWQ7CitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK1NFTEVDVCAqIEZST00gcHRyLmQxOworU0VM RUNUICogRlJPTSBwdHIuZDI7CisKKy0tZWNobyBXZSBleGVjdXRlIGJpbmxvZyB0byByZWNvdmVy IGRhdGEgYWZ0ZXIgYmFja3VwIHVzaW5nIGJpbmxvZyBkYXRlcy4KKworLS1leGVjICRNWVNRTF9C SU5MT0cgLS1kYXRhYmFzZT1wdHIgLS1zdGFydC1kYXRldGltZT0iMjAxMC0wMS0yMSAxNTozMjoy NCIgLS1zdG9wLWRhdGV0aW1lPSIyMDEwLTAxLTIxIDE1OjMyOjI2IiAkTVlTUUxURVNUX1ZBUkRJ Ui9sb2cvbWFzdGVyLWJpbi4wMDAwMDEgfCRNWVNRTAorU0hPVyBUQUJMRVMgRlJPTSBwdHI7CisK K0RFU0NSSUJFIHB0ci50MTsKK0RFU0NSSUJFIHB0ci50MjsKK0RFU0NSSUJFIHB0ci50MzsKKwor U0VMRUNUICogRlJPTSBwdHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsK K1NFTEVDVCAqIEZST00gcHRyLnQzOworU0VMRUNUICogRlJPTSBwdHIuZDE7CitTRUxFQ1QgKiBG Uk9NIHB0ci5kMjsKK0RST1AgREFUQUJBU0UgcHRyOworCistLWVjaG8gKioqIFRFU1Q0ICoqKiA6 CistLWVjaG8gUGVyZm9ybSBSZXN0b3JlIGFuZCByZWNvdmVyIHRyYW5zYWN0aW9ucyBhZnRlciBi YWNrdXAgYnkgZXhlY3V0aW5nCistLWVjaG8gbXlzcWxiaW5sb2cgdXRpbGl0eSB1c2luZyBiaW5s b2cgZGF0ZXMuCisKKy0tcmVwbGFjZV9jb2x1bW4gMSAjCitSRVNUT1JFIEZST00gJ3B0ci5iYWsn OworCitERVNDUklCRSBwdHIudDE7CitERVNDUklCRSBwdHIudDI7CitERVNDUklCRSBwdHIudDM7 CisKK1NFTEVDVCAqIEZST00gcHRyLnQxOworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkg aWQ7CitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK1NFTEVDVCAqIEZST00gcHRyLmQxOworU0VMRUNU ICogRlJPTSBwdHIuZDI7CisKKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tZGF0YWJhc2U9cHRyIC0t c3RhcnQtZGF0ZXRpbWU9IjIwMTAtMDEtMjEgMTU6MzI6MjQiIC0tc3RvcC1kYXRldGltZT0iMjAx MC0wMS0yMSAxNTozMjoyNiIgJE1ZU1FMVEVTVF9WQVJESVIvbG9nL21hc3Rlci1iaW4uMDAwMDAx IHwkTVlTUUwKKworU0hPVyBEQVRBQkFTRVM7CitTSE9XIFRBQkxFUyBGUk9NIHB0cjsKKworREVT Q1JJQkUgcHRyLnQxOworREVTQ1JJQkUgcHRyLnQyOworREVTQ1JJQkUgcHRyLnQzOworCitTRUxF Q1QgKiBGUk9NIHB0ci50MTsKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworU0VM RUNUICogRlJPTSBwdHIudDM7CitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK1NFTEVDVCAqIEZST00g cHRyLmQyOworRFJPUCBEQVRBQkFTRSBwdHI7CisKKy0tZWNobyAqKiogVEVTVDUgKioqIDoKKy0t ZWNobyBEbyBjb21wbGV0ZSByZWNvdmVyeSBvZiBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5s b2cgcG9zaXRpb24uIEVuc3VyZSAKKy0tZWNobyB0aGF0IHByZXNlbmNlIG9mIGJhY2t1cCBvcGVy YXRpb24gaW4gdGhlIGJpbmxvZyBzaG91bGRuJ3QgaGF2ZSBhbnkgaW1wYWN0CisKKy0tZXhlYyAk TVlTUUxfQklOTE9HIC0tZGF0YWJhc2U9cHRyICAtLXN0b3AtcG9zaXRpb249JGJpbnBvcyAkTVlT UUxURVNUX1ZBUkRJUi9sb2cvJGJpbmZpbGUgfCRNWVNRTAorCitTSE9XIERBVEFCQVNFUzsKK1NI T1cgVEFCTEVTIEZST00gcHRyOworCitERVNDUklCRSBwdHIudDE7CitERVNDUklCRSBwdHIudDI7 CitERVNDUklCRSBwdHIudDM7CisKK1NFTEVDVCAqIEZST00gcHRyLnQxOworU0VMRUNUICogRlJP TSBwdHIudDIgT1JERVIgQlkgaWQ7CitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK1NFTEVDVCAqIEZS T00gcHRyLmQxOworU0VMRUNUICogRlJPTSBwdHIuZDI7CitEUk9QIERBVEFCQVNFIHB0cjsKKwor LS1lY2hvICoqKiBURVNUNiAqKiogOgorLS1lY2hvIERvIGNvbXBsZXRlIHJlY292ZXJ5IG9mIGRh dGEgYWZ0ZXIgYmFja3VwIHVzaW5nIGJpbmxvZyBkYXRlcy4gRW5zdXJlCistLWVjaG8gdGhhdCBw cmVzZW5jZSBvZiBiYWNrdXAgb3BlcmF0aW9uIGluIHRoZSBiaW5sb2cgc2hvdWxkbid0IGhhdmUg YW55IGltcGFjdAorCistLWV4ZWMgJE1ZU1FMX0JJTkxPRyAtLWRhdGFiYXNlPXB0ciAtLXN0YXJ0 LWRhdGV0aW1lPSIyMDEwLTAxLTIxIDE1OjMyOjIyIiAtLXN0b3AtZGF0ZXRpbWU9IjIwMTAtMDEt MjEgMTU6MzI6MjYiICRNWVNRTFRFU1RfVkFSRElSL2xvZy9tYXN0ZXItYmluLjAwMDAwMSB8JE1Z U1FMCisKK1NIT1cgREFUQUJBU0VTOworU0hPVyBUQUJMRVMgRlJPTSBwdHI7CisKK0RFU0NSSUJF IHB0ci50MTsKK0RFU0NSSUJFIHB0ci50MjsKK0RFU0NSSUJFIHB0ci50MzsKKworU0VMRUNUICog RlJPTSBwdHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK1NFTEVDVCAq IEZST00gcHRyLnQzOworU0VMRUNUICogRlJPTSBwdHIuZDE7CitTRUxFQ1QgKiBGUk9NIHB0ci5k MjsKKworIyBUZXN0IGNsZWFudXAgc2VjdGlvbgorCistLWVjaG8KKy0tZWNobyAqKiogIERST1Ag cHRyIERBVEFCQVNFICoqKioKKy0tZWNobworCitEUk9QIERBVEFCQVNFIHB0cjsKKy0tcmVtb3Zl X2ZpbGUgJE1ZU1FMVEVTVF9WQVJESVIvbWFzdGVyLWRhdGEvcHRyLmJhawoKPT09IGFkZGVkIGZp bGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9iYWNrdXBfcHRyX2Nv bW1pdC5pbmMnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9i YWNrdXBfcHRyX2NvbW1pdC5pbmMJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNx bC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX3B0cl9jb21taXQuaW5j CTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCArMSwyMjYgQEAKKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisjIEF1dGhvcjogSGVtYQorIyBEYXRlOiAyMDA4LTA3LTMwCisjIFB1cnBvc2U6IFRl c3QgdG8gZW5zdXJlIHRoYXQgcG9pbnQgaW4gdGltZSByZWNvdmVyeSBpbmNsdWRlcyBjb21taXR0 ZWQgCisjIHRyYW5zYWN0aW9ucyBpbiB0aGUgYmFja3VwLiBJbiB0aGlzIHRlc3Qgd2Ugd2lsbCBj b21taXQgdGhlIGRhdGEgZHVyaW5nIAorIyBiYWNrdXAuIFRoaXMgY2FuIGJlIGFjY29tcGxpc2hl ZCBieSB1c2luZyBkZWJ1Z19zeW5jIHBvaW50cy4KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor CistLXNvdXJjZSBpbmNsdWRlL2hhdmVfZGVidWdfc3luYy5pbmMKKy0tc291cmNlIGluY2x1ZGUv aGF2ZV9pbm5vZGIuaW5jCistLXNvdXJjZSBpbmNsdWRlL25vdF9lbWJlZGRlZC5pbmMKKy0tc291 cmNlIGluY2x1ZGUvaGF2ZV9sb2dfYmluLmluYworU0VMRUNUIEBAQklOTE9HX0ZPUk1BVDsKK1JF U0VUIE1BU1RFUjsKKworLS1lcnJvciAwLDEKKy0tcmVtb3ZlX2ZpbGUgJE1ZU1FMVEVTVF9WQVJE SVIvbWFzdGVyLWRhdGEvcHRyX29iamVjdHMuYmFrOworCitjb25uZWN0IChjb24xLGxvY2FsaG9z dCxyb290LCwpOworY29ubmVjdCAoY29uMixsb2NhbGhvc3Qscm9vdCwsKTsKK2Nvbm5lY3QgKGNv bjMsbG9jYWxob3N0LHJvb3QsLCk7CisKK2Nvbm5lY3Rpb24gY29uMTsKKworLS1lY2hvICoqU1RB UlQgVEVTVCoqCistLWVjaG8gKioqIFRFU1QxICoqKgorLS1lY2hvIFRoaXMgdGVzdCB3aWxsIHJl Y292ZXIgZGF0YSB0aGF0IHdlcmUgY29tbWl0dGVkIGR1cmluZyBiYWNrdXAKKy0tZWNobyBvcGVy YXRpb24uIFRoaXMgaXMgYWNoZWl2ZWQgYnkgbWVhbnMgb2YgZGVidWdfc3luYyBwb2ludHMKKy0t ZWNobyB3aGljaCBwYXVzZXMgdGhlIGJhY2t1cCBkYXRhYmFzZSBvcGVyYXRpb24gZHVyaW5nIGNv bW1pdC4KKy0tZWNobworCisjV2Ugc2V0IGNvbnN0YW50IHRpbWVzdGFtcCBpbnNpZGUgdGhlIHRl c3QuCitTRVQgQGE9VU5JWF9USU1FU1RBTVAoIjIwMTAtMDEtMjEgMTU6MzI6MjIiKTsKK1NFVCB0 aW1lc3RhbXA9QGE7CisKKy0tZGlzYWJsZV93YXJuaW5ncworU0VUIERFQlVHX1NZTkM9ICdSRVNF VCc7CisKKyMgQ3JlYXRlIGRhdGFiYXNlCitDUkVBVEUgREFUQUJBU0UgSUYgTk9UIEVYSVNUUyBw dHI7CitVU0UgcHRyOworCistLWVjaG8KKy0tZWNobyBjb24xOiAqKipDcmVhdGluZyBUYWJsZXMq KioKKworQ1JFQVRFIFRBQkxFIHB0ci50MShpZCBJTlQsIGRldGFpbHMgQ0hBUigzMCkpRU5HSU5F PUlOTk9EQjsKK0lOU0VSVCBpbnRPIHB0ci50MSBWQUxVRVMKKygxLCd0ZXN0aW5nMScpLCgyLCd0 ZXN0aW5nMicpLCgzLCd0ZXN0aW5nMycpLAorKDQsJ3Rlc3Rpbmc0JyksKDUsJ3Rlc3Rpbmc1Jyks KDYsJ3Rlc3Rpbmc2Jyk7CisKK0NSRUFURSBUQUJMRSBwdHIudDIoaWQgSU5ULCBpbmZvIENIQVIo MzApKUVOR0lORT1JTk5PREI7CitJTlNFUlQgaW50TyBwdHIudDIgVkFMVUVTKDIwMSwgJ2FhMScp LCgyMDIsJ2FhMicpOworCitDUkVBVEUgVEFCTEUgcHRyLnQzKGlkIElOVCwgbmFtZSBDSEFSKDIw KSlFTkdJTkU9SU5OT0RCOworSU5TRVJUIGludE8gcHRyLnQzIFZBTFVFUygxLCdhYjEnKSwoMiwn YWIyJyksKDMsJ2FiMycpLCg0LCdhYjQnKSwoNSwnYWI1Jyk7CisKKy0tZWNobworLS1lY2hvIGNv bjI6Citjb25uZWN0aW9uIGNvbjI7CitTVEFSVCBUUkFOU0FDVElPTjsKK0lOU0VSVCBpbnRPIHB0 ci50MiBWQUxVRVMoMjAzLCAnRHVyaW5nIGJhY2t1cC0xJyksKDIwNCwnRHVyaW5nIGJhY2t1cC0y Jyk7CitVUERBVEUgcHRyLnQzIFNFVCBuYW1lPSdoaDEnIFdIRVJFIGlkPTE7CitERUxFVEUgRlJP TSBwdHIudDEgV0hFUkUgaWQ9NTsKK0RFTEVURSBGUk9NIHB0ci50MSBXSEVSRSBpZD02OworCist LWVjaG8gY29uMToKK2Nvbm5lY3Rpb24gY29uMTsKKy0tZWNobyBUaGUgdmFsdWVzIHNob3VsZCBi ZTogdDE9NiB0Mj0yIHQzPTUKKworU0VMRUNUICogRlJPTSBwdHIudDE7CitTRUxFQ1QgQ09VTlQo KikgRlJPTSBwdHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MjsKK1NFTEVDVCBDT1VOVCgqKSBG Uk9NIHB0ci50MjsKK1NFTEVDVCAqIEZST00gcHRyLnQzOworU0VMRUNUIENPVU5UKCopIEZST00g cHRyLnQzOworCisjIEFjdGl2YXRlIHRoZSBzeW5jIHBvaW50IGZvciBCQUNLVVAuCisjIFdoZW4g QkFDS1VQIHJlYWNoZXMgdGhlIHN5bmMgcG9pbnQgaXQgZW1pdHMgdGhlIHNpZ25hbCBidXBfc3lu YworIyBhbmQgd2FpdHMgZm9yIGFub3RoZXIgdGhyZWFkIHRvIGVtaXQgdGhlIHNpZ25hbCBidXBf ZmluaXNoLgorU0VUIERFQlVHX1NZTkM9ICdiZWZvcmVfYmFja3VwX2RhdGFfaW5pdCBTSUdOQUwg YnVwX3N5bmMKKyAgICAgICAgICAgICAgICAgV0FJVF9GT1IgYnVwX2ZpbmlzaCc7CitzZW5kIEJB Q0tVUCBEQVRBQkFTRSBwdHIgVE8gJ3B0cl9jb21taXQuYmFrJzsKKworLS1lY2hvCistLWVjaG8g Y29uMzogV2FpdGluZyBmb3IgQkFDS1VQIHRvIHJlYWNoIHRoZSBicmVha3BvaW50Citjb25uZWN0 aW9uIGNvbjM7CisjIElmIEJBQ0tVUCBkaWQgYWxyZWFkeSByZWFjaCBpdHMgc3luYyBwb2ludCwg dGhlbiB0aGUgc2lnbmFsIGlzIGFscmVhZHkKKyMgcHJlc2VudC4gSWYgbm90LCB3ZSB3YWl0IHVu dGlsIEJBQ0tVUCBlbWl0cyBpdC4KK1NFVCBERUJVR19TWU5DPSAnbm93IFdBSVRfRk9SIGJ1cF9z eW5jJzsKKworLS1lY2hvIGNvbjI6Citjb25uZWN0aW9uIGNvbjI7CitDT01NSVQ7CisKKy0tZWNo bworLS1lY2hvIGNvbjM6IFNpZ25hbGxpbmcgdGhhdCBCQUNLVVAgY2FuIGZpbmlzaAorY29ubmVj dGlvbiBjb24zOworU0VUIERFQlVHX1NZTkM9ICdub3cgU0lHTkFMIGJ1cF9maW5pc2gnOworCist LWVjaG8gY29uMToKK2Nvbm5lY3Rpb24gY29uMTsKKy0tZWNobyBjb24xOiBGZXRjaGluZyByZXN1 bHQgb2YgQkFDS1VQCistLXJlcGxhY2VfY29sdW1uIDEgIworcmVhcDsKK3NldCB0aW1lc3RhbXA9 QGErMjsKKworLS1lY2hvIGNvbjI6Citjb25uZWN0aW9uIGNvbjI7CistLWVjaG8gQWZ0ZXIgY29t bWl0IHRoZSB2YWx1ZXMgb2Ygd2lsbCBiZTogdDE9NCwgdDI9NCwgdDM9NQorU0VMRUNUIENPVU5U KCopIEZST00gcHRyLnQxOworU0VMRUNUICogRlJPTSBwdHIudDE7CitTRUxFQ1QgQ09VTlQoKikg RlJPTSBwdHIudDI7CitTRUxFQ1QgKiBGUk9NIHB0ci50MjsKK1NFTEVDVCBDT1VOVCgqKSBGUk9N IHB0ci50MzsKK1NFTEVDVCAqIEZST00gcHRyLnQzOworCitMRVQgJGJpbmxvZ19maWxlID1xdWVy eV9nZXRfdmFsdWUoU0hPVyBNQVNURVIgU1RBVFVTLCBGaWxlLCAxKTsKK0xFVCAkYmlubG9nX3Bv cz0gcXVlcnlfZ2V0X3ZhbHVlKFNIT1cgTUFTVEVSIFNUQVRVUywgUG9zaXRpb24sIDEpOworCist LWVjaG8gY29uMToKK2Nvbm5lY3Rpb24gY29uMTsKKy0tZWNobyAqKioqIFBlcmZvcm0gc29tZSBv cGVyYXRpb25zIGFmdGVyIGJhY2t1cCAqKioqCitJTlNFUlQgaW50TyBwdHIudDEgVkFMVUVTKDEw LCdBZnRlciBCYWNrdXAxJyksKDIwLCdBZnRlciBCYWNrdXAyJyk7CitVUERBVEUgcHRyLnQyIFNF VCBpbmZvPSdBZnRlciBCYWNrdXAtMScgV0hFUkUgaWQ9MjAyOworVVBEQVRFIHB0ci50MyBTRVQg bmFtZT0nQWZ0ZXIgQmFja3VwLTEnIFdIRVJFIGlkPTI7CitzZXQgdGltZXN0YW1wPUBhKzQ7CitG TFVTSCBMT0dTOworCistLWVjaG8gVmFsdWVzIGluIHRhYmxlIGFmdGVyIGJhY2t1cDogdDE9Nix0 Mj00KDIwMiB1cGRhdGVkKSwgdDM9NSgyIHVwZGF0ZWQpCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBw dHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50 MjsKK1NFTEVDVCAqIEZST00gcHRyLnQyOworU0VMRUNUIENPVU5UKCopIEZST00gcHRyLnQzOwor U0VMRUNUICogRlJPTSBwdHIudDM7CisKK0RST1AgREFUQUJBU0UgcHRyOworCistLWV4ZWMgJE1Z U1FMX0JJTkxPRyAkTVlTUUxURVNUX1ZBUkRJUi9sb2cvbWFzdGVyLWJpbi4wMDAwMDEgPiAkTVlT UUxURVNUX1ZBUkRJUi90bXAvcWNvbW1pdC5iaW4KKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tc3Rv cC1wb3NpdGlvbj0kYmlubG9nX3BvcyAkTVlTUUxURVNUX1ZBUkRJUi9sb2cvJGJpbmxvZ19maWxl IHwkTVlTUUwKKy0tZWNobyAqKiogUmVjb3ZlcmluZyBkYXRhIHRpbGwgcG9pbnQgb2YgYmFja3Vw IHVzaW5nIG15c3FsIGJpbmxvZ19wb3NpdGlvbiAqKioKKworU0VMRUNUICogRlJPTSBwdHIudDE7 CitTRUxFQ1QgKiBGUk9NIHB0ci50MjsKK1NFTEVDVCAqIEZST00gcHRyLnQzOworCistLWVjaG8g KioqIFJlY292ZXIgZGF0YSBhZnRlciBiYWNrdXAgKioqCistLWV4ZWMgJE1ZU1FMX0JJTkxPRyAt LXN0YXJ0LXBvc2l0aW9uPSRiaW5sb2dfcG9zICRNWVNRTFRFU1RfVkFSRElSL2xvZy8kYmlubG9n X2ZpbGUgfCRNWVNRTAorCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK1NFTEVDVCAqIEZST00gcHRy LnQyOworU0VMRUNUICogRlJPTSBwdHIudDM7CisKK0RST1AgREFUQUJBU0UgcHRyOworCistLWVj aG8gKioqIFRFU1QyICoqKgorLS1lY2hvIFBlcmZvcm0gUmVzdG9yZSBhbmQgUmVjb3ZlciBjb21t aXR0ZWQgZGF0YSB1c2luZyBteXNxbGJpbmxvZyBwb3NpdGlvbgorLS1lY2hvIGFmdGVyIGJhY2t1 cC4KKy0tZWNobworCistLWVjaG8gUGVyZm9ybSByZXN0b3JlIG9wZXJhdGlvbgorLS1yZXBsYWNl X2NvbHVtbiAxICMKK1JFU1RPUkUgRlJPTSAncHRyX2NvbW1pdC5iYWsnOworU0hPVyBUQUJMRVMg RlJPTSBwdHI7CitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK1NFTEVDVCAqIEZST00gcHRyLnQyOwor U0VMRUNUICogRlJPTSBwdHIudDM7CisKKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tc3RhcnQtcG9z aXRpb249JGJpbmxvZ19wb3MgJE1ZU1FMVEVTVF9WQVJESVIvbG9nLyRiaW5sb2dfZmlsZSB8JE1Z U1FMCistLWVjaG8gKioqIFJlY292ZXIgZGF0YSB1c2luZyBiaW5sb2cgcG9zaXRpb24gYWZ0ZXIg YmFja3VwICoqKgorCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK1NFTEVDVCAqIEZST00gcHRyLnQy OworU0VMRUNUICogRlJPTSBwdHIudDM7CitEUk9QIERBVEFCQVNFIHB0cjsKKworLS1lY2hvICoq KiBURVNUMyAqKioKKy0tZWNobyBSZWNvdmVyIGNvbW1pdHRlZCBkYXRhIGR1cmluZyBiYWNrdXAg YW5kIGFmdGVyIGJhY2t1cCBvcGVyYXRpb24KKy0tZWNobyB1c2luZyBteXNxbGJpbmxvZyBkYXRl cworLS1lY2hvIAorCistLWVjaG8gdXNlIGJpbmxvZyBkYXRlcyB0byByZWNvdmVyIGRhdGEgdGls bCBiYWNrdXAuCistLWV4ZWMgJE1ZU1FMX0JJTkxPRyAtLXN0YXJ0LWRhdGV0aW1lPSIyMDEwLTAx LTIxIDE1OjMyOjIyIiAtLXN0b3AtZGF0ZXRpbWU9IjIwMTAtMDEtMjEgMTU6MzI6MjQiICRNWVNR TFRFU1RfVkFSRElSL2xvZy9tYXN0ZXItYmluLjAwMDAwMSB8JE1ZU1FMCisKK1NIT1cgVEFCTEVT IEZST00gcHRyOworU0VMRUNUICogRlJPTSBwdHIudDE7CitTRUxFQ1QgKiBGUk9NIHB0ci50MjsK K1NFTEVDVCAqIEZST00gcHRyLnQzOworCistLWVjaG8gdXNlIGJpbmxvZyBkYXRlcyB0byByZWNv dmVyIGRhdGEgYWZ0ZXIgYmFja3VwLgorLS1leGVjICRNWVNRTF9CSU5MT0cgLS1zdGFydC1kYXRl dGltZT0iMjAxMC0wMS0yMSAxNTozMjoyNCIgLS1zdG9wLWRhdGV0aW1lPSIyMDEwLTAxLTIxIDE1 OjMyOjI2IiAkTVlTUUxURVNUX1ZBUkRJUi9sb2cvbWFzdGVyLWJpbi4wMDAwMDEgfCRNWVNRTAor LS1lY2hvICoqKiBOb3cgcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0 ZXMgKioqCisKK1NFTEVDVCAqIEZST00gcHRyLnQxOworU0VMRUNUICogRlJPTSBwdHIudDI7CitT RUxFQ1QgKiBGUk9NIHB0ci50MzsKKworLS1lY2hvICoqKiBURVNUNCAqKiogCistLWVjaG8gUGVy Zm9ybSBSZXN0b3JlIGFuZCBSZWNvdmVyIGNvbW1pdHRlZCBkYXRhIHVzaW5nIG15c3FsYmlubG9n IHBvc2l0aW9uCistLWVjaG8gYWZ0ZXIgYmFja3VwLgorCistLWVjaG8gUGVyZm9ybSByZXN0b3Jl IG9wZXJhdGlvbgorLS1yZXBsYWNlX2NvbHVtbiAxICMKK1JFU1RPUkUgRlJPTSAncHRyX2NvbW1p dC5iYWsnOworU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK1NF TEVDVCAqIEZST00gcHRyLnQyOworU0VMRUNUICogRlJPTSBwdHIudDM7CisKKy0tZXhlYyAkTVlT UUxfQklOTE9HIC0tc3RhcnQtZGF0ZXRpbWU9IjIwMTAtMDEtMjEgMTU6MzI6MjQiIC0tc3RvcC1k YXRldGltZT0iMjAxMC0wMS0yMSAxNTozMjoyNiIgJE1ZU1FMVEVTVF9WQVJESVIvbG9nL21hc3Rl ci1iaW4uMDAwMDAxIHwkTVlTUUwKKy0tZWNobyAqKiogTm93IHJlY292ZXIgZGF0YSBhZnRlciBi YWNrdXAgdXNpbmcgYmlubG9nIGRhdGVzICoqKgorCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK1NF TEVDVCAqIEZST00gcHRyLnQyOworU0VMRUNUICogRlJPTSBwdHIudDM7CisKKyMgVGVzdCBjbGVh bnVwIHNlY3Rpb24KKworLS1lY2hvCistLWVjaG8gKioqICBEUk9QIHB0ciBEQVRBQkFTRSAqKioq CistLWVjaG8KKworRFJPUCBEQVRBQkFTRSBwdHI7CistLXJlbW92ZV9maWxlICRNWVNRTFRFU1Rf VkFSRElSL21hc3Rlci1kYXRhL3B0cl9jb21taXQuYmFrCitTRVQgREVCVUdfU1lOQz0gJ1JFU0VU JzsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1 ZGUvYmFja3VwX3B0cl9vYmplY3RzLmluYycKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBf ZW5naW5lcy9pbmNsdWRlL2JhY2t1cF9wdHJfb2JqZWN0cy5pbmMJMTk3MC0wMS0wMSAwMDowMDow MCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFj a3VwX3B0cl9vYmplY3RzLmluYwkyMDA4LTEwLTA4IDA0OjI2OjI1ICswMDAwCkBAIC0wLDAgKzEs NjMwIEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBdXRob3I6IEhlbWEKKyMgRGF0ZTogMjAwOC0w Ny0zMAorIyBQdXJwb3NlOiBUZXN0IHRvIGVuc3VyZSB0aGF0IHBvaW50IGluIHRpbWUgcmVjb3Zl cnkgcHJlc2VydmVzIGFsbCB0aGUgICAgICAKKyMgb2JqZWN0cyBkdXJpbmcgYmFja3VwLiBXZSBp bmNsdWRlIG9iamVjdHMgbGlrZSB0YWJsZXMsIHZpZXdzLCB0cmlnZ2VycywKKyMgc3RvcmVkIHBy b2NlZHVyZXMgYW5kIHN0b3JlZCBmdW5jdGlvbnMuIFRoaXMgdGVzdCBhbHNvIHZlcmlmaWVzIHRo ZQorIyBkZXBlbmRlbmNpZXMgaW4gb2JqZWN0cyBhcmUgcmVjb3ZlcmVkIHByb3Blcmx5IHVzaW5n IG15c3FsIGJpbmxvZyBwb3NpdGlvbgorIyBiaW5sb2cgZGF0ZXMuCisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisKKy0tc291cmNlIGluY2x1ZGUvbm90X2VtYmVkZGVkLmluYworLS1zb3VyY2UgaW5j bHVkZS9oYXZlX2xvZ19iaW4uaW5jCitTRUxFQ1QgQEBCSU5MT0dfRk9STUFUOworUkVTRVQgTUFT VEVSOworCistLWVycm9yIDAsMQorLS1yZW1vdmVfZmlsZSAkTVlTUUxURVNUX1ZBUkRJUi9tYXN0 ZXItZGF0YS9wdHJfb2JqZWN0cy5iYWs7CisKKy0tZWNobyAqKlNUQVJUIFRFU1QqKgorLS1lY2hv ICoqKiBURVNUMSAqKioKKy0tZWNobyBUaGlzIHRlc3Qgd2lsbCByZWNvdmVyIGRhdGEgYW5kIG9i amVjdHMgdXNpbmcgYmlubG9nIHBvc2l0aW9uCistLWVjaG8gdGlsbCBwb2ludCBvZiBiYWNrdXAg YW5kIGFmdGVyIGJhY2t1cC4KKy0tZWNobworCisjV2Ugc2V0IGNvbnN0YW50IHRpbWVzdGFtcCBp bnNpZGUgdGhlIHRlc3QuCitTRVQgQGE9VU5JWF9USU1FU1RBTVAoIjIwMTAtMDEtMjEgMTU6MzI6 MjIiKTsKK1NFVCB0aW1lc3RhbXA9QGE7CisKKyMKKyMgVHdvIGRhdGFiYXNlcyBhcmUgY3JlYXRl ZCBwdHJfb2IxIGFuZCBwdHJfb2IyLgorIyBwdHJfb2IxIGhhcyB0YWJsZXMgdDEsIHQyLCB0Mywg dHYxIGFuZCB2aWV3cyB2ICx2MSwgdnYuCisjIHYgLS0+IHB0cl9vYjEudDEsIHYxIC0tPiBwdHJf b2IyLnQxLCB2diAtLT4gcHRyX29iMi52MQorIyBwdHJfb2IyIGhhcyB0YWJsZXMgdDEsIHQyIGFu ZCB2aWV3cyB2MS4KKyMgdjEgLS0+IHB0cl9vYjEudHYxICsgcHRyX29iMi50MgorIyB0cmcxKGJl Zm9yZSBpbnNlcnQpLCB0cmcyKGFmdGVyIGluc2VydCksIHRyZzQoYWZ0ZXIgZGVsZXRlKSBhbmQg CisjIHRyZzUoYmVmb3JlIHVwZGF0ZSkgYXJlIGluIHB0cl9vYjEuCisjIHRyZzMoYmVmb3JlIGRl bGV0ZSkgYW5kIHRyZzYoYWZ0ZXIgdXBkYXRlKSBhcmUgaW4gcHRyX29iMi4KKyMgcHJvY2VkdXJl IHAxLCBwMiBhbmQgcDMgYXJlIGNyZWF0ZWQgaW4gcHRyX29iMSBhbmQgcDQgaW4gcHRyX29iMi4K KyMKKworIyBDcmVhdGUgZGF0YWJhc2UKK0NSRUFURSBEQVRBQkFTRSBJRiBOT1QgRVhJU1RTIHB0 cl9vYjE7CitDUkVBVEUgREFUQUJBU0UgSUYgTk9UIEVYSVNUUyBwdHJfb2IyOworVVNFIHB0cl9v YjE7CisKKy0tZWNobyAqKioqIENyZWF0aW5nIHRhYmxlcyAqKioqCisKK0NSRUFURSBUQUJMRSBw dHJfb2IxLnQxKAorIGlkIElOVCwgCisgYSBJTlQsIAorIGIgQ0hBUig1KQorKTsKKworQ1JFQVRF IFRBQkxFIHB0cl9vYjEudDIoCisgIGlkIElOVCBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVCBQUklN QVJZIEtFWSwgCisgIGRhdGEgQ0hBUig1MCkKKyk7CisKK0NSRUFURSBUQUJMRSBwdHJfb2IxLnQz KAorIHNybm8gSU5UIEFVVE9fSU5DUkVNRU5ULCAKKyBQUklNQVJZIEtFWShzcm5vKSwgCisgbmFt ZSBWQVJDSEFSKDMwKSBOT1QgTlVMTCwgCisgb2xkX2EgSU5UCispOyAKKworQ1JFQVRFIFRBQkxF IHB0cl9vYjIudDEoCisgaWQgSU5ULCAKKyBiIENIQVIoNSkKKyk7CisKK0NSRUFURSBUQUJMRSBw dHJfb2IyLnQyKGlkIFNNQUxMSU5UKTsKKworSU5TRVJUIElOVE8gcHRyX29iMi50MSBWQUxVRVMo MTEsJ3NldDEnKSwoMjEsJ3NldDInKSwoMywnc2V0MycpLCg0LCdzZXQ0Jyk7CitJTlNFUlQgSU5U TyBwdHJfb2IyLnQyIFZBTFVFUyg5MSksKDUpLCgyNiksKDMzKSwoNSk7CisKKy0tZWNobyAqKioq IENyZWF0aW5nIHZpZXdzICoqKioKKworQ1JFQVRFIFZJRVcgcHRyX29iMS52IEFTIFNFTEVDVCAq IEZST00gcHRyX29iMS50MTsKK0NSRUFURSBWSUVXIHB0cl9vYjEudjEgQVMgU0VMRUNUICogRlJP TSBwdHJfb2IyLnQxOworCitDUkVBVEUgVEFCTEUgcHRyX29iMS50djEoaWQgU01BTExJTlQpOwor SU5TRVJUIElOVE8gcHRyX29iMS50djEgIFZBTFVFUygxKSwoMiksKDMpLCgzKSwoNSk7CitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudHYxIFVOSU9OIEFMTCBTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDI7 CitDUkVBVEUgVklFVyBwdHJfb2IyLnYxIEFTIFNFTEVDVCAqIEZST00gcHRyX29iMS50djEgIFVO SU9OIEFMTCAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MiBPUkRFUiBCWSBpZDsKK1NFTEVDVCAq IEZST00gcHRyX29iMi52MTsKKworLS1lY2hvICMjIyMgQ3JlYXRpbmcgdmlldyBmcm9tIGFub3Ro ZXIgdmlldyAjIyMjCitDUkVBVEUgVklFVyBwdHJfb2IxLnZ2IEFTIFNFTEVDVCBTVU0oaWQpIGZy b20gcHRyX29iMi52MSBHUk9VUCBCWSBpZDsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52djsKKwor LS1lY2hvICoqKiogQ3JlYXRpbmcgVHJpZ2dlcnMgKioqKgorCitkZWxpbWl0ZXIgfHw7CitDUkVB VEUgVFJJR0dFUiBwdHJfb2IxLnRyZzEgQkVGT1JFIElOU0VSVCBPTiBwdHJfb2IxLnQxIEZPUiBF QUNIIFJPVworQkVHSU4KKyBJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEn LCBuZXcuYSk7CitFTkQ7fHwKK2RlbGltaXRlciA7fHwKKworSU5TRVJUIElOVE8gcHRyX29iMS50 MSBWQUxVRVMoMSwyMCwgJ2JiMScpLCAoMiw1MCwgJ2JiMicpLCgzLDgwLCdiYjMnKTsKK1NFTEVD VCAqIEZST00gcHRyX29iMS50MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKKworZGVsaW1p dGVyIHx8OworQ1JFQVRFIFRSSUdHRVIgcHRyX29iMS50cmcyIEFGVEVSIElOU0VSVCBPTiBwdHJf b2IxLnQyIEZPUiBFQUNIIFJPVworQkVHSU4KKyBJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVF UyhOVUxMLCAndHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORDt8fAor ZGVsaW1pdGVyIDt8fAorCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsICdO b3JtYWwgSW5zZXJ0MScpLChOVUxMLCAnTm9ybWFsIEluc2VydDInKSwKKyhOVUxMLCAnTm9ybWFs IEluc2VydDMnKSwoTlVMTCwgJ05vcm1hbCBJbnNlcnQ0Jyk7CitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudDI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7CisKK2RlbGltaXRlciB8fDsKK0NSRUFU RSBUUklHR0VSIHB0cl9vYjIudHJnMyBCRUZPUkUgREVMRVRFIE9OIHB0cl9vYjIudDIgRk9SIEVB Q0ggUk9XCisgU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQ7fHwKKyBTRVQgQGRlbF9z dW06PSAwO3x8CitkZWxpbWl0ZXIgO3x8CisKK0RFTEVURSBGUk9NIHB0cl9vYjIudDIgV0hFUkUg aWQ9MjY7CitERUxFVEUgRlJPTSBwdHJfb2IyLnQyIFdIRVJFIGlkPTkxOworU0VMRUNUIEBkZWxf c3VtOworCitkZWxpbWl0ZXIgfHw7CitDUkVBVEUgVFJJR0dFUiBwdHJfb2IxLnRyZzQgQUZURVIg REVMRVRFIE9OIHB0cl9vYjEudDEgRk9SIEVBQ0ggUk9XCitCRUdJTiAKKyBJTlNFUlQgSU5UTyBw dHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQ7fHwKK2RlbGltaXRl ciA7fHwKKworREVMRVRFIEZST00gcHRyX29iMS50MSBXSEVSRSBpZD0yOworU0VMRUNUICogRlJP TSBwdHJfb2IxLnQxOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworCitkZWxpbWl0ZXIgfHw7 CitDUkVBVEUgVFJJR0dFUiBwdHJfb2IxLnRyZzUgQkVGT1JFIFVQREFURSBPTiBwdHJfb2IxLnQx IEZPUiBFQUNIIFJPVworQkVHSU4KKyBTRVQgQGlkPW9sZC5pZDsKKyBTRVQgQGFfb2xkPW9sZC5h OworIFNFVCBAYV9uZXc9bmV3LmE7CitFTkQ7Cit8fAorZGVsaW1pdGVyIDt8fAorCitVUERBVEUg cHRyX29iMS50MSBTRVQgYT0nODUnIFdIRVJFIGI9J2JiMyc7CitTRUxFQ1QgQGlkLCBAYV9vbGQs IEBhX25ldzsKKworZGVsaW1pdGVyIHx8OworQ1JFQVRFIFRSSUdHRVIgcHRyX29iMi50cmc2IEFG VEVSIFVQREFURSBPTiBwdHJfb2IyLnQxIEZPUiBFQUNIIFJPVworQkVHSU4KKyBJTlNFUlQgSU5U TyBwdHJfb2IxLnQyIFZBTFVFUworIChOVUxMLCdUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBk YXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5EOworfHwKK2RlbGltaXRlciA7fHwKKworVVBEQVRF IHB0cl9vYjIudDEgU0VUIGI9J2FsZXJ0JyBXSEVSRSBpZD0zOworU0VMRUNUICogRlJPTSBwdHJf b2IyLnQxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworU0VMRUNUICogRlJPTSBwdHJfb2Ix LnYxOworCistLWVjaG8KKy0tZWNobyAqKioqIENyZWF0aW5nIHN0b3JlZCBQcm9jZWR1cmVzIGFu ZCBmdW5jdGlvbnMgKioqKgorLS1lY2hvCisKKy0tZWNobyAjIyMjIFRoZSBwcm9jZWR1cmUgcDEg d2lsbCBpbnNlcnQgVkFMVUVTIGluIHZpZXcgIyMjIworZGVsaW1pdGVyIHx8OworQ1JFQVRFIFBS T0NFRFVSRSBwdHJfb2IxLnAxKGRldGFpbHMgQ0hBUig0MCksIGlkIElOVCkKK0JFR0lOCisgIElO U0VSVCBJTlRPIHB0cl9vYjEudjEgVkFMVUVTKDEsJ2ZpcmVkJyk7CitFTkQ7Cit8fAorCistLWVj aG8gIyMjIyBQcm9jZWR1cmUgcDIgd2lsbCB0cmlnZ2VyIHRyZzIgIyMjIworCitDUkVBVEUgUFJP Q0VEVVJFIHB0cl9vYjEucDIoY29udGVudCBWQVJDSEFSKDQwKSkKK0JFR0lOCisgSU5TRVJUIElO VE8gcHRyX29iMS50MiBWQUxVRVMoTlVMTCwgJ1RyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUg cDInKTsKK0VORDt8fAorCistLWVjaG8gIyMjIyBQcm9jZWR1cmUgcDMgd2lsbCB0cmlnZ2VyIHRy ZzYgIyMjIworCitDUkVBVEUgUFJPQ0VEVVJFIHB0cl9vYjEucDMoaW5mbyBURVhUKQorQkVHSU4K KyBVUERBVEUgcHRyX29iMi50MSBTRVQgYj0nI3VwIycgV0hFUkUgaWQ9NDsKK0VORDt8fAorCist LWVjaG8gIyMjIyBQcm9jZWR1cmUgcDQgd2lsbCBjYWxsIHZpZXcgIyMjIworCitDUkVBVEUgUFJP Q0VEVVJFIHB0cl9vYjIucDQoKSAKK0JFR0lOCisgU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOwor RU5EOworfHwKKworLS1lY2hvICMjIyMgRnVuY3Rpb24gZjEoKSAjIyMjCisKK0NSRUFURSBGVU5D VElPTiBmMSgpIFJFVFVSTlMgSU5UCitSRVRVUk4gKFNFTEVDVCBDT1VOVCgqKSBGUk9NIHB0cl9v YjEudjEpO3x8CitERUxJTUlURVIgO3x8CisKK1NFTEVDVCBmMSgpOworCitDQUxMIHB0cl9vYjEu cDEoJ3Byb2NlZHVyZSBwMSBjYWxsZWQgZm9yIHZpZXcgdjEnLCAxKTsKK0NBTEwgcHRyX29iMS5w MSgncHJvY2VkdXJlIHAxIGNhbGxlZCBmb3IgdmlldyB2MScsIDIpOworU0VMRUNUICogRlJPTSBw dHJfb2IxLnYxOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworCitDQUxMIHB0cl9vYjEucDIo J3Byb2NlZHVyZSBwMiBjYWxsZWQgZm9yIHRyZzInKTsKK0NBTEwgcHRyX29iMS5wMigncHJvY2Vk dXJlIHAyIGFnYWluIGNhbGxlZCBmb3IgdHJnMicpOworCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu dDI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7CisKK0NBTEwgcHRyX29iMS5wMygncHJvY2Vk dXJlIHAzIGNhbGxlZCBmb3IgdHJnNicpOworCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitT RUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CisKK0NBTEwgcHRyX29iMi5wNCgpOworCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjIudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudHYxOworCistLWVjaG8gKiogQ2hlY2tpbmcgZGF0YSBjb250ZW50cyBpbiBh bGwgdGhlIHRhYmxlcyBiZWZvcmUgcGVyZm9ybWluZyBiYWNrdXAgKioKKworLS1yZXBsYWNlX2Nv bHVtbiA1ICMgNiAjIDkgIyAxMCAjIDExICMKK1NIT1cgUFJPQ0VEVVJFIFNUQVRVUzsKKy0tcmVw bGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFRSSUdHRVJTIEZST00gcHRy X29iMTsKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFRSSUdH RVJTIEZST00gcHRyX29iMjsKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IxOworU0hPVyBG VUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudjsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK1NFTEVDVCAq IEZST00gcHRyX29iMS50MzsKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK1NFTEVDVCAqIEZS T00gcHRyX29iMS52MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitTRUxFQ1QgKiBGUk9N IHB0cl9vYjIudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTRUxFQ1QgcHRyX29iMS5m MSgpOworCisjIFBlcmZvcm0gIGJhY2t1cCBvcGVyYXRpb24gYW5kIG9idGFpbiBiaW5sb2cgcG9z aXRpb24gYW5kIGRhdGVzLgorTEVUICRiYWNrdXBfaWQgPSBgQkFDS1VQIERBVEFCQVNFIHB0cl9v YjEsIHB0cl9vYjIgVE8gJ3B0cl9vYmplY3RzLmJhaydgOworc2V0IHRpbWVzdGFtcD1AYSsyOwor TEVUICRiaW5sb2dfcG9zID0gYFNFTEVDVCBiaW5sb2dfcG9zIEZST00gbXlzcWwuYmFja3VwX2hp c3RvcnkgV0hFUkUgYmFja3VwX2lkID0kYmFja3VwX2lkYDsKK0xFVCAkYmlubG9nX2ZpbGUgPXF1 ZXJ5X2dldF92YWx1ZShTSE9XIE1BU1RFUiBTVEFUVVMsIEZpbGUsIDEpOworCistLWVjaG8gTWFr ZSBzb21lIGNoYW5nZXMgdG8gb2JqZWN0cy4KKworQUxURVIgVklFVyBwdHJfb2IxLnYgQVMgU0VM RUNUIGlkLCBhIEZST00gcHRyX29iMS50MTsKK0FMVEVSIFRBQkxFIHB0cl9vYjEudnYgUkVOQU1F IFRPIHB0cl9vYjEudnZhOworQUxURVIgVEFCTEUgcHRyX29iMi50MiBBREQgQ09MVU1OIGFmX2Jh Y2t1cCBWQVJDSEFSKDMwKTsKK0FMVEVSIFRBQkxFIHB0cl9vYjEudDMgQ0hBTkdFIG5hbWUgbmFt ZSBURVhUOworREVTQ1JJQkUgcHRyX29iMS50MzsKK0FMVEVSIFBST0NFRFVSRSBwdHJfb2IyLnA0 IENPTU1FTlQgJ0FGVEVSIEJBQ0tVUCc7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKKworLS1l Y2hvIENyZWF0aW5nIHNvbWUgbmV3IG9iamVjdHMKKworQ1JFQVRFIFRBQkxFIHB0cl9vYjEudDEx IChpIElOVCwgc3IgSU5ULCBqIElOVCkgZW5naW5lPW15aXNhbTsKK0lOU0VSVCBJTlRPIHB0cl9v YjEudDExIFZBTFVFUyAoMSwgMiwgMyk7CitDUkVBVEUgVFJJR0dFUiBwdHJfb2IxLmFpIEFGVEVS IElOU0VSVCBPTiBwdHJfb2IxLnQxMSBGT1IgRUFDSCBST1cgU0VUIEBhOj0gbmV3LnNyOworQ1JF QVRFIFRSSUdHRVIgcHRyX29iMS5hdSBBRlRFUiBVUERBVEUgT04gcHRyX29iMS50MTEgRk9SIEVB Q0ggUk9XIFNFVCBAYTo9IG5ldy5zcjsKK0NSRUFURSBUUklHR0VSIHB0cl9vYjEuYWQgQUZURVIg REVMRVRFIE9OIHB0cl9vYjEudDExIEZPUiBFQUNIIFJPVyBTRVQgQGE6PSBvbGQuc3I7CisKK0lO U0VSVCBJTlRPIHB0cl9vYjEudDExIFZBTFVFUyg0LCA1LCA2KSwoNywgOCwgOSk7CitTRUxFQ1Qg QGE7CitVUERBVEUgcHRyX29iMS50MTEgU0VUIGk9MTAgV0hFUkUgc3I9NTsKK1NFTEVDVCBAYTsK K0RFTEVURSBGUk9NIHB0cl9vYjEudDExIFdIRVJFIHNyPTg7CitTRUxFQ1QgQGE7CisKKy0tZWNo byBOb3cgYWx0ZXIgdGhlIHRhYmxlIAorCitBTFRFUiBUQUJMRSBwdHJfb2IxLnQxMSBEUk9QIENP TFVNTiBqOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK0lOU0VSVCBJTlRPIHB0cl9vYjEu dDExIFZBTFVFUygxMSwgMTIpOworU0VMRUNUIEBhOworCistLWVjaG8gRmlyaW5nIGV4aXN0aW5n IHRyaWdnZXJzIGFuZCBjYWxsaW5nIHByb2NlZHVyZXMuCisKK0lOU0VSVCBJTlRPIHB0cl9vYjEu dDIgVkFMVUVTKE5VTEwsICdJbnNlcnQgYWZ0ZXIgYmFja3VwJyk7CitJTlNFUlQgSU5UTyBwdHJf b2IyLnQyIFZBTFVFUygxMCwgJ2FmX2JrMScpLCgyLCAnYWZfYmsyJyksKDcsJ2FmX2JrMycpLCgy LCdhZl9iazQnKTsKK0RFTEVURSBGUk9NIHB0cl9vYjIudDIgV0hFUkUgaWQ9MTA7CitTRUxFQ1Qg QGRlbF9zdW07CisKK0NBTEwgcHRyX29iMS5wMSgncHJvY2VkdXJlIHAxIGFmX2JrdXAgZm9yIHZp ZXcgdjEnLCAzKTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK1NFTEVDVCAqIEZST00gcHRy X29iMi50MTsKKworQ0FMTCBwdHJfb2IxLnAyKCdwcm9jZWR1cmUgcDIgY2FsbGVkICBhZl9ia3Vw IGZvciB0cmcyJyk7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudDM7CisKK0NBTEwgcHRyX29iMS5wMygncHJvY2VkdXJlIHAzIGNhbGxlZCBhZl9ia3Vw IGZvciB0cmc2Jyk7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudDI7CisKK0NBTEwgcHRyX29iMi5wNCgpOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnYx OworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7 CisKKyMgQ2hhbmdlcyBtYWRlIGFmdGVyIGJhY2t1cCBhcmU6CisjIHB0cl9vYjEudiBpcyBhbHRl cmVkLCBwdHJfb2IxLnZ2IGlzIHJlbmFtZWQgYXMgdnZhLgorIyBwdHJfb2IyLnQyIGhhcyBuZXcg Y29sdW1uIGFkZGVkLCBwdHJfb2IxLnQzIGhhcyBkYXRhdHlwZSBjaGFuZ2UuCisjIFRhYmxlIHB0 cl9vYjEudDExIGlzIGNyZWF0ZWQgYW5kIHRyaWdnZXJzIHB0cl9vYjEuYWksIGF1LCBhZCBpcyBj cmVhdGVkLgorIyBwcm9jZWR1cmUgcHRyX29iMi5wNCBpcyBhbHRlcmVkLgorCistLWVjaG8gQ2hl Y2tpbmcgdGhlIGRhdGEgY29udGVudHMgYWZ0ZXIgYmFja3VwLgorCistLXJlcGxhY2VfY29sdW1u IDUgIyA2ICMgOSAjIDEwICMgMTEgIworU0hPVyBQUk9DRURVUkUgU1RBVFVTOworLS1yZXBsYWNl X2NvbHVtbiA1ICMgNiAjIDkgIyAxMCAjIDExICMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2Ix OworLS1yZXBsYWNlX2NvbHVtbiA1ICMgNiAjIDkgIyAxMCAjIDExICMKK1NIT1cgVFJJR0dFUlMg RlJPTSBwdHJfb2IyOworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitTSE9XIEZVTEwg VEFCTEVTIEZST00gcHRyX29iMjsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK1NFTEVDVCAq IEZST00gcHRyX29iMS52OworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworU0VMRUNUICogRlJP TSBwdHJfb2IxLnQzOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworU0VMRUNUICogRlJPTSBw dHJfb2IxLnYxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MTsKK1NFTEVDVCAqIEZST00gcHRy X29iMi52MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52dmE7CitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudDExOworU0VMRUNUIHB0cl9vYjEuZjEoKTsKKworU0VUIFRJTUVTVEFNUD1AYSs0OworTEVU ICRiaW5wb3M9cXVlcnlfZ2V0X3ZhbHVlKFNIT1cgTUFTVEVSIFNUQVRVUywgUG9zaXRpb24sIDEp OworTEVUICRiaW5maWxlPXF1ZXJ5X2dldF92YWx1ZShTSE9XIE1BU1RFUiBTVEFUVVMsIEZpbGUs IDEpOworCisjIFJvdGF0ZSBsb2dzLiBUaGlzIGZyZWVzIHRoZSBwcmV2aW91cyBsb2cgc28gdGhh dCB3ZSBjYW4gZHVtcCBpdC4KK0ZMVVNIIExPR1M7CitEUk9QIERBVEFCQVNFIHB0cl9vYjE7CitE Uk9QIERBVEFCQVNFIHB0cl9vYjI7CisKKy0tZWNobyAqKioqIEV4ZWN1dGUgbXlzcWxiaW5sb2cg dG8gcmVjb3ZlciB0aGUgZGF0YSBmcm9tIHN0YXJ0IHRvIGJhY2t1cCAqKioqCisKKy0tZXhlYyAk TVlTUUxfQklOTE9HICAkTVlTUUxURVNUX1ZBUkRJUi9sb2cvbWFzdGVyLWJpbi4wMDAwMDEgPiAk TVlTUUxURVNUX1ZBUkRJUi90bXAvcW9iamVjdC5iaW4KKy0tZXhlYyAkTVlTUUxfQklOTE9HICAt LXN0b3AtcG9zaXRpb249JGJpbmxvZ19wb3MgJE1ZU1FMVEVTVF9WQVJESVIvbG9nLyRiaW5sb2df ZmlsZSB8JE1ZU1FMCisKKyMgVmVyaWZ5IHRoYXQgdGhlIHRhYmxlIHdlIGp1c3QgZHJvcHBlZCBo YXMgYmVlbiByZXN0b3JlZAorCistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEg IworU0hPVyBQUk9DRURVUkUgU1RBVFVTOworLS1yZXBsYWNlX2NvbHVtbiA1ICMgNiAjIDkgIyAx MCAjIDExICMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworLS1yZXBsYWNlX2NvbHVtbiA1 ICMgNiAjIDkgIyAxMCAjIDExICMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IyOworU0hPVyBG VUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMjsK K1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52OworU0VM RUNUICogRlJPTSBwdHJfb2IxLnQyOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworU0VMRUNU ICogRlJPTSBwdHJfb2IyLnQxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnYxOworU0VMRUNUICog RlJPTSBwdHJfb2IxLnR2MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK1NFTEVDVCAqIEZS T00gcHRyX29iMS52djsKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CisKKy0tZWNobyAqKioqIE5vdyBw ZXJmb3JtIGFub3RoZXIgcmVjb3ZlcnkgdG8gcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCAqKioq CisKKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tc3RhcnQtcG9zaXRpb249JGJpbmxvZ19wb3MgJE1Z U1FMVEVTVF9WQVJESVIvbG9nLyRiaW5sb2dfZmlsZSB8JE1ZU1FMCisKKy0tcmVwbGFjZV9jb2x1 bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CistLXJlcGxh Y2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEgIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9v YjE7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEgIworU0hPVyBUUklHR0VS UyBGUk9NIHB0cl9vYjI7CitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1NIT1cgRlVM TCBUQUJMRVMgRlJPTSBwdHJfb2IyOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxOworU0VMRUNU ICogRlJPTSBwdHJfb2IxLnY7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudDM7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworU0VMRUNUICogRlJPTSBw dHJfb2IyLnYxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NFTEVDVCAqIEZST00gcHRy X29iMS50MTE7CitTRUxFQ1QgcHRyX29iMS5mMSgpOworCitEUk9QIERBVEFCQVNFIHB0cl9vYjE7 CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7CisKKy0tZWNobyAqKiogVEVTVDIgKioqIDoKKy0tZWNo byBQZXJmb3JtIFJlc3RvcmUgYW5kIHJlY292ZXIgdHJhbnNhY3Rpb25zIGFmdGVyIGJhY2t1cCBi eSBleGVjdXRpbmcgCistLWVjaG8gbXlzcWxiaW5sb2cgdXRpbGl0eSB1c2luZyBiaW5sb2cgcG9z aXRpb24uCistLWVjaG8KKworLS1lY2hvIFBlcmZyb20gUmVzdG9yZSBvcGVyYXRpb24KKy0tcmVw bGFjZV9jb2x1bW4gMSAjCitSRVNUT1JFIEZST00gJ3B0cl9vYmplY3RzLmJhayc7CisKKy0tcmVw bGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7 CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEgIworU0hPVyBUUklHR0VSUyBG Uk9NIHB0cl9vYjE7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEgIworU0hP VyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsK K1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQx OworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitT RUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworU0VMRUNU ICogRlJPTSBwdHJfb2IyLnYxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2OworU0VMRUNUIHB0 cl9vYjEuZjEoKTsKKworLS1lY2hvIE5vdyB1c2UgYmlubG9nIHBvc2l0aW9uIHRvIHJlY292ZXIg ZGF0YSBhZnRlciBiYWNrdXAKKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tc3RhcnQtcG9zaXRpb249 JGJpbmxvZ19wb3MgJE1ZU1FMVEVTVF9WQVJESVIvbG9nLyRiaW5sb2dfZmlsZSB8JE1ZU1FMCisK Ky0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFBST0NFRFVSRSBT VEFUVVM7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEgIworU0hPVyBUUklH R0VSUyBGUk9NIHB0cl9vYjE7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEg IworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRy X29iMTsKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworU0VMRUNUICogRlJPTSBwdHJf b2IxLnQxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu dDI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7 CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOwor U0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NF TEVDVCAqIEZST00gcHRyX29iMS50MTE7CitTRUxFQ1QgcHRyX29iMS5mMSgpOworCitEUk9QIERB VEFCQVNFIHB0cl9vYjE7CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7CisKKy0tZWNobyAqKiogVEVT VDMgKioqIDoKKy0tZWNobyBUaGlzIHRlc3Qgd2lsbCByZWNvdmVyIGRhdGEgYW5kIG9iamVjdHMg dXNpbmcgYmlubG9nIGRhdGVzCistLWVjaG8gdGlsbCBwb2ludCBvZiBiYWNrdXAgYW5kIGFmdGVy IGJhY2t1cC4KKy0tZWNobworCistLWVjaG8gVXNlIG15c3FsYmlubG9nIGRhdGVzIHRvIHJlY292 ZXIgZGF0YSB0aWxsIHBvaW50IG9mIGJhY2t1cC4KKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tc3Rh cnQtZGF0ZXRpbWU9IjIwMTAtMDEtMjEgMTU6MzI6MjIiIC0tc3RvcC1kYXRldGltZT0iMjAxMC0w MS0yMSAxNTozMjoyNCIgJE1ZU1FMVEVTVF9WQVJESVIvbG9nL21hc3Rlci1iaW4uMDAwMDAxIHwk TVlTUUwKKworLS1yZXBsYWNlX2NvbHVtbiA1ICMgNiAjIDkgIyAxMCAjIDExICMKK1NIT1cgUFJP Q0VEVVJFIFNUQVRVUzsKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitT SE9XIFRSSUdHRVJTIEZST00gcHRyX29iMTsKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMg MTAgIyAxMSAjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1NIT1cgRlVMTCBUQUJMRVMg RlJPTSBwdHJfb2IxOworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudDE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK1NFTEVDVCAqIEZST00g cHRyX29iMS50MjsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK1NFTEVDVCAqIEZST00gcHRy X29iMi50MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK1NFTEVDVCAqIEZST00gcHRyX29i MS50djE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu dnY7CitTRUxFQ1QgcHRyX29iMS5mMSgpOworCistLWVjaG8gVXNlIG15c3FsYmlubG9nIGRhdGVz IHRvIHJlY292ZXIgZGF0YSBhZnRlciBiYWNrdXAgCistLWV4ZWMgJE1ZU1FMX0JJTkxPRyAtLXN0 YXJ0LWRhdGV0aW1lPSIyMDEwLTAxLTIxIDE1OjMyOjI0IiAtLXN0b3AtZGF0ZXRpbWU9IjIwMTAt MDEtMjEgMTU6MzI6MjYiICRNWVNRTFRFU1RfVkFSRElSL2xvZy9tYXN0ZXItYmluLjAwMDAwMSB8 JE1ZU1FMCisKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFBS T0NFRFVSRSBTVEFUVVM7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEgIwor U0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAj IDEwICMgMTEgIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitTSE9XIEZVTEwgVEFCTEVT IEZST00gcHRyX29iMTsKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworU0VMRUNUICog RlJPTSBwdHJfb2IxLnQxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudDI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7CitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjIudDE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudHYxOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworU0VMRUNUICogRlJPTSBwdHJfb2Ix LnZ2YTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTE7CitTRUxFQ1QgcHRyX29iMS5mMSgpOwor CitEUk9QIERBVEFCQVNFIHB0cl9vYjE7CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7CisKKy0tZWNo byAqKiogVEVTVDQgKioqIDoKKy0tZWNobyBQZXJmb3JtIFJlc3RvcmUgYW5kIHJlY292ZXIgb2Jq ZWN0cyBhZnRlciBiYWNrdXAgYnkgZXhlY3V0aW5nIG15c3FsYmlubG9nCistLWVjaG8gdXRpbGl0 eSB1c2luZyBiaW5sb2cgZGF0ZXMuCistLWVjaG8KKworLS1lY2hvIFBlcmZvcm0gUmVzdG9yZSBv cGVyYXRpb24KKy0tcmVwbGFjZV9jb2x1bW4gMSAjCitSRVNUT1JFIEZST00gJ3B0cl9vYmplY3Rz LmJhayc7CisKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFBS T0NFRFVSRSBTVEFUVVM7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMgMTEgIwor U0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAj IDEwICMgMTEgIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitTSE9XIEZVTEwgVEFCTEVT IEZST00gcHRyX29iMTsKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworU0VMRUNUICog RlJPTSBwdHJfb2IxLnQxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudDI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7CitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjIudDE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudHYxOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworU0VMRUNUICogRlJPTSBwdHJfb2Ix LnZ2OworU0VMRUNUIHB0cl9vYjEuZjEoKTsKKworLS1lY2hvIHVzZSBiaW5sb2cgZGF0ZXMgdG8g cmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cC4KKy0tZXhlYyAkTVlTUUxfQklOTE9HIC0tc3RhcnQt ZGF0ZXRpbWU9IjIwMTAtMDEtMjEgMTU6MzI6MjQiIC0tc3RvcC1kYXRldGltZT0iMjAxMC0wMS0y MSAxNTozMjoyNiIgJE1ZU1FMVEVTVF9WQVJESVIvbG9nL21hc3Rlci1iaW4uMDAwMDAxIHwkTVlT UUwKKworLS1yZXBsYWNlX2NvbHVtbiA1ICMgNiAjIDkgIyAxMCAjIDExICMKK1NIT1cgUFJPQ0VE VVJFIFNUQVRVUzsKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9X IFRSSUdHRVJTIEZST00gcHRyX29iMTsKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAg IyAxMSAjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1NIT1cgRlVMTCBUQUJMRVMgRlJP TSBwdHJfb2IxOworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudDE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK1NFTEVDVCAqIEZST00gcHRy X29iMS50MjsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK1NFTEVDVCAqIEZST00gcHRyX29i Mi50MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50 djE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZh OworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CisKK0RS T1AgREFUQUJBU0UgcHRyX29iMTsKK0RST1AgREFUQUJBU0UgcHRyX29iMjsKKworLS1lY2hvICoq KiBURVNUNSAqKiogOgorLS1lY2hvIERvIGNvbXBsZXRlIHJlY292ZXJ5IG9mIGRhdGEgYWZ0ZXIg YmFja3VwIHVzaW5nIGJpbmxvZyBwb3NpdGlvbi4gRW5zdXJlCistLWVjaG8gdGhhdCBwcmVzZW5j ZSBvZiBiYWNrdXAgb3BlcmF0aW9uIGluIHRoZSBiaW5sb2cgc2hvdWxkbid0IGhhdmUgYW55IGlt cGFjdAorCistLWV4ZWMgJE1ZU1FMX0JJTkxPRyAgLS1zdG9wLXBvc2l0aW9uPSRiaW5wb3MgJE1Z U1FMVEVTVF9WQVJESVIvbG9nLyRiaW5maWxlIHwkTVlTUUwKKworLS1yZXBsYWNlX2NvbHVtbiA1 ICMgNiAjIDkgIyAxMCAjIDExICMKK1NIT1cgUFJPQ0VEVVJFIFNUQVRVUzsKKy0tcmVwbGFjZV9j b2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMTsK Ky0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitTSE9XIFRSSUdHRVJTIEZS T00gcHRyX29iMjsKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IxOworU0hPVyBGVUxMIFRB QkxFUyBGUk9NIHB0cl9vYjI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudjsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK1NFTEVDVCAqIEZST00g cHRyX29iMS50MzsKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK1NFTEVDVCAqIEZST00gcHRy X29iMS52MTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitTRUxFQ1QgKiBGUk9NIHB0cl9v YjIudjE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZhOworU0VMRUNUICogRlJPTSBwdHJfb2Ix LnQxMTsKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CisKK0RST1AgREFUQUJBU0UgcHRyX29iMTsKK0RS T1AgREFUQUJBU0UgcHRyX29iMjsKKworLS1lY2hvICoqKiBURVNUNiAqKiogOgorLS1lY2hvIERv IGNvbXBsZXRlIHJlY292ZXJ5IG9mIGRhdGEgYWZ0ZXIgYmFja3VwIHVzaW5nIGJpbmxvZyBkYXRl cy4gRW5zdXJlCistLWVjaG8gdGhhdCBwcmVzZW5jZSBvZiBiYWNrdXAgb3BlcmF0aW9uIGluIHRo ZSBiaW5sb2cgc2hvdWxkbid0IGhhdmUgYW55IGltcGFjdAorCistLWV4ZWMgJE1ZU1FMX0JJTkxP RyAtLXN0YXJ0LWRhdGV0aW1lPSIyMDEwLTAxLTIxIDE1OjMyOjIyIiAtLXN0b3AtZGF0ZXRpbWU9 IjIwMTAtMDEtMjEgMTU6MzI6MjYiICRNWVNRTFRFU1RfVkFSRElSL2xvZy9tYXN0ZXItYmluLjAw MDAwMSB8JE1ZU1FMCisKKy0tcmVwbGFjZV9jb2x1bW4gNSAjIDYgIyA5ICMgMTAgIyAxMSAjCitT SE9XIFBST0NFRFVSRSBTVEFUVVM7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2ICMgOSAjIDEwICMg MTEgIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CistLXJlcGxhY2VfY29sdW1uIDUgIyA2 ICMgOSAjIDEwICMgMTEgIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitTSE9XIEZVTEwg VEFCTEVTIEZST00gcHRyX29iMTsKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworU0VM RUNUICogRlJPTSBwdHJfb2IxLnQxOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudDI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7CitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjIudDE7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudHYxOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworU0VMRUNUICogRlJPTSBw dHJfb2IxLnZ2YTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTE7CitTRUxFQ1QgcHRyX29iMS5m MSgpOworCisjIFRlc3QgY2xlYW51cCBzZWN0aW9uCisKKy0tZWNobworLS1lY2hvICoqKiAgRFJP UCBwdHJfb2IxIGFuZCBwdHJfb2IyIERBVEFCQVNFICoqKioKKy0tZWNobworCitEUk9QIERBVEFC QVNFIHB0cl9vYjE7CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7CistLXJlbW92ZV9maWxlICRNWVNR TFRFU1RfVkFSRElSL21hc3Rlci1kYXRhL3B0cl9vYmplY3RzLmJhaworCisKKwoKPT09IGFkZGVk IGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9m YWxjb24uaW5jJwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUv bm90X2hhdmVfZmFsY29uLmluYwkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3Fs LXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9mYWxjb24uaW5jCTIw MDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCArMSw5IEBACisjIFdlIHdpbGwgZGlzYWJs ZSBGYWxjb24gc3RvcmFnZSBlbmdpbmUgaWYgd2UgaW5jbHVkZSBub3RfaGF2ZV9mYWxjb24uaW5j CisjIGluIG91ciB0ZXN0IGNhc2UuCisKKy0tcmVwbGFjZV9yZXN1bHQgJEVOR0lORSBFTkdJTkUK K2lmKGBTRUxFQ1QgJyRFTkdJTkUnPSdmYWxjb24nYCkKK3sKKyBza2lwICJUaGlzIHRlc3QgZG9l cyBub3Qgc3VwcG9ydCBGYWxjb24gZW5naW5lIjsKK30KKwoKPT09IGFkZGVkIGZpbGUgJ215c3Fs LXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9pbm5vZGIuaW5jJwot LS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvbm90X2hhdmVfaW5u b2RiLmluYwkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUv YmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9pbm5vZGIuaW5jCTIwMDgtMTAtMDggMDQ6 MjY6MjUgKzAwMDAKQEAgLTAsMCArMSwxMCBAQAorIyBXZSB3aWxsIGRpc2FibGUgSW5ub2RiIHN0 b3JhZ2UgZW5naW5lIGlmIHdlIGluY2x1ZGUgbm90X2hhdmVfaW5ub2RiLmluYworIyBpbiBvdXIg dGVzdCBjYXNlLgorCisKKy0tcmVwbGFjZV9yZXN1bHQgJEVOR0lORSBFTkdJTkUKK2lmKGBTRUxF Q1QgJyRFTkdJTkUnPSdpbm5vZGInYCkKK3sKKyBza2lwICJUaGlzIHRlc3QgZG9lcyBub3Qgc3Vw cG9ydCBJbm5vZGIgZW5naW5lIjsKK30KKwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3Vp dGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9tZW1vcnkuaW5jJwotLS0gYS9teXNx bC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvbm90X2hhdmVfbWVtb3J5LmluYwkx OTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2Vu Z2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9tZW1vcnkuaW5jCTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAw MDAKQEAgLTAsMCArMSwxMCBAQAorIyBXZSB3aWxsIGRpc2FibGUgTWVtb3J5IHN0b3JhZ2UgZW5n aW5lIGlmIHdlIGluY2x1ZGUgbm90X2hhdmVfbWVtb3J5LmluYworIyBpbiBvdXIgdGVzdCBjYXNl LgorCisKKy0tcmVwbGFjZV9yZXN1bHQgJEVOR0lORSBFTkdJTkUKK2lmKGBTRUxFQ1QgJyRFTkdJ TkUnPSdtZW1vcnknYCkKK3sKKyBza2lwICJUaGlzIHRlc3QgZG9lcyBub3Qgc3VwcG9ydCBtZW1v cnkgZW5naW5lIjsKK30KKwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3Vw X2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9teWlzYW0uaW5jJwotLS0gYS9teXNxbC10ZXN0L3N1 aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvbm90X2hhdmVfbXlpc2FtLmluYwkxOTcwLTAxLTAx IDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5j bHVkZS9ub3RfaGF2ZV9teWlzYW0uaW5jCTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAs MCArMSwxMCBAQAorIyBXZSB3aWxsIGRpc2FibGUgTXlpc2FtIHN0b3JhZ2UgZW5naW5lIGlmIHdl IGluY2x1ZGUgbm90X2hhdmVfbXlpc2FtLmluYworIyBpbiBvdXIgdGVzdCBjYXNlLgorCisKKy0t cmVwbGFjZV9yZXN1bHQgJEVOR0lORSBFTkdJTkUKK2lmKGBTRUxFQ1QgJyRFTkdJTkUnPSdteWlz YW0nYCkKK3sKKyBza2lwICJUaGlzIHRlc3QgZG9lcyBub3Qgc3VwcG9ydCBNeWlzYW0gZW5naW5l IjsKK30KKwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMv ci9iYWNrdXBfcHRyX2NvbW1pdF9taXhlZC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUv YmFja3VwX2VuZ2luZXMvci9iYWNrdXBfcHRyX2NvbW1pdF9taXhlZC5yZXN1bHQJMTk3MC0wMS0w MSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3Iv YmFja3VwX3B0cl9jb21taXRfbWl4ZWQucmVzdWx0CTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAK QEAgLTAsMCArMSwzNjAgQEAKK1NIT1cgVkFSSUFCTEVTIExJS0UgJ3N0b3JhZ2VfZW5naW5lJzsK K1ZhcmlhYmxlX25hbWUJVmFsdWUKK3N0b3JhZ2VfZW5naW5lCSMKK1NFVCBHTE9CQUwgQklOTE9H X0ZPUk1BVD0nTUlYRUQnOworU0VUIEJJTkxPR19GT1JNQVQ9J01JWEVEJzsKK1NFTEVDVCBAQEJJ TkxPR19GT1JNQVQ7CitAQEJJTkxPR19GT1JNQVQKK01JWEVECitSRVNFVCBNQVNURVI7CisqKlNU QVJUIFRFU1QqKgorKioqIFRFU1QxICoqKgorVGhpcyB0ZXN0IHdpbGwgcmVjb3ZlciBkYXRhIHRo YXQgd2VyZSBjb21taXR0ZWQgZHVyaW5nIGJhY2t1cAorb3BlcmF0aW9uLiBUaGlzIGlzIGFjaGVp dmVkIGJ5IG1lYW5zIG9mIGRlYnVnX3N5bmMgcG9pbnRzCit3aGljaCBwYXVzZXMgdGhlIGJhY2t1 cCBkYXRhYmFzZSBvcGVyYXRpb24gZHVyaW5nIGNvbW1pdC4KKworU0VUIEBhPVVOSVhfVElNRVNU QU1QKCIyMDEwLTAxLTIxIDE1OjMyOjIyIik7CitTRVQgdGltZXN0YW1wPUBhOworU0VUIERFQlVH X1NZTkM9ICdSRVNFVCc7CitDUkVBVEUgREFUQUJBU0UgSUYgTk9UIEVYSVNUUyBwdHI7CitVU0Ug cHRyOworCitjb24xOiAqKipDcmVhdGluZyBUYWJsZXMqKioKK0NSRUFURSBUQUJMRSBwdHIudDEo aWQgSU5ULCBkZXRhaWxzIENIQVIoMzApKUVOR0lORT1JTk5PREI7CitJTlNFUlQgaW50TyBwdHIu dDEgVkFMVUVTCisoMSwndGVzdGluZzEnKSwoMiwndGVzdGluZzInKSwoMywndGVzdGluZzMnKSwK Kyg0LCd0ZXN0aW5nNCcpLCg1LCd0ZXN0aW5nNScpLCg2LCd0ZXN0aW5nNicpOworQ1JFQVRFIFRB QkxFIHB0ci50MihpZCBJTlQsIGluZm8gQ0hBUigzMCkpRU5HSU5FPUlOTk9EQjsKK0lOU0VSVCBp bnRPIHB0ci50MiBWQUxVRVMoMjAxLCAnYWExJyksKDIwMiwnYWEyJyk7CitDUkVBVEUgVEFCTEUg cHRyLnQzKGlkIElOVCwgbmFtZSBDSEFSKDIwKSlFTkdJTkU9SU5OT0RCOworSU5TRVJUIGludE8g cHRyLnQzIFZBTFVFUygxLCdhYjEnKSwoMiwnYWIyJyksKDMsJ2FiMycpLCg0LCdhYjQnKSwoNSwn YWI1Jyk7CisKK2NvbjI6CitTVEFSVCBUUkFOU0FDVElPTjsKK0lOU0VSVCBpbnRPIHB0ci50MiBW QUxVRVMoMjAzLCAnRHVyaW5nIGJhY2t1cC0xJyksKDIwNCwnRHVyaW5nIGJhY2t1cC0yJyk7CitV UERBVEUgcHRyLnQzIFNFVCBuYW1lPSdoaDEnIFdIRVJFIGlkPTE7CitERUxFVEUgRlJPTSBwdHIu dDEgV0hFUkUgaWQ9NTsKK0RFTEVURSBGUk9NIHB0ci50MSBXSEVSRSBpZD02OworY29uMToKK1Ro ZSB2YWx1ZXMgc2hvdWxkIGJlOiB0MT02IHQyPTIgdDM9NQorU0VMRUNUICogRlJPTSBwdHIudDE7 CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRlc3Rp bmc0Cis1CXRlc3Rpbmc1Cis2CXRlc3Rpbmc2CitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDE7 CitDT1VOVCgqKQorNgorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisy MDIJYWEyCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDI7CitDT1VOVCgqKQorMgorU0VMRUNU ICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWFiMQorMglhYjIKKzMJYWIzCis0CWFiNAorNQlh YjUKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50MzsKK0NPVU5UKCopCis1CitTRVQgREVCVUdf U1lOQz0gJ2JlZm9yZV9iYWNrdXBfZGF0YV9pbml0IFNJR05BTCBidXBfc3luYworICAgICAgICAg ICAgICAgICBXQUlUX0ZPUiBidXBfZmluaXNoJzsKK0JBQ0tVUCBEQVRBQkFTRSBwdHIgVE8gJ3B0 cl9jb21taXQuYmFrJzsKKworY29uMzogV2FpdGluZyBmb3IgQkFDS1VQIHRvIHJlYWNoIHRoZSBi cmVha3BvaW50CitTRVQgREVCVUdfU1lOQz0gJ25vdyBXQUlUX0ZPUiBidXBfc3luYyc7Citjb24y OgorQ09NTUlUOworCitjb24zOiBTaWduYWxsaW5nIHRoYXQgQkFDS1VQIGNhbiBmaW5pc2gKK1NF VCBERUJVR19TWU5DPSAnbm93IFNJR05BTCBidXBfZmluaXNoJzsKK2NvbjE6Citjb24xOiBGZXRj aGluZyByZXN1bHQgb2YgQkFDS1VQCitiYWNrdXBfaWQKKyMKK3NldCB0aW1lc3RhbXA9QGErMjsK K2NvbjI6CitBZnRlciBjb21taXQgdGhlIHZhbHVlcyBvZiB3aWxsIGJlOiB0MT00LCB0Mj00LCB0 Mz01CitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDE7CitDT1VOVCgqKQorNAorU0VMRUNUICog RlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3Rp bmczCis0CXRlc3Rpbmc0CitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDI7CitDT1VOVCgqKQor NAorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisyMDIJYWEyCisyMDMJ RHVyaW5nIGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0yCitTRUxFQ1QgQ09VTlQoKikgRlJP TSBwdHIudDM7CitDT1VOVCgqKQorNQorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisx CWhoMQorMglhYjIKKzMJYWIzCis0CWFiNAorNQlhYjUKK2NvbjE6CisqKioqIFBlcmZvcm0gc29t ZSBvcGVyYXRpb25zIGFmdGVyIGJhY2t1cCAqKioqCitJTlNFUlQgaW50TyBwdHIudDEgVkFMVUVT KDEwLCdBZnRlciBCYWNrdXAxJyksKDIwLCdBZnRlciBCYWNrdXAyJyk7CitVUERBVEUgcHRyLnQy IFNFVCBpbmZvPSdBZnRlciBCYWNrdXAtMScgV0hFUkUgaWQ9MjAyOworVVBEQVRFIHB0ci50MyBT RVQgbmFtZT0nQWZ0ZXIgQmFja3VwLTEnIFdIRVJFIGlkPTI7CitzZXQgdGltZXN0YW1wPUBhKzQ7 CitGTFVTSCBMT0dTOworVmFsdWVzIGluIHRhYmxlIGFmdGVyIGJhY2t1cDogdDE9Nix0Mj00KDIw MiB1cGRhdGVkKSwgdDM9NSgyIHVwZGF0ZWQpCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDE7 CitDT1VOVCgqKQorNgorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3Rp bmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0CisxMAlBZnRlciBCYWNrdXAx CisyMAlBZnRlciBCYWNrdXAyCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDI7CitDT1VOVCgq KQorNAorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisyMDIJQWZ0ZXIg QmFja3VwLTEKKzIwMwlEdXJpbmcgYmFja3VwLTEKKzIwNAlEdXJpbmcgYmFja3VwLTIKK1NFTEVD VCBDT1VOVCgqKSBGUk9NIHB0ci50MzsKK0NPVU5UKCopCis1CitTRUxFQ1QgKiBGUk9NIHB0ci50 MzsKK2lkCW5hbWUKKzEJaGgxCisyCUFmdGVyIEJhY2t1cC0xCiszCWFiMworNAlhYjQKKzUJYWI1 CitEUk9QIERBVEFCQVNFIHB0cjsKKyoqKiBSZWNvdmVyaW5nIGRhdGEgdGlsbCBwb2ludCBvZiBi YWNrdXAgdXNpbmcgbXlzcWwgYmlubG9nX3Bvc2l0aW9uICoqKgorU0VMRUNUICogRlJPTSBwdHIu dDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRl c3Rpbmc0CitTRUxFQ1QgKiBGUk9NIHB0ci50MjsKK2lkCWluZm8KKzIwMQlhYTEKKzIwMglhYTIK KzIwMwlEdXJpbmcgYmFja3VwLTEKKzIwNAlEdXJpbmcgYmFja3VwLTIKK1NFTEVDVCAqIEZST00g cHRyLnQzOworaWQJbmFtZQorMQloaDEKKzIJYWIyCiszCWFiMworNAlhYjQKKzUJYWI1CisqKiog UmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCAqKioKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJ ZGV0YWlscworMQl0ZXN0aW5nMQorMgl0ZXN0aW5nMgorMwl0ZXN0aW5nMworNAl0ZXN0aW5nNAor MTAJQWZ0ZXIgQmFja3VwMQorMjAJQWZ0ZXIgQmFja3VwMgorU0VMRUNUICogRlJPTSBwdHIudDI7 CitpZAlpbmZvCisyMDEJYWExCisyMDIJQWZ0ZXIgQmFja3VwLTEKKzIwMwlEdXJpbmcgYmFja3Vw LTEKKzIwNAlEdXJpbmcgYmFja3VwLTIKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJbmFtZQor MQloaDEKKzIJQWZ0ZXIgQmFja3VwLTEKKzMJYWIzCis0CWFiNAorNQlhYjUKK0RST1AgREFUQUJB U0UgcHRyOworKioqIFRFU1QyICoqKgorUGVyZm9ybSBSZXN0b3JlIGFuZCBSZWNvdmVyIGNvbW1p dHRlZCBkYXRhIHVzaW5nIG15c3FsYmlubG9nIHBvc2l0aW9uCithZnRlciBiYWNrdXAuCisKK1Bl cmZvcm0gcmVzdG9yZSBvcGVyYXRpb24KK1JFU1RPUkUgRlJPTSAncHRyX2NvbW1pdC5iYWsnOwor YmFja3VwX2lkCisjCitTSE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK3QxCit0 MgordDMKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJZGV0YWlscworMQl0ZXN0aW5nMQorMgl0 ZXN0aW5nMgorMwl0ZXN0aW5nMworNAl0ZXN0aW5nNAorU0VMRUNUICogRlJPTSBwdHIudDI7Citp ZAlpbmZvCisyMDEJYWExCisyMDIJYWEyCisyMDMJRHVyaW5nIGJhY2t1cC0xCisyMDQJRHVyaW5n IGJhY2t1cC0yCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCW5hbWUKKzEJaGgxCisyCWFiMgor MwlhYjMKKzQJYWI0Cis1CWFiNQorKioqIFJlY292ZXIgZGF0YSB1c2luZyBiaW5sb2cgcG9zaXRp b24gYWZ0ZXIgYmFja3VwICoqKgorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisx CXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0CisxMAlBZnRlciBC YWNrdXAxCisyMAlBZnRlciBCYWNrdXAyCitTRUxFQ1QgKiBGUk9NIHB0ci50MjsKK2lkCWluZm8K KzIwMQlhYTEKKzIwMglBZnRlciBCYWNrdXAtMQorMjAzCUR1cmluZyBiYWNrdXAtMQorMjA0CUR1 cmluZyBiYWNrdXAtMgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWhoMQorMglB ZnRlciBCYWNrdXAtMQorMwlhYjMKKzQJYWI0Cis1CWFiNQorRFJPUCBEQVRBQkFTRSBwdHI7Cisq KiogVEVTVDMgKioqCitSZWNvdmVyIGNvbW1pdHRlZCBkYXRhIGR1cmluZyBiYWNrdXAgYW5kIGFm dGVyIGJhY2t1cCBvcGVyYXRpb24KK3VzaW5nIG15c3FsYmlubG9nIGRhdGVzCisKK3VzZSBiaW5s b2cgZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIHRpbGwgYmFja3VwLgorU0hPVyBUQUJMRVMgRlJPTSBw dHI7CitUYWJsZXNfaW5fcHRyCit0MQordDIKK3QzCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lk CWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVzdGluZzIKKzMJdGVzdGluZzMKKzQJdGVzdGluZzQK K1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbworMjAxCWFhMQorMjAyCWFhMgorMjAzCUR1 cmluZyBiYWNrdXAtMQorMjA0CUR1cmluZyBiYWNrdXAtMgorU0VMRUNUICogRlJPTSBwdHIudDM7 CitpZAluYW1lCisxCWhoMQorMglhYjIKKzMJYWIzCis0CWFiNAorNQlhYjUKK3VzZSBiaW5sb2cg ZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cC4KKyoqKiBOb3cgcmVjb3ZlciBkYXRh IGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0ZXMgKioqCitTRUxFQ1QgKiBGUk9NIHB0ci50 MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVzdGluZzIKKzMJdGVzdGluZzMKKzQJdGVz dGluZzQKKzEwCUFmdGVyIEJhY2t1cDEKKzIwCUFmdGVyIEJhY2t1cDIKK1NFTEVDVCAqIEZST00g cHRyLnQyOworaWQJaW5mbworMjAxCWFhMQorMjAyCUFmdGVyIEJhY2t1cC0xCisyMDMJRHVyaW5n IGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0yCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lk CW5hbWUKKzEJaGgxCisyCUFmdGVyIEJhY2t1cC0xCiszCWFiMworNAlhYjQKKzUJYWI1CisqKiog VEVTVDQgKioqIAorUGVyZm9ybSBSZXN0b3JlIGFuZCBSZWNvdmVyIGNvbW1pdHRlZCBkYXRhIHVz aW5nIG15c3FsYmlubG9nIHBvc2l0aW9uCithZnRlciBiYWNrdXAuCitQZXJmb3JtIHJlc3RvcmUg b3BlcmF0aW9uCitSRVNUT1JFIEZST00gJ3B0cl9jb21taXQuYmFrJzsKK2JhY2t1cF9pZAorIwor U0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCit0MQordDIKK3QzCitTRUxFQ1Qg KiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVzdGluZzIKKzMJdGVz dGluZzMKKzQJdGVzdGluZzQKK1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbworMjAxCWFh MQorMjAyCWFhMgorMjAzCUR1cmluZyBiYWNrdXAtMQorMjA0CUR1cmluZyBiYWNrdXAtMgorU0VM RUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWhoMQorMglhYjIKKzMJYWIzCis0CWFiNAor NQlhYjUKKyoqKiBOb3cgcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0 ZXMgKioqCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJ dGVzdGluZzIKKzMJdGVzdGluZzMKKzQJdGVzdGluZzQKKzEwCUFmdGVyIEJhY2t1cDEKKzIwCUFm dGVyIEJhY2t1cDIKK1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbworMjAxCWFhMQorMjAy CUFmdGVyIEJhY2t1cC0xCisyMDMJRHVyaW5nIGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0y CitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCW5hbWUKKzEJaGgxCisyCUFmdGVyIEJhY2t1cC0x CiszCWFiMworNAlhYjQKKzUJYWI1CisKKyoqKiAgRFJPUCBwdHIgREFUQUJBU0UgKioqKgorCitE Uk9QIERBVEFCQVNFIHB0cjsKK1NFVCBERUJVR19TWU5DPSAnUkVTRVQnOwoKPT09IGFkZGVkIGZp bGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvci9iYWNrdXBfcHRyX2NvbW1pdF9y b3cucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3IvYmFja3Vw X3B0cl9jb21taXRfcm93LnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215 c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvci9iYWNrdXBfcHRyX2NvbW1pdF9yb3cucmVz dWx0CTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCArMSwzNjAgQEAKK1NIT1cgVkFS SUFCTEVTIExJS0UgJ3N0b3JhZ2VfZW5naW5lJzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUKK3N0b3Jh Z2VfZW5naW5lCSMKK1NFVCBHTE9CQUwgQklOTE9HX0ZPUk1BVD0nUk9XJzsKK1NFVCBCSU5MT0df Rk9STUFUPSdST1cnOworU0VMRUNUIEBAQklOTE9HX0ZPUk1BVDsKK0BAQklOTE9HX0ZPUk1BVAor Uk9XCitSRVNFVCBNQVNURVI7CisqKlNUQVJUIFRFU1QqKgorKioqIFRFU1QxICoqKgorVGhpcyB0 ZXN0IHdpbGwgcmVjb3ZlciBkYXRhIHRoYXQgd2VyZSBjb21taXR0ZWQgZHVyaW5nIGJhY2t1cAor b3BlcmF0aW9uLiBUaGlzIGlzIGFjaGVpdmVkIGJ5IG1lYW5zIG9mIGRlYnVnX3N5bmMgcG9pbnRz Cit3aGljaCBwYXVzZXMgdGhlIGJhY2t1cCBkYXRhYmFzZSBvcGVyYXRpb24gZHVyaW5nIGNvbW1p dC4KKworU0VUIEBhPVVOSVhfVElNRVNUQU1QKCIyMDEwLTAxLTIxIDE1OjMyOjIyIik7CitTRVQg dGltZXN0YW1wPUBhOworU0VUIERFQlVHX1NZTkM9ICdSRVNFVCc7CitDUkVBVEUgREFUQUJBU0Ug SUYgTk9UIEVYSVNUUyBwdHI7CitVU0UgcHRyOworCitjb24xOiAqKipDcmVhdGluZyBUYWJsZXMq KioKK0NSRUFURSBUQUJMRSBwdHIudDEoaWQgSU5ULCBkZXRhaWxzIENIQVIoMzApKUVOR0lORT1J Tk5PREI7CitJTlNFUlQgaW50TyBwdHIudDEgVkFMVUVTCisoMSwndGVzdGluZzEnKSwoMiwndGVz dGluZzInKSwoMywndGVzdGluZzMnKSwKKyg0LCd0ZXN0aW5nNCcpLCg1LCd0ZXN0aW5nNScpLCg2 LCd0ZXN0aW5nNicpOworQ1JFQVRFIFRBQkxFIHB0ci50MihpZCBJTlQsIGluZm8gQ0hBUigzMCkp RU5HSU5FPUlOTk9EQjsKK0lOU0VSVCBpbnRPIHB0ci50MiBWQUxVRVMoMjAxLCAnYWExJyksKDIw MiwnYWEyJyk7CitDUkVBVEUgVEFCTEUgcHRyLnQzKGlkIElOVCwgbmFtZSBDSEFSKDIwKSlFTkdJ TkU9SU5OT0RCOworSU5TRVJUIGludE8gcHRyLnQzIFZBTFVFUygxLCdhYjEnKSwoMiwnYWIyJyks KDMsJ2FiMycpLCg0LCdhYjQnKSwoNSwnYWI1Jyk7CisKK2NvbjI6CitTVEFSVCBUUkFOU0FDVElP TjsKK0lOU0VSVCBpbnRPIHB0ci50MiBWQUxVRVMoMjAzLCAnRHVyaW5nIGJhY2t1cC0xJyksKDIw NCwnRHVyaW5nIGJhY2t1cC0yJyk7CitVUERBVEUgcHRyLnQzIFNFVCBuYW1lPSdoaDEnIFdIRVJF IGlkPTE7CitERUxFVEUgRlJPTSBwdHIudDEgV0hFUkUgaWQ9NTsKK0RFTEVURSBGUk9NIHB0ci50 MSBXSEVSRSBpZD02OworY29uMToKK1RoZSB2YWx1ZXMgc2hvdWxkIGJlOiB0MT02IHQyPTIgdDM9 NQorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3Rp bmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0Cis1CXRlc3Rpbmc1Cis2CXRlc3Rpbmc2CitTRUxF Q1QgQ09VTlQoKikgRlJPTSBwdHIudDE7CitDT1VOVCgqKQorNgorU0VMRUNUICogRlJPTSBwdHIu dDI7CitpZAlpbmZvCisyMDEJYWExCisyMDIJYWEyCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIu dDI7CitDT1VOVCgqKQorMgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWFiMQor MglhYjIKKzMJYWIzCis0CWFiNAorNQlhYjUKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50MzsK K0NPVU5UKCopCis1CitTRVQgREVCVUdfU1lOQz0gJ2JlZm9yZV9iYWNrdXBfZGF0YV9pbml0IFNJ R05BTCBidXBfc3luYworICAgICAgICAgICAgICAgICBXQUlUX0ZPUiBidXBfZmluaXNoJzsKK0JB Q0tVUCBEQVRBQkFTRSBwdHIgVE8gJ3B0cl9jb21taXQuYmFrJzsKKworY29uMzogV2FpdGluZyBm b3IgQkFDS1VQIHRvIHJlYWNoIHRoZSBicmVha3BvaW50CitTRVQgREVCVUdfU1lOQz0gJ25vdyBX QUlUX0ZPUiBidXBfc3luYyc7Citjb24yOgorQ09NTUlUOworCitjb24zOiBTaWduYWxsaW5nIHRo YXQgQkFDS1VQIGNhbiBmaW5pc2gKK1NFVCBERUJVR19TWU5DPSAnbm93IFNJR05BTCBidXBfZmlu aXNoJzsKK2NvbjE6Citjb24xOiBGZXRjaGluZyByZXN1bHQgb2YgQkFDS1VQCitiYWNrdXBfaWQK KyMKK3NldCB0aW1lc3RhbXA9QGErMjsKK2NvbjI6CitBZnRlciBjb21taXQgdGhlIHZhbHVlcyBv ZiB3aWxsIGJlOiB0MT00LCB0Mj00LCB0Mz01CitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDE7 CitDT1VOVCgqKQorNAorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3Rp bmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0CitTRUxFQ1QgQ09VTlQoKikg RlJPTSBwdHIudDI7CitDT1VOVCgqKQorNAorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZv CisyMDEJYWExCisyMDIJYWEyCisyMDMJRHVyaW5nIGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1 cC0yCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDM7CitDT1VOVCgqKQorNQorU0VMRUNUICog RlJPTSBwdHIudDM7CitpZAluYW1lCisxCWhoMQorMglhYjIKKzMJYWIzCis0CWFiNAorNQlhYjUK K2NvbjE6CisqKioqIFBlcmZvcm0gc29tZSBvcGVyYXRpb25zIGFmdGVyIGJhY2t1cCAqKioqCitJ TlNFUlQgaW50TyBwdHIudDEgVkFMVUVTKDEwLCdBZnRlciBCYWNrdXAxJyksKDIwLCdBZnRlciBC YWNrdXAyJyk7CitVUERBVEUgcHRyLnQyIFNFVCBpbmZvPSdBZnRlciBCYWNrdXAtMScgV0hFUkUg aWQ9MjAyOworVVBEQVRFIHB0ci50MyBTRVQgbmFtZT0nQWZ0ZXIgQmFja3VwLTEnIFdIRVJFIGlk PTI7CitzZXQgdGltZXN0YW1wPUBhKzQ7CitGTFVTSCBMT0dTOworVmFsdWVzIGluIHRhYmxlIGFm dGVyIGJhY2t1cDogdDE9Nix0Mj00KDIwMiB1cGRhdGVkKSwgdDM9NSgyIHVwZGF0ZWQpCitTRUxF Q1QgQ09VTlQoKikgRlJPTSBwdHIudDE7CitDT1VOVCgqKQorNgorU0VMRUNUICogRlJPTSBwdHIu dDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRl c3Rpbmc0CisxMAlBZnRlciBCYWNrdXAxCisyMAlBZnRlciBCYWNrdXAyCitTRUxFQ1QgQ09VTlQo KikgRlJPTSBwdHIudDI7CitDT1VOVCgqKQorNAorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlp bmZvCisyMDEJYWExCisyMDIJQWZ0ZXIgQmFja3VwLTEKKzIwMwlEdXJpbmcgYmFja3VwLTEKKzIw NAlEdXJpbmcgYmFja3VwLTIKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50MzsKK0NPVU5UKCop Cis1CitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCW5hbWUKKzEJaGgxCisyCUFmdGVyIEJhY2t1 cC0xCiszCWFiMworNAlhYjQKKzUJYWI1CitEUk9QIERBVEFCQVNFIHB0cjsKKyoqKiBSZWNvdmVy aW5nIGRhdGEgdGlsbCBwb2ludCBvZiBiYWNrdXAgdXNpbmcgbXlzcWwgYmlubG9nX3Bvc2l0aW9u ICoqKgorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRl c3RpbmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0CitTRUxFQ1QgKiBGUk9NIHB0ci50MjsKK2lk CWluZm8KKzIwMQlhYTEKKzIwMglhYTIKKzIwMwlEdXJpbmcgYmFja3VwLTEKKzIwNAlEdXJpbmcg YmFja3VwLTIKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJbmFtZQorMQloaDEKKzIJYWIyCisz CWFiMworNAlhYjQKKzUJYWI1CisqKiogUmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCAqKioKK1NF TEVDVCAqIEZST00gcHRyLnQxOworaWQJZGV0YWlscworMQl0ZXN0aW5nMQorMgl0ZXN0aW5nMgor Mwl0ZXN0aW5nMworNAl0ZXN0aW5nNAorMTAJQWZ0ZXIgQmFja3VwMQorMjAJQWZ0ZXIgQmFja3Vw MgorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisyMDIJQWZ0ZXIgQmFj a3VwLTEKKzIwMwlEdXJpbmcgYmFja3VwLTEKKzIwNAlEdXJpbmcgYmFja3VwLTIKK1NFTEVDVCAq IEZST00gcHRyLnQzOworaWQJbmFtZQorMQloaDEKKzIJQWZ0ZXIgQmFja3VwLTEKKzMJYWIzCis0 CWFiNAorNQlhYjUKK0RST1AgREFUQUJBU0UgcHRyOworKioqIFRFU1QyICoqKgorUGVyZm9ybSBS ZXN0b3JlIGFuZCBSZWNvdmVyIGNvbW1pdHRlZCBkYXRhIHVzaW5nIG15c3FsYmlubG9nIHBvc2l0 aW9uCithZnRlciBiYWNrdXAuCisKK1BlcmZvcm0gcmVzdG9yZSBvcGVyYXRpb24KK1JFU1RPUkUg RlJPTSAncHRyX2NvbW1pdC5iYWsnOworYmFja3VwX2lkCisjCitTSE9XIFRBQkxFUyBGUk9NIHB0 cjsKK1RhYmxlc19pbl9wdHIKK3QxCit0MgordDMKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJ ZGV0YWlscworMQl0ZXN0aW5nMQorMgl0ZXN0aW5nMgorMwl0ZXN0aW5nMworNAl0ZXN0aW5nNAor U0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisyMDIJYWEyCisyMDMJRHVy aW5nIGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0yCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsK K2lkCW5hbWUKKzEJaGgxCisyCWFiMgorMwlhYjMKKzQJYWI0Cis1CWFiNQorKioqIFJlY292ZXIg ZGF0YSB1c2luZyBiaW5sb2cgcG9zaXRpb24gYWZ0ZXIgYmFja3VwICoqKgorU0VMRUNUICogRlJP TSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3Rpbmcz Cis0CXRlc3Rpbmc0CisxMAlBZnRlciBCYWNrdXAxCisyMAlBZnRlciBCYWNrdXAyCitTRUxFQ1Qg KiBGUk9NIHB0ci50MjsKK2lkCWluZm8KKzIwMQlhYTEKKzIwMglBZnRlciBCYWNrdXAtMQorMjAz CUR1cmluZyBiYWNrdXAtMQorMjA0CUR1cmluZyBiYWNrdXAtMgorU0VMRUNUICogRlJPTSBwdHIu dDM7CitpZAluYW1lCisxCWhoMQorMglBZnRlciBCYWNrdXAtMQorMwlhYjMKKzQJYWI0Cis1CWFi NQorRFJPUCBEQVRBQkFTRSBwdHI7CisqKiogVEVTVDMgKioqCitSZWNvdmVyIGNvbW1pdHRlZCBk YXRhIGR1cmluZyBiYWNrdXAgYW5kIGFmdGVyIGJhY2t1cCBvcGVyYXRpb24KK3VzaW5nIG15c3Fs YmlubG9nIGRhdGVzCisKK3VzZSBiaW5sb2cgZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIHRpbGwgYmFj a3VwLgorU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCit0MQordDIKK3QzCitT RUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVzdGluZzIK KzMJdGVzdGluZzMKKzQJdGVzdGluZzQKK1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbwor MjAxCWFhMQorMjAyCWFhMgorMjAzCUR1cmluZyBiYWNrdXAtMQorMjA0CUR1cmluZyBiYWNrdXAt MgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWhoMQorMglhYjIKKzMJYWIzCis0 CWFiNAorNQlhYjUKK3VzZSBiaW5sb2cgZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1 cC4KKyoqKiBOb3cgcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0ZXMg KioqCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVz dGluZzIKKzMJdGVzdGluZzMKKzQJdGVzdGluZzQKKzEwCUFmdGVyIEJhY2t1cDEKKzIwCUFmdGVy IEJhY2t1cDIKK1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbworMjAxCWFhMQorMjAyCUFm dGVyIEJhY2t1cC0xCisyMDMJRHVyaW5nIGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0yCitT RUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCW5hbWUKKzEJaGgxCisyCUFmdGVyIEJhY2t1cC0xCisz CWFiMworNAlhYjQKKzUJYWI1CisqKiogVEVTVDQgKioqIAorUGVyZm9ybSBSZXN0b3JlIGFuZCBS ZWNvdmVyIGNvbW1pdHRlZCBkYXRhIHVzaW5nIG15c3FsYmlubG9nIHBvc2l0aW9uCithZnRlciBi YWNrdXAuCitQZXJmb3JtIHJlc3RvcmUgb3BlcmF0aW9uCitSRVNUT1JFIEZST00gJ3B0cl9jb21t aXQuYmFrJzsKK2JhY2t1cF9pZAorIworU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5f cHRyCit0MQordDIKK3QzCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVz dGluZzEKKzIJdGVzdGluZzIKKzMJdGVzdGluZzMKKzQJdGVzdGluZzQKK1NFTEVDVCAqIEZST00g cHRyLnQyOworaWQJaW5mbworMjAxCWFhMQorMjAyCWFhMgorMjAzCUR1cmluZyBiYWNrdXAtMQor MjA0CUR1cmluZyBiYWNrdXAtMgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWho MQorMglhYjIKKzMJYWIzCis0CWFiNAorNQlhYjUKKyoqKiBOb3cgcmVjb3ZlciBkYXRhIGFmdGVy IGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0ZXMgKioqCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lk CWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVzdGluZzIKKzMJdGVzdGluZzMKKzQJdGVzdGluZzQK KzEwCUFmdGVyIEJhY2t1cDEKKzIwCUFmdGVyIEJhY2t1cDIKK1NFTEVDVCAqIEZST00gcHRyLnQy OworaWQJaW5mbworMjAxCWFhMQorMjAyCUFmdGVyIEJhY2t1cC0xCisyMDMJRHVyaW5nIGJhY2t1 cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0yCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCW5hbWUK KzEJaGgxCisyCUFmdGVyIEJhY2t1cC0xCiszCWFiMworNAlhYjQKKzUJYWI1CisKKyoqKiAgRFJP UCBwdHIgREFUQUJBU0UgKioqKgorCitEUk9QIERBVEFCQVNFIHB0cjsKK1NFVCBERUJVR19TWU5D PSAnUkVTRVQnOwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2lu ZXMvci9iYWNrdXBfcHRyX2NvbW1pdF9zdG10LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0 ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfY29tbWl0X3N0bXQucmVzdWx0CTE5NzAtMDEt MDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9y L2JhY2t1cF9wdHJfY29tbWl0X3N0bXQucmVzdWx0CTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAK QEAgLTAsMCArMSwzNjAgQEAKK1NIT1cgVkFSSUFCTEVTIExJS0UgJ3N0b3JhZ2VfZW5naW5lJzsK K1ZhcmlhYmxlX25hbWUJVmFsdWUKK3N0b3JhZ2VfZW5naW5lCSMKK1NFVCBHTE9CQUwgQklOTE9H X0ZPUk1BVD0nU1RBVEVNRU5UJzsKK1NFVCBCSU5MT0dfRk9STUFUPSdTVEFURU1FTlQnOworU0VM RUNUIEBAQklOTE9HX0ZPUk1BVDsKK0BAQklOTE9HX0ZPUk1BVAorU1RBVEVNRU5UCitSRVNFVCBN QVNURVI7CisqKlNUQVJUIFRFU1QqKgorKioqIFRFU1QxICoqKgorVGhpcyB0ZXN0IHdpbGwgcmVj b3ZlciBkYXRhIHRoYXQgd2VyZSBjb21taXR0ZWQgZHVyaW5nIGJhY2t1cAorb3BlcmF0aW9uLiBU aGlzIGlzIGFjaGVpdmVkIGJ5IG1lYW5zIG9mIGRlYnVnX3N5bmMgcG9pbnRzCit3aGljaCBwYXVz ZXMgdGhlIGJhY2t1cCBkYXRhYmFzZSBvcGVyYXRpb24gZHVyaW5nIGNvbW1pdC4KKworU0VUIEBh PVVOSVhfVElNRVNUQU1QKCIyMDEwLTAxLTIxIDE1OjMyOjIyIik7CitTRVQgdGltZXN0YW1wPUBh OworU0VUIERFQlVHX1NZTkM9ICdSRVNFVCc7CitDUkVBVEUgREFUQUJBU0UgSUYgTk9UIEVYSVNU UyBwdHI7CitVU0UgcHRyOworCitjb24xOiAqKipDcmVhdGluZyBUYWJsZXMqKioKK0NSRUFURSBU QUJMRSBwdHIudDEoaWQgSU5ULCBkZXRhaWxzIENIQVIoMzApKUVOR0lORT1JTk5PREI7CitJTlNF UlQgaW50TyBwdHIudDEgVkFMVUVTCisoMSwndGVzdGluZzEnKSwoMiwndGVzdGluZzInKSwoMywn dGVzdGluZzMnKSwKKyg0LCd0ZXN0aW5nNCcpLCg1LCd0ZXN0aW5nNScpLCg2LCd0ZXN0aW5nNicp OworQ1JFQVRFIFRBQkxFIHB0ci50MihpZCBJTlQsIGluZm8gQ0hBUigzMCkpRU5HSU5FPUlOTk9E QjsKK0lOU0VSVCBpbnRPIHB0ci50MiBWQUxVRVMoMjAxLCAnYWExJyksKDIwMiwnYWEyJyk7CitD UkVBVEUgVEFCTEUgcHRyLnQzKGlkIElOVCwgbmFtZSBDSEFSKDIwKSlFTkdJTkU9SU5OT0RCOwor SU5TRVJUIGludE8gcHRyLnQzIFZBTFVFUygxLCdhYjEnKSwoMiwnYWIyJyksKDMsJ2FiMycpLCg0 LCdhYjQnKSwoNSwnYWI1Jyk7CisKK2NvbjI6CitTVEFSVCBUUkFOU0FDVElPTjsKK0lOU0VSVCBp bnRPIHB0ci50MiBWQUxVRVMoMjAzLCAnRHVyaW5nIGJhY2t1cC0xJyksKDIwNCwnRHVyaW5nIGJh Y2t1cC0yJyk7CitVUERBVEUgcHRyLnQzIFNFVCBuYW1lPSdoaDEnIFdIRVJFIGlkPTE7CitERUxF VEUgRlJPTSBwdHIudDEgV0hFUkUgaWQ9NTsKK0RFTEVURSBGUk9NIHB0ci50MSBXSEVSRSBpZD02 OworY29uMToKK1RoZSB2YWx1ZXMgc2hvdWxkIGJlOiB0MT02IHQyPTIgdDM9NQorU0VMRUNUICog RlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3Rp bmczCis0CXRlc3Rpbmc0Cis1CXRlc3Rpbmc1Cis2CXRlc3Rpbmc2CitTRUxFQ1QgQ09VTlQoKikg RlJPTSBwdHIudDE7CitDT1VOVCgqKQorNgorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZv CisyMDEJYWExCisyMDIJYWEyCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDI7CitDT1VOVCgq KQorMgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWFiMQorMglhYjIKKzMJYWIz Cis0CWFiNAorNQlhYjUKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50MzsKK0NPVU5UKCopCis1 CitTRVQgREVCVUdfU1lOQz0gJ2JlZm9yZV9iYWNrdXBfZGF0YV9pbml0IFNJR05BTCBidXBfc3lu YworICAgICAgICAgICAgICAgICBXQUlUX0ZPUiBidXBfZmluaXNoJzsKK0JBQ0tVUCBEQVRBQkFT RSBwdHIgVE8gJ3B0cl9jb21taXQuYmFrJzsKKworY29uMzogV2FpdGluZyBmb3IgQkFDS1VQIHRv IHJlYWNoIHRoZSBicmVha3BvaW50CitTRVQgREVCVUdfU1lOQz0gJ25vdyBXQUlUX0ZPUiBidXBf c3luYyc7Citjb24yOgorQ09NTUlUOworCitjb24zOiBTaWduYWxsaW5nIHRoYXQgQkFDS1VQIGNh biBmaW5pc2gKK1NFVCBERUJVR19TWU5DPSAnbm93IFNJR05BTCBidXBfZmluaXNoJzsKK2NvbjE6 Citjb24xOiBGZXRjaGluZyByZXN1bHQgb2YgQkFDS1VQCitiYWNrdXBfaWQKKyMKK3NldCB0aW1l c3RhbXA9QGErMjsKK2NvbjI6CitBZnRlciBjb21taXQgdGhlIHZhbHVlcyBvZiB3aWxsIGJlOiB0 MT00LCB0Mj00LCB0Mz01CitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDE7CitDT1VOVCgqKQor NAorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3Rp bmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0CitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIudDI7 CitDT1VOVCgqKQorNAorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisy MDIJYWEyCisyMDMJRHVyaW5nIGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0yCitTRUxFQ1Qg Q09VTlQoKikgRlJPTSBwdHIudDM7CitDT1VOVCgqKQorNQorU0VMRUNUICogRlJPTSBwdHIudDM7 CitpZAluYW1lCisxCWhoMQorMglhYjIKKzMJYWIzCis0CWFiNAorNQlhYjUKK2NvbjE6CisqKioq IFBlcmZvcm0gc29tZSBvcGVyYXRpb25zIGFmdGVyIGJhY2t1cCAqKioqCitJTlNFUlQgaW50TyBw dHIudDEgVkFMVUVTKDEwLCdBZnRlciBCYWNrdXAxJyksKDIwLCdBZnRlciBCYWNrdXAyJyk7CitV UERBVEUgcHRyLnQyIFNFVCBpbmZvPSdBZnRlciBCYWNrdXAtMScgV0hFUkUgaWQ9MjAyOworVVBE QVRFIHB0ci50MyBTRVQgbmFtZT0nQWZ0ZXIgQmFja3VwLTEnIFdIRVJFIGlkPTI7CitzZXQgdGlt ZXN0YW1wPUBhKzQ7CitGTFVTSCBMT0dTOworVmFsdWVzIGluIHRhYmxlIGFmdGVyIGJhY2t1cDog dDE9Nix0Mj00KDIwMiB1cGRhdGVkKSwgdDM9NSgyIHVwZGF0ZWQpCitTRUxFQ1QgQ09VTlQoKikg RlJPTSBwdHIudDE7CitDT1VOVCgqKQorNgorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlkZXRh aWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0CisxMAlB ZnRlciBCYWNrdXAxCisyMAlBZnRlciBCYWNrdXAyCitTRUxFQ1QgQ09VTlQoKikgRlJPTSBwdHIu dDI7CitDT1VOVCgqKQorNAorU0VMRUNUICogRlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWEx CisyMDIJQWZ0ZXIgQmFja3VwLTEKKzIwMwlEdXJpbmcgYmFja3VwLTEKKzIwNAlEdXJpbmcgYmFj a3VwLTIKK1NFTEVDVCBDT1VOVCgqKSBGUk9NIHB0ci50MzsKK0NPVU5UKCopCis1CitTRUxFQ1Qg KiBGUk9NIHB0ci50MzsKK2lkCW5hbWUKKzEJaGgxCisyCUFmdGVyIEJhY2t1cC0xCiszCWFiMwor NAlhYjQKKzUJYWI1CitEUk9QIERBVEFCQVNFIHB0cjsKKyoqKiBSZWNvdmVyaW5nIGRhdGEgdGls bCBwb2ludCBvZiBiYWNrdXAgdXNpbmcgbXlzcWwgYmlubG9nX3Bvc2l0aW9uICoqKgorU0VMRUNU ICogRlJPTSBwdHIudDE7CitpZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRl c3RpbmczCis0CXRlc3Rpbmc0CitTRUxFQ1QgKiBGUk9NIHB0ci50MjsKK2lkCWluZm8KKzIwMQlh YTEKKzIwMglhYTIKKzIwMwlEdXJpbmcgYmFja3VwLTEKKzIwNAlEdXJpbmcgYmFja3VwLTIKK1NF TEVDVCAqIEZST00gcHRyLnQzOworaWQJbmFtZQorMQloaDEKKzIJYWIyCiszCWFiMworNAlhYjQK KzUJYWI1CisqKiogUmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCAqKioKK1NFTEVDVCAqIEZST00g cHRyLnQxOworaWQJZGV0YWlscworMQl0ZXN0aW5nMQorMgl0ZXN0aW5nMgorMwl0ZXN0aW5nMwor NAl0ZXN0aW5nNAorMTAJQWZ0ZXIgQmFja3VwMQorMjAJQWZ0ZXIgQmFja3VwMgorU0VMRUNUICog RlJPTSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisyMDIJQWZ0ZXIgQmFja3VwLTEKKzIwMwlE dXJpbmcgYmFja3VwLTEKKzIwNAlEdXJpbmcgYmFja3VwLTIKK1NFTEVDVCAqIEZST00gcHRyLnQz OworaWQJbmFtZQorMQloaDEKKzIJQWZ0ZXIgQmFja3VwLTEKKzMJYWIzCis0CWFiNAorNQlhYjUK K0RST1AgREFUQUJBU0UgcHRyOworKioqIFRFU1QyICoqKgorUGVyZm9ybSBSZXN0b3JlIGFuZCBS ZWNvdmVyIGNvbW1pdHRlZCBkYXRhIHVzaW5nIG15c3FsYmlubG9nIHBvc2l0aW9uCithZnRlciBi YWNrdXAuCisKK1BlcmZvcm0gcmVzdG9yZSBvcGVyYXRpb24KK1JFU1RPUkUgRlJPTSAncHRyX2Nv bW1pdC5iYWsnOworYmFja3VwX2lkCisjCitTSE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19p bl9wdHIKK3QxCit0MgordDMKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJZGV0YWlscworMQl0 ZXN0aW5nMQorMgl0ZXN0aW5nMgorMwl0ZXN0aW5nMworNAl0ZXN0aW5nNAorU0VMRUNUICogRlJP TSBwdHIudDI7CitpZAlpbmZvCisyMDEJYWExCisyMDIJYWEyCisyMDMJRHVyaW5nIGJhY2t1cC0x CisyMDQJRHVyaW5nIGJhY2t1cC0yCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCW5hbWUKKzEJ aGgxCisyCWFiMgorMwlhYjMKKzQJYWI0Cis1CWFiNQorKioqIFJlY292ZXIgZGF0YSB1c2luZyBi aW5sb2cgcG9zaXRpb24gYWZ0ZXIgYmFja3VwICoqKgorU0VMRUNUICogRlJPTSBwdHIudDE7Citp ZAlkZXRhaWxzCisxCXRlc3RpbmcxCisyCXRlc3RpbmcyCiszCXRlc3RpbmczCis0CXRlc3Rpbmc0 CisxMAlBZnRlciBCYWNrdXAxCisyMAlBZnRlciBCYWNrdXAyCitTRUxFQ1QgKiBGUk9NIHB0ci50 MjsKK2lkCWluZm8KKzIwMQlhYTEKKzIwMglBZnRlciBCYWNrdXAtMQorMjAzCUR1cmluZyBiYWNr dXAtMQorMjA0CUR1cmluZyBiYWNrdXAtMgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1l CisxCWhoMQorMglBZnRlciBCYWNrdXAtMQorMwlhYjMKKzQJYWI0Cis1CWFiNQorRFJPUCBEQVRB QkFTRSBwdHI7CisqKiogVEVTVDMgKioqCitSZWNvdmVyIGNvbW1pdHRlZCBkYXRhIGR1cmluZyBi YWNrdXAgYW5kIGFmdGVyIGJhY2t1cCBvcGVyYXRpb24KK3VzaW5nIG15c3FsYmlubG9nIGRhdGVz CisKK3VzZSBiaW5sb2cgZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIHRpbGwgYmFja3VwLgorU0hPVyBU QUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCit0MQordDIKK3QzCitTRUxFQ1QgKiBGUk9N IHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVzdGluZzIKKzMJdGVzdGluZzMK KzQJdGVzdGluZzQKK1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbworMjAxCWFhMQorMjAy CWFhMgorMjAzCUR1cmluZyBiYWNrdXAtMQorMjA0CUR1cmluZyBiYWNrdXAtMgorU0VMRUNUICog RlJPTSBwdHIudDM7CitpZAluYW1lCisxCWhoMQorMglhYjIKKzMJYWIzCis0CWFiNAorNQlhYjUK K3VzZSBiaW5sb2cgZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cC4KKyoqKiBOb3cg cmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0ZXMgKioqCitTRUxFQ1Qg KiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVzdGluZzIKKzMJdGVz dGluZzMKKzQJdGVzdGluZzQKKzEwCUFmdGVyIEJhY2t1cDEKKzIwCUFmdGVyIEJhY2t1cDIKK1NF TEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbworMjAxCWFhMQorMjAyCUFmdGVyIEJhY2t1cC0x CisyMDMJRHVyaW5nIGJhY2t1cC0xCisyMDQJRHVyaW5nIGJhY2t1cC0yCitTRUxFQ1QgKiBGUk9N IHB0ci50MzsKK2lkCW5hbWUKKzEJaGgxCisyCUFmdGVyIEJhY2t1cC0xCiszCWFiMworNAlhYjQK KzUJYWI1CisqKiogVEVTVDQgKioqIAorUGVyZm9ybSBSZXN0b3JlIGFuZCBSZWNvdmVyIGNvbW1p dHRlZCBkYXRhIHVzaW5nIG15c3FsYmlubG9nIHBvc2l0aW9uCithZnRlciBiYWNrdXAuCitQZXJm b3JtIHJlc3RvcmUgb3BlcmF0aW9uCitSRVNUT1JFIEZST00gJ3B0cl9jb21taXQuYmFrJzsKK2Jh Y2t1cF9pZAorIworU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCit0MQordDIK K3QzCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJdGVzdGluZzEKKzIJdGVz dGluZzIKKzMJdGVzdGluZzMKKzQJdGVzdGluZzQKK1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJ aW5mbworMjAxCWFhMQorMjAyCWFhMgorMjAzCUR1cmluZyBiYWNrdXAtMQorMjA0CUR1cmluZyBi YWNrdXAtMgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAluYW1lCisxCWhoMQorMglhYjIKKzMJ YWIzCis0CWFiNAorNQlhYjUKKyoqKiBOb3cgcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCB1c2lu ZyBiaW5sb2cgZGF0ZXMgKioqCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWRldGFpbHMKKzEJ dGVzdGluZzEKKzIJdGVzdGluZzIKKzMJdGVzdGluZzMKKzQJdGVzdGluZzQKKzEwCUFmdGVyIEJh Y2t1cDEKKzIwCUFmdGVyIEJhY2t1cDIKK1NFTEVDVCAqIEZST00gcHRyLnQyOworaWQJaW5mbwor MjAxCWFhMQorMjAyCUFmdGVyIEJhY2t1cC0xCisyMDMJRHVyaW5nIGJhY2t1cC0xCisyMDQJRHVy aW5nIGJhY2t1cC0yCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCW5hbWUKKzEJaGgxCisyCUFm dGVyIEJhY2t1cC0xCiszCWFiMworNAlhYjQKKzUJYWI1CisKKyoqKiAgRFJPUCBwdHIgREFUQUJB U0UgKioqKgorCitEUk9QIERBVEFCQVNFIHB0cjsKK1NFVCBERUJVR19TWU5DPSAnUkVTRVQnOwoK PT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvci9iYWNrdXBf cHRyX21peGVkLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9y L2JhY2t1cF9wdHJfbWl4ZWQucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIv bXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfbWl4ZWQucmVzdWx0 CTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCArMSw4NDMgQEAKK1NIT1cgVkFSSUFC TEVTIExJS0UgJ3N0b3JhZ2VfZW5naW5lJzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUKK3N0b3JhZ2Vf ZW5naW5lCSMKK1NFVCBHTE9CQUwgQklOTE9HX0ZPUk1BVD0nTUlYRUQnOworU0VUIEJJTkxPR19G T1JNQVQ9J01JWEVEJzsKK1NFTEVDVCBAQEJJTkxPR19GT1JNQVQ7CitAQEJJTkxPR19GT1JNQVQK K01JWEVECitSRVNFVCBNQVNURVI7CisqKlNUQVJUIFRFU1QqKgorKioqKiBURVNUMSAqKioqCitU aGlzIHRlc3Qgd2lsbCByZWNvdmVyIGRhdGEgdXNpbmcgYmlubG9nIHBvc2l0aW9uCit0aWxsIHBv aW50IG9mIGJhY2t1cCBhbmQgYWZ0ZXIgYmFja3VwLgorCitTRVQgQGE9VU5JWF9USU1FU1RBTVAo IjIwMTAtMDEtMjEgMTU6MzI6MjIiKTsKK1NFVCB0aW1lc3RhbXA9QGE7CitDUkVBVEUgREFUQUJB U0UgSUYgTk9UIEVYSVNUUyBwdHI7CitVU0UgcHRyOworKioqKiBDcmVhdGluZyB0YWJsZXMgKioq KgorQ1JFQVRFIFRBQkxFIHB0ci50MShpZCBJTlQsIGEgQ0hBUig0KSk7CitJTlNFUlQgSU5UTyBw dHIudDEgVkFMVUVTKDEsJ2EnKSwoMiwnYicpLCgzLCdjJyksKDQsJ2QnKSwoNSwnZScpOworU0VM RUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0CWQKKzUJZQorQ1JFQVRF IFRBQkxFIHB0ci50MyhpZCBJTlQsIGIgQ0hBUig0KSk7CitJTlNFUlQgSU5UTyBwdHIudDMgVkFM VUVTCisoMTEsJ2FhJyksKDIyLCdiYicpLCgzMywnY2MnKSwoNDQsJ2RkJyksKDU1LCdlZScpOwor Q1JFQVRFIFRBQkxFIHB0ci50MihpZCBJTlQsIGRlbGV0ZXNfZGF0YSBWQVJDSEFSKDMwKSwgdXBk YXRlc19kYXRhIFRFWFQpOworSU5TRVJUIElOVE8gcHRyLnQyIFZBTFVFUworKDEwMCwnZGF0YTEg Zm9yIHRlc3RpbmcnLCd1cGRhdGUgZGF0YTEnKSwKKygyMDAsJ2RhdGEyIGZvciB0ZXN0aW5nJywn dXBkYXRlIGRhdGEyJyksCisoMzAwLCdkYXRhMyBmb3IgdGVzdGluZycsJ3VwZGF0ZSBkYXRhMycp LAorKDQwMCwnZGF0YTQgZm9yIHRlc3RpbmcnLCd1cGRhdGUgZGF0YTQnKSwKKyg1MDAsJ2RhdGE1 IGZvciB0ZXN0aW5nJywndXBkYXRlIGRhdGE1JyksCisoMTAwLCdkYXRhMSBmb3IgdGVzdGluZycs J3VwZGF0ZSBkYXRhMScpLAorKDYwMCwnZGF0YTYgZm9yIHRlc3RpbmcnLCd1cGRhdGUgZGF0YTYn KTsKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVw ZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQorMTAwCWRhdGEx IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQorMjAwCWRhdGEyIGZvciB0ZXN0aW5nCXVwZGF0ZSBk YXRhMgorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMworNDAwCWRhdGE0IGZvciB0 ZXN0aW5nCXVwZGF0ZSBkYXRhNAorNTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQor NjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNgorU0VMRUNUIENPVU5UKCopIEZST00g cHRyLnQyOworQ09VTlQoKikKKzcKKyoqKiogQ3JlYXRpbmcgdGFibGVzIHdpdGggZGlmZmVyZW50 IGRhdGF0eXBlcyAqKioqCitDUkVBVEUgVEFCTEUgcHRyLmQxKAorcmludCBJTlQsCit0aW50IFRJ TllJTlQsCitzaW50IFNNQUxMSU5ULAorYmludCBCSUdJTlQsCittaW50IE1FRElVTUlOVCwKK25h bWUgQ0hBUigxMDApLAorY2l0eSAgVkFSQ0hBUigxMDApLAorZmwgRkxPQVQoNyw0KSwKK3BlcnMg REVDSU1BTCg4LDIpLAorc2FsIERPVUJMRSwKK2NvbG91cnMgU0VUKCdyZWQnLCdibHVlJywneWVs bG93JyksCitjb250aW5lbnQgRU5VTSgnQXNpYScsICdFdXJvcGUnLCdBZnJpY2EnLCdBbnRhcnRp Y2EnKSwKK3RzIFRJTUVTVEFNUCBERUZBVUxUIDAsCitkb2IgREFURSwKK3kgWUVBUgorKTsKK0NS RUFURSBUQUJMRSBwdHIuZDIoCityZWdpb24gVEVYVCwKK3N1bW1hcnkgTE9OR1RFWFQsCitkYXRh IEJMT0IsCitkZXRhaWxzIE1FRElVTUJMT0IsCitxdWVyaWVzIFRJTllURVhULAorcXVlcnkyIFRJ TllCTE9CLAorZXh0cmFjdCBMT05HQkxPQiwKK3BhcmFzIE1FRElVTVRFWFQKKyk7CitJTlNFUlQg SU5UTyBwdHIuZDEgVkFMVUVTCisoNzg1LDEyNyw3Mjg4LDI3ODgyOTg5OSwzNzc3LCd0ZXN0aW5n MScsJ3N3ZWRlbicsJzY3OC4yOTknLDIwMC4yMyw4Mjk4OTkuOTA5LAorJ3llbGxvdycsJ0FzaWEn LCcyMDA4LTA2LTAxIDE2OjIzOjMwJywnMTk4NC0wOS0wOCcsJzE5ODQnKTsKK0lOU0VSVCBJTlRP IHB0ci5kMiBWQUxVRVMKKygneHh4eHh4eHgnLCdUZXN0b2ZvbmxpbmUgYmFja3VwJywnYWFhYWFh YWFhYScsJ2JiYmJiYmJiYmJiJywnaGhoaGhoaGhoaGgnLAorJ2tra2tra2tra2tra2snLCdtbW1t bW1tbW1tbW0nLCdvbmxpbmViYWNrdXAxJyk7CitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJ dGludAlzaW50CWJpbnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5l bnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4J Njc4LjI5OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzoz MAkxOTg0LTA5LTA4CTE5ODQKK1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJ ZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3Rv Zm9ubGluZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tr a2tra2trCW1tbW1tbW1tbW1tbQlvbmxpbmViYWNrdXAxCisqKioqIFBlcmZvcm0gRGF0YSBNYW5p cHVsYXRpb24gT3BlcmF0aW9ucyAqKioqCisjIyBEZWxldGUgIyMKK0RFTEVURSBGUk9NIHB0ci50 MiBXSEVSRSBkZWxldGVzX2RhdGE9J2RhdGE0IGZvciB0ZXN0aW5nJzsKK0RFTEVURSBGUk9NIHB0 ci50MiBXSEVSRSBpZD0xMDAgTElNSVQgMTsKKyMjIEluc2VydCBhbmQgU2VsZWN0ICMjCisqKioq IE5vdyBwdHIudDIgd2lsbCBoYXZlIDUgY291bnRzIGluIHRoZSB0YWJsZSAqKioqCisKK1NFTEVD VCBDT1VOVCgqKSBGUk9NIHB0ci50MjsKK0NPVU5UKCopCis1CitJTlNFUlQgSU5UTyBwdHIudDIg VkFMVUVTCisoODAwLCdkYXRhMSBmb3IgcmVwbGFjZW1lbnQnLCdyZXBsYWNlIGRhdGExJyk7Cisj IyBSZXBsYWNlICMjCitSRVBMQUNFIElOVE8gcHRyLnQyIAorU0VUIGlkPTgwMCwgZGVsZXRlc19k YXRhPSdkYXRhIHJlcGxhY2VkJywgdXBkYXRlc19kYXRhPSdyZXBsYWNlIG92ZXInOworIyMgVW5p b24gIyMKK1NFTEVDVCAqIEZST00gcHRyLnQxIFVOSU9OIFNFTEVDVCAqIEZST00gcHRyLnQzOwor aWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRk Cis1NQllZQorIyMgVXBkYXRlICMjCitVUERBVEUgcHRyLnQyIFNFVCB1cGRhdGVzX2RhdGE9JyMj VkFMVUUgVVBEQVRFRCMjJyBXSEVSRSBpZD0zMDA7CitOb3cgdGFibGUgdDIgd2lsbCBoYXZlIDYg Y291bnRzIHdpdGggb25lIHVwZGF0ZWQgYW5kIHJlcGxhY2VkIHZhbHVlcyAKK1NFTEVDVCBDT1VO VCgqKSBGUk9NIHB0ci50MjsKK0NPVU5UKCopCis3CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRF UiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2RhdGEKKzEwMAlkYXRhMSBmb3IgdGVz dGluZwl1cGRhdGUgZGF0YTEKKzIwMAlkYXRhMiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTIKKzMw MAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIworNTAwCWRhdGE1IGZvciB0ZXN0 aW5nCXVwZGF0ZSBkYXRhNQorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNgorODAw CWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCis4MDAJZGF0YSByZXBsYWNlZAly ZXBsYWNlIG92ZXIKK0RFU0NSSUJFIHB0ci50MTsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVs dAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCithCWNoYXIoNCkJWUVTCQlOVUxMCQorREVT Q1JJQkUgcHRyLnQyOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQo MTEpCVlFUwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2YXJjaGFyKDMwKQlZRVMJCU5VTEwJCit1cGRh dGVzX2RhdGEJdGV4dAlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIuZDE7CitGaWVsZAlUeXBlCU51 bGwJS2V5CURlZmF1bHQJRXh0cmEKK3JpbnQJaW50KDExKQlZRVMJCU5VTEwJCit0aW50CXRpbnlp bnQoNCkJWUVTCQlOVUxMCQorc2ludAlzbWFsbGludCg2KQlZRVMJCU5VTEwJCitiaW50CWJpZ2lu dCgyMCkJWUVTCQlOVUxMCQorbWludAltZWRpdW1pbnQoOSkJWUVTCQlOVUxMCQorbmFtZQljaGFy KDEwMCkJWUVTCQlOVUxMCQorY2l0eQl2YXJjaGFyKDEwMCkJWUVTCQlOVUxMCQorZmwJZmxvYXQo Nyw0KQlZRVMJCU5VTEwJCitwZXJzCWRlY2ltYWwoOCwyKQlZRVMJCU5VTEwJCitzYWwJZG91Ymxl CVlFUwkJTlVMTAkKK2NvbG91cnMJc2V0KCdyZWQnLCdibHVlJywneWVsbG93JykJWUVTCQlOVUxM CQorY29udGluZW50CWVudW0oJ0FzaWEnLCdFdXJvcGUnLCdBZnJpY2EnLCdBbnRhcnRpY2EnKQlZ RVMJCU5VTEwJCit0cwl0aW1lc3RhbXAJTk8JCTAwMDAtMDAtMDAgMDA6MDA6MDAJCitkb2IJZGF0 ZQlZRVMJCU5VTEwJCit5CXllYXIoNCkJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLmQyOworRmll bGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCityZWdpb24JdGV4dAlZRVMJCU5VTEwJCitz dW1tYXJ5CWxvbmd0ZXh0CVlFUwkJTlVMTAkKK2RhdGEJYmxvYglZRVMJCU5VTEwJCitkZXRhaWxz CW1lZGl1bWJsb2IJWUVTCQlOVUxMCQorcXVlcmllcwl0aW55dGV4dAlZRVMJCU5VTEwJCitxdWVy eTIJdGlueWJsb2IJWUVTCQlOVUxMCQorZXh0cmFjdAlsb25nYmxvYglZRVMJCU5VTEwJCitwYXJh cwltZWRpdW10ZXh0CVlFUwkJTlVMTAkKKyoqKiogUGVyZm9ybSBEYXRhIERlZmluaXRpb24gT3Bl cmF0aW9ucyAqKioqCisjIyBBTFRFUiAjIworQUxURVIgVEFCTEUgcHRyLnQyIEFERCBDT0xVTU4g Y2hhbmdlcyBDSEFSKDIwKTsKK1VQREFURSBwdHIudDIgU0VUIGNoYW5nZXM9J2FsdGVyZWQnIFdI RVJFIGlkPTIwMDsKK1VQREFURSBwdHIudDIgU0VUIGNoYW5nZXM9J2FsdGVyZWQnIFdIRVJFIGlk PTEwMDsKK0FMVEVSIFRBQkxFIHB0ci50MyBNT0RJRlkgYiBWQVJDSEFSKDQpOworREVTQ1JJQkUg cHRyLnQyOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlF UwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2YXJjaGFyKDMwKQlZRVMJCU5VTEwJCit1cGRhdGVzX2Rh dGEJdGV4dAlZRVMJCU5VTEwJCitjaGFuZ2VzCWNoYXIoMjApCVlFUwkJTlVMTAkKK0RFU0NSSUJF IHB0ci50MzsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZ RVMJCU5VTEwJCitiCXZhcmNoYXIoNCkJWUVTCQlOVUxMCQorKioqKiBOb3cgd2Ugd2lsbCBjaGVj ayB0aGUgZGF0YSBjb250ZW50cyBpbiBhbGwgdGhlIHRhYmxlcyBhZ2FpbiAqKioqCitTRUxFQ1Qg KiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAorNQllCitTRUxFQ1QgKiBG Uk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2RhdGEJY2hh bmdlcworMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQlhbHRlcmVkCisyMDAJZGF0 YTIgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEyCWFsdGVyZWQKKzMwMAlkYXRhMyBmb3IgdGVzdGlu ZwkjI1ZBTFVFIFVQREFURUQjIwlOVUxMCis1MDAJZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRh dGE1CU5VTEwKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYJTlVMTAorODAwCWRh dGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCU5VTEwKKzgwMAlkYXRhIHJlcGxhY2Vk CXJlcGxhY2Ugb3ZlcglOVUxMCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisy MgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQorU0VMRUNUICogRlJPTSBwdHIuZDE7CityaW50CXRp bnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJY29udGluZW50 CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJc3dlZGVuCTY3 OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEgMTY6MjM6MzAJ MTk4NC0wOS0wOAkxOTg0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1tYXJ5CWRh dGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFzCit4eHh4eHh4eAlUZXN0b2Zv bmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tra2tra2tr a2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorKiogUGVyZm9ybSBCYWNrdXAgb3BlcmF0 aW9uIGFuZCBnYXRoZXIgYmlubG9nIHBvc2l0aW9uIGFuZCBkYXRlcyAqKgorKiogQmFja3VwIGRh dGEgKioKK3NldCB0aW1lc3RhbXA9QGErMjsKKworTm93IGV4ZWN1dGUgc29tZSBvcGVyYXRpb25z IGluIHRoZSB0YWJsZSBhZnRlciBwZXJmb3JtaW5nIGJhY2t1cC4KKworCisqKioqIFBlcmZvcm0g c29tZSBkYXRhIG1hbmlwdWxhdGlvbiBvcGVyYXRpb25zICoqKioKK0lOU0VSVCBJTlRPIHB0ci50 MSBWQUxVRVMoNiwnZicpLCg3LCdnJyk7CitJTlNFUlQgSU5UTyBwdHIuZDEgVkFMVUVTCisoMTAw MDEsMTIwLDY1NTAsNzI3ODYzNDY1Nyw5MDY2NywnQWZ0ZXIgYmFja3VwJywnTWlubmVhcG9saXMn LDc4Mi45OTAxLAorNzg5LjIzLDk3ODA2LjQ1NiwnYmx1ZScsJ0FudGFydGljYScsJzIwMDgtMDgt MDcgMTU6MTI6NDQnLCcxOTU0LTEyLTIzJywnMTk1NCcpOworSU5TRVJUIElOVE8gcHRyLnQzIFZB TFVFUygxLCdmZicpLCgzLCdraycpOworU0VMRUNUICogRlJPTSB0MSBVTklPTiBTRUxFQ1QgKiBG Uk9NIHQzIE9SREVSIEJZIGE7CitpZAlhCisxCWEKKzExCWFhCisyCWIKKzIyCWJiCiszCWMKKzMz CWNjCis0CWQKKzQ0CWRkCis1CWUKKzU1CWVlCis2CWYKKzEJZmYKKzcJZworMwlraworVVBEQVRF IHB0ci50MyBTRVQgYj0nbW0nIHdoZXJlIGI9J2trJzsKK1NFTEVDVCAqIEZST00gcHRyLnQzOwor aWQJYgorMTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCisxCWZmCiszCW1tCitERUxF VEUgRlJPTSBwdHIudDIgV0hFUkUgaWQ9MjAwOworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIg QlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCWNoYW5nZXMKKzEwMAlkYXRhMSBm b3IgdGVzdGluZwl1cGRhdGUgZGF0YTEJYWx0ZXJlZAorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMj VkFMVUUgVVBEQVRFRCMjCU5VTEwKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUJ TlVMTAorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNglOVUxMCis4MDAJZGF0YTEg Zm9yIHJlcGxhY2VtZW50CXJlcGxhY2UgZGF0YTEJTlVMTAorODAwCWRhdGEgcmVwbGFjZWQJcmVw bGFjZSBvdmVyCU5VTEwKKworKioqKiBQZXJmb3JtIHNvbWUgZGF0YSBkZWZpbml0aW9uIG9wZXJh dGlvbnMgKioqKgorQUxURVIgVEFCTEUgcHRyLnQyIERST1AgQ09MVU1OIGNoYW5nZXM7CitBTFRF UiBUQUJMRSBwdHIudDMgRU5HSU5FPU1FTU9SWTsKK0NSRUFURSBUQUJMRSBkZWZpbml0aW9uKGRl dGFpbHMgTE9OR1RFWFQpOworSU5TRVJUIElOVE8gZGVmaW5pdGlvbiBWQUxVRVMKKygnUGVyZm9y bWluZyBzb21lIGRhdGEgZGVmaW5pdGlvbiBzdGF0ZW1lbnRzIGZvciBQVFInKTsKK0RFU0NSSUJF IHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZ RVMJCU5VTEwJCitkZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19k YXRhCXRleHQJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLmRlZmluaXRpb247CitGaWVsZAlUeXBl CU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2RldGFpbHMJbG9uZ3RleHQJWUVTCQlOVUxMCQorCisq KioqIFRoZSB0YWJsZXMgdDEsIHQyLCB0MyBhbmQgdDQgaGFzIGNoYW5nZXMgKioqKgorKioqKiBO ZXcgdGFibGUgImRlZmluaXRpb24iIGlzIGNyZWF0ZWQgYWZ0ZXIgYmFja3VwICoqKioqCisKK1NI T1cgVEFCTEVTIEZST00gcHRyOworVGFibGVzX2luX3B0cgorZDEKK2QyCitkZWZpbml0aW9uCit0 MQordDIKK3QzCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJ ZAorNQllCis2CWYKKzcJZworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlk ZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRh dGExCiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRhNSBm b3IgdGVzdGluZwl1cGRhdGUgZGF0YTUKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0 YTYKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEgcmVw bGFjZWQJcmVwbGFjZSBvdmVyCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisy MgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQorMQlmZgorMwltbQorU0VMRUNUICogRlJPTSBwdHIu ZDE7CityaW50CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91 cnMJY29udGluZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGlu ZzEJc3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYt MDEgMTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0CisxMDAwMQkxMjAJNjU1MAk3Mjc4NjM0NjU3CTkw NjY3CUFmdGVyIGJhY2t1cAlNaW5uZWFwb2xpcwk3ODIuOTkwMQk3ODkuMjMJOTc4MDYuNDU2CWJs dWUJQW50YXJ0aWNhCTIwMDgtMDgtMDcgMTU6MTI6NDQJMTk1NC0xMi0yMwkxOTU0CitTRUxFQ1Qg KiBGUk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5 MglleHRyYWN0CXBhcmFzCit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJ YmJiYmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5l YmFja3VwMQorU0VUIFRJTUVTVEFNUD1AYSs0OworRkxVU0ggTE9HUzsKK0RST1AgREFUQUJBU0Ug cHRyOworKioqKiBFeGVjdXRlIG15c3FsYmlubG9nIHRvIHJlY292ZXIgdGhlIGRhdGEgZnJvbSBz dGFydCB0byBiYWNrdXAgKioqKgorU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRy CitkMQorZDIKK3QxCit0MgordDMKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJYQorMQlhCisy CWIKKzMJYworNAlkCis1CWUKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworaWQJ ZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQljaGFuZ2VzCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJ dXBkYXRlIGRhdGExCWFsdGVyZWQKKzIwMAlkYXRhMiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTIJ YWx0ZXJlZAorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBEQVRFRCMjCU5VTEwKKzUw MAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUJTlVMTAorNjAwCWRhdGE2IGZvciB0ZXN0 aW5nCXVwZGF0ZSBkYXRhNglOVUxMCis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2Ug ZGF0YTEJTlVMTAorODAwCWRhdGEgcmVwbGFjZWQJcmVwbGFjZSBvdmVyCU5VTEwKK1NFTEVDVCAq IEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCitT RUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlzaW50CWJpbnQJbWludAluYW1lCWNpdHkJ ZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4 Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVs bG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0LTA5LTA4CTE5ODQKK1NFTEVDVCAqIEZS T00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4 dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJi YmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2trCW1tbW1tbW1tbW1tbQlvbmxpbmViYWNr dXAxCisqKioqIE5vdyBwZXJmb3JtIGFub3RoZXIgcmVjb3ZlcnkgdG8gcmVjb3ZlciBkYXRhIGFm dGVyIGJhY2t1cCAqKioqCitTSE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK2Qx CitkMgorZGVmaW5pdGlvbgordDEKK3QyCit0MworREVTQ1JJQkUgcHRyLnQxOworRmllbGQJVHlw ZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2EJY2hhcig0 KQlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1 bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRlc19kYXRhCXZhcmNoYXIoMzAp CVlFUwkJTlVMTAkKK3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50 MzsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5V TEwJCitiCXZhcmNoYXIoNCkJWUVTCQlOVUxMCQorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlh CisxCWEKKzIJYgorMwljCis0CWQKKzUJZQorNglmCis3CWcKK1NFTEVDVCAqIEZST00gcHRyLnQy IE9SREVSIEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZv ciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBE QVRFRCMjCis1MDAJZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1Cis2MDAJZGF0YTYgZm9y IHRlc3RpbmcJdXBkYXRlIGRhdGE2Cis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2Ug ZGF0YTEKKzgwMAlkYXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcgorU0VMRUNUICogRlJPTSBwdHIu dDM7CitpZAliCisxMQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKKzEJZmYKKzMJbW0K K1NFTEVDVCAqIEZST00gcHRyLmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0 eQlmbAlwZXJzCXNhbAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3 ODgyOTg5OQkzNzc3CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5 ZWxsb3cJQXNpYQkyMDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorMTAwMDEJMTIw CTY1NTAJNzI3ODYzNDY1Nwk5MDY2NwlBZnRlciBiYWNrdXAJTWlubmVhcG9saXMJNzgyLjk5MDEJ Nzg5LjIzCTk3ODA2LjQ1NglibHVlCUFudGFydGljYQkyMDA4LTA4LTA3IDE1OjEyOjQ0CTE5NTQt MTItMjMJMTk1NAorU0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdpb24Jc3VtbWFyeQlkYXRhCWRl dGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4eHh4eHgJVGVzdG9mb25saW5l IGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGhoaGhoCWtra2tra2tra2tra2sJ bW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKK0RST1AgREFUQUJBU0UgcHRyOworKioqIFRFU1Qy ICoqKiA6CitQZXJmb3JtIFJlc3RvcmUgYW5kIHJlY292ZXIgdHJhbnNhY3Rpb25zIGFmdGVyIGJh Y2t1cCBieSBleGVjdXRpbmcgCitteXNxbGJpbmxvZyB1dGlsaXR5IHVzaW5nIGJpbmxvZyBwb3Np dGlvbi4KK1BlcmZvcm0gcmVzdG9yZSBvcGVyYXRpb24gCitSRVNUT1JFIEZST00gJ3B0ci5iYWsn OworYmFja3VwX2lkCisjCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCisz CWMKKzQJZAorNQllCitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0 ZXNfZGF0YQl1cGRhdGVzX2RhdGEJY2hhbmdlcworMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0 ZSBkYXRhMQlhbHRlcmVkCisyMDAJZGF0YTIgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEyCWFsdGVy ZWQKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIwlOVUxMCis1MDAJZGF0 YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1CU5VTEwKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1 cGRhdGUgZGF0YTYJTlVMTAorODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGEx CU5VTEwKKzgwMAlkYXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcglOVUxMCitTRUxFQ1QgKiBGUk9N IHB0ci50MzsKK2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQorU0VMRUNU ICogRlJPTSBwdHIuZDE7CityaW50CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBl cnMJc2FsCWNvbG91cnMJY29udGluZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5 CTM3NzcJdGVzdGluZzEJc3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlB c2lhCTIwMDgtMDYtMDEgMTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0CitTRUxFQ1QgKiBGUk9NIHB0 ci5kMjsKK3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0 CXBhcmFzCit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJi YmIJaGhoaGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQor UmVjb3ZlcmluZyBkYXRhIGNvbnRlbnRzIGFmdGVyIGJhY2t1cAorU0hPVyBUQUJMRVMgRlJPTSBw dHI7CitUYWJsZXNfaW5fcHRyCitkMQorZDIKK2RlZmluaXRpb24KK3QxCit0MgordDMKK0RFU0NS SUJFIHB0ci50MTsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDEx KQlZRVMJCU5VTEwJCithCWNoYXIoNCkJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQyOworRmll bGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2Rl bGV0ZXNfZGF0YQl2YXJjaGFyKDMwKQlZRVMJCU5VTEwJCit1cGRhdGVzX2RhdGEJdGV4dAlZRVMJ CU5VTEwJCitERVNDUklCRSBwdHIudDM7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0 cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYgl2YXJjaGFyKDQpCVlFUwkJTlVMTAkKK1NFTEVD VCAqIEZST00gcHRyLnQxOworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKKzYJZgorNwln CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRh dGVzX2RhdGEKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEKKzMwMAlkYXRhMyBm b3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIworNTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0 ZSBkYXRhNQorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNgorODAwCWRhdGExIGZv ciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCis4MDAJZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92 ZXIKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJiCiszMwljYworNDQJ ZGQKKzU1CWVlCisxCWZmCiszCW1tCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlz aW50CWJpbnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJ ZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5 OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0 LTA5LTA4CTE5ODQKKzEwMDAxCTEyMAk2NTUwCTcyNzg2MzQ2NTcJOTA2NjcJQWZ0ZXIgYmFja3Vw CU1pbm5lYXBvbGlzCTc4Mi45OTAxCTc4OS4yMwk5NzgwNi40NTYJYmx1ZQlBbnRhcnRpY2EJMjAw OC0wOC0wNyAxNToxMjo0NAkxOTU0LTEyLTIzCTE5NTQKK1NFTEVDVCAqIEZST00gcHRyLmQyOwor cmVnaW9uCXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMK K3h4eHh4eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGho aGhoaGhoaAlra2tra2tra2tra2trCW1tbW1tbW1tbW1tbQlvbmxpbmViYWNrdXAxCitEUk9QIERB VEFCQVNFIHB0cjsKKyoqKiBURVNUMyAqKiogOgorVGhpcyB0ZXN0IHdpbGwgcmVjb3ZlciBkYXRh IHVzaW5nIGJpbmxvZyBkYXRlcwordGlsbCBwb2ludCBvZiBiYWNrdXAgYW5kIGFmdGVyIGJhY2t1 cC4KK05vdyB1c2UgYmlubG9nIGRhdGVzIHRvIHJlY292ZXIgdGhlIGRhdGEgdGlsbCBwb2ludCBv ZiBiYWNrdXAuCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJ ZAorNQllCitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0 YQl1cGRhdGVzX2RhdGEJY2hhbmdlcworMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRh MQlhbHRlcmVkCisyMDAJZGF0YTIgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEyCWFsdGVyZWQKKzMw MAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIwlOVUxMCis1MDAJZGF0YTUgZm9y IHRlc3RpbmcJdXBkYXRlIGRhdGE1CU5VTEwKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUg ZGF0YTYJTlVMTAorODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCU5VTEwK KzgwMAlkYXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcglOVUxMCitTRUxFQ1QgKiBGUk9NIHB0ci50 MzsKK2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQorU0VMRUNUICogRlJP TSBwdHIuZDE7CityaW50CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2Fs CWNvbG91cnMJY29udGluZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJ dGVzdGluZzEJc3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIw MDgtMDYtMDEgMTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsK K3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFz Cit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGho aGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorV2UgZXhl Y3V0ZSBiaW5sb2cgdG8gcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0 ZXMuCitTSE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK2QxCitkMgorZGVmaW5p dGlvbgordDEKK3QyCit0MworREVTQ1JJQkUgcHRyLnQxOworRmllbGQJVHlwZQlOdWxsCUtleQlE ZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2EJY2hhcig0KQlZRVMJCU5VTEwJ CitERVNDUklCRSBwdHIudDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lk CWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRlc19kYXRhCXZhcmNoYXIoMzApCVlFUwkJTlVMTAkK K3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MzsKK0ZpZWxkCVR5 cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitiCXZhcmNo YXIoNCkJWUVTCQlOVUxMCQorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgor MwljCis0CWQKKzUJZQorNglmCis3CWcKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlk OworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVw ZGF0ZSBkYXRhMQorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBEQVRFRCMjCis1MDAJ ZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1Cis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBk YXRlIGRhdGE2Cis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2UgZGF0YTEKKzgwMAlk YXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisx MQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKKzEJZmYKKzMJbW0KK1NFTEVDVCAqIEZS T00gcHRyLmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNh bAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3 CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQky MDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorMTAwMDEJMTIwCTY1NTAJNzI3ODYz NDY1Nwk5MDY2NwlBZnRlciBiYWNrdXAJTWlubmVhcG9saXMJNzgyLjk5MDEJNzg5LjIzCTk3ODA2 LjQ1NglibHVlCUFudGFydGljYQkyMDA4LTA4LTA3IDE1OjEyOjQ0CTE5NTQtMTItMjMJMTk1NAor U0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdpb24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmll cwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFh YWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGhoaGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1t CW9ubGluZWJhY2t1cDEKK0RST1AgREFUQUJBU0UgcHRyOworKioqIFRFU1Q0ICoqKiA6CitQZXJm b3JtIFJlc3RvcmUgYW5kIHJlY292ZXIgdHJhbnNhY3Rpb25zIGFmdGVyIGJhY2t1cCBieSBleGVj dXRpbmcKK215c3FsYmlubG9nIHV0aWxpdHkgdXNpbmcgYmlubG9nIGRhdGVzLgorUkVTVE9SRSBG Uk9NICdwdHIuYmFrJzsKK2JhY2t1cF9pZAorIworREVTQ1JJQkUgcHRyLnQxOworRmllbGQJVHlw ZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2EJY2hhcig0 KQlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1 bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRlc19kYXRhCXZhcmNoYXIoMzAp CVlFUwkJTlVMTAkKK3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVMTAkKK2NoYW5nZXMJY2hhcigy MCkJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZh dWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0KQlZRVMJCU5VTEwJ CitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAorNQllCitT RUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRhdGVz X2RhdGEJY2hhbmdlcworMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQlhbHRlcmVk CisyMDAJZGF0YTIgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEyCWFsdGVyZWQKKzMwMAlkYXRhMyBm b3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIwlOVUxMCis1MDAJZGF0YTUgZm9yIHRlc3RpbmcJ dXBkYXRlIGRhdGE1CU5VTEwKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYJTlVM TAorODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCU5VTEwKKzgwMAlkYXRh IHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcglOVUxMCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCWIK KzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQorU0VMRUNUICogRlJPTSBwdHIuZDE7 CityaW50CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJ Y29udGluZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJ c3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEg MTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsKK3JlZ2lvbglz dW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFzCit4eHh4eHh4 eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGhoaGhoaGhoaGgJ a2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorU0hPVyBEQVRBQkFTRVM7 CitEYXRhYmFzZQoraW5mb3JtYXRpb25fc2NoZW1hCitteXNxbAorcHRyCit0ZXN0CitTSE9XIFRB QkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK2QxCitkMgorZGVmaW5pdGlvbgordDEKK3Qy Cit0MworREVTQ1JJQkUgcHRyLnQxOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJh CitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2EJY2hhcig0KQlZRVMJCU5VTEwJCitERVNDUklCRSBw dHIudDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVT CQlOVUxMCQorZGVsZXRlc19kYXRhCXZhcmNoYXIoMzApCVlFUwkJTlVMTAkKK3VwZGF0ZXNfZGF0 YQl0ZXh0CVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MzsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJ RGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitiCXZhcmNoYXIoNCkJWUVTCQlO VUxMCQorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0CWQKKzUJ ZQorNglmCis3CWcKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworaWQJZGVsZXRl c19kYXRhCXVwZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQor MzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBEQVRFRCMjCis1MDAJZGF0YTUgZm9yIHRl c3RpbmcJdXBkYXRlIGRhdGE1Cis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE2Cis4 MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2UgZGF0YTEKKzgwMAlkYXRhIHJlcGxhY2Vk CXJlcGxhY2Ugb3ZlcgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisxMQlhYQorMjIJYmIK KzMzCWNjCis0NAlkZAorNTUJZWUKKzEJZmYKKzMJbW0KK1NFTEVDVCAqIEZST00gcHRyLmQxOwor cmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNhbAljb2xvdXJzCWNv bnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3CXRlc3RpbmcxCXN3 ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQkyMDA4LTA2LTAxIDE2 OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorMTAwMDEJMTIwCTY1NTAJNzI3ODYzNDY1Nwk5MDY2NwlB ZnRlciBiYWNrdXAJTWlubmVhcG9saXMJNzgyLjk5MDEJNzg5LjIzCTk3ODA2LjQ1NglibHVlCUFu dGFydGljYQkyMDA4LTA4LTA3IDE1OjEyOjQ0CTE5NTQtMTItMjMJMTk1NAorU0VMRUNUICogRlJP TSBwdHIuZDI7CityZWdpb24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0 cmFjdAlwYXJhcworeHh4eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJi YmJiYmJiCWhoaGhoaGhoaGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1 cDEKK0RST1AgREFUQUJBU0UgcHRyOworKioqIFRFU1Q1ICoqKiA6CitEbyBjb21wbGV0ZSByZWNv dmVyeSBvZiBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgcG9zaXRpb24uIEVuc3VyZSAK K3RoYXQgcHJlc2VuY2Ugb2YgYmFja3VwIG9wZXJhdGlvbiBpbiB0aGUgYmlubG9nIHNob3VsZG4n dCBoYXZlIGFueSBpbXBhY3QKK1NIT1cgREFUQUJBU0VTOworRGF0YWJhc2UKK2luZm9ybWF0aW9u X3NjaGVtYQorbXlzcWwKK3B0cgordGVzdAorU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNf aW5fcHRyCitkMQorZDIKK2RlZmluaXRpb24KK3QxCit0MgordDMKK0RFU0NSSUJFIHB0ci50MTsK K0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJ CithCWNoYXIoNCkJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQyOworRmllbGQJVHlwZQlOdWxs CUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2 YXJjaGFyKDMwKQlZRVMJCU5VTEwJCit1cGRhdGVzX2RhdGEJdGV4dAlZRVMJCU5VTEwJCitERVND UklCRSBwdHIudDM7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgx MSkJWUVTCQlOVUxMCQorYgl2YXJjaGFyKDQpCVlFUwkJTlVMTAkKK1NFTEVDVCAqIEZST00gcHRy LnQxOworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKKzYJZgorNwlnCitTRUxFQ1QgKiBG Uk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2RhdGEKKzEw MAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwkj I1ZBTFVFIFVQREFURUQjIworNTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQorNjAw CWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNgorODAwCWRhdGExIGZvciByZXBsYWNlbWVu dAlyZXBsYWNlIGRhdGExCis4MDAJZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIKK1NFTEVDVCAq IEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCisx CWZmCiszCW1tCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlzaW50CWJpbnQJbWlu dAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJZG9iCXkKKzc4NQkx MjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAwLjIzCTgy OTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0LTA5LTA4CTE5ODQK KzEwMDAxCTEyMAk2NTUwCTcyNzg2MzQ2NTcJOTA2NjcJQWZ0ZXIgYmFja3VwCU1pbm5lYXBvbGlz CTc4Mi45OTAxCTc4OS4yMwk5NzgwNi40NTYJYmx1ZQlBbnRhcnRpY2EJMjAwOC0wOC0wNyAxNTox Mjo0NAkxOTU0LTEyLTIzCTE5NTQKK1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1h cnkJZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRl c3RvZm9ubGluZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tr a2tra2tra2trCW1tbW1tbW1tbW1tbQlvbmxpbmViYWNrdXAxCitEUk9QIERBVEFCQVNFIHB0cjsK KyoqKiBURVNUNiAqKiogOgorRG8gY29tcGxldGUgcmVjb3Zlcnkgb2YgZGF0YSBhZnRlciBiYWNr dXAgdXNpbmcgYmlubG9nIGRhdGVzLiBFbnN1cmUKK3RoYXQgcHJlc2VuY2Ugb2YgYmFja3VwIG9w ZXJhdGlvbiBpbiB0aGUgYmlubG9nIHNob3VsZG4ndCBoYXZlIGFueSBpbXBhY3QKK1NIT1cgREFU QUJBU0VTOworRGF0YWJhc2UKK2luZm9ybWF0aW9uX3NjaGVtYQorbXlzcWwKK3B0cgordGVzdAor U0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCitkMQorZDIKK2RlZmluaXRpb24K K3QxCit0MgordDMKK0RFU0NSSUJFIHB0ci50MTsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVs dAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCithCWNoYXIoNCkJWUVTCQlOVUxMCQorREVT Q1JJQkUgcHRyLnQyOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQo MTEpCVlFUwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2YXJjaGFyKDMwKQlZRVMJCU5VTEwJCit1cGRh dGVzX2RhdGEJdGV4dAlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDM7CitGaWVsZAlUeXBlCU51 bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYgl2YXJjaGFyKDQp CVlFUwkJTlVMTAkKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJYQorMQlhCisyCWIKKzMJYwor NAlkCis1CWUKKzYJZgorNwlnCitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lk CWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2RhdGEKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUg ZGF0YTEKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIworNTAwCWRhdGE1 IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBk YXRhNgorODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCis4MDAJZGF0YSBy ZXBsYWNlZAlyZXBsYWNlIG92ZXIKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEK KzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCisxCWZmCiszCW1tCitTRUxFQ1QgKiBGUk9NIHB0 ci5kMTsKK3JpbnQJdGludAlzaW50CWJpbnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29s b3Vycwljb250aW5lbnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0 aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0w Ni0wMSAxNjoyMzozMAkxOTg0LTA5LTA4CTE5ODQKKzEwMDAxCTEyMAk2NTUwCTcyNzg2MzQ2NTcJ OTA2NjcJQWZ0ZXIgYmFja3VwCU1pbm5lYXBvbGlzCTc4Mi45OTAxCTc4OS4yMwk5NzgwNi40NTYJ Ymx1ZQlBbnRhcnRpY2EJMjAwOC0wOC0wNyAxNToxMjo0NAkxOTU0LTEyLTIzCTE5NTQKK1NFTEVD VCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVl cnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJYWFhYWFhYWFh YQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2trCW1tbW1tbW1tbW1tbQlvbmxp bmViYWNrdXAxCisKKyoqKiAgRFJPUCBwdHIgREFUQUJBU0UgKioqKgorCitEUk9QIERBVEFCQVNF IHB0cjsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3Iv YmFja3VwX3B0cl9vYmplY3RzX21peGVkLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9i YWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfb2JqZWN0c19taXhlZC5yZXN1bHQJMTk3MC0wMS0w MSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3Iv YmFja3VwX3B0cl9vYmplY3RzX21peGVkLnJlc3VsdAkyMDA4LTEwLTA4IDA0OjI2OjI1ICswMDAw CkBAIC0wLDAgKzEsMjEwNiBAQAorU0hPVyBWQVJJQUJMRVMgTElLRSAnc3RvcmFnZV9lbmdpbmUn OworVmFyaWFibGVfbmFtZQlWYWx1ZQorc3RvcmFnZV9lbmdpbmUJIworU0VUIEdMT0JBTCBCSU5M T0dfRk9STUFUPSdNSVhFRCc7CitTRVQgQklOTE9HX0ZPUk1BVD0nTUlYRUQnOworU0VMRUNUIEBA QklOTE9HX0ZPUk1BVDsKK0BAQklOTE9HX0ZPUk1BVAorTUlYRUQKK1JFU0VUIE1BU1RFUjsKKyoq U1RBUlQgVEVTVCoqCisqKiogVEVTVDEgKioqCitUaGlzIHRlc3Qgd2lsbCByZWNvdmVyIGRhdGEg YW5kIG9iamVjdHMgdXNpbmcgYmlubG9nIHBvc2l0aW9uCit0aWxsIHBvaW50IG9mIGJhY2t1cCBh bmQgYWZ0ZXIgYmFja3VwLgorCitTRVQgQGE9VU5JWF9USU1FU1RBTVAoIjIwMTAtMDEtMjEgMTU6 MzI6MjIiKTsKK1NFVCB0aW1lc3RhbXA9QGE7CitDUkVBVEUgREFUQUJBU0UgSUYgTk9UIEVYSVNU UyBwdHJfb2IxOworQ1JFQVRFIERBVEFCQVNFIElGIE5PVCBFWElTVFMgcHRyX29iMjsKK1VTRSBw dHJfb2IxOworKioqKiBDcmVhdGluZyB0YWJsZXMgKioqKgorQ1JFQVRFIFRBQkxFIHB0cl9vYjEu dDEoCitpZCBJTlQsIAorYSBJTlQsIAorYiBDSEFSKDUpCispOworQ1JFQVRFIFRBQkxFIHB0cl9v YjEudDIoCitpZCBJTlQgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQgUFJJTUFSWSBLRVksIAorZGF0 YSBDSEFSKDUwKQorKTsKK0NSRUFURSBUQUJMRSBwdHJfb2IxLnQzKAorc3JubyBJTlQgQVVUT19J TkNSRU1FTlQsIAorUFJJTUFSWSBLRVkoc3JubyksIAorbmFtZSBWQVJDSEFSKDMwKSBOT1QgTlVM TCwgCitvbGRfYSBJTlQKKyk7CitDUkVBVEUgVEFCTEUgcHRyX29iMi50MSgKK2lkIElOVCwgCiti IENIQVIoNSkKKyk7CitDUkVBVEUgVEFCTEUgcHRyX29iMi50MihpZCBTTUFMTElOVCk7CitJTlNF UlQgSU5UTyBwdHJfb2IyLnQxIFZBTFVFUygxMSwnc2V0MScpLCgyMSwnc2V0MicpLCgzLCdzZXQz JyksKDQsJ3NldDQnKTsKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDIgVkFMVUVTKDkxKSwoNSksKDI2 KSwoMzMpLCg1KTsKKyoqKiogQ3JlYXRpbmcgdmlld3MgKioqKgorQ1JFQVRFIFZJRVcgcHRyX29i MS52IEFTIFNFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK0NSRUFURSBWSUVXIHB0cl9vYjEudjEg QVMgU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworQ1JFQVRFIFRBQkxFIHB0cl9vYjEudHYxKGlk IFNNQUxMSU5UKTsKK0lOU0VSVCBJTlRPIHB0cl9vYjEudHYxICBWQUxVRVMoMSksKDIpLCgzKSwo MyksKDUpOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MSBVTklPTiBBTEwgU0VMRUNUICogRlJP TSBwdHJfb2IyLnQyOworaWQKKzEKKzIKKzMKKzMKKzUKKzkxCis1CisyNgorMzMKKzUKK0NSRUFU RSBWSUVXIHB0cl9vYjIudjEgQVMgU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MSAgVU5JT04gQUxM IAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQyIE9SREVSIEJZIGlkOworU0VMRUNUICogRlJPTSBw dHJfb2IyLnYxOworaWQKKzEKKzIKKzMKKzMKKzUKKzUKKzUKKzI2CiszMworOTEKKyMjIyMgQ3Jl YXRpbmcgdmlldyBmcm9tIGFub3RoZXIgdmlldyAjIyMjCitDUkVBVEUgVklFVyBwdHJfb2IxLnZ2 IEFTIFNFTEVDVCBTVU0oaWQpIGZyb20gcHRyX29iMi52MSBHUk9VUCBCWSBpZDsKK1NFTEVDVCAq IEZST00gcHRyX29iMS52djsKK1NVTShpZCkKKzEKKzIKKzYKKzE1CisyNgorMzMKKzkxCisqKioq IENyZWF0aW5nIFRyaWdnZXJzICoqKioKK0NSRUFURSBUUklHR0VSIHB0cl9vYjEudHJnMSBCRUZP UkUgSU5TRVJUIE9OIHB0cl9vYjEudDEgRk9SIEVBQ0ggUk9XCitCRUdJTgorSU5TRVJUIElOVE8g cHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5EO3x8CitJTlNFUlQgSU5U TyBwdHJfb2IxLnQxIFZBTFVFUygxLDIwLCAnYmIxJyksICgyLDUwLCAnYmIyJyksKDMsODAsJ2Ji MycpOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMgk1MAli YjIKKzMJODAJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EK KzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKK0NSRUFURSBUUklHR0VSIHB0cl9vYjEudHJnMiBB RlRFUiBJTlNFUlQgT04gcHRyX29iMS50MiBGT1IgRUFDSCBST1cKK0JFR0lOCitJTlNFUlQgSU5U TyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJU JywgMTAwKTsKK0VORDt8fAorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCAn Tm9ybWFsIEluc2VydDEnKSwoTlVMTCwgJ05vcm1hbCBJbnNlcnQyJyksCisoTlVMTCwgJ05vcm1h bCBJbnNlcnQzJyksKE5VTEwsICdOb3JtYWwgSW5zZXJ0NCcpOworU0VMRUNUICogRlJPTSBwdHJf b2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlO b3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQz Oworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK0NSRUFURSBUUklHR0VSIHB0cl9vYjIudHJnMyBC RUZPUkUgREVMRVRFIE9OIHB0cl9vYjIudDIgRk9SIEVBQ0ggUk9XCitTRVQgQGRlbF9zdW06PSBA ZGVsX3N1bSArIG9sZC5pZDt8fAorU0VUIEBkZWxfc3VtOj0gMDt8fAorREVMRVRFIEZST00gcHRy X29iMi50MiBXSEVSRSBpZD0yNjsKK0RFTEVURSBGUk9NIHB0cl9vYjIudDIgV0hFUkUgaWQ9OTE7 CitTRUxFQ1QgQGRlbF9zdW07CitAZGVsX3N1bQorMTE3CitDUkVBVEUgVFJJR0dFUiBwdHJfb2Ix LnRyZzQgQUZURVIgREVMRVRFIE9OIHB0cl9vYjEudDEgRk9SIEVBQ0ggUk9XCitCRUdJTiAKK0lO U0VSVCBJTlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORDt8 fAorREVMRVRFIEZST00gcHRyX29iMS50MSBXSEVSRSBpZD0yOworU0VMRUNUICogRlJPTSBwdHJf b2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4MAliYjMKK1NFTEVDVCAqIEZST00gcHRyX29i Mi50MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJc2V0MworNAlzZXQ0CisyCWJiMgorQ1JF QVRFIFRSSUdHRVIgcHRyX29iMS50cmc1IEJFRk9SRSBVUERBVEUgT04gcHRyX29iMS50MSBGT1Ig RUFDSCBST1cKK0JFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xkLmE7CitTRVQg QGFfbmV3PW5ldy5hOworRU5EOworfHwKK1VQREFURSBwdHJfb2IxLnQxIFNFVCBhPSc4NScgV0hF UkUgYj0nYmIzJzsKK1NFTEVDVCBAaWQsIEBhX29sZCwgQGFfbmV3OworQGlkCUBhX29sZAlAYV9u ZXcKKzMJODAJODUKK0NSRUFURSBUUklHR0VSIHB0cl9vYjIudHJnNiBBRlRFUiBVUERBVEUgT04g cHRyX29iMi50MSBGT1IgRUFDSCBST1cKK0JFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZB TFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50 MScpOyAgCitFTkQ7Cit8fAorVVBEQVRFIHB0cl9vYjIudDEgU0VUIGI9J2FsZXJ0JyBXSEVSRSBp ZD0zOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0Mgor MwlhbGVydAorNAlzZXQ0CisyCWJiMgorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0 YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0Mwor NAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0 cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNl dDIKKzMJYWxlcnQKKzQJc2V0NAorMgliYjIKKworKioqKiBDcmVhdGluZyBzdG9yZWQgUHJvY2Vk dXJlcyBhbmQgZnVuY3Rpb25zICoqKioKKworIyMjIyBUaGUgcHJvY2VkdXJlIHAxIHdpbGwgaW5z ZXJ0IFZBTFVFUyBpbiB2aWV3ICMjIyMKK0NSRUFURSBQUk9DRURVUkUgcHRyX29iMS5wMShkZXRh aWxzIENIQVIoNDApLCBpZCBJTlQpCitCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS52MSBWQUxV RVMoMSwnZmlyZWQnKTsKK0VORDsKK3x8CisjIyMjIFByb2NlZHVyZSBwMiB3aWxsIHRyaWdnZXIg dHJnMiAjIyMjCitDUkVBVEUgUFJPQ0VEVVJFIHB0cl9vYjEucDIoY29udGVudCBWQVJDSEFSKDQw KSkKK0JFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUyhOVUxMLCAnVHJpZ2dlciBm aXJlZCBmcm9tIHByb2NlZHVyZSBwMicpOworRU5EO3x8CisjIyMjIFByb2NlZHVyZSBwMyB3aWxs IHRyaWdnZXIgdHJnNiAjIyMjCitDUkVBVEUgUFJPQ0VEVVJFIHB0cl9vYjEucDMoaW5mbyBURVhU KQorQkVHSU4KK1VQREFURSBwdHJfb2IyLnQxIFNFVCBiPScjdXAjJyBXSEVSRSBpZD00OworRU5E O3x8CisjIyMjIFByb2NlZHVyZSBwNCB3aWxsIGNhbGwgdmlldyAjIyMjCitDUkVBVEUgUFJPQ0VE VVJFIHB0cl9vYjIucDQoKSAKK0JFR0lOCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitFTkQ7 Cit8fAorIyMjIyBGdW5jdGlvbiBmMSgpICMjIyMKK0NSRUFURSBGVU5DVElPTiBmMSgpIFJFVFVS TlMgSU5UCitSRVRVUk4gKFNFTEVDVCBDT1VOVCgqKSBGUk9NIHB0cl9vYjEudjEpO3x8CitTRUxF Q1QgZjEoKTsKK2YxKCkKKzUKK0NBTEwgcHRyX29iMS5wMSgncHJvY2VkdXJlIHAxIGNhbGxlZCBm b3IgdmlldyB2MScsIDEpOworQ0FMTCBwdHJfb2IxLnAxKCdwcm9jZWR1cmUgcDEgY2FsbGVkIGZv ciB2aWV3IHYxJywgMik7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQx CisyMQlzZXQyCiszCWFsZXJ0Cis0CXNldDQKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0 CXNldDQKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitDQUxMIHB0cl9vYjEucDIoJ3Byb2NlZHVy ZSBwMiBjYWxsZWQgZm9yIHRyZzInKTsKK0NBTEwgcHRyX29iMS5wMigncHJvY2VkdXJlIHAyIGFn YWluIGNhbGxlZCBmb3IgdHJnMicpOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0 YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0Mwor NAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0 cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZp cmVkIGZyb20gcHJvY2VkdXJlIHAyCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5h bWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKKzQJdHJpZ2dlciBmaXJlZCBmb3Ig QUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis2 CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzcJdHJpZ2dlciBmaXJlZCBmb3Ig QUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis5 CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKK0NBTEwgcHRyX29iMS5wMygncHJvY2VkdXJlIHAzIGNhbGxlZCBm b3IgdHJnNicpOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJ c2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICog RlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5z ZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVk IGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHBy b2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIg ZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorQ0FMTCBwdHJfb2IyLnA0KCk7 CitpZAorMQorMgorMworMworNQorNQorNQorMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsK K2lkCisxCisyCiszCiszCis1Cis1Cis1CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2Owor U1VNKGlkKQorMQorMgorNgorMTUKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQK KzEKKzIKKzMKKzMKKzUKKyoqIENoZWNraW5nIGRhdGEgY29udGVudHMgaW4gYWxsIHRoZSB0YWJs ZXMgYmVmb3JlIHBlcmZvcm1pbmcgYmFja3VwICoqCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitE YglOYW1lCVR5cGUJRGVmaW5lcglNb2RpZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVu dAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xs YXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkj CSMJIworcHRyX29iMQlwMglQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJ IwkjCitwdHJfb2IxCXAzCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkj CSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJ IworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRl bWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50 CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJ QkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsK K0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VU IEBpZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkj CSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJ TlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJv b3RAbG9jYWxob3N0CSMJIwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRy X29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEw MCk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0 cl9vYjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxf bW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURh dGFiYXNlIENvbGxhdGlvbgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9v YjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBw dHJfb2IyLnQxJyk7ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVU RQl0MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2Ix CVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUK K3R2MQlCQVNFIFRBQkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2CVZJRVcKK1NIT1cgRlVMTCBUQUJM RVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJVGFibGVfdHlwZQordDEJQkFTRSBU QUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxOwor aWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52OworaWQJ YQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRh dGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMK KzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBw dHJfb2IyLnQxCis2CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBm aXJlZCBmcm9tIHByb2NlZHVyZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRl IG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRf YQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJdHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIg SU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorU0VMRUNU ICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkj dXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnYxOwor aWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAor MQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MTsKK2lkCisxCisyCiszCiszCis1CitT RUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQorMgorMworMworNQorNQorNQorMzMKK1NF TEVDVCAqIEZST00gcHRyX29iMS52djsKK1NVTShpZCkKKzEKKzIKKzYKKzE1CiszMworU0VMRUNU IHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorNworc2V0IHRpbWVzdGFtcD1AYSsyOworTWFr ZSBzb21lIGNoYW5nZXMgdG8gb2JqZWN0cy4KK0FMVEVSIFZJRVcgcHRyX29iMS52IEFTIFNFTEVD VCBpZCwgYSBGUk9NIHB0cl9vYjEudDE7CitBTFRFUiBUQUJMRSBwdHJfb2IxLnZ2IFJFTkFNRSBU TyBwdHJfb2IxLnZ2YTsKK0FMVEVSIFRBQkxFIHB0cl9vYjIudDIgQUREIENPTFVNTiBhZl9iYWNr dXAgVkFSQ0hBUigzMCk7CitBTFRFUiBUQUJMRSBwdHJfb2IxLnQzIENIQU5HRSBuYW1lIG5hbWUg VEVYVDsKK0RFU0NSSUJFIHB0cl9vYjEudDM7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJ RXh0cmEKK3Nybm8JaW50KDExKQlOTwlQUkkJTlVMTAlhdXRvX2luY3JlbWVudAorbmFtZQl0ZXh0 CVlFUwkJTlVMTAkKK29sZF9hCWludCgxMSkJWUVTCQlOVUxMCQorQUxURVIgUFJPQ0VEVVJFIHB0 cl9vYjIucDQgQ09NTUVOVCAnQUZURVIgQkFDS1VQJzsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52 OworaWQJYQorMQkyMAorMwk4NQorQ3JlYXRpbmcgc29tZSBuZXcgb2JqZWN0cworQ1JFQVRFIFRB QkxFIHB0cl9vYjEudDExIChpIElOVCwgc3IgSU5ULCBqIElOVCkgZW5naW5lPW15aXNhbTsKK0lO U0VSVCBJTlRPIHB0cl9vYjEudDExIFZBTFVFUyAoMSwgMiwgMyk7CitDUkVBVEUgVFJJR0dFUiBw dHJfb2IxLmFpIEFGVEVSIElOU0VSVCBPTiBwdHJfb2IxLnQxMSBGT1IgRUFDSCBST1cgU0VUIEBh Oj0gbmV3LnNyOworQ1JFQVRFIFRSSUdHRVIgcHRyX29iMS5hdSBBRlRFUiBVUERBVEUgT04gcHRy X29iMS50MTEgRk9SIEVBQ0ggUk9XIFNFVCBAYTo9IG5ldy5zcjsKK0NSRUFURSBUUklHR0VSIHB0 cl9vYjEuYWQgQUZURVIgREVMRVRFIE9OIHB0cl9vYjEudDExIEZPUiBFQUNIIFJPVyBTRVQgQGE6 PSBvbGQuc3I7CitJTlNFUlQgSU5UTyBwdHJfb2IxLnQxMSBWQUxVRVMoNCwgNSwgNiksKDcsIDgs IDkpOworU0VMRUNUIEBhOworQGEKKzgKK1VQREFURSBwdHJfb2IxLnQxMSBTRVQgaT0xMCBXSEVS RSBzcj01OworU0VMRUNUIEBhOworQGEKKzUKK0RFTEVURSBGUk9NIHB0cl9vYjEudDExIFdIRVJF IHNyPTg7CitTRUxFQ1QgQGE7CitAYQorOAorTm93IGFsdGVyIHRoZSB0YWJsZSAKK0FMVEVSIFRB QkxFIHB0cl9vYjEudDExIERST1AgQ09MVU1OIGo7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDEx OworaQlzcgorMQkyCisxMAk1CitJTlNFUlQgSU5UTyBwdHJfb2IxLnQxMSBWQUxVRVMoMTEsIDEy KTsKK1NFTEVDVCBAYTsKK0BhCisxMgorRmlyaW5nIGV4aXN0aW5nIHRyaWdnZXJzIGFuZCBjYWxs aW5nIHByb2NlZHVyZXMuCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUyhOVUxMLCAnSW5z ZXJ0IGFmdGVyIGJhY2t1cCcpOworSU5TRVJUIElOVE8gcHRyX29iMi50MiBWQUxVRVMoMTAsICdh Zl9iazEnKSwoMiwgJ2FmX2JrMicpLCg3LCdhZl9iazMnKSwoMiwnYWZfYms0Jyk7CitERUxFVEUg RlJPTSBwdHJfb2IyLnQyIFdIRVJFIGlkPTEwOworU0VMRUNUIEBkZWxfc3VtOworQGRlbF9zdW0K KzEyNworQ0FMTCBwdHJfb2IxLnAxKCdwcm9jZWR1cmUgcDEgYWZfYmt1cCBmb3IgdmlldyB2MScs IDMpOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0Mgor MwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNU ICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkj dXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorQ0FMTCBwdHJfb2IxLnAyKCdw cm9jZWR1cmUgcDIgY2FsbGVkICBhZl9ia3VwIGZvciB0cmcyJyk7CitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCisz CU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBh ZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJl IHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBm cm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis5CUluc2VydCBhZnRlciBiYWNrdXAKKzEw CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKK1NFTEVDVCAqIEZST00gcHRyX29iMS50 MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIg SU5TRVJUCTEwMAorMTIJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTMJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorQ0FMTCBwdHJfb2IxLnAzKCdwcm9jZWR1 cmUgcDMgY2FsbGVkIGFmX2JrdXAgZm9yIHRyZzYnKTsKK1NFTEVDVCAqIEZST00gcHRyX29iMi50 MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmly ZWQKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEK KzEJTm9ybWFsIEluc2VydDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJ Tm9ybWFsIEluc2VydDQKKzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJf b2IyLnQxCis2CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJl ZCBmcm9tIHByb2NlZHVyZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9m IHB0cl9vYjIudDEKKzkJSW5zZXJ0IGFmdGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9t IHByb2NlZHVyZSBwMgorMTEJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJf b2IyLnQxCitDQUxMIHB0cl9vYjIucDQoKTsKK2lkCisxCisyCisyCisyCiszCiszCis1Cis1Cis1 Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMK KzUKKzUKKzUKKzcKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQor NgorNgorMTUKKzcKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQKKzEKKzIKKzMK KzMKKzUKK0NoZWNraW5nIHRoZSBkYXRhIGNvbnRlbnRzIGFmdGVyIGJhY2t1cC4KK1NIT1cgUFJP Q0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJU2Vj dXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0 aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2NhbGhv c3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2FsaG9z dAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0 CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJ IwkjCURFRklORVIJQUZURVIgQkFDS1VQCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29i MTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2Rl CURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJh c2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50 MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xk LmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3Ry ZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFMVUVT KG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FpCUlOU0VS VAl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2F1CVVQREFU RQl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FkCURFTEVU RQl0MTEJU0VUIEBhOj0gb2xkLnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJSU5T RVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFibGUJ U3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9j bGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQREFU RQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2Vy IGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJcm9v dEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxfc3Vt ICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMgRlJP TSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQor dDExCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNFIFRB QkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2YQlWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRy X29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJB U0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgorMQky MAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEKKzEJMjAKKzMJ ODUKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEK KzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJ VHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIg ZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBw MgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzkJSW5z ZXJ0IGFmdGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorMTEJ VHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJ ODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkx MDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkx MDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmly ZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzE0CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lk CWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJ ZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEK KzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKKzEJZmly ZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorU0VMRUNU ICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUKKzUKKzUKKzcKKzMz CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQorNgorNgorMTUKKzcKKzMz CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDExOworaQlzcgorMQkyCisxMAk1CisxMQkxMgorU0VM RUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorOAorU0VUIFRJTUVTVEFNUD1AYSs0Owor RkxVU0ggTE9HUzsKK0RST1AgREFUQUJBU0UgcHRyX29iMTsKK0RST1AgREFUQUJBU0UgcHRyX29i MjsKKyoqKiogRXhlY3V0ZSBteXNxbGJpbmxvZyB0byByZWNvdmVyIHRoZSBkYXRhIGZyb20gc3Rh cnQgdG8gYmFja3VwICoqKioKK1NIT1cgUFJPQ0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlE ZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJU2VjdXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9z ZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29i MQlwMQlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2Ix CXAyCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJ cDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglw NAlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitTSE9XIFRSSUdH RVJTIEZST00gcHRyX29iMTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlD cmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nv bm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJU IElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9v dEBsb2NhbGhvc3QJIwkjCSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsK K1NFVCBAYV9vbGQ9b2xkLmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2Nh bGhvc3QJIwkjCSMKK3RyZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50 MShpZCwgYikgVkFMVUVTKG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJ IwkjCSMKK3RyZzIJSU5TRVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVF UyhOVUxMLCAndHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJ CXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdn ZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJ Y2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0 aW9uCit0cmc2CVVQREFURQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMK KyhOVUxMLCdUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsg IAorRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVs X3N1bTo9IEBkZWxfc3VtICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cg RlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQor dDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFC TEUKK3YJVklFVwordjEJVklFVwordnYJVklFVworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9v YjI7CitUYWJsZXNfaW5fcHRyX29iMglUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNF IFRBQkxFCit2MQlWSUVXCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJ YmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlhCWIKKzEJMjAJYmIx CiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwg SW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5z ZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJ VHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJv Y2VkdXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50 MQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisy CXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisx MQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9NIHB0cl9v YjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisx CWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQx CisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00g cHRyX29iMi52MTsKK2lkCisxCisyCiszCiszCis1Cis1Cis1CiszMworU0VMRUNUICogRlJPTSBw dHJfb2IxLnZ2OworU1VNKGlkKQorMQorMgorNgorMTUKKzMzCitTRUxFQ1QgcHRyX29iMS5mMSgp OworcHRyX29iMS5mMSgpCis3CisqKioqIE5vdyBwZXJmb3JtIGFub3RoZXIgcmVjb3ZlcnkgdG8g cmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCAqKioqCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitE YglOYW1lCVR5cGUJRGVmaW5lcglNb2RpZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVu dAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xs YXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkj CSMJIworcHRyX29iMQlwMglQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJ IwkjCitwdHJfb2IxCXAzCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkj CSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCUFGVEVS IEJBQ0tVUAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50 CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rl cl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJn MQlJTlNFUlQJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0 MScsIG5ldy5hKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0 MQlCRUdJTgorU0VUIEBpZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1u ZXcuYTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJ TiAKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsK K0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCithaQlJTlNFUlQJdDExCVNFVCBAYTo9IG5l dy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCithdQlVUERBVEUJdDExCVNFVCBAYTo9IG5l dy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCithZAlERUxFVEUJdDExCVNFVCBAYTo9IG9s ZC5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5T RVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVS IElOU0VSVCcsIDEwMCk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklH R0VSUyBGUk9NIHB0cl9vYjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJ Q3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9j b25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VS VCBJTlRPIHB0cl9vYjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVy IHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkj Cit0cmczCURFTEVURQl0MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJv b3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxl c19pbl9wdHJfb2IxCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QxMQlCQVNFIFRBQkxFCit0 MglCQVNFIFRBQkxFCit0MwlCQVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlW SUVXCit2dmEJVklFVworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5f cHRyX29iMglUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVX CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMwor U0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlhCisxCTIwCiszCTg1CitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQy CiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJv bSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2Vk dXJlIHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJl ZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis5CUluc2VydCBhZnRlciBiYWNrdXAK KzEwCVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzExCVRyaWdnZXIgZmlyZWQgZnJv bSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOwor c3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmly ZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJU CTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmly ZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJU CTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCisxMgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMwl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlz ZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitT RUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0 Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudHYxOworaWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52 MTsKK2lkCisxCisyCisyCisyCiszCiszCis1Cis1Cis1Cis3CiszMworU0VMRUNUICogRlJPTSBw dHJfb2IxLnZ2YTsKK1NVTShpZCkKKzEKKzYKKzYKKzE1Cis3CiszMworU0VMRUNUICogRlJPTSBw dHJfb2IxLnQxMTsKK2kJc3IKKzEJMgorMTAJNQorMTEJMTIKK1NFTEVDVCBwdHJfb2IxLmYxKCk7 CitwdHJfb2IxLmYxKCkKKzgKK0RST1AgREFUQUJBU0UgcHRyX29iMTsKK0RST1AgREFUQUJBU0Ug cHRyX29iMjsKKyoqKiBURVNUMiAqKiogOgorUGVyZm9ybSBSZXN0b3JlIGFuZCByZWNvdmVyIHRy YW5zYWN0aW9ucyBhZnRlciBiYWNrdXAgYnkgZXhlY3V0aW5nIAorbXlzcWxiaW5sb2cgdXRpbGl0 eSB1c2luZyBiaW5sb2cgcG9zaXRpb24uCisKK1BlcmZyb20gUmVzdG9yZSBvcGVyYXRpb24KK1JF U1RPUkUgRlJPTSAncHRyX29iamVjdHMuYmFrJzsKK2JhY2t1cF9pZAorIworU0hPVyBQUk9DRURV UkUgU1RBVFVTOworRGIJTmFtZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0 eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24J RGF0YWJhc2UgQ29sbGF0aW9uCitwdHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkj CSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJ IwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkj CURFRklORVIJCSMJIwkjCitwdHJfb2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJ REVGSU5FUgkJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglFdmVu dAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0 ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3Ry ZzEJSU5TRVJUCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAn dDEnLCBuZXcuYSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERBVEUJ dDEJQkVHSU4KK1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9 bmV3LmE7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJQkVH SU4gCitJTlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7 CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4KK0lO U0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQnLCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgVFJJ R0dFUlMgRlJPTSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5n CUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25f Y29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJTlNF UlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRl ciB1cGRhdGUgb2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJ IwordHJnMwlERUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitUYWJs ZXNfaW5fcHRyX29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit0 MwlCQVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dglWSUVXCitT SE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5 cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00g cHRyX29iMS50MTsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudjsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5v cm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRl ciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAy Cis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9t IGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7Citz cm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKKzQJdHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJ MTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzcJdHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJ MTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEwCXRyaWdnZXIgZmly ZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIK KzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00g cHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgli YjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQor MgorMworMworNQorU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzMKKzMKKzUK KzUKKzUKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTVU0oaWQpCisxCisyCis2Cisx NQorMzMKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzcKK05vdyB1c2UgYmlu bG9nIHBvc2l0aW9uIHRvIHJlY292ZXIgZGF0YSBhZnRlciBiYWNrdXAKK1NIT1cgUFJPQ0VEVVJF IFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJU2VjdXJpdHlf dHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURh dGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkj CURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJ REVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlE RUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURF RklORVIJQUZURVIgQkFDS1VQCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMTsKK1Ry aWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmlu ZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29s bGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxV RVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3Ry ZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xkLmE7CitT RVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzQJREVM RVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFMVUVTKG9sZC5p ZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FpCUlOU0VSVAl0MTEJ U0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2F1CVVQREFURQl0MTEJ U0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FkCURFTEVURQl0MTEJ U0VUIEBhOj0gb2xkLnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJSU5TRVJUCXQy CUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkj CitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVt ZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJ Y29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQREFURQl0MQlC RUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2VyIGZpcmVk IGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJcm9vdEBsb2Nh bGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxfc3VtICsgb2xk LmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJf b2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDExCUJB U0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNFIFRBQkxFCit2 CVZJRVcKK3YxCVZJRVcKK3Z2YQlWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMjsK K1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFC TEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgorMQkyMAliYjEK KzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEKKzEJMjAKKzMJODUKK1NF TEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9y bWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dl ciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIgZmlyZWQg ZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorOAlU cmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzkJSW5zZXJ0IGFm dGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorMTEJVHJpZ2dl ciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKKzQJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzcJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEw CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzE0CXRyaWdnZXIgZmlyZWQg Zm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIKKzEx CXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQK KzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNl dDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKKzEJZmlyZWQKK1NF TEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorU0VMRUNUICogRlJP TSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUKKzUKKzUKKzcKKzMzCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQorNgorNgorMTUKKzcKKzMzCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudDExOworaQlzcgorMQkyCisxMAk1CisxMQkxMgorU0VMRUNUIHB0 cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorOAorRFJPUCBEQVRBQkFTRSBwdHJfb2IxOworRFJP UCBEQVRBQkFTRSBwdHJfb2IyOworKioqIFRFU1QzICoqKiA6CitUaGlzIHRlc3Qgd2lsbCByZWNv dmVyIGRhdGEgYW5kIG9iamVjdHMgdXNpbmcgYmlubG9nIGRhdGVzCit0aWxsIHBvaW50IG9mIGJh Y2t1cCBhbmQgYWZ0ZXIgYmFja3VwLgorCitVc2UgbXlzcWxiaW5sb2cgZGF0ZXMgdG8gcmVjb3Zl ciBkYXRhIHRpbGwgcG9pbnQgb2YgYmFja3VwLgorU0hPVyBQUk9DRURVUkUgU1RBVFVTOworRGIJ TmFtZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJ Y2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0 aW9uCitwdHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkj CSMKK3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJ IworcHRyX29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkj CitwdHJfb2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMK K1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1l bnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAlj b2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzEJSU5TRVJUCXQxCUJF R0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEnLCBuZXcuYSk7CitF TkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERBVEUJdDEJQkVHSU4KK1NFVCBA aWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7CitFTkQJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJQkVHSU4gCitJTlNFUlQgSU5U TyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQJIwkjCQlyb290 QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9v YjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQnLCAxMDAp OworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJf b2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21v ZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRh YmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2Ix LnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRy X29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMwlERUxFVEUJ dDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkjCQlyb290QGxvY2FsaG9zdAkj CSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitUYWJsZXNfaW5fcHRyX29iMQlU YWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit0MwlCQVNFIFRBQkxFCit0 djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dglWSUVXCitTSE9XIEZVTEwgVEFCTEVT IEZST00gcHRyX29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFC TEUKK3QyCUJBU0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lk CWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEJ YgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRh CisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0 CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRy X29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIgZmly ZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBv ZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EK KzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzExCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAq IEZST00gcHRyX29iMi50MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3Vw IworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lk CWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJ ZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorU0VM RUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzMKKzMKKzUKKzUKKzUKKzMzCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudnY7CitTVU0oaWQpCisxCisyCis2CisxNQorMzMKK1NFTEVDVCBw dHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzcKK1VzZSBteXNxbGJpbmxvZyBkYXRlcyB0byBy ZWNvdmVyIGRhdGEgYWZ0ZXIgYmFja3VwIAorU0hPVyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFt ZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hh cmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9u CitwdHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMK K3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIwor cHRyX29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitw dHJfb2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUglBRlRFUiBCQUNL VVAJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglFdmVudAlUYWJs ZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0 X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzEJSU5T RVJUCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEnLCBu ZXcuYSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERBVEUJdDEJQkVH SU4KK1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7 CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJQkVHSU4gCitJ TlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQJ IwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYWkJSU5TRVJUCXQxMQlTRVQgQGE6PSBuZXcuc3IJ IwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYXUJVVBEQVRFCXQxMQlTRVQgQGE6PSBuZXcuc3IJ IwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYWQJREVMRVRFCXQxMQlTRVQgQGE6PSBvbGQuc3IJ IwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4KK0lOU0VSVCBJ TlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQnLCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgVFJJR0dFUlMg RlJPTSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0 ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVj dGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJTlNFUlQgSU5U TyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRh dGUgb2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJn MwlERUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkjCQlyb290QGxv Y2FsaG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitUYWJsZXNfaW5f cHRyX29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MTEJQkFTRSBUQUJMRQordDIJQkFT RSBUQUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJVklFVwor dnZhCVZJRVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9v YjIJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VM RUNUICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVD VCAqIEZST00gcHRyX29iMS52OworaWQJYQorMQkyMAorMwk4NQorU0VMRUNUICogRlJPTSBwdHJf b2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlO b3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0 ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBw MgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJv bSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorOQlJbnNlcnQgYWZ0ZXIgYmFja3VwCisxMAlU cmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCisxMQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0 ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8J bmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEw MAorMTIJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTMJdHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJU CTEwMAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0Mgor MwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNU ICogRlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkj dXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJf b2IxLnR2MTsKK2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7Citp ZAorMQorMgorMgorMgorMworMworNQorNQorNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29i MS52dmE7CitTVU0oaWQpCisxCis2Cis2CisxNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29i MS50MTE7CitpCXNyCisxCTIKKzEwCTUKKzExCTEyCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRy X29iMS5mMSgpCis4CitEUk9QIERBVEFCQVNFIHB0cl9vYjE7CitEUk9QIERBVEFCQVNFIHB0cl9v YjI7CisqKiogVEVTVDQgKioqIDoKK1BlcmZvcm0gUmVzdG9yZSBhbmQgcmVjb3ZlciBvYmplY3Rz IGFmdGVyIGJhY2t1cCBieSBleGVjdXRpbmcgbXlzcWxiaW5sb2cKK3V0aWxpdHkgdXNpbmcgYmlu bG9nIGRhdGVzLgorCitQZXJmb3JtIFJlc3RvcmUgb3BlcmF0aW9uCitSRVNUT1JFIEZST00gJ3B0 cl9vYmplY3RzLmJhayc7CitiYWNrdXBfaWQKKyMKK1NIT1cgUFJPQ0VEVVJFIFNUQVRVUzsKK0Ri CU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJU2VjdXJpdHlfdHlwZQlDb21tZW50 CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxh dGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJ IwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkj CSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJ IworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkj CitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVt ZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJ Y29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlC RUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOwor RU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQg QGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xkLmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJ IwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElO VE8gcHRyX29iMi50MShpZCwgYikgVkFMVUVTKG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9v dEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJSU5TRVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJf b2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAw KTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRy X29iMjsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9t b2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0 YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQREFURQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29i MS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0 cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRF CXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxfc3VtICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJ IwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJ VGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordDMJQkFTRSBUQUJMRQor dHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJVklFVwordnYJVklFVworU0hPVyBGVUxMIFRBQkxF UyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglUYWJsZV90eXBlCit0MQlCQVNFIFRB QkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7Citp ZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlh CWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0 YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0Mwor NAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0 cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZp cmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUg b2YgcHRyX29iMi50MQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9h CisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1 cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7Citp ZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisx CWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQKKzEKKzIKKzMKKzMKKzUKK1NF TEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCiszCiszCis1Cis1Cis1CiszMworU0VM RUNUICogRlJPTSBwdHJfb2IxLnZ2OworU1VNKGlkKQorMQorMgorNgorMTUKKzMzCitTRUxFQ1Qg cHRyX29iMS5mMSgpOworcHRyX29iMS5mMSgpCis3Cit1c2UgYmlubG9nIGRhdGVzIHRvIHJlY292 ZXIgZGF0YSBhZnRlciBiYWNrdXAuCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5 cGUJRGVmaW5lcglNb2RpZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0 ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0 cl9vYjEJcDEJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRy X29iMQlwMglQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJf b2IxCXAzCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9v YjIJcDQJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCUFGVEVSIEJBQ0tVUAkj CSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0 YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xp ZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJ dDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5h KTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgor U0VUIEBpZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VO RAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VS VCBJTlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJ CXJvb3RAbG9jYWxob3N0CSMJIwkjCithaQlJTlNFUlQJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJ CXJvb3RAbG9jYWxob3N0CSMJIwkjCithdQlVUERBVEUJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJ CXJvb3RAbG9jYWxob3N0CSMJIwkjCithZAlERUxFVEUJdDExCVNFVCBAYTo9IG9sZC5zcgkjCSMJ CXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8g cHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcs IDEwMCk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9N IHB0cl9vYjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlz cWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9u CURhdGFiYXNlIENvbGxhdGlvbgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0 cl9vYjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBv ZiBwdHJfb2IyLnQxJyk7ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURF TEVURQl0MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxo b3N0CSMJIwkjCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJf b2IxCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QxMQlCQVNFIFRBQkxFCit0MglCQVNFIFRB QkxFCit0MwlCQVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dmEJ VklFVworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglU YWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICog RlJPTSBwdHJfb2IxLnY7CitpZAlhCisxCTIwCiszCTg1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu dDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1h bCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1 cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3 CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFm dGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis5CUluc2VydCBhZnRlciBiYWNrdXAKKzEwCVRyaWdn ZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzExCVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1 cGRhdGUgb2YgcHRyX29iMi50MQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1l CW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFG VEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0 cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFG VEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0 cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisx Mgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMwl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCisxNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAw CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFs ZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMK KzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu dHYxOworaWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisx CisyCisyCisyCiszCiszCis1Cis1Cis1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2 YTsKK1NVTShpZCkKKzEKKzYKKzYKKzE1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQx MTsKK2kJc3IKKzEJMgorMTAJNQorMTEJMTIKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2Ix LmYxKCkKKzgKK0RST1AgREFUQUJBU0UgcHRyX29iMTsKK0RST1AgREFUQUJBU0UgcHRyX29iMjsK KyoqKiBURVNUNSAqKiogOgorRG8gY29tcGxldGUgcmVjb3Zlcnkgb2YgZGF0YSBhZnRlciBiYWNr dXAgdXNpbmcgYmlubG9nIHBvc2l0aW9uLiBFbnN1cmUKK3RoYXQgcHJlc2VuY2Ugb2YgYmFja3Vw IG9wZXJhdGlvbiBpbiB0aGUgYmlubG9nIHNob3VsZG4ndCBoYXZlIGFueSBpbXBhY3QKK1NIT1cg UFJPQ0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJ U2VjdXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25u ZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2Nh bGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2Fs aG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxo b3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhv c3QJIwkjCURFRklORVIJQUZURVIgQkFDS1VQCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRy X29iMTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9t b2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0 YWJhc2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29i MS50MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJ IwkjCSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9 b2xkLmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMK K3RyZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFM VUVTKG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FpCUlO U0VSVAl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2F1CVVQ REFURQl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FkCURF TEVURQl0MTEJU0VUIEBhOj0gb2xkLnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJ SU5TRVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxo b3N0CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFi bGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3Nl dF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQ REFURQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmln Z2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJ cm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxf c3VtICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMg RlJPTSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJM RQordDExCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNF IFRBQkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2YQlWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00g cHRyX29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3Qy CUJBU0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgor MQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEKKzEJMjAK KzMJODUKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2Vy dDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQK KzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdn ZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVy ZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzkJ SW5zZXJ0IGFmdGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgor MTEJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJ dDEJODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzE0CXRyaWdn ZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsK K2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQK KzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNl dDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKKzEJ ZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorU0VM RUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUKKzUKKzUKKzcK KzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQorNgorNgorMTUKKzcK KzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDExOworaQlzcgorMQkyCisxMAk1CisxMQkxMgor U0VMRUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorOAorRFJPUCBEQVRBQkFTRSBwdHJf b2IxOworRFJPUCBEQVRBQkFTRSBwdHJfb2IyOworKioqIFRFU1Q2ICoqKiA6CitEbyBjb21wbGV0 ZSByZWNvdmVyeSBvZiBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0ZXMuIEVuc3Vy ZQordGhhdCBwcmVzZW5jZSBvZiBiYWNrdXAgb3BlcmF0aW9uIGluIHRoZSBiaW5sb2cgc2hvdWxk bid0IGhhdmUgYW55IGltcGFjdAorU0hPVyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFtZQlUeXBl CURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVy X3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCitwdHJf b2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9v YjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29i MQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2Iy CXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUglBRlRFUiBCQUNLVVAJIwkj CSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0 ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVu dAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzEJSU5TRVJUCXQx CUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEnLCBuZXcuYSk7 CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERBVEUJdDEJQkVHSU4KK1NF VCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7CitFTkQJ IwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJQkVHSU4gCitJTlNFUlQg SU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworYWkJSU5TRVJUCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworYXUJVVBEQVRFCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworYWQJREVMRVRFCXQxMQlTRVQgQGE6PSBvbGQuc3IJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4KK0lOU0VSVCBJTlRPIHB0 cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQnLCAx MDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBw dHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3Fs X21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglE YXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJf b2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2Yg cHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMwlERUxF VEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkjCQlyb290QGxvY2FsaG9z dAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitUYWJsZXNfaW5fcHRyX29i MQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MTEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJM RQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJVklFVwordnZhCVZJ RVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJVGFi bGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNUICog RlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZS T00gcHRyX29iMS52OworaWQJYQorMQkyMAorMwk4NQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQy OworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwg SW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBk YXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlU cmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRl ciB1cGRhdGUgb2YgcHRyX29iMi50MQorOQlJbnNlcnQgYWZ0ZXIgYmFja3VwCisxMAlUcmlnZ2Vy IGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCisxMQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBk YXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlv bGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZU RVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTIJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTMJdHJpZ2dlciBmaXJlZCBmb3Ig QUZURVIgSU5TRVJUCTEwMAorMTQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor U0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVy dAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJP TSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisy CWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2 MTsKK2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQor MgorMgorMgorMworMworNQorNQorNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52dmE7 CitTVU0oaWQpCisxCis2Cis2CisxNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTE7 CitpCXNyCisxCTIKKzEwCTUKKzExCTEyCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29iMS5m MSgpCis4CisKKyoqKiAgRFJPUCBwdHJfb2IxIGFuZCBwdHJfb2IyIERBVEFCQVNFICoqKioKKwor RFJPUCBEQVRBQkFTRSBwdHJfb2IxOworRFJPUCBEQVRBQkFTRSBwdHJfb2IyOwoKPT09IGFkZGVk IGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvci9iYWNrdXBfcHRyX29iamVj dHNfcm93LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2Jh Y2t1cF9wdHJfb2JqZWN0c19yb3cucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfb2JqZWN0c19y b3cucmVzdWx0CTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCArMSwyMTA2IEBACitT SE9XIFZBUklBQkxFUyBMSUtFICdzdG9yYWdlX2VuZ2luZSc7CitWYXJpYWJsZV9uYW1lCVZhbHVl CitzdG9yYWdlX2VuZ2luZQkjCitTRVQgR0xPQkFMIEJJTkxPR19GT1JNQVQ9J1JPVyc7CitTRVQg QklOTE9HX0ZPUk1BVD0nUk9XJzsKK1NFTEVDVCBAQEJJTkxPR19GT1JNQVQ7CitAQEJJTkxPR19G T1JNQVQKK1JPVworUkVTRVQgTUFTVEVSOworKipTVEFSVCBURVNUKioKKyoqKiBURVNUMSAqKioK K1RoaXMgdGVzdCB3aWxsIHJlY292ZXIgZGF0YSBhbmQgb2JqZWN0cyB1c2luZyBiaW5sb2cgcG9z aXRpb24KK3RpbGwgcG9pbnQgb2YgYmFja3VwIGFuZCBhZnRlciBiYWNrdXAuCisKK1NFVCBAYT1V TklYX1RJTUVTVEFNUCgiMjAxMC0wMS0yMSAxNTozMjoyMiIpOworU0VUIHRpbWVzdGFtcD1AYTsK K0NSRUFURSBEQVRBQkFTRSBJRiBOT1QgRVhJU1RTIHB0cl9vYjE7CitDUkVBVEUgREFUQUJBU0Ug SUYgTk9UIEVYSVNUUyBwdHJfb2IyOworVVNFIHB0cl9vYjE7CisqKioqIENyZWF0aW5nIHRhYmxl cyAqKioqCitDUkVBVEUgVEFCTEUgcHRyX29iMS50MSgKK2lkIElOVCwgCithIElOVCwgCitiIENI QVIoNSkKKyk7CitDUkVBVEUgVEFCTEUgcHRyX29iMS50MigKK2lkIElOVCBOT1QgTlVMTCBBVVRP X0lOQ1JFTUVOVCBQUklNQVJZIEtFWSwgCitkYXRhIENIQVIoNTApCispOworQ1JFQVRFIFRBQkxF IHB0cl9vYjEudDMoCitzcm5vIElOVCBBVVRPX0lOQ1JFTUVOVCwgCitQUklNQVJZIEtFWShzcm5v KSwgCituYW1lIFZBUkNIQVIoMzApIE5PVCBOVUxMLCAKK29sZF9hIElOVAorKTsKK0NSRUFURSBU QUJMRSBwdHJfb2IyLnQxKAoraWQgSU5ULCAKK2IgQ0hBUig1KQorKTsKK0NSRUFURSBUQUJMRSBw dHJfb2IyLnQyKGlkIFNNQUxMSU5UKTsKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDEgVkFMVUVTKDEx LCdzZXQxJyksKDIxLCdzZXQyJyksKDMsJ3NldDMnKSwoNCwnc2V0NCcpOworSU5TRVJUIElOVE8g cHRyX29iMi50MiBWQUxVRVMoOTEpLCg1KSwoMjYpLCgzMyksKDUpOworKioqKiBDcmVhdGluZyB2 aWV3cyAqKioqCitDUkVBVEUgVklFVyBwdHJfb2IxLnYgQVMgU0VMRUNUICogRlJPTSBwdHJfb2Ix LnQxOworQ1JFQVRFIFZJRVcgcHRyX29iMS52MSBBUyBTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7 CitDUkVBVEUgVEFCTEUgcHRyX29iMS50djEoaWQgU01BTExJTlQpOworSU5TRVJUIElOVE8gcHRy X29iMS50djEgIFZBTFVFUygxKSwoMiksKDMpLCgzKSwoNSk7CitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudHYxIFVOSU9OIEFMTCBTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDI7CitpZAorMQorMgorMwor MworNQorOTEKKzUKKzI2CiszMworNQorQ1JFQVRFIFZJRVcgcHRyX29iMi52MSBBUyBTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudHYxICBVTklPTiBBTEwgCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDIg T1JERVIgQlkgaWQ7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQorMgorMworMwor NQorNQorNQorMjYKKzMzCis5MQorIyMjIyBDcmVhdGluZyB2aWV3IGZyb20gYW5vdGhlciB2aWV3 ICMjIyMKK0NSRUFURSBWSUVXIHB0cl9vYjEudnYgQVMgU0VMRUNUIFNVTShpZCkgZnJvbSBwdHJf b2IyLnYxIEdST1VQIEJZIGlkOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2OworU1VNKGlkKQor MQorMgorNgorMTUKKzI2CiszMworOTEKKyoqKiogQ3JlYXRpbmcgVHJpZ2dlcnMgKioqKgorQ1JF QVRFIFRSSUdHRVIgcHRyX29iMS50cmcxIEJFRk9SRSBJTlNFUlQgT04gcHRyX29iMS50MSBGT1Ig RUFDSCBST1cKK0JFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEn LCBuZXcuYSk7CitFTkQ7fHwKK0lOU0VSVCBJTlRPIHB0cl9vYjEudDEgVkFMVUVTKDEsMjAsICdi YjEnKSwgKDIsNTAsICdiYjInKSwoMyw4MCwnYmIzJyk7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu dDE7CitpZAlhCWIKKzEJMjAJYmIxCisyCTUwCWJiMgorMwk4MAliYjMKK1NFTEVDVCAqIEZST00g cHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAor Q1JFQVRFIFRSSUdHRVIgcHRyX29iMS50cmcyIEFGVEVSIElOU0VSVCBPTiBwdHJfb2IxLnQyIEZP UiBFQUNIIFJPVworQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0 cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQnLCAxMDApOworRU5EO3x8CitJTlNFUlQgSU5U TyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsICdOb3JtYWwgSW5zZXJ0MScpLChOVUxMLCAnTm9y bWFsIEluc2VydDInKSwKKyhOVUxMLCAnTm9ybWFsIEluc2VydDMnKSwoTlVMTCwgJ05vcm1hbCBJ bnNlcnQ0Jyk7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJ bnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNl cnQ0CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAK KzIJdDEJNTAKKzMJdDEJODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor NQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor Q1JFQVRFIFRSSUdHRVIgcHRyX29iMi50cmczIEJFRk9SRSBERUxFVEUgT04gcHRyX29iMi50MiBG T1IgRUFDSCBST1cKK1NFVCBAZGVsX3N1bTo9IEBkZWxfc3VtICsgb2xkLmlkO3x8CitTRVQgQGRl bF9zdW06PSAwO3x8CitERUxFVEUgRlJPTSBwdHJfb2IyLnQyIFdIRVJFIGlkPTI2OworREVMRVRF IEZST00gcHRyX29iMi50MiBXSEVSRSBpZD05MTsKK1NFTEVDVCBAZGVsX3N1bTsKK0BkZWxfc3Vt CisxMTcKK0NSRUFURSBUUklHR0VSIHB0cl9vYjEudHJnNCBBRlRFUiBERUxFVEUgT04gcHRyX29i MS50MSBGT1IgRUFDSCBST1cKK0JFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikg VkFMVUVTKG9sZC5pZCwgb2xkLmIpOworRU5EO3x8CitERUxFVEUgRlJPTSBwdHJfb2IxLnQxIFdI RVJFIGlkPTI7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCisz CTgwCWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0 MgorMwlzZXQzCis0CXNldDQKKzIJYmIyCitDUkVBVEUgVFJJR0dFUiBwdHJfb2IxLnRyZzUgQkVG T1JFIFVQREFURSBPTiBwdHJfb2IxLnQxIEZPUiBFQUNIIFJPVworQkVHSU4KK1NFVCBAaWQ9b2xk LmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7CitFTkQ7Cit8fAorVVBE QVRFIHB0cl9vYjEudDEgU0VUIGE9Jzg1JyBXSEVSRSBiPSdiYjMnOworU0VMRUNUIEBpZCwgQGFf b2xkLCBAYV9uZXc7CitAaWQJQGFfb2xkCUBhX25ldworMwk4MAk4NQorQ1JFQVRFIFRSSUdHRVIg cHRyX29iMi50cmc2IEFGVEVSIFVQREFURSBPTiBwdHJfb2IyLnQxIEZPUiBFQUNIIFJPVworQkVH SU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBm cm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAKK0VORDsKK3x8CitVUERBVEUgcHRy X29iMi50MSBTRVQgYj0nYWxlcnQnIFdIRVJFIGlkPTM7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIu dDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CXNldDQKKzIJYmIyCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1h bCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIg ZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorU0VMRUNUICogRlJPTSBwdHJf b2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAlzZXQ0CisyCWJiMgor CisqKioqIENyZWF0aW5nIHN0b3JlZCBQcm9jZWR1cmVzIGFuZCBmdW5jdGlvbnMgKioqKgorCisj IyMjIFRoZSBwcm9jZWR1cmUgcDEgd2lsbCBpbnNlcnQgVkFMVUVTIGluIHZpZXcgIyMjIworQ1JF QVRFIFBST0NFRFVSRSBwdHJfb2IxLnAxKGRldGFpbHMgQ0hBUig0MCksIGlkIElOVCkKK0JFR0lO CitJTlNFUlQgSU5UTyBwdHJfb2IxLnYxIFZBTFVFUygxLCdmaXJlZCcpOworRU5EOworfHwKKyMj IyMgUHJvY2VkdXJlIHAyIHdpbGwgdHJpZ2dlciB0cmcyICMjIyMKK0NSRUFURSBQUk9DRURVUkUg cHRyX29iMS5wMihjb250ZW50IFZBUkNIQVIoNDApKQorQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9v YjEudDIgVkFMVUVTKE5VTEwsICdUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyJyk7CitF TkQ7fHwKKyMjIyMgUHJvY2VkdXJlIHAzIHdpbGwgdHJpZ2dlciB0cmc2ICMjIyMKK0NSRUFURSBQ Uk9DRURVUkUgcHRyX29iMS5wMyhpbmZvIFRFWFQpCitCRUdJTgorVVBEQVRFIHB0cl9vYjIudDEg U0VUIGI9JyN1cCMnIFdIRVJFIGlkPTQ7CitFTkQ7fHwKKyMjIyMgUHJvY2VkdXJlIHA0IHdpbGwg Y2FsbCB2aWV3ICMjIyMKK0NSRUFURSBQUk9DRURVUkUgcHRyX29iMi5wNCgpIAorQkVHSU4KK1NF TEVDVCAqIEZST00gcHRyX29iMi52MTsKK0VORDsKK3x8CisjIyMjIEZ1bmN0aW9uIGYxKCkgIyMj IworQ1JFQVRFIEZVTkNUSU9OIGYxKCkgUkVUVVJOUyBJTlQKK1JFVFVSTiAoU0VMRUNUIENPVU5U KCopIEZST00gcHRyX29iMS52MSk7fHwKK1NFTEVDVCBmMSgpOworZjEoKQorNQorQ0FMTCBwdHJf b2IxLnAxKCdwcm9jZWR1cmUgcDEgY2FsbGVkIGZvciB2aWV3IHYxJywgMSk7CitDQUxMIHB0cl9v YjEucDEoJ3Byb2NlZHVyZSBwMSBjYWxsZWQgZm9yIHZpZXcgdjEnLCAyKTsKK1NFTEVDVCAqIEZS T00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJc2V0NAor MgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIK KzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJc2V0NAorMgliYjIKKzEJZmlyZWQKKzEJZmly ZWQKK0NBTEwgcHRyX29iMS5wMigncHJvY2VkdXJlIHAyIGNhbGxlZCBmb3IgdHJnMicpOworQ0FM TCBwdHJfb2IxLnAyKCdwcm9jZWR1cmUgcDIgYWdhaW4gY2FsbGVkIGZvciB0cmcyJyk7CitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1h bCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIg ZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZy b20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKK1NFTEVD VCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAor Mwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorQ0FMTCBwdHJf b2IxLnAzKCdwcm9jZWR1cmUgcDMgY2FsbGVkIGZvciB0cmc2Jyk7CitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIy CisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisx CU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5v cm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29i Mi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIgZmlyZWQg ZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBw dHJfb2IyLnQxCitDQUxMIHB0cl9vYjIucDQoKTsKK2lkCisxCisyCiszCiszCis1Cis1Cis1Cisz MworU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzMKKzMKKzUKKzUKKzUKKzMz CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTVU0oaWQpCisxCisyCis2CisxNQorMzMKK1NF TEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorKiogQ2hlY2tpbmcg ZGF0YSBjb250ZW50cyBpbiBhbGwgdGhlIHRhYmxlcyBiZWZvcmUgcGVyZm9ybWluZyBiYWNrdXAg KioKK1NIT1cgUFJPQ0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVk CUNyZWF0ZWQJU2VjdXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxh dGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJ cm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQly b290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJv b3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9v dEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29i MTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2Rl CURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJh c2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50 MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xk LmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3Ry ZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFMVUVT KG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJSU5T RVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFibGUJ U3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9j bGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQREFU RQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2Vy IGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJcm9v dEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxfc3Vt ICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMgRlJP TSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQor dDIJQkFTRSBUQUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJ VklFVwordnYJVklFVworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5f cHRyX29iMglUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVX CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMwor U0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VM RUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3Jt YWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2Vy IGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBm cm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRy aWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorU0VMRUNUICogRlJP TSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgw Cis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAw Cis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAw CisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMQl0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisx MQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVk CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFs ZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudHYxOworaWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lk CisxCisyCiszCiszCis1Cis1Cis1CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2OworU1VN KGlkKQorMQorMgorNgorMTUKKzMzCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29iMS5mMSgp Cis3CitzZXQgdGltZXN0YW1wPUBhKzI7CitNYWtlIHNvbWUgY2hhbmdlcyB0byBvYmplY3RzLgor QUxURVIgVklFVyBwdHJfb2IxLnYgQVMgU0VMRUNUIGlkLCBhIEZST00gcHRyX29iMS50MTsKK0FM VEVSIFRBQkxFIHB0cl9vYjEudnYgUkVOQU1FIFRPIHB0cl9vYjEudnZhOworQUxURVIgVEFCTEUg cHRyX29iMi50MiBBREQgQ09MVU1OIGFmX2JhY2t1cCBWQVJDSEFSKDMwKTsKK0FMVEVSIFRBQkxF IHB0cl9vYjEudDMgQ0hBTkdFIG5hbWUgbmFtZSBURVhUOworREVTQ1JJQkUgcHRyX29iMS50MzsK K0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQorc3JubwlpbnQoMTEpCU5PCVBSSQlO VUxMCWF1dG9faW5jcmVtZW50CituYW1lCXRleHQJWUVTCQlOVUxMCQorb2xkX2EJaW50KDExKQlZ RVMJCU5VTEwJCitBTFRFUiBQUk9DRURVUkUgcHRyX29iMi5wNCBDT01NRU5UICdBRlRFUiBCQUNL VVAnOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlhCisxCTIwCiszCTg1CitDcmVhdGlu ZyBzb21lIG5ldyBvYmplY3RzCitDUkVBVEUgVEFCTEUgcHRyX29iMS50MTEgKGkgSU5ULCBzciBJ TlQsIGogSU5UKSBlbmdpbmU9bXlpc2FtOworSU5TRVJUIElOVE8gcHRyX29iMS50MTEgVkFMVUVT ICgxLCAyLCAzKTsKK0NSRUFURSBUUklHR0VSIHB0cl9vYjEuYWkgQUZURVIgSU5TRVJUIE9OIHB0 cl9vYjEudDExIEZPUiBFQUNIIFJPVyBTRVQgQGE6PSBuZXcuc3I7CitDUkVBVEUgVFJJR0dFUiBw dHJfb2IxLmF1IEFGVEVSIFVQREFURSBPTiBwdHJfb2IxLnQxMSBGT1IgRUFDSCBST1cgU0VUIEBh Oj0gbmV3LnNyOworQ1JFQVRFIFRSSUdHRVIgcHRyX29iMS5hZCBBRlRFUiBERUxFVEUgT04gcHRy X29iMS50MTEgRk9SIEVBQ0ggUk9XIFNFVCBAYTo9IG9sZC5zcjsKK0lOU0VSVCBJTlRPIHB0cl9v YjEudDExIFZBTFVFUyg0LCA1LCA2KSwoNywgOCwgOSk7CitTRUxFQ1QgQGE7CitAYQorOAorVVBE QVRFIHB0cl9vYjEudDExIFNFVCBpPTEwIFdIRVJFIHNyPTU7CitTRUxFQ1QgQGE7CitAYQorNQor REVMRVRFIEZST00gcHRyX29iMS50MTEgV0hFUkUgc3I9ODsKK1NFTEVDVCBAYTsKK0BhCis4CitO b3cgYWx0ZXIgdGhlIHRhYmxlIAorQUxURVIgVEFCTEUgcHRyX29iMS50MTEgRFJPUCBDT0xVTU4g ajsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTE7CitpCXNyCisxCTIKKzEwCTUKK0lOU0VSVCBJ TlRPIHB0cl9vYjEudDExIFZBTFVFUygxMSwgMTIpOworU0VMRUNUIEBhOworQGEKKzEyCitGaXJp bmcgZXhpc3RpbmcgdHJpZ2dlcnMgYW5kIGNhbGxpbmcgcHJvY2VkdXJlcy4KK0lOU0VSVCBJTlRP IHB0cl9vYjEudDIgVkFMVUVTKE5VTEwsICdJbnNlcnQgYWZ0ZXIgYmFja3VwJyk7CitJTlNFUlQg SU5UTyBwdHJfb2IyLnQyIFZBTFVFUygxMCwgJ2FmX2JrMScpLCgyLCAnYWZfYmsyJyksKDcsJ2Fm X2JrMycpLCgyLCdhZl9iazQnKTsKK0RFTEVURSBGUk9NIHB0cl9vYjIudDIgV0hFUkUgaWQ9MTA7 CitTRUxFQ1QgQGRlbF9zdW07CitAZGVsX3N1bQorMTI3CitDQUxMIHB0cl9vYjEucDEoJ3Byb2Nl ZHVyZSBwMSBhZl9ia3VwIGZvciB2aWV3IHYxJywgMyk7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu djE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZp cmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisx MQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVk CisxCWZpcmVkCitDQUxMIHB0cl9vYjEucDIoJ3Byb2NlZHVyZSBwMiBjYWxsZWQgIGFmX2JrdXAg Zm9yIHRyZzInKTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFs IEluc2VydDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIElu c2VydDQKKzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2 CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHBy b2NlZHVyZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIu dDEKKzkJSW5zZXJ0IGFmdGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVy ZSBwMgorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIw CisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAw CisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMgl0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJ MTAwCitDQUxMIHB0cl9vYjEucDMoJ3Byb2NlZHVyZSBwMyBjYWxsZWQgYWZfYmt1cCBmb3IgdHJn NicpOworU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0Mgor MwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNU ICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwg SW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZp cmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9t IHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdn ZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorOQlJbnNlcnQgYWZ0ZXIg YmFja3VwCisxMAlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCisxMQlUcmlnZ2VyIGZp cmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKK0NBTEwgcHRyX29iMi5wNCgpOwor aWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUKKzUKKzUKKzcKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9v YjIudjE7CitpZAorMQorMgorMgorMgorMworMworNQorNQorNQorNworMzMKK1NFTEVDVCAqIEZS T00gcHRyX29iMS52dmE7CitTVU0oaWQpCisxCis2Cis2CisxNQorNworMzMKK1NFTEVDVCAqIEZS T00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorQ2hlY2tpbmcgdGhlIGRhdGEgY29u dGVudHMgYWZ0ZXIgYmFja3VwLgorU0hPVyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFtZQlUeXBl CURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVy X3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCitwdHJf b2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9v YjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29i MQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2Iy CXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUglBRlRFUiBCQUNLVVAJIwkj CSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0 ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVu dAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzEJSU5TRVJUCXQx CUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEnLCBuZXcuYSk7 CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERBVEUJdDEJQkVHSU4KK1NF VCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7CitFTkQJ IwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJQkVHSU4gCitJTlNFUlQg SU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworYWkJSU5TRVJUCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworYXUJVVBEQVRFCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworYWQJREVMRVRFCXQxMQlTRVQgQGE6PSBvbGQuc3IJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4KK0lOU0VSVCBJTlRPIHB0 cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQnLCAx MDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBw dHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3Fs X21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglE YXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJf b2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2Yg cHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMwlERUxF VEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkjCQlyb290QGxvY2FsaG9z dAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitUYWJsZXNfaW5fcHRyX29i MQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MTEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJM RQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJVklFVwordnZhCVZJ RVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJVGFi bGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNUICog RlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZS T00gcHRyX29iMS52OworaWQJYQorMQkyMAorMwk4NQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQy OworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwg SW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBk YXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlU cmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRl ciB1cGRhdGUgb2YgcHRyX29iMi50MQorOQlJbnNlcnQgYWZ0ZXIgYmFja3VwCisxMAlUcmlnZ2Vy IGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCisxMQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBk YXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlv bGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZU RVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTIJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTMJdHJpZ2dlciBmaXJlZCBmb3Ig QUZURVIgSU5TRVJUCTEwMAorMTQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor U0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVy dAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJP TSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisy CWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2 MTsKK2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQor MgorMgorMgorMworMworNQorNQorNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52dmE7 CitTVU0oaWQpCisxCis2Cis2CisxNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTE7 CitpCXNyCisxCTIKKzEwCTUKKzExCTEyCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29iMS5m MSgpCis4CitTRVQgVElNRVNUQU1QPUBhKzQ7CitGTFVTSCBMT0dTOworRFJPUCBEQVRBQkFTRSBw dHJfb2IxOworRFJPUCBEQVRBQkFTRSBwdHJfb2IyOworKioqKiBFeGVjdXRlIG15c3FsYmlubG9n IHRvIHJlY292ZXIgdGhlIGRhdGEgZnJvbSBzdGFydCB0byBiYWNrdXAgKioqKgorU0hPVyBQUk9D RURVUkUgU1RBVFVTOworRGIJTmFtZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1 cml0eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rp b24JRGF0YWJhc2UgQ29sbGF0aW9uCitwdHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9z dAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0 CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJ IwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkj CSMJREVGSU5FUgkJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglF dmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFy YWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24K K3RyZzEJSU5TRVJUCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxM LCAndDEnLCBuZXcuYSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERB VEUJdDEJQkVHSU4KK1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9u ZXc9bmV3LmE7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJ QkVHSU4gCitJTlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQu Yik7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4K K0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQnLCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cg VFJJR0dFUlMgRlJPTSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGlt aW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRp b25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJ TlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBh ZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkj CSMJIwordHJnMwlERUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitU YWJsZXNfaW5fcHRyX29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxF Cit0MwlCQVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dglWSUVX CitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxl X3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZS T00gcHRyX29iMS50MTsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudjsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCisz CU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBh ZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJl IHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBm cm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7 Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKKzQJdHJpZ2dlciBm aXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzcJdHJpZ2dlciBm aXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEwCXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIKKzExCXNldDEKKzIxCXNl dDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZS T00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIwor MgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAor MQorMgorMworMworNQorU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzMKKzMK KzUKKzUKKzUKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTVU0oaWQpCisxCisyCis2 CisxNQorMzMKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzcKKyoqKiogTm93 IHBlcmZvcm0gYW5vdGhlciByZWNvdmVyeSB0byByZWNvdmVyIGRhdGEgYWZ0ZXIgYmFja3VwICoq KioKK1NIT1cgUFJPQ0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVk CUNyZWF0ZWQJU2VjdXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxh dGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJ cm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQly b290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJv b3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9v dEBsb2NhbGhvc3QJIwkjCURFRklORVIJQUZURVIgQkFDS1VQCSMJIwkjCitTSE9XIFRSSUdHRVJT IEZST00gcHRyX29iMTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVh dGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5l Y3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElO VE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBs b2NhbGhvc3QJIwkjCSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NF VCBAYV9vbGQ9b2xkLmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhv c3QJIwkjCSMKK3RyZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShp ZCwgYikgVkFMVUVTKG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK2FpCUlOU0VSVAl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK2F1CVVQREFURQl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK2FkCURFTEVURQl0MTEJU0VUIEBhOj0gb2xkLnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK3RyZzIJSU5TRVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhO VUxMLCAndHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJv b3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJ RXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hh cmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9u Cit0cmc2CVVQREFURQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhO VUxMLCdUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAor RU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1 bTo9IEBkZWxfc3VtICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVM TCBUQUJMRVMgRlJPTSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJ QkFTRSBUQUJMRQordDExCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUK K3R2MQlCQVNFIFRBQkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2YQlWSUVXCitTSE9XIEZVTEwgVEFC TEVTIEZST00gcHRyX29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0Ug VEFCTEUKK3QyCUJBU0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsK K2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lk CWEKKzEJMjAKKzMJODUKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9y bWFsIEluc2VydDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFs IEluc2VydDQKKzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQx Cis2CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9t IHByb2NlZHVyZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9v YjIudDEKKzkJSW5zZXJ0IGFmdGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2Nl ZHVyZSBwMgorMTEJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQx CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJ dDEJNTAKKzMJdDEJODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0 cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFG VEVSIElOU0VSVAkxMDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0 cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFG VEVSIElOU0VSVAkxMDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEx CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzE0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRy X29iMi50MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIK KzEJZmlyZWQKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lk CWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJ ZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMwor MworNQorU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUK KzUKKzUKKzcKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQorNgor NgorMTUKKzcKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDExOworaQlzcgorMQkyCisxMAk1 CisxMQkxMgorU0VMRUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorOAorRFJPUCBEQVRB QkFTRSBwdHJfb2IxOworRFJPUCBEQVRBQkFTRSBwdHJfb2IyOworKioqIFRFU1QyICoqKiA6CitQ ZXJmb3JtIFJlc3RvcmUgYW5kIHJlY292ZXIgdHJhbnNhY3Rpb25zIGFmdGVyIGJhY2t1cCBieSBl eGVjdXRpbmcgCitteXNxbGJpbmxvZyB1dGlsaXR5IHVzaW5nIGJpbmxvZyBwb3NpdGlvbi4KKwor UGVyZnJvbSBSZXN0b3JlIG9wZXJhdGlvbgorUkVTVE9SRSBGUk9NICdwdHJfb2JqZWN0cy5iYWsn OworYmFja3VwX2lkCisjCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVm aW5lcglNb2RpZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0 X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJ cDEJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlw MglQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAz CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJ UFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworU0hPVyBUUklHR0VS UyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3Jl YXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25u ZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJQkVHSU4KK0lOU0VSVCBJ TlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsKK0VORAkjCSMJCXJvb3RA bG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VUIEBpZD1vbGQuaWQ7CitT RVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkjCSMJCXJvb3RAbG9jYWxo b3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDEo aWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJ IwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMo TlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitFTkQJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitUcmlnZ2Vy CUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNo YXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlv bgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIgVkFMVUVTCiso TlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAK K0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVURQl0MglTRVQgQGRlbF9z dW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIEZV TEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2IxCVRhYmxlX3R5cGUKK3Qx CUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNFIFRBQkxF Cit2CVZJRVcKK3YxCVZJRVcKK3Z2CVZJRVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2Iy OworVGFibGVzX2luX3B0cl9vYjIJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBU QUJMRQordjEJVklFVworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJi MQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52OworaWQJYQliCisxCTIwCWJiMQor Mwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIElu c2VydDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2Vy dDQKKzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRy aWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2Nl ZHVyZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEK K1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0 MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRy aWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZU RVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis4CXRy aWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZU RVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTEJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorU0VMRUNUICogRlJPTSBwdHJfb2Iy LnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlm aXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQor MjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNU ICogRlJPTSBwdHJfb2IxLnR2MTsKK2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjIudjE7CitpZAorMQorMgorMworMworNQorNQorNQorMzMKK1NFTEVDVCAqIEZST00gcHRy X29iMS52djsKK1NVTShpZCkKKzEKKzIKKzYKKzE1CiszMworU0VMRUNUIHB0cl9vYjEuZjEoKTsK K3B0cl9vYjEuZjEoKQorNworTm93IHVzZSBiaW5sb2cgcG9zaXRpb24gdG8gcmVjb3ZlciBkYXRh IGFmdGVyIGJhY2t1cAorU0hPVyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFtZQlUeXBlCURlZmlu ZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVyX3NldF9j bGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCitwdHJfb2IxCXAx CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDIJ UFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMwlQ Uk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IyCXA0CVBS T0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUglBRlRFUiBCQUNLVVAJIwkjCSMKK1NI T1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJ VGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xs YXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzEJSU5TRVJUCXQxCUJFR0lO CitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEnLCBuZXcuYSk7CitFTkQJ IwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERBVEUJdDEJQkVHSU4KK1NFVCBAaWQ9 b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7CitFTkQJIwkjCQly b290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJQkVHSU4gCitJTlNFUlQgSU5UTyBw dHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQJIwkjCQlyb290QGxv Y2FsaG9zdAkjCSMJIworYWkJSU5TRVJUCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQlyb290QGxv Y2FsaG9zdAkjCSMJIworYXUJVVBEQVRFCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQlyb290QGxv Y2FsaG9zdAkjCSMJIworYWQJREVMRVRFCXQxMQlTRVQgQGE6PSBvbGQuc3IJIwkjCQlyb290QGxv Y2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEu dDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQnLCAxMDApOwor RU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2Iy OworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJ RGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFz ZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQy IFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29i Mi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMwlERUxFVEUJdDIJ U0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJ IworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitUYWJsZXNfaW5fcHRyX29iMQlUYWJs ZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MTEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordDMJ QkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJVklFVwordnZhCVZJRVcKK1NI T1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJVGFibGVfdHlw ZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNUICogRlJPTSBw dHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRy X29iMS52OworaWQJYQorMQkyMAorMwk4NQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJ ZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0 MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9m IHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2Vy IGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRh dGUgb2YgcHRyX29iMi50MQorOQlJbnNlcnQgYWZ0ZXIgYmFja3VwCisxMAlUcmlnZ2VyIGZpcmVk IGZyb20gcHJvY2VkdXJlIHAyCisxMQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9m IHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQor MQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dlciBm aXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJdHJpZ2dlciBm aXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTIJdHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTMJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIg SU5TRVJUCTEwMAorMTQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorU0VMRUNU ICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkj dXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJf b2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgor MQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MTsKK2lk CisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQorMgorMgor MgorMworMworNQorNQorNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52dmE7CitTVU0o aWQpCisxCis2Cis2CisxNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTE7CitpCXNy CisxCTIKKzEwCTUKKzExCTEyCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29iMS5mMSgpCis4 CitEUk9QIERBVEFCQVNFIHB0cl9vYjE7CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7CisqKiogVEVT VDMgKioqIDoKK1RoaXMgdGVzdCB3aWxsIHJlY292ZXIgZGF0YSBhbmQgb2JqZWN0cyB1c2luZyBi aW5sb2cgZGF0ZXMKK3RpbGwgcG9pbnQgb2YgYmFja3VwIGFuZCBhZnRlciBiYWNrdXAuCisKK1Vz ZSBteXNxbGJpbmxvZyBkYXRlcyB0byByZWNvdmVyIGRhdGEgdGlsbCBwb2ludCBvZiBiYWNrdXAu CitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVmaW5lcglNb2RpZmllZAlD cmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRp b25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VEVVJFCXJv b3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMglQUk9DRURVUkUJcm9v dEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAzCVBST0NFRFVSRQlyb290 QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJFCXJvb3RA bG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7 CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlE ZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNl IENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMg VkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkj Cit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VUIEBpZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5h OworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc0 CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhv bGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmcyCUlOU0VS VAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkj CSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0 YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xp ZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnNglVUERBVEUJ dDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBm aXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAKK0VORAkjCSMJCXJvb3RA bG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVURQl0MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1bSAr IG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIEZVTEwgVEFCTEVTIEZST00g cHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2IxCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3Qy CUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNFIFRBQkxFCit2CVZJRVcKK3YxCVZJ RVcKK3Z2CVZJRVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0 cl9vYjIJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVwor U0VMRUNUICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NF TEVDVCAqIEZST00gcHRyX29iMS52OworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVD VCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9ybWFs IEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dlciBm aXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIgZmlyZWQgZnJv bSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorOAlUcmln Z2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00g cHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAor NAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor Nwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor MTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJ c2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAor U0VMRUNUICogRlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVy dAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2Ix LnR2MTsKK2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAor MQorMgorMworMworNQorNQorNQorMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52djsKK1NVTShp ZCkKKzEKKzIKKzYKKzE1CiszMworU0VMRUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQor NworVXNlIG15c3FsYmlubG9nIGRhdGVzIHRvIHJlY292ZXIgZGF0YSBhZnRlciBiYWNrdXAgCitT SE9XIFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVmaW5lcglNb2RpZmllZAlDcmVh dGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25f Y29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VEVVJFCXJvb3RA bG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMglQUk9DRURVUkUJcm9vdEBs b2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAzCVBST0NFRFVSRQlyb290QGxv Y2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJFCXJvb3RAbG9j YWxob3N0CSMJIwlERUZJTkVSCUFGVEVSIEJBQ0tVUAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9N IHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlz cWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9u CURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0 cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxo b3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VUIEBpZD1vbGQuaWQ7CitTRVQgQGFf b2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJ IwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDEoaWQsIGIp IFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCith aQlJTlNFUlQJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCith dQlVUERBVEUJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCith ZAlERUxFVEUJdDExCVNFVCBAYTo9IG9sZC5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0 cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwg J3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitFTkQJIwkjCQlyb290QGxv Y2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitUcmlnZ2VyCUV2ZW50 CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rl cl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJn NglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIgVkFMVUVTCisoTlVMTCwn VHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAKK0VORAkj CSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVURQl0MglTRVQgQGRlbF9zdW06PSBA ZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIEZVTEwgVEFC TEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2IxCVRhYmxlX3R5cGUKK3QxCUJBU0Ug VEFCTEUKK3QxMQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit0MwlCQVNFIFRBQkxFCit0djEJ QkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dmEJVklFVworU0hPVyBGVUxMIFRBQkxFUyBG Uk9NIHB0cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxF Cit0MglCQVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitpZAlh CWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlhCisx CTIwCiszCTg1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJ bnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNl cnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglU cmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9j ZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQx Cis5CUluc2VydCBhZnRlciBiYWNrdXAKKzEwCVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUg cDIKKzExCVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorU0VM RUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUw CiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMQl0cmln Z2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCisxMwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxNAl0 cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIu dDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZp cmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisx MQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVk CisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQKKzEKKzIKKzMKKzMKKzUK K1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCisyCisyCiszCiszCis1Cis1Cis1 Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NVTShpZCkKKzEKKzYKKzYKKzE1 Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK2kJc3IKKzEJMgorMTAJNQorMTEJ MTIKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzgKK0RST1AgREFUQUJBU0Ug cHRyX29iMTsKK0RST1AgREFUQUJBU0UgcHRyX29iMjsKKyoqKiBURVNUNCAqKiogOgorUGVyZm9y bSBSZXN0b3JlIGFuZCByZWNvdmVyIG9iamVjdHMgYWZ0ZXIgYmFja3VwIGJ5IGV4ZWN1dGluZyBt eXNxbGJpbmxvZwordXRpbGl0eSB1c2luZyBiaW5sb2cgZGF0ZXMuCisKK1BlcmZvcm0gUmVzdG9y ZSBvcGVyYXRpb24KK1JFU1RPUkUgRlJPTSAncHRyX29iamVjdHMuYmFrJzsKK2JhY2t1cF9pZAor IworU0hPVyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFtZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJ Q3JlYXRlZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0 aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCitwdHJfb2IxCXAxCVBST0NFRFVSRQly b290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJv b3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMwlQUk9DRURVUkUJcm9v dEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IyCXA0CVBST0NFRFVSRQlyb290 QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2Ix OworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJ RGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFz ZSBDb2xsYXRpb24KK3RyZzEJSU5TRVJUCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQz IFZBTFVFUyhOVUxMLCAndDEnLCBuZXcuYSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJ IwordHJnNQlVUERBVEUJdDEJQkVHSU4KK1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQu YTsKK1NFVCBAYV9uZXc9bmV3LmE7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJn NAlERUxFVEUJdDEJQkVHSU4gCitJTlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMo b2xkLmlkLCBvbGQuYik7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNF UlQJdDIJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQnLCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJ IwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlT dGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2Ns aWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRF CXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIg ZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290 QGxvY2FsaG9zdAkjCSMJIwordHJnMwlERUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0g KyBvbGQuaWQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9N IHB0cl9vYjE7CitUYWJsZXNfaW5fcHRyX29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0 MglCQVNFIFRBQkxFCit0MwlCQVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlW SUVXCit2dglWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMjsKK1RhYmxlc19pbl9w dHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3YxCVZJRVcK K1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitT RUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1h bCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIg ZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZy b20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJp Z2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAK KzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmlyZWQg Zm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIKKzEx CXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQK K1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxl cnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29i MS50djE7CitpZAorMQorMgorMworMworNQorU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQK KzEKKzIKKzMKKzMKKzUKKzUKKzUKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTVU0o aWQpCisxCisyCis2CisxNQorMzMKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkK KzcKK3VzZSBiaW5sb2cgZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cC4KK1NIT1cg UFJPQ0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJ U2VjdXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25u ZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2Nh bGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2Fs aG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxo b3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhv c3QJIwkjCURFRklORVIJQUZURVIgQkFDS1VQCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRy X29iMTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9t b2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0 YWJhc2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29i MS50MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJ IwkjCSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9 b2xkLmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMK K3RyZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFM VUVTKG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FpCUlO U0VSVAl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2F1CVVQ REFURQl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FkCURF TEVURQl0MTEJU0VUIEBhOj0gb2xkLnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJ SU5TRVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxo b3N0CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFi bGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3Nl dF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQ REFURQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmln Z2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJ cm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxf c3VtICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMg RlJPTSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJM RQordDExCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNF IFRBQkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2YQlWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00g cHRyX29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3Qy CUJBU0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgor MQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEKKzEJMjAK KzMJODUKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2Vy dDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQK KzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdn ZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVy ZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzkJ SW5zZXJ0IGFmdGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgor MTEJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJ dDEJODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzE0CXRyaWdn ZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsK K2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQK KzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNl dDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKKzEJ ZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorU0VM RUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUKKzUKKzUKKzcK KzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQorNgorNgorMTUKKzcK KzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDExOworaQlzcgorMQkyCisxMAk1CisxMQkxMgor U0VMRUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorOAorRFJPUCBEQVRBQkFTRSBwdHJf b2IxOworRFJPUCBEQVRBQkFTRSBwdHJfb2IyOworKioqIFRFU1Q1ICoqKiA6CitEbyBjb21wbGV0 ZSByZWNvdmVyeSBvZiBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgcG9zaXRpb24uIEVu c3VyZQordGhhdCBwcmVzZW5jZSBvZiBiYWNrdXAgb3BlcmF0aW9uIGluIHRoZSBiaW5sb2cgc2hv dWxkbid0IGhhdmUgYW55IGltcGFjdAorU0hPVyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFtZQlU eXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hhcmFj dGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCitw dHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0 cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRy X29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJf b2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUglBRlRFUiBCQUNLVVAJ IwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJpZ2dlcglFdmVudAlUYWJsZQlT dGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2Ns aWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzEJSU5TRVJU CXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndDEnLCBuZXcu YSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNQlVUERBVEUJdDEJQkVHSU4K K1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7CitF TkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxFVEUJdDEJQkVHSU4gCitJTlNF UlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIworYWkJSU5TRVJUCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIworYXUJVVBEQVRFCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIworYWQJREVMRVRFCXQxMQlTRVQgQGE6PSBvbGQuc3IJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJQkVHSU4KK0lOU0VSVCBJTlRP IHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQn LCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJP TSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJ c3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlv bglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBw dHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUg b2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMwlE RUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQJIwkjCQlyb290QGxvY2Fs aG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjE7CitUYWJsZXNfaW5fcHRy X29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MTEJQkFTRSBUQUJMRQordDIJQkFTRSBU QUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJVklFVwordnZh CVZJRVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJ VGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNU ICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAq IEZST00gcHRyX29iMS52OworaWQJYQorMQkyMAorMwk4NQorU0VMRUNUICogRlJPTSBwdHJfb2Ix LnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3Jt YWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIg dXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgor NwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBh ZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorOQlJbnNlcnQgYWZ0ZXIgYmFja3VwCisxMAlUcmln Z2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCisxMQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIg dXBkYXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFt ZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3Ig QUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor MTIJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTMJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorMTQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEw MAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlh bGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICog RlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAj CisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2Ix LnR2MTsKK2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAor MQorMgorMgorMgorMworMworNQorNQorNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52 dmE7CitTVU0oaWQpCisxCis2Cis2CisxNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50 MTE7CitpCXNyCisxCTIKKzEwCTUKKzExCTEyCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29i MS5mMSgpCis4CitEUk9QIERBVEFCQVNFIHB0cl9vYjE7CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7 CisqKiogVEVTVDYgKioqIDoKK0RvIGNvbXBsZXRlIHJlY292ZXJ5IG9mIGRhdGEgYWZ0ZXIgYmFj a3VwIHVzaW5nIGJpbmxvZyBkYXRlcy4gRW5zdXJlCit0aGF0IHByZXNlbmNlIG9mIGJhY2t1cCBv cGVyYXRpb24gaW4gdGhlIGJpbmxvZyBzaG91bGRuJ3QgaGF2ZSBhbnkgaW1wYWN0CitTSE9XIFBS T0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVmaW5lcglNb2RpZmllZAlDcmVhdGVkCVNl Y3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVj dGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VEVVJFCXJvb3RAbG9jYWxo b3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMglQUk9DRURVUkUJcm9vdEBsb2NhbGhv c3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAzCVBST0NFRFVSRQlyb290QGxvY2FsaG9z dAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0 CSMJIwlERUZJTkVSCUFGVEVSIEJBQ0tVUAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9v YjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9k ZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFi YXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEu dDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJ IwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VUIEBpZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9s ZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0 cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVF UyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCithaQlJTlNF UlQJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCithdQlVUERB VEUJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCithZAlERUxF VEUJdDExCVNFVCBAYTo9IG9sZC5zcgkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmcyCUlO U0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdn ZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9z dAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxl CVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRf Y2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnNglVUERB VEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dl ciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAKK0VORAkjCSMJCXJv b3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVURQl0MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1 bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIEZVTEwgVEFCTEVTIEZS T00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2IxCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUK K3QxMQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit0MwlCQVNFIFRBQkxFCit0djEJQkFTRSBU QUJMRQordglWSUVXCit2MQlWSUVXCit2dmEJVklFVworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0 cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglC QVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJ MjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlhCisxCTIwCisz CTg1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQx CisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1 CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2Vy IGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUg cDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis5CUlu c2VydCBhZnRlciBiYWNrdXAKKzEwCVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzEx CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorU0VMRUNUICog RlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQx CTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJ MTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJ MTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMQl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCisxMwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxNAl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7Citp ZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisx CWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQx CisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZp cmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVD VCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCisyCisyCiszCiszCis1Cis1Cis1Cis3Cisz MworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NVTShpZCkKKzEKKzYKKzYKKzE1Cis3Cisz MworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK2kJc3IKKzEJMgorMTAJNQorMTEJMTIKK1NF TEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzgKKworKioqICBEUk9QIHB0cl9vYjEg YW5kIHB0cl9vYjIgREFUQUJBU0UgKioqKgorCitEUk9QIERBVEFCQVNFIHB0cl9vYjE7CitEUk9Q IERBVEFCQVNFIHB0cl9vYjI7Cgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNr dXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfb2JqZWN0c19zdG10LnJlc3VsdCcKLS0tIGEvbXlzcWwt dGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfb2JqZWN0c19zdG10LnJlc3Vs dAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvYmFja3Vw X2VuZ2luZXMvci9iYWNrdXBfcHRyX29iamVjdHNfc3RtdC5yZXN1bHQJMjAwOC0xMC0wOCAwNDoy NjoyNSArMDAwMApAQCAtMCwwICsxLDIxMDYgQEAKK1NIT1cgVkFSSUFCTEVTIExJS0UgJ3N0b3Jh Z2VfZW5naW5lJzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUKK3N0b3JhZ2VfZW5naW5lCSMKK1NFVCBH TE9CQUwgQklOTE9HX0ZPUk1BVD0nU1RBVEVNRU5UJzsKK1NFVCBCSU5MT0dfRk9STUFUPSdTVEFU RU1FTlQnOworU0VMRUNUIEBAQklOTE9HX0ZPUk1BVDsKK0BAQklOTE9HX0ZPUk1BVAorU1RBVEVN RU5UCitSRVNFVCBNQVNURVI7CisqKlNUQVJUIFRFU1QqKgorKioqIFRFU1QxICoqKgorVGhpcyB0 ZXN0IHdpbGwgcmVjb3ZlciBkYXRhIGFuZCBvYmplY3RzIHVzaW5nIGJpbmxvZyBwb3NpdGlvbgor dGlsbCBwb2ludCBvZiBiYWNrdXAgYW5kIGFmdGVyIGJhY2t1cC4KKworU0VUIEBhPVVOSVhfVElN RVNUQU1QKCIyMDEwLTAxLTIxIDE1OjMyOjIyIik7CitTRVQgdGltZXN0YW1wPUBhOworQ1JFQVRF IERBVEFCQVNFIElGIE5PVCBFWElTVFMgcHRyX29iMTsKK0NSRUFURSBEQVRBQkFTRSBJRiBOT1Qg RVhJU1RTIHB0cl9vYjI7CitVU0UgcHRyX29iMTsKKyoqKiogQ3JlYXRpbmcgdGFibGVzICoqKioK K0NSRUFURSBUQUJMRSBwdHJfb2IxLnQxKAoraWQgSU5ULCAKK2EgSU5ULCAKK2IgQ0hBUig1KQor KTsKK0NSRUFURSBUQUJMRSBwdHJfb2IxLnQyKAoraWQgSU5UIE5PVCBOVUxMIEFVVE9fSU5DUkVN RU5UIFBSSU1BUlkgS0VZLCAKK2RhdGEgQ0hBUig1MCkKKyk7CitDUkVBVEUgVEFCTEUgcHRyX29i MS50MygKK3Nybm8gSU5UIEFVVE9fSU5DUkVNRU5ULCAKK1BSSU1BUlkgS0VZKHNybm8pLCAKK25h bWUgVkFSQ0hBUigzMCkgTk9UIE5VTEwsIAorb2xkX2EgSU5UCispOworQ1JFQVRFIFRBQkxFIHB0 cl9vYjIudDEoCitpZCBJTlQsIAorYiBDSEFSKDUpCispOworQ1JFQVRFIFRBQkxFIHB0cl9vYjIu dDIoaWQgU01BTExJTlQpOworSU5TRVJUIElOVE8gcHRyX29iMi50MSBWQUxVRVMoMTEsJ3NldDEn KSwoMjEsJ3NldDInKSwoMywnc2V0MycpLCg0LCdzZXQ0Jyk7CitJTlNFUlQgSU5UTyBwdHJfb2Iy LnQyIFZBTFVFUyg5MSksKDUpLCgyNiksKDMzKSwoNSk7CisqKioqIENyZWF0aW5nIHZpZXdzICoq KioKK0NSRUFURSBWSUVXIHB0cl9vYjEudiBBUyBTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitD UkVBVEUgVklFVyBwdHJfb2IxLnYxIEFTIFNFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK0NSRUFU RSBUQUJMRSBwdHJfb2IxLnR2MShpZCBTTUFMTElOVCk7CitJTlNFUlQgSU5UTyBwdHJfb2IxLnR2 MSAgVkFMVUVTKDEpLCgyKSwoMyksKDMpLCg1KTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djEg VU5JT04gQUxMIFNFTEVDVCAqIEZST00gcHRyX29iMi50MjsKK2lkCisxCisyCiszCiszCis1Cis5 MQorNQorMjYKKzMzCis1CitDUkVBVEUgVklFVyBwdHJfb2IyLnYxIEFTIFNFTEVDVCAqIEZST00g cHRyX29iMS50djEgIFVOSU9OIEFMTCAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MiBPUkRFUiBC WSBpZDsKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCiszCiszCis1Cis1Cis1 CisyNgorMzMKKzkxCisjIyMjIENyZWF0aW5nIHZpZXcgZnJvbSBhbm90aGVyIHZpZXcgIyMjIwor Q1JFQVRFIFZJRVcgcHRyX29iMS52diBBUyBTRUxFQ1QgU1VNKGlkKSBmcm9tIHB0cl9vYjIudjEg R1JPVVAgQlkgaWQ7CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTVU0oaWQpCisxCisyCis2 CisxNQorMjYKKzMzCis5MQorKioqKiBDcmVhdGluZyBUcmlnZ2VycyAqKioqCitDUkVBVEUgVFJJ R0dFUiBwdHJfb2IxLnRyZzEgQkVGT1JFIElOU0VSVCBPTiBwdHJfb2IxLnQxIEZPUiBFQUNIIFJP VworQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5h KTsKK0VORDt8fAorSU5TRVJUIElOVE8gcHRyX29iMS50MSBWQUxVRVMoMSwyMCwgJ2JiMScpLCAo Miw1MCwgJ2JiMicpLCgzLDgwLCdiYjMnKTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lk CWEJYgorMQkyMAliYjEKKzIJNTAJYmIyCiszCTgwCWJiMworU0VMRUNUICogRlJPTSBwdHJfb2Ix LnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCitDUkVBVEUg VFJJR0dFUiBwdHJfb2IxLnRyZzIgQUZURVIgSU5TRVJUIE9OIHB0cl9vYjEudDIgRk9SIEVBQ0gg Uk9XCitCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitFTkQ7fHwKK0lOU0VSVCBJTlRPIHB0cl9v YjEudDIgVkFMVUVTCisoTlVMTCwgJ05vcm1hbCBJbnNlcnQxJyksKE5VTEwsICdOb3JtYWwgSW5z ZXJ0MicpLAorKE5VTEwsICdOb3JtYWwgSW5zZXJ0MycpLChOVUxMLCAnTm9ybWFsIEluc2VydDQn KTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEK KzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKK1NF TEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1 MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdn ZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIg SU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitDUkVBVEUg VFJJR0dFUiBwdHJfb2IyLnRyZzMgQkVGT1JFIERFTEVURSBPTiBwdHJfb2IyLnQyIEZPUiBFQUNI IFJPVworU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQuaWQ7fHwKK1NFVCBAZGVsX3N1bTo9 IDA7fHwKK0RFTEVURSBGUk9NIHB0cl9vYjIudDIgV0hFUkUgaWQ9MjY7CitERUxFVEUgRlJPTSBw dHJfb2IyLnQyIFdIRVJFIGlkPTkxOworU0VMRUNUIEBkZWxfc3VtOworQGRlbF9zdW0KKzExNwor Q1JFQVRFIFRSSUdHRVIgcHRyX29iMS50cmc0IEFGVEVSIERFTEVURSBPTiBwdHJfb2IxLnQxIEZP UiBFQUNIIFJPVworQkVHSU4gCitJTlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMo b2xkLmlkLCBvbGQuYik7CitFTkQ7fHwKK0RFTEVURSBGUk9NIHB0cl9vYjEudDEgV0hFUkUgaWQ9 MjsKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgorMQkyMAliYjEKKzMJODAJYmIz CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCXNl dDMKKzQJc2V0NAorMgliYjIKK0NSRUFURSBUUklHR0VSIHB0cl9vYjEudHJnNSBCRUZPUkUgVVBE QVRFIE9OIHB0cl9vYjEudDEgRk9SIEVBQ0ggUk9XCitCRUdJTgorU0VUIEBpZD1vbGQuaWQ7CitT RVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORDsKK3x8CitVUERBVEUgcHRy X29iMS50MSBTRVQgYT0nODUnIFdIRVJFIGI9J2JiMyc7CitTRUxFQ1QgQGlkLCBAYV9vbGQsIEBh X25ldzsKK0BpZAlAYV9vbGQJQGFfbmV3CiszCTgwCTg1CitDUkVBVEUgVFJJR0dFUiBwdHJfb2Iy LnRyZzYgQUZURVIgVVBEQVRFIE9OIHB0cl9vYjIudDEgRk9SIEVBQ0ggUk9XCitCRUdJTgorSU5T RVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0 ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5EOworfHwKK1VQREFURSBwdHJfb2IyLnQx IFNFVCBiPSdhbGVydCcgV0hFUkUgaWQ9MzsKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lk CWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJc2V0NAorMgliYjIKK1NFTEVDVCAqIEZS T00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9ybWFsIEluc2Vy dDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dlciBmaXJlZCBm cm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7 CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CXNldDQKKzIJYmIyCisKKyoqKiog Q3JlYXRpbmcgc3RvcmVkIFByb2NlZHVyZXMgYW5kIGZ1bmN0aW9ucyAqKioqCisKKyMjIyMgVGhl IHByb2NlZHVyZSBwMSB3aWxsIGluc2VydCBWQUxVRVMgaW4gdmlldyAjIyMjCitDUkVBVEUgUFJP Q0VEVVJFIHB0cl9vYjEucDEoZGV0YWlscyBDSEFSKDQwKSwgaWQgSU5UKQorQkVHSU4KK0lOU0VS VCBJTlRPIHB0cl9vYjEudjEgVkFMVUVTKDEsJ2ZpcmVkJyk7CitFTkQ7Cit8fAorIyMjIyBQcm9j ZWR1cmUgcDIgd2lsbCB0cmlnZ2VyIHRyZzIgIyMjIworQ1JFQVRFIFBST0NFRFVSRSBwdHJfb2Ix LnAyKGNvbnRlbnQgVkFSQ0hBUig0MCkpCitCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBW QUxVRVMoTlVMTCwgJ1RyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDInKTsKK0VORDt8fAor IyMjIyBQcm9jZWR1cmUgcDMgd2lsbCB0cmlnZ2VyIHRyZzYgIyMjIworQ1JFQVRFIFBST0NFRFVS RSBwdHJfb2IxLnAzKGluZm8gVEVYVCkKK0JFR0lOCitVUERBVEUgcHRyX29iMi50MSBTRVQgYj0n I3VwIycgV0hFUkUgaWQ9NDsKK0VORDt8fAorIyMjIyBQcm9jZWR1cmUgcDQgd2lsbCBjYWxsIHZp ZXcgIyMjIworQ1JFQVRFIFBST0NFRFVSRSBwdHJfb2IyLnA0KCkgCitCRUdJTgorU0VMRUNUICog RlJPTSBwdHJfb2IyLnYxOworRU5EOworfHwKKyMjIyMgRnVuY3Rpb24gZjEoKSAjIyMjCitDUkVB VEUgRlVOQ1RJT04gZjEoKSBSRVRVUk5TIElOVAorUkVUVVJOIChTRUxFQ1QgQ09VTlQoKikgRlJP TSBwdHJfb2IxLnYxKTt8fAorU0VMRUNUIGYxKCk7CitmMSgpCis1CitDQUxMIHB0cl9vYjEucDEo J3Byb2NlZHVyZSBwMSBjYWxsZWQgZm9yIHZpZXcgdjEnLCAxKTsKK0NBTEwgcHRyX29iMS5wMSgn cHJvY2VkdXJlIHAxIGNhbGxlZCBmb3IgdmlldyB2MScsIDIpOworU0VMRUNUICogRlJPTSBwdHJf b2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAlzZXQ0CisyCWJiMgor MQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0 MQorMjEJc2V0MgorMwlhbGVydAorNAlzZXQ0CisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorQ0FM TCBwdHJfb2IxLnAyKCdwcm9jZWR1cmUgcDIgY2FsbGVkIGZvciB0cmcyJyk7CitDQUxMIHB0cl9v YjEucDIoJ3Byb2NlZHVyZSBwMiBhZ2FpbiBjYWxsZWQgZm9yIHRyZzInKTsKK1NFTEVDVCAqIEZS T00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9ybWFsIEluc2Vy dDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dlciBmaXJlZCBm cm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9j ZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorU0VMRUNUICogRlJP TSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgw Cis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAw Cis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAw CisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitDQUxMIHB0cl9vYjEucDMo J3Byb2NlZHVyZSBwMyBjYWxsZWQgZm9yIHRyZzYnKTsKK1NFTEVDVCAqIEZST00gcHRyX29iMi50 MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmly ZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFs IEluc2VydDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIElu c2VydDQKKzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2 CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHBy b2NlZHVyZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIu dDEKK0NBTEwgcHRyX29iMi5wNCgpOworaWQKKzEKKzIKKzMKKzMKKzUKKzUKKzUKKzMzCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQorMgorMworMworNQorNQorNQorMzMKK1NFTEVD VCAqIEZST00gcHRyX29iMS52djsKK1NVTShpZCkKKzEKKzIKKzYKKzE1CiszMworU0VMRUNUICog RlJPTSBwdHJfb2IxLnR2MTsKK2lkCisxCisyCiszCiszCis1CisqKiBDaGVja2luZyBkYXRhIGNv bnRlbnRzIGluIGFsbCB0aGUgdGFibGVzIGJlZm9yZSBwZXJmb3JtaW5nIGJhY2t1cCAqKgorU0hP VyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFtZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRl ZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nv bm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCitwdHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxv Y2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9j YWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2Nh bGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2Fs aG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOworVHJp Z2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5l cgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xs YXRpb24KK3RyZzEJSU5TRVJUCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVF UyhOVUxMLCAndDEnLCBuZXcuYSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJn NQlVUERBVEUJdDEJQkVHSU4KK1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsKK1NF VCBAYV9uZXc9bmV3LmE7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlERUxF VEUJdDEJQkVHSU4gCitJTlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xkLmlk LCBvbGQuYik7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJdDIJ QkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQnLCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMK K1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1l bnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAlj b2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQxCUJF R0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmlyZWQg ZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxvY2Fs aG9zdAkjCSMJIwordHJnMwlERUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBvbGQu aWQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9v YjE7CitUYWJsZXNfaW5fcHRyX29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNF IFRBQkxFCit0MwlCQVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2 dglWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMjsKK1RhYmxlc19pbl9wdHJfb2Iy CVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVD VCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudjsKK2lkCWEJYgorMQkyMAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNl cnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQg ZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJv Y2VkdXJlIHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBm aXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKKzQJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzcJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEwCXRy aWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmlyZWQgZm9yIEFG VEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIKKzExCXNldDEK KzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVD VCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJ I3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7 CitpZAorMQorMgorMworMworNQorU0VMRUNUICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIK KzMKKzMKKzUKKzUKKzUKKzMzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnY7CitTVU0oaWQpCisx CisyCis2CisxNQorMzMKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzcKK3Nl dCB0aW1lc3RhbXA9QGErMjsKK01ha2Ugc29tZSBjaGFuZ2VzIHRvIG9iamVjdHMuCitBTFRFUiBW SUVXIHB0cl9vYjEudiBBUyBTRUxFQ1QgaWQsIGEgRlJPTSBwdHJfb2IxLnQxOworQUxURVIgVEFC TEUgcHRyX29iMS52diBSRU5BTUUgVE8gcHRyX29iMS52dmE7CitBTFRFUiBUQUJMRSBwdHJfb2Iy LnQyIEFERCBDT0xVTU4gYWZfYmFja3VwIFZBUkNIQVIoMzApOworQUxURVIgVEFCTEUgcHRyX29i MS50MyBDSEFOR0UgbmFtZSBuYW1lIFRFWFQ7CitERVNDUklCRSBwdHJfb2IxLnQzOworRmllbGQJ VHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitzcm5vCWludCgxMSkJTk8JUFJJCU5VTEwJYXV0 b19pbmNyZW1lbnQKK25hbWUJdGV4dAlZRVMJCU5VTEwJCitvbGRfYQlpbnQoMTEpCVlFUwkJTlVM TAkKK0FMVEVSIFBST0NFRFVSRSBwdHJfb2IyLnA0IENPTU1FTlQgJ0FGVEVSIEJBQ0tVUCc7CitT RUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEKKzEJMjAKKzMJODUKK0NyZWF0aW5nIHNvbWUg bmV3IG9iamVjdHMKK0NSRUFURSBUQUJMRSBwdHJfb2IxLnQxMSAoaSBJTlQsIHNyIElOVCwgaiBJ TlQpIGVuZ2luZT1teWlzYW07CitJTlNFUlQgSU5UTyBwdHJfb2IxLnQxMSBWQUxVRVMgKDEsIDIs IDMpOworQ1JFQVRFIFRSSUdHRVIgcHRyX29iMS5haSBBRlRFUiBJTlNFUlQgT04gcHRyX29iMS50 MTEgRk9SIEVBQ0ggUk9XIFNFVCBAYTo9IG5ldy5zcjsKK0NSRUFURSBUUklHR0VSIHB0cl9vYjEu YXUgQUZURVIgVVBEQVRFIE9OIHB0cl9vYjEudDExIEZPUiBFQUNIIFJPVyBTRVQgQGE6PSBuZXcu c3I7CitDUkVBVEUgVFJJR0dFUiBwdHJfb2IxLmFkIEFGVEVSIERFTEVURSBPTiBwdHJfb2IxLnQx MSBGT1IgRUFDSCBST1cgU0VUIEBhOj0gb2xkLnNyOworSU5TRVJUIElOVE8gcHRyX29iMS50MTEg VkFMVUVTKDQsIDUsIDYpLCg3LCA4LCA5KTsKK1NFTEVDVCBAYTsKK0BhCis4CitVUERBVEUgcHRy X29iMS50MTEgU0VUIGk9MTAgV0hFUkUgc3I9NTsKK1NFTEVDVCBAYTsKK0BhCis1CitERUxFVEUg RlJPTSBwdHJfb2IxLnQxMSBXSEVSRSBzcj04OworU0VMRUNUIEBhOworQGEKKzgKK05vdyBhbHRl ciB0aGUgdGFibGUgCitBTFRFUiBUQUJMRSBwdHJfb2IxLnQxMSBEUk9QIENPTFVNTiBqOworU0VM RUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK2kJc3IKKzEJMgorMTAJNQorSU5TRVJUIElOVE8gcHRy X29iMS50MTEgVkFMVUVTKDExLCAxMik7CitTRUxFQ1QgQGE7CitAYQorMTIKK0ZpcmluZyBleGlz dGluZyB0cmlnZ2VycyBhbmQgY2FsbGluZyBwcm9jZWR1cmVzLgorSU5TRVJUIElOVE8gcHRyX29i MS50MiBWQUxVRVMoTlVMTCwgJ0luc2VydCBhZnRlciBiYWNrdXAnKTsKK0lOU0VSVCBJTlRPIHB0 cl9vYjIudDIgVkFMVUVTKDEwLCAnYWZfYmsxJyksKDIsICdhZl9iazInKSwoNywnYWZfYmszJyks KDIsJ2FmX2JrNCcpOworREVMRVRFIEZST00gcHRyX29iMi50MiBXSEVSRSBpZD0xMDsKK1NFTEVD VCBAZGVsX3N1bTsKK0BkZWxfc3VtCisxMjcKK0NBTEwgcHRyX29iMS5wMSgncHJvY2VkdXJlIHAx IGFmX2JrdXAgZm9yIHZpZXcgdjEnLCAzKTsKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lk CWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJ ZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIKKzExCXNldDEK KzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKKzEJZmly ZWQKK0NBTEwgcHRyX29iMS5wMigncHJvY2VkdXJlIHAyIGNhbGxlZCAgYWZfYmt1cCBmb3IgdHJn MicpOworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0 MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAor NQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dl ciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJl IHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorOQlJ bnNlcnQgYWZ0ZXIgYmFja3VwCisxMAlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCitT RUxFQ1QgKiBGUk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJ NTAKKzMJdDEJODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmln Z2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVS IElOU0VSVAkxMDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmln Z2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVS IElOU0VSVAkxMDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRy aWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9yIEFG VEVSIElOU0VSVAkxMDAKKzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK0NB TEwgcHRyX29iMS5wMygncHJvY2VkdXJlIHAzIGNhbGxlZCBhZl9ia3VwIGZvciB0cmc2Jyk7CitT RUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0 Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudDI7CitpZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQy CiszCU5vcm1hbCBJbnNlcnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJv bSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2Vk dXJlIHAyCis3CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJl ZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis5CUluc2VydCBhZnRlciBiYWNrdXAK KzEwCVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzExCVRyaWdnZXIgZmlyZWQgZnJv bSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorQ0FMTCBwdHJfb2IyLnA0KCk7CitpZAorMQor MgorMgorMgorMworMworNQorNQorNQorNworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsK K2lkCisxCisyCisyCisyCiszCiszCis1Cis1Cis1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJf b2IxLnZ2YTsKK1NVTShpZCkKKzEKKzYKKzYKKzE1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJf b2IxLnR2MTsKK2lkCisxCisyCiszCiszCis1CitDaGVja2luZyB0aGUgZGF0YSBjb250ZW50cyBh ZnRlciBiYWNrdXAuCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVmaW5l cglNb2RpZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0X2Ns aWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJcDEJ UFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMglQ Uk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAzCVBS T0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJUFJP Q0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCUFGVEVSIEJBQ0tVUAkjCSMJIworU0hP VyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlU aW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxh dGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJQkVHSU4K K0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsKK0VORAkj CSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VUIEBpZD1v bGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkjCSMJCXJv b3RAbG9jYWxob3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRPIHB0 cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJvb3RAbG9j YWxob3N0CSMJIwkjCithaQlJTlNFUlQJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9j YWxob3N0CSMJIwkjCithdQlVUERBVEUJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9j YWxob3N0CSMJIwkjCithZAlERUxFVEUJdDExCVNFVCBAYTo9IG9sZC5zcgkjCSMJCXJvb3RAbG9j YWxob3N0CSMJIwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50 MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitF TkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7 CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlE ZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNl IENvbGxhdGlvbgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIg VkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2Iy LnQxJyk7ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVURQl0MglT RVQgQGRlbF9zdW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkj CitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2IxCVRhYmxl X3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QxMQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit0MwlC QVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dmEJVklFVworU0hP VyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglUYWJsZV90eXBl Cit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJf b2IxLnY7CitpZAlhCisxCTIwCiszCTg1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlk YXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQz Cis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2Yg cHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIg ZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0 ZSBvZiBwdHJfb2IyLnQxCis5CUluc2VydCBhZnRlciBiYWNrdXAKKzEwCVRyaWdnZXIgZmlyZWQg ZnJvbSBwcm9jZWR1cmUgcDIKKzExCVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2Yg cHRyX29iMi50MQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisx CXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMgl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCisxNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1 cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9v YjEudjE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisx CWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQK KzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCisyCisy CiszCiszCis1Cis1Cis1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NVTShp ZCkKKzEKKzYKKzYKKzE1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK2kJc3IK KzEJMgorMTAJNQorMTEJMTIKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzgK K1NFVCBUSU1FU1RBTVA9QGErNDsKK0ZMVVNIIExPR1M7CitEUk9QIERBVEFCQVNFIHB0cl9vYjE7 CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7CisqKioqIEV4ZWN1dGUgbXlzcWxiaW5sb2cgdG8gcmVj b3ZlciB0aGUgZGF0YSBmcm9tIHN0YXJ0IHRvIGJhY2t1cCAqKioqCitTSE9XIFBST0NFRFVSRSBT VEFUVVM7CitEYglOYW1lCVR5cGUJRGVmaW5lcglNb2RpZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5 cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRh YmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlE RUZJTkVSCQkjCSMJIworcHRyX29iMQlwMglQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURF RklORVIJCSMJIwkjCitwdHJfb2IxCXAzCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVG SU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJ TkVSCQkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRh YmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9z ZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJ TlNFUlQJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScs IG5ldy5hKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlC RUdJTgorU0VUIEBpZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcu YTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAK K0lOU0VSVCBJTlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VO RAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJU IElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVCcsIDEwMCk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VS UyBGUk9NIHB0cl9vYjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3Jl YXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25u ZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJ TlRPIHB0cl9vYjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVw ZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0 cmczCURFTEVURQl0MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RA bG9jYWxob3N0CSMJIwkjCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19p bl9wdHJfb2IxCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJB U0UgVEFCTEUKK3R2MQlCQVNFIFRBQkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2CVZJRVcKK1NIT1cg RlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJVGFibGVfdHlwZQor dDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNUICogRlJPTSBwdHJf b2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29i MS52OworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50 MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFs IEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVw ZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJ VHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0 ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8J bmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEw MAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlh bGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJf b2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgor MQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MTsKK2lkCisxCisyCisz CiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQorMgorMworMworNQorNQor NQorMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52djsKK1NVTShpZCkKKzEKKzIKKzYKKzE1Cisz MworU0VMRUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorNworKioqKiBOb3cgcGVyZm9y bSBhbm90aGVyIHJlY292ZXJ5IHRvIHJlY292ZXIgZGF0YSBhZnRlciBiYWNrdXAgKioqKgorU0hP VyBQUk9DRURVUkUgU1RBVFVTOworRGIJTmFtZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRl ZAlTZWN1cml0eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nv bm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCitwdHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxv Y2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9j YWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2Nh bGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2Fs aG9zdAkjCSMJREVGSU5FUglBRlRFUiBCQUNLVVAJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBw dHJfb2IxOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3Fs X21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglE YXRhYmFzZSBDb2xsYXRpb24KK3RyZzEJSU5TRVJUCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJf b2IxLnQzIFZBTFVFUyhOVUxMLCAndDEnLCBuZXcuYSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9z dAkjCSMJIwordHJnNQlVUERBVEUJdDEJQkVHSU4KK1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29s ZD1vbGQuYTsKK1NFVCBAYV9uZXc9bmV3LmE7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJ IwordHJnNAlERUxFVEUJdDEJQkVHSU4gCitJTlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBW QUxVRVMob2xkLmlkLCBvbGQuYik7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYWkJ SU5TRVJUCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYXUJ VVBEQVRFCXQxMQlTRVQgQGE6PSBuZXcuc3IJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYWQJ REVMRVRFCXQxMQlTRVQgQGE6PSBvbGQuc3IJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJn MglJTlNFUlQJdDIJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0 cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQnLCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2Nh bGhvc3QJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlU YWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJf c2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJ VVBEQVRFCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1Ry aWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMwlERUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRl bF9zdW0gKyBvbGQuaWQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxF UyBGUk9NIHB0cl9vYjE7CitUYWJsZXNfaW5fcHRyX29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRB QkxFCit0MTEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJB U0UgVEFCTEUKK3YJVklFVwordjEJVklFVwordnZhCVZJRVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJP TSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQor dDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQli CisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52OworaWQJYQorMQky MAorMwk4NQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5z ZXJ0MQorMglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0 NAorNQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJp Z2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2Vk dXJlIHAyCis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQor OQlJbnNlcnQgYWZ0ZXIgYmFja3VwCisxMAlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAy CisxMQlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKK1NFTEVD VCAqIEZST00gcHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAor Mwl0MQk4MAorNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorNwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5T RVJUCTEwMAorMTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTIJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIg SU5TRVJUCTEwMAorMTMJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTQJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQx OworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJl ZAorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJ c2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAor MQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MTsKK2lkCisxCisyCiszCiszCis1CitT RUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQorMgorMgorMgorMworMworNQorNQorNQor NworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52dmE7CitTVU0oaWQpCisxCis2Cis2CisxNQor NworMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTE7CitpCXNyCisxCTIKKzEwCTUKKzExCTEy CitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29iMS5mMSgpCis4CitEUk9QIERBVEFCQVNFIHB0 cl9vYjE7CitEUk9QIERBVEFCQVNFIHB0cl9vYjI7CisqKiogVEVTVDIgKioqIDoKK1BlcmZvcm0g UmVzdG9yZSBhbmQgcmVjb3ZlciB0cmFuc2FjdGlvbnMgYWZ0ZXIgYmFja3VwIGJ5IGV4ZWN1dGlu ZyAKK215c3FsYmlubG9nIHV0aWxpdHkgdXNpbmcgYmlubG9nIHBvc2l0aW9uLgorCitQZXJmcm9t IFJlc3RvcmUgb3BlcmF0aW9uCitSRVNUT1JFIEZST00gJ3B0cl9vYmplY3RzLmJhayc7CitiYWNr dXBfaWQKKyMKK1NIT1cgUFJPQ0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1v ZGlmaWVkCUNyZWF0ZWQJU2VjdXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50 CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9D RURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NF RFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VE VVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURV UkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00g cHRyX29iMTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNx bF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24J RGF0YWJhc2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRy X29iMS50MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhv c3QJIwkjCSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9v bGQ9b2xkLmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK3RyZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikg VkFMVUVTKG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3Ry ZzIJSU5TRVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAn dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9j YWxob3N0CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJ VGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVy X3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2 CVVQREFURQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdU cmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJ IwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBk ZWxfc3VtICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJM RVMgRlJPTSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBU QUJMRQordDIJQkFTRSBUQUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklF VwordjEJVklFVwordnYJVklFVworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJs ZXNfaW5fcHRyX29iMglUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2 MQlWSUVXCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1 CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJi MworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQor MglOb3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlU cmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBm aXJlZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAy Cis4CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorU0VMRUNU ICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCisz CXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBm aXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dlciBm aXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNF UlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMQl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7Citp ZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisx CWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQxCisyMQlzZXQy CiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudHYxOworaWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52 MTsKK2lkCisxCisyCiszCiszCis1Cis1Cis1CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2 OworU1VNKGlkKQorMQorMgorNgorMTUKKzMzCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29i MS5mMSgpCis3CitOb3cgdXNlIGJpbmxvZyBwb3NpdGlvbiB0byByZWNvdmVyIGRhdGEgYWZ0ZXIg YmFja3VwCitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVmaW5lcglNb2Rp ZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0X2NsaWVudAlj b2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VE VVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMglQUk9DRURV UkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAzCVBST0NFRFVS RQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJF CXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCUFGVEVSIEJBQ0tVUAkjCSMJIworU0hPVyBUUklH R0VSUyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJ Q3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9j b25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJQkVHSU4KK0lOU0VS VCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsKK0VORAkjCSMJCXJv b3RAbG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VUIEBpZD1vbGQuaWQ7 CitTRVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkjCSMJCXJvb3RAbG9j YWxob3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRPIHB0cl9vYjIu dDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCithaQlJTlNFUlQJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCithdQlVUERBVEUJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCithZAlERUxFVEUJdDExCVNFVCBAYTo9IG9sZC5zcgkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxV RVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitFTkQJIwkj CQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitUcmln Z2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVy CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxh dGlvbgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIgVkFMVUVT CisoTlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7 ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVURQl0MglTRVQgQGRl bF9zdW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9X IEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2IxCVRhYmxlX3R5cGUK K3QxCUJBU0UgVEFCTEUKK3QxMQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit0MwlCQVNFIFRB QkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dmEJVklFVworU0hPVyBGVUxM IFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglUYWJsZV90eXBlCit0MQlC QVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEu dDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnY7 CitpZAlhCisxCTIwCiszCTg1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7CitpZAlkYXRhCisx CU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNlcnQzCis0CU5v cm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29i Mi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3CVRyaWdnZXIgZmlyZWQg ZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBw dHJfb2IyLnQxCis5CUluc2VydCBhZnRlciBiYWNrdXAKKzEwCVRyaWdnZXIgZmlyZWQgZnJvbSBw cm9jZWR1cmUgcDIKKzExCVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29i Mi50MQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIw CisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZv ciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAw CisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMgl0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJ MTAwCisxNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9N IHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJ YmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjE7 CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVk CisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOworaWQKKzEKKzIK KzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCisyCisyCiszCisz Cis1Cis1Cis1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NVTShpZCkKKzEK KzYKKzYKKzE1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK2kJc3IKKzEJMgor MTAJNQorMTEJMTIKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkKKzgKK0RST1Ag REFUQUJBU0UgcHRyX29iMTsKK0RST1AgREFUQUJBU0UgcHRyX29iMjsKKyoqKiBURVNUMyAqKiog OgorVGhpcyB0ZXN0IHdpbGwgcmVjb3ZlciBkYXRhIGFuZCBvYmplY3RzIHVzaW5nIGJpbmxvZyBk YXRlcwordGlsbCBwb2ludCBvZiBiYWNrdXAgYW5kIGFmdGVyIGJhY2t1cC4KKworVXNlIG15c3Fs YmlubG9nIGRhdGVzIHRvIHJlY292ZXIgZGF0YSB0aWxsIHBvaW50IG9mIGJhY2t1cC4KK1NIT1cg UFJPQ0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJ U2VjdXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25u ZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2Nh bGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2Fs aG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxo b3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhv c3QJIwkjCURFRklORVIJCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMTsKK1RyaWdn ZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJ Y2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0 aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMo TlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzUJ VVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xkLmE7CitTRVQg QGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzQJREVMRVRF CXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFMVUVTKG9sZC5pZCwg b2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJSU5TRVJUCXQyCUJF R0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitT SE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50 CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29s bGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQREFURQl0MQlCRUdJ TgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2VyIGZpcmVkIGZy b20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJcm9vdEBsb2NhbGhv c3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxfc3VtICsgb2xkLmlk CSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2Ix OworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBU QUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUKK3YJVklFVwordjEJVklFVwordnYJ VklFVworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglU YWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICog RlJPTSBwdHJfb2IxLnY7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJP TSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglOb3JtYWwgSW5zZXJ0 MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmlnZ2VyIGZpcmVkIGZy b20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2Nl ZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4CVRyaWdnZXIgZmly ZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorU0VMRUNUICogRlJPTSBwdHJfb2Ix LnQzOworc3JubwluYW1lCW9sZF9hCisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdn ZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIg SU5TRVJUCTEwMAorNgl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdn ZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIg SU5TRVJUCTEwMAorOQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmln Z2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisy MQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1Qg KiBGUk9NIHB0cl9vYjEudjE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1 cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOwor aWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCisz CiszCis1Cis1Cis1CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2OworU1VNKGlkKQorMQor MgorNgorMTUKKzMzCitTRUxFQ1QgcHRyX29iMS5mMSgpOworcHRyX29iMS5mMSgpCis3CitVc2Ug bXlzcWxiaW5sb2cgZGF0ZXMgdG8gcmVjb3ZlciBkYXRhIGFmdGVyIGJhY2t1cCAKK1NIT1cgUFJP Q0VEVVJFIFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJU2Vj dXJpdHlfdHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0 aW9uCURhdGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2NhbGhv c3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2FsaG9z dAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0 CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJ IwkjCURFRklORVIJQUZURVIgQkFDS1VQCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29i MTsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2Rl CURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJh c2UgQ29sbGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50 MyBWQUxVRVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK3RyZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xk LmE7CitTRVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3Ry ZzQJREVMRVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFMVUVT KG9sZC5pZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FpCUlOU0VS VAl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2F1CVVQREFU RQl0MTEJU0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FkCURFTEVU RQl0MTEJU0VUIEBhOj0gb2xkLnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJSU5T RVJUCXQyCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dl ciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0 CSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFibGUJ U3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9j bGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQREFU RQl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2Vy IGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJcm9v dEBsb2NhbGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxfc3Vt ICsgb2xkLmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMgRlJP TSBwdHJfb2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQor dDExCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNFIFRB QkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2YQlWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRy X29iMjsKK1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJB U0UgVEFCTEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgorMQky MAliYjEKKzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEKKzEJMjAKKzMJ ODUKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEK KzIJTm9ybWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJ VHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIg ZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBw MgorOAlUcmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzkJSW5z ZXJ0IGFmdGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorMTEJ VHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJ ODAKKzQJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkx MDAKKzcJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVk IGZvciBBRlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkx MDAKKzEwCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmly ZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VS VAkxMDAKKzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzE0CXRyaWdnZXIg ZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lk CWIKKzExCXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJ ZmlyZWQKKzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEK KzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKKzEJZmly ZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorU0VMRUNU ICogRlJPTSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUKKzUKKzUKKzcKKzMz CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQorNgorNgorMTUKKzcKKzMz CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDExOworaQlzcgorMQkyCisxMAk1CisxMQkxMgorU0VM RUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorOAorRFJPUCBEQVRBQkFTRSBwdHJfb2Ix OworRFJPUCBEQVRBQkFTRSBwdHJfb2IyOworKioqIFRFU1Q0ICoqKiA6CitQZXJmb3JtIFJlc3Rv cmUgYW5kIHJlY292ZXIgb2JqZWN0cyBhZnRlciBiYWNrdXAgYnkgZXhlY3V0aW5nIG15c3FsYmlu bG9nCit1dGlsaXR5IHVzaW5nIGJpbmxvZyBkYXRlcy4KKworUGVyZm9ybSBSZXN0b3JlIG9wZXJh dGlvbgorUkVTVE9SRSBGUk9NICdwdHJfb2JqZWN0cy5iYWsnOworYmFja3VwX2lkCisjCitTSE9X IFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVmaW5lcglNb2RpZmllZAlDcmVhdGVk CVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29u bmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJcDEJUFJPQ0VEVVJFCXJvb3RAbG9j YWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMglQUk9DRURVUkUJcm9vdEBsb2Nh bGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAzCVBST0NFRFVSRQlyb290QGxvY2Fs aG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJUFJPQ0VEVVJFCXJvb3RAbG9jYWxo b3N0CSMJIwlERUZJTkVSCQkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CitUcmln Z2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVy CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxh dGlvbgordHJnMQlJTlNFUlQJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVT KE5VTEwsICd0MScsIG5ldy5hKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc1 CVVQREFURQl0MQlCRUdJTgorU0VUIEBpZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5hOworU0VU IEBhX25ldz1uZXcuYTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc0CURFTEVU RQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRPIHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQs IG9sZC5iKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmcyCUlOU0VSVAl0MglC RUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQg Zm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwor U0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVu dAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNv bGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnNglVUERBVEUJdDEJQkVH SU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBm cm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxJyk7ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxo b3N0CSMJIwkjCit0cmczCURFTEVURQl0MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1bSArIG9sZC5p ZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29i MTsKK1RhYmxlc19pbl9wdHJfb2IxCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0Ug VEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNFIFRBQkxFCit2CVZJRVcKK3YxCVZJRVcKK3Z2 CVZJRVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2IyOworVGFibGVzX2luX3B0cl9vYjIJ VGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordjEJVklFVworU0VMRUNU ICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAq IEZST00gcHRyX29iMS52OworaWQJYQliCisxCTIwCWJiMQorMwk4NQliYjMKK1NFTEVDVCAqIEZS T00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9ybWFsIEluc2Vy dDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dlciBmaXJlZCBm cm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIgZmlyZWQgZnJvbSBwcm9j ZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorOAlUcmlnZ2VyIGZp cmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00gcHRyX29i MS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAorNAl0cmln Z2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVS IElOU0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNwl0cmln Z2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVS IElOU0VSVAkxMDAKKzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTAJdHJp Z2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBmb3IgQUZU RVIgSU5TRVJUCTEwMAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgorMTEJc2V0MQor MjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNU ICogRlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkj dXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MTsK K2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjIudjE7CitpZAorMQorMgor MworMworNQorNQorNQorMzMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52djsKK1NVTShpZCkKKzEK KzIKKzYKKzE1CiszMworU0VMRUNUIHB0cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorNwordXNl IGJpbmxvZyBkYXRlcyB0byByZWNvdmVyIGRhdGEgYWZ0ZXIgYmFja3VwLgorU0hPVyBQUk9DRURV UkUgU1RBVFVTOworRGIJTmFtZQlUeXBlCURlZmluZXIJTW9kaWZpZWQJQ3JlYXRlZAlTZWN1cml0 eV90eXBlCUNvbW1lbnQJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24J RGF0YWJhc2UgQ29sbGF0aW9uCitwdHJfb2IxCXAxCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkj CSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDIJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJ IwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlwMwlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkj CURFRklORVIJCSMJIwkjCitwdHJfb2IyCXA0CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJ REVGSU5FUglBRlRFUiBCQUNLVVAJIwkjCSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IxOwor VHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVm aW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBD b2xsYXRpb24KK3RyZzEJSU5TRVJUCXQxCUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZB TFVFUyhOVUxMLCAndDEnLCBuZXcuYSk7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwor dHJnNQlVUERBVEUJdDEJQkVHSU4KK1NFVCBAaWQ9b2xkLmlkOworU0VUIEBhX29sZD1vbGQuYTsK K1NFVCBAYV9uZXc9bmV3LmE7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnNAlE RUxFVEUJdDEJQkVHSU4gCitJTlNFUlQgSU5UTyBwdHJfb2IyLnQxKGlkLCBiKSBWQUxVRVMob2xk LmlkLCBvbGQuYik7CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYWkJSU5TRVJUCXQx MQlTRVQgQGE6PSBuZXcuc3IJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYXUJVVBEQVRFCXQx MQlTRVQgQGE6PSBuZXcuc3IJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworYWQJREVMRVRFCXQx MQlTRVQgQGE6PSBvbGQuc3IJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIwordHJnMglJTlNFUlQJ dDIJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0cmlnZ2VyIGZp cmVkIGZvciBBRlRFUiBJTlNFUlQnLCAxMDApOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkj CSMKK1NIT1cgVFJJR0dFUlMgRlJPTSBwdHJfb2IyOworVHJpZ2dlcglFdmVudAlUYWJsZQlTdGF0 ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcgljaGFyYWN0ZXJfc2V0X2NsaWVu dAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyZzYJVVBEQVRFCXQx CUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQyIFZBTFVFUworKE5VTEwsJ1RyaWdnZXIgZmly ZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MScpOyAgCitFTkQJIwkjCQlyb290QGxv Y2FsaG9zdAkjCSMJIwordHJnMwlERUxFVEUJdDIJU0VUIEBkZWxfc3VtOj0gQGRlbF9zdW0gKyBv bGQuaWQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0 cl9vYjE7CitUYWJsZXNfaW5fcHRyX29iMQlUYWJsZV90eXBlCit0MQlCQVNFIFRBQkxFCit0MTEJ QkFTRSBUQUJMRQordDIJQkFTRSBUQUJMRQordDMJQkFTRSBUQUJMRQordHYxCUJBU0UgVEFCTEUK K3YJVklFVwordjEJVklFVwordnZhCVZJRVcKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJfb2Iy OworVGFibGVzX2luX3B0cl9vYjIJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDIJQkFTRSBU QUJMRQordjEJVklFVworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxOworaWQJYQliCisxCTIwCWJi MQorMwk4NQliYjMKK1NFTEVDVCAqIEZST00gcHRyX29iMS52OworaWQJYQorMQkyMAorMwk4NQor U0VMRUNUICogRlJPTSBwdHJfb2IxLnQyOworaWQJZGF0YQorMQlOb3JtYWwgSW5zZXJ0MQorMglO b3JtYWwgSW5zZXJ0MgorMwlOb3JtYWwgSW5zZXJ0MworNAlOb3JtYWwgSW5zZXJ0NAorNQlUcmln Z2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzYJVHJpZ2dlciBmaXJl ZCBmcm9tIHByb2NlZHVyZSBwMgorNwlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis4 CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUgb2YgcHRyX29iMi50MQorOQlJbnNlcnQg YWZ0ZXIgYmFja3VwCisxMAlUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCisxMQlUcmln Z2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKK1NFTEVDVCAqIEZST00g cHRyX29iMS50MzsKK3Nybm8JbmFtZQlvbGRfYQorMQl0MQkyMAorMgl0MQk1MAorMwl0MQk4MAor NAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis1CXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzYJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor Nwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis4CXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzkJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAor MTAJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTEJdHJpZ2dlciBmaXJlZCBm b3IgQUZURVIgSU5TRVJUCTEwMAorMTIJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEw MAorMTMJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorMTQJdHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorU0VMRUNUICogRlJPTSBwdHJfb2IyLnQxOworaWQJYgor MTEJc2V0MQorMjEJc2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJl ZAorMQlmaXJlZAorU0VMRUNUICogRlJPTSBwdHJfb2IxLnYxOworaWQJYgorMTEJc2V0MQorMjEJ c2V0MgorMwlhbGVydAorNAkjdXAjCisyCWJiMgorMQlmaXJlZAorMQlmaXJlZAorMQlmaXJlZAor U0VMRUNUICogRlJPTSBwdHJfb2IxLnR2MTsKK2lkCisxCisyCiszCiszCis1CitTRUxFQ1QgKiBG Uk9NIHB0cl9vYjIudjE7CitpZAorMQorMgorMgorMgorMworMworNQorNQorNQorNworMzMKK1NF TEVDVCAqIEZST00gcHRyX29iMS52dmE7CitTVU0oaWQpCisxCis2Cis2CisxNQorNworMzMKK1NF TEVDVCAqIEZST00gcHRyX29iMS50MTE7CitpCXNyCisxCTIKKzEwCTUKKzExCTEyCitTRUxFQ1Qg cHRyX29iMS5mMSgpOworcHRyX29iMS5mMSgpCis4CitEUk9QIERBVEFCQVNFIHB0cl9vYjE7CitE Uk9QIERBVEFCQVNFIHB0cl9vYjI7CisqKiogVEVTVDUgKioqIDoKK0RvIGNvbXBsZXRlIHJlY292 ZXJ5IG9mIGRhdGEgYWZ0ZXIgYmFja3VwIHVzaW5nIGJpbmxvZyBwb3NpdGlvbi4gRW5zdXJlCit0 aGF0IHByZXNlbmNlIG9mIGJhY2t1cCBvcGVyYXRpb24gaW4gdGhlIGJpbmxvZyBzaG91bGRuJ3Qg aGF2ZSBhbnkgaW1wYWN0CitTSE9XIFBST0NFRFVSRSBTVEFUVVM7CitEYglOYW1lCVR5cGUJRGVm aW5lcglNb2RpZmllZAlDcmVhdGVkCVNlY3VyaXR5X3R5cGUJQ29tbWVudAljaGFyYWN0ZXJfc2V0 X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3B0cl9vYjEJ cDEJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCQkjCSMJIworcHRyX29iMQlw MglQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAz CVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJREVGSU5FUgkJIwkjCSMKK3B0cl9vYjIJcDQJ UFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlERUZJTkVSCUFGVEVSIEJBQ0tVUAkjCSMJIwor U0hPVyBUUklHR0VSUyBGUk9NIHB0cl9vYjE7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVu dAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9kZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNv bGxhdGlvbl9jb25uZWN0aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHJnMQlJTlNFUlQJdDEJQkVH SU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEudDMgVkFMVUVTKE5VTEwsICd0MScsIG5ldy5hKTsKK0VO RAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc1CVVQREFURQl0MQlCRUdJTgorU0VUIEBp ZD1vbGQuaWQ7CitTRVQgQGFfb2xkPW9sZC5hOworU0VUIEBhX25ldz1uZXcuYTsKK0VORAkjCSMJ CXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmc0CURFTEVURQl0MQlCRUdJTiAKK0lOU0VSVCBJTlRP IHB0cl9vYjIudDEoaWQsIGIpIFZBTFVFUyhvbGQuaWQsIG9sZC5iKTsKK0VORAkjCSMJCXJvb3RA bG9jYWxob3N0CSMJIwkjCithaQlJTlNFUlQJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RA bG9jYWxob3N0CSMJIwkjCithdQlVUERBVEUJdDExCVNFVCBAYTo9IG5ldy5zcgkjCSMJCXJvb3RA bG9jYWxob3N0CSMJIwkjCithZAlERUxFVEUJdDExCVNFVCBAYTo9IG9sZC5zcgkjCSMJCXJvb3RA bG9jYWxob3N0CSMJIwkjCit0cmcyCUlOU0VSVAl0MglCRUdJTgorSU5TRVJUIElOVE8gcHRyX29i MS50MyBWQUxVRVMoTlVMTCwgJ3RyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVCcsIDEwMCk7 CitFTkQJIwkjCQlyb290QGxvY2FsaG9zdAkjCSMJIworU0hPVyBUUklHR0VSUyBGUk9NIHB0cl9v YjI7CitUcmlnZ2VyCUV2ZW50CVRhYmxlCVN0YXRlbWVudAlUaW1pbmcJQ3JlYXRlZAlzcWxfbW9k ZQlEZWZpbmVyCWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURhdGFi YXNlIENvbGxhdGlvbgordHJnNglVUERBVEUJdDEJQkVHSU4KK0lOU0VSVCBJTlRPIHB0cl9vYjEu dDIgVkFMVUVTCisoTlVMTCwnVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJf b2IyLnQxJyk7ICAKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkjCit0cmczCURFTEVURQl0 MglTRVQgQGRlbF9zdW06PSBAZGVsX3N1bSArIG9sZC5pZAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJ IwkjCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMTsKK1RhYmxlc19pbl9wdHJfb2IxCVRh YmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QxMQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit0 MwlCQVNFIFRBQkxFCit0djEJQkFTRSBUQUJMRQordglWSUVXCit2MQlWSUVXCit2dmEJVklFVwor U0hPVyBGVUxMIFRBQkxFUyBGUk9NIHB0cl9vYjI7CitUYWJsZXNfaW5fcHRyX29iMglUYWJsZV90 eXBlCit0MQlCQVNFIFRBQkxFCit0MglCQVNFIFRBQkxFCit2MQlWSUVXCitTRUxFQ1QgKiBGUk9N IHB0cl9vYjEudDE7CitpZAlhCWIKKzEJMjAJYmIxCiszCTg1CWJiMworU0VMRUNUICogRlJPTSBw dHJfb2IxLnY7CitpZAlhCisxCTIwCiszCTg1CitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudDI7Citp ZAlkYXRhCisxCU5vcm1hbCBJbnNlcnQxCisyCU5vcm1hbCBJbnNlcnQyCiszCU5vcm1hbCBJbnNl cnQzCis0CU5vcm1hbCBJbnNlcnQ0Cis1CVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUg b2YgcHRyX29iMi50MQorNglUcmlnZ2VyIGZpcmVkIGZyb20gcHJvY2VkdXJlIHAyCis3CVRyaWdn ZXIgZmlyZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzgJVHJpZ2dlciBmaXJlZCBmcm9tIGFmdGVyIHVw ZGF0ZSBvZiBwdHJfb2IyLnQxCis5CUluc2VydCBhZnRlciBiYWNrdXAKKzEwCVRyaWdnZXIgZmly ZWQgZnJvbSBwcm9jZWR1cmUgcDIKKzExCVRyaWdnZXIgZmlyZWQgZnJvbSBhZnRlciB1cGRhdGUg b2YgcHRyX29iMi50MQorU0VMRUNUICogRlJPTSBwdHJfb2IxLnQzOworc3JubwluYW1lCW9sZF9h CisxCXQxCTIwCisyCXQxCTUwCiszCXQxCTgwCis0CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzUJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNgl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCis3CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElO U0VSVAkxMDAKKzgJdHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOQl0cmlnZ2Vy IGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJ TlNFUlQJMTAwCisxMQl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMgl0cmln Z2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCisxMwl0cmlnZ2VyIGZpcmVkIGZvciBBRlRF UiBJTlNFUlQJMTAwCisxNAl0cmlnZ2VyIGZpcmVkIGZvciBBRlRFUiBJTlNFUlQJMTAwCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjIudDE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0 CSN1cCMKKzIJYmIyCisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudjE7CitpZAliCisxMQlzZXQxCisyMQlzZXQyCiszCWFsZXJ0Cis0CSN1cCMKKzIJYmIy CisxCWZpcmVkCisxCWZpcmVkCisxCWZpcmVkCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudHYxOwor aWQKKzEKKzIKKzMKKzMKKzUKK1NFTEVDVCAqIEZST00gcHRyX29iMi52MTsKK2lkCisxCisyCisy CisyCiszCiszCis1Cis1Cis1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnZ2YTsKK1NV TShpZCkKKzEKKzYKKzYKKzE1Cis3CiszMworU0VMRUNUICogRlJPTSBwdHJfb2IxLnQxMTsKK2kJ c3IKKzEJMgorMTAJNQorMTEJMTIKK1NFTEVDVCBwdHJfb2IxLmYxKCk7CitwdHJfb2IxLmYxKCkK KzgKK0RST1AgREFUQUJBU0UgcHRyX29iMTsKK0RST1AgREFUQUJBU0UgcHRyX29iMjsKKyoqKiBU RVNUNiAqKiogOgorRG8gY29tcGxldGUgcmVjb3Zlcnkgb2YgZGF0YSBhZnRlciBiYWNrdXAgdXNp bmcgYmlubG9nIGRhdGVzLiBFbnN1cmUKK3RoYXQgcHJlc2VuY2Ugb2YgYmFja3VwIG9wZXJhdGlv biBpbiB0aGUgYmlubG9nIHNob3VsZG4ndCBoYXZlIGFueSBpbXBhY3QKK1NIT1cgUFJPQ0VEVVJF IFNUQVRVUzsKK0RiCU5hbWUJVHlwZQlEZWZpbmVyCU1vZGlmaWVkCUNyZWF0ZWQJU2VjdXJpdHlf dHlwZQlDb21tZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0aW9uCURh dGFiYXNlIENvbGxhdGlvbgorcHRyX29iMQlwMQlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkj CURFRklORVIJCSMJIwkjCitwdHJfb2IxCXAyCVBST0NFRFVSRQlyb290QGxvY2FsaG9zdAkjCSMJ REVGSU5FUgkJIwkjCSMKK3B0cl9vYjEJcDMJUFJPQ0VEVVJFCXJvb3RAbG9jYWxob3N0CSMJIwlE RUZJTkVSCQkjCSMJIworcHRyX29iMglwNAlQUk9DRURVUkUJcm9vdEBsb2NhbGhvc3QJIwkjCURF RklORVIJQUZURVIgQkFDS1VQCSMJIwkjCitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMTsKK1Ry aWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmlu ZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29s bGF0aW9uCit0cmcxCUlOU0VSVAl0MQlCRUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MyBWQUxV RVMoTlVMTCwgJ3QxJywgbmV3LmEpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3Ry ZzUJVVBEQVRFCXQxCUJFR0lOCitTRVQgQGlkPW9sZC5pZDsKK1NFVCBAYV9vbGQ9b2xkLmE7CitT RVQgQGFfbmV3PW5ldy5hOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzQJREVM RVRFCXQxCUJFR0lOIAorSU5TRVJUIElOVE8gcHRyX29iMi50MShpZCwgYikgVkFMVUVTKG9sZC5p ZCwgb2xkLmIpOworRU5ECSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FpCUlOU0VSVAl0MTEJ U0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2F1CVVQREFURQl0MTEJ U0VUIEBhOj0gbmV3LnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK2FkCURFTEVURQl0MTEJ U0VUIEBhOj0gb2xkLnNyCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK3RyZzIJSU5TRVJUCXQy CUJFR0lOCitJTlNFUlQgSU5UTyBwdHJfb2IxLnQzIFZBTFVFUyhOVUxMLCAndHJpZ2dlciBmaXJl ZCBmb3IgQUZURVIgSU5TRVJUJywgMTAwKTsKK0VORAkjCSMJCXJvb3RAbG9jYWxob3N0CSMJIwkj CitTSE9XIFRSSUdHRVJTIEZST00gcHRyX29iMjsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVt ZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJ Y29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cmc2CVVQREFURQl0MQlC RUdJTgorSU5TRVJUIElOVE8gcHRyX29iMS50MiBWQUxVRVMKKyhOVUxMLCdUcmlnZ2VyIGZpcmVk IGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEnKTsgIAorRU5ECSMJIwkJcm9vdEBsb2Nh bGhvc3QJIwkjCSMKK3RyZzMJREVMRVRFCXQyCVNFVCBAZGVsX3N1bTo9IEBkZWxfc3VtICsgb2xk LmlkCSMJIwkJcm9vdEBsb2NhbGhvc3QJIwkjCSMKK1NIT1cgRlVMTCBUQUJMRVMgRlJPTSBwdHJf b2IxOworVGFibGVzX2luX3B0cl9vYjEJVGFibGVfdHlwZQordDEJQkFTRSBUQUJMRQordDExCUJB U0UgVEFCTEUKK3QyCUJBU0UgVEFCTEUKK3QzCUJBU0UgVEFCTEUKK3R2MQlCQVNFIFRBQkxFCit2 CVZJRVcKK3YxCVZJRVcKK3Z2YQlWSUVXCitTSE9XIEZVTEwgVEFCTEVTIEZST00gcHRyX29iMjsK K1RhYmxlc19pbl9wdHJfb2IyCVRhYmxlX3R5cGUKK3QxCUJBU0UgVEFCTEUKK3QyCUJBU0UgVEFC TEUKK3YxCVZJRVcKK1NFTEVDVCAqIEZST00gcHRyX29iMS50MTsKK2lkCWEJYgorMQkyMAliYjEK KzMJODUJYmIzCitTRUxFQ1QgKiBGUk9NIHB0cl9vYjEudjsKK2lkCWEKKzEJMjAKKzMJODUKK1NF TEVDVCAqIEZST00gcHRyX29iMS50MjsKK2lkCWRhdGEKKzEJTm9ybWFsIEluc2VydDEKKzIJTm9y bWFsIEluc2VydDIKKzMJTm9ybWFsIEluc2VydDMKKzQJTm9ybWFsIEluc2VydDQKKzUJVHJpZ2dl ciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCis2CVRyaWdnZXIgZmlyZWQg ZnJvbSBwcm9jZWR1cmUgcDIKKzcJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorOAlU cmlnZ2VyIGZpcmVkIGZyb20gYWZ0ZXIgdXBkYXRlIG9mIHB0cl9vYjIudDEKKzkJSW5zZXJ0IGFm dGVyIGJhY2t1cAorMTAJVHJpZ2dlciBmaXJlZCBmcm9tIHByb2NlZHVyZSBwMgorMTEJVHJpZ2dl ciBmaXJlZCBmcm9tIGFmdGVyIHVwZGF0ZSBvZiBwdHJfb2IyLnQxCitTRUxFQ1QgKiBGUk9NIHB0 cl9vYjEudDM7Citzcm5vCW5hbWUJb2xkX2EKKzEJdDEJMjAKKzIJdDEJNTAKKzMJdDEJODAKKzQJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorNQl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCis2CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzcJ dHJpZ2dlciBmaXJlZCBmb3IgQUZURVIgSU5TRVJUCTEwMAorOAl0cmlnZ2VyIGZpcmVkIGZvciBB RlRFUiBJTlNFUlQJMTAwCis5CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzEw CXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzExCXRyaWdnZXIgZmlyZWQgZm9y IEFGVEVSIElOU0VSVAkxMDAKKzEyCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAK KzEzCXRyaWdnZXIgZmlyZWQgZm9yIEFGVEVSIElOU0VSVAkxMDAKKzE0CXRyaWdnZXIgZmlyZWQg Zm9yIEFGVEVSIElOU0VSVAkxMDAKK1NFTEVDVCAqIEZST00gcHRyX29iMi50MTsKK2lkCWIKKzEx CXNldDEKKzIxCXNldDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQK KzEJZmlyZWQKK1NFTEVDVCAqIEZST00gcHRyX29iMS52MTsKK2lkCWIKKzExCXNldDEKKzIxCXNl dDIKKzMJYWxlcnQKKzQJI3VwIworMgliYjIKKzEJZmlyZWQKKzEJZmlyZWQKKzEJZmlyZWQKK1NF TEVDVCAqIEZST00gcHRyX29iMS50djE7CitpZAorMQorMgorMworMworNQorU0VMRUNUICogRlJP TSBwdHJfb2IyLnYxOworaWQKKzEKKzIKKzIKKzIKKzMKKzMKKzUKKzUKKzUKKzcKKzMzCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudnZhOworU1VNKGlkKQorMQorNgorNgorMTUKKzcKKzMzCitTRUxF Q1QgKiBGUk9NIHB0cl9vYjEudDExOworaQlzcgorMQkyCisxMAk1CisxMQkxMgorU0VMRUNUIHB0 cl9vYjEuZjEoKTsKK3B0cl9vYjEuZjEoKQorOAorCisqKiogIERST1AgcHRyX29iMSBhbmQgcHRy X29iMiBEQVRBQkFTRSAqKioqCisKK0RST1AgREFUQUJBU0UgcHRyX29iMTsKK0RST1AgREFUQUJB U0UgcHRyX29iMjsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdp bmVzL3IvYmFja3VwX3B0cl9yb3cucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1 cF9lbmdpbmVzL3IvYmFja3VwX3B0cl9yb3cucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAw MDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfcm93 LnJlc3VsdAkyMDA4LTEwLTA4IDA0OjI2OjI1ICswMDAwCkBAIC0wLDAgKzEsODQzIEBACitTSE9X IFZBUklBQkxFUyBMSUtFICdzdG9yYWdlX2VuZ2luZSc7CitWYXJpYWJsZV9uYW1lCVZhbHVlCitz dG9yYWdlX2VuZ2luZQkjCitTRVQgR0xPQkFMIEJJTkxPR19GT1JNQVQ9J1JPVyc7CitTRVQgQklO TE9HX0ZPUk1BVD0nUk9XJzsKK1NFTEVDVCBAQEJJTkxPR19GT1JNQVQ7CitAQEJJTkxPR19GT1JN QVQKK1JPVworUkVTRVQgTUFTVEVSOworKipTVEFSVCBURVNUKioKKyoqKiogVEVTVDEgKioqKgor VGhpcyB0ZXN0IHdpbGwgcmVjb3ZlciBkYXRhIHVzaW5nIGJpbmxvZyBwb3NpdGlvbgordGlsbCBw b2ludCBvZiBiYWNrdXAgYW5kIGFmdGVyIGJhY2t1cC4KKworU0VUIEBhPVVOSVhfVElNRVNUQU1Q KCIyMDEwLTAxLTIxIDE1OjMyOjIyIik7CitTRVQgdGltZXN0YW1wPUBhOworQ1JFQVRFIERBVEFC QVNFIElGIE5PVCBFWElTVFMgcHRyOworVVNFIHB0cjsKKyoqKiogQ3JlYXRpbmcgdGFibGVzICoq KioKK0NSRUFURSBUQUJMRSBwdHIudDEoaWQgSU5ULCBhIENIQVIoNCkpOworSU5TRVJUIElOVE8g cHRyLnQxIFZBTFVFUygxLCdhJyksKDIsJ2InKSwoMywnYycpLCg0LCdkJyksKDUsJ2UnKTsKK1NF TEVDVCAqIEZST00gcHRyLnQxOworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKK0NSRUFU RSBUQUJMRSBwdHIudDMoaWQgSU5ULCBiIENIQVIoNCkpOworSU5TRVJUIElOVE8gcHRyLnQzIFZB TFVFUworKDExLCdhYScpLCgyMiwnYmInKSwoMzMsJ2NjJyksKDQ0LCdkZCcpLCg1NSwnZWUnKTsK K0NSRUFURSBUQUJMRSBwdHIudDIoaWQgSU5ULCBkZWxldGVzX2RhdGEgVkFSQ0hBUigzMCksIHVw ZGF0ZXNfZGF0YSBURVhUKTsKK0lOU0VSVCBJTlRPIHB0ci50MiBWQUxVRVMKKygxMDAsJ2RhdGEx IGZvciB0ZXN0aW5nJywndXBkYXRlIGRhdGExJyksCisoMjAwLCdkYXRhMiBmb3IgdGVzdGluZycs J3VwZGF0ZSBkYXRhMicpLAorKDMwMCwnZGF0YTMgZm9yIHRlc3RpbmcnLCd1cGRhdGUgZGF0YTMn KSwKKyg0MDAsJ2RhdGE0IGZvciB0ZXN0aW5nJywndXBkYXRlIGRhdGE0JyksCisoNTAwLCdkYXRh NSBmb3IgdGVzdGluZycsJ3VwZGF0ZSBkYXRhNScpLAorKDEwMCwnZGF0YTEgZm9yIHRlc3Rpbmcn LCd1cGRhdGUgZGF0YTEnKSwKKyg2MDAsJ2RhdGE2IGZvciB0ZXN0aW5nJywndXBkYXRlIGRhdGE2 Jyk7CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1 cGRhdGVzX2RhdGEKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEKKzEwMAlkYXRh MSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEKKzIwMAlkYXRhMiBmb3IgdGVzdGluZwl1cGRhdGUg ZGF0YTIKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTMKKzQwMAlkYXRhNCBmb3Ig dGVzdGluZwl1cGRhdGUgZGF0YTQKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUK KzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYKK1NFTEVDVCBDT1VOVCgqKSBGUk9N IHB0ci50MjsKK0NPVU5UKCopCis3CisqKioqIENyZWF0aW5nIHRhYmxlcyB3aXRoIGRpZmZlcmVu dCBkYXRhdHlwZXMgKioqKgorQ1JFQVRFIFRBQkxFIHB0ci5kMSgKK3JpbnQgSU5ULAordGludCBU SU5ZSU5ULAorc2ludCBTTUFMTElOVCwKK2JpbnQgQklHSU5ULAorbWludCBNRURJVU1JTlQsCitu YW1lIENIQVIoMTAwKSwKK2NpdHkgIFZBUkNIQVIoMTAwKSwKK2ZsIEZMT0FUKDcsNCksCitwZXJz IERFQ0lNQUwoOCwyKSwKK3NhbCBET1VCTEUsCitjb2xvdXJzIFNFVCgncmVkJywnYmx1ZScsJ3ll bGxvdycpLAorY29udGluZW50IEVOVU0oJ0FzaWEnLCAnRXVyb3BlJywnQWZyaWNhJywnQW50YXJ0 aWNhJyksCit0cyBUSU1FU1RBTVAgREVGQVVMVCAwLAorZG9iIERBVEUsCit5IFlFQVIKKyk7CitD UkVBVEUgVEFCTEUgcHRyLmQyKAorcmVnaW9uIFRFWFQsCitzdW1tYXJ5IExPTkdURVhULAorZGF0 YSBCTE9CLAorZGV0YWlscyBNRURJVU1CTE9CLAorcXVlcmllcyBUSU5ZVEVYVCwKK3F1ZXJ5MiBU SU5ZQkxPQiwKK2V4dHJhY3QgTE9OR0JMT0IsCitwYXJhcyBNRURJVU1URVhUCispOworSU5TRVJU IElOVE8gcHRyLmQxIFZBTFVFUworKDc4NSwxMjcsNzI4OCwyNzg4Mjk4OTksMzc3NywndGVzdGlu ZzEnLCdzd2VkZW4nLCc2NzguMjk5JywyMDAuMjMsODI5ODk5LjkwOSwKKyd5ZWxsb3cnLCdBc2lh JywnMjAwOC0wNi0wMSAxNjoyMzozMCcsJzE5ODQtMDktMDgnLCcxOTg0Jyk7CitJTlNFUlQgSU5U TyBwdHIuZDIgVkFMVUVTCisoJ3h4eHh4eHh4JywnVGVzdG9mb25saW5lIGJhY2t1cCcsJ2FhYWFh YWFhYWEnLCdiYmJiYmJiYmJiYicsJ2hoaGhoaGhoaGhoJywKKydra2tra2tra2tra2trJywnbW1t bW1tbW1tbW1tJywnb25saW5lYmFja3VwMScpOworU0VMRUNUICogRlJPTSBwdHIuZDE7CityaW50 CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJY29udGlu ZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJc3dlZGVu CTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEgMTY6MjM6 MzAJMTk4NC0wOS0wOAkxOTg0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1tYXJ5 CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFzCit4eHh4eHh4eAlUZXN0 b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tra2tr a2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorKioqKiBQZXJmb3JtIERhdGEgTWFu aXB1bGF0aW9uIE9wZXJhdGlvbnMgKioqKgorIyMgRGVsZXRlICMjCitERUxFVEUgRlJPTSBwdHIu dDIgV0hFUkUgZGVsZXRlc19kYXRhPSdkYXRhNCBmb3IgdGVzdGluZyc7CitERUxFVEUgRlJPTSBw dHIudDIgV0hFUkUgaWQ9MTAwIExJTUlUIDE7CisjIyBJbnNlcnQgYW5kIFNlbGVjdCAjIworKioq KiBOb3cgcHRyLnQyIHdpbGwgaGF2ZSA1IGNvdW50cyBpbiB0aGUgdGFibGUgKioqKgorCitTRUxF Q1QgQ09VTlQoKikgRlJPTSBwdHIudDI7CitDT1VOVCgqKQorNQorSU5TRVJUIElOVE8gcHRyLnQy IFZBTFVFUworKDgwMCwnZGF0YTEgZm9yIHJlcGxhY2VtZW50JywncmVwbGFjZSBkYXRhMScpOwor IyMgUmVwbGFjZSAjIworUkVQTEFDRSBJTlRPIHB0ci50MiAKK1NFVCBpZD04MDAsIGRlbGV0ZXNf ZGF0YT0nZGF0YSByZXBsYWNlZCcsIHVwZGF0ZXNfZGF0YT0ncmVwbGFjZSBvdmVyJzsKKyMjIFVu aW9uICMjCitTRUxFQ1QgKiBGUk9NIHB0ci50MSBVTklPTiBTRUxFQ1QgKiBGUk9NIHB0ci50MzsK K2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAorNQllCisxMQlhYQorMjIJYmIKKzMzCWNjCis0NAlk ZAorNTUJZWUKKyMjIFVwZGF0ZSAjIworVVBEQVRFIHB0ci50MiBTRVQgdXBkYXRlc19kYXRhPScj I1ZBTFVFIFVQREFURUQjIycgV0hFUkUgaWQ9MzAwOworTm93IHRhYmxlIHQyIHdpbGwgaGF2ZSA2 IGNvdW50cyB3aXRoIG9uZSB1cGRhdGVkIGFuZCByZXBsYWNlZCB2YWx1ZXMgCitTRUxFQ1QgQ09V TlQoKikgRlJPTSBwdHIudDI7CitDT1VOVCgqKQorNworU0VMRUNUICogRlJPTSBwdHIudDIgT1JE RVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCisxMDAJZGF0YTEgZm9yIHRl c3RpbmcJdXBkYXRlIGRhdGExCisyMDAJZGF0YTIgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEyCisz MDAJZGF0YTMgZm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRhNSBmb3IgdGVz dGluZwl1cGRhdGUgZGF0YTUKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYKKzgw MAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEgcmVwbGFjZWQJ cmVwbGFjZSBvdmVyCitERVNDUklCRSBwdHIudDE7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1 bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RF U0NSSUJFIHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50 KDExKQlZRVMJCU5VTEwJCitkZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBk YXRlc19kYXRhCXRleHQJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLmQxOworRmllbGQJVHlwZQlO dWxsCUtleQlEZWZhdWx0CUV4dHJhCityaW50CWludCgxMSkJWUVTCQlOVUxMCQordGludAl0aW55 aW50KDQpCVlFUwkJTlVMTAkKK3NpbnQJc21hbGxpbnQoNikJWUVTCQlOVUxMCQorYmludAliaWdp bnQoMjApCVlFUwkJTlVMTAkKK21pbnQJbWVkaXVtaW50KDkpCVlFUwkJTlVMTAkKK25hbWUJY2hh cigxMDApCVlFUwkJTlVMTAkKK2NpdHkJdmFyY2hhcigxMDApCVlFUwkJTlVMTAkKK2ZsCWZsb2F0 KDcsNCkJWUVTCQlOVUxMCQorcGVycwlkZWNpbWFsKDgsMikJWUVTCQlOVUxMCQorc2FsCWRvdWJs ZQlZRVMJCU5VTEwJCitjb2xvdXJzCXNldCgncmVkJywnYmx1ZScsJ3llbGxvdycpCVlFUwkJTlVM TAkKK2NvbnRpbmVudAllbnVtKCdBc2lhJywnRXVyb3BlJywnQWZyaWNhJywnQW50YXJ0aWNhJykJ WUVTCQlOVUxMCQordHMJdGltZXN0YW1wCU5PCQkwMDAwLTAwLTAwIDAwOjAwOjAwCQorZG9iCWRh dGUJWUVTCQlOVUxMCQoreQl5ZWFyKDQpCVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci5kMjsKK0Zp ZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQorcmVnaW9uCXRleHQJWUVTCQlOVUxMCQor c3VtbWFyeQlsb25ndGV4dAlZRVMJCU5VTEwJCitkYXRhCWJsb2IJWUVTCQlOVUxMCQorZGV0YWls cwltZWRpdW1ibG9iCVlFUwkJTlVMTAkKK3F1ZXJpZXMJdGlueXRleHQJWUVTCQlOVUxMCQorcXVl cnkyCXRpbnlibG9iCVlFUwkJTlVMTAkKK2V4dHJhY3QJbG9uZ2Jsb2IJWUVTCQlOVUxMCQorcGFy YXMJbWVkaXVtdGV4dAlZRVMJCU5VTEwJCisqKioqIFBlcmZvcm0gRGF0YSBEZWZpbml0aW9uIE9w ZXJhdGlvbnMgKioqKgorIyMgQUxURVIgIyMKK0FMVEVSIFRBQkxFIHB0ci50MiBBREQgQ09MVU1O IGNoYW5nZXMgQ0hBUigyMCk7CitVUERBVEUgcHRyLnQyIFNFVCBjaGFuZ2VzPSdhbHRlcmVkJyBX SEVSRSBpZD0yMDA7CitVUERBVEUgcHRyLnQyIFNFVCBjaGFuZ2VzPSdhbHRlcmVkJyBXSEVSRSBp ZD0xMDA7CitBTFRFUiBUQUJMRSBwdHIudDMgTU9ESUZZIGIgVkFSQ0hBUig0KTsKK0RFU0NSSUJF IHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZ RVMJCU5VTEwJCitkZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19k YXRhCXRleHQJWUVTCQlOVUxMCQorY2hhbmdlcwljaGFyKDIwKQlZRVMJCU5VTEwJCitERVNDUklC RSBwdHIudDM7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJ WUVTCQlOVUxMCQorYgl2YXJjaGFyKDQpCVlFUwkJTlVMTAkKKyoqKiogTm93IHdlIHdpbGwgY2hl Y2sgdGhlIGRhdGEgY29udGVudHMgaW4gYWxsIHRoZSB0YWJsZXMgYWdhaW4gKioqKgorU0VMRUNU ICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0CWQKKzUJZQorU0VMRUNUICog RlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCWNo YW5nZXMKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEJYWx0ZXJlZAorMjAwCWRh dGEyIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMglhbHRlcmVkCiszMDAJZGF0YTMgZm9yIHRlc3Rp bmcJIyNWQUxVRSBVUERBVEVEIyMJTlVMTAorNTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBk YXRhNQlOVUxMCis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE2CU5VTEwKKzgwMAlk YXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQlOVUxMCis4MDAJZGF0YSByZXBsYWNl ZAlyZXBsYWNlIG92ZXIJTlVMTAorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisxMQlhYQor MjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKK1NFTEVDVCAqIEZST00gcHRyLmQxOworcmludAl0 aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNhbAljb2xvdXJzCWNvbnRpbmVu dAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3CXRlc3RpbmcxCXN3ZWRlbgk2 NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQkyMDA4LTA2LTAxIDE2OjIzOjMw CTE5ODQtMDktMDgJMTk4NAorU0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdpb24Jc3VtbWFyeQlk YXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4eHh4eHgJVGVzdG9m b25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGhoaGhoCWtra2tra2tr a2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKKyoqIFBlcmZvcm0gQmFja3VwIG9wZXJh dGlvbiBhbmQgZ2F0aGVyIGJpbmxvZyBwb3NpdGlvbiBhbmQgZGF0ZXMgKioKKyoqIEJhY2t1cCBk YXRhICoqCitzZXQgdGltZXN0YW1wPUBhKzI7CisKK05vdyBleGVjdXRlIHNvbWUgb3BlcmF0aW9u cyBpbiB0aGUgdGFibGUgYWZ0ZXIgcGVyZm9ybWluZyBiYWNrdXAuCisKKworKioqKiBQZXJmb3Jt IHNvbWUgZGF0YSBtYW5pcHVsYXRpb24gb3BlcmF0aW9ucyAqKioqCitJTlNFUlQgSU5UTyBwdHIu dDEgVkFMVUVTKDYsJ2YnKSwoNywnZycpOworSU5TRVJUIElOVE8gcHRyLmQxIFZBTFVFUworKDEw MDAxLDEyMCw2NTUwLDcyNzg2MzQ2NTcsOTA2NjcsJ0FmdGVyIGJhY2t1cCcsJ01pbm5lYXBvbGlz Jyw3ODIuOTkwMSwKKzc4OS4yMyw5NzgwNi40NTYsJ2JsdWUnLCdBbnRhcnRpY2EnLCcyMDA4LTA4 LTA3IDE1OjEyOjQ0JywnMTk1NC0xMi0yMycsJzE5NTQnKTsKK0lOU0VSVCBJTlRPIHB0ci50MyBW QUxVRVMoMSwnZmYnKSwoMywna2snKTsKK1NFTEVDVCAqIEZST00gdDEgVU5JT04gU0VMRUNUICog RlJPTSB0MyBPUkRFUiBCWSBhOworaWQJYQorMQlhCisxMQlhYQorMgliCisyMgliYgorMwljCisz MwljYworNAlkCis0NAlkZAorNQllCis1NQllZQorNglmCisxCWZmCis3CWcKKzMJa2sKK1VQREFU RSBwdHIudDMgU0VUIGI9J21tJyB3aGVyZSBiPSdrayc7CitTRUxFQ1QgKiBGUk9NIHB0ci50MzsK K2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQorMQlmZgorMwltbQorREVM RVRFIEZST00gcHRyLnQyIFdIRVJFIGlkPTIwMDsKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVS IEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQljaGFuZ2VzCisxMDAJZGF0YTEg Zm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCWFsdGVyZWQKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwkj I1ZBTFVFIFVQREFURUQjIwlOVUxMCis1MDAJZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1 CU5VTEwKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYJTlVMTAorODAwCWRhdGEx IGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCU5VTEwKKzgwMAlkYXRhIHJlcGxhY2VkCXJl cGxhY2Ugb3ZlcglOVUxMCisKKyoqKiogUGVyZm9ybSBzb21lIGRhdGEgZGVmaW5pdGlvbiBvcGVy YXRpb25zICoqKioKK0FMVEVSIFRBQkxFIHB0ci50MiBEUk9QIENPTFVNTiBjaGFuZ2VzOworQUxU RVIgVEFCTEUgcHRyLnQzIEVOR0lORT1NRU1PUlk7CitDUkVBVEUgVEFCTEUgZGVmaW5pdGlvbihk ZXRhaWxzIExPTkdURVhUKTsKK0lOU0VSVCBJTlRPIGRlZmluaXRpb24gVkFMVUVTCisoJ1BlcmZv cm1pbmcgc29tZSBkYXRhIGRlZmluaXRpb24gc3RhdGVtZW50cyBmb3IgUFRSJyk7CitERVNDUklC RSBwdHIudDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJ WUVTCQlOVUxMCQorZGVsZXRlc19kYXRhCXZhcmNoYXIoMzApCVlFUwkJTlVMTAkKK3VwZGF0ZXNf ZGF0YQl0ZXh0CVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci5kZWZpbml0aW9uOworRmllbGQJVHlw ZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitkZXRhaWxzCWxvbmd0ZXh0CVlFUwkJTlVMTAkKKwor KioqKiBUaGUgdGFibGVzIHQxLCB0MiwgdDMgYW5kIHQ0IGhhcyBjaGFuZ2VzICoqKioKKyoqKiog TmV3IHRhYmxlICJkZWZpbml0aW9uIiBpcyBjcmVhdGVkIGFmdGVyIGJhY2t1cCAqKioqKgorCitT SE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK2QxCitkMgorZGVmaW5pdGlvbgor dDEKK3QyCit0MworU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0 CWQKKzUJZQorNglmCis3CWcKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworaWQJ ZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBk YXRhMQorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBEQVRFRCMjCis1MDAJZGF0YTUg Zm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1Cis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRh dGE2Cis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2UgZGF0YTEKKzgwMAlkYXRhIHJl cGxhY2VkCXJlcGxhY2Ugb3ZlcgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisxMQlhYQor MjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKKzEJZmYKKzMJbW0KK1NFTEVDVCAqIEZST00gcHRy LmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNhbAljb2xv dXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3CXRlc3Rp bmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQkyMDA4LTA2 LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorMTAwMDEJMTIwCTY1NTAJNzI3ODYzNDY1Nwk5 MDY2NwlBZnRlciBiYWNrdXAJTWlubmVhcG9saXMJNzgyLjk5MDEJNzg5LjIzCTk3ODA2LjQ1Ngli bHVlCUFudGFydGljYQkyMDA4LTA4LTA3IDE1OjEyOjQ0CTE5NTQtMTItMjMJMTk1NAorU0VMRUNU ICogRlJPTSBwdHIuZDI7CityZWdpb24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVy eTIJZXh0cmFjdAlwYXJhcworeHh4eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFh CWJiYmJiYmJiYmJiCWhoaGhoaGhoaGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGlu ZWJhY2t1cDEKK1NFVCBUSU1FU1RBTVA9QGErNDsKK0ZMVVNIIExPR1M7CitEUk9QIERBVEFCQVNF IHB0cjsKKyoqKiogRXhlY3V0ZSBteXNxbGJpbmxvZyB0byByZWNvdmVyIHRoZSBkYXRhIGZyb20g c3RhcnQgdG8gYmFja3VwICoqKioKK1NIT1cgVEFCTEVTIEZST00gcHRyOworVGFibGVzX2luX3B0 cgorZDEKK2QyCit0MQordDIKK3QzCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQor MgliCiszCWMKKzQJZAorNQllCitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lk CWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2RhdGEJY2hhbmdlcworMTAwCWRhdGExIGZvciB0ZXN0aW5n CXVwZGF0ZSBkYXRhMQlhbHRlcmVkCisyMDAJZGF0YTIgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEy CWFsdGVyZWQKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIwlOVUxMCis1 MDAJZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1CU5VTEwKKzYwMAlkYXRhNiBmb3IgdGVz dGluZwl1cGRhdGUgZGF0YTYJTlVMTAorODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNl IGRhdGExCU5VTEwKKzgwMAlkYXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcglOVUxMCitTRUxFQ1Qg KiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQor U0VMRUNUICogRlJPTSBwdHIuZDE7CityaW50CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5 CWZsCXBlcnMJc2FsCWNvbG91cnMJY29udGluZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4 ODI5ODk5CTM3NzcJdGVzdGluZzEJc3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXll bGxvdwlBc2lhCTIwMDgtMDYtMDEgMTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0CitTRUxFQ1QgKiBG Uk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5Mgll eHRyYWN0CXBhcmFzCit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJi YmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFj a3VwMQorKioqKiBOb3cgcGVyZm9ybSBhbm90aGVyIHJlY292ZXJ5IHRvIHJlY292ZXIgZGF0YSBh ZnRlciBiYWNrdXAgKioqKgorU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCitk MQorZDIKK2RlZmluaXRpb24KK3QxCit0MgordDMKK0RFU0NSSUJFIHB0ci50MTsKK0ZpZWxkCVR5 cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCithCWNoYXIo NCkJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQyOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZh dWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2YXJjaGFyKDMw KQlZRVMJCU5VTEwJCit1cGRhdGVzX2RhdGEJdGV4dAlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIu dDM7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlO VUxMCQorYgl2YXJjaGFyKDQpCVlFUwkJTlVMTAkKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJ YQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKKzYJZgorNwlnCitTRUxFQ1QgKiBGUk9NIHB0ci50 MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2RhdGEKKzEwMAlkYXRhMSBm b3IgdGVzdGluZwl1cGRhdGUgZGF0YTEKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQ REFURUQjIworNTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQorNjAwCWRhdGE2IGZv ciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNgorODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNl IGRhdGExCis4MDAJZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIKK1NFTEVDVCAqIEZST00gcHRy LnQzOworaWQJYgorMTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCisxCWZmCiszCW1t CitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlzaW50CWJpbnQJbWludAluYW1lCWNp dHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4OAky Nzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAwLjIzCTgyOTg5OS45MDkJ eWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0LTA5LTA4CTE5ODQKKzEwMDAxCTEy MAk2NTUwCTcyNzg2MzQ2NTcJOTA2NjcJQWZ0ZXIgYmFja3VwCU1pbm5lYXBvbGlzCTc4Mi45OTAx CTc4OS4yMwk5NzgwNi40NTYJYmx1ZQlBbnRhcnRpY2EJMjAwOC0wOC0wNyAxNToxMjo0NAkxOTU0 LTEyLTIzCTE5NTQKK1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlk ZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGlu ZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2tr CW1tbW1tbW1tbW1tbQlvbmxpbmViYWNrdXAxCitEUk9QIERBVEFCQVNFIHB0cjsKKyoqKiBURVNU MiAqKiogOgorUGVyZm9ybSBSZXN0b3JlIGFuZCByZWNvdmVyIHRyYW5zYWN0aW9ucyBhZnRlciBi YWNrdXAgYnkgZXhlY3V0aW5nIAorbXlzcWxiaW5sb2cgdXRpbGl0eSB1c2luZyBiaW5sb2cgcG9z aXRpb24uCitQZXJmb3JtIHJlc3RvcmUgb3BlcmF0aW9uIAorUkVTVE9SRSBGUk9NICdwdHIuYmFr JzsKK2JhY2t1cF9pZAorIworU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgor MwljCis0CWQKKzUJZQorU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxl dGVzX2RhdGEJdXBkYXRlc19kYXRhCWNoYW5nZXMKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRh dGUgZGF0YTEJYWx0ZXJlZAorMjAwCWRhdGEyIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMglhbHRl cmVkCiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMJTlVMTAorNTAwCWRh dGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQlOVUxMCis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJ dXBkYXRlIGRhdGE2CU5VTEwKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRh MQlOVUxMCis4MDAJZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIJTlVMTAorU0VMRUNUICogRlJP TSBwdHIudDM7CitpZAliCisxMQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKK1NFTEVD VCAqIEZST00gcHRyLmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlw ZXJzCXNhbAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5 OQkzNzc3CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJ QXNpYQkyMDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorU0VMRUNUICogRlJPTSBw dHIuZDI7CityZWdpb24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFj dAlwYXJhcworeHh4eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJi YmJiCWhoaGhoaGhoaGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEK K1JlY292ZXJpbmcgZGF0YSBjb250ZW50cyBhZnRlciBiYWNrdXAKK1NIT1cgVEFCTEVTIEZST00g cHRyOworVGFibGVzX2luX3B0cgorZDEKK2QyCitkZWZpbml0aW9uCit0MQordDIKK3QzCitERVND UklCRSBwdHIudDE7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgx MSkJWUVTCQlOVUxMCQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MjsKK0Zp ZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitk ZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19kYXRhCXRleHQJWUVT CQlOVUxMCQorREVTQ1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4 dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0KQlZRVMJCU5VTEwJCitTRUxF Q1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAorNQllCis2CWYKKzcJ ZworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBk YXRlc19kYXRhCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCiszMDAJZGF0YTMg Zm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRh dGUgZGF0YTUKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYKKzgwMAlkYXRhMSBm b3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEgcmVwbGFjZWQJcmVwbGFjZSBv dmVyCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0 CWRkCis1NQllZQorMQlmZgorMwltbQorU0VMRUNUICogRlJPTSBwdHIuZDE7CityaW50CXRpbnQJ c2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJY29udGluZW50CXRz CWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJc3dlZGVuCTY3OC4y OTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEgMTY6MjM6MzAJMTk4 NC0wOS0wOAkxOTg0CisxMDAwMQkxMjAJNjU1MAk3Mjc4NjM0NjU3CTkwNjY3CUFmdGVyIGJhY2t1 cAlNaW5uZWFwb2xpcwk3ODIuOTkwMQk3ODkuMjMJOTc4MDYuNDU2CWJsdWUJQW50YXJ0aWNhCTIw MDgtMDgtMDcgMTU6MTI6NDQJMTk1NC0xMi0yMwkxOTU0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsK K3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFz Cit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGho aGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorRFJPUCBE QVRBQkFTRSBwdHI7CisqKiogVEVTVDMgKioqIDoKK1RoaXMgdGVzdCB3aWxsIHJlY292ZXIgZGF0 YSB1c2luZyBiaW5sb2cgZGF0ZXMKK3RpbGwgcG9pbnQgb2YgYmFja3VwIGFuZCBhZnRlciBiYWNr dXAuCitOb3cgdXNlIGJpbmxvZyBkYXRlcyB0byByZWNvdmVyIHRoZSBkYXRhIHRpbGwgcG9pbnQg b2YgYmFja3VwLgorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0 CWQKKzUJZQorU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2Rh dGEJdXBkYXRlc19kYXRhCWNoYW5nZXMKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0 YTEJYWx0ZXJlZAorMjAwCWRhdGEyIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMglhbHRlcmVkCisz MDAJZGF0YTMgZm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMJTlVMTAorNTAwCWRhdGE1IGZv ciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQlOVUxMCis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRl IGRhdGE2CU5VTEwKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQlOVUxM Cis4MDAJZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIJTlVMTAorU0VMRUNUICogRlJPTSBwdHIu dDM7CitpZAliCisxMQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKK1NFTEVDVCAqIEZS T00gcHRyLmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNh bAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3 CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQky MDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorU0VMRUNUICogRlJPTSBwdHIuZDI7 CityZWdpb24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJh cworeHh4eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWho aGhoaGhoaGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKK1dlIGV4 ZWN1dGUgYmlubG9nIHRvIHJlY292ZXIgZGF0YSBhZnRlciBiYWNrdXAgdXNpbmcgYmlubG9nIGRh dGVzLgorU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCitkMQorZDIKK2RlZmlu aXRpb24KK3QxCit0MgordDMKK0RFU0NSSUJFIHB0ci50MTsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJ RGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCithCWNoYXIoNCkJWUVTCQlOVUxM CQorREVTQ1JJQkUgcHRyLnQyOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitp ZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2YXJjaGFyKDMwKQlZRVMJCU5VTEwJ Cit1cGRhdGVzX2RhdGEJdGV4dAlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDM7CitGaWVsZAlU eXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYgl2YXJj aGFyKDQpCVlFUwkJTlVMTAkKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJYQorMQlhCisyCWIK KzMJYworNAlkCis1CWUKKzYJZgorNwlnCitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBp ZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2RhdGEKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1 cGRhdGUgZGF0YTEKKzMwMAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIworNTAw CWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVw ZGF0ZSBkYXRhNgorODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCis4MDAJ ZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJYgor MTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCisxCWZmCiszCW1tCitTRUxFQ1QgKiBG Uk9NIHB0ci5kMTsKK3JpbnQJdGludAlzaW50CWJpbnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlz YWwJY29sb3Vycwljb250aW5lbnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3 Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJ MjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0LTA5LTA4CTE5ODQKKzEwMDAxCTEyMAk2NTUwCTcyNzg2 MzQ2NTcJOTA2NjcJQWZ0ZXIgYmFja3VwCU1pbm5lYXBvbGlzCTc4Mi45OTAxCTc4OS4yMwk5Nzgw Ni40NTYJYmx1ZQlBbnRhcnRpY2EJMjAwOC0wOC0wNyAxNToxMjo0NAkxOTU0LTEyLTIzCTE5NTQK K1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1ZXJp ZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJYWFh YWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2trCW1tbW1tbW1tbW1t bQlvbmxpbmViYWNrdXAxCitEUk9QIERBVEFCQVNFIHB0cjsKKyoqKiBURVNUNCAqKiogOgorUGVy Zm9ybSBSZXN0b3JlIGFuZCByZWNvdmVyIHRyYW5zYWN0aW9ucyBhZnRlciBiYWNrdXAgYnkgZXhl Y3V0aW5nCitteXNxbGJpbmxvZyB1dGlsaXR5IHVzaW5nIGJpbmxvZyBkYXRlcy4KK1JFU1RPUkUg RlJPTSAncHRyLmJhayc7CitiYWNrdXBfaWQKKyMKK0RFU0NSSUJFIHB0ci50MTsKK0ZpZWxkCVR5 cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCithCWNoYXIo NCkJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQyOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZh dWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2YXJjaGFyKDMw KQlZRVMJCU5VTEwJCit1cGRhdGVzX2RhdGEJdGV4dAlZRVMJCU5VTEwJCitjaGFuZ2VzCWNoYXIo MjApCVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MzsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVm YXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitiCXZhcmNoYXIoNCkJWUVTCQlOVUxM CQorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0CWQKKzUJZQor U0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBkYXRl c19kYXRhCWNoYW5nZXMKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEJYWx0ZXJl ZAorMjAwCWRhdGEyIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMglhbHRlcmVkCiszMDAJZGF0YTMg Zm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMJTlVMTAorNTAwCWRhdGE1IGZvciB0ZXN0aW5n CXVwZGF0ZSBkYXRhNQlOVUxMCis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE2CU5V TEwKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQlOVUxMCis4MDAJZGF0 YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIJTlVMTAorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAli CisxMQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKK1NFTEVDVCAqIEZST00gcHRyLmQx OworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNhbAljb2xvdXJz CWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3CXRlc3Rpbmcx CXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQkyMDA4LTA2LTAx IDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorU0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdpb24J c3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4eHh4 eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGhoaGho CWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKK1NIT1cgREFUQUJBU0VT OworRGF0YWJhc2UKK2luZm9ybWF0aW9uX3NjaGVtYQorbXlzcWwKK3B0cgordGVzdAorU0hPVyBU QUJMRVMgRlJPTSBwdHI7CitUYWJsZXNfaW5fcHRyCitkMQorZDIKK2RlZmluaXRpb24KK3QxCit0 MgordDMKK0RFU0NSSUJFIHB0ci50MTsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRy YQoraWQJaW50KDExKQlZRVMJCU5VTEwJCithCWNoYXIoNCkJWUVTCQlOVUxMCQorREVTQ1JJQkUg cHRyLnQyOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlF UwkJTlVMTAkKK2RlbGV0ZXNfZGF0YQl2YXJjaGFyKDMwKQlZRVMJCU5VTEwJCit1cGRhdGVzX2Rh dGEJdGV4dAlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDM7CitGaWVsZAlUeXBlCU51bGwJS2V5 CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYgl2YXJjaGFyKDQpCVlFUwkJ TlVMTAkKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1 CWUKKzYJZgorNwlnCitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0 ZXNfZGF0YQl1cGRhdGVzX2RhdGEKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEK KzMwMAlkYXRhMyBmb3IgdGVzdGluZwkjI1ZBTFVFIFVQREFURUQjIworNTAwCWRhdGE1IGZvciB0 ZXN0aW5nCXVwZGF0ZSBkYXRhNQorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNgor ODAwCWRhdGExIGZvciByZXBsYWNlbWVudAlyZXBsYWNlIGRhdGExCis4MDAJZGF0YSByZXBsYWNl ZAlyZXBsYWNlIG92ZXIKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJi CiszMwljYworNDQJZGQKKzU1CWVlCisxCWZmCiszCW1tCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsK K3JpbnQJdGludAlzaW50CWJpbnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwlj b250aW5lbnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlz d2VkZW4JNjc4LjI5OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAx NjoyMzozMAkxOTg0LTA5LTA4CTE5ODQKKzEwMDAxCTEyMAk2NTUwCTcyNzg2MzQ2NTcJOTA2NjcJ QWZ0ZXIgYmFja3VwCU1pbm5lYXBvbGlzCTc4Mi45OTAxCTc4OS4yMwk5NzgwNi40NTYJYmx1ZQlB bnRhcnRpY2EJMjAwOC0wOC0wNyAxNToxMjo0NAkxOTU0LTEyLTIzCTE5NTQKK1NFTEVDVCAqIEZS T00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4 dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJi YmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2trCW1tbW1tbW1tbW1tbQlvbmxpbmViYWNr dXAxCitEUk9QIERBVEFCQVNFIHB0cjsKKyoqKiBURVNUNSAqKiogOgorRG8gY29tcGxldGUgcmVj b3Zlcnkgb2YgZGF0YSBhZnRlciBiYWNrdXAgdXNpbmcgYmlubG9nIHBvc2l0aW9uLiBFbnN1cmUg Cit0aGF0IHByZXNlbmNlIG9mIGJhY2t1cCBvcGVyYXRpb24gaW4gdGhlIGJpbmxvZyBzaG91bGRu J3QgaGF2ZSBhbnkgaW1wYWN0CitTSE9XIERBVEFCQVNFUzsKK0RhdGFiYXNlCitpbmZvcm1hdGlv bl9zY2hlbWEKK215c3FsCitwdHIKK3Rlc3QKK1NIT1cgVEFCTEVTIEZST00gcHRyOworVGFibGVz X2luX3B0cgorZDEKK2QyCitkZWZpbml0aW9uCit0MQordDIKK3QzCitERVNDUklCRSBwdHIudDE7 CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxM CQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVs bAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitkZWxldGVzX2RhdGEJ dmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19kYXRhCXRleHQJWUVTCQlOVUxMCQorREVT Q1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQo MTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0KQlZRVMJCU5VTEwJCitTRUxFQ1QgKiBGUk9NIHB0 ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAorNQllCis2CWYKKzcJZworU0VMRUNUICog RlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCisx MDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJ IyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUKKzYw MAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1l bnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEgcmVwbGFjZWQJcmVwbGFjZSBvdmVyCitTRUxFQ1Qg KiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQor MQlmZgorMwltbQorU0VMRUNUICogRlJPTSBwdHIuZDE7CityaW50CXRpbnQJc2ludAliaW50CW1p bnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJY29udGluZW50CXRzCWRvYgl5Cis3ODUJ MTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJc3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4 Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEgMTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0 CisxMDAwMQkxMjAJNjU1MAk3Mjc4NjM0NjU3CTkwNjY3CUFmdGVyIGJhY2t1cAlNaW5uZWFwb2xp cwk3ODIuOTkwMQk3ODkuMjMJOTc4MDYuNDU2CWJsdWUJQW50YXJ0aWNhCTIwMDgtMDgtMDcgMTU6 MTI6NDQJMTk1NC0xMi0yMwkxOTU0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1t YXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFzCit4eHh4eHh4eAlU ZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tr a2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorRFJPUCBEQVRBQkFTRSBwdHI7 CisqKiogVEVTVDYgKioqIDoKK0RvIGNvbXBsZXRlIHJlY292ZXJ5IG9mIGRhdGEgYWZ0ZXIgYmFj a3VwIHVzaW5nIGJpbmxvZyBkYXRlcy4gRW5zdXJlCit0aGF0IHByZXNlbmNlIG9mIGJhY2t1cCBv cGVyYXRpb24gaW4gdGhlIGJpbmxvZyBzaG91bGRuJ3QgaGF2ZSBhbnkgaW1wYWN0CitTSE9XIERB VEFCQVNFUzsKK0RhdGFiYXNlCitpbmZvcm1hdGlvbl9zY2hlbWEKK215c3FsCitwdHIKK3Rlc3QK K1NIT1cgVEFCTEVTIEZST00gcHRyOworVGFibGVzX2luX3B0cgorZDEKK2QyCitkZWZpbml0aW9u Cit0MQordDIKK3QzCitERVNDUklCRSBwdHIudDE7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1 bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RF U0NSSUJFIHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50 KDExKQlZRVMJCU5VTEwJCitkZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBk YXRlc19kYXRhCXRleHQJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlO dWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0 KQlZRVMJCU5VTEwJCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMK KzQJZAorNQllCis2CWYKKzcJZworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7Citp ZAlkZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRl IGRhdGExCiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRh NSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUg ZGF0YTYKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEg cmVwbGFjZWQJcmVwbGFjZSBvdmVyCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFh CisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQorMQlmZgorMwltbQorU0VMRUNUICogRlJPTSBw dHIuZDE7CityaW50CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNv bG91cnMJY29udGluZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVz dGluZzEJc3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgt MDYtMDEgMTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0CisxMDAwMQkxMjAJNjU1MAk3Mjc4NjM0NjU3 CTkwNjY3CUFmdGVyIGJhY2t1cAlNaW5uZWFwb2xpcwk3ODIuOTkwMQk3ODkuMjMJOTc4MDYuNDU2 CWJsdWUJQW50YXJ0aWNhCTIwMDgtMDgtMDcgMTU6MTI6NDQJMTk1NC0xMi0yMwkxOTU0CitTRUxF Q1QgKiBGUk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1 ZXJ5MglleHRyYWN0CXBhcmFzCit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFh YWEJYmJiYmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25s aW5lYmFja3VwMQorCisqKiogIERST1AgcHRyIERBVEFCQVNFICoqKioKKworRFJPUCBEQVRBQkFT RSBwdHI7Cgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9y L2JhY2t1cF9wdHJfc3RtdC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2Vu Z2luZXMvci9iYWNrdXBfcHRyX3N0bXQucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAK KysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy9yL2JhY2t1cF9wdHJfc3RtdC5y ZXN1bHQJMjAwOC0xMC0wOCAwNDoyNjoyNSArMDAwMApAQCAtMCwwICsxLDg0NSBAQAorU0hPVyBW QVJJQUJMRVMgTElLRSAnc3RvcmFnZV9lbmdpbmUnOworVmFyaWFibGVfbmFtZQlWYWx1ZQorc3Rv cmFnZV9lbmdpbmUJIworU0VUIEdMT0JBTCBCSU5MT0dfRk9STUFUPSdTVEFURU1FTlQnOworU0VU IEJJTkxPR19GT1JNQVQ9J1NUQVRFTUVOVCc7CitTRUxFQ1QgQEBCSU5MT0dfRk9STUFUOworQEBC SU5MT0dfRk9STUFUCitTVEFURU1FTlQKK1JFU0VUIE1BU1RFUjsKKyoqU1RBUlQgVEVTVCoqCisq KioqIFRFU1QxICoqKioKK1RoaXMgdGVzdCB3aWxsIHJlY292ZXIgZGF0YSB1c2luZyBiaW5sb2cg cG9zaXRpb24KK3RpbGwgcG9pbnQgb2YgYmFja3VwIGFuZCBhZnRlciBiYWNrdXAuCisKK1NFVCBA YT1VTklYX1RJTUVTVEFNUCgiMjAxMC0wMS0yMSAxNTozMjoyMiIpOworU0VUIHRpbWVzdGFtcD1A YTsKK0NSRUFURSBEQVRBQkFTRSBJRiBOT1QgRVhJU1RTIHB0cjsKK1VTRSBwdHI7CisqKioqIENy ZWF0aW5nIHRhYmxlcyAqKioqCitDUkVBVEUgVEFCTEUgcHRyLnQxKGlkIElOVCwgYSBDSEFSKDQp KTsKK0lOU0VSVCBJTlRPIHB0ci50MSBWQUxVRVMoMSwnYScpLCgyLCdiJyksKDMsJ2MnKSwoNCwn ZCcpLCg1LCdlJyk7CitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMK KzQJZAorNQllCitDUkVBVEUgVEFCTEUgcHRyLnQzKGlkIElOVCwgYiBDSEFSKDQpKTsKK0lOU0VS VCBJTlRPIHB0ci50MyBWQUxVRVMKKygxMSwnYWEnKSwoMjIsJ2JiJyksKDMzLCdjYycpLCg0NCwn ZGQnKSwoNTUsJ2VlJyk7CitDUkVBVEUgVEFCTEUgcHRyLnQyKGlkIElOVCwgZGVsZXRlc19kYXRh IFZBUkNIQVIoMzApLCB1cGRhdGVzX2RhdGEgVEVYVCk7CitJTlNFUlQgSU5UTyBwdHIudDIgVkFM VUVTCisoMTAwLCdkYXRhMSBmb3IgdGVzdGluZycsJ3VwZGF0ZSBkYXRhMScpLAorKDIwMCwnZGF0 YTIgZm9yIHRlc3RpbmcnLCd1cGRhdGUgZGF0YTInKSwKKygzMDAsJ2RhdGEzIGZvciB0ZXN0aW5n JywndXBkYXRlIGRhdGEzJyksCisoNDAwLCdkYXRhNCBmb3IgdGVzdGluZycsJ3VwZGF0ZSBkYXRh NCcpLAorKDUwMCwnZGF0YTUgZm9yIHRlc3RpbmcnLCd1cGRhdGUgZGF0YTUnKSwKKygxMDAsJ2Rh dGExIGZvciB0ZXN0aW5nJywndXBkYXRlIGRhdGExJyksCisoNjAwLCdkYXRhNiBmb3IgdGVzdGlu ZycsJ3VwZGF0ZSBkYXRhNicpOworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7Citp ZAlkZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRl IGRhdGExCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCisyMDAJZGF0YTIgZm9y IHRlc3RpbmcJdXBkYXRlIGRhdGEyCiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEz Cis0MDAJZGF0YTQgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE0Cis1MDAJZGF0YTUgZm9yIHRlc3Rp bmcJdXBkYXRlIGRhdGE1Cis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE2CitTRUxF Q1QgQ09VTlQoKikgRlJPTSBwdHIudDI7CitDT1VOVCgqKQorNworKioqKiBDcmVhdGluZyB0YWJs ZXMgd2l0aCBkaWZmZXJlbnQgZGF0YXR5cGVzICoqKioKK0NSRUFURSBUQUJMRSBwdHIuZDEoCity aW50IElOVCwKK3RpbnQgVElOWUlOVCwKK3NpbnQgU01BTExJTlQsCitiaW50IEJJR0lOVCwKK21p bnQgTUVESVVNSU5ULAorbmFtZSBDSEFSKDEwMCksCitjaXR5ICBWQVJDSEFSKDEwMCksCitmbCBG TE9BVCg3LDQpLAorcGVycyBERUNJTUFMKDgsMiksCitzYWwgRE9VQkxFLAorY29sb3VycyBTRVQo J3JlZCcsJ2JsdWUnLCd5ZWxsb3cnKSwKK2NvbnRpbmVudCBFTlVNKCdBc2lhJywgJ0V1cm9wZScs J0FmcmljYScsJ0FudGFydGljYScpLAordHMgVElNRVNUQU1QIERFRkFVTFQgMCwKK2RvYiBEQVRF LAoreSBZRUFSCispOworQ1JFQVRFIFRBQkxFIHB0ci5kMigKK3JlZ2lvbiBURVhULAorc3VtbWFy eSBMT05HVEVYVCwKK2RhdGEgQkxPQiwKK2RldGFpbHMgTUVESVVNQkxPQiwKK3F1ZXJpZXMgVElO WVRFWFQsCitxdWVyeTIgVElOWUJMT0IsCitleHRyYWN0IExPTkdCTE9CLAorcGFyYXMgTUVESVVN VEVYVAorKTsKK0lOU0VSVCBJTlRPIHB0ci5kMSBWQUxVRVMKKyg3ODUsMTI3LDcyODgsMjc4ODI5 ODk5LDM3NzcsJ3Rlc3RpbmcxJywnc3dlZGVuJywnNjc4LjI5OScsMjAwLjIzLDgyOTg5OS45MDks CisneWVsbG93JywnQXNpYScsJzIwMDgtMDYtMDEgMTY6MjM6MzAnLCcxOTg0LTA5LTA4JywnMTk4 NCcpOworSU5TRVJUIElOVE8gcHRyLmQyIFZBTFVFUworKCd4eHh4eHh4eCcsJ1Rlc3RvZm9ubGlu ZSBiYWNrdXAnLCdhYWFhYWFhYWFhJywnYmJiYmJiYmJiYmInLCdoaGhoaGhoaGhoaCcsCisna2tr a2tra2tra2traycsJ21tbW1tbW1tbW1tbScsJ29ubGluZWJhY2t1cDEnKTsKK1NFTEVDVCAqIEZS T00gcHRyLmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNh bAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3 CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQky MDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorU0VMRUNUICogRlJPTSBwdHIuZDI7 CityZWdpb24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJh cworeHh4eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWho aGhoaGhoaGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKKyoqKiog UGVyZm9ybSBEYXRhIE1hbmlwdWxhdGlvbiBPcGVyYXRpb25zICoqKioKKyMjIERlbGV0ZSAjIwor REVMRVRFIEZST00gcHRyLnQyIFdIRVJFIGRlbGV0ZXNfZGF0YT0nZGF0YTQgZm9yIHRlc3Rpbmcn OworREVMRVRFIEZST00gcHRyLnQyIFdIRVJFIGlkPTEwMCBMSU1JVCAxOworV2FybmluZ3M6CitX YXJuaW5nCTE1OTIJU3RhdGVtZW50IGlzIG5vdCBzYWZlIHRvIGxvZyBpbiBzdGF0ZW1lbnQgZm9y bWF0LgorIyMgSW5zZXJ0IGFuZCBTZWxlY3QgIyMKKyoqKiogTm93IHB0ci50MiB3aWxsIGhhdmUg NSBjb3VudHMgaW4gdGhlIHRhYmxlICoqKioKKworU0VMRUNUIENPVU5UKCopIEZST00gcHRyLnQy OworQ09VTlQoKikKKzUKK0lOU0VSVCBJTlRPIHB0ci50MiBWQUxVRVMKKyg4MDAsJ2RhdGExIGZv ciByZXBsYWNlbWVudCcsJ3JlcGxhY2UgZGF0YTEnKTsKKyMjIFJlcGxhY2UgIyMKK1JFUExBQ0Ug SU5UTyBwdHIudDIgCitTRVQgaWQ9ODAwLCBkZWxldGVzX2RhdGE9J2RhdGEgcmVwbGFjZWQnLCB1 cGRhdGVzX2RhdGE9J3JlcGxhY2Ugb3Zlcic7CisjIyBVbmlvbiAjIworU0VMRUNUICogRlJPTSBw dHIudDEgVU5JT04gU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAlhCisxCWEKKzIJYgorMwljCis0 CWQKKzUJZQorMTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCisjIyBVcGRhdGUgIyMK K1VQREFURSBwdHIudDIgU0VUIHVwZGF0ZXNfZGF0YT0nIyNWQUxVRSBVUERBVEVEIyMnIFdIRVJF IGlkPTMwMDsKK05vdyB0YWJsZSB0MiB3aWxsIGhhdmUgNiBjb3VudHMgd2l0aCBvbmUgdXBkYXRl ZCBhbmQgcmVwbGFjZWQgdmFsdWVzIAorU0VMRUNUIENPVU5UKCopIEZST00gcHRyLnQyOworQ09V TlQoKikKKzcKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworaWQJZGVsZXRlc19k YXRhCXVwZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQorMjAw CWRhdGEyIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMgorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMj VkFMVUUgVVBEQVRFRCMjCis1MDAJZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1Cis2MDAJ ZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE2Cis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50 CXJlcGxhY2UgZGF0YTEKKzgwMAlkYXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcgorREVTQ1JJQkUg cHRyLnQxOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlF UwkJTlVMTAkKK2EJY2hhcig0KQlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDI7CitGaWVsZAlU eXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRl c19kYXRhCXZhcmNoYXIoMzApCVlFUwkJTlVMTAkKK3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVM TAkKK0RFU0NSSUJFIHB0ci5kMTsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQor cmludAlpbnQoMTEpCVlFUwkJTlVMTAkKK3RpbnQJdGlueWludCg0KQlZRVMJCU5VTEwJCitzaW50 CXNtYWxsaW50KDYpCVlFUwkJTlVMTAkKK2JpbnQJYmlnaW50KDIwKQlZRVMJCU5VTEwJCittaW50 CW1lZGl1bWludCg5KQlZRVMJCU5VTEwJCituYW1lCWNoYXIoMTAwKQlZRVMJCU5VTEwJCitjaXR5 CXZhcmNoYXIoMTAwKQlZRVMJCU5VTEwJCitmbAlmbG9hdCg3LDQpCVlFUwkJTlVMTAkKK3BlcnMJ ZGVjaW1hbCg4LDIpCVlFUwkJTlVMTAkKK3NhbAlkb3VibGUJWUVTCQlOVUxMCQorY29sb3Vycwlz ZXQoJ3JlZCcsJ2JsdWUnLCd5ZWxsb3cnKQlZRVMJCU5VTEwJCitjb250aW5lbnQJZW51bSgnQXNp YScsJ0V1cm9wZScsJ0FmcmljYScsJ0FudGFydGljYScpCVlFUwkJTlVMTAkKK3RzCXRpbWVzdGFt cAlOTwkJMDAwMC0wMC0wMCAwMDowMDowMAkKK2RvYglkYXRlCVlFUwkJTlVMTAkKK3kJeWVhcig0 KQlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIuZDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1 bHQJRXh0cmEKK3JlZ2lvbgl0ZXh0CVlFUwkJTlVMTAkKK3N1bW1hcnkJbG9uZ3RleHQJWUVTCQlO VUxMCQorZGF0YQlibG9iCVlFUwkJTlVMTAkKK2RldGFpbHMJbWVkaXVtYmxvYglZRVMJCU5VTEwJ CitxdWVyaWVzCXRpbnl0ZXh0CVlFUwkJTlVMTAkKK3F1ZXJ5Mgl0aW55YmxvYglZRVMJCU5VTEwJ CitleHRyYWN0CWxvbmdibG9iCVlFUwkJTlVMTAkKK3BhcmFzCW1lZGl1bXRleHQJWUVTCQlOVUxM CQorKioqKiBQZXJmb3JtIERhdGEgRGVmaW5pdGlvbiBPcGVyYXRpb25zICoqKioKKyMjIEFMVEVS ICMjCitBTFRFUiBUQUJMRSBwdHIudDIgQUREIENPTFVNTiBjaGFuZ2VzIENIQVIoMjApOworVVBE QVRFIHB0ci50MiBTRVQgY2hhbmdlcz0nYWx0ZXJlZCcgV0hFUkUgaWQ9MjAwOworVVBEQVRFIHB0 ci50MiBTRVQgY2hhbmdlcz0nYWx0ZXJlZCcgV0hFUkUgaWQ9MTAwOworQUxURVIgVEFCTEUgcHRy LnQzIE1PRElGWSBiIFZBUkNIQVIoNCk7CitERVNDUklCRSBwdHIudDI7CitGaWVsZAlUeXBlCU51 bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRlc19kYXRh CXZhcmNoYXIoMzApCVlFUwkJTlVMTAkKK3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVMTAkKK2No YW5nZXMJY2hhcigyMCkJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlO dWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0 KQlZRVMJCU5VTEwJCisqKioqIE5vdyB3ZSB3aWxsIGNoZWNrIHRoZSBkYXRhIGNvbnRlbnRzIGlu IGFsbCB0aGUgdGFibGVzIGFnYWluICoqKioKK1NFTEVDVCAqIEZST00gcHRyLnQxOworaWQJYQor MQlhCisyCWIKKzMJYworNAlkCis1CWUKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlk OworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQljaGFuZ2VzCisxMDAJZGF0YTEgZm9yIHRl c3RpbmcJdXBkYXRlIGRhdGExCWFsdGVyZWQKKzIwMAlkYXRhMiBmb3IgdGVzdGluZwl1cGRhdGUg ZGF0YTIJYWx0ZXJlZAorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBEQVRFRCMjCU5V TEwKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUJTlVMTAorNjAwCWRhdGE2IGZv ciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNglOVUxMCis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJl cGxhY2UgZGF0YTEJTlVMTAorODAwCWRhdGEgcmVwbGFjZWQJcmVwbGFjZSBvdmVyCU5VTEwKK1NF TEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1 CWVlCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlzaW50CWJpbnQJbWludAluYW1l CWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4 OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAwLjIzCTgyOTg5OS45 MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0LTA5LTA4CTE5ODQKK1NFTEVD VCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVl cnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJYWFhYWFhYWFh YQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2trCW1tbW1tbW1tbW1tbQlvbmxp bmViYWNrdXAxCisqKiBQZXJmb3JtIEJhY2t1cCBvcGVyYXRpb24gYW5kIGdhdGhlciBiaW5sb2cg cG9zaXRpb24gYW5kIGRhdGVzICoqCisqKiBCYWNrdXAgZGF0YSAqKgorc2V0IHRpbWVzdGFtcD1A YSsyOworCitOb3cgZXhlY3V0ZSBzb21lIG9wZXJhdGlvbnMgaW4gdGhlIHRhYmxlIGFmdGVyIHBl cmZvcm1pbmcgYmFja3VwLgorCisKKyoqKiogUGVyZm9ybSBzb21lIGRhdGEgbWFuaXB1bGF0aW9u IG9wZXJhdGlvbnMgKioqKgorSU5TRVJUIElOVE8gcHRyLnQxIFZBTFVFUyg2LCdmJyksKDcsJ2cn KTsKK0lOU0VSVCBJTlRPIHB0ci5kMSBWQUxVRVMKKygxMDAwMSwxMjAsNjU1MCw3Mjc4NjM0NjU3 LDkwNjY3LCdBZnRlciBiYWNrdXAnLCdNaW5uZWFwb2xpcycsNzgyLjk5MDEsCis3ODkuMjMsOTc4 MDYuNDU2LCdibHVlJywnQW50YXJ0aWNhJywnMjAwOC0wOC0wNyAxNToxMjo0NCcsJzE5NTQtMTIt MjMnLCcxOTU0Jyk7CitJTlNFUlQgSU5UTyBwdHIudDMgVkFMVUVTKDEsJ2ZmJyksKDMsJ2trJyk7 CitTRUxFQ1QgKiBGUk9NIHQxIFVOSU9OIFNFTEVDVCAqIEZST00gdDMgT1JERVIgQlkgYTsKK2lk CWEKKzEJYQorMTEJYWEKKzIJYgorMjIJYmIKKzMJYworMzMJY2MKKzQJZAorNDQJZGQKKzUJZQor NTUJZWUKKzYJZgorMQlmZgorNwlnCiszCWtrCitVUERBVEUgcHRyLnQzIFNFVCBiPSdtbScgd2hl cmUgYj0na2snOworU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisxMQlhYQorMjIJYmIKKzMz CWNjCis0NAlkZAorNTUJZWUKKzEJZmYKKzMJbW0KK0RFTEVURSBGUk9NIHB0ci50MiBXSEVSRSBp ZD0yMDA7CitTRUxFQ1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0 YQl1cGRhdGVzX2RhdGEJY2hhbmdlcworMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRh MQlhbHRlcmVkCiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMJTlVMTAor NTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNQlOVUxMCis2MDAJZGF0YTYgZm9yIHRl c3RpbmcJdXBkYXRlIGRhdGE2CU5VTEwKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFj ZSBkYXRhMQlOVUxMCis4MDAJZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIJTlVMTAorCisqKioq IFBlcmZvcm0gc29tZSBkYXRhIGRlZmluaXRpb24gb3BlcmF0aW9ucyAqKioqCitBTFRFUiBUQUJM RSBwdHIudDIgRFJPUCBDT0xVTU4gY2hhbmdlczsKK0FMVEVSIFRBQkxFIHB0ci50MyBFTkdJTkU9 TUVNT1JZOworQ1JFQVRFIFRBQkxFIGRlZmluaXRpb24oZGV0YWlscyBMT05HVEVYVCk7CitJTlNF UlQgSU5UTyBkZWZpbml0aW9uIFZBTFVFUworKCdQZXJmb3JtaW5nIHNvbWUgZGF0YSBkZWZpbml0 aW9uIHN0YXRlbWVudHMgZm9yIFBUUicpOworREVTQ1JJQkUgcHRyLnQyOworRmllbGQJVHlwZQlO dWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2RlbGV0ZXNfZGF0 YQl2YXJjaGFyKDMwKQlZRVMJCU5VTEwJCit1cGRhdGVzX2RhdGEJdGV4dAlZRVMJCU5VTEwJCitE RVNDUklCRSBwdHIuZGVmaW5pdGlvbjsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRy YQorZGV0YWlscwlsb25ndGV4dAlZRVMJCU5VTEwJCisKKyoqKiogVGhlIHRhYmxlcyB0MSwgdDIs IHQzIGFuZCB0NCBoYXMgY2hhbmdlcyAqKioqCisqKioqIE5ldyB0YWJsZSAiZGVmaW5pdGlvbiIg aXMgY3JlYXRlZCBhZnRlciBiYWNrdXAgKioqKioKKworU0hPVyBUQUJMRVMgRlJPTSBwdHI7CitU YWJsZXNfaW5fcHRyCitkMQorZDIKK2RlZmluaXRpb24KK3QxCit0MgordDMKK1NFTEVDVCAqIEZS T00gcHRyLnQxOworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKKzYJZgorNwlnCitTRUxF Q1QgKiBGUk9NIHB0ci50MiBPUkRFUiBCWSBpZDsKK2lkCWRlbGV0ZXNfZGF0YQl1cGRhdGVzX2Rh dGEKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEKKzMwMAlkYXRhMyBmb3IgdGVz dGluZwkjI1ZBTFVFIFVQREFURUQjIworNTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRh NQorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNgorODAwCWRhdGExIGZvciByZXBs YWNlbWVudAlyZXBsYWNlIGRhdGExCis4MDAJZGF0YSByZXBsYWNlZAlyZXBsYWNlIG92ZXIKK1NF TEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJiCiszMwljYworNDQJZGQKKzU1 CWVlCisxCWZmCiszCW1tCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlzaW50CWJp bnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJZG9iCXkK Kzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAw LjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0LTA5LTA4 CTE5ODQKKzEwMDAxCTEyMAk2NTUwCTcyNzg2MzQ2NTcJOTA2NjcJQWZ0ZXIgYmFja3VwCU1pbm5l YXBvbGlzCTc4Mi45OTAxCTc4OS4yMwk5NzgwNi40NTYJYmx1ZQlBbnRhcnRpY2EJMjAwOC0wOC0w NyAxNToxMjo0NAkxOTU0LTEyLTIzCTE5NTQKK1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9u CXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4 eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGho aAlra2tra2tra2tra2trCW1tbW1tbW1tbW1tbQlvbmxpbmViYWNrdXAxCitTRVQgVElNRVNUQU1Q PUBhKzQ7CitGTFVTSCBMT0dTOworRFJPUCBEQVRBQkFTRSBwdHI7CisqKioqIEV4ZWN1dGUgbXlz cWxiaW5sb2cgdG8gcmVjb3ZlciB0aGUgZGF0YSBmcm9tIHN0YXJ0IHRvIGJhY2t1cCAqKioqCitT SE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK2QxCitkMgordDEKK3QyCit0Mwor U0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0CWQKKzUJZQorU0VM RUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBkYXRlc19k YXRhCWNoYW5nZXMKKzEwMAlkYXRhMSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTEJYWx0ZXJlZAor MjAwCWRhdGEyIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMglhbHRlcmVkCiszMDAJZGF0YTMgZm9y IHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMJTlVMTAorNTAwCWRhdGE1IGZvciB0ZXN0aW5nCXVw ZGF0ZSBkYXRhNQlOVUxMCis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE2CU5VTEwK KzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQlOVUxMCis4MDAJZGF0YSBy ZXBsYWNlZAlyZXBsYWNlIG92ZXIJTlVMTAorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisx MQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKK1NFTEVDVCAqIEZST00gcHRyLmQxOwor cmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNhbAljb2xvdXJzCWNv bnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3CXRlc3RpbmcxCXN3 ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQkyMDA4LTA2LTAxIDE2 OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorU0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdpb24Jc3Vt bWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4eHh4eHgJ VGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGhoaGhoCWtr a2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKKyoqKiogTm93IHBlcmZvcm0g YW5vdGhlciByZWNvdmVyeSB0byByZWNvdmVyIGRhdGEgYWZ0ZXIgYmFja3VwICoqKioKK1NIT1cg VEFCTEVTIEZST00gcHRyOworVGFibGVzX2luX3B0cgorZDEKK2QyCitkZWZpbml0aW9uCit0MQor dDIKK3QzCitERVNDUklCRSBwdHIudDE7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0 cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RFU0NSSUJF IHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZ RVMJCU5VTEwJCitkZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19k YXRhCXRleHQJWUVTCQlOVUxMCQorREVTQ1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlOdWxsCUtl eQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0KQlZRVMJ CU5VTEwJCitTRUxFQ1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAor NQllCis2CWYKKzcJZworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxl dGVzX2RhdGEJdXBkYXRlc19kYXRhCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGEx CiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRhNSBmb3Ig dGVzdGluZwl1cGRhdGUgZGF0YTUKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYK KzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEgcmVwbGFj ZWQJcmVwbGFjZSBvdmVyCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisyMgli YgorMzMJY2MKKzQ0CWRkCis1NQllZQorMQlmZgorMwltbQorU0VMRUNUICogRlJPTSBwdHIuZDE7 CityaW50CXRpbnQJc2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJ Y29udGluZW50CXRzCWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJ c3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEg MTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0CisxMDAwMQkxMjAJNjU1MAk3Mjc4NjM0NjU3CTkwNjY3 CUFmdGVyIGJhY2t1cAlNaW5uZWFwb2xpcwk3ODIuOTkwMQk3ODkuMjMJOTc4MDYuNDU2CWJsdWUJ QW50YXJ0aWNhCTIwMDgtMDgtMDcgMTU6MTI6NDQJMTk1NC0xMi0yMwkxOTU0CitTRUxFQ1QgKiBG Uk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5Mgll eHRyYWN0CXBhcmFzCit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJi YmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFj a3VwMQorRFJPUCBEQVRBQkFTRSBwdHI7CisqKiogVEVTVDIgKioqIDoKK1BlcmZvcm0gUmVzdG9y ZSBhbmQgcmVjb3ZlciB0cmFuc2FjdGlvbnMgYWZ0ZXIgYmFja3VwIGJ5IGV4ZWN1dGluZyAKK215 c3FsYmlubG9nIHV0aWxpdHkgdXNpbmcgYmlubG9nIHBvc2l0aW9uLgorUGVyZm9ybSByZXN0b3Jl IG9wZXJhdGlvbiAKK1JFU1RPUkUgRlJPTSAncHRyLmJhayc7CitiYWNrdXBfaWQKKyMKK1NFTEVD VCAqIEZST00gcHRyLnQxOworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKK1NFTEVDVCAq IEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQlj aGFuZ2VzCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCWFsdGVyZWQKKzIwMAlk YXRhMiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTIJYWx0ZXJlZAorMzAwCWRhdGEzIGZvciB0ZXN0 aW5nCSMjVkFMVUUgVVBEQVRFRCMjCU5VTEwKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUg ZGF0YTUJTlVMTAorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNglOVUxMCis4MDAJ ZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2UgZGF0YTEJTlVMTAorODAwCWRhdGEgcmVwbGFj ZWQJcmVwbGFjZSBvdmVyCU5VTEwKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEK KzIyCWJiCiszMwljYworNDQJZGQKKzU1CWVlCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJ dGludAlzaW50CWJpbnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5l bnQJdHMJZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4J Njc4LjI5OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzoz MAkxOTg0LTA5LTA4CTE5ODQKK1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJ ZGF0YQlkZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3Rv Zm9ubGluZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tr a2tra2trCW1tbW1tbW1tbW1tbQlvbmxpbmViYWNrdXAxCitSZWNvdmVyaW5nIGRhdGEgY29udGVu dHMgYWZ0ZXIgYmFja3VwCitTSE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK2Qx CitkMgorZGVmaW5pdGlvbgordDEKK3QyCit0MworREVTQ1JJQkUgcHRyLnQxOworRmllbGQJVHlw ZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2EJY2hhcig0 KQlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1 bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRlc19kYXRhCXZhcmNoYXIoMzAp CVlFUwkJTlVMTAkKK3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50 MzsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5V TEwJCitiCXZhcmNoYXIoNCkJWUVTCQlOVUxMCQorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlh CisxCWEKKzIJYgorMwljCis0CWQKKzUJZQorNglmCis3CWcKK1NFTEVDVCAqIEZST00gcHRyLnQy IE9SREVSIEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZv ciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBE QVRFRCMjCis1MDAJZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1Cis2MDAJZGF0YTYgZm9y IHRlc3RpbmcJdXBkYXRlIGRhdGE2Cis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2Ug ZGF0YTEKKzgwMAlkYXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcgorU0VMRUNUICogRlJPTSBwdHIu dDM7CitpZAliCisxMQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKKzEJZmYKKzMJbW0K K1NFTEVDVCAqIEZST00gcHRyLmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0 eQlmbAlwZXJzCXNhbAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3 ODgyOTg5OQkzNzc3CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5 ZWxsb3cJQXNpYQkyMDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorMTAwMDEJMTIw CTY1NTAJNzI3ODYzNDY1Nwk5MDY2NwlBZnRlciBiYWNrdXAJTWlubmVhcG9saXMJNzgyLjk5MDEJ Nzg5LjIzCTk3ODA2LjQ1NglibHVlCUFudGFydGljYQkyMDA4LTA4LTA3IDE1OjEyOjQ0CTE5NTQt MTItMjMJMTk1NAorU0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdpb24Jc3VtbWFyeQlkYXRhCWRl dGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4eHh4eHgJVGVzdG9mb25saW5l IGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGhoaGhoCWtra2tra2tra2tra2sJ bW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKK0RST1AgREFUQUJBU0UgcHRyOworKioqIFRFU1Qz ICoqKiA6CitUaGlzIHRlc3Qgd2lsbCByZWNvdmVyIGRhdGEgdXNpbmcgYmlubG9nIGRhdGVzCit0 aWxsIHBvaW50IG9mIGJhY2t1cCBhbmQgYWZ0ZXIgYmFja3VwLgorTm93IHVzZSBiaW5sb2cgZGF0 ZXMgdG8gcmVjb3ZlciB0aGUgZGF0YSB0aWxsIHBvaW50IG9mIGJhY2t1cC4KK1NFTEVDVCAqIEZS T00gcHRyLnQxOworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKK1NFTEVDVCAqIEZST00g cHRyLnQyIE9SREVSIEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQljaGFuZ2Vz CisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCWFsdGVyZWQKKzIwMAlkYXRhMiBm b3IgdGVzdGluZwl1cGRhdGUgZGF0YTIJYWx0ZXJlZAorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMj VkFMVUUgVVBEQVRFRCMjCU5VTEwKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUJ TlVMTAorNjAwCWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNglOVUxMCis4MDAJZGF0YTEg Zm9yIHJlcGxhY2VtZW50CXJlcGxhY2UgZGF0YTEJTlVMTAorODAwCWRhdGEgcmVwbGFjZWQJcmVw bGFjZSBvdmVyCU5VTEwKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJi CiszMwljYworNDQJZGQKKzU1CWVlCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlz aW50CWJpbnQJbWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJ ZG9iCXkKKzc4NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5 OTAJMjAwLjIzCTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0 LTA5LTA4CTE5ODQKK1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlk ZXRhaWxzCXF1ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGlu ZSBiYWNrdXAJYWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2tr CW1tbW1tbW1tbW1tbQlvbmxpbmViYWNrdXAxCitXZSBleGVjdXRlIGJpbmxvZyB0byByZWNvdmVy IGRhdGEgYWZ0ZXIgYmFja3VwIHVzaW5nIGJpbmxvZyBkYXRlcy4KK1NIT1cgVEFCTEVTIEZST00g cHRyOworVGFibGVzX2luX3B0cgorZDEKK2QyCitkZWZpbml0aW9uCit0MQordDIKK3QzCitERVND UklCRSBwdHIudDE7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgx MSkJWUVTCQlOVUxMCQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MjsKK0Zp ZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitk ZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19kYXRhCXRleHQJWUVT CQlOVUxMCQorREVTQ1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4 dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0KQlZRVMJCU5VTEwJCitTRUxF Q1QgKiBGUk9NIHB0ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAorNQllCis2CWYKKzcJ ZworU0VMRUNUICogRlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBk YXRlc19kYXRhCisxMDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCiszMDAJZGF0YTMg Zm9yIHRlc3RpbmcJIyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRh dGUgZGF0YTUKKzYwMAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYKKzgwMAlkYXRhMSBm b3IgcmVwbGFjZW1lbnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEgcmVwbGFjZWQJcmVwbGFjZSBv dmVyCitTRUxFQ1QgKiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0 CWRkCis1NQllZQorMQlmZgorMwltbQorU0VMRUNUICogRlJPTSBwdHIuZDE7CityaW50CXRpbnQJ c2ludAliaW50CW1pbnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJY29udGluZW50CXRz CWRvYgl5Cis3ODUJMTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJc3dlZGVuCTY3OC4y OTkwCTIwMC4yMwk4Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEgMTY6MjM6MzAJMTk4 NC0wOS0wOAkxOTg0CisxMDAwMQkxMjAJNjU1MAk3Mjc4NjM0NjU3CTkwNjY3CUFmdGVyIGJhY2t1 cAlNaW5uZWFwb2xpcwk3ODIuOTkwMQk3ODkuMjMJOTc4MDYuNDU2CWJsdWUJQW50YXJ0aWNhCTIw MDgtMDgtMDcgMTU6MTI6NDQJMTk1NC0xMi0yMwkxOTU0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsK K3JlZ2lvbglzdW1tYXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFz Cit4eHh4eHh4eAlUZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGho aGhoaGhoaGgJa2tra2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorRFJPUCBE QVRBQkFTRSBwdHI7CisqKiogVEVTVDQgKioqIDoKK1BlcmZvcm0gUmVzdG9yZSBhbmQgcmVjb3Zl ciB0cmFuc2FjdGlvbnMgYWZ0ZXIgYmFja3VwIGJ5IGV4ZWN1dGluZworbXlzcWxiaW5sb2cgdXRp bGl0eSB1c2luZyBiaW5sb2cgZGF0ZXMuCitSRVNUT1JFIEZST00gJ3B0ci5iYWsnOworYmFja3Vw X2lkCisjCitERVNDUklCRSBwdHIudDE7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0 cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RFU0NSSUJF IHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZ RVMJCU5VTEwJCitkZWxldGVzX2RhdGEJdmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19k YXRhCXRleHQJWUVTCQlOVUxMCQorY2hhbmdlcwljaGFyKDIwKQlZRVMJCU5VTEwJCitERVNDUklC RSBwdHIudDM7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJ WUVTCQlOVUxMCQorYgl2YXJjaGFyKDQpCVlFUwkJTlVMTAkKK1NFTEVDVCAqIEZST00gcHRyLnQx OworaWQJYQorMQlhCisyCWIKKzMJYworNAlkCis1CWUKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9S REVSIEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQljaGFuZ2VzCisxMDAJZGF0 YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCWFsdGVyZWQKKzIwMAlkYXRhMiBmb3IgdGVzdGlu Zwl1cGRhdGUgZGF0YTIJYWx0ZXJlZAorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBE QVRFRCMjCU5VTEwKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUJTlVMTAorNjAw CWRhdGE2IGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhNglOVUxMCis4MDAJZGF0YTEgZm9yIHJlcGxh Y2VtZW50CXJlcGxhY2UgZGF0YTEJTlVMTAorODAwCWRhdGEgcmVwbGFjZWQJcmVwbGFjZSBvdmVy CU5VTEwKK1NFTEVDVCAqIEZST00gcHRyLnQzOworaWQJYgorMTEJYWEKKzIyCWJiCiszMwljYwor NDQJZGQKKzU1CWVlCitTRUxFQ1QgKiBGUk9NIHB0ci5kMTsKK3JpbnQJdGludAlzaW50CWJpbnQJ bWludAluYW1lCWNpdHkJZmwJcGVycwlzYWwJY29sb3Vycwljb250aW5lbnQJdHMJZG9iCXkKKzc4 NQkxMjcJNzI4OAkyNzg4Mjk4OTkJMzc3Nwl0ZXN0aW5nMQlzd2VkZW4JNjc4LjI5OTAJMjAwLjIz CTgyOTg5OS45MDkJeWVsbG93CUFzaWEJMjAwOC0wNi0wMSAxNjoyMzozMAkxOTg0LTA5LTA4CTE5 ODQKK1NFTEVDVCAqIEZST00gcHRyLmQyOworcmVnaW9uCXN1bW1hcnkJZGF0YQlkZXRhaWxzCXF1 ZXJpZXMJcXVlcnkyCWV4dHJhY3QJcGFyYXMKK3h4eHh4eHh4CVRlc3RvZm9ubGluZSBiYWNrdXAJ YWFhYWFhYWFhYQliYmJiYmJiYmJiYgloaGhoaGhoaGhoaAlra2tra2tra2tra2trCW1tbW1tbW1t bW1tbQlvbmxpbmViYWNrdXAxCitTSE9XIERBVEFCQVNFUzsKK0RhdGFiYXNlCitpbmZvcm1hdGlv bl9zY2hlbWEKK215c3FsCitwdHIKK3Rlc3QKK1NIT1cgVEFCTEVTIEZST00gcHRyOworVGFibGVz X2luX3B0cgorZDEKK2QyCitkZWZpbml0aW9uCit0MQordDIKK3QzCitERVNDUklCRSBwdHIudDE7 CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxM CQorYQljaGFyKDQpCVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MjsKK0ZpZWxkCVR5cGUJTnVs bAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitkZWxldGVzX2RhdGEJ dmFyY2hhcigzMCkJWUVTCQlOVUxMCQordXBkYXRlc19kYXRhCXRleHQJWUVTCQlOVUxMCQorREVT Q1JJQkUgcHRyLnQzOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQo MTEpCVlFUwkJTlVMTAkKK2IJdmFyY2hhcig0KQlZRVMJCU5VTEwJCitTRUxFQ1QgKiBGUk9NIHB0 ci50MTsKK2lkCWEKKzEJYQorMgliCiszCWMKKzQJZAorNQllCis2CWYKKzcJZworU0VMRUNUICog RlJPTSBwdHIudDIgT1JERVIgQlkgaWQ7CitpZAlkZWxldGVzX2RhdGEJdXBkYXRlc19kYXRhCisx MDAJZGF0YTEgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGExCiszMDAJZGF0YTMgZm9yIHRlc3RpbmcJ IyNWQUxVRSBVUERBVEVEIyMKKzUwMAlkYXRhNSBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTUKKzYw MAlkYXRhNiBmb3IgdGVzdGluZwl1cGRhdGUgZGF0YTYKKzgwMAlkYXRhMSBmb3IgcmVwbGFjZW1l bnQJcmVwbGFjZSBkYXRhMQorODAwCWRhdGEgcmVwbGFjZWQJcmVwbGFjZSBvdmVyCitTRUxFQ1Qg KiBGUk9NIHB0ci50MzsKK2lkCWIKKzExCWFhCisyMgliYgorMzMJY2MKKzQ0CWRkCis1NQllZQor MQlmZgorMwltbQorU0VMRUNUICogRlJPTSBwdHIuZDE7CityaW50CXRpbnQJc2ludAliaW50CW1p bnQJbmFtZQljaXR5CWZsCXBlcnMJc2FsCWNvbG91cnMJY29udGluZW50CXRzCWRvYgl5Cis3ODUJ MTI3CTcyODgJMjc4ODI5ODk5CTM3NzcJdGVzdGluZzEJc3dlZGVuCTY3OC4yOTkwCTIwMC4yMwk4 Mjk4OTkuOTA5CXllbGxvdwlBc2lhCTIwMDgtMDYtMDEgMTY6MjM6MzAJMTk4NC0wOS0wOAkxOTg0 CisxMDAwMQkxMjAJNjU1MAk3Mjc4NjM0NjU3CTkwNjY3CUFmdGVyIGJhY2t1cAlNaW5uZWFwb2xp cwk3ODIuOTkwMQk3ODkuMjMJOTc4MDYuNDU2CWJsdWUJQW50YXJ0aWNhCTIwMDgtMDgtMDcgMTU6 MTI6NDQJMTk1NC0xMi0yMwkxOTU0CitTRUxFQ1QgKiBGUk9NIHB0ci5kMjsKK3JlZ2lvbglzdW1t YXJ5CWRhdGEJZGV0YWlscwlxdWVyaWVzCXF1ZXJ5MglleHRyYWN0CXBhcmFzCit4eHh4eHh4eAlU ZXN0b2ZvbmxpbmUgYmFja3VwCWFhYWFhYWFhYWEJYmJiYmJiYmJiYmIJaGhoaGhoaGhoaGgJa2tr a2tra2tra2trawltbW1tbW1tbW1tbW0Jb25saW5lYmFja3VwMQorRFJPUCBEQVRBQkFTRSBwdHI7 CisqKiogVEVTVDUgKioqIDoKK0RvIGNvbXBsZXRlIHJlY292ZXJ5IG9mIGRhdGEgYWZ0ZXIgYmFj a3VwIHVzaW5nIGJpbmxvZyBwb3NpdGlvbi4gRW5zdXJlIAordGhhdCBwcmVzZW5jZSBvZiBiYWNr dXAgb3BlcmF0aW9uIGluIHRoZSBiaW5sb2cgc2hvdWxkbid0IGhhdmUgYW55IGltcGFjdAorU0hP VyBEQVRBQkFTRVM7CitEYXRhYmFzZQoraW5mb3JtYXRpb25fc2NoZW1hCitteXNxbAorcHRyCit0 ZXN0CitTSE9XIFRBQkxFUyBGUk9NIHB0cjsKK1RhYmxlc19pbl9wdHIKK2QxCitkMgorZGVmaW5p dGlvbgordDEKK3QyCit0MworREVTQ1JJQkUgcHRyLnQxOworRmllbGQJVHlwZQlOdWxsCUtleQlE ZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlFUwkJTlVMTAkKK2EJY2hhcig0KQlZRVMJCU5VTEwJ CitERVNDUklCRSBwdHIudDI7CitGaWVsZAlUeXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lk CWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRlc19kYXRhCXZhcmNoYXIoMzApCVlFUwkJTlVMTAkK K3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVMTAkKK0RFU0NSSUJFIHB0ci50MzsKK0ZpZWxkCVR5 cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQoraWQJaW50KDExKQlZRVMJCU5VTEwJCitiCXZhcmNo YXIoNCkJWUVTCQlOVUxMCQorU0VMRUNUICogRlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgor MwljCis0CWQKKzUJZQorNglmCis3CWcKK1NFTEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlk OworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNfZGF0YQorMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVw ZGF0ZSBkYXRhMQorMzAwCWRhdGEzIGZvciB0ZXN0aW5nCSMjVkFMVUUgVVBEQVRFRCMjCis1MDAJ ZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE1Cis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBk YXRlIGRhdGE2Cis4MDAJZGF0YTEgZm9yIHJlcGxhY2VtZW50CXJlcGxhY2UgZGF0YTEKKzgwMAlk YXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3ZlcgorU0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisx MQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAorNTUJZWUKKzEJZmYKKzMJbW0KK1NFTEVDVCAqIEZS T00gcHRyLmQxOworcmludAl0aW50CXNpbnQJYmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNh bAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJeQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3 CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAkyMDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQky MDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDktMDgJMTk4NAorMTAwMDEJMTIwCTY1NTAJNzI3ODYz NDY1Nwk5MDY2NwlBZnRlciBiYWNrdXAJTWlubmVhcG9saXMJNzgyLjk5MDEJNzg5LjIzCTk3ODA2 LjQ1NglibHVlCUFudGFydGljYQkyMDA4LTA4LTA3IDE1OjEyOjQ0CTE5NTQtMTItMjMJMTk1NAor U0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdpb24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmll cwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFh YWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGhoaGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1t CW9ubGluZWJhY2t1cDEKK0RST1AgREFUQUJBU0UgcHRyOworKioqIFRFU1Q2ICoqKiA6CitEbyBj b21wbGV0ZSByZWNvdmVyeSBvZiBkYXRhIGFmdGVyIGJhY2t1cCB1c2luZyBiaW5sb2cgZGF0ZXMu IEVuc3VyZQordGhhdCBwcmVzZW5jZSBvZiBiYWNrdXAgb3BlcmF0aW9uIGluIHRoZSBiaW5sb2cg c2hvdWxkbid0IGhhdmUgYW55IGltcGFjdAorU0hPVyBEQVRBQkFTRVM7CitEYXRhYmFzZQoraW5m b3JtYXRpb25fc2NoZW1hCitteXNxbAorcHRyCit0ZXN0CitTSE9XIFRBQkxFUyBGUk9NIHB0cjsK K1RhYmxlc19pbl9wdHIKK2QxCitkMgorZGVmaW5pdGlvbgordDEKK3QyCit0MworREVTQ1JJQkUg cHRyLnQxOworRmllbGQJVHlwZQlOdWxsCUtleQlEZWZhdWx0CUV4dHJhCitpZAlpbnQoMTEpCVlF UwkJTlVMTAkKK2EJY2hhcig0KQlZRVMJCU5VTEwJCitERVNDUklCRSBwdHIudDI7CitGaWVsZAlU eXBlCU51bGwJS2V5CURlZmF1bHQJRXh0cmEKK2lkCWludCgxMSkJWUVTCQlOVUxMCQorZGVsZXRl c19kYXRhCXZhcmNoYXIoMzApCVlFUwkJTlVMTAkKK3VwZGF0ZXNfZGF0YQl0ZXh0CVlFUwkJTlVM TAkKK0RFU0NSSUJFIHB0ci50MzsKK0ZpZWxkCVR5cGUJTnVsbAlLZXkJRGVmYXVsdAlFeHRyYQor aWQJaW50KDExKQlZRVMJCU5VTEwJCitiCXZhcmNoYXIoNCkJWUVTCQlOVUxMCQorU0VMRUNUICog RlJPTSBwdHIudDE7CitpZAlhCisxCWEKKzIJYgorMwljCis0CWQKKzUJZQorNglmCis3CWcKK1NF TEVDVCAqIEZST00gcHRyLnQyIE9SREVSIEJZIGlkOworaWQJZGVsZXRlc19kYXRhCXVwZGF0ZXNf ZGF0YQorMTAwCWRhdGExIGZvciB0ZXN0aW5nCXVwZGF0ZSBkYXRhMQorMzAwCWRhdGEzIGZvciB0 ZXN0aW5nCSMjVkFMVUUgVVBEQVRFRCMjCis1MDAJZGF0YTUgZm9yIHRlc3RpbmcJdXBkYXRlIGRh dGE1Cis2MDAJZGF0YTYgZm9yIHRlc3RpbmcJdXBkYXRlIGRhdGE2Cis4MDAJZGF0YTEgZm9yIHJl cGxhY2VtZW50CXJlcGxhY2UgZGF0YTEKKzgwMAlkYXRhIHJlcGxhY2VkCXJlcGxhY2Ugb3Zlcgor U0VMRUNUICogRlJPTSBwdHIudDM7CitpZAliCisxMQlhYQorMjIJYmIKKzMzCWNjCis0NAlkZAor NTUJZWUKKzEJZmYKKzMJbW0KK1NFTEVDVCAqIEZST00gcHRyLmQxOworcmludAl0aW50CXNpbnQJ YmludAltaW50CW5hbWUJY2l0eQlmbAlwZXJzCXNhbAljb2xvdXJzCWNvbnRpbmVudAl0cwlkb2IJ eQorNzg1CTEyNwk3Mjg4CTI3ODgyOTg5OQkzNzc3CXRlc3RpbmcxCXN3ZWRlbgk2NzguMjk5MAky MDAuMjMJODI5ODk5LjkwOQl5ZWxsb3cJQXNpYQkyMDA4LTA2LTAxIDE2OjIzOjMwCTE5ODQtMDkt MDgJMTk4NAorMTAwMDEJMTIwCTY1NTAJNzI3ODYzNDY1Nwk5MDY2NwlBZnRlciBiYWNrdXAJTWlu bmVhcG9saXMJNzgyLjk5MDEJNzg5LjIzCTk3ODA2LjQ1NglibHVlCUFudGFydGljYQkyMDA4LTA4 LTA3IDE1OjEyOjQ0CTE5NTQtMTItMjMJMTk1NAorU0VMRUNUICogRlJPTSBwdHIuZDI7CityZWdp b24Jc3VtbWFyeQlkYXRhCWRldGFpbHMJcXVlcmllcwlxdWVyeTIJZXh0cmFjdAlwYXJhcworeHh4 eHh4eHgJVGVzdG9mb25saW5lIGJhY2t1cAlhYWFhYWFhYWFhCWJiYmJiYmJiYmJiCWhoaGhoaGho aGhoCWtra2tra2tra2tra2sJbW1tbW1tbW1tbW1tCW9ubGluZWJhY2t1cDEKKworKioqICBEUk9Q IHB0ciBEQVRBQkFTRSAqKioqCisKK0RST1AgREFUQUJBU0UgcHRyOwoKPT09IG1vZGlmaWVkIGZp bGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBfZnVuY3Rpb25zLnRl c3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX2Z1bmN0aW9ucy50ZXN0 CTIwMDgtMDgtMTIgMDM6MjI6MDUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBf ZW5naW5lcy90L2JhY2t1cF9mdW5jdGlvbnMudGVzdAkyMDA4LTEwLTA3IDE3OjE1OjQ0ICswMDAw CkBAIC01LDcgKzUsNyBAQAogIyBhZnRlciBiYWNrdXAgYW5kIFJlc3RvcmUuCiAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCiAtLXNvdXJjZSBpbmNsdWRlL25vdF9lbWJlZGRlZC5pbmMKLS0tc291cmNl IHN1aXRlL2JhY2t1cC9pbmNsdWRlL2JhY2t1cF9lbmdpbmUuaW5jCistLXNvdXJjZSBzdWl0ZS9i YWNrdXBfZW5naW5lcy9pbmNsdWRlL2JhY2t1cF9lbmdpbmUuaW5jCiAtLXNvdXJjZSBpbmNsdWRl L2hhdmVfZGVidWcuaW5jCiAKIGNvbm5lY3QgKGJhY2t1cCxsb2NhbGhvc3Qscm9vdCwsKTsKCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3Vw X3Byb2NlZHVyZXMudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXAvdC9iYWNrdXBf cHJvY2VkdXJlcy50ZXN0CTIwMDgtMDgtMTIgMDM6MjI6MDUgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wcm9jZWR1cmVzLnRlc3QJMjAwOC0xMC0w NyAxNzoxNTo0NCArMDAwMApAQCAtNSw3ICs1LDcgQEAKICMgIHN0b3JhZ2UgZW5naW5lcy4KICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKIC0tc291cmNlIGluY2x1ZGUvbm90X2VtYmVkZGVkLmluYwot LS1zb3VyY2Ugc3VpdGUvYmFja3VwL2luY2x1ZGUvYmFja3VwX2VuZ2luZS5pbmMKKy0tc291cmNl IHN1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX2VuZ2luZS5pbmMKIC0tc291cmNl IGluY2x1ZGUvaGF2ZV9kZWJ1Zy5pbmMKIAogY29ubmVjdCAoYmFja3VwLGxvY2FsaG9zdCxyb290 LCwpOwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9i YWNrdXBfcHRyX2NvbW1pdF9taXhlZC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1 cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9jb21taXRfbWl4ZWQudGVzdAkxOTcwLTAxLTAxIDAwOjAw OjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBf cHRyX2NvbW1pdF9taXhlZC50ZXN0CTIwMDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCAr MSwxNiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQXV0aG9yOiBIZW1hCisjIERhdGU6IDIwMDgt MDctMzAKKyMgUHVycG9zZTogVGVzdCB0byBlbnN1cmUgdGhhdCBwb2ludCBpbiB0aW1lIHJlY292 ZXJ5IGlzIHByZXNlcnZlcyBhbGwgdGhlCisjIG9iamVjdHMgZHVyaW5nIGJhY2t1cAorIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworCistLXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRl L2JhY2t1cF9lbmdpbmUuaW5jCistLXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRl L25vdF9oYXZlX2ZhbGNvbi5pbmMKKy0tc291cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1 ZGUvbm90X2hhdmVfbWVtb3J5LmluYworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5j bHVkZS9ub3RfaGF2ZV9teWlzYW0uaW5jCisKK1NFVCBHTE9CQUwgQklOTE9HX0ZPUk1BVD0nTUlY RUQnOworU0VUIEJJTkxPR19GT1JNQVQ9J01JWEVEJzsKKy0tc291cmNlIHN1aXRlL2JhY2t1cF9l bmdpbmVzL2luY2x1ZGUvYmFja3VwX3B0cl9jb21taXQuaW5jCisKCj09PSBhZGRlZCBmaWxlICdt eXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9jb21taXRfcm93LnRl c3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBfcHRyX2Nv bW1pdF9yb3cudGVzdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qv c3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBfcHRyX2NvbW1pdF9yb3cudGVzdAkyMDA4LTEw LTA4IDA0OjI2OjI1ICswMDAwCkBAIC0wLDAgKzEsMTYgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj IEF1dGhvcjogSGVtYQorIyBEYXRlOiAyMDA4LTA3LTMwCisjIFB1cnBvc2U6IFRlc3QgdG8gZW5z dXJlIHRoYXQgcG9pbnQgaW4gdGltZSByZWNvdmVyeSBpcyBwcmVzZXJ2ZXMgYWxsIHRoZQorIyBv YmplY3RzIGR1cmluZyBiYWNrdXAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworLS1zb3VyY2Ug c3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9iYWNrdXBfZW5naW5lLmluYworLS1zb3VyY2Ug c3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9mYWxjb24uaW5jCistLXNvdXJj ZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRlL25vdF9oYXZlX21lbW9yeS5pbmMKKy0tc291 cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvbm90X2hhdmVfbXlpc2FtLmluYworCitT RVQgR0xPQkFMIEJJTkxPR19GT1JNQVQ9J1JPVyc7CitTRVQgQklOTE9HX0ZPUk1BVD0nUk9XJzsK Ky0tc291cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX3B0cl9jb21taXQu aW5jCisKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3Qv YmFja3VwX3B0cl9jb21taXRfc3RtdC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1 cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9jb21taXRfc3RtdC50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6 MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9w dHJfY29tbWl0X3N0bXQudGVzdAkyMDA4LTEwLTA4IDA0OjI2OjI1ICswMDAwCkBAIC0wLDAgKzEs MTYgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEF1dGhvcjogSGVtYQorIyBEYXRlOiAyMDA4LTA3 LTMwCisjIFB1cnBvc2U6IFRlc3QgdG8gZW5zdXJlIHRoYXQgcG9pbnQgaW4gdGltZSByZWNvdmVy eSBpcyBwcmVzZXJ2ZXMgYWxsIHRoZQorIyBvYmplY3RzIGR1cmluZyBiYWNrdXAKKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9i YWNrdXBfZW5naW5lLmluYworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9u b3RfaGF2ZV9mYWxjb24uaW5jCistLXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRl L25vdF9oYXZlX21lbW9yeS5pbmMKKy0tc291cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1 ZGUvbm90X2hhdmVfbXlpc2FtLmluYworCitTRVQgR0xPQkFMIEJJTkxPR19GT1JNQVQ9J1NUQVRF TUVOVCc7CitTRVQgQklOTE9HX0ZPUk1BVD0nU1RBVEVNRU5UJzsKKy0tc291cmNlIHN1aXRlL2Jh Y2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX3B0cl9jb21taXQuaW5jCisKCj09PSBhZGRlZCBm aWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9taXhlZC50 ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9t aXhlZC50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wdHJfbWl4ZWQudGVzdAkyMDA4LTEwLTA4IDA0OjI2 OjI1ICswMDAwCkBAIC0wLDAgKzEsMTMgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEF1dGhvcjog SGVtYQorIyBEYXRlOiAyMDA4LTA3LTMwCisjIFB1cnBvc2U6IFRlc3QgdG8gZW5zdXJlIHRoYXQg cG9pbnQgaW4gdGltZSByZWNvdmVyeSBpcyBwcmVzZXJ2ZWQgZHVyaW5nIGJhY2t1cAorIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9i YWNrdXBfZW5naW5lLmluYworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9u b3RfaGF2ZV9tZW1vcnkuaW5jCisKKyMgTWVtb3J5IGVuZ2luZSBpcyBza2lwcGVkIGFzIGl0IGRv ZXMgbm90IHN1cHBvcnQgVEVYVCBkYXRhdHlwZS4KK1NFVCBHTE9CQUwgQklOTE9HX0ZPUk1BVD0n TUlYRUQnOworU0VUIEJJTkxPR19GT1JNQVQ9J01JWEVEJzsKKy0tc291cmNlIHN1aXRlL2JhY2t1 cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX3B0ci5pbmMKKwoKPT09IGFkZGVkIGZpbGUgJ215c3Fs LXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBfcHRyX29iamVjdHNfbWl4ZWQudGVz dCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wdHJfb2Jq ZWN0c19taXhlZC50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wdHJfb2JqZWN0c19taXhlZC50ZXN0CTIw MDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCArMSwxOSBAQAorIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMgQXV0aG9yOiBIZW1hCisjIERhdGU6IDIwMDgtMDctMzAKKyMgUHVycG9zZTogVGVzdCB0 byBlbnN1cmUgdGhhdCBwb2ludCBpbiB0aW1lIHJlY292ZXJ5IGlzIHByZXNlcnZlcyBhbGwgdGhl ICAgICAgIyBvYmplY3RzIGR1cmluZyBiYWNrdXAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor LS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9iYWNrdXBfZW5naW5lLmluYwor LS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9tZW1vcnkuaW5j CistLXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRlL25vdF9oYXZlX2lubm9kYi5p bmMKKworIyBNZW1vcnkgZW5naW5lIGlzIHNraXBwZWQgYXMgaXQgZG9lcyBub3Qgc3VwcG9ydCBU RVhUIGRhdGF0eXBlLgorIyBUaGUgaW5ub2RiIGVuZ2luZSB3aWxsIGJlIHNraXBwZWQgZm9yIHRo aXMgdGVzdCBiZWNhdXNlIG9mCisjIEJ1ZyMzODg3Mi4gT25jZSB0aGlzIGJ1ZyBpcyBmaXhlZCwg YWxsb3cgdGhpcyB0ZXN0IHRvIHJ1biB3aXRoCisjIElubm9kYiBzdG9yYWdlIGVuZ2luZS4KKwor U0VUIEdMT0JBTCBCSU5MT0dfRk9STUFUPSdNSVhFRCc7CitTRVQgQklOTE9HX0ZPUk1BVD0nTUlY RUQnOworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9iYWNrdXBfcHRyX29i amVjdHMuaW5jCisKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdp bmVzL3QvYmFja3VwX3B0cl9vYmplY3RzX3Jvdy50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRl L2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9vYmplY3RzX3Jvdy50ZXN0CTE5NzAtMDEtMDEg MDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2Jh Y2t1cF9wdHJfb2JqZWN0c19yb3cudGVzdAkyMDA4LTEwLTA4IDA0OjI2OjI1ICswMDAwCkBAIC0w LDAgKzEsMTQgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEF1dGhvcjogSGVtYQorIyBEYXRlOiAy MDA4LTA3LTMwCisjIFB1cnBvc2U6IFRlc3QgdG8gZW5zdXJlIHRoYXQgcG9pbnQgaW4gdGltZSBy ZWNvdmVyeSBpcyBwcmVzZXJ2ZXMgYWxsIHRoZSAgICAgICMgb2JqZWN0cyBkdXJpbmcgYmFja3Vw CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKy0tc291cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVz L2luY2x1ZGUvYmFja3VwX2VuZ2luZS5pbmMKKy0tc291cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVz L2luY2x1ZGUvbm90X2hhdmVfbWVtb3J5LmluYworCisjIE1lbW9yeSBlbmdpbmUgaXMgc2tpcHBl ZCBhcyBpdCBkb2VzIG5vdCBzdXBwb3J0IFRFWFQgZGF0YXR5cGUuCitTRVQgR0xPQkFMIEJJTkxP R19GT1JNQVQ9J1JPVyc7CitTRVQgQklOTE9HX0ZPUk1BVD0nUk9XJzsKKy0tc291cmNlIHN1aXRl L2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX3B0cl9vYmplY3RzLmluYworCgo9PT0gYWRk ZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wdHJfb2Jq ZWN0c19zdG10LnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9i YWNrdXBfcHRyX29iamVjdHNfc3RtdC50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9zdWl0ZS9iYWNrdXBfZW5naW5lcy90L2JhY2t1cF9wdHJfb2JqZWN0c19z dG10LnRlc3QJMjAwOC0xMC0wOCAwNDoyNjoyNSArMDAwMApAQCAtMCwwICsxLDIzIEBACisjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworIyBBdXRob3I6IEhlbWEKKyMgRGF0ZTogMjAwOC0wNy0zMAorIyBQdXJw b3NlOiBUZXN0IHRvIGVuc3VyZSB0aGF0IHBvaW50IGluIHRpbWUgcmVjb3ZlcnkgaXMgcHJlc2Vy dmVzIGFsbCB0aGUKKyMgb2JqZWN0cyBkdXJpbmcgYmFja3VwCisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisKKy0tc291cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvYmFja3VwX2VuZ2lu ZS5pbmMKKy0tc291cmNlIHN1aXRlL2JhY2t1cF9lbmdpbmVzL2luY2x1ZGUvbm90X2hhdmVfZmFs Y29uLmluYworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9ub3RfaGF2ZV9t ZW1vcnkuaW5jCistLXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRlL25vdF9oYXZl X2lubm9kYi5pbmMKKworIyBGYWxjb24gc3VwcG9ydHMgb25seSByb3cgYmFzZWQgbG9nZ2luZywg dGhlcmVmb3JlIHdlIHNraXAgZmFsY29uCisjIGVuZ2luZSBmb3IgdGhpcyB0ZXN0LgorIyBNZW1v cnkgZW5naW5lIGlzIHNraXBwZWQgYXMgaXQgZG9lcyBub3Qgc3VwcG9ydCBURVhUIGRhdGF0eXBl LgorIyBUaGUgaW5ub2RiIGVuZ2luZSB3aWxsIGJlIHNraXBwZWQgZm9yIHRoaXMgdGVzdCBiZWNh dXNlIG9mCisjIEJ1ZyMzODg3Mi4gT25jZSB0aGlzIGJ1ZyBpcyBmaXhlZCwgYWxsb3cgdGhpcyB0 ZXN0IHRvIHJ1biB3aXRoCisjIElubm9kYiBzdG9yYWdlIGVuZ2luZS4KKworU0VUIEdMT0JBTCBC SU5MT0dfRk9STUFUPSdTVEFURU1FTlQnOworU0VUIEJJTkxPR19GT1JNQVQ9J1NUQVRFTUVOVCc7 CistLXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRlL2JhY2t1cF9wdHJfb2JqZWN0 cy5pbmMKKwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMv dC9iYWNrdXBfcHRyX3Jvdy50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdp bmVzL3QvYmFja3VwX3B0cl9yb3cudGVzdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBi L215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBfcHRyX3Jvdy50ZXN0CTIw MDgtMTAtMDggMDQ6MjY6MjUgKzAwMDAKQEAgLTAsMCArMSwxNSBAQAorIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMgQXV0aG9yOiBIZW1hCisjIERhdGU6IDIwMDgtMDctMzAKKyMgUHVycG9zZTogVGVzdCB0 byBlbnN1cmUgdGhhdCBwb2ludCBpbiB0aW1lIHJlY292ZXJ5IGlzIHByZXNlcnZlZCBkdXJpbmcg CisjIGJhY2t1cAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCistLXNvdXJjZSBzdWl0ZS9iYWNr dXBfZW5naW5lcy9pbmNsdWRlL2JhY2t1cF9lbmdpbmUuaW5jCistLXNvdXJjZSBzdWl0ZS9iYWNr dXBfZW5naW5lcy9pbmNsdWRlL25vdF9oYXZlX21lbW9yeS5pbmMKKworIyBNZW1vcnkgZW5naW5l IGlzIHNraXBwZWQgYXMgaXQgZG9lcyBub3Qgc3VwcG9ydCBURVhUIGRhdGF0eXBlLgorU0VUIEdM T0JBTCBCSU5MT0dfRk9STUFUPSdST1cnOworU0VUIEJJTkxPR19GT1JNQVQ9J1JPVyc7CistLXNv dXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRlL2JhY2t1cF9wdHIuaW5jCisKCj09PSBh ZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3B0cl9z dG10LnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBf cHRyX3N0bXQudGVzdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qv c3VpdGUvYmFja3VwX2VuZ2luZXMvdC9iYWNrdXBfcHRyX3N0bXQudGVzdAkyMDA4LTEwLTA4IDA0 OjI2OjI1ICswMDAwCkBAIC0wLDAgKzEsMTYgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEF1dGhv cjogSGVtYQorIyBEYXRlOiAyMDA4LTA3LTMwCisjIFB1cnBvc2U6IFRlc3QgdG8gZW5zdXJlIHRo YXQgcG9pbnQgaW4gdGltZSByZWNvdmVyeSBpcyBwcmVzZXJ2ZWQgZHVyaW5nIAorIyBiYWNrdXAK KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMv aW5jbHVkZS9iYWNrdXBfZW5naW5lLmluYworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMv aW5jbHVkZS9ub3RfaGF2ZV9mYWxjb24uaW5jCistLXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5l cy9pbmNsdWRlL25vdF9oYXZlX21lbW9yeS5pbmMKKworIyBNZW1vcnkgZW5naW5lIGlzIHNraXBw ZWQgYXMgaXQgZG9lcyBub3Qgc3VwcG9ydCBURVhUIGRhdGF0eXBlLgorU0VUIEdMT0JBTCBCSU5M T0dfRk9STUFUPSdTVEFURU1FTlQnOworU0VUIEJJTkxPR19GT1JNQVQ9J1NUQVRFTUVOVCc7Cist LXNvdXJjZSBzdWl0ZS9iYWNrdXBfZW5naW5lcy9pbmNsdWRlL2JhY2t1cF9wdHIuaW5jCisKCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3Vw X3RyaWdnZXJzLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvYmFja3VwL3QvYmFja3VwX3Ry aWdnZXJzLnRlc3QJMjAwOC0wOC0xMiAwMzoyMjowNSArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1 aXRlL2JhY2t1cF9lbmdpbmVzL3QvYmFja3VwX3RyaWdnZXJzLnRlc3QJMjAwOC0xMC0wNyAxNzox NTo0NCArMDAwMApAQCAtNyw3ICs3LDcgQEAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAogLS1zb3VyY2UgaW5jbHVk ZS9ub3RfZW1iZWRkZWQuaW5jCi0tLXNvdXJjZSBzdWl0ZS9iYWNrdXAvaW5jbHVkZS9iYWNrdXBf ZW5naW5lLmluYworLS1zb3VyY2Ugc3VpdGUvYmFja3VwX2VuZ2luZXMvaW5jbHVkZS9iYWNrdXBf ZW5naW5lLmluYwogLS1zb3VyY2UgaW5jbHVkZS9oYXZlX2RlYnVnLmluYwogCiBjb25uZWN0IChi YWNrdXAsbG9jYWxob3N0LHJvb3QsLCk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9z dWl0ZS9mYWxjb24vci9mYWxjb25fYnVncy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUv ZmFsY29uL3IvZmFsY29uX2J1Z3MucmVzdWx0CTIwMDctMTEtMjYgMTU6NTA6MjMgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9zdWl0ZS9mYWxjb24vci9mYWxjb25fYnVncy5yZXN1bHQJMjAwOC0xMC0w MiAyMTowNTozOSArMDAwMApAQCAtMzI2Myw0ICszMjYzLDIwIEBAIGNvdW50KCopCiBzZWxlY3Qg Y291bnQoKikgZnJvbSB0MiB3aGVyZSBiID0gMTUwOwogY291bnQoKikKIDEKKyMKKyMgQnVnICMz NjQ3MyBBc3NlcnRpb24gIiEgaXNfc2V0KCkiIGZhaWxzIGluCisjIERpYWdub3N0aWNzX2FyZWE6 OnNldF9va19zdGF0dXMgd2l0aCBGYWxjb24KKyMgRW5zdXJlIHRoYXQgd2UgY2hlY2sgdGhlIHJl dHVybiB2YWx1ZSBvZiB1cGRhdGVfYXV0b19pbmNyZW1lbnQoKS4KKyMKK3NldCBAQHN0b3JhZ2Vf ZW5naW5lID0gZmFsY29uOworZHJvcCB0YWJsZSBpZiBleGlzdHMgdDE7CitjcmVhdGUgdGFibGUg dDEgKGEgdGlueWludCg0KSBOT1QgTlVMTCBhdXRvX2luY3JlbWVudCwgcHJpbWFyeSBrZXkgKGEp KTsKK3NldCBAQHNxbF9tb2RlPSdzdHJpY3RfYWxsX3RhYmxlcyc7CitzZXQgYXV0b19pbmNyZW1l bnRfaW5jcmVtZW50PTEwMDA7CitzZXQgYXV0b19pbmNyZW1lbnRfb2Zmc2V0PTcwMDsKK2luc2Vy dCBpbnRvIHQxIHZhbHVlcyAobnVsbCk7CitFUlJPUiAyMjAwMzogT3V0IG9mIHJhbmdlIHZhbHVl IGZvciBjb2x1bW4gJ2EnIGF0IHJvdyAxCitzZXQgQEBzcWxfbW9kZT1kZWZhdWx0Oworc2V0IGF1 dG9faW5jcmVtZW50X29mZnNldD1kZWZhdWx0Oworc2V0IGF1dG9faW5jcmVtZW50X2luY3JlbWVu dD1kZWZhdWx0OwogRFJPUCBUQUJMRSB0MSwgdDI7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwt dGVzdC9zdWl0ZS9mYWxjb24vdC9mYWxjb25fYnVncy50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1 aXRlL2ZhbGNvbi90L2ZhbGNvbl9idWdzLnRlc3QJMjAwNy0xMi0xOSAxODo1NTozNSArMDAwMAor KysgYi9teXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi90L2ZhbGNvbl9idWdzLnRlc3QJMjAwOC0xMC0w MiAyMTowNTozOSArMDAwMApAQCAtMTc3Miw1ICsxNzcyLDI2IEBAIHVwZGF0ZSB0MSwgdDIgc2V0 IHQxLmIgPSAxNTAsIHQyLmIgPSB0MS4KIHNlbGVjdCBjb3VudCgqKSBmcm9tIHQxIHdoZXJlIGIg PSAxNTA7CiBzZWxlY3QgY291bnQoKikgZnJvbSB0MiB3aGVyZSBiID0gMTUwOwogCisKKy0tZWNo byAjCistLWVjaG8gIyBCdWcgIzM2NDczIEFzc2VydGlvbiAiISBpc19zZXQoKSIgZmFpbHMgaW4K Ky0tZWNobyAjIERpYWdub3N0aWNzX2FyZWE6OnNldF9va19zdGF0dXMgd2l0aCBGYWxjb24KKy0t ZWNobyAjIEVuc3VyZSB0aGF0IHdlIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgdXBkYXRlX2F1 dG9faW5jcmVtZW50KCkuCistLWVjaG8gIworc2V0IEBAc3RvcmFnZV9lbmdpbmUgPSBmYWxjb247 CistLWRpc2FibGVfd2FybmluZ3MKK2Ryb3AgdGFibGUgaWYgZXhpc3RzIHQxOworLS1lbmFibGVf d2FybmluZ3MKKworY3JlYXRlIHRhYmxlIHQxIChhIHRpbnlpbnQoNCkgTk9UIE5VTEwgYXV0b19p bmNyZW1lbnQsIHByaW1hcnkga2V5IChhKSk7CitzZXQgQEBzcWxfbW9kZT0nc3RyaWN0X2FsbF90 YWJsZXMnOworc2V0IGF1dG9faW5jcmVtZW50X2luY3JlbWVudD0xMDAwOworc2V0IGF1dG9faW5j cmVtZW50X29mZnNldD03MDA7CistLWVycm9yIEVSX1dBUk5fREFUQV9PVVRfT0ZfUkFOR0UKK2lu c2VydCBpbnRvIHQxIHZhbHVlcyAobnVsbCk7CitzZXQgQEBzcWxfbW9kZT1kZWZhdWx0Oworc2V0 IGF1dG9faW5jcmVtZW50X29mZnNldD1kZWZhdWx0Oworc2V0IGF1dG9faW5jcmVtZW50X2luY3Jl bWVudD1kZWZhdWx0OworCiAjIEZpbmFsIGNsZWFudXAuCiBEUk9QIFRBQkxFIHQxLCB0MjsKCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi90L2ZhbGNvbl95ZWFyXzRk aWdpdC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi90L2ZhbGNvbl95ZWFyXzRk aWdpdC50ZXN0CTIwMDgtMTAtMjYgMDc6NTk6MDYgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9mYWxjb24vdC9mYWxjb25feWVhcl80ZGlnaXQudGVzdAkyMDA4LTEwLTI2IDA4OjQ1OjIyICsw MDAwCkBAIC00MjEsNCArNDIxLDQgQEAgU0VMRUNUIEVYVFJBQ1QoWUVBUiBGUk9NICcyMDA4LTA3 LTAyJyk7CiAjIC0tLSBGaW5hbCBjbGVhbnVwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLS0tICMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gIwogCi1EUk9QIFRBQkxFIHQxOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK K0RST1AgVEFCTEUgdDE7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L2JpbmxvZ19m b3JtYXRfYmFzaWMudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L2JpbmxvZ19mb3JtYXRfYmFzaWMu dGVzdAkyMDA4LTA0LTEwIDEzOjE0OjI4ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9iaW5sb2df Zm9ybWF0X2Jhc2ljLnRlc3QJMjAwOC0xMC0yMiAxNDowMDo0NSArMDAwMApAQCAtMjIsNiArMjIs MTMgQEAKICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAor IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworIyBCVUcjMzk4MTI6IE1ha2Ugc3RhdGVtZW50IHJlcGxpY2F0aW9uIGRlZmF1 bHQgZm9yIDUuMSAodG8gbWF0Y2ggNS4wKQorIyBXZSBqdXN0IHZlcmlmeSB0aGF0IHRoZSBkZWZh dWx0IGJpbmxvZ19mb3JtYXQgaXMgU1RBVEVNRU5UIGluIDUuMS4KKyMgSW4gNi4wLCBpdCBzaG91 bGQgYmUgTUlYRUQuCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitTRUxFQ1QgQEBHTE9CQUwuYmlubG9nX2Zvcm1hdDsK KwogLS1lY2hvICcjLS0tLS0tLS0tLS0tLS0tLS0tLS0tQlNfU1RWQVJTXzAwMl8wMS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0jJwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgICBEaXNwbGF5aW5nIGRlZmF1bHQgdmFs dWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC90L3BzLnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9wcy50ZXN0CTIw MDgtMDgtMDcgMTc6NTI6NDMgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L3BzLnRlc3QJMjAwOC0x MC0wOSAxMDo1ODo1MSArMDAwMApAQCAtMzE5NSw2ICszMTk1LDE1IEBAIFNFTEVDVCBAYTsKIERS T1AgUFJPQ0VEVVJFIHAxOwogRFJPUCBQUk9DRURVUkUgcDI7CiAKKyMKKyMgQWRkaXRpb25hbCBj bGVhbnVwLgorIworIyBEZWxldGUgZmlsZXMgd2hpY2ggd2VyZSBjcmVhdGVkIGJ5ICJzZWxlY3Qg Li4uIGludG8gb3V0ZmlsZSAuLi4iLgorIworCitsZXQgJGRhdGFkaXI9IGBzZWxlY3QgQEBkYXRh ZGlyYDsKKy0tcmVtb3ZlX2ZpbGUgJGRhdGFkaXIvdGVzdC9mMS50eHQKKwogLS1lY2hvCiAtLWVj aG8gIyBFbmQgb2YgV0wjNDQzNS4KIAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9w c18xZ2VuZXJhbC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvcHNfMWdlbmVyYWwudGVzdAkyMDA4 LTA1LTIxIDEwOjE3OjI5ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9wc18xZ2VuZXJhbC50ZXN0 CTIwMDgtMTAtMDkgMTA6NTg6NTEgKzAwMDAKQEAgLTQ0NSw2ICs0NDUsOCBAQCBwcmVwYXJlIHN0 bXQxIGZyb20gJyBsb2FkIGRhdGEgaW5maWxlICcnCiBpbnRvIHRhYmxlIHQxIGZpZWxkcyB0ZXJt aW5hdGVkIGJ5ICcnXHQnJyAnOwogcHJlcGFyZSBzdG10MSBmcm9tICcgc2VsZWN0ICogaW50byBv dXRmaWxlICcnZGF0YS50eHQnJyBmcm9tIHQxICc7CiBleGVjdXRlIHN0bXQxIDsKK2xldCAkZGF0 YWRpcj1gc2VsZWN0IEBAZGF0YWRpcmA7CistLXJlbW92ZV9maWxlICRkYXRhZGlyL3Rlc3QvZGF0 YS50eHQKICMjIAogcHJlcGFyZSBzdG10MSBmcm9tICcgb3B0aW1pemUgdGFibGUgdDEgJyA7CiBw cmVwYXJlIHN0bXQxIGZyb20gJyBhbmFseXplIHRhYmxlIHQxICcgOwoKPT09IG1vZGlmaWVkIGZp bGUgJ215c3FsLXRlc3QvdC9xdWVyeV9jYWNoZS50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvcXVl cnlfY2FjaGUudGVzdAkyMDA4LTA2LTE3IDIwOjA0OjE5ICswMDAwCisrKyBiL215c3FsLXRlc3Qv dC9xdWVyeV9jYWNoZS50ZXN0CTIwMDgtMTAtMDkgMTA6NTg6NTEgKzAwMDAKQEAgLTQyNyw2ICs0 MjcsOSBAQCBzZWxlY3QgKiBmcm9tIHQxIGludG8gb3V0ZmlsZSAicXVlcnlfY2FjCiBzZWxlY3Qg KiBmcm9tIHQxIGxpbWl0IDEgaW50byBkdW1wZmlsZSAicXVlcnlfY2FjaGUuZHVtcC5maWxlIjsK IHNob3cgc3RhdHVzIGxpa2UgIlFjYWNoZV9xdWVyaWVzX2luX2NhY2hlIjsKIGRyb3AgdGFibGUg dDE7CitsZXQgJGRhdGFkaXI9YHNlbGVjdCBAQGRhdGFkaXJgOworLS1yZW1vdmVfZmlsZSAkZGF0 YWRpci90ZXN0L3F1ZXJ5X2NhY2hlLmR1bXAuZmlsZQorLS1yZW1vdmVfZmlsZSAkZGF0YWRpci90 ZXN0L3F1ZXJ5X2NhY2hlLm91dC5maWxlCiAKICMKICMgdGVzdCBvZiBTUUxfU0VMRUNUX0xJTUlU Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L3NwLnRlc3QnCi0tLSBhL215c3FsLXRl c3QvdC9zcC50ZXN0CTIwMDgtMDktMjUgMTE6NDY6MTcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90 L3NwLnRlc3QJMjAwOC0xMC0xNiAxMjozOTozMCArMDAwMApAQCAtODIyMCwzICs4MjIwLDM1IEBA IGRyb3AgcHJvY2VkdXJlIHA7CiAtLWVjaG8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC0tZWNobyAjIC0tIEVuZCBv ZiA1LjEgdGVzdHMKIC0tZWNobyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjCisjIEJ1ZyMzOTI1NTogU3RvcmVk IHByb2NlZHVyZXM6IGNyYXNoIGlmIGZ1bmN0aW9uIHJlZmVyZW5jZXMgbm9uZXhpc3RlbnQgdGFi bGUKKyMKKworLS1kaXNhYmxlX3dhcm5pbmdzCitEUk9QIEZVTkNUSU9OIElGIEVYSVNUUyBmMTsK K0RST1AgVEFCTEUgSUYgRVhJU1RTIHRfbm9uX2V4aXN0aW5nOworRFJPUCBUQUJMRSBJRiBFWElT VFMgdDE7CistLWVuYWJsZV93YXJuaW5ncworCitkZWxpbWl0ZXIgfDsKK0NSRUFURSBGVU5DVElP TiBmMSgpIFJFVFVSTlMgSU5UCitCRUdJTgorICAgREVDTEFSRSB2IElOVDsKKyAgIFNFTEVDVCBh IElOVE8gdiBGUk9NIHRfbm9uX2V4aXN0aW5nOworICAgUkVUVVJOIDE7CitFTkR8CitkZWxpbWl0 ZXIgO3wKKworQ1JFQVRFIFRBQkxFIHQxIChhIElOVCkgRU5HSU5FID0gbXlpc2FtOworSU5TRVJU IElOVE8gdDEgVkFMVUVTICgxKTsKKworLS1lcnJvciBFUl9OT19TVUNIX1RBQkxFCitTRUxFQ1Qg KiBGUk9NIHQxIFdIRVJFIGEgPSBmMSgpOworCitEUk9QIEZVTkNUSU9OIGYxOworRFJPUCBUQUJM RSB0MTsKKworLS1lY2hvICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLWVjaG8gIyAtLSBFbmQgb2YgNi4wIHRlc3Rz CistLWVjaG8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3Qvc3Vi c2VsZWN0My50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3Qvc3Vic2VsZWN0My50ZXN0CTIwMDgtMDgt MjAgMDE6NTI6MjUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L3N1YnNlbGVjdDMudGVzdAkyMDA4 LTEwLTA5IDEwOjU4OjUxICswMDAwCkBAIC02MjksNiArNjI5LDggQEAgZGVsZXRlIGZyb20gdDE7 CiBsb2FkIGRhdGEgaW5maWxlICJzdWJzZWxlY3Qub3V0LmZpbGUuMSIgaW50byB0YWJsZSB0MTsK IHNlbGVjdCAqIGZyb20gdDE7CiBkcm9wIHRhYmxlIHQxOworbGV0ICRkYXRhZGlyPWBzZWxlY3Qg QEBkYXRhZGlyYDsKKy0tcmVtb3ZlX2ZpbGUgJGRhdGFkaXIvdGVzdC9zdWJzZWxlY3Qub3V0LmZp bGUuMQogCiAtLWVjaG8gRW5kIG9mIDUuMCB0ZXN0cwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlz eXMvbXlfbGFyZ2VwYWdlLmMnCi0tLSBhL215c3lzL215X2xhcmdlcGFnZS5jCTIwMDctMTAtMDIg MDc6MzI6MzMgKzAwMDAKKysrIGIvbXlzeXMvbXlfbGFyZ2VwYWdlLmMJMjAwOC0xMC0wOCAxOTo0 NDozNCArMDAwMApAQCAtMTI4LDcgKzEyOCw3IEBAIHVjaGFyKiBteV9sYXJnZV9tYWxsb2NfaW50 KHNpemVfdCBzaXplLCAKICAgewogICAgIGlmIChteV9mbGFncyAmIE1ZX1dNRSkKICAgICAgIGZw cmludGYoc3RkZXJyLAotICAgICAgICAgICAgICAiV2FybmluZzogRmFpbGVkIHRvIGFsbG9jYXRl ICVsdSBieXRlc3ggZnJvbSBIdWdlVExCIG1lbW9yeS4iCisgICAgICAgICAgICAgICJXYXJuaW5n OiBGYWlsZWQgdG8gYWxsb2NhdGUgJWx1IGJ5dGVzIGZyb20gSHVnZVRMQiBtZW1vcnkuIgogICAg ICAgICAgICAgICAiIGVycm5vICVkXG4iLCAodWxvbmcpIHNpemUsIGVycm5vKTsKIAogICAgIERC VUdfUkVUVVJOKE5VTEwpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NjcmlwdHMvbWFrZV93aW5fYmlu X2Rpc3QnCi0tLSBhL3NjcmlwdHMvbWFrZV93aW5fYmluX2Rpc3QJMjAwOC0wOC0yNSAxNzoyOTo1 MyArMDAwMAorKysgYi9zY3JpcHRzL21ha2Vfd2luX2Jpbl9kaXN0CTIwMDgtMTAtMjEgMTU6NDU6 NDYgKzAwMDAKQEAgLTE0NSw2ICsxNDUsNyBAQCBta2RpciAkREVTVERJUgogbWtkaXIgJERFU1RE SVIvYmluCiBjcCBjbGllbnQvJFRBUkdFVC8qLmV4ZSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAkREVTVERJUi9iaW4vCiBjcCBleHRyYS8kVEFSR0VULyouZXhlICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAkREVTVERJUi9iaW4vCitjcCBzdG9yYWdlL21hcmlhLyRU QVJHRVQvKi5leGUgICAgICAgICAgICAgICAgICAgICAgICAgICAkREVTVERJUi9iaW4vIHx8IHRy dWUKIGNwIHN0b3JhZ2UvbXlpc2FtLyRUQVJHRVQvKi5leGUgICAgICAgICAgICAgICAgICAgICAg ICAgICRERVNURElSL2Jpbi8KICMgTWFyaWEgZW5naW5lIGlzIG9wdGlvbmFsLCBzbyBjbGllbnRz IG1pZ2h0IG5vdCBleGlzdAogaWYgbHMgc3RvcmFnZS9tYXJpYS8kVEFSR0VULyouZXhlID4gL2Rl di9udWxsIDI+JjE7IHRoZW4KCj09PSBtb2RpZmllZCBmaWxlICdzcWwtY29tbW9uL2NsaWVudC5j JwotLS0gYS9zcWwtY29tbW9uL2NsaWVudC5jCTIwMDgtMDUtMDggMTY6MDE6MTUgKzAwMDAKKysr IGIvc3FsLWNvbW1vbi9jbGllbnQuYwkyMDA4LTEwLTE3IDEyOjM5OjM0ICswMDAwCkBAIC0xODM2 LDYgKzE4MzYsMTMgQEAgQ0xJX01ZU1FMX1JFQUxfQ09OTkVDVChNWVNRTCAqbXlzcWwsY29ucwog CQkgICAgICBkYiA/IGRiIDogIihOdWxsKSIsCiAJCSAgICAgIHVzZXIgPyB1c2VyIDogIihOdWxs KSIpKTsKIAorICAvKiBUZXN0IHdoZXRoZXIgd2UncmUgYWxyZWFkeSBjb25uZWN0ZWQgKi8KKyAg aWYgKG5ldC0+dmlvKQorICB7CisgICAgc2V0X215c3FsX2Vycm9yKG15c3FsLCBDUl9BTFJFQURZ X0NPTk5FQ1RFRCwgdW5rbm93bl9zcWxzdGF0ZSk7CisgICAgREJVR19SRVRVUk4oMCk7CisgIH0K KwogICAvKiBEb24ndCBnaXZlIHNpZ3BpcGUgZXJyb3JzIGlmIHRoZSBjbGllbnQgZG9lc24ndCB3 YW50IHRoZW0gKi8KICAgc2V0X3NpZ3BpcGUobXlzcWwpOwogICBteXNxbC0+bWV0aG9kcz0gJmNs aWVudF9tZXRob2RzOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9NYWtlZmlsZS5hbScKLS0tIGEv c3FsL01ha2VmaWxlLmFtCTIwMDgtMTAtMDEgMTI6MDk6MjYgKzAwMDAKKysrIGIvc3FsL01ha2Vm aWxlLmFtCTIwMDgtMTAtMTAgMTY6MjM6MzAgKzAwMDAKQEAgLTMxLDEwICszMSwxOSBAQCBFWFRS QV9QUk9HUkFNUyA9CWdlbl9sZXhfaGFzaAogYmluX1BST0dSQU1TID0JCW15c3FsX3R6aW5mb190 b19zcWwKIERUUkFDRSA9ICAgICAgICAgICAgICAgIEBEVFJBQ0VACiBEVFJBQ0VGTEFHUyA9ICAg ICAgICAgICBARFRSQUNFRkxBR1NACi1EVFJBQ0VGSUxFUyA9ICAgICAgICAgICBoYW5kbGVyLm8g XAotCQkJZmlsZXNvcnQubyBcCi0JCQlzcWxfaW5zZXJ0Lm8gXAorRFRSQUNFRklMRVMgPSAgICAg ICAgICAgZmlsZXNvcnQubyBcCisJCQloYW5kbGVyLm8gXAorCQkJbXlzcWxkLm8gXAorCQkJbmV0 X3NlcnYubyBcCisJCQlzY2hlZHVsZXIubyBcCisJCQlzcF9oZWFkLm8gXAorCQkJc3FsX2NhY2hl Lm8gXAorCQkJc3FsX2Nvbm5lY3QubyBcCisJCQlzcWxfY3Vyc29yLm8gXAogCQkJc3FsX2RlbGV0 ZS5vIFwKKwkJCXNxbF9pbnNlcnQubyBcCisJCQlzcWxfcGFyc2UubyBcCisJCQlzcWxfcHJlcGFy ZS5vIFwKIAkJCXNxbF9zZWxlY3QubyBcCiAJCQlzcWxfdXBkYXRlLm8KIApAQCAtMjE4LDggKzIy NywxMCBAQCBpbnN0YWxsLWV4ZWMtaG9vazoKIAogU1VGRklYRVMgOiAuZAogCi0uZC5vIDogJChE VFJBQ0VGSUxFUykKKy5kLm8gOgogCSQoRFRSQUNFKSAkKERUUkFDRUZMQUdTKSAtRyAtcyAkPCAk KERUUkFDRUZJTEVTKQogCitwcm9iZXMubyA6ICQoRFRSQUNFRklMRVMpCisKICMgRG9uJ3QgdXBk YXRlIHRoZSBmaWxlcyBmcm9tIGJpdGtlZXBlcgogJTo6U0NDUy9zLiUKCj09PSBtb2RpZmllZCBm aWxlICdzcWwvYmFja3VwL2JhY2t1cF9pbmZvLmNjJwotLS0gYS9zcWwvYmFja3VwL2JhY2t1cF9p bmZvLmNjCTIwMDgtMDgtMjAgMTM6MjM6MTAgKzAwMDAKKysrIGIvc3FsL2JhY2t1cC9iYWNrdXBf aW5mby5jYwkyMDA4LTEwLTIxIDE1OjQ1OjQ2ICswMDAwCkBAIC01OTMsNyArNTkzLDcgQEAgaW50 IEJhY2t1cF9pbmZvOjphZGRfYWxsX2RicygpCiAgIHVzaW5nIG5hbWVzcGFjZSBvYnM7CiAKICAg aW50IHJlcz0gMDsKLSAgT2JqSXRlcmF0b3IgKmRiaXQ9IGdldF9kYXRhYmFzZXMobV9jdHgubV90 aGQpOworICBPYmpfaXRlcmF0b3IgKmRiaXQ9IGdldF9kYXRhYmFzZXMobV9jdHgubV90aGQpOwog ICAKICAgaWYgKCFkYml0KQogICB7CkBAIC02NTUsNyArNjU1LDcgQEAgaW50IEJhY2t1cF9pbmZv OjphZGRfYWxsX2RicygpCiAKICAgQHJldHVybnMgMCBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG90 aGVyd2lzZS4KICAqLwotaW50IEJhY2t1cF9pbmZvOjphZGRfb2JqZWN0cyhEYiAmZGIsIGNvbnN0 IG9ial90eXBlIHR5cGUsIG9iczo6T2JqSXRlcmF0b3IgJml0KQoraW50IEJhY2t1cF9pbmZvOjph ZGRfb2JqZWN0cyhEYiAmZGIsIGNvbnN0IG9ial90eXBlIHR5cGUsIG9iczo6T2JqX2l0ZXJhdG9y ICZpdCkKIHsKICAgb2JzOjpPYmogKm9iajsKICAgCkBAIC02ODAsNyArNjgwLDcgQEAgaW50IEJh Y2t1cF9pbmZvOjphZGRfZGJfaXRlbXMoRGIgJmRiKQogCiAgIC8vIEFkZCB0YWJsZXMuCiAKLSAg T2JqSXRlcmF0b3IgKml0PSBnZXRfZGJfdGFibGVzKG1fY3R4Lm1fdGhkLCAmZGIubmFtZSgpKTsg CisgIE9ial9pdGVyYXRvciAqaXQ9IGdldF9kYl90YWJsZXMobV9jdHgubV90aGQsICZkYi5uYW1l KCkpOwogCiAgIGlmICghaXQpCiAgIHsKQEAgLTkyMiw3ICs5MjIsNyBAQCBpbnQgQmFja3VwX2lu Zm86OmFkZF92aWV3X2RlcHMob2JzOjpPYmogCiAgIAogICAvLyBHZXQgYW4gaXRlcmF0b3IgdG8g aXRlcmF0ZSBvdmVyIGJhc2Ugdmlld3Mgb2YgdGhlIGdpdmVuIG9uZS4KIAotICBvYnM6Ok9iakl0 ZXJhdG9yICppdD0gb2JzOjpnZXRfdmlld19iYXNlX3ZpZXdzKG1fY3R4Lm1fdGhkLCBkYl9uYW1l LCBuYW1lKTsKKyAgb2JzOjpPYmpfaXRlcmF0b3IgKml0PSBvYnM6OmdldF92aWV3X2Jhc2Vfdmll d3MobV9jdHgubV90aGQsIGRiX25hbWUsIG5hbWUpOwogCiAgIGlmICghaXQpCiAgICAgcmV0dXJu IEVSUk9SOwpAQCAtMTI4NSw3ICsxMjg1LDcgQEAgaW50IEJhY2t1cF9pbmZvOjphZGRfdG9fZGVw X2xpc3QoY29uc3QgbwogICBDdXJyZW50bHkgb25seSBnbG9iYWwgb2JqZWN0cyBoYW5kbGVkIGFy ZSB0YWJsZXNwYWNlcyBhbmQgZGF0YWJhc2VzLgogICovCiBjbGFzcyBCYWNrdXBfaW5mbzo6R2xv YmFsX2l0ZXJhdG9yCi0gOiBwdWJsaWMgSW1hZ2VfaW5mbzo6SXRlcmF0b3IKKyA6IHB1YmxpYyBi YWNrdXA6OkltYWdlX2luZm86Okl0ZXJhdG9yCiB7CiAgIC8qKgogICAgIEluZGljYXRlcyB3aGV0 aGVyIHRhYmxlc3BhY2VzIG9yIGRhdGFiYXNlcyBhcmUgYmVpbmcgY3VycmVudGx5IGVudW1lcmF0 ZWQuCkBAIC0xMzczLDcgKzEzNzMsNyBAQCBCYWNrdXBfaW5mbzo6R2xvYmFsX2l0ZXJhdG9yOjpu ZXh0KCkKICAgVGhpcyBpdGVyYXRvciB1c2VzIHRoZSBkZXBlbmRlbmN5IGxpc3QgbWFpbnRhaW5l ZCBpbnNpZGUgQmFja3VwX2luZm8KICAgaW5zdGFuY2UgdG8gbGlzdCBvYmplY3RzIGluIGEgZGVw ZW5kZW5jeS1yZXNwZWN0aW5nIG9yZGVyLgogICovIAotY2xhc3MgQmFja3VwX2luZm86OlBlcmRi X2l0ZXJhdG9yIDogcHVibGljIEltYWdlX2luZm86Okl0ZXJhdG9yCitjbGFzcyBCYWNrdXBfaW5m bzo6UGVyZGJfaXRlcmF0b3IgOiBwdWJsaWMgYmFja3VwOjpJbWFnZV9pbmZvOjpJdGVyYXRvcgog ewogICBEZXBfbm9kZSAqcHRyOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2JhY2t1cC9iYWNr dXBfaW5mby5oJwotLS0gYS9zcWwvYmFja3VwL2JhY2t1cF9pbmZvLmgJMjAwOC0wOC0yMCAxMzoy MzoxMCArMDAwMAorKysgYi9zcWwvYmFja3VwL2JhY2t1cF9pbmZvLmgJMjAwOC0xMC0xNyAxMToy ODoyNSArMDAwMApAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBCYWNrdXBfaW5mbzogcHVibGljIGJh Y2t1cDo6SW1hZ2VfCiAgIFRhYmxlKiBhZGRfdGFibGUoRGImLCBvYnM6Ok9iaiopOwogCiAgIGlu dCBhZGRfZGJfaXRlbXMoRGImKTsKLSAgaW50IGFkZF9vYmplY3RzKERiJiwgY29uc3Qgb2JqX3R5 cGUsIG9iczo6T2JqSXRlcmF0b3ImKTsKKyAgaW50IGFkZF9vYmplY3RzKERiJiwgY29uc3Qgb2Jq X3R5cGUsIG9iczo6T2JqX2l0ZXJhdG9yJik7CiAgIGludCBhZGRfdmlld19kZXBzKG9iczo6T2Jq Jik7CiAKICAgc3RydWN0IERlcF9ub2RlOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9iYWNrdXAv YmFja3VwX2tlcm5lbC5oJwotLS0gYS9zcWwvYmFja3VwL2JhY2t1cF9rZXJuZWwuaAkyMDA4LTA5 LTAyIDA5OjA0OjM5ICswMDAwCisrKyBiL3NxbC9iYWNrdXAvYmFja3VwX2tlcm5lbC5oCTIwMDgt MTAtMDggMTA6NTQ6MTkgKzAwMDAKQEAgLTg3LDYgKzg3LDExIEBAIGNsYXNzIEJhY2t1cF9yZXN0 b3JlX2N0eDogcHVibGljIGJhY2t1cDoKICAgICAgIG9uZ29pbmcgYmFja3VwL3Jlc3RvcmUgb3Bl cmF0aW9uLiAgSWYgcG9pbnRlciBpcyBudWxsLCBubwogICAgICAgb3BlcmF0aW9uIGlzIGN1cnJl bnRseSBydW5uaW5nLiAqLwogICBzdGF0aWMgQmFja3VwX3Jlc3RvcmVfY3R4ICpjdXJyZW50X29w OworICAvKioKKyAgICAgSW5kaWNhdGVzIGlmIEBjIHJ1bl9sb2NrIG11dGV4IHdhcyBpbml0aWFs aXplZCBhbmQgdGh1cyBpdCBzaG91bGQKKyAgICAgYmUgcHJvcGVybHkgZGVzdHJveWVkIGR1cmlu ZyBzaHV0ZG93bi4gQHNhIGJhY2t1cF9zaHV0ZG93bigpLgorICAgKi8KKyAgc3RhdGljIGJvb2wg cnVuX2xvY2tfaW5pdGlhbGl6ZWQ7CiAgIHN0YXRpYyBwdGhyZWFkX211dGV4X3QgIHJ1bl9sb2Nr OyAvLy88IFRvIGd1YXJkIEBjIGN1cnJlbnRfb3AuCiAKICAgLyoqIAoKPT09IG1vZGlmaWVkIGZp bGUgJ3NxbC9iYWNrdXAvYmFja3VwX3Rlc3QuY2MnCi0tLSBhL3NxbC9iYWNrdXAvYmFja3VwX3Rl c3QuY2MJMjAwOC0wOS0wNSAxNDoxNjowNyArMDAwMAorKysgYi9zcWwvYmFja3VwL2JhY2t1cF90 ZXN0LmNjCTIwMDgtMTAtMTcgMTE6Mjg6MjUgKzAwMDAKQEAgLTQ0LDcgKzQ0LDcgQEAgaW50IGV4 ZWN1dGVfYmFja3VwX3Rlc3RfY29tbWFuZChUSEQgKnRoZAogICBmaWVsZF9saXN0LnB1c2hfYmFj ayhuZXcgSXRlbV9lbXB0eV9zdHJpbmcoInNlcmlhbGl6YXRpb24iLCAxMykpOwogICBwcm90b2Nv bC0+c2VuZF9yZXN1bHRfc2V0X21ldGFkYXRhKCZmaWVsZF9saXN0LCBQcm90b2NvbDo6U0VORF9O VU1fUk9XUyB8IFByb3RvY29sOjpTRU5EX0VPRik7CiAKLSAgLy9vYnM6Ok9iakl0ZXJhdG9yICpp dD0gb2JzOjpnZXRfZGF0YWJhc2VzKHRoZCk7CisgIC8vb2JzOjpPYmpfaXRlcmF0b3IgKml0PSBv YnM6OmdldF9kYXRhYmFzZXModGhkKTsKICAgTGlzdF9pdGVyYXRvcjxMRVhfU1RSSU5HPiBpdCgq ZGJfbGlzdCk7CiAgIAogICAvL2lmIChpdCkKQEAgLTY4LDcgKzY4LDcgQEAgaW50IGV4ZWN1dGVf YmFja3VwX3Rlc3RfY29tbWFuZChUSEQgKnRoZAogICAgICAgLy8gTGlzdCB0YWJsZXMuLgogICAg ICAgLy8KIAotICAgICAgb2JzOjpPYmpJdGVyYXRvciAqdGl0PSBvYnM6OmdldF9kYl90YWJsZXMo dGhkLCBkYi0+Z2V0X25hbWUoKSk7CisgICAgICBvYnM6Ok9ial9pdGVyYXRvciAqdGl0PSBvYnM6 OmdldF9kYl90YWJsZXModGhkLCBkYi0+Z2V0X25hbWUoKSk7CiAKICAgICAgIGlmICh0aXQpCiAg ICAgICB7CkBAIC0yNTAsNyArMjUwLDcgQEAgaW50IGV4ZWN1dGVfYmFja3VwX3Rlc3RfY29tbWFu ZChUSEQgKnRoZAogICAgICAgICAgIFN0cmluZyB1c2VyOwogICAgICAgICAgIFN0cmluZyBob3N0 OwogICAgICAgICAgIFN0cmluZyAqdXNlcl9ob3N0PSAoU3RyaW5nICopZ3JhbnQtPmdldF9uYW1l KCk7Ci0gICAgICAgICAgdXNlcl9leGlzdHModGhkLCB1c2VyX2hvc3QpOworICAgICAgICAgIGNo ZWNrX3VzZXJfZXhpc3RlbmNlKHRoZCwgdXNlcl9ob3N0KTsKICAgICAgICAgICBwcm90b2NvbC0+ c3RvcmUoQ19TVFJJTkdfV0lUSF9MRU4oIkdSQU5UIiksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN5c3RlbV9jaGFyc2V0X2luZm8pOwogICAgICAgICAgIGdyYW50LT5zZXJpYWxpemUodGhk LCAmc2VyaWFsKTsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvYmFja3VwL2RhdGFfYmFja3VwLmNj JwotLS0gYS9zcWwvYmFja3VwL2RhdGFfYmFja3VwLmNjCTIwMDgtMDktMDIgMDc6NDQ6MjggKzAw MDAKKysrIGIvc3FsL2JhY2t1cC9kYXRhX2JhY2t1cC5jYwkyMDA4LTA5LTMwIDA3OjUxOjQ4ICsw MDAwCkBAIC02MjMsNyArNjIzLDcgQEAgaW50IHdyaXRlX3RhYmxlX2RhdGEoVEhEKiB0aGQsIEJh Y2t1cF9pbgogICAgIC8vIFJlcG9ydCBhbmQgc2F2ZSBpbmZvcm1hdGlvbiBhYm91dCBWUAogCiAg ICAgaW5mby5zYXZlX3ZwX3RpbWUodnBfdGltZSk7Ci0gICAgaW5mby5tX2N0eC5yZXBvcnRfdnBf dGltZSh2cF90aW1lKTsKKyAgICBpbmZvLm1fY3R4LnJlcG9ydF92cF90aW1lKHZwX3RpbWUsIFRS VUUpOyAvLyBUUlVFID0gYWxzbyB3cml0ZSB0byBwcm9ncmVzcyBsb2cKIAogICAgIGlmIChteXNx bF9iaW5fbG9nLmlzX29wZW4oKSkKICAgICB7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2JhY2t1 cC9lcnJvci5oJwotLS0gYS9zcWwvYmFja3VwL2Vycm9yLmgJMjAwOC0wNC0wOCAxNTozMjo0NyAr MDAwMAorKysgYi9zcWwvYmFja3VwL2Vycm9yLmgJMjAwOC0xMC0wMyAxNDoxNTo0MCArMDAwMApA QCAtMyw2ICszLDE0IEBACiAKIG5hbWVzcGFjZSB1dGlsIHsKIAorLy8vIFVzZWQgdG8gc2F2ZSBt ZXNzYWdlcyBwdXNoZWQgaW50byB0aGUgc3RhY2sKK3N0cnVjdCBTQVZFRF9NWVNRTF9FUlJPUiB7 CisgIHVpbnQgY29kZTsKKyAgTVlTUUxfRVJST1I6OmVudW1fd2FybmluZ19sZXZlbCBsZXZlbDsK KyAgY2hhciAqbXNnOworfTsKKworCiAvKioKICAgUmVwb3J0IGVycm9yIHN0b3JlZCBpbiBNWVNR TF9FUlJPUiBzdHJ1Y3R1cmUgdG8gYSBjbGllbnQuCiAKQEAgLTExLDcgKzE5LDcgQEAgbmFtZXNw YWNlIHV0aWwgewogICBAcmV0dXJucyAwIGlmIGVycm9yIHdhcyByZXBvcnRlZCwgbm9uLXplcm8g b3RoZXJ3aXNlLgogICovCiBpbmxpbmUKLWludCByZXBvcnRfbXlzcWxfZXJyb3IoVEhEKiB0aGQs IE1ZU1FMX0VSUk9SICplcnIsIGludCBjb2RlPSAwKQoraW50IHJlcG9ydF9teXNxbF9lcnJvcihU SEQqIHRoZCwgU0FWRURfTVlTUUxfRVJST1IgKmVyciwgaW50IGNvZGU9IDApCiB7CiAgIERCVUdf QVNTRVJUKGVycik7CiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvYmFja3VwL2ltYWdlX2luZm8u aCcKLS0tIGEvc3FsL2JhY2t1cC9pbWFnZV9pbmZvLmgJMjAwOC0wOS0xNSAxMjoyNzozMiArMDAw MAorKysgYi9zcWwvYmFja3VwL2ltYWdlX2luZm8uaAkyMDA4LTEwLTAxIDE1OjE5OjUzICswMDAw CkBAIC0xMjAsNiArMTIwLDggQEAgcHVibGljOiAvLyBwdWJsaWMgaW50ZXJmYWNlCiAKICAgIHZv aWQgc2F2ZV9iaW5sb2dfcG9zKGNvbnN0IDo6TE9HX0lORk8mKTsKIAorICAgdGltZV90IGdldF92 cF90aW1lKCkgY29uc3Q7CisKICBwcm90ZWN0ZWQ6IC8vIGludGVybmFsIGludGVyZmFjZQogICAK ICAgLy8gUG9wdWxhdGUgdGhlIGNhdGFsb2d1ZQpAQCAtNzQxLDYgKzc0MywzMiBAQCBJbWFnZV9p bmZvOjpUcyogSW1hZ2VfaW5mbzo6Z2V0X3RzKHVpbnQgCiAgIHJldHVybiBtX3RzX21hcFtwb3Nd OwogfQogCitpbmxpbmUKK3RpbWVfdCBJbWFnZV9pbmZvOjpnZXRfdnBfdGltZSgpIGNvbnN0Cit7 CisgIHN0cnVjdCB0bSB0aW1lOworICB0aW1lX3QgdHpfb2Zmc2V0OworCisgIGJ6ZXJvKCZ0aW1l LHNpemVvZih0aW1lKSk7CisKKyAgLy8gRGV0ZXJtaW5lIHN5c3RlbSB0aW1lem9uZSBvZmZzZXQg YnkgY2FsY3VsYXRpbmcgb2Zmc2V0IG9mIHRoZSBFcG9jaCBkYXRlLgorICB0aW1lLnRtX3llYXI9 NzA7CisgIHRpbWUudG1fbWRheT0xOworICB0el9vZmZzZXQ9IG1rdGltZSgmdGltZSk7CisKKyAg dGltZS50bV95ZWFyPSB2cF90aW1lLnllYXI7CisgIHRpbWUudG1fbW9uPSB2cF90aW1lLm1vbjsK KyAgdGltZS50bV9tZGF5PSB2cF90aW1lLm1kYXk7CisgIHRpbWUudG1faG91cj0gdnBfdGltZS5o b3VyOworICB0aW1lLnRtX21pbj0gdnBfdGltZS5taW47CisgIHRpbWUudG1fc2VjPSB2cF90aW1l LnNlYzsgIAorCisgIC8qCisgICAgTm90ZTogbWt0aW1lKCkgYXNzdW1lcyB0aGF0IHRpbWUgaXMg ZXhwcmVzc2VkIGFzIGxvY2FsIHRpbWUgYW5kIHZwX3RpbWUgaXMKKyAgICBpbiBVVEMuIEhlbmNl IHdlIG11c3QgY29ycmVjdCB0aGUgcmVzdWx0IHRvIGdldCBpdCByaWdodC4KKyAgICovIAorICBy ZXR1cm4gbWt0aW1lKCZ0aW1lKSAtIHR6X29mZnNldDsKK30KIAogLyoqCiAgIFNhdmUgdGltZSBp bnNpZGUgYSBAYyBic3RyZWFtX3RpbWVfdCBzdHJ1Y3R1cmUgKGhlbHBlciBmdW5jdGlvbikuCgo9 PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2JhY2t1cC9rZXJuZWwuY2MnCi0tLSBhL3NxbC9iYWNrdXAv a2VybmVsLmNjCTIwMDgtMDktMTkgMDk6NTU6MjEgKzAwMDAKKysrIGIvc3FsL2JhY2t1cC9rZXJu ZWwuY2MJMjAwOC0xMC0xOCAwNzo1NzozOCArMDAwMApAQCAtOTUsNiArOTUsNyBAQAogaW50IGJh Y2t1cF9pbml0KCkKIHsKICAgcHRocmVhZF9tdXRleF9pbml0KCZCYWNrdXBfcmVzdG9yZV9jdHg6 OnJ1bl9sb2NrLCBNWV9NVVRFWF9JTklUX0ZBU1QpOworICBCYWNrdXBfcmVzdG9yZV9jdHg6OnJ1 bl9sb2NrX2luaXRpYWxpemVkPSBUUlVFOwogICByZXR1cm4gMDsKIH0KIApAQCAtMTAzLDEwICsx MDQsMTggQEAgaW50IGJhY2t1cF9pbml0KCkKICAgCiAgIEBub3RlIFRoaXMgZnVuY3Rpb24gaXMg Y2FsbGVkIGluIHRoZSBzZXJ2ZXIgc2h1dC1kb3duIHNlcXVlbmNlcywganVzdCBiZWZvcmUKICAg aXQgc2h1dHMtZG93biBhbGwgaXRzIHBsdWdpbnMuCisKKyAgQG5vdGUgRHVlIHRvIHdheSBpbiB3 aGljaCBzZXJ2ZXIncyBjb2RlIGlzIG9yZ2FuaXplZCB0aGlzIGZ1bmN0aW9uIG1pZ2h0IGJlCisg IGNhbGxlZCBhbmQgc2hvdWxkIHdvcmsgbm9ybWFsbHkgZXZlbiBpbiBzaXR1YXRpb24gd2hlbiBi YWNrdXBfaW5pdCgpIHdhcyBub3QKKyAgY2FsbGVkIGF0IGFsbC4KICAqLwogdm9pZCBiYWNrdXBf c2h1dGRvd24oKQogewotICBwdGhyZWFkX211dGV4X2Rlc3Ryb3koJkJhY2t1cF9yZXN0b3JlX2N0 eDo6cnVuX2xvY2spOworICBpZiAoQmFja3VwX3Jlc3RvcmVfY3R4OjpydW5fbG9ja19pbml0aWFs aXplZCkKKyAgeworICAgIHB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmQmFja3VwX3Jlc3RvcmVfY3R4 OjpydW5fbG9jayk7CisgICAgQmFja3VwX3Jlc3RvcmVfY3R4OjpydW5fbG9ja19pbml0aWFsaXpl ZD0gRkFMU0U7CisgIH0KIH0KIAogLyoKQEAgLTEyNiw2ICsxMzUsMTAgQEAgc3RhdGljIGludCBz ZW5kX3JlcGx5KEJhY2t1cF9yZXN0b3JlX2N0eAogCiAgIEBub3RlIFRoaXMgZnVuY3Rpb24gc2Vu ZHMgcmVzcG9uc2UgdG8gdGhlIGNsaWVudCAob2ssIHJlc3VsdCBzZXQgb3IgZXJyb3IpLgogCisg IEBub3RlIEJvdGggQkFDS1VQIGFuZCBSRVNUT1JFIHNob3VsZCBwZXJmb3JtIGltcGxpY2l0IGNv bW1pdCBhdCB0aGUgYmVnaW5uaW5nCisgIGFuZCBhdCB0aGUgZW5kIG9mIGV4ZWN1dGlvbi4gVGhp cyBpcyBkb25lIGJ5IHRoZSBwYXJzZXIgYWZ0ZXIgbWFya2luZyB0aGVzZQorICBjb21tYW5kcyB3 aXRoIGFwcHJvcHJpYXRlIGZsYWdzIGluIEBjIHNxbF9jb21tYW5kX2ZsYWdzW10gaW4gc3FsX3Bh cnNlLmNjLgorCiAgIEByZXR1cm5zIDAgb24gc3VjY2VzcywgZXJyb3IgY29kZSBvdGhlcndpc2Uu CiAgKi8KIApAQCAtMjU0LDcgKzI2Nyw3IEBAIGV4ZWN1dGVfYmFja3VwX2NvbW1hbmQoVEhEICp0 aGQsIExFWCAqbGUKICAqLwogaW50IHNlbmRfZXJyb3IoQmFja3VwX3Jlc3RvcmVfY3R4ICZsb2cs IGludCBlcnJvcl9jb2RlLCAuLi4pCiB7Ci0gIE1ZU1FMX0VSUk9SICplcnJvcj0gbG9nLmxhc3Rf c2F2ZWRfZXJyb3IoKTsKKyAgdXRpbDo6U0FWRURfTVlTUUxfRVJST1IgKmVycm9yPSBsb2cubGFz dF9zYXZlZF9lcnJvcigpOwogCiAgIGlmIChlcnJvciAmJiAhdXRpbDo6cmVwb3J0X215c3FsX2Vy cm9yKGxvZy50aGQoKSwgZXJyb3IsIGVycm9yX2NvZGUpKQogICB7CkBAIC0zNjIsNiArMzc1LDcg QEAgY2xhc3MgTWVtX2FsbG9jYXRvcgogLy8gc3RhdGljIG1lbWJlcnMKIAogQmFja3VwX3Jlc3Rv cmVfY3R4ICpCYWNrdXBfcmVzdG9yZV9jdHg6OmN1cnJlbnRfb3A9IE5VTEw7Citib29sIEJhY2t1 cF9yZXN0b3JlX2N0eDo6cnVuX2xvY2tfaW5pdGlhbGl6ZWQ9IEZBTFNFOwogcHRocmVhZF9tdXRl eF90IEJhY2t1cF9yZXN0b3JlX2N0eDo6cnVuX2xvY2s7CiAKIApAQCAtNTczLDYgKzU4NywyMSBA QCBCYWNrdXBfcmVzdG9yZV9jdHg6OnByZXBhcmVfZm9yX2JhY2t1cChTCiAgIGlmICghaW5mby0+ aXNfdmFsaWQoKSkKICAgICByZXR1cm4gTlVMTDsKIAorICAvKgorICAgIElmIGJpbmxvZyBpcyBl bmFibGVkLCBzZXQgQlNUUkVBTV9GTEFHX0JJTkxPRyBpbiB0aGUgaGVhZGVyIHRvIGluZGljYXRl CisgICAgdGhhdCB2YWxpZGl0eSBwb2ludCdzIGJpbmxvZyBwb3NpdGlvbiB3aWxsIGJlIHN0b3Jl ZCBpbiB0aGUgaW1hZ2UgCisgICAgKGluIGl0cyBzdW1tYXJ5IHNlY3Rpb24pLgorICAgIAorICAg IFRoaXMgaXMgbm90IGNvbXBsZXRlbHkgc2FmZSBiZWNhdXNlIHRoZW9yZXRpY2FsbHkgZXZlbiBp ZiBub3cgYmlubG9nIGlzIAorICAgIGFjdGl2ZSwgaXQgY2FuIGJlIGRpc2FibGVkIGJlZm9yZSB3 ZSByZWFjaCB0aGUgdmFsaWRpdHkgcG9pbnQgYW5kIHRoZW4gd2UgCisgICAgd2lsbCBub3Qgc3Rv cmUgYmlubG9nIHBvc2l0aW9uIGV2ZW4gdGhvdWdoIHRoZSBmbGFnIGlzIHNldC4gVG8gZml4IHRo aXMgCisgICAgcHJvYmxlbSB0aGUgZm9ybWF0IG9mIGJhY2t1cCBpbWFnZSBtdXN0IGJlIGNoYW5n ZWQgKHNvbWUgZmxhZ3MgbXVzdCBiZSAKKyAgICBzdG9yZWQgaW4gdGhlIHN1bW1hcnkgc2VjdGlv biB3aGljaCBpcyB3cml0dGVuIGF0IHRoZSBlbmQgb2YgYmFja3VwIAorICAgIG9wZXJhdGlvbiku CisgICovCisgIGlmIChteXNxbF9iaW5fbG9nLmlzX29wZW4oKSkKKyAgICBpbmZvLT5mbGFnc3w9 IEJTVFJFQU1fRkxBR19CSU5MT0c7IAorCiAgIGluZm8tPnNhdmVfc3RhcnRfdGltZSh3aGVuKTsK ICAgbV9jYXRhbG9nPSBpbmZvOwogICBtX3N0YXRlPSBQUkVQQVJFRF9GT1JfQkFDS1VQOwpAQCAt NzkxLDE3ICs4MjAsNiBAQCBpbnQgQmFja3VwX3Jlc3RvcmVfY3R4OjpjbG9zZSgpCiAKICAgdGlt ZV90IHdoZW49IG15X3RpbWUoMCk7CiAKLSAgLy8gSWYgYXV0byBjb21taXQgaXMgdHVybmVkIG9m ZiwgYmUgc3VyZSB0byBjb21taXQgdGhlIHRyYW5zYWN0aW9uCi0gIC8qIAotICAgIE5vdGU6IHRo aXMgY29kZSBuZWVkcyB0byBiZSByZWZhY3RvcmVkIChzZWUgQlVHIzM4MjYxKS4gV2hlbiByZWZh Y3RvcmluZwotICAgIG1ha2Ugc3VyZSB0aGF0IGVycm9ycyBhcmUgZGV0ZWN0ZWQgYW5kIHJlcG9y dGVkLgotICAqLwotICBpZiAobV90aGQtPm9wdGlvbnMgJiAoT1BUSU9OX05PVF9BVVRPQ09NTUlU IHwgT1BUSU9OX0JFR0lOKSkKLSAgewotICAgIHRyYW5zX2NvbW1pdF9zdG10KG1fdGhkKTsKLSAg ICB0cmFuc19jb21taXRfaW1wbGljaXQobV90aGQpOwotICB9Ci0KICAgLy8gdW5sb2NrIHRhYmxl cyBpZiB0aGV5IGFyZSBzdGlsbCBsb2NrZWQKIAogICAvLyBGSVhNRTogZGV0ZWN0IGVycm9ycyBp ZiByZXBvcnRlZC4KQEAgLTgyNywxOCArODQ1LDYgQEAgaW50IEJhY2t1cF9yZXN0b3JlX2N0eDo6 Y2xvc2UoKQogICBpZiAobV9jYXRhbG9nKQogICAgIG1fY2F0YWxvZy0+c2F2ZV9lbmRfdGltZSh3 aGVuKTsgLy8gTm90ZTogbm8gZXJyb3JzLgogCi0gIC8vIGRlc3Ryb3kgYmFja3VwIHN0cmVhbSdz IG1lbW9yeSBhbGxvY2F0b3IgKHRoaXMgZnJlZXMgbWVtb3J5KQotCi0gIGRlbGV0ZSBtZW1fYWxs b2M7Ci0gIG1lbV9hbGxvYz0gTlVMTDsKLSAgCi0gIC8vIGRlcmVnaXN0ZXIgdGhpcyBvcGVyYXRp b24gaWYgaXQgd2FzIHJ1bm5pbmcKLSAgcHRocmVhZF9tdXRleF9sb2NrKCZydW5fbG9jayk7Ci0g IGlmIChjdXJyZW50X29wID09IHRoaXMpIHsKLSAgICBjdXJyZW50X29wPSBOVUxMOwotICB9Ci0g IHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZydW5fbG9jayk7Ci0KICAgLyogCiAgICAgUmVtb3ZlIHRo ZSBsb2NhdGlvbiwgaWYgYXNrZWQgZm9yLgogICAgIApAQCAtODY1LDYgKzg3MSwyNCBAQCBpbnQg QmFja3VwX3Jlc3RvcmVfY3R4OjpjbG9zZSgpCiAgIGlmICghbV9lcnJvcikKICAgICByZXBvcnRf c3RvcCh3aGVuLCBUUlVFKTsKIAorICAvKiAKKyAgICBEZXN0cm95IGJhY2t1cCBzdHJlYW0ncyBt ZW1vcnkgYWxsb2NhdG9yICh0aGlzIGZyZWVzIG1lbW9yeSkKKyAgCisgICAgTm90ZSB0aGF0IGZy b20gbm93IG9uIGRhdGEgc3RvcmVkIGluIHRoaXMgb2JqZWN0IG1pZ2h0IGJlIGNvcnJ1cHRlZC4g Rm9yIAorICAgIGV4YW1wbGUgdGhlIGJpbmxvZyBmaWxlIG5hbWUgaXMgYSBzdHJpbmcgc3RvcmVk IGluIG1lbW9yeSBhbGxvY2F0ZWQgYnkKKyAgICB0aGUgYWxsb2NhdG9yIHdoaWNoIHdpbGwgYmUg ZnJlZWQgbm93LgorICAqLworICAKKyAgZGVsZXRlIG1lbV9hbGxvYzsKKyAgbWVtX2FsbG9jPSBO VUxMOworICAKKyAgLy8gZGVyZWdpc3RlciB0aGlzIG9wZXJhdGlvbiBpZiBpdCB3YXMgcnVubmlu ZworICBwdGhyZWFkX211dGV4X2xvY2soJnJ1bl9sb2NrKTsKKyAgaWYgKGN1cnJlbnRfb3AgPT0g dGhpcykgeworICAgIGN1cnJlbnRfb3A9IE5VTEw7CisgIH0KKyAgcHRocmVhZF9tdXRleF91bmxv Y2soJnJ1bl9sb2NrKTsKKwogICBtX3N0YXRlPSBDTE9TRUQ7CiAgIHJldHVybiBtX2Vycm9yOwog fQpAQCAtMTExNyw2ICsxMTQxLDE1IEBAIGludCBCYWNrdXBfcmVzdG9yZV9jdHg6OmRvX3Jlc3Rv cmUoKQogICAvLyBGSVhNRTogZXJyb3IgbG9nZ2luZy4KICAgbV90aGQtPm1haW5fZGEucmVzZXRf ZGlhZ25vc3RpY3NfYXJlYSgpOwogCisgIC8qCisgICAgUmVwb3J0IHZhbGlkaXR5IHBvaW50IHRp bWUgYW5kIGJpbmxvZyBwb3NpdGlvbiBzdG9yZWQgaW4gdGhlIGJhY2t1cCBpbWFnZQorICAgIChp biB0aGUgc3VtbWFyeSBzZWN0aW9uKS4KKyAgICovIAorCisgIHJlcG9ydF92cF90aW1lKGluZm8u Z2V0X3ZwX3RpbWUoKSwgRkFMU0UpOyAvLyBGQUxTRSA9IGRvIG5vdCB3cml0ZSB0byBwcm9ncmVz cyBsb2cKKyAgaWYgKGluZm8uZmxhZ3MgJiBCU1RSRUFNX0ZMQUdfQklOTE9HKQorICAgIHJlcG9y dF9iaW5sb2dfcG9zKGluZm8uYmlubG9nX3Bvcyk7CisKICAgLy8gRklYTUU6IGRldGVjdCBlcnJv cnMgaWYgcmVwb3J0ZWQuCiAgIC8vIEZJWE1FOiBlcnJvciBsb2dnaW5nLgogICByZXBvcnRfc3Rh dHNfcG9zdChpbmZvKTsKQEAgLTE4MDEsOCArMTgzNCw4IEBAIGludCBiY2F0X2NyZWF0ZV9pdGVt KHN0X2JzdHJlYW1faW1hZ2VfaGUKICAgICB7CiAgICAgICBEQlVHX1BSSU5UKCJyZXN0b3JlIiwo IiB0YWJsZXNwYWNlIGhhcyBjaGFuZ2VkIG9uIHRoZSBzZXJ2ZXIgLSBhYm9ydGluZyIpKTsKICAg ICAgIGluZm8tPm1fY3R4LmZhdGFsX2Vycm9yKEVSX0JBQ0tVUF9UU19DSEFOR0UsIGRlc2MsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnM6OmRlc2NyaWJlX3RhYmxlc3BhY2Uoc29i aiktPnB0cigpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzOjpkZXNjcmliZV90 YWJsZXNwYWNlKHRzKS0+cHRyKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Jz OjpnZXRfdGFibGVzcGFjZV9kZXNjcmlwdGlvbihzb2JqKS0+cHRyKCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvYnM6OmdldF90YWJsZXNwYWNlX2Rlc2NyaXB0aW9uKHRzKS0+cHRy KCkpOwogICAgICAgcmV0dXJuIEJTVFJFQU1fRVJST1I7CiAgICAgfQogICB9CkBAIC0xODIyLDcg KzE4NTUsNyBAQCBpbnQgYmNhdF9jcmVhdGVfaXRlbShzdF9ic3RyZWFtX2ltYWdlX2hlCiAgICAg ICAgICAgICBlcnJvciBoYW5kbGluZyB3b3JrIGluIFdMIzQzODQgd2l0aCBwb3NzaWJsZSBpbXBs ZW1lbnRhdGlvbgogICAgICAgICAgICAgdmlhIGEgcmVsYXRlZCBidWcgcmVwb3J0LgogICAgICov Ci0gICAgaWYgKCFvYnM6OnVzZXJfZXhpc3RzKHRoZCwgc29iai0+Z2V0X25hbWUoKSkpCisgICAg aWYgKCFvYnM6OmNoZWNrX3VzZXJfZXhpc3RlbmNlKHRoZCwgc29iai0+Z2V0X25hbWUoKSkpCiAg ICAgewogICAgICAgaW5mby0+bV9jdHgud3JpdGVfbWVzc2FnZShsb2dfbGV2ZWw6OldBUk5JTkcs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFUihFUl9CQUNLVVBfR1JBTlRfU0tJ UFBFRCksCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2JhY2t1cC9sb2dnZXIuY2MnCi0tLSBhL3Nx bC9iYWNrdXAvbG9nZ2VyLmNjCTIwMDgtMDktMDggMTE6MDU6MjYgKzAwMDAKKysrIGIvc3FsL2Jh Y2t1cC9sb2dnZXIuY2MJMjAwOC0xMC0wOCAxMDo1NDoxOSArMDAwMApAQCAtNDYsOCArNDYsMTIg QEAgaW50IExvZ2dlcjo6d3JpdGVfbWVzc2FnZShsb2dfbGV2ZWw6OnZhbAogICAgc3dpdGNoIChs ZXZlbCkgewogICAgY2FzZSBsb2dfbGV2ZWw6OkVSUk9SOgogICAgICBpZiAobV9zYXZlX2Vycm9y cykKLSAgICAgICBlcnJvcnMucHVzaF9mcm9udChuZXcgTVlTUUxfRVJST1IoOjpjdXJyZW50X3Ro ZCwgZXJyb3JfY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TVlTUUxfRVJST1I6OldBUk5fTEVWRUxfRVJST1IsIG1zZykpOworICAgICB7CisgICAgICAgZXJy b3IuY29kZT0gZXJyb3JfY29kZTsKKyAgICAgICBlcnJvci5sZXZlbD0gTVlTUUxfRVJST1I6OldB Uk5fTEVWRUxfRVJST1I7CisgICAgICAgZXJyb3IubXNnPSBzcWxfc3RyZHVwKG1zZyk7CisgICAg IH0KKwogICAgICBzcWxfcHJpbnRfZXJyb3Iob3V0KTsKICAgICAgcHVzaF93YXJuaW5nX3ByaW50 ZihjdXJyZW50X3RoZCwgTVlTUUxfRVJST1I6OldBUk5fTEVWRUxfV0FSTiwKICAgICAgICAgICAg ICAgICAgICAgICAgICBlcnJvcl9jb2RlLCBtc2cpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9i YWNrdXAvbG9nZ2VyLmgnCi0tLSBhL3NxbC9iYWNrdXAvbG9nZ2VyLmgJMjAwOC0wOC0yOCAxNTox MzozMSArMDAwMAorKysgYi9zcWwvYmFja3VwL2xvZ2dlci5oCTIwMDgtMTAtMTggMDc6NTc6Mzgg KzAwMDAKQEAgLTU0LDcgKzU0LDcgQEAgY2xhc3MgTG9nZ2VyCiAgICB2b2lkIHJlcG9ydF9zdGFy dCh0aW1lX3QpOwogICAgdm9pZCByZXBvcnRfc3RvcCh0aW1lX3QsIGJvb2wpOwogICAgdm9pZCBy ZXBvcnRfc3RhdGUoZW51bV9iYWNrdXBfc3RhdGUpOwotICAgdm9pZCByZXBvcnRfdnBfdGltZSh0 aW1lX3QpOworICAgdm9pZCByZXBvcnRfdnBfdGltZSh0aW1lX3QsIGJvb2wpOwogICAgdm9pZCBy ZXBvcnRfYmlubG9nX3Bvcyhjb25zdCBzdF9ic3RyZWFtX2JpbmxvZ19wb3MmKTsKICAgIHZvaWQg cmVwb3J0X2RyaXZlcihjb25zdCBjaGFyICpkcml2ZXIpOwogICAgdm9pZCByZXBvcnRfc3RhdHNf cHJlKGNvbnN0IEltYWdlX2luZm8mKTsKQEAgLTY5LDcgKzY5LDcgQEAgY2xhc3MgTG9nZ2VyCiAg ICB2b2lkIHNhdmVfZXJyb3JzKCk7CiAgICB2b2lkIHN0b3Bfc2F2ZV9lcnJvcnMoKTsKICAgIHZv aWQgY2xlYXJfc2F2ZWRfZXJyb3JzKCk7Ci0gICBNWVNRTF9FUlJPUiAqbGFzdF9zYXZlZF9lcnJv cigpOworICAgdXRpbDo6U0FWRURfTVlTUUxfRVJST1IgKmxhc3Rfc2F2ZWRfZXJyb3IoKTsKIAog IHByb3RlY3RlZDoKIApAQCAtODEsOCArODEsNyBAQCBjbGFzcyBMb2dnZXIKICAgaW50IHdyaXRl X21lc3NhZ2UobG9nX2xldmVsOjp2YWx1ZSBsZXZlbCAsIGludCBlcnJvcl9jb2RlLCBjb25zdCBj aGFyICptc2cpOwogCiAgcHJpdmF0ZToKLQotICBMaXN0PE1ZU1FMX0VSUk9SPiBlcnJvcnM7ICAv Ly88IFVzZWQgdG8gc3RvcmUgc2F2ZWQgZXJyb3JzLgorICB1dGlsOjpTQVZFRF9NWVNRTF9FUlJP UiBlcnJvcjsgICAvLy88IFVzZWQgdG8gc3RvcmUgc2F2ZWQgZXJyb3JzLgogICBib29sIG1fc2F2 ZV9lcnJvcnM7ICAgICAgICAvLy88IEZsYWcgdGVsbGluZyBpZiBlcnJvcnMgc2hvdWxkIGJlIHNh dmVkLgogICBCYWNrdXBfbG9nICpiYWNrdXBfbG9nOyAgICAvLy88IEJhY2t1cCBsb2cgaW50ZXJm YWNlIGNsYXNzLgogfTsKQEAgLTE3MiwxNSArMTcxLDE1IEBAIHZvaWQgTG9nZ2VyOjpzdG9wX3Nh dmVfZXJyb3JzKCkKIC8vLyBEZWxldGUgYWxsIHNhdmVkIGVycm9ycyB0byBmcmVlIHJlc291cmNl cy4KIGlubGluZQogdm9pZCBMb2dnZXI6OmNsZWFyX3NhdmVkX2Vycm9ycygpCi17IAotICBlcnJv cnMuZGVsZXRlX2VsZW1lbnRzKCk7Cit7CisgIG1lbXNldCgmZXJyb3IsIDAsIHNpemVvZihlcnJv cikpOwogfQogCiAvLy8gUmV0dXJuIGEgcG9pbnRlciB0byBtb3N0IHJlY2VudCBzYXZlZCBlcnJv ci4KIGlubGluZQotTVlTUUxfRVJST1IgKkxvZ2dlcjo6bGFzdF9zYXZlZF9lcnJvcigpCit1dGls OjpTQVZFRF9NWVNRTF9FUlJPUiAqTG9nZ2VyOjpsYXN0X3NhdmVkX2Vycm9yKCkKIHsgCi0gIHJl dHVybiBlcnJvcnMuaXNfZW1wdHkoKSA/IE5VTEwgOiBlcnJvcnMuaGVhZCgpOworICByZXR1cm4g ZXJyb3IuY29kZSA/ICZlcnJvciA6IE5VTEw7CiB9CiAKIC8vLyBSZXBvcnQgc3RhcnQgb2YgYW4g b3BlcmF0aW9uLgpAQCAtMjM3LDEzICsyMzYsMTkgQEAgdm9pZCBMb2dnZXI6OnJlcG9ydF9zdGF0 ZShlbnVtX2JhY2t1cF9zdAogICBiYWNrdXBfbG9nLT5zdGF0ZShzdGF0ZSk7CiB9CiAKLS8vLyBS ZXBvcnQgdmFsaWRpdHkgcG9pbnQgY3JlYXRpb24gdGltZS4KKy8qKiAKKyAgUmVwb3J0IHZhbGlk aXR5IHBvaW50IGNyZWF0aW9uIHRpbWUuCisKKyAgQHBhcmFtW0lOXSB3aGVuICAgdGhlIHRpbWUg b2YgdmFsaWRpdHkgcG9pbnQKKyAgQHBhcmFtW0lOXSByZXBvcnQgZGV0ZXJtaW5lcyBpZiBWUCB0 aW1lIHNob3VsZCBiZSBhbHNvIHJlcG9ydGVkIGluIHRoZQorICAgICAgICAgICAgICAgICAgICBi YWNrdXBfcHJvZ3Jlc3MgbG9nCisqLwogaW5saW5lCi12b2lkIExvZ2dlcjo6cmVwb3J0X3ZwX3Rp bWUodGltZV90IHdoZW4pCit2b2lkIExvZ2dlcjo6cmVwb3J0X3ZwX3RpbWUodGltZV90IHdoZW4s IGJvb2wgcmVwb3J0KQogewogICBEQlVHX0FTU0VSVChtX3N0YXRlID09IFJVTk5JTkcpOwogICBE QlVHX0FTU0VSVChiYWNrdXBfbG9nKTsKLSAgYmFja3VwX2xvZy0+dnBfdGltZSh3aGVuKTsKKyAg YmFja3VwX2xvZy0+dnBfdGltZSh3aGVuLCByZXBvcnQpOwogfQogCiAvKiogCgo9PT0gbW9kaWZp ZWQgZmlsZSAnc3FsL2JhY2t1cC9zdHJlYW1fdjEuYycKLS0tIGEvc3FsL2JhY2t1cC9zdHJlYW1f djEuYwkyMDA4LTA5LTA5IDA4OjE5OjIxICswMDAwCisrKyBiL3NxbC9iYWNrdXAvc3RyZWFtX3Yx LmMJMjAwOC0wOS0zMCAwODowODoxNiArMDAwMApAQCAtMTgxMyw3ICsxODEzLDcgQEAgaW50IGJz dHJlYW1fcmRfZGF0YV9jaHVuayhiYWNrdXBfc3RyZWFtIAogICAgICAgICBlbnZlbG9wZT0gYnVm OwogICAgICAgfQogCi0gICAgICAvLyB1cGRhdGUgY2h1bmstPmRhdGEgdG8gcG9pbnQgdG8gdGhl IG5ldyBidWZmZXIKKyAvKiB1cGRhdGUgY2h1bmstPmRhdGEgdG8gcG9pbnQgdG8gdGhlIG5ldyBi dWZmZXIgKi8KICAgICAgIGNodW5rLT5kYXRhPSAqYnVmOwogCiAgICAgICAvKiB1cGRhdGUgdG9f cmVhZCBibG9iIHRvIGluZGljYXRlIGZyZWUgc3BhY2UgbGVmdCAqLwpAQCAtMTk2OSwxMCArMTk2 OSwxMCBAQCBpbnQgYnN0cmVhbV9yZF9pbnQ0KGJhY2t1cF9zdHJlYW0gKnMsIHVuCiAgIGlmIChy ZXQgPT0gQlNUUkVBTV9FUlJPUikKICAgICByZXR1cm4gQlNUUkVBTV9FUlJPUjsKIAotICAqeCA9 IGJ1ZlswXTsKLSAgKnggKz0gKGJ1ZlsxXSA8PCA4KTsKLSAgKnggKz0gKGJ1ZlsxXSA8PCAyKjgp OwotICAqeCArPSAoYnVmWzFdIDw8IDMqOCk7CisgICp4ID0gKHVuc2lnbmVkIGxvbmcgaW50KWJ1 ZlswXTsKKyAgKnggKz0gKCh1bnNpZ25lZCBsb25nIGludClidWZbMV0gPDwgOCk7CisgICp4ICs9 ICgodW5zaWduZWQgbG9uZyBpbnQpYnVmWzJdIDw8IDIqOCk7CisgICp4ICs9ICgodW5zaWduZWQg bG9uZyBpbnQpYnVmWzNdIDw8IDMqOCk7CiAKICAgcmV0dXJuIHJldDsKIH0KCj09PSBtb2RpZmll ZCBmaWxlICdzcWwvYmFja3VwL3N0cmVhbV92MV90cmFuc3BvcnQuYycKLS0tIGEvc3FsL2JhY2t1 cC9zdHJlYW1fdjFfdHJhbnNwb3J0LmMJMjAwOC0wOS0xMSAwOTo0Nzo1MyArMDAwMAorKysgYi9z cWwvYmFja3VwL3N0cmVhbV92MV90cmFuc3BvcnQuYwkyMDA4LTA5LTE2IDE2OjA5OjE4ICswMDAw CkBAIC0yODksMTIgKzI4OSwxMiBAQCBpbnQgcmVhZF9mcmFnbWVudF9oZWFkZXIoYnl0ZSAqKmhl YWRlcikKIGludCBhc193cml0ZV9hbGwoc3RydWN0IHN0X2Fic3RyYWN0X3N0cmVhbSAqcywgYnN0 cmVhbV9ibG9iIGIsIGJzdHJlYW1fYmxvYiBlbnYpCiB7CiAgIGludCByZXQ9IEJTVFJFQU1fT0s7 Ci0KICAgd2hpbGUgKChyZXQgPT0gQlNUUkVBTV9PSykgJiYgKGIuYmVnaW4gPCBiLmVuZCkpCiAg ICByZXQ9IGFzX3dyaXRlKHMsJmIsZW52KTsKIAogICByZXR1cm4gcmV0OwotfTsKK30KKwogCiAv KiogRmlsbCBibG9iIHdpdGggYnl0ZXMgZnJvbSBzdHJlYW0gKi8KIGludCBhc19yZWFkX2FsbChz dHJ1Y3Qgc3RfYWJzdHJhY3Rfc3RyZWFtICpzLCBic3RyZWFtX2Jsb2IgYiwgYnN0cmVhbV9ibG9i IGVudikKQEAgLTMwNSw3ICszMDUsNyBAQCBpbnQgYXNfcmVhZF9hbGwoc3RydWN0IHN0X2Fic3Ry YWN0X3N0cmVhCiAgICByZXQ9IGFzX3JlYWQocywmYixlbnYpOwogCiAgIHJldHVybiByZXQ7Ci19 OworfQogCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC03NzUsNyArNzc1LDcgQEAgaW50IGxvYWRf bmV4dF9mcmFnbWVudChiYWNrdXBfc3RyZWFtICpzKQogCiAgIHMtPnN0YXRlPSBOT1JNQUw7IC8q IGRlZmF1bHQsIHVubGVzcyBjaGFuZ2VkIGJlbG93ICovCiAKLSAgcmV0PSByZWFkX2ZyYWdtZW50 X2hlYWRlcigmcy0+YnVmLmhlYWRlcik7ICAgIC8vIE5ldmVyIGVycm9ycy4KKyAgcmV0PSByZWFk X2ZyYWdtZW50X2hlYWRlcigmcy0+YnVmLmhlYWRlcik7ICAgIC8qIE5ldmVyIGVycm9ycy4gKi8K IAogICAvKgogICAgIElmIGJ1Zi5oZWFkZXIgd2FzIG5vdCBtb3ZlZCwgaXQgbWVhbnMgdGhhdCB0 aGUgZnJhZ21lbnQgZXh0ZW5kcyB0bwpAQCAtMTEyOCw3ICsxMTI4LDcgQEAgaW50IGJzdHJlYW1f d3JpdGVfcGFydChiYWNrdXBfc3RyZWFtICpzLAogICAgIElmIG5vdGhpbmcgZWxzZSB3b3JrZWQs IHdlIGp1c3QgYXBwZW5kIHRoZSBkYXRhIHRvIHRoZSBvdXRwdXQgYnVmZmVyCiAgICAgYW5kIHJl dHVybi4KICAgICovCi0gIGFwcGVuZF90b19idWZmZXIocyxkYXRhKTsgIC8vIE5ldmVyIGVycm9y cy4KKyAgYXBwZW5kX3RvX2J1ZmZlcihzLGRhdGEpOyAgLyogTmV2ZXIgZXJyb3JzLiAqLwogICBy ZXR1cm4gQlNUUkVBTV9PSzsKIH0KIApAQCAtMTYzOCw3ICsxNjM4LDcgQEAgaW50IGJzdHJlYW1f bmV4dF9jaHVuayhiYWNrdXBfc3RyZWFtICpzKQogICBBU1NFUlQocy0+YnVmLnBvcyA+IHMtPmJ1 Zi5oZWFkZXIpOwogCiAgIHJldD0gbG9hZF9uZXh0X2ZyYWdtZW50KHMpOwotICBpZiAocmV0ID09 IEJTVFJFQU1fRVJST1IpICAgICAvLyBUbyBhdm9pZCBpbnZhcmlhbnQgY2hlY2sgYmVsb3cuCisg IGlmIChyZXQgPT0gQlNUUkVBTV9FUlJPUikgICAgIC8qIFRvIGF2b2lkIGludmFyaWFudCBjaGVj ayBiZWxvdy4gKi8KICAgICByZXR1cm4gQlNUUkVBTV9FUlJPUjsKICAgLyogaWYgd2UgaGl0IEVP QyBtYXJrZXIgaGVyZSwgd2UgdHJlYXQgaXQgYXMgZW1wdHkgY2h1bmsgKi8KICAgaWYgKHJldCA9 PSBCU1RSRUFNX0VPQykKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvZmlsZXNvcnQuY2MnCi0tLSBh L3NxbC9maWxlc29ydC5jYwkyMDA4LTA3LTIzIDA5OjQzOjUwICswMDAwCisrKyBiL3NxbC9maWxl c29ydC5jYwkyMDA4LTEwLTEwIDE2OjIzOjMwICswMDAwCkBAIC0xMjEsNyArMTIxLDcgQEAgaGFf cm93cyBmaWxlc29ydChUSEQgKnRoZCwgVEFCTEUgKnRhYmxlLAogICBUQUJMRV9MSVNUICp0YWI9 IHRhYmxlLT5wb3NfaW5fdGFibGVfbGlzdDsKICAgSXRlbV9zdWJzZWxlY3QgKnN1YnNlbGVjdD0g dGFiID8gdGFiLT5jb250YWluaW5nX3N1YnNlbGVjdCgpIDogMDsKIAotICBNWVNRTF9GSUxFU09S VF9TVEFSVCgpOworICBNWVNRTF9GSUxFU09SVF9TVEFSVCh0YWJsZS0+cy0+ZGIuc3RyLCB0YWJs ZS0+cy0+dGFibGVfbmFtZS5zdHIpOwogCiAgIC8qCiAgICBSZWxlYXNlIElubm9EQidzIGFkYXB0 aXZlIGhhc2ggaW5kZXggbGF0Y2ggKGlmIGhvbGRpbmcpIGJlZm9yZQpAQCAtMzMzLDggKzMzMywx MCBAQCBoYV9yb3dzIGZpbGVzb3J0KFRIRCAqdGhkLCBUQUJMRSAqdGFibGUsCiAjZW5kaWYKICAg bWVtY3B5KCZ0YWJsZS0+c29ydCwgJnRhYmxlX3NvcnQsIHNpemVvZihGSUxFU09SVF9JTkZPKSk7 CiAgIERCVUdfUFJJTlQoImV4aXQiLCgicmVjb3JkczogJWxkIiwgKGxvbmcpIHJlY29yZHMpKTsK LSAgTVlTUUxfRklMRVNPUlRfRU5EKCk7Ci0gIERCVUdfUkVUVVJOKGVycm9yID8gSEFfUE9TX0VS Uk9SIDogcmVjb3Jkcyk7CisgIGlmIChlcnJvcikKKyAgICByZWNvcmRzPSBIQV9QT1NfRVJST1I7 CisgIE1ZU1FMX0ZJTEVTT1JUX0RPTkUoZXJyb3IsIHJlY29yZHMpOworICBEQlVHX1JFVFVSTihy ZWNvcmRzKTsKIH0gLyogZmlsZXNvcnQgKi8KIAogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2hh bmRsZXIuY2MnCi0tLSBhL3NxbC9oYW5kbGVyLmNjCTIwMDgtMTAtMDggMTM6NTU6MjAgKzAwMDAK KysrIGIvc3FsL2hhbmRsZXIuY2MJMjAwOC0xMC0xNyAxNzo0NzoxNiArMDAwMApAQCAtNTI3MCwx MyArNTI3MCw1MSBAQCBpbnQgaGFuZGxlcjo6aGFfZXh0ZXJuYWxfbG9jayhUSEQgKnRoZCwgCiAg ICovCiAgIERCVUdfQVNTRVJUKG5leHRfaW5zZXJ0X2lkID09IDApOwogCisgIGlmIChNWVNRTF9I QU5ETEVSX1JETE9DS19TVEFSVF9FTkFCTEVEKCkgfHwKKyAgICAgIE1ZU1FMX0hBTkRMRVJfV1JM T0NLX1NUQVJUX0VOQUJMRUQoKSB8fAorICAgICAgTVlTUUxfSEFORExFUl9VTkxPQ0tfU1RBUlRf RU5BQkxFRCgpKQorICB7CisgICAgaWYgKGxvY2tfdHlwZSA9PSBGX1JETENLKQorICAgIHsKKyAg ICAgIE1ZU1FMX0hBTkRMRVJfUkRMT0NLX1NUQVJUKHRhYmxlX3NoYXJlLT5kYi5zdHIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZV9zaGFyZS0+dGFibGVfbmFtZS5zdHIp OworICAgIH0KKyAgICBlbHNlIGlmIChsb2NrX3R5cGUgPT0gRl9XUkxDSykKKyAgICB7CisgICAg ICBNWVNRTF9IQU5ETEVSX1dSTE9DS19TVEFSVCh0YWJsZV9zaGFyZS0+ZGIuc3RyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVfc2hhcmUtPnRhYmxlX25hbWUuc3RyKTsK KyAgICB9CisgICAgZWxzZSBpZiAobG9ja190eXBlID09IEZfVU5MQ0spCisgICAgeworICAgICAg TVlTUUxfSEFORExFUl9VTkxPQ0tfU1RBUlQodGFibGVfc2hhcmUtPmRiLnN0ciwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlX3NoYXJlLT50YWJsZV9uYW1lLnN0cik7Cisg ICAgfQorICB9CisKICAgLyoKICAgICBXZSBjYWNoZSB0aGUgdGFibGUgZmxhZ3MgaWYgdGhlIGxv Y2tpbmcgc3VjY2VlZGVkLiBPdGhlcndpc2UsIHdlCiAgICAga2VlcCB0aGVtIGFzIHRoZXkgd2Vy ZSB3aGVuIHRoZXkgd2VyZSBmZXRjaGVkIGluIGhhX29wZW4oKS4KICAgKi8KLSAgTVlTUUxfRVhU RVJOQUxfTE9DSyhsb2NrX3R5cGUpOwotCiAgIGludCBlcnJvcj0gZXh0ZXJuYWxfbG9jayh0aGQs IGxvY2tfdHlwZSk7CisKKyAgaWYgKE1ZU1FMX0hBTkRMRVJfUkRMT0NLX0RPTkVfRU5BQkxFRCgp IHx8CisgICAgICBNWVNRTF9IQU5ETEVSX1dSTE9DS19ET05FX0VOQUJMRUQoKSB8fAorICAgICAg TVlTUUxfSEFORExFUl9VTkxPQ0tfRE9ORV9FTkFCTEVEKCkpCisgIHsKKyAgICBpZiAobG9ja190 eXBlID09IEZfUkRMQ0spCisgICAgeworICAgICAgTVlTUUxfSEFORExFUl9SRExPQ0tfRE9ORShl cnJvcik7CisgICAgfQorICAgIGVsc2UgaWYgKGxvY2tfdHlwZSA9PSBGX1dSTENLKQorICAgIHsK KyAgICAgIE1ZU1FMX0hBTkRMRVJfV1JMT0NLX0RPTkUoZXJyb3IpOworICAgIH0KKyAgICBlbHNl IGlmIChsb2NrX3R5cGUgPT0gRl9VTkxDSykKKyAgICB7CisgICAgICBNWVNRTF9IQU5ETEVSX1VO TE9DS19ET05FKGVycm9yKTsKKyAgICB9CisgIH0KKyAgCiAgIGlmIChlcnJvciA9PSAwKQogICAg IGNhY2hlZF90YWJsZV9mbGFncz0gdGFibGVfZmxhZ3MoKTsKICAgREJVR19SRVRVUk4oZXJyb3Ip OwpAQCAtNTMxMCwxNSArNTM0OCwxNiBAQCBpbnQgaGFuZGxlcjo6aGFfd3JpdGVfcm93KHVjaGFy ICpidWYpCiAgIGludCBlcnJvcjsKICAgTG9nX2Z1bmMgKmxvZ19mdW5jPSBXcml0ZV9yb3dzX2xv Z19ldmVudDo6YmlubG9nX3Jvd19sb2dnaW5nX2Z1bmN0aW9uOwogICBEQlVHX0VOVEVSKCJoYW5k bGVyOjpoYV93cml0ZV9yb3ciKTsKLSAgTVlTUUxfSU5TRVJUX1JPV19TVEFSVCgpOwogCisgIE1Z U1FMX0lOU0VSVF9ST1dfU1RBUlQodGFibGVfc2hhcmUtPmRiLnN0ciwgdGFibGVfc2hhcmUtPnRh YmxlX25hbWUuc3RyKTsKICAgbWFya190cnhfcmVhZF93cml0ZSgpOwotCi0gIGlmICh1bmxpa2Vs eShlcnJvcj0gd3JpdGVfcm93KGJ1ZikpKQorICBlcnJvcj0gd3JpdGVfcm93KGJ1Zik7CisgIE1Z U1FMX0lOU0VSVF9ST1dfRE9ORShlcnJvcik7CisgIAorICBpZiAodW5saWtlbHkoZXJyb3IgIT0g MCkpCiAgICAgREJVR19SRVRVUk4oZXJyb3IpOwogICBpZiAodW5saWtlbHkoZXJyb3I9IGJpbmxv Z19sb2dfcm93KHRhYmxlLCAwLCBidWYsIGxvZ19mdW5jKSkpCiAgICAgREJVR19SRVRVUk4oZXJy b3IpOyAvKiBwdXJlY292OiBpbnNwZWN0ZWQgKi8KLSAgTVlTUUxfSU5TRVJUX1JPV19FTkQoKTsK ICAgREJVR19SRVRVUk4oMCk7CiB9CiAKQEAgLTUzMzQsOSArNTM3MywxMiBAQCBpbnQgaGFuZGxl cjo6aGFfdXBkYXRlX3Jvdyhjb25zdCB1Y2hhciAqCiAgICAqLwogICBEQlVHX0FTU0VSVChuZXdf ZGF0YSA9PSB0YWJsZS0+cmVjb3JkWzBdKTsKIAorICBNWVNRTF9VUERBVEVfUk9XX1NUQVJUKHRh YmxlX3NoYXJlLT5kYi5zdHIsIHRhYmxlX3NoYXJlLT50YWJsZV9uYW1lLnN0cik7CiAgIG1hcmtf dHJ4X3JlYWRfd3JpdGUoKTsKKyAgZXJyb3I9IHVwZGF0ZV9yb3cob2xkX2RhdGEsIG5ld19kYXRh KTsKKyAgTVlTUUxfVVBEQVRFX1JPV19ET05FKGVycm9yKTsKIAotICBpZiAodW5saWtlbHkoZXJy b3I9IHVwZGF0ZV9yb3cob2xkX2RhdGEsIG5ld19kYXRhKSkpCisgIGlmICh1bmxpa2VseShlcnJv ciAhPSAwKSkKICAgICByZXR1cm4gZXJyb3I7CiAgIGlmICh1bmxpa2VseShlcnJvcj0gYmlubG9n X2xvZ19yb3codGFibGUsIG9sZF9kYXRhLCBuZXdfZGF0YSwgbG9nX2Z1bmMpKSkKICAgICByZXR1 cm4gZXJyb3I7CkBAIC01MzQ4LDkgKzUzOTAsMTIgQEAgaW50IGhhbmRsZXI6OmhhX2RlbGV0ZV9y b3coY29uc3QgdWNoYXIgKgogICBpbnQgZXJyb3I7CiAgIExvZ19mdW5jICpsb2dfZnVuYz0gRGVs ZXRlX3Jvd3NfbG9nX2V2ZW50OjpiaW5sb2dfcm93X2xvZ2dpbmdfZnVuY3Rpb247CiAKKyAgTVlT UUxfREVMRVRFX1JPV19TVEFSVCh0YWJsZV9zaGFyZS0+ZGIuc3RyLCB0YWJsZV9zaGFyZS0+dGFi bGVfbmFtZS5zdHIpOwogICBtYXJrX3RyeF9yZWFkX3dyaXRlKCk7CisgIGVycm9yPSBkZWxldGVf cm93KGJ1Zik7CisgIE1ZU1FMX0RFTEVURV9ST1dfRE9ORShlcnJvcik7CiAKLSAgaWYgKHVubGlr ZWx5KGVycm9yPSBkZWxldGVfcm93KGJ1ZikpKQorICBpZiAodW5saWtlbHkoZXJyb3IgIT0gMCkp CiAgICAgcmV0dXJuIGVycm9yOwogICBpZiAodW5saWtlbHkoZXJyb3I9IGJpbmxvZ19sb2dfcm93 KHRhYmxlLCBidWYsIDAsIGxvZ19mdW5jKSkpCiAgICAgcmV0dXJuIGVycm9yOwoKPT09IG1vZGlm aWVkIGZpbGUgJ3NxbC9sb2cuY2MnCi0tLSBhL3NxbC9sb2cuY2MJMjAwOC0xMC0wOCAxMTo0Njo0 OSArMDAwMAorKysgYi9zcWwvbG9nLmNjCTIwMDgtMTAtMjEgMTI6Mzg6MTMgKzAwMDAKQEAgLTMz MzksNiArMzMzOSw4IEBAIGJvb2wgTVlTUUxfQkFDS1VQX0xPRzo6d3JpdGUoVEhEICp0aGQsIHMK ICAgICAgIGdvdG8gZXJyOwogICAgIGlmICh3cml0ZV9zdHIodXNlcikpCiAgICAgICBnb3RvIGVy cjsKKyAgICBpZiAod3JpdGVfc3RyKGhpc3RvcnlfZGF0YS0+YmFja3VwX2ZpbGUpKQorICAgICAg Z290byBlcnI7CiAgICAgaWYgKHdyaXRlX3N0cihoaXN0b3J5X2RhdGEtPnVzZXJfY29tbWVudCkp CiAgICAgICBnb3RvIGVycjsKICAgICBpZiAod3JpdGVfc3RyKGhpc3RvcnlfZGF0YS0+Y29tbWFu ZCkpCkBAIC0zNDc0LDggKzM0NzYsMTcgQEAgbXlfYm9vbCBNWVNRTF9CQUNLVVBfTE9HOjpjaGVj a19iYWNrdXBfbAogICBhbGxvY19tZGxfbG9ja3MoJnRhYmxlcywgdGhkLT5tZW1fcm9vdCk7CiAg IGlmIChzaW1wbGVfb3Blbl9uX2xvY2tfdGFibGVzKHRoZCwgJnRhYmxlcykpCiAgIHsKKyAgICAv KgorICAgICAgSGVyZSB3ZSB3aXNoIHRvIGNoYW5nZSB0aGUgZXJyb3IgdGhhdCBpcyBnZW5lcmF0 ZWQgYnkgdGhlIG9wZW4gbWV0aG9kLAorICAgICAgInRhYmxlIGRvZXMgbm90IGV4aXN0IiB0byBh IHNwZWNpZmljIGVycm9yIG1lc3NhZ2UgZm9yIG1pc3NpbmcKKyAgICAgIGJhY2t1cCBsb2dzLiBJ biB0aGlzIGNhc2UsIHdlIHJlc2V0IHRoZSBvbGQgZXJyb3IgYW5kIGlzc3VlIHRoZSBuZXcgb25l LgorICAgICovCiAgICAgcmV0PSBUUlVFOwogICAgIHNxbF9wcmludF9lcnJvcihFUihFUl9CQUNL VVBfUFJPR1JFU1NfVEFCTEVTKSk7CisgICAgdGhkLT5tYWluX2RhLnJlc2V0X2RpYWdub3N0aWNz X2FyZWEoKTsKKyAgICB0aGQtPm1haW5fZGEuc2V0X2Vycm9yX3N0YXR1cyh0aGQsIAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSX0JBQ0tVUF9QUk9HUkVTU19UQUJMRVMsIAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVSKEVSX0JBQ0tVUF9QUk9HUkVTU19U QUJMRVMpKTsKICAgICBEQlVHX1JFVFVSTihyZXQpOwogICB9CiAgIGNsb3NlX3RocmVhZF90YWJs ZXModGhkKTsKQEAgLTM0ODcsOCArMzQ5OCwxNyBAQCBteV9ib29sIE1ZU1FMX0JBQ0tVUF9MT0c6 OmNoZWNrX2JhY2t1cF9sCiAgIGFsbG9jX21kbF9sb2NrcygmdGFibGVzLCB0aGQtPm1lbV9yb290 KTsKICAgaWYgKHNpbXBsZV9vcGVuX25fbG9ja190YWJsZXModGhkLCAmdGFibGVzKSkKICAgewor ICAgIC8qCisgICAgICBIZXJlIHdlIHdpc2ggdG8gY2hhbmdlIHRoZSBlcnJvciB0aGF0IGlzIGdl bmVyYXRlZCBieSB0aGUgb3BlbiBtZXRob2QsCisgICAgICAidGFibGUgZG9lcyBub3QgZXhpc3Qi IHRvIGEgc3BlY2lmaWMgZXJyb3IgbWVzc2FnZSBmb3IgbWlzc2luZworICAgICAgYmFja3VwIGxv Z3MuIEluIHRoaXMgY2FzZSwgd2UgcmVzZXQgdGhlIG9sZCBlcnJvciBhbmQgaXNzdWUgdGhlIG5l dyBvbmUuCisgICAgKi8KICAgICByZXQ9IFRSVUU7CiAgICAgc3FsX3ByaW50X2Vycm9yKEVSKEVS X0JBQ0tVUF9QUk9HUkVTU19UQUJMRVMpKTsKKyAgICB0aGQtPm1haW5fZGEucmVzZXRfZGlhZ25v c3RpY3NfYXJlYSgpOworICAgIHRoZC0+bWFpbl9kYS5zZXRfZXJyb3Jfc3RhdHVzKHRoZCwgCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVJfQkFDS1VQX1BST0dSRVNTX1RBQkxF UywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVIoRVJfQkFDS1VQX1BST0dS RVNTX1RBQkxFUykpOwogICAgIERCVUdfUkVUVVJOKHJldCk7CiAgIH0KICAgY2xvc2VfdGhyZWFk X3RhYmxlcyh0aGQpOwpAQCAtNTExMSw3ICs1MTMxLDcgQEAgVEhEOjpiaW5sb2dfc2V0X3BlbmRp bmdfcm93c19ldmVudChSb3dzXwogaW50CiBNWVNRTF9CSU5fTE9HOjpyZW1vdmVfcGVuZGluZ19y b3dzX2V2ZW50KFRIRCAqdGhkKQogewotICBEQlVHX0VOVEVSKF9fRlVOQ1RJT05fXyk7CisgIERC VUdfRU5URVIoIk1ZU1FMX0JJTl9MT0c6OnJlbW92ZV9wZW5kaW5nX3Jvd3NfZXZlbnQiKTsKIAog ICBiaW5sb2dfdHJ4X2RhdGEgKmNvbnN0IHRyeF9kYXRhPQogICAgIChiaW5sb2dfdHJ4X2RhdGEq KSB0aGRfZ2V0X2hhX2RhdGEodGhkLCBiaW5sb2dfaHRvbik7Cgo9PT0gbW9kaWZpZWQgZmlsZSAn c3FsL215c3FsX3ByaXYuaCcKLS0tIGEvc3FsL215c3FsX3ByaXYuaAkyMDA4LTEwLTEzIDE0OjEw OjAwICswMDAwCisrKyBiL3NxbC9teXNxbF9wcml2LmgJMjAwOC0xMC0yMCAxMjoyNTozMCArMDAw MApAQCAtNDYsNiArNDYsMTEgQEAKIAogI2lmZGVmIEhBVkVfRFRSQUNFCiAjZGVmaW5lIF9EVFJB Q0VfVkVSU0lPTiAxCisjZWxzZQorI3VuZGVmIF9EVFJBQ0VfVkVSU0lPTgorI2VuZGlmCisjaWZk ZWYgRU1CRURERURfTElCUkFSWQorI3VuZGVmIF9EVFJBQ0VfVkVSU0lPTgogI2VuZGlmCiAjaW5j bHVkZSAicHJvYmVzLmgiCiAKQEAgLTUyMSw3ICs1MjYsNyBAQCBlbnVtIG9wZW5fdGFibGVfbW9k ZQogICBEb250IHJlcG9ydCBlcnJvcnMgZm9yIGluZGl2aWR1YWwgcm93cywKICAgQnV0IGp1c3Qg cmVwb3J0IGVycm9yIG9uIGNvbW1pdCAob3IgcmVhZCBvZmNvdXJzZSkKICovCi0jZGVmaW5lIE9Q VElPTl9BTExPV19CQVRDSCAgICAgICAgICAgICAgKFVMTCgxKSA8PCAzMykgLy8gVEhELCBpbnRl cm4gKHNsYXZlKQorI2RlZmluZSBPUFRJT05fQUxMT1dfQkFUQ0ggICAgICAgICAgICAgIChVTEwo MSkgPDwgMzQpIC8vIFRIRCwgaW50ZXJuIChzbGF2ZSkKIAogLyoqCiAgIE1heGltdW0gbGVuZ3Ro IG9mIHRpbWUgem9uZSBuYW1lIHRoYXQgd2Ugc3VwcG9ydAoKPT09IG1vZGlmaWVkIGZpbGUgJ3Nx bC9teXNxbGQuY2MnCi0tLSBhL3NxbC9teXNxbGQuY2MJMjAwOC0xMC0xMyAxNDoxMDowMCArMDAw MAorKysgYi9zcWwvbXlzcWxkLmNjCTIwMDgtMTAtMjMgMTE6NTc6MDggKzAwMDAKQEAgLTE5MTgs NiArMTkxOCw3IEBAIHZvaWQgY2xvc2VfY29ubmVjdGlvbihUSEQgKnRoZCwgdWludCBlcnIKICAg fQogICBpZiAobG9jaykKICAgICAodm9pZCkgcHRocmVhZF9tdXRleF91bmxvY2soJkxPQ0tfdGhy ZWFkX2NvdW50KTsKKyAgTVlTUUxfQ09OTkVDVElPTl9ET05FKChpbnQpIGVycmNvZGUsIHRoZC0+ dGhyZWFkX2lkKTsKICAgREJVR19WT0lEX1JFVFVSTjsKIH0KICNlbmRpZiAvKiBFTUJFRERFRF9M SUJSQVJZICovCkBAIC00MDI2LDEyICs0MDI3LDEyIEBAIHdpdGggLS1sb2ctYmluIGluc3RlYWQu Iik7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICBnbG9iYWxfc3lzdGVtX3ZhcmlhYmxl cy5iaW5sb2dfZm9ybWF0PSBCSU5MT0dfRk9STUFUX1NUTVQ7CisgICAgICBnbG9iYWxfc3lzdGVt X3ZhcmlhYmxlcy5iaW5sb2dfZm9ybWF0PSBCSU5MT0dfRk9STUFUX01JWEVEOwogICAgIH0KICAg fQogICBlbHNlCiAgICAgaWYgKG9wdF9iaW5sb2dfZm9ybWF0X2lkID09IEJJTkxPR19GT1JNQVRf VU5TUEVDKQotICAgICAgZ2xvYmFsX3N5c3RlbV92YXJpYWJsZXMuYmlubG9nX2Zvcm1hdD0gQklO TE9HX0ZPUk1BVF9TVE1UOworICAgICAgZ2xvYmFsX3N5c3RlbV92YXJpYWJsZXMuYmlubG9nX2Zv cm1hdD0gQklOTE9HX0ZPUk1BVF9NSVhFRDsKICAgICBlbHNlCiAgICAgewogICAgICAgREJVR19B U1NFUlQoZ2xvYmFsX3N5c3RlbV92YXJpYWJsZXMuYmlubG9nX2Zvcm1hdCAhPSBCSU5MT0dfRk9S TUFUX1VOU1BFQyk7CkBAIC01OTk2LDEwICs1OTk3LDYgQEAgc3RydWN0IG15X29wdGlvbiBteV9s b25nX29wdGlvbnNbXSA9CiAgICAiU2V0IHRoZSBkZWZhdWx0IHN0b3JhZ2UgZW5naW5lICh0YWJs ZSB0eXBlKSBmb3IgdGFibGVzLiIsCiAgICAodWNoYXIqKikmZGVmYXVsdF9zdG9yYWdlX2VuZ2lu ZV9zdHIsICh1Y2hhcioqKSZkZWZhdWx0X3N0b3JhZ2VfZW5naW5lX3N0ciwKICAgIDAsIEdFVF9T VFIsIFJFUVVJUkVEX0FSRywgMCwgMCwgMCwgMCwgMCwgMH0sCi0gIHsiZGVmYXVsdC10YWJsZS10 eXBlIiwgT1BUX1NUT1JBR0VfRU5HSU5FLAotICAgIihkZXByZWNhdGVkKSBVc2UgLS1kZWZhdWx0 LXN0b3JhZ2UtZW5naW5lLiIsCi0gICAodWNoYXIqKikmZGVmYXVsdF9zdG9yYWdlX2VuZ2luZV9z dHIsICh1Y2hhcioqKSZkZWZhdWx0X3N0b3JhZ2VfZW5naW5lX3N0ciwKLSAgIDAsIEdFVF9TVFIs IFJFUVVJUkVEX0FSRywgMCwgMCwgMCwgMCwgMCwgMH0sCiAgIHsiZGVmYXVsdC10aW1lLXpvbmUi LCBPUFRfREVGQVVMVF9USU1FX1pPTkUsICJTZXQgdGhlIGRlZmF1bHQgdGltZSB6b25lLiIsCiAg ICAodWNoYXIqKikgJmRlZmF1bHRfdHpfbmFtZSwgKHVjaGFyKiopICZkZWZhdWx0X3R6X25hbWUs CiAgICAwLCBHRVRfU1RSLCBSRVFVSVJFRF9BUkcsIDAsIDAsIDAsIDAsIDAsIDAgfSwKCj09PSBt b2RpZmllZCBmaWxlICdzcWwvbmV0X3NlcnYuY2MnCi0tLSBhL3NxbC9uZXRfc2Vydi5jYwkyMDA4 LTA1LTI5IDE1OjQ0OjExICswMDAwCisrKyBiL3NxbC9uZXRfc2Vydi5jYwkyMDA4LTEwLTAyIDEy OjA4OjA5ICswMDAwCkBAIC01OCw2ICs1OCwxMyBAQAogI2RlZmluZSBNWVNRTF9DTElFTlQKICNl bmRpZiAvKkVNQkVEREVEX0xJQlJBUlkgKi8KIAorI2lmZGVmIEhBVkVfRFRSQUNFCisvKiBMaW1p dCBEVHJhY2UgcHJvYmVzIHRvIHNlcnZlciBjb2RlIGZvciBub3cgKi8KKyNpZm5kZWYgTVlTUUxf U0VSVkVSCisjdW5kZWYgX0RUUkFDRV9WRVJTSU9OCisjZW5kaWYKKyNlbmRpZgorI2luY2x1ZGUg InByb2Jlcy5oIgogCiAvKgogICBUaGUgZm9sbG93aW5nIGhhbmRsZXMgdGhlIGRpZmZlcmVuY2Vz IHdoZW4gdGhpcyBpcyBsaW5rZWQgYmV0d2VlbiB0aGUKQEAgLTM2NCw4ICszNzEsMTIgQEAgbXlf Ym9vbAogbXlfbmV0X3dyaXRlKE5FVCAqbmV0LGNvbnN0IHVjaGFyICpwYWNrZXQsc2l6ZV90IGxl bikKIHsKICAgdWNoYXIgYnVmZltORVRfSEVBREVSX1NJWkVdOworICBteV9ib29sIHJjOwogICBp ZiAodW5saWtlbHkoIW5ldC0+dmlvKSkgLyogbm93aGVyZSB0byB3cml0ZSAqLwogICAgIHJldHVy biAwOworCisgIE1ZU1FMX05FVF9XUklURV9TVEFSVChsZW4pOworCiAgIC8qCiAgICAgQmlnIHBh Y2tldHMgYXJlIGhhbmRsZWQgYnkgc3BsaXR0aW5nIHRoZW0gaW4gcGFja2V0cyBvZiBNQVhfUEFD S0VUX0xFTkdUSAogICAgIGxlbmd0aC4gVGhlIGxhc3QgcGFja2V0IGlzIGFsd2F5cyBhIHBhY2tl dCB0aGF0IGlzIDwgTUFYX1BBQ0tFVF9MRU5HVEguCkBAIC0zNzgsNyArMzg5LDEwIEBAIG15X25l dF93cml0ZShORVQgKm5ldCxjb25zdCB1Y2hhciAqcGFja2UKICAgICBidWZmWzNdPSAodWNoYXIp IG5ldC0+cGt0X25yKys7CiAgICAgaWYgKG5ldF93cml0ZV9idWZmKG5ldCwgYnVmZiwgTkVUX0hF QURFUl9TSVpFKSB8fAogCW5ldF93cml0ZV9idWZmKG5ldCwgcGFja2V0LCB6X3NpemUpKQorICAg IHsKKyAgICAgIE1ZU1FMX05FVF9XUklURV9ET05FKDEpOwogICAgICAgcmV0dXJuIDE7CisgICAg fQogICAgIHBhY2tldCArPSB6X3NpemU7CiAgICAgbGVuLT0gICAgIHpfc2l6ZTsKICAgfQpAQCAt Mzg2LDExICs0MDAsMTYgQEAgbXlfbmV0X3dyaXRlKE5FVCAqbmV0LGNvbnN0IHVjaGFyICpwYWNr ZQogICBpbnQzc3RvcmUoYnVmZixsZW4pOwogICBidWZmWzNdPSAodWNoYXIpIG5ldC0+cGt0X25y Kys7CiAgIGlmIChuZXRfd3JpdGVfYnVmZihuZXQsIGJ1ZmYsIE5FVF9IRUFERVJfU0laRSkpCisg IHsKKyAgICBNWVNRTF9ORVRfV1JJVEVfRE9ORSgxKTsKICAgICByZXR1cm4gMTsKKyAgfQogI2lm bmRlZiBERUJVR19EQVRBX1BBQ0tFVFMKICAgREJVR19EVU1QKCJwYWNrZXRfaGVhZGVyIiwgYnVm ZiwgTkVUX0hFQURFUl9TSVpFKTsKICNlbmRpZgotICByZXR1cm4gdGVzdChuZXRfd3JpdGVfYnVm ZihuZXQscGFja2V0LGxlbikpOworICByYz0gdGVzdChuZXRfd3JpdGVfYnVmZihuZXQscGFja2V0 LGxlbikpOworICBNWVNRTF9ORVRfV1JJVEVfRE9ORShyYyk7CisgIHJldHVybiByYzsKIH0KIAog LyoqCkBAIC00MjgsOSArNDQ3LDEyIEBAIG5ldF93cml0ZV9jb21tYW5kKE5FVCAqbmV0LHVjaGFy IGNvbW1hbmQKICAgdWxvbmcgbGVuZ3RoPWxlbisxK2hlYWRfbGVuOwkJCS8qIDEgZXh0cmEgYnl0 ZSBmb3IgY29tbWFuZCAqLwogICB1Y2hhciBidWZmW05FVF9IRUFERVJfU0laRSsxXTsKICAgdWlu dCBoZWFkZXJfc2l6ZT1ORVRfSEVBREVSX1NJWkUrMTsKKyAgbXlfYm9vbCByYzsKICAgREJVR19F TlRFUigibmV0X3dyaXRlX2NvbW1hbmQiKTsKICAgREJVR19QUklOVCgiZW50ZXIiLCgibGVuZ3Ro OiAlbHUiLCAodWxvbmcpIGxlbikpOwogCisgIE1ZU1FMX05FVF9XUklURV9TVEFSVChsZW5ndGgp OworICAKICAgYnVmZls0XT1jb21tYW5kOwkJCQkvKiBGb3IgZmlyc3QgcGFja2V0ICovCiAKICAg aWYgKGxlbmd0aCA+PSBNQVhfUEFDS0VUX0xFTkdUSCkKQEAgLTQ0NCw3ICs0NjYsMTAgQEAgbmV0 X3dyaXRlX2NvbW1hbmQoTkVUICpuZXQsdWNoYXIgY29tbWFuZAogICAgICAgaWYgKG5ldF93cml0 ZV9idWZmKG5ldCwgYnVmZiwgaGVhZGVyX3NpemUpIHx8CiAJICBuZXRfd3JpdGVfYnVmZihuZXQs IGhlYWRlciwgaGVhZF9sZW4pIHx8CiAJICBuZXRfd3JpdGVfYnVmZihuZXQsIHBhY2tldCwgbGVu KSkKLQlEQlVHX1JFVFVSTigxKTsKKyAgICAgIHsKKyAgICAgICAgTVlTUUxfTkVUX1dSSVRFX0RP TkUoMSk7CisgICAgICAgIERCVUdfUkVUVVJOKDEpOworICAgICAgfQogICAgICAgcGFja2V0Kz0g bGVuOwogICAgICAgbGVuZ3RoLT0gTUFYX1BBQ0tFVF9MRU5HVEg7CiAgICAgICBsZW49IE1BWF9Q QUNLRVRfTEVOR1RIOwpAQCAtNDU1LDkgKzQ4MCwxMSBAQCBuZXRfd3JpdGVfY29tbWFuZChORVQg Km5ldCx1Y2hhciBjb21tYW5kCiAgIH0KICAgaW50M3N0b3JlKGJ1ZmYsbGVuZ3RoKTsKICAgYnVm ZlszXT0gKHVjaGFyKSBuZXQtPnBrdF9ucisrOwotICBEQlVHX1JFVFVSTih0ZXN0KG5ldF93cml0 ZV9idWZmKG5ldCwgYnVmZiwgaGVhZGVyX3NpemUpIHx8Ci0gICAgICAgICAgICAgICAgICAgKGhl YWRfbGVuICYmIG5ldF93cml0ZV9idWZmKG5ldCwgaGVhZGVyLCBoZWFkX2xlbikpIHx8Ci0gICAg ICAgICAgICAgICAgICAgbmV0X3dyaXRlX2J1ZmYobmV0LCBwYWNrZXQsIGxlbikgfHwgbmV0X2Zs dXNoKG5ldCkpKTsKKyAgcmM9IHRlc3QobmV0X3dyaXRlX2J1ZmYobmV0LCBidWZmLCBoZWFkZXJf c2l6ZSkgfHwKKyAgICAgICAgICAgKGhlYWRfbGVuICYmIG5ldF93cml0ZV9idWZmKG5ldCwgaGVh ZGVyLCBoZWFkX2xlbikpIHx8CisgICAgICAgICAgIG5ldF93cml0ZV9idWZmKG5ldCwgcGFja2V0 LCBsZW4pIHx8IG5ldF9mbHVzaChuZXQpKTsKKyAgTVlTUUxfTkVUX1dSSVRFX0RPTkUocmMpOwor ICBEQlVHX1JFVFVSTihyYyk7CiB9CiAKIC8qKgpAQCAtOTg1LDYgKzEwMTIsOCBAQCBteV9uZXRf cmVhZChORVQgKm5ldCkKIHsKICAgc2l6ZV90IGxlbiwgY29tcGxlbjsKIAorICBNWVNRTF9ORVRf UkVBRF9TVEFSVCgpOworICAKICNpZmRlZiBIQVZFX0NPTVBSRVNTCiAgIGlmICghbmV0LT5jb21w cmVzcykKICAgewpAQCAtMTAwOCw2ICsxMDM3LDcgQEAgbXlfbmV0X3JlYWQoTkVUICpuZXQpCiAg ICAgbmV0LT5yZWFkX3BvcyA9IG5ldC0+YnVmZiArIG5ldC0+d2hlcmVfYjsKICAgICBpZiAobGVu ICE9IHBhY2tldF9lcnJvcikKICAgICAgIG5ldC0+cmVhZF9wb3NbbGVuXT0wOwkJLyogU2FmZWd1 YXJkIGZvciBteXNxbF91c2VfcmVzdWx0ICovCisgICAgTVlTUUxfTkVUX1JFQURfRE9ORSgwLCBs ZW4pOwogICAgIHJldHVybiBsZW47CiAjaWZkZWYgSEFWRV9DT01QUkVTUwogICB9CkBAIC0xMDkx LDcgKzExMjEsMTAgQEAgbXlfbmV0X3JlYWQoTkVUICpuZXQpCiAKICAgICAgIG5ldC0+d2hlcmVf Yj1idWZfbGVuZ3RoOwogICAgICAgaWYgKChwYWNrZXRfbGVuID0gbXlfcmVhbF9yZWFkKG5ldCwm Y29tcGxlbikpID09IHBhY2tldF9lcnJvcikKKyAgICAgIHsKKyAgICAgICAgTVlTUUxfTkVUX1JF QURfRE9ORSgxLCAwKTsKIAlyZXR1cm4gcGFja2V0X2Vycm9yOworICAgICAgfQogICAgICAgaWYg KG15X3VuY29tcHJlc3MobmV0LT5idWZmICsgbmV0LT53aGVyZV9iLCBwYWNrZXRfbGVuLAogCQkJ JmNvbXBsZW4pKQogICAgICAgewpAQCAtMTEwMCw2ICsxMTMzLDcgQEAgbXlfbmV0X3JlYWQoTkVU ICpuZXQpCiAjaWZkZWYgTVlTUUxfU0VSVkVSCiAJbXlfZXJyb3IoRVJfTkVUX1VOQ09NUFJFU1Nf RVJST1IsIE1ZRigwKSk7CiAjZW5kaWYKKyAgICAgICAgTVlTUUxfTkVUX1JFQURfRE9ORSgxLCAw KTsKIAlyZXR1cm4gcGFja2V0X2Vycm9yOwogICAgICAgfQogICAgICAgYnVmX2xlbmd0aCs9IGNv bXBsZW47CkBAIC0xMTE0LDYgKzExNDgsNyBAQCBteV9uZXRfcmVhZChORVQgKm5ldCkKICAgICBu ZXQtPnJlYWRfcG9zW2xlbl09MDsJCS8qIFNhZmVndWFyZCBmb3IgbXlzcWxfdXNlX3Jlc3VsdCAq LwogICB9CiAjZW5kaWYgLyogSEFWRV9DT01QUkVTUyAqLworICBNWVNRTF9ORVRfUkVBRF9ET05F KDAsIGxlbik7CiAgIHJldHVybiBsZW47CiB9CiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvcHJv YmVzLmQnCi0tLSBhL3NxbC9wcm9iZXMuZAkyMDA3LTA5LTIxIDA3OjA5OjMxICswMDAwCisrKyBi L3NxbC9wcm9iZXMuZAkyMDA4LTEwLTAyIDEyOjA4OjA5ICswMDAwCkBAIC0xLDQgKzEsNCBAQAot LyogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDUgTXlTUUwgQUIKKy8qIENvcHlyaWdodCAoQykgMjAw OCBNeVNRTCBBQgogCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTEzLDE4ICsx MywxNDIgQEAKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlCiAgICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1 aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EgKi8KIAorLyoKKyAgVGhlIGFjdHVh bCBwcm9iZSBuYW1lcyBpbiBEVHJhY2Ugc2NyaXB0cyB3aWxsIHJlcGxhY2UgJ19fJyBieSAnLScu IFRodXMKKyAgaW5zZXJ0X19yb3dfX3N0YXJ0IHdpbGwgYmUgaW5zZXJ0LXJvdy1zdGFydC4KKwor ICBSZWNvbW1lbmRhdGlvbnMgZm9yIGFkZGluZyBuZXcgcHJvYmVzOgorCisgIC0gZWFjaCBwcm9i ZSBzaG91bGQgaGF2ZSB0aGUgbWluaW1hbCBzZXQgb2YgYXJndW1lbnRzIHJlcXVpcmVkIHRvCisg IHVuYW1iaWd1b3VzbHkgaWRlbnRpZnkgdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIHByb2JlIGZp cmVzLiBSZWR1bmRhbnQKKyAgcHJvYmVzIChpLmUuIHRoZSBvbmVzIHRoYXQgY2FuIGJlIG9idGFp bmVkIGluIHVzZXIgc2NyaXB0cyBmcm9tIHByZXZpb3VzCisgIHByb2JlcycgYXJndW1lbnRzIG9y IG90aGVyd2lzZSkgbWF5IGJlIGFkZGVkIGZvciBjb252ZW5pZW5jZS4KKworICAtIHRyeSB0byBh dm9pZCBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlIHByb2JlIGFyZ3VtZW50cy4gSWYgaW1wb3Nz aWJsZSwKKyAgdXNlICpfRU5BQkxFRCgpIG1hY3JvcyB0byBjaGVjayBpZiB0aGUgcHJvYmUgaXMg YWN0aXZhdGVkIGJlZm9yZQorICBwZXJmb3JtaW5nIGV4cGVuc2l2ZSBjYWxjdWxhdGlvbnMgZm9y IGEgcHJvYmUgYXJndW1lbnQuCisKKyAgLSBhbGwgKi1kb25lIHByb2JlcyBzaG91bGQgaGF2ZSBh IHN0YXR1cyBhcmd1bWVudCB3aGVyZXZlciBhcHBsaWNhYmxlIHRvIG1ha2UKKyAgaXQgcG9zc2li bGUgZm9yIHVzZXIgc2NyaXB0cyB0byBmaWd1cmUgb3V0IHdoZXRoZXIgdGhlIGNvbXBsZXRlZCBv cGVyYXRpb24KKyAgd2FzIHN1Y2Nlc3NmdWwgb3Igbm90LgorICAKKyAgLSBmb3IgYWxsIHN0YXR1 cyBhcmd1bWVudHMsIGEgbm9uLXplcm8gdmFsdWUgc2hvdWxkIGJlIHJldHVybmVkIG9uIGVycm9y IG9yCisgIGZhaWx1cmUsIDAgc2hvdWxkIGJlIHJldHVybmVkIG9uIHN1Y2Nlc3MuCisqLworCiBw cm92aWRlciBteXNxbCB7Ci1wcm9iZSBleHRlcm5hbF9sb2NrKGludCk7Ci1wcm9iZSBpbnNlcnRf cm93X3N0YXJ0KCk7Ci1wcm9iZSBpbnNlcnRfcm93X2VuZCgpOwotcHJvYmUgZmlsZXNvcnRfc3Rh cnQoKTsKLXByb2JlIGZpbGVzb3J0X2VuZCgpOwotcHJvYmUgZGVsZXRlX3N0YXJ0KCk7Ci1wcm9i ZSBkZWxldGVfZW5kKCk7Ci1wcm9iZSBpbnNlcnRfc3RhcnQoKTsKLXByb2JlIGluc2VydF9lbmQo KTsKLXByb2JlIHNlbGVjdF9zdGFydCgpOwotcHJvYmUgc2VsZWN0X2VuZCgpOwotcHJvYmUgdXBk YXRlX3N0YXJ0KCk7Ci1wcm9iZSB1cGRhdGVfZW5kKCk7CisgIAorICAvKiBUaGUgZm9sbG93aW5n IG9uZXMgZmlyZSB3aGVuIGNyZWF0aW5nIG9yIGNsb3NpbmcgYSBjbGllbnQgY29ubmVjdGlvbiAq LworICBwcm9iZSBjb25uZWN0aW9uX19zdGFydCh1bnNpZ25lZCBsb25nIGNvbm5faWQsIGNoYXIg KnVzZXIsIGNoYXIgKmhvc3QpOworICBwcm9iZSBjb25uZWN0aW9uX19kb25lKGludCBzdGF0dXMs IHVuc2lnbmVkIGxvbmcgY29ubl9pZCk7CisKKyAgLyoKKyAgICBGaXJlIGF0IHRoZSBzdGFydC9l bmQgb2YgYW55IGNsaWVudCBjb21tYW5kIHByb2Nlc3NpbmcgKGluY2x1ZGluZyBTUUwKKyAgICBx dWVyaWVzKS4KKyAgKi8KKyAgcHJvYmUgY29tbWFuZF9fc3RhcnQodW5zaWduZWQgbG9uZyBjb25u X2lkLCBpbnQgY29tbWFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqdXNlciwgY2hh ciAqaG9zdCk7CisgIHByb2JlIGNvbW1hbmRfX2RvbmUoaW50IHN0YXR1cyk7CisgIAorICAvKgor ICAgIFRoZSBmb2xsb3dpbmcgcHJvYmVzIGZpcmUgYXQgdGhlIHN0YXJ0L2VuZCBvZiBhbnkgU1FM IHF1ZXJ5IHByb2Nlc3NpbmcsCisgICAgcmVzcGVjdGl2ZWx5LgorCisgICAgcXVlcnlfc3RhcnQo KSBoYXMgYSBsb3Qgb2YgcGFyYW1ldGVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIHBpY2sgdXAKKyAg ICBwYXJhbWV0ZXJzIGZvciBhIGxvdCBvZiBvdGhlciBwcm9iZXMgaGVyZS4gIEZvciBzaW1wbGlj aXR5IHJlYXNvbnMgd2UgYWxzbworICAgIGFkZCB0aGUgcXVlcnkgc3RyaW5nIHRvIG1vc3Qgb3Ro ZXIgRFRyYWNlIHByb2JlcyBhcyB3ZWxsLiBIb3N0bmFtZSBpcworICAgIGVpdGhlciB0aGUgaG9z dG5hbWUgb3IgdGhlIElQIGFkZHJlc3Mgb2YgdGhlIE15U1FMIENsaWVudC4KKyAgKi8KKyAgcHJv YmUgcXVlcnlfX3N0YXJ0KGNoYXIgKnF1ZXJ5LAorICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBjb25uX2lkLAorICAgICAgICAgICAgICAgICAgICAgY2hhciAqZGJfbmFtZSwKKyAg ICAgICAgICAgICAgICAgICAgIGNoYXIgKnVzZXIsCisgICAgICAgICAgICAgICAgICAgICBjaGFy ICpob3N0KTsKKyAgcHJvYmUgcXVlcnlfX2RvbmUoaW50IHN0YXR1cyk7IAorCisgIC8qIEZpcmUg YXQgdGhlIHN0YXJ0L2VuZCBvZiBTUUwgcXVlcnkgcGFyc2luZyAqLworICBwcm9iZSBxdWVyeV9f cGFyc2VfX3N0YXJ0KGNoYXIgKnF1ZXJ5KTsKKyAgcHJvYmUgcXVlcnlfX3BhcnNlX19kb25lKGlu dCBzdGF0dXMpOworCisgIC8qIFRyYWNrIHdoZXRoZXIgdGhlIHF1ZXJ5IGhpdHMgdGhlIHF1ZXJ5 IGNhY2hlIG9yIG5vdCAqLworICBwcm9iZSBxdWVyeV9fY2FjaGVfX2hpdChjaGFyICpxdWVyeSwg dW5zaWduZWQgbG9uZyByb3dzKTsKKyAgcHJvYmUgcXVlcnlfX2NhY2hlX19taXNzKGNoYXIgKnF1 ZXJ5KTsKKworICAvKgorICAgIFRoaXMgcHJvYmUgZmlyZXMgd2hlbiB0aGUgYWN0dWFsIHF1ZXJ5 IGV4ZWN1dGlvbiBzdGFydHMsIGkuZS4gYWZ0ZXIKKyAgICBwYXJzaW5nIGFuZCBjaGVja2luZyB0 aGUgcXVlcnkgY2FjaGUsIGJ1dCBiZWZvcmUgcHJpdmlsZWdlIGNoZWNrcywKKyAgICBvcHRpbWl6 aW5nLCBldGMuCisKKyAgICBRdWVyeSBtZWFucyBhbHNvIGFsbCBpbmRlcGVuZGVudCBxdWVyaWVz IG9mIGEgc3RvcmVkIHByb2NlZHVyZSBhbmQgcHJlcGFyZWQKKyAgICBzdGF0ZW1lbnRzLiBBbHNv IHRoZSBzdG9yZWQgcHJvY2VkdXJlIGl0c2VsZiBpcyBhIHF1ZXJ5LgorCisgICAgZXhlY190eXBl IGlzOgorICAgIDA6ICAgICAgICAgICBFeGVjdXRlZCBxdWVyeSBmcm9tIHNxbF9wYXJzZSwgdG9w LWxldmVsIHF1ZXJ5IChzcWxfcGFyc2UuY2MpCisgICAgMTogICAgICAgICAgIEV4ZWN1dGVkIHBy ZXBhcmVkIHN0YXRlbWVudCAoc3FsX3ByZXBhcmUuY2MpCisgICAgMjogICAgICAgICAgIEV4ZWN1 dGVkIGN1cnNvciBzdGF0ZW1lbnQgKHNxbF9jdXJzb3IuY2MpCisgICAgMzogICAgICAgICAgIEV4 ZWN1dGVkIHF1ZXJ5IGluIHN0b3JlZCBwcm9jZWR1cmUgKHNwX2hlYWQuY2MpCisgICovCisgIHBy b2JlIHF1ZXJ5X19leGVjX19zdGFydChjaGFyICpxdWVyeSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgY29ubmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2hhciAqZGJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKnVzZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpob3N0LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IGV4ZWNfdHlwZSk7CisgIHByb2JlIHF1ZXJ5X19leGVjX19kb25lKGludCBz dGF0dXMpOworCisgIC8qIFRoZXNlIHByb2JlcyBmaXJlIHdoZW4gcGVyZm9ybWluZyB3cml0ZSBv cGVyYXRpb25zIHRvd2FyZHMgYW55IGhhbmRsZXIgKi8KKyAgcHJvYmUgaW5zZXJ0X19yb3dfX3N0 YXJ0KGNoYXIgKmRiLCBjaGFyICp0YWJsZSk7CisgIHByb2JlIGluc2VydF9fcm93X19kb25lKGlu dCBzdGF0dXMpOworICBwcm9iZSB1cGRhdGVfX3Jvd19fc3RhcnQoY2hhciAqZGIsIGNoYXIgKnRh YmxlKTsKKyAgcHJvYmUgdXBkYXRlX19yb3dfX2RvbmUoaW50IHN0YXR1cyk7CisgIHByb2JlIGRl bGV0ZV9fcm93X19zdGFydChjaGFyICpkYiwgY2hhciAqdGFibGUpOworICBwcm9iZSBkZWxldGVf X3Jvd19fZG9uZShpbnQgc3RhdHVzKTsKKworICAvKgorICAgIFRoZXNlIHByb2JlcyBmaXJlIHdo ZW4gY2FsbGluZyBleHRlcm5hbF9sb2NrIGZvciBhbnkgaGFuZGxlcgorICAgIGRlcGVuZGluZyBv biB0aGUgbG9jayB0eXBlIGJlaW5nIGFjcXVpcmVkIG9yIHJlbGVhc2VkLgorICAqLworICBwcm9i ZSBoYW5kbGVyX19yZGxvY2tfX3N0YXJ0KGNoYXIgKmRiLCBjaGFyICp0YWJsZSk7CisgIHByb2Jl IGhhbmRsZXJfX3dybG9ja19fc3RhcnQoY2hhciAqZGIsIGNoYXIgKnRhYmxlKTsKKyAgcHJvYmUg aGFuZGxlcl9fdW5sb2NrX19zdGFydChjaGFyICpkYiwgY2hhciAqdGFibGUpOworICBwcm9iZSBo YW5kbGVyX19yZGxvY2tfX2RvbmUoaW50IHN0YXR1cyk7CisgIHByb2JlIGhhbmRsZXJfX3dybG9j a19fZG9uZShpbnQgc3RhdHVzKTsKKyAgcHJvYmUgaGFuZGxlcl9fdW5sb2NrX19kb25lKGludCBz dGF0dXMpOworICAKKyAgLyoKKyAgICBUaGVzZSBwcm9iZXMgZmlyZSB3aGVuIGEgZmlsZXNvcnQg YWN0aXZpdHkgaGFwcGVucyBpbiBhIHF1ZXJ5LgorICAqLworICBwcm9iZSBmaWxlc29ydF9fc3Rh cnQoY2hhciAqZGIsIGNoYXIgKnRhYmxlKTsKKyAgcHJvYmUgZmlsZXNvcnRfX2RvbmUoaW50IHN0 YXR1cywgdW5zaWduZWQgbG9uZyByb3dzKTsKKyAgLyoKKyAgICBUaGUgcXVlcnkgdHlwZXMgU0VM RUNULCBJTlNFUlQsIElOU0VSVCBBUyBTRUxFQ1QsIFVQREFURSwgVVBEQVRFIHdpdGgKKyAgICBt dWx0aXBsZSB0YWJsZXMsIERFTEVURSwgREVMRVRFIHdpdGggbXVsdGlwbGUgdGFibGVzIGFyZSBh bGwgcHJvYmVkLgorICAgIFRoZSBzdGFydCBwcm9iZSBhbHdheXMgY29udGFpbnMgdGhlIHF1ZXJ5 IHRleHQuCisgICovCisgIHByb2JlIHNlbGVjdF9fc3RhcnQoY2hhciAqcXVlcnkpOworICBwcm9i ZSBzZWxlY3RfX2RvbmUoaW50IHN0YXR1cywgdW5zaWduZWQgbG9uZyByb3dzKTsKKyAgcHJvYmUg aW5zZXJ0X19zdGFydChja